Changeset 7983 for code/branches/kicklib/src/external/bullet/BulletDynamics/ConstraintSolver/btSolverBody.h
- 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/ConstraintSolver/btSolverBody.h
r5781 r7983 106 106 107 107 ///The btSolverBody is an internal datastructure for the constraint solver. Only necessary data is packed to increase cache coherence/performance. 108 ATTRIBUTE_ALIGNED 16 (struct) btSolverBody108 ATTRIBUTE_ALIGNED64 (struct) btSolverBodyObsolete 109 109 { 110 110 BT_DECLARE_ALIGNED_ALLOCATOR(); 111 111 btVector3 m_deltaLinearVelocity; 112 112 btVector3 m_deltaAngularVelocity; 113 btScalar m_angularFactor; 114 btScalar m_invMass; 115 btScalar m_friction; 113 btVector3 m_angularFactor; 114 btVector3 m_invMass; 116 115 btRigidBody* m_originalBody; 117 116 btVector3 m_pushVelocity; 118 //btVector3 m_turnVelocity;117 btVector3 m_turnVelocity; 119 118 120 119 … … 146 145 } 147 146 148 149 /* 147 SIMD_FORCE_INLINE void internalApplyPushImpulse(const btVector3& linearComponent, const btVector3& angularComponent,btScalar impulseMagnitude) 148 { 149 if (m_originalBody) 150 { 151 m_pushVelocity += linearComponent*impulseMagnitude; 152 m_turnVelocity += angularComponent*(impulseMagnitude*m_angularFactor); 153 } 154 } 150 155 151 156 void writebackVelocity() 152 157 { 153 if (m_ invMass)158 if (m_originalBody) 154 159 { 155 160 m_originalBody->setLinearVelocity(m_originalBody->getLinearVelocity()+ m_deltaLinearVelocity); … … 159 164 } 160 165 } 161 */162 166 163 void writebackVelocity(btScalar timeStep=0) 167 168 void writebackVelocity(btScalar timeStep) 164 169 { 165 if (m_invMass) 170 (void) timeStep; 171 if (m_originalBody) 166 172 { 167 m_originalBody->setLinearVelocity(m_originalBody->getLinearVelocity()+ m_deltaLinearVelocity);173 m_originalBody->setLinearVelocity(m_originalBody->getLinearVelocity()+ m_deltaLinearVelocity); 168 174 m_originalBody->setAngularVelocity(m_originalBody->getAngularVelocity()+m_deltaAngularVelocity); 175 176 //correct the position/orientation based on push/turn recovery 177 btTransform newTransform; 178 btTransformUtil::integrateTransform(m_originalBody->getWorldTransform(),m_pushVelocity,m_turnVelocity,timeStep,newTransform); 179 m_originalBody->setWorldTransform(newTransform); 180 169 181 //m_originalBody->setCompanionId(-1); 170 182 }
Note: See TracChangeset
for help on using the changeset viewer.