Have you tried passing OpenMaya.MFnArrayAttrsData.kVectorArray in directly
instead of passing it through MScriptUtil?
On Wednesday, October 24, 2012 9:46:29 PM UTC-7, Anthony Tan wrote:
>
> 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