25#ifndef BT_SLIDER_CONSTRAINT_H
26#define BT_SLIDER_CONSTRAINT_H
30#ifdef BT_USE_DOUBLE_PRECISION
31#define btSliderConstraintData2 btSliderConstraintDoubleData
32#define btSliderConstraintDataName "btSliderConstraintDoubleData"
34#define btSliderConstraintData2 btSliderConstraintData
35#define btSliderConstraintDataName "btSliderConstraintData"
44#define SLIDER_CONSTRAINT_DEF_SOFTNESS (btScalar(1.0))
45#define SLIDER_CONSTRAINT_DEF_DAMPING (btScalar(1.0))
46#define SLIDER_CONSTRAINT_DEF_RESTITUTION (btScalar(0.7))
47#define SLIDER_CONSTRAINT_DEF_CFM (btScalar(0.f))
332 btTypedConstraint::serialize(&sliderData->m_typeConstraintData, serializer);
ATTR_WARN_UNUSED_RESULT const size_t num
virtual void getInfo2(btConstraintInfo2 *info)
virtual void buildJacobian()
const btTransform & getFrameOffsetB() const
virtual void setParam(int num, btScalar value, int axis=-1)
virtual void setFrames(const btTransform &frameA, const btTransform &frameB)
bool m_useSolveConstraintObsolete
virtual void getInfo1(btConstraintInfo1 *info)
void getInfo2NonVirtual(btConstraintInfo2 *info, const btTransform &transA, const btTransform &transB, const btMatrix3x3 &invInertiaWorldA, const btMatrix3x3 &invInertiaWorldB)
virtual btScalar getParam(int num, int axis=-1) const
return the local value of parameter
const btRigidBody & getRigidBodyA() const
const btRigidBody & getRigidBodyB() const
const btTransform & getFrameOffsetA() const
void getInfo1NonVirtual(btConstraintInfo1 *info)
btFixedConstraint btRigidBody & rbB
btFixedConstraint btRigidBody const btTransform & frameInA
btFixedConstraint btRigidBody const btTransform const btTransform & frameInB
btTransform m_calculatedTransformB
btJacobianEntry m_jacAng[3]
3 orthogonal angular constraints
const btTransform & getCalculatedTransformA() const
Gets the global transform of the offset for body A.
void setUseFrameOffset(bool frameOffsetOnOff)
bool getUseFrameOffset() const
bool getUseLinearReferenceFrameA() const
bool m_useLinearReferenceFrameA
btTransform m_frameInB
the constraint space w.r.t body B
const btTransform & getCalculatedTransformB() const
Gets the global transform of the offset for body B.
void calculateTransforms(const btTransform &transA, const btTransform &transB)
Calcs global transform of the offsets.
btTransform m_calculatedTransformA
bool m_useOffsetForConstraintFrame
unsigned calculateSerializeBufferSize() const
virtual bool serialize(void *o_alignedDataBuffer, unsigned i_dataBufferSize, bool i_swapEndian) const
Data buffer MUST be 16 byte aligned.
#define BT_DECLARE_ALIGNED_ALLOCATOR()
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
#define ATTRIBUTE_ALIGNED16(a)
SIMD_FORCE_INLINE btScalar btNormalizeAngle(btScalar angleInRadians)
#define SIMD_FORCE_INLINE
btScalar getSoftnessDirAng()
btScalar m_softnessOrthoLin
void setRestitutionLimLin(btScalar restitutionLimLin)
btScalar getDampingLimLin()
btScalar getSoftnessLimAng()
void setRestitutionOrthoLin(btScalar restitutionOrthoLin)
void setSoftnessLimAng(btScalar softnessLimAng)
@ BT_SLIDER_FLAGS_CFM_DIRANG
@ BT_SLIDER_FLAGS_ERP_LIMLIN
@ BT_SLIDER_FLAGS_CFM_DIRLIN
@ BT_SLIDER_FLAGS_ERP_DIRANG
@ BT_SLIDER_FLAGS_ERP_DIRLIN
@ BT_SLIDER_FLAGS_CFM_ORTANG
@ BT_SLIDER_FLAGS_CFM_ORTLIN
@ BT_SLIDER_FLAGS_ERP_ORTANG
@ BT_SLIDER_FLAGS_CFM_LIMANG
@ BT_SLIDER_FLAGS_ERP_ORTLIN
@ BT_SLIDER_FLAGS_CFM_LIMLIN
@ BT_SLIDER_FLAGS_ERP_LIMANG
btScalar getLowerLinLimit()
btScalar getUpperLinLimit()
btScalar m_dampingOrthoAng
btScalar m_restitutionDirAng
btScalar m_softnessDirLin
btScalar m_softnessOrthoAng
btSliderConstraint(btRigidBody &rbA, btRigidBody &rbB, const btTransform &frameInA, const btTransform &frameInB, bool useLinearReferenceFrameA)
void setRestitutionLimAng(btScalar restitutionLimAng)
btScalar getRestitutionLimLin()
void setLowerLinLimit(btScalar lowerLimit)
#define btSliderConstraintDataName
btScalar getRestitutionDirAng()
btScalar m_restitutionLimLin
btScalar getLinearPos() const
#define btSliderConstraintData2
btScalar getRestitutionOrthoAng()
btScalar m_accumulatedLinMotorImpulse
btScalar m_maxLinMotorForce
btScalar getDampingDirAng()
void setPoweredAngMotor(bool onOff)
btScalar getRestitutionLimAng()
btVector3 m_realPivotAInW
btScalar getSoftnessDirLin()
btScalar getSoftnessOrthoAng()
btScalar getDampingDirLin()
void setSoftnessDirLin(btScalar softnessDirLin)
btScalar getRestitutionOrthoLin()
btScalar getSoftnessOrthoLin()
btScalar getMaxLinMotorForce()
btScalar getRestitutionDirLin()
void setMaxLinMotorForce(btScalar maxLinMotorForce)
void setDampingOrthoLin(btScalar dampingOrthoLin)
void setPoweredLinMotor(bool onOff)
btScalar getDampingOrthoLin()
void setSoftnessLimLin(btScalar softnessLimLin)
void setRestitutionOrthoAng(btScalar restitutionOrthoAng)
void setLowerAngLimit(btScalar lowerLimit)
void setUpperAngLimit(btScalar upperLimit)
btScalar getMaxAngMotorForce()
void setMaxAngMotorForce(btScalar maxAngMotorForce)
void setDampingLimLin(btScalar dampingLimLin)
void setTargetLinMotorVelocity(btScalar targetLinMotorVelocity)
btScalar getDampingOrthoAng()
btScalar m_restitutionLimAng
void setRestitutionDirLin(btScalar restitutionDirLin)
btScalar m_jacLinDiagABInv[3]
btScalar m_targetAngMotorVelocity
void setDampingDirAng(btScalar dampingDirAng)
btJacobianEntry m_jacLin[3]
void setRestitutionDirAng(btScalar restitutionDirAng)
btScalar m_softnessDirAng
btScalar m_maxAngMotorForce
btScalar m_softnessLimAng
btScalar getAngularPos() const
void setUpperLinLimit(btScalar upperLimit)
btScalar m_restitutionDirLin
void setSoftnessDirAng(btScalar softnessDirAng)
btScalar m_accumulatedAngMotorImpulse
btScalar m_restitutionOrthoLin
void setTargetAngMotorVelocity(btScalar targetAngMotorVelocity)
btScalar getDampingLimAng()
btVector3 m_realPivotBInW
btScalar getUpperAngLimit()
btScalar getLowerAngLimit()
void setDampingOrthoAng(btScalar dampingOrthoAng)
bool getPoweredAngMotor()
void setDampingDirLin(btScalar dampingDirLin)
btScalar m_targetLinMotorVelocity
btScalar m_softnessLimLin
void setDampingLimAng(btScalar dampingLimAng)
btScalar getSoftnessLimLin()
bool getPoweredLinMotor()
void setSoftnessOrthoAng(btScalar softnessOrthoAng)
btScalar m_dampingOrthoLin
void setSoftnessOrthoLin(btScalar softnessOrthoLin)
btScalar getTargetLinMotorVelocity()
btScalar m_restitutionOrthoAng
btScalar getTargetAngMotorVelocity()
btTypedConstraint(btTypedConstraintType type, btRigidBody &rbA)
btVector3
btVector3 can be used to represent 3D points and vectors. It has an un-used w component to suit 16-by...
const btTransform & getCenterOfMassTransform() const
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
float m_angularUpperLimit
int m_useLinearReferenceFrameA
btTransformFloatData m_rbBFrame
btTypedConstraintData m_typeConstraintData
float m_angularLowerLimit
btTransformFloatData m_rbAFrame
int m_useOffsetForConstraintFrame
int m_useLinearReferenceFrameA
double m_linearUpperLimit
btTransformDoubleData m_rbAFrame
btTypedConstraintDoubleData m_typeConstraintData
double m_angularUpperLimit
double m_linearLowerLimit
btTransformDoubleData m_rbBFrame
int m_useOffsetForConstraintFrame
double m_angularLowerLimit
this structure is not used, except for loading pre-2.82 .bullet files