Python maya.OpenMaya.MFnNumericAttribute() Examples
The following are 9
code examples of maya.OpenMaya.MFnNumericAttribute().
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: randomizeUVDeformer.py From anima with MIT License | 6 votes |
def nodeInitializer(): """initializes the node """ nAttr = OpenMaya.MFnNumericAttribute() # input position RandomizeDeformer.aMaxOffset = nAttr.create( "maxOffset", "mo", OpenMaya.MFnNumericData.kInt, 4 ) nAttr.setMin(1) nAttr.setKeyable(True) nAttr.setWritable(True) nAttr.setReadable(True) nAttr.setStorable(True) RandomizeDeformer.addAttribute(RandomizeDeformer.aMaxOffset) RandomizeDeformer.attributeAffects( RandomizeDeformer.aMaxOffset, OpenMayaMPx.cvar.MPxDeformerNode_outputGeom ) return True
Example #2
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 #3
Source File: characterRoot.py From AdvancedPythonForMaya with GNU General Public License v3.0 | 6 votes |
def initialize(): # First lets add the version number attribute so we can easily query the rig version number nAttr = om.MFnNumericAttribute() CharacterRoot.version = nAttr.create('version', 'ver', om.MFnNumericData.kInt, 0) nAttr.setStorable(True) # Then lets store the author of the rig as meta data as well. # Strings are a generic typed attribute tAttr = om.MFnTypedAttribute() # To create the default value we must create it from MFnStringData sData = om.MFnStringData() defaultValue = sData.create('Dhruv Govil') # Finally we make our attirbute CharacterRoot.author = tAttr.create('author', 'a', om.MFnData.kString, defaultValue) # Then lets add them to our node CharacterRoot.addAttribute(CharacterRoot.version) CharacterRoot.addAttribute(CharacterRoot.author)
Example #4
Source File: pushDeformer.py From AdvancedPythonForMaya with GNU General Public License v3.0 | 6 votes |
def initialize(): nAttr = om.MFnNumericAttribute() PushDeformer.push = nAttr.create('push', 'p', om.MFnNumericData.kFloat, 0.0) nAttr.setKeyable(True) nAttr.setStorable(True) nAttr.setChannelBox(True) PushDeformer.addAttribute(PushDeformer.push) PushDeformer.attributeAffects(PushDeformer.push, outputGeomAttr) # We also want to make our node paintable cmds.makePaintable( PushDeformer.name, 'weights', attrType='multiFloat', shapeMode='deformer' )
Example #5
Source File: greenCageDeformer.py From maya_greenCageDeformer with MIT License | 6 votes |
def initialize(cls): fnTyped = api1.MFnTypedAttribute() fnNumeric = api1.MFnNumericAttribute() cls.aInCage = fnTyped.create('inCage', 'ic', api1.MFnData.kMesh) fnTyped.setStorable(False) fnTyped.setCached(False) cls.addAttribute(cls.aInCage) cls.aBaseCage = fnTyped.create('baseCage', 'bc', api1.MFnData.kMesh) cls.addAttribute(cls.aBaseCage) cls.aEnvelope = _deformerAttr('envelope') cls.aInput = _deformerAttr('input') cls.aOutputGeom = _deformerAttr('outputGeom') cls.attributeAffects(cls.aInCage, cls.aOutputGeom) cls.attributeAffects(cls.aBaseCage, cls.aOutputGeom)
Example #6
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 #7
Source File: instanceAlongCurve.py From instanceAlongCurve with MIT License | 5 votes |
def addRampAttributes(cls, rampAttributes, attributeName, unitType, defaultAxisValue): # Not a compound attribute, just adds them all to the node nAttr = OpenMaya.MFnNumericAttribute() rampAttributes.ramp = OpenMaya.MRampAttribute.createCurveRamp(attributeName + "Ramp", attributeName + "Ramp") cls.addAttribute(rampAttributes.ramp) rampAttributes.rampOffset = nAttr.create(attributeName + "RampOffset", attributeName + "RampOffset", OpenMaya.MFnNumericData.kFloat, 0.0) nAttr.setKeyable( True ) cls.addAttribute( rampAttributes.rampOffset ) rampAttributes.rampAmplitude = nAttr.create(attributeName + "RampAmplitude", attributeName + "RampAmplitude", OpenMaya.MFnNumericData.kFloat, 0.0) nAttr.setKeyable( True ) cls.addAttribute( rampAttributes.rampAmplitude ) rampAttributes.rampRepeat = nAttr.create(attributeName + "RampRepeat", attributeName + "RampRepeat", OpenMaya.MFnNumericData.kFloat, 1.0) nAttr.setKeyable( True ) cls.addAttribute( rampAttributes.rampRepeat ) rampAttributes.rampRandomAmplitude = nAttr.create(attributeName + "RampRandomAmplitude", attributeName + "RampRandomAmplitude", OpenMaya.MFnNumericData.kFloat, 0.0) nAttr.setMin(0.0) nAttr.setSoftMax(1.0) nAttr.setKeyable( True ) cls.addAttribute( rampAttributes.rampRandomAmplitude ) cls.addCompoundVector3Attribute(rampAttributes.rampAxis, attributeName + "RampAxis", unitType, False, True, defaultAxisValue)
Example #8
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 #9
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