Changeset 7983 for code/branches/kicklib/src/external/bullet/BulletDynamics/Vehicle/btRaycastVehicle.cpp
- Timestamp:
- Feb 27, 2011, 7:43:24 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/kicklib/src/external/bullet/BulletDynamics/Vehicle/btRaycastVehicle.cpp
r5781 r7983 23 23 #include "BulletDynamics/ConstraintSolver/btContactConstraint.h" 24 24 25 static btRigidBody s_fixedObject( 0,0,0); 25 btRigidBody& btActionInterface::getFixedBody() 26 { 27 static btRigidBody s_fixed(0, 0,0); 28 s_fixed.setMassProps(btScalar(0.),btVector3(btScalar(0.),btScalar(0.),btScalar(0.))); 29 return s_fixed; 30 } 26 31 27 32 btRaycastVehicle::btRaycastVehicle(const btVehicleTuning& tuning,btRigidBody* chassis, btVehicleRaycaster* raycaster ) … … 71 76 ci.m_bIsFrontWheel = isFrontWheel; 72 77 ci.m_maxSuspensionTravelCm = tuning.m_maxSuspensionTravelCm; 78 ci.m_maxSuspensionForce = tuning.m_maxSuspensionForce; 73 79 74 80 m_wheelInfo.push_back( btWheelInfo(ci)); … … 187 193 wheel.m_raycastInfo.m_isInContact = true; 188 194 189 wheel.m_raycastInfo.m_groundObject = & s_fixedObject;///@todo for driving on dynamic/movable objects!;195 wheel.m_raycastInfo.m_groundObject = &getFixedBody();///@todo for driving on dynamic/movable objects!; 190 196 //wheel.m_raycastInfo.m_groundObject = object; 191 197 … … 302 308 btScalar suspensionForce = wheel.m_wheelsSuspensionForce; 303 309 304 btScalar gMaxSuspensionForce = btScalar(6000.); 305 if (suspensionForce > gMaxSuspensionForce) 306 { 307 suspensionForce = gMaxSuspensionForce; 310 if (suspensionForce > wheel.m_maxSuspensionForce) 311 { 312 suspensionForce = wheel.m_maxSuspensionForce; 308 313 } 309 314 btVector3 impulse = wheel.m_raycastInfo.m_contactNormalWS * suspensionForce * step; … … 690 695 btVector3 sideImp = m_axle[wheel] * m_sideImpulse[wheel]; 691 696 692 rel_pos[m_index ForwardAxis] *= wheelInfo.m_rollInfluence;697 rel_pos[m_indexUpAxis] *= wheelInfo.m_rollInfluence; 693 698 m_chassisBody->applyImpulse(sideImp,rel_pos); 694 699 … … 709 714 for (int v=0;v<this->getNumWheels();v++) 710 715 { 711 btVector3 wheelColor(0, 255,255);716 btVector3 wheelColor(0,1,1); 712 717 if (getWheelInfo(v).m_raycastInfo.m_isInContact) 713 718 { 714 wheelColor.setValue(0,0, 255);719 wheelColor.setValue(0,0,1); 715 720 } else 716 721 { 717 wheelColor.setValue( 255,0,255);722 wheelColor.setValue(1,0,1); 718 723 } 719 724
Note: See TracChangeset
for help on using the changeset viewer.