Just building a custom force node and one of the things I'm trying to do is 
patch in some dynamic PP variables that should be wrapped up with the 
.cvar.MPxFieldNode_mInputPPData reference. I can quite happily list all the 
PP attrib names that are being picked up but I'm having some (okay, a lot) 
of trouble trying to leverage the checkArrayExist method. 

Don't suppose anyone has any suggestions on where else to hunt around in? 
If there's a devkit example I've missed (I'm reading heavily off 
dynExprField right now) or similar, would love to be pointed at it. Noting 
of course, if this isn't strictly possible/sane/there's a better way, then 
happy to be pointed in that direction too, not picky, more curious at this 
stage.


Here's the relevant code fragment (it's embedded in the compute() of a 
custom field deriving from MPxFieldNode ):

aInputPPData = OpenMayaMPx.cvar.MPxFieldNode_mInputPPData
mhInputPPData = block.inputArrayValue(aInputPPData)
mhInputPPData.jumpToElement(plugIndex)
hInputPPData = mhInputPPData.inputValue() 
dInputPPData = hInputPPData.data()
inputPPData = OpenMaya.MFnArrayAttrsData(dInputPPData)

# okay, this is fine, I'll get the list of names
sys.stderr.write(inputPPData.list())

# the docs say if i'm trying to use enum types, I should be using a pointer 
# to a short int.. okay. I can understand that. I think.
msu = OpenMaya.MScriptUtil(OpenMaya.MFnArrayAttrsData.kVectorArray)
fieldexists = inputPPData.checkArrayExist("fish",msu.asShortPtr())

With the error being:

# Traceback (most recent call last):

# File 
"C:/Users/tanantish/Documents/maya/2012-x64/plugins/simpleField2.py", line 
149, in compute

# fieldexists = inputPPData.checkArrayExist("fish",msu.asShortPtr())

# File 
"c:\buildforge\Maya_2012_Win64_Build\build\wrk\optim\runTime\Python\Lib\site-packages\maya\OpenMaya.py",
 
line 3859, in checkArrayExist

# TypeError: in method 'MFnArrayAttrsData_checkArrayExist', argument 3 of 
type 'MFnArrayAttrsData::Type &' // 

-- 
view archives: http://groups.google.com/group/python_inside_maya
change your subscription settings: 
http://groups.google.com/group/python_inside_maya/subscribe

Reply via email to