示例#1
0
def build_all():
    networks = libSerialization.getNetworksByClass('RigRoot')
    for network in networks:
        rigroot = libSerialization.import_network(network)
        if rigroot.build():
            pymel.delete(network)
            libSerialization.export_network(rigroot)
示例#2
0
def unbuild_all():
    networks = libSerialization.getNetworksByClass('RigRoot')
    for network in networks:
        rigroot = libSerialization.import_network(network)
        rigroot.unbuild()
        pymel.delete(network)
        # Write changes to scene
        network = libSerialization.export_network(rigroot)
        pymel.select(network)
示例#3
0
def get_spaceswitch_targets(jnt):
    from omtk.libs import libSerialization
    # Return true if x is a network of type 'RigPart' and it's
    networks = libSerialization.getConnectedNetworksByHierarchy(jnt, key=is_network_pinnable)
    targets = []

    for network in networks:
        val = libSerialization.import_network(network)
        targets.extend(val.getPinTargets())

    return targets
示例#4
0
def CallFnOnNetworkByClass(_sFn, _sCls):
    fnFilter = lambda x: libSerialization.isNetworkInstanceOfClass(x, _sCls)
    networks = libSerialization.getConnectedNetworks(pymel.selected(), key=fnFilter)
    for network in networks:
        rigPart = libSerialization.import_network(network)

        if not hasattr(rigPart, _sFn):
            logging.warning("Can't find attribute {0} in {1}".format(_sFn, network)); continue

        try:
            getattr(rigPart, _sFn)()
        except Exception, e:
            print str(e)
示例#5
0
def find():
    networks = libSerialization.getNetworksByClass('RigRoot')
    return [libSerialization.import_network(network) for network in networks]
示例#6
0
 def updateData(self):
     networks = libSerialization.getNetworksByClass('RigRoot')
     self.roots = [libSerialization.import_network(network) for network in networks]