36 #ifndef BT_CONETWISTCONSTRAINT_H
37 #define BT_CONETWISTCONSTRAINT_H
43 #ifdef BT_USE_DOUBLE_PRECISION
44 #define btConeTwistConstraintData2 btConeTwistConstraintDoubleData
45 #define btConeTwistConstraintDataName "btConeTwistConstraintDoubleData"
47 #define btConeTwistConstraintData2 btConeTwistConstraintData
48 #define btConeTwistConstraintDataName "btConeTwistConstraintData"
49 #endif //BT_USE_DOUBLE_PRECISION
64 #ifdef IN_PARALLELL_SOLVER
133 void adjustSwingAxisToUseEllipseNormal(
btVector3& vSwingAxis)
const;
144 virtual void buildJacobian();
171 m_angularOnly = angularOnly;
180 m_twistSpan = limitValue;
185 m_swingSpan2 = limitValue;
190 m_swingSpan1 = limitValue;
212 m_swingSpan1 = _swingSpan1;
213 m_swingSpan2 = _swingSpan2;
214 m_twistSpan = _twistSpan;
216 m_limitSoftness = _softness;
217 m_biasFactor = _biasFactor;
218 m_relaxationFactor = _relaxationFactor;
226 return m_solveTwistLimit;
231 return m_solveTwistLimit;
236 return m_twistLimitSign;
239 void calcAngleInfo();
276 void setMotorTargetInConstraintSpace(
const btQuaternion &q);
282 virtual void setParam(
int num,
btScalar value,
int axis = -1);
298 virtual btScalar getParam(
int num,
int axis = -1)
const;
329 #ifdef BT_BACKWARDS_COMPATIBLE_SERIALIZATION
350 #endif //BT_BACKWARDS_COMPATIBLE_SERIALIZATION
381 #endif //BT_CONETWISTCONSTRAINT_H
void setMaxMotorImpulseNormalized(btScalar maxMotorImpulse)
void setLimit(int limitIndex, btScalar limitValue)
btTransformDoubleData m_rbAFrame
btScalar m_maxMotorImpulse
btTransformFloatData m_rbAFrame
btScalar m_swingCorrection
btTypedConstraintDoubleData m_typeConstraintData
Jacobian entry is an abstraction that allows to describe constraints it can be used in combination wi...
#define btConeTwistConstraintData2
btScalar getTwistLimitSign()
const btRigidBody & getRigidBodyB() const
void setMaxMotorImpulse(btScalar maxMotorImpulse)
#define SIMD_FORCE_INLINE
const btTransform & getFrameOffsetA() const
void setDamping(btScalar damping)
btTransformFloatData m_rbBFrame
btScalar m_twistLimitRatio
double m_relaxationFactor
btScalar m_relaxationFactor
virtual const char * serialize(void *dataBuffer, btSerializer *serializer) const
fills the dataBuffer and returns the struct name (and 0 on failure)
void setLimit(btScalar _swingSpan1, btScalar _swingSpan2, btScalar _twistSpan, btScalar _softness=1.f, btScalar _biasFactor=0.3f, btScalar _relaxationFactor=1.0f)
virtual int calculateSerializeBufferSize() const
btScalar m_twistLimitSign
btTypedConstraintData m_typeConstraintData
btVector3 m_accMotorImpulse
The btRigidBody is the main class for rigid body objects.
bool m_useSolveConstraintObsolete
btScalar m_twistCorrection
this structure is not used, except for loading pre-2.82 .bullet files
void setAngularOnly(bool angularOnly)
btTransformDoubleData m_rbBFrame
const btTransform & getAFrame()
btVector3 can be used to represent 3D points and vectors.
#define ATTRIBUTE_ALIGNED16(a)
btConeTwistConstraint can be used to simulate ragdoll joints (upper arm, leg etc) ...
void setFixThresh(btScalar fixThresh)
The btSolverBody is an internal datastructure for the constraint solver. Only necessary data is packe...
const btTransform & getBFrame()
TypedConstraint is the baseclass for Bullet constraints and vehicles.
#define BT_DECLARE_ALIGNED_ALLOCATOR()
virtual const char * serialize(void *dataBuffer, class btSerializer *serializer) const
fills the dataBuffer and returns the struct name (and 0 on failure)
virtual const char * serialize(void *dataBuffer, btSerializer *serializer) const
fills the dataBuffer and returns the struct name (and 0 on failure)
btScalar m_accSwingLimitImpulse
The btMatrix3x3 class implements a 3x3 rotation matrix, to perform linear algebra in combination with...
this structure is not used, except for loading pre-2.82 .bullet files
const btRigidBody & getRigidBodyA() const
btScalar m_swingLimitRatio
btScalar m_accTwistLimitImpulse
The btQuaternion implements quaternion to perform linear algebra rotations in combination with btMatr...
const btTransform & getFrameOffsetB() const
bool m_bNormalizedMotorStrength
virtual int calculateSerializeBufferSize() const
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
#define btConeTwistConstraintDataName