Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErwin Coumans <blender@erwincoumans.com>2007-08-05 21:44:32 +0400
committerErwin Coumans <blender@erwincoumans.com>2007-08-05 21:44:32 +0400
commitf0de3124cebc34d86a6bac44743f868be76630d2 (patch)
tree25d605fecd5ae07c59f08259b026200bfb1123a4 /extern/bullet2/src/BulletDynamics/ConstraintSolver/btHingeConstraint.h
parentd638f54c085025e82ca0d58f884b6abc6b4147f7 (diff)
reverted to old hinge constraint, it breaks several tests/demos
Diffstat (limited to 'extern/bullet2/src/BulletDynamics/ConstraintSolver/btHingeConstraint.h')
-rw-r--r--extern/bullet2/src/BulletDynamics/ConstraintSolver/btHingeConstraint.h64
1 files changed, 9 insertions, 55 deletions
diff --git a/extern/bullet2/src/BulletDynamics/ConstraintSolver/btHingeConstraint.h b/extern/bullet2/src/BulletDynamics/ConstraintSolver/btHingeConstraint.h
index 4b42d3d2acd..5c1ceafbc5b 100644
--- a/extern/bullet2/src/BulletDynamics/ConstraintSolver/btHingeConstraint.h
+++ b/extern/bullet2/src/BulletDynamics/ConstraintSolver/btHingeConstraint.h
@@ -13,8 +13,6 @@ subject to the following restrictions:
3. This notice may not be removed or altered from any source distribution.
*/
-/* Hinge Constraint by Dirk Gregorius. Limits added by Marcus Hennix at Starbreeze Studios */
-
#ifndef HINGECONSTRAINT_H
#define HINGECONSTRAINT_H
@@ -24,6 +22,7 @@ subject to the following restrictions:
class btRigidBody;
+
/// hinge constraint between two rigidbodies each with a pivotpoint that descibes the axis location in local space
/// axis defines the orientation of the hinge axis
class btHingeConstraint : public btTypedConstraint
@@ -31,40 +30,22 @@ class btHingeConstraint : public btTypedConstraint
btJacobianEntry m_jac[3]; //3 orthogonal linear constraints
btJacobianEntry m_jacAng[3]; //2 orthogonal angular constraints+ 1 for limit/motor
- btTransform m_rbAFrame; // constraint axii. Assumes z is hinge axis.
- btTransform m_rbBFrame;
-
- btScalar m_motorTargetVelocity;
- btScalar m_maxMotorImpulse;
-
- btScalar m_limitSoftness;
- btScalar m_biasFactor;
- btScalar m_relaxationFactor;
-
- btScalar m_lowerLimit;
- btScalar m_upperLimit;
-
- btScalar m_kHinge;
-
- btScalar m_limitSign;
- btScalar m_correction;
-
- btScalar m_accLimitImpulse;
+ btVector3 m_pivotInA;
+ btVector3 m_pivotInB;
+ btVector3 m_axisInA;
+ btVector3 m_axisInB;
bool m_angularOnly;
- bool m_enableAngularMotor;
- bool m_solveLimit;
+ btScalar m_motorTargetVelocity;
+ btScalar m_maxMotorImpulse;
+ bool m_enableAngularMotor;
public:
- btHingeConstraint(btRigidBody& rbA,btRigidBody& rbB, const btVector3& pivotInA,const btVector3& pivotInB, btVector3& axisInA,btVector3& axisInB);
+ btHingeConstraint(btRigidBody& rbA,btRigidBody& rbB, const btVector3& pivotInA,const btVector3& pivotInB,btVector3& axisInA,btVector3& axisInB);
btHingeConstraint(btRigidBody& rbA,const btVector3& pivotInA,btVector3& axisInA);
-
- btHingeConstraint(btRigidBody& rbA,btRigidBody& rbB, const btTransform& rbAFrame, const btTransform& rbBFrame);
-
- btHingeConstraint(btRigidBody& rbA,const btTransform& rbAFrame);
btHingeConstraint();
@@ -95,33 +76,6 @@ public:
m_maxMotorImpulse = maxMotorImpulse;
}
- void setLimit(btScalar low,btScalar high,btScalar _softness = 0.9f, btScalar _biasFactor = 0.3f, btScalar _relaxationFactor = 1.0f)
- {
- m_lowerLimit = low;
- m_upperLimit = high;
-
- m_limitSoftness = _softness;
- m_biasFactor = _biasFactor;
- m_relaxationFactor = _relaxationFactor;
-
- }
-
- btScalar getHingeAngle();
-
-
- const btTransform& getAFrame() { return m_rbAFrame; };
- const btTransform& getBFrame() { return m_rbBFrame; };
-
- inline int getSolveLimit()
- {
- return m_solveLimit;
- }
-
- inline btScalar getLimitSign()
- {
- return m_limitSign;
- }
-
};
#endif //HINGECONSTRAINT_H