I'm running into a lot of walls here with how Maya handles  
manipulators.  My goal is to determine the inheritance of each node  
loaded by a plugin.

problem 1:  `pluginInfo -dependNode` returns Manipulators!

 >>> cmds.pluginInfo('shaveNode', query=1, dependNode=1)
[u'shaveHair', u'shaveGlobals', u'shaveShadowNode', u'shaveNode',  
u'shaveBackground', u'shaveVertexShader', u'shaveVolumeShader',  
u'shaveBrushManip']

the last item, 'shaveBrushManip', is a manipulator, so why is this  
returned in the list of dependency nodes?

problem 2:  I don't know how to use MEL or API to find out if an  
object type is a manipulator prior to creating it


problem 3: `nodeType -inherited` requires a real object, so i have to  
create an object to find out it's inheritance.

 >>> res = cmds.createNode( u'shaveBrushManip' )
 >>> cmds.nodeType(res)
None
 >>>cmds.nodeType(res, inherited=1)
None

once i do this, i can see that the inheritance is None, which gives me  
a good clue that it's a manipulator, but that leads me to the next  
problem.

problem 4: `createNode` allows you to create manipulators but `delete`  
won't delete them.
why does create*NODE* allow me to create a manipulator when nothing  
else will recognize what has been created?  is there a way to delete  
manipulators or get any kind of information about them?

 >>> res = cmds.createNode( u'shaveBrushManip' )
 >>> print res
Manipulator2
 >>> cmds.ls(type='shaveBrushManip')  # ls won't list it
[]
cmds.delete( res) # delete won't delete it
Traceback (most recent call last):
    File "<maya console>", line 1, in <module>
TypeError: Object Manipulator2 is invalid


a solution to any one of these problems would be great.  clearly, most  
of them are in Autodesk's court, but perhaps there are commands in the  
API or MEL that i don't know about for working with and deleting  
manipulators?

-chad






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

Reply via email to