Browse Source

add loadNodePath

David Rose 20 years ago
parent
commit
00f721534b
1 changed files with 16 additions and 12 deletions
  1. 16 12
      direct/src/directutil/Mopath.py

+ 16 - 12
direct/src/directutil/Mopath.py

@@ -25,25 +25,29 @@ class Mopath(DirectObject):
         return self.maxT * self.timeScale
 
     def loadFile(self, filename, fReset = 1):
-        if fReset:
-            self.reset()
         nodePath = loader.loadModel(filename)
         if nodePath:
-            self.__extractCurves(nodePath)
-            if (self.tNurbsCurve != []):
-                self.maxT = self.tNurbsCurve[-1].getMaxT()
-            elif (self.xyzNurbsCurve != None):
-                self.maxT = self.xyzNurbsCurve.getMaxT()
-            elif (self.hprNurbsCurve != None):
-                self.maxT = self.hprNurbsCurve.getMaxT()
-            else:
-                print 'Mopath: no valid curves in file: %s' % filename
-
+            self.loadNodePath(nodePath)
             nodePath.removeNode()
         else:
             print 'Mopath: no data in file: %s' % filename
 
 
+    def loadNodePath(self, nodePath, fReset = 1):
+        if fReset:
+            self.reset()
+
+        self.__extractCurves(nodePath)
+        if (self.tNurbsCurve != []):
+            self.maxT = self.tNurbsCurve[-1].getMaxT()
+        elif (self.xyzNurbsCurve != None):
+            self.maxT = self.xyzNurbsCurve.getMaxT()
+        elif (self.hprNurbsCurve != None):
+            self.maxT = self.hprNurbsCurve.getMaxT()
+        else:
+            print 'Mopath: no valid curves in file: %s' % filename
+
+
     def reset(self):
         self.maxT = 0.0
         self.loop = 0