瀏覽代碼

allow endHpr for LerpQuatInterval

David Rose 17 年之前
父節點
當前提交
8918488fa7
共有 1 個文件被更改,包括 8 次插入1 次删除
  1. 8 1
      direct/src/interval/LerpInterval.py

+ 8 - 1
direct/src/interval/LerpInterval.py

@@ -157,13 +157,20 @@ class LerpHprInterval(LerpNodePathInterval):
         LerpNodePathInterval.privDoEvent(self, t, event)
 
 class LerpQuatInterval(LerpNodePathInterval):
-    def __init__(self, nodePath, duration, quat,
+    def __init__(self, nodePath, duration, quat = None, hpr = None,
                  startHpr = None, startQuat = None,
                  other = None, blendType = 'noBlend',
                  bakeInStart = 1, fluid = 0, name = None):
         LerpNodePathInterval.__init__(self, name, duration, blendType,
                                       bakeInStart, fluid, nodePath, other)
 
+        if not quat:
+            # If we didn't specify a quat, we're allowed to specify a
+            # hpr instead, which is converted to the equivalent quat.
+            assert hpr
+            quat = LOrientationf()
+            quat.setHpr(hpr)
+
         # Check for functors in the input parameters.
         self.paramSetup = self.anyCallable(quat, startHpr, startQuat)
         if self.paramSetup: