add timeScale

This commit is contained in:
David Rose 2003-11-07 18:21:35 +00:00
parent f86733e241
commit 31b03be474

View File

@ -18,10 +18,11 @@ class Mopath(PandaObject):
self.hprPoint = Point3(0) self.hprPoint = Point3(0)
self.tangentVec = Vec3(0) self.tangentVec = Vec3(0)
self.fFaceForward = 0 self.fFaceForward = 0
self.timeScale = 1
self.reset() self.reset()
def getMaxT(self): def getMaxT(self):
return self.maxT return self.maxT * self.timeScale
def loadFile(self, filename, fReset = 1): def loadFile(self, filename, fReset = 1):
if fReset: if fReset:
@ -95,6 +96,7 @@ class Mopath(PandaObject):
if (self.xyzNurbsCurve == None) and (self.hprNurbsCurve == None): if (self.xyzNurbsCurve == None) and (self.hprNurbsCurve == None):
print 'Mopath: Mopath has no curves' print 'Mopath: Mopath has no curves'
return return
time /= self.timeScale
self.playbackTime = self.calcTime(CLAMP(time, 0.0, self.maxT)) self.playbackTime = self.calcTime(CLAMP(time, 0.0, self.maxT))
if (self.xyzNurbsCurve != None): if (self.xyzNurbsCurve != None):
self.xyzNurbsCurve.getPoint(self.playbackTime, self.posPoint) self.xyzNurbsCurve.getPoint(self.playbackTime, self.posPoint)
@ -128,10 +130,10 @@ class Mopath(PandaObject):
dTime = time - state.lastTime dTime = time - state.lastTime
state.lastTime = time state.lastTime = time
if (self.loop): if (self.loop):
cTime = (state.currentTime + dTime) % self.maxT cTime = (state.currentTime + dTime) % self.getMaxT()
else: else:
cTime = state.currentTime + dTime cTime = state.currentTime + dTime
if ((self.loop == 0) and (cTime > self.maxT)): if ((self.loop == 0) and (cTime > self.getMaxT())):
self.stop() self.stop()
messenger.send(self.name + '-done') messenger.send(self.name + '-done')
self.node = None self.node = None