Hi
I had this problem with my deformer too. I think what we try to do
breaks Maya API rule saying that any dependency node can only depend on
input attributes and nothing else. What we get inside deform() method is
a geometry iterator - not shapeNode, not transform, not even meshData
plug ! (meshData could be accessed if deformer was converted to some
polyModifier node with meshData input attribute) !
This is how I solved this, but the drawback is that it fails as soon as
I add any other deformer (which is not a disaster in my particular case).
I'd love to know if there's a better method. Keep in mind that I
extracted following code from my plugin without testing:
MStatus xxx::deform(...)
{
MObject thisNode(this->thisMObject());
// -- OUTPUT GEOM
MPlug outputPlug(thisNode, outputGeom);
outputPlug.selectAncestorLogicalIndex(geomIndex);
MPlugArray outputs_plugArr;
outputPlug.connectedTo(outputs_plugArr, false, true);
if(!outputs_plugArr.length()) {
return MS::kSuccess;
}
outputPlug = outputs_plugArr[0];
MFnDependencyNode mesh_dn(outputPlug.node());
MDagPath mesh_dagPath;
MString pathToMesh =
mesh_dagPath.getAPathTo(mesh_dn.object()).fullPathName();
}
-michal
W dniu 2016-08-09 o 14:00, fruity pisze:
Hi there,
I'm prototyping a new deformer in python, and i'm stuck with a super
stupid problem. So essentially, i need to get the dagPath of an
object, and to do that, i have only an outMesh plug connected to my
deformer. I have something that looks like that :
|
# this is what i get from my deformer
oSrcMesh =dataBlock.inputValue(A.aSrcMesh).asMesh()
# get the dagPath - test 1
xxx =OpenMaya.MDagPath()
OpenMaya.MDagPath.getAPathTo(oSrcMesh,xxx)
# get the dagPath - test 2
fnDag =OpenMaya.MFnDagNode(oSrcMesh)
|
I won't go through everything i tried, but you get the idea ! I found
NO way to get the dagPath of my mesh, starting from this oSrcMesh
which is of type kMesh.
I think that my oSrcMesh is not aware of its hierarchy.
So what is the clean way of getting a MDagPath out of this oSrcMesh ?
This stupid pure maya api problem took me more time than everything
else in this deformer, which is kind of a shame, so any help would be
more than appreciated !
Many thanks =]
--
You received this message because you are subscribed to the Google
Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to python_inside_maya+unsubscr...@googlegroups.com
<mailto:python_inside_maya+unsubscr...@googlegroups.com>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/python_inside_maya/0fc4bed6-d3f5-4d50-a1d2-1824cfbee399%40googlegroups.com
<https://groups.google.com/d/msgid/python_inside_maya/0fc4bed6-d3f5-4d50-a1d2-1824cfbee399%40googlegroups.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Python
Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to python_inside_maya+unsubscr...@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/python_inside_maya/2c1651b3-8096-7287-f4d1-690fce3fc1fc%40gmail.com.
For more options, visit https://groups.google.com/d/optout.