From b4fcbfff0a091145c96f837a58b6906f45034df5 Mon Sep 17 00:00:00 2001 From: Zhao Huang Date: Fri, 30 Dec 2011 01:29:53 +0000 Subject: [PATCH] added getJointTransformState --- direct/src/actor/Actor.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/direct/src/actor/Actor.py b/direct/src/actor/Actor.py index 8213a98512..8e30c71408 100644 --- a/direct/src/actor/Actor.py +++ b/direct/src/actor/Actor.py @@ -1242,6 +1242,25 @@ class Actor(DirectObject, NodePath): return None return joint.getDefaultValue() + def getJointTransformState(self, partName, jointName, lodName='lodRoot'): + partBundleDict=self.__partBundleDict.get(lodName) + if not partBundleDict: + Actor.notify.warning("no lod named: %s" % (lodName)) + return None + + subpartDef = self.__subpartDict.get(partName, Actor.SubpartDef(partName)) + partDef = partBundleDict.get(subpartDef.truePartName) + if partDef: + bundle = partDef.getBundle() + else: + Actor.notify.warning("no part named %s!" % (partName)) + return None + + joint = bundle.findChild(jointName) + if joint == None: + Actor.notify.warning("no joint named %s!" % (jointName)) + return None + return joint.getTransformState() def controlJoint(self, node, partName, jointName, lodName="lodRoot"): """The converse of exposeJoint: this associates the joint with