def move(self, dt = -1, profile = 0):
        if Mover.Profile and not profile:

            def func(doMove = self.move):
                for i in xrange(10000):
                    doMove(dt, profile=1)

            __builtin__.func = func
            PythonUtil.startProfile(cmd='func()', filename='profile', sorts=['cumulative'], callInfo=0)
            del __builtin__.func
            return
        if Mover.Pstats:
            self.pscCpp.start()
        CMover.processCImpulses(self, dt)
        if Mover.Pstats:
            self.pscCpp.stop()
            self.pscPy.start()
        for impulse in self.impulses.values():
            impulse._process(self.getDt())

        if Mover.Pstats:
            self.pscPy.stop()
            self.pscInt.start()
        CMover.integrate(self)
        if Mover.Pstats:
            self.pscInt.stop()
Exemple #2
0
    def move(self, dt=-1, profile=0):
        if Mover.Profile and not profile:

            def func(doMove=self.move):
                for i in xrange(10000):
                    doMove(dt, profile=1)

            __builtin__.func = func
            PythonUtil.startProfile(cmd='func()',
                                    filename='profile',
                                    sorts=['cumulative'],
                                    callInfo=0)
            del __builtin__.func
            return None

        if Mover.Pstats:
            self.pscCpp.start()

        CMover.processCImpulses(self, dt)
        if Mover.Pstats:
            self.pscCpp.stop()
            self.pscPy.start()

        for impulse in self.impulses.values():
            impulse._process(self.getDt())

        if Mover.Pstats:
            self.pscPy.stop()
            self.pscInt.start()

        CMover.integrate(self)
        if Mover.Pstats:
            self.pscInt.stop()
 def __init__(self, objNodePath, fwdSpeed = 1, rotSpeed = 1):
     CMover.__init__(self, objNodePath, fwdSpeed, rotSpeed)
     self.serialNum = Mover.SerialNum
     Mover.SerialNum += 1
     self.VecType = Vec3
     self.impulses = {}
     if Mover.Pstats:
         self.pscCpp = PStatCollector(Mover.PSCCpp)
         self.pscPy = PStatCollector(Mover.PSCPy)
         self.pscInt = PStatCollector(Mover.PSCInt)
Exemple #4
0
 def __init__(self, objNodePath, fwdSpeed=1, rotSpeed=1):
     CMover.__init__(self, objNodePath, fwdSpeed, rotSpeed)
     self.serialNum = Mover.SerialNum
     Mover.SerialNum += 1
     self.VecType = Vec3
     self.impulses = {}
     if Mover.Pstats:
         self.pscCpp = PStatCollector(Mover.PSCCpp)
         self.pscPy = PStatCollector(Mover.PSCPy)
         self.pscInt = PStatCollector(Mover.PSCInt)
 def removeImpulse(self, name):
     if name not in self.impulses:
         if not CMover.removeCImpulse(self, name):
             Mover.notify.warning("Mover.removeImpulse: unknown impulse '%s'" % name)
         return
     self.impulses[name]._clearMover(self)
     del self.impulses[name]
Exemple #6
0
 def removeImpulse(self, name):
     if name not in self.impulses:
         if not CMover.removeCImpulse(self, name):
             Mover.notify.warning(
                 "Mover.removeImpulse: unknown impulse '%s'" % name)
         return
     self.impulses[name]._clearMover(self)
     del self.impulses[name]
 def addImpulse(self, name, impulse):
     if impulse.isCpp():
         CMover.addCImpulse(self, name, impulse)
     else:
         self.impulses[name] = impulse
         impulse._setMover(self)
Exemple #8
0
 def addImpulse(self, name, impulse):
     if impulse.isCpp():
         CMover.addCImpulse(self, name, impulse)
     else:
         self.impulses[name] = impulse
         impulse._setMover(self)