Changeset 3339
- Timestamp:
- 01/31/10 13:03:15 (5 weeks ago)
- Location:
- plugins/branches/0185_GEN_PHYSICS_REFACTOR_2
- Files:
-
- 8 modified
-
ZBullet/src/PhysicsActor.cpp (modified) (1 diff)
-
ZBullet/src/PhysicsActor.hpp (modified) (4 diffs)
-
ZBullet/src/PhysicsMaterial.cpp (modified) (1 diff)
-
ZBullet/src/PhysicsService.cpp (modified) (3 diffs)
-
ZNewton/src/PhysicsActor.cpp (modified) (1 diff)
-
ZNewton/src/PhysicsActor.hpp (modified) (3 diffs)
-
ZNewton/src/PhysicsZone.cpp (modified) (1 diff)
-
ZNewton/src/PhysicsZone.hpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
plugins/branches/0185_GEN_PHYSICS_REFACTOR_2/ZBullet/src/PhysicsActor.cpp
r3329 r3339 202 202 //-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ 203 203 void 204 PhysicsActor::setAutoFreeze(bool _bFreeze) 205 { 206 btRigidBodySetAutoFreeze(m_pActor, _bFreeze ? 1 : 0); 207 setActivationState(true); 208 m_activationState = 1; 209 } 210 204 PhysicsActor::setSleepingThresholds(float _minLinearMotion, float _minAngularMotion) 205 { 206 m_pActor->setSleepingThresholds(_minLinearMotion, _minAngularMotion); 207 } 211 208 //-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ 212 209 const Math::Real -
plugins/branches/0185_GEN_PHYSICS_REFACTOR_2/ZBullet/src/PhysicsActor.hpp
r3326 r3339 87 87 virtual const Math::Vector3 getAngularVelocity() const; 88 88 virtual void setAngularVelocity(const Math::Vector3& _omega); 89 89 90 virtual const Math::Vector3 getAngularDamping() const; 90 91 virtual void setAngularDamping(const Math::Vector3& _damping); … … 92 93 virtual void setLinearDamping(float _damping); 93 94 virtual void setAutoFreeze(bool _bFreeze); 95 virtual void setSleepingThresholds(float _minLinearMotion, float _minAngularMotion); 96 virtual void setActivationState(unsigned _state); 94 97 95 98 virtual void setAdvancedCollisionPrediction(bool _mode); … … 104 107 virtual void setGameObject(pOwningObject_type _pOwner); 105 108 virtual pOwningObject_type getGameObject(); 106 bool attachBody(pCollisionShape_type _collision);109 bool attachBody(pCollisionShape_type _collision); 107 110 108 111 /// @} … … 114 117 void applyForce(const Math::Vector3& _force); 115 118 void applyTorque(const Math::Vector3& _torque); 116 117 void setActivationState(unsigned _state);118 119 /// @} 119 120 public: -
plugins/branches/0185_GEN_PHYSICS_REFACTOR_2/ZBullet/src/PhysicsMaterial.cpp
r3329 r3339 172 172 m_bCollidable = _collide; 173 173 //todo: handle via collisiongroups 174 } 174 175 175 176 //-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ -
plugins/branches/0185_GEN_PHYSICS_REFACTOR_2/ZBullet/src/PhysicsService.cpp
r3329 r3339 30 30 #include <exception> 31 31 #include <iostream> 32 #include <bt ManifoldResult.h>32 #include <btBulletDynamicsCommon.h> 33 33 34 34 extern ContactAddedCallback gContactAddedCallback; … … 41 41 //gContactAddedCallback usage can be found under btManifoldResult::addContactPoint 42 42 //it is an explicitly defined global method handle called during btManifoldResult::addContactPoint 43 gContactAddedCallback = CustomMaterialCombinerCallback;43 gContactAddedCallback = Zen::ZBullet::CustomMaterialCombinerCallback; 44 44 } 45 45 … … 73 73 for (std::set<pPhysicsZone_type>::iterator iter = m_zoneSet.begin(); iter != m_zoneSet.end(); iter++) 74 74 { 75 NewtonUpdate(dynamic_cast<PhysicsZone*>(iter->get())->getZonePtr(),(Zen::Math::Real)_elapsedTime);75 dynamic_cast<PhysicsZone*>(iter->get())->getZonePtr()->stepSimulation((Zen::Math::Real)_elapsedTime); 76 76 } 77 77 } -
plugins/branches/0185_GEN_PHYSICS_REFACTOR_2/ZNewton/src/PhysicsActor.cpp
r3301 r3339 211 211 m_activationState = 1; 212 212 } 213 // http://newtondynamics.com/wiki/index.php5?title=NewtonBodySetFreezeTreshold 214 //-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ 215 void 216 PhysicsActor::setSleepingThresholds(float _minLinearMotion, float _minAngularMotion) 217 { 218 //we'll stick with a default of 10 frames of motion since it's simpler to track distance/angle for most folks (that, and theres no equivalents in other engines I've found) -BJR 219 NewtonBodySetFreezeTreshold(m_pActor,_minLinearMotion,_minAngularMotion, 10); 220 } 213 221 214 222 //-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ -
plugins/branches/0185_GEN_PHYSICS_REFACTOR_2/ZNewton/src/PhysicsActor.hpp
r3294 r3339 91 91 virtual void setLinearDamping(float _damping); 92 92 virtual void setAutoFreeze(bool _bFreeze); 93 virtual void setSleepingThresholds(float _minLinearMotion, float _minAngularMotion); 94 void setActivationState(unsigned _state); 93 95 94 96 virtual void setAdvancedCollisionPrediction(bool _mode); … … 116 118 void applyForce(const Math::Vector3& _force); 117 119 void applyTorque(const Math::Vector3& _torque); 118 119 void setActivationState(unsigned _state);120 120 /// @} 121 121 public: … … 270 270 virtual void setContactFrictionState(int _state, bool _primary = true) 271 271 { 272 //http://www.newtondynamics.com/wiki/index.php5?title=NewtonMaterialSetContactFrictionState 272 273 NewtonMaterialSetContactFrictionState(m_pMaterial, _state, _primary ? 0 : 1); 273 274 } -
plugins/branches/0185_GEN_PHYSICS_REFACTOR_2/ZNewton/src/PhysicsZone.cpp
r3294 r3339 562 562 //-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ 563 563 void 564 PhysicsZone::destroyPhysicsActor(wpPhysicsActor_type _wpPhysicsActor) 565 { 566 // TODO - remove appropriate entry from m_zoneSet 567 //m_zoneSet.erase(iter); 568 569 /// Fire the PhysicsZone's onDestroyEvent 570 _wpPhysicsActor->onDestroyEvent(_wpPhysicsActor); 571 572 /// delete the PhysicsZone pointer 573 PhysicsActor* pPhysicsActor = dynamic_cast<PhysicsActor*>(_wpPhysicsActor.get()); 574 575 if (pPhysicsActor) 576 { 577 delete pPhysicsActor; 578 } 579 else 580 { 581 throw Zen::Utility::runtime_exception("Zen::ZBullet::PhysicsZone::destroyPhysicsActor() : _wpPhysicsActor is an invalid PhysicsActor."); 582 } 583 } 584 585 //-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ 586 void 564 587 PhysicsZone::stepSimulation(double _elapsedTime) 565 588 { -
plugins/branches/0185_GEN_PHYSICS_REFACTOR_2/ZNewton/src/PhysicsZone.hpp
r3294 r3339 97 97 98 98 void destroyCollisionShape(wpCollisionShape_type _wpCollisionShape); 99 void destroyPhysicsActor(wpPhysicsActor_type _wpPhysicsActor); 99 100 100 101 void stepSimulation(double _elapsedTime);
