From d30b3b43ac26ec6b060dc60cff9dc943c71830dc Mon Sep 17 00:00:00 2001 From: Mike Goslin Date: Sat, 27 Jan 2001 03:34:52 +0000 Subject: [PATCH] *** empty log message *** --- direct/src/particles/Forces.py | 3 +++ direct/src/showbase/ShowBase.py | 13 +++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/direct/src/particles/Forces.py b/direct/src/particles/Forces.py index 3a02799d12..cf99649c12 100644 --- a/direct/src/particles/Forces.py +++ b/direct/src/particles/Forces.py @@ -22,6 +22,9 @@ class Forces(DirectObject): def addForce(self, force): """addForce(self, force)""" + if (force.isLinear() == 0): + # Physics manager will need an angular integrator + base.addAngularIntegrator() self.node.addForce(force) def removeForce(self, force): diff --git a/direct/src/showbase/ShowBase.py b/direct/src/showbase/ShowBase.py index ca9e7110a5..4713ad84da 100644 --- a/direct/src/showbase/ShowBase.py +++ b/direct/src/showbase/ShowBase.py @@ -13,6 +13,7 @@ import EventManager import math import sys import LinearEulerIntegrator +import AngularEulerIntegrator import ClockObject globalClock = ClockObject.ClockObject.getGlobalClock() @@ -117,9 +118,10 @@ class ShowBase: # Physics manager self.physicsMgr = physicsMgr - self.integrator = LinearEulerIntegrator.LinearEulerIntegrator() - self.physicsMgr.attachLinearIntegrator(self.integrator) + integrator = LinearEulerIntegrator.LinearEulerIntegrator() + self.physicsMgr.attachLinearIntegrator(integrator) self.physicsMgrEnabled = 0 + self.physicsMgrAngular = 0 self.createAudioManager() self.createRootPanel() @@ -127,6 +129,13 @@ class ShowBase: self.restart() + def addAngularIntegrator(self): + """addAngularIntegrator(self)""" + if (self.physicsMgrAngular == 0): + self.physicsMgrAngular = 1 + integrator = AngularEulerIntegrator.AngularEulerIntegrator() + self.physicsMgr.attachAngularIntegrator(integrator) + def enableParticles(self): """enableParticles(self)""" self.particleMgrEnabled = 1