I think it's ok in pymel's case because your shape will be a uniquely  
identified dagNode.

-chad



On Apr 9, 2009, at 6:33 AM, Sylvain Berger wrote:

> ho yeah.... you are right... i'll check my code using the  
> getParent() function to see what appens... i'm guessing a fail :)
>
> Thanks
>
> On Thu, Apr 9, 2009 at 9:22 AM, Olivier Renouard 
> <[email protected] 
> > wrote:
> I think you would have to account for the cases where a single shape  
> can have more than one transform if you did that, ie instances
>
> Sylvain Berger wrote:
>>
>> Thanks for this great explanation.  It is not a big deal because I  
>> can always asume that the direct parent of a shape is the  
>> transform, so i can live with the getParent() method :)
>>
>>
>>
>> On Wed, Apr 8, 2009 at 4:47 PM, chadrik <[email protected]> wrote:
>>
>>
>> MEL supports automatic propagation from transforms to shapes:
>>
>> import maya.cmds as cmds
>> transform = cmds.polyCube()[0]
>> cmds.getAttr( transform + ".primaryVisibility" )
>> # Result: 1 #
>>
>> in the example above primaryVisibility is an attribute of the mesh,
>> but it can be accessed from the transform. PyMEL supports this same
>> transform-to-shape propagation in its object-oriented design:
>>
>> #continuing from the example above
>> pytrans = PyNode( transform )
>> pytrans.primaryVisibility.get()  # an attribute of Mesh
>> # Result: 1 #
>> pytrans.numVertices()  # a method of Mesh
>> # Result: 8 #
>>
>>
>> MEL does not support propagating back UP the dag.
>>
>> #continuing from the example above
>> mesh = cmds.listRelatives( transform, s=1 )[0]
>> cmds.getAttr(mesh + ".tx" )
>> # Error: Object pCubeShape3.tx is invalid
>> # Traceback (most recent call last):
>> #   File "<maya console>", line 1, in <module>
>> # TypeError: Object pCubeShape3.tx is invalid #
>>
>> Including this feature is worth considering, but i personally don't
>> feel that it is consistent with the conventions that have been
>> established in Maya: a transform "owns" a shape, but a shape does not
>> "own" a transform.
>>
>>
>> -chad
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> -- 
>> They say, "Evil prevails when good men fail to act." What they  
>> ought to say is, "Evil prevails."
>> Nicolas Cage as Yuri Orlov in Lord of War.
>>
>>
>
>
> -- 
> Olivier Renouard
>
>
>
>
>
> -- 
> They say, "Evil prevails when good men fail to act." What they ought  
> to say is, "Evil prevails."
> Nicolas Cage as Yuri Orlov in Lord of War.
>
> >


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

Reply via email to