Differential D8762 Diff 28333 extern/bullet2/src/BulletDynamics/Featherstone/btMultiBodySolverConstraint.h
Changeset View
Changeset View
Standalone View
Standalone View
extern/bullet2/src/BulletDynamics/Featherstone/btMultiBodySolverConstraint.h
| Show All 19 Lines | |||||
| #include "LinearMath/btAlignedObjectArray.h" | #include "LinearMath/btAlignedObjectArray.h" | ||||
| class btMultiBody; | class btMultiBody; | ||||
| class btMultiBodyConstraint; | class btMultiBodyConstraint; | ||||
| #include "BulletDynamics/ConstraintSolver/btSolverBody.h" | #include "BulletDynamics/ConstraintSolver/btSolverBody.h" | ||||
| #include "BulletDynamics/ConstraintSolver/btContactSolverInfo.h" | #include "BulletDynamics/ConstraintSolver/btContactSolverInfo.h" | ||||
| ///1D constraint along a normal axis between bodyA and bodyB. It can be combined to solve contact and friction constraints. | ///1D constraint along a normal axis between bodyA and bodyB. It can be combined to solve contact and friction constraints. | ||||
| ATTRIBUTE_ALIGNED16 (struct) btMultiBodySolverConstraint | ATTRIBUTE_ALIGNED16(struct) | ||||
| btMultiBodySolverConstraint | |||||
| { | { | ||||
| BT_DECLARE_ALIGNED_ALLOCATOR(); | BT_DECLARE_ALIGNED_ALLOCATOR(); | ||||
| btMultiBodySolverConstraint() : m_solverBodyIdA(-1), m_multiBodyA(0), m_linkA(-1), m_solverBodyIdB(-1), m_multiBodyB(0), m_linkB(-1),m_orgConstraint(0), m_orgDofIndex(-1) | btMultiBodySolverConstraint() : m_solverBodyIdA(-1), m_multiBodyA(0), m_linkA(-1), m_solverBodyIdB(-1), m_multiBodyB(0), m_linkB(-1), m_orgConstraint(0), m_orgDofIndex(-1) | ||||
| {} | { | ||||
| } | |||||
| int m_deltaVelAindex;//more generic version of m_relpos1CrossNormal/m_contactNormal1 | int m_deltaVelAindex; //more generic version of m_relpos1CrossNormal/m_contactNormal1 | ||||
| int m_jacAindex; | int m_jacAindex; | ||||
| int m_deltaVelBindex; | int m_deltaVelBindex; | ||||
| int m_jacBindex; | int m_jacBindex; | ||||
| btVector3 m_relpos1CrossNormal; | btVector3 m_relpos1CrossNormal; | ||||
| btVector3 m_contactNormal1; | btVector3 m_contactNormal1; | ||||
| btVector3 m_relpos2CrossNormal; | btVector3 m_relpos2CrossNormal; | ||||
| btVector3 m_contactNormal2; //usually m_contactNormal2 == -m_contactNormal1, but not always | btVector3 m_contactNormal2; //usually m_contactNormal2 == -m_contactNormal1, but not always | ||||
| btVector3 m_angularComponentA; | btVector3 m_angularComponentA; | ||||
| btVector3 m_angularComponentB; | btVector3 m_angularComponentB; | ||||
| mutable btSimdScalar m_appliedPushImpulse; | mutable btSimdScalar m_appliedPushImpulse; | ||||
| mutable btSimdScalar m_appliedImpulse; | mutable btSimdScalar m_appliedImpulse; | ||||
| btScalar m_friction; | btScalar m_friction; | ||||
| btScalar m_jacDiagABInv; | btScalar m_jacDiagABInv; | ||||
| btScalar m_rhs; | btScalar m_rhs; | ||||
| btScalar m_cfm; | btScalar m_cfm; | ||||
| btScalar m_lowerLimit; | btScalar m_lowerLimit; | ||||
| btScalar m_upperLimit; | btScalar m_upperLimit; | ||||
| btScalar m_rhsPenetration; | btScalar m_rhsPenetration; | ||||
| union | union { | ||||
| { | |||||
| void* m_originalContactPoint; | void* m_originalContactPoint; | ||||
| btScalar m_unusedPadding4; | btScalar m_unusedPadding4; | ||||
| }; | }; | ||||
| int m_overrideNumSolverIterations; | int m_overrideNumSolverIterations; | ||||
| int m_frictionIndex; | int m_frictionIndex; | ||||
| int m_solverBodyIdA; | int m_solverBodyIdA; | ||||
| btMultiBody* m_multiBodyA; | btMultiBody* m_multiBodyA; | ||||
| int m_linkA; | int m_linkA; | ||||
| int m_solverBodyIdB; | int m_solverBodyIdB; | ||||
| btMultiBody* m_multiBodyB; | btMultiBody* m_multiBodyB; | ||||
| int m_linkB; | int m_linkB; | ||||
| //for writing back applied impulses | //for writing back applied impulses | ||||
| btMultiBodyConstraint* m_orgConstraint; | btMultiBodyConstraint* m_orgConstraint; | ||||
| int m_orgDofIndex; | int m_orgDofIndex; | ||||
| enum btSolverConstraintType | enum btSolverConstraintType | ||||
| { | { | ||||
| BT_SOLVER_CONTACT_1D = 0, | BT_SOLVER_CONTACT_1D = 0, | ||||
| BT_SOLVER_FRICTION_1D | BT_SOLVER_FRICTION_1D | ||||
| }; | }; | ||||
| }; | }; | ||||
| typedef btAlignedObjectArray<btMultiBodySolverConstraint> btMultiBodyConstraintArray; | typedef btAlignedObjectArray<btMultiBodySolverConstraint> btMultiBodyConstraintArray; | ||||
| #endif //BT_MULTIBODY_SOLVER_CONSTRAINT_H | #endif //BT_MULTIBODY_SOLVER_CONSTRAINT_H | ||||