It work now, I don't have answer... Really don't know... Maybe when I
fill the output... :(

On 30 août, 16:59, Narann <[email protected]> wrote:
> Hi all. I have a question about python plugin node. It's very strange.
> This code give me:
>
> // Error: TypeError: in method 'MDataBlock_inputValue', argument 2 of
> type 'MObject const &'
> # Traceback (most recent call last):
> #   line 34 of file D:/3d/script/python/iterateMesh.py in module
> compute
> #     inValueHandle = data.inputValue(mySuperNode.inValue) //
>
> There is the code:
>
> import sys
>
> import maya.OpenMaya as OpenMaya
> import maya.OpenMayaMPx as OpenMayaMPx
>
> kPluginNodeTypeName = "mySuperNode"
>
> blindDataMeshId = OpenMaya.MTypeId(0x87005)
>
> # Node definition
> class mySuperNode(OpenMayaMPx.MPxNode):
>
>         # class variables
>         inValue = OpenMaya.MObject()
>         outValue = OpenMaya.MObject()
>         outputMesh = OpenMaya.MObject()
>
>         # constructor
>         def __init__(self):
>
>                 OpenMayaMPx.MPxNode.__init__(self)
>
>         def compute(self, plug, data):
>
>                 if plug == mySuperNode.outputMesh :
>
>                         # Read the input value
>                         inValueHandle = data.inputValue(mySuperNode.inValue)
>
>                         mySuperNode.inValue = inValueHandle.asFloat()
>
>                         mySuperNode.outValue = mySuperNode.inValue
>                         print str(mySuperNode.outValue)
>
>                         data.setClean(plug)
>
>                 else:
>                         return OpenMaya.MStatus.kUnknownParameter
>
>                 return OpenMaya.MStatus.kSuccess
>
> # creator
> def nodeCreator():
>         return OpenMayaMPx.asMPxPtr( mySuperNode() )
>
> # initializer
> def nodeInitializer():
>
>         typedAttr = OpenMaya.MFnTypedAttribute()
>         numAttr = OpenMaya.MFnNumericAttribute()
>
>         # Setup the input attributes
>         mySuperNode.inValue = numAttr.create("inputValue", "inValue",
> OpenMaya.MFnNumericData.kFloat, 0.0)
>         numAttr.setKeyable(True)
>         numAttr.setStorable(True)
>
>         # Setup the output attributes
>         mySuperNode.outputMesh = typedAttr.create("outputMesh", "outMesh",
> OpenMaya.MFnData.kMesh);
>         typedAttr.setStorable(False);
>
>         mySuperNode.outValue = numAttr.create("outputValue", "outValue",
> OpenMaya.MFnNumericData.kFloat, 0.0)
>         numAttr.setStorable(False)
>
>         # Add the attributes to the node
>         mySuperNode.addAttribute(mySuperNode.inValue)
>         mySuperNode.addAttribute(mySuperNode.outValue)
>         mySuperNode.addAttribute(mySuperNode.outputMesh)
>
>         # Set the attribute dependencies
>         mySuperNode.attributeAffects(mySuperNode.inValue,
> mySuperNode.outValue)
>         mySuperNode.attributeAffects(mySuperNode.inValue,
> mySuperNode.outputMesh)
>
> # initialize the script plug-in
> def initializePlugin(mobject):
>         mplugin = OpenMayaMPx.MFnPlugin(mobject)
>         try:
>                 mplugin.registerNode( kPluginNodeTypeName, blindDataMeshId,
> nodeCreator, nodeInitializer)
>         except:
>                 sys.stderr.write( "Failed to register node: %s\n" %
> kPluginNodeTypeName )
>                 raise
>
> # uninitialize the script plug-in
> def uninitializePlugin(mobject):
>         mplugin = OpenMayaMPx.MFnPlugin(mobject)
>         try:
>                 mplugin.deregisterNode( blindDataMeshId )
>         except:
>                 sys.stderr.write( "Failed to unregister node: %s\n" %
> kPluginNodeTypeName )
>                 raise
>
> This is a very simple code and I don't know why it crash... When I
> launch the circleNode.py sample, it work very well and mine is not
> very different...
>
> If anyone could help me, I will be very gracefull.
>
> Thanks in advance and have a good day!

-- 
http://groups.google.com/group/python_inside_maya

Reply via email to