remove/cleanup old phys in setupPhys

This commit is contained in:
Samir Naik 2004-08-20 02:23:13 +00:00
parent c17748953a
commit 054c10a367

View File

@ -205,68 +205,79 @@ class ShipPilot(PhysicsWalker.PhysicsWalker):
self.actorNode.getPhysicsObject().setOriented(1) self.actorNode.getPhysicsObject().setOriented(1)
self.actorNode.getPhysical(0).setViscosity(0.1) self.actorNode.getPhysical(0).setViscosity(0.1)
if not hasattr(self, "phys"): if hasattr(self, "phys"):
self.phys=PhysicsManager.PhysicsManager() del self.phys
for i in self.nodes:
i.removeNode()
fn=ForceNode("ship gravity") self.nodes = []
self.phys=PhysicsManager.PhysicsManager()
fn=ForceNode("ship gravity")
fnp=NodePath(fn)
#fnp.reparentTo(physicsActor)
fnp.reparentTo(render)
self.nodes.append(fnp)
gravity=LinearVectorForce(0.0, 0.0, self.__gravity)
fn.addForce(gravity)
self.phys.addLinearForce(gravity)
self.gravity = gravity
fn=ForceNode("ship keel")
fnp=NodePath(fn)
#fnp.reparentTo(physicsActor)
fnp.reparentTo(render)
self.nodes.append(fnp)
self.keel=AngularVectorForce(0.0, 0.0, 80.0)
fn.addForce(self.keel)
self.phys.addAngularForce(self.keel)
fn=ForceNode("ship priorParent")
fnp=NodePath(fn)
fnp.reparentTo(render)
self.nodes.append(fnp)
priorParent=LinearVectorForce(0.0, 0.0, 0.0)
fn.addForce(priorParent)
self.phys.addLinearForce(priorParent)
self.priorParentNp = fnp
self.priorParent = priorParent
if 1:
fn=ForceNode("ship viscosity")
fnp=NodePath(fn) fnp=NodePath(fn)
#fnp.reparentTo(physicsActor) #fnp.reparentTo(physicsActor)
fnp.reparentTo(render) fnp.reparentTo(render)
gravity=LinearVectorForce(0.0, 0.0, self.__gravity) self.nodes.append(fnp)
fn.addForce(gravity) self.avatarViscosity=LinearFrictionForce(0.0, 1.0, 0)
self.phys.addLinearForce(gravity) #self.avatarViscosity.setCoef(0.9)
self.gravity = gravity fn.addForce(self.avatarViscosity)
self.phys.addLinearForce(self.avatarViscosity)
fn=ForceNode("ship keel") self.phys.attachLinearIntegrator(LinearEulerIntegrator())
fnp=NodePath(fn) #*#self.phys.attachAngularIntegrator(AngularEulerIntegrator())
#fnp.reparentTo(physicsActor) self.phys.attachPhysicalnode(physicsActor.node())
fnp.reparentTo(render)
self.keel=AngularVectorForce(0.0, 0.0, 80.0)
fn.addForce(self.keel)
self.phys.addAngularForce(self.keel)
fn=ForceNode("ship priorParent") self.momentumForce=LinearVectorForce(0.0, 0.0, 0.0)
fnp=NodePath(fn) fn=ForceNode("ship momentum")
fnp.reparentTo(render) fnp=NodePath(fn)
priorParent=LinearVectorForce(0.0, 0.0, 0.0) fnp.reparentTo(render)
fn.addForce(priorParent) self.nodes.append(fnp)
self.phys.addLinearForce(priorParent) fn.addForce(self.momentumForce)
self.priorParentNp = fnp self.phys.addLinearForce(self.momentumForce)
self.priorParent = priorParent
if 1: self.acForce=LinearVectorForce(0.0, 0.0, 0.0)
fn=ForceNode("ship viscosity") fn=ForceNode("ship avatarControls")
fnp=NodePath(fn) fnp=NodePath(fn)
#fnp.reparentTo(physicsActor) fnp.reparentTo(render)
fnp.reparentTo(render) self.nodes.append(fnp)
self.avatarViscosity=LinearFrictionForce(0.0, 1.0, 0) fn.addForce(self.acForce)
#self.avatarViscosity.setCoef(0.9) self.phys.addLinearForce(self.acForce)
fn.addForce(self.avatarViscosity) #self.phys.removeLinearForce(self.acForce)
self.phys.addLinearForce(self.avatarViscosity) #fnp.remove()
self.phys.attachLinearIntegrator(LinearEulerIntegrator()) if 0 or self.useHeightRay:
#*#self.phys.attachAngularIntegrator(AngularEulerIntegrator()) #self.setupRay(self.floorBitmask, self.avatarRadius)
self.phys.attachPhysicalnode(physicsActor.node()) self.setupRay(self.floorBitmask, 0.0)
self.momentumForce=LinearVectorForce(0.0, 0.0, 0.0)
fn=ForceNode("ship momentum")
fnp=NodePath(fn)
fnp.reparentTo(render)
fn.addForce(self.momentumForce)
self.phys.addLinearForce(self.momentumForce)
self.acForce=LinearVectorForce(0.0, 0.0, 0.0)
fn=ForceNode("ship avatarControls")
fnp=NodePath(fn)
fnp.reparentTo(render)
fn.addForce(self.acForce)
self.phys.addLinearForce(self.acForce)
#self.phys.removeLinearForce(self.acForce)
#fnp.remove()
if 0 or self.useHeightRay:
#self.setupRay(self.floorBitmask, self.avatarRadius)
self.setupRay(self.floorBitmask, 0.0)
#avatarNodePath.reparentTo(render) #avatarNodePath.reparentTo(render)