hey colas, I made some updates to the custom class methodology. check it out from SVN. the example is a little more "real", hopefully still simple enough for people to follow along.
-chad On Apr 6, 2009, at 3:58 PM, [email protected] wrote: > > hi chad, > i try the customClasses technique but i have a problem i can test if a > attribute exist in the callback fonction > but not get his value. > > code : > from pymel import * > > class LegJoint(Joint): > """ this is an example of how to create your own subdivisions of > existing nodes""" > > def kick(self): > print "kicking" > > class JawJoint(Joint): > """ this is an example of how to create your own subdivisions of > existing nodes""" > > def munch(self): > print "munching" > > def legJointCallback( fn, name ): > """if the desired attribute exists, then we're a LegJoint!""" > try: > print "testing if this is a leg joint" > # this function fails if the attribute does not exist, so we > have to try/except it. > return fn.hasAttribute( 'jointType_leg' ) > except: pass > return False > > def jawJointCallback( fn, name ): > """if the desired attribute exists, then we're a LegJoint!""" > try: > # this function fails if the attribute does not exist, so we > have to try/except it. > print "testing if this is a jaw joint" > return fn.jointType_jaw.get() == 'yes' > except: pass > return False > > LegJoint.registerVirtualSubClass( legJointCallback, > nameRequired=False ) > JawJoint.registerVirtualSubClass( jawJointCallback, > nameRequired=False ) > > > def testJoint(): > joint() > joint() > j1 = joint() > j2 = joint() > j1.addAttr( 'jointType_leg' ) > j2.addAttr( 'jointType_jaw',dt='string' ) > j2.jointType_jaw.set('yes') > > # now list the joints and see which ones are our special joints > res = ls(type='joint') > for x in res: > if isinstance(x, LegJoint ): > x.kick() > elif isinstance(x, JawJoint ): > x.munch() > > sorry for my english and thank you for the fantastic work you are > doing. > colas > > --~--~---------~--~----~------------~-------~--~----~ http://groups.google.com/group/python_inside_maya -~----------~----~----~----~------~----~------~--~---
