def test_removeClassData(self): meta.setMetaData(self.node, 'myMetaClass', None) meta.setMetaData(self.node, 'mySecondMetaClass', None) result = meta.removeMetaData(self.node, 'myMetaClass') self.assertTrue(result) self.assertTrue(meta.isMetaNode(self.node)) self.assertFalse(meta.hasMetaClass(self.node, 'myMetaClass')) self.assertTrue(meta.hasMetaClass(self.node, 'mySecondMetaClass'))
def createControlsForSelected(shapeData, link=True): """ Create or update control shapes for each selected node. Args: shapeData: A dict containing control shape data link (bool): If true, link the controls to the target nodes """ result = [] sel = pm.selected() if not sel: ctl = createControl(shapeData) result.append(ctl) else: for node in sel: if meta.hasMetaClass(node, CONTROLSHAPE_METACLASS): # update shape replaceShapes(node, shapeData) result.append(node) else: # create new control ctl = createControl(shapeData, targetNode=node, link=link) result.append(ctl) pm.select(result) return result
def isSpaceConstraint(node): """ Return True if the node is space constrained Args: node: A PyNode or string node name """ return meta.hasMetaClass(node, SPACECONSTRAINT_METACLASS)
def isRig(node): """ Return whether a node represents a pulse rig Args: node: A PyNode or string node name """ return meta.hasMetaClass(node, RIG_METACLASS)
def isSpace(node): """ Return True if the node is a space Args: node: A PyNode or string node name """ return meta.hasMetaClass(node, SPACE_METACLASS)
def isMirrorNode(node): """ Return whether a node has mirroring data Args: node: A PyNode, MObject, or node name """ return meta.hasMetaClass(node, MIRROR_METACLASS)
def getFootControl(ctl: pm.PyNode): """ Return the main foot control for a foot control system Args: ctl: A control with foot control meta data """ if meta.hasMetaClass(ctl, FOOT_CTL_METACLASSNAME): return meta.getMetaData(ctl, FOOT_CTL_METACLASSNAME).get('foot_ctl')
def isBlueprintNode(node): """ Return whether the given node is a Blueprint node """ return meta.hasMetaClass(node, BLUEPRINT_METACLASS)
def hasAnyMetaClass(node, metaClassNames): for metaClassName in metaClassNames: if meta.hasMetaClass(node, metaClassName): return True return False
def isLinked(node): return meta.hasMetaClass(node, className=LINK_METACLASS)