Python maya.OpenMaya.MFnUnitAttribute() Examples
The following are 4
code examples of maya.OpenMaya.MFnUnitAttribute().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
maya.OpenMaya
, or try the search function
.
Example #1
Source File: oyTrajectoryDrawer.py From anima with MIT License | 6 votes |
def nodeInitializer(): '''initializer ''' # create the size attr uAttrFn = OpenMaya.MFnUnitAttribute() oyTrajectoryDrawer.aSize = uAttrFn.create( "size", "in", OpenMaya.MFnUnitAttribute.kDistance ) uAttrFn.setDefault(1.0) oyTrajectoryDrawer.addAttribute( oyTrajectoryDrawer.aSize ) # create the trajectory positions attr nAttrFn = OpenMaya.MFnNumericAttribute() tAttrFn = OpenMaya.MFnTypedAttribute() mAttrFn = OpenMaya.MFnMessageAttribute() defaultVectorArray = OpenMaya.MVectorArray() vectorArrayDataFn = OpenMaya.MFnVectorArrayData() vectorArrayDataFn.create( defaultVectorArray ) oyTrajectoryDrawer.aTPos = tAttrFn.create( "trajectoryPosition", "tp", OpenMaya.MFnData.kVectorArray, vectorArrayDataFn.object() ) tAttrFn.setWritable(True) tAttrFn.setStorable(True) oyTrajectoryDrawer.addAttribute( oyTrajectoryDrawer.aTPos )
Example #2
Source File: instanceAlongCurve.py From instanceAlongCurve with MIT License | 5 votes |
def addCompoundVector3Attribute(cls, compoundAttribute, attributeName, unitType, arrayAttr, inputAttr, defaultValue): # Schematic view of compound attribute: # compoundAttribute[?] # compoundAttributeX # compoundAttributeY # compoundAttributeZ unitAttr = OpenMaya.MFnUnitAttribute() nAttr = OpenMaya.MFnNumericAttribute() compoundAttribute.x = unitAttr.create(attributeName + "X", attributeName + "X", unitType, defaultValue.x) unitAttr.setWritable( inputAttr ) cls.addAttribute(compoundAttribute.x) compoundAttribute.y = unitAttr.create(attributeName + "Y", attributeName + "Y", unitType, defaultValue.y) unitAttr.setWritable( inputAttr ) cls.addAttribute(compoundAttribute.y) compoundAttribute.z = unitAttr.create(attributeName + "Z", attributeName + "Z", unitType, defaultValue.z) unitAttr.setWritable( inputAttr ) cls.addAttribute(compoundAttribute.z) # Output compound compoundAttribute.compound = nAttr.create(attributeName, attributeName, compoundAttribute.x, compoundAttribute.y, compoundAttribute.z) nAttr.setWritable( inputAttr ) nAttr.setArray( arrayAttr ) nAttr.setUsesArrayDataBuilder( arrayAttr ) nAttr.setDisconnectBehavior(OpenMaya.MFnAttribute.kDelete) cls.addAttribute(compoundAttribute.compound)
Example #3
Source File: instanceAlongCurve.py From instanceAlongCurve with MIT License | 5 votes |
def addCurveAxisHandleAttribute(cls, curveAxisHandleAttr, attributeName, defaultAxisValue): # Schematic view of compound attribute: # curveAxisHandle[] # curveAxisHandleParameter # curveAxisHandleAngle nAttr = OpenMaya.MFnNumericAttribute() cmpAttr = OpenMaya.MFnCompoundAttribute() curveAxisHandleAttr.parameter = nAttr.create(attributeName + "Parameter", attributeName + "Parameter", OpenMaya.MFnNumericData.kDouble, 0.0) nAttr.setWritable( True ) cls.addAttribute(curveAxisHandleAttr.parameter) curveAxisHandleAttr.angle = nAttr.create(attributeName + "Angle", attributeName + "Angle", OpenMaya.MFnNumericData.kDouble, 0.0) nAttr.setWritable( True ) cls.addAttribute(curveAxisHandleAttr.angle) # cls.addCompoundVector3Attribute(curveAxisHandleAttr.axis, attributeName + "Axis", OpenMaya.MFnUnitAttribute.kAngle, False, True, defaultAxisValue) # Build compound array attribute curveAxisHandleAttr.compound = cmpAttr.create(attributeName, attributeName) cmpAttr.addChild(curveAxisHandleAttr.parameter) cmpAttr.addChild(curveAxisHandleAttr.angle) cmpAttr.setWritable( True ) cmpAttr.setArray( True ) cmpAttr.setUsesArrayDataBuilder( True ) cls.addAttribute(curveAxisHandleAttr.compound)
Example #4
Source File: shakeNode.py From tutorials with MIT License | 4 votes |
def nodeInitializer(): nAttr = OpenMaya.MFnNumericAttribute() uAttr = OpenMaya.MFnUnitAttribute() # input ShakeNode.amp = nAttr.create( "amplitude", "amp", OpenMaya.MFnNumericData.k3Float, 1.0 ) nAttr.setStorable(True) nAttr.setKeyable(True) ShakeNode.freq = nAttr.create( "frequency", "freq", OpenMaya.MFnNumericData.k3Float, 1.0 ) nAttr.setStorable(True) nAttr.setKeyable(True) ShakeNode.seed = nAttr.create( "randomSeed", "seed", OpenMaya.MFnNumericData.kLong, 1000 ) nAttr.setStorable(True) nAttr.setKeyable(False) nAttr.setMin(0) ShakeNode.octaves = nAttr.create( "octaves", "oct", OpenMaya.MFnNumericData.kInt, 3 ) nAttr.setStorable(True) nAttr.setKeyable(True) nAttr.setMin(2) # the time attribute should be connected to the default "time1" node # or any time node to provide a changing time value ShakeNode.time = uAttr.create( "currentTime", "time" , OpenMaya.MFnUnitAttribute.kTime, 0.0 ) uAttr.setHidden(True) nAttr.setStorable(False) # output ShakeNode.output = nAttr.create( "output", "out", OpenMaya.MFnNumericData.k3Float, 0.0 ) nAttr.setStorable(False) nAttr.setWritable(False) nAttr.setHidden(False) # add attributes to the node ShakeNode.addAttribute( ShakeNode.amp ) ShakeNode.addAttribute( ShakeNode.freq ) ShakeNode.addAttribute( ShakeNode.seed ) ShakeNode.addAttribute( ShakeNode.time ) ShakeNode.addAttribute( ShakeNode.octaves ) ShakeNode.addAttribute( ShakeNode.output ) # when one attribute is changed, it will cause # the other to become "dirty", meaning that its value # should be computed again ShakeNode.attributeAffects( ShakeNode.amp, ShakeNode.output ) ShakeNode.attributeAffects( ShakeNode.freq, ShakeNode.output ) ShakeNode.attributeAffects( ShakeNode.seed, ShakeNode.output ) ShakeNode.attributeAffects( ShakeNode.octaves, ShakeNode.output ) ShakeNode.attributeAffects( ShakeNode.time, ShakeNode.output ) # initialize the script plug-in