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))
virtual void buildJacobian()
internal method used by the constraint solver, don't use them directly
bool m_useSolveConstraintObsolete
btFixedConstraint btRigidBody & rbB
btFixedConstraint btRigidBody const btTransform & frameInA
btFixedConstraint btRigidBody const btTransform const btTransform & frameInB
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
const btTransform & getCalculatedTransformA() const
BT_DECLARE_ALIGNED_ALLOCATOR()
virtual void getInfo2(btConstraintInfo2 *info)
btScalar getSoftnessDirAng()
const btTransform & getFrameOffsetA() const
btScalar m_softnessOrthoLin
void setRestitutionLimLin(btScalar restitutionLimLin)
void calculateTransforms(const btTransform &transA, const btTransform &transB)
btScalar getDampingLimLin()
btScalar getSoftnessLimAng()
void setRestitutionOrthoLin(btScalar restitutionOrthoLin)
void setSoftnessLimAng(btScalar softnessLimAng)
btTransform m_calculatedTransformB
@ 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
virtual void setParam(int num, btScalar value, int axis=-1)
btScalar getLowerLinLimit()
btScalar getUpperLinLimit()
btScalar m_dampingOrthoAng
btScalar m_restitutionDirAng
virtual int calculateSerializeBufferSize() const
btScalar m_softnessDirLin
btJacobianEntry m_jacAng[3]
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()
void setUseFrameOffset(bool frameOffsetOnOff)
btScalar m_restitutionLimLin
btScalar getLinearPos() const
#define btSliderConstraintData2
virtual int getFlags() const
btScalar getRestitutionOrthoAng()
btScalar m_accumulatedLinMotorImpulse
btScalar m_maxLinMotorForce
btScalar getDampingDirAng()
void setPoweredAngMotor(bool onOff)
btScalar getRestitutionLimAng()
const btTransform & getFrameOffsetB() const
btVector3 m_realPivotAInW
const btRigidBody & getRigidBodyA() const
btScalar getSoftnessDirLin()
btScalar getSoftnessOrthoAng()
btScalar getDampingDirLin()
void setSoftnessDirLin(btScalar softnessDirLin)
btScalar getRestitutionOrthoLin()
const btRigidBody & getRigidBodyB() const
virtual btScalar getParam(int num, int axis=-1) const
return the local value of parameter
btScalar getSoftnessOrthoLin()
bool m_useLinearReferenceFrameA
btScalar getMaxLinMotorForce()
btScalar getRestitutionDirLin()
const btTransform & getCalculatedTransformB() const
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)
void setFrames(const btTransform &frameA, const btTransform &frameB)
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)
void getInfo1NonVirtual(btConstraintInfo1 *info)
btScalar m_softnessDirAng
btScalar m_maxAngMotorForce
btScalar m_softnessLimAng
btScalar getAngularPos() const
void setUpperLinLimit(btScalar upperLimit)
virtual void getInfo1(btConstraintInfo1 *info)
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)
void getInfo2NonVirtual(btConstraintInfo2 *info, const btTransform &transA, const btTransform &transB, const btVector3 &linVelA, const btVector3 &linVelB, btScalar rbAinvMass, btScalar rbBinvMass)
btScalar getSoftnessLimLin()
bool getPoweredLinMotor()
void setSoftnessOrthoAng(btScalar softnessOrthoAng)
btScalar m_dampingOrthoLin
btTransform m_calculatedTransformA
void setSoftnessOrthoLin(btScalar softnessOrthoLin)
btScalar getTargetLinMotorVelocity()
bool m_useOffsetForConstraintFrame
btScalar m_restitutionOrthoAng
virtual const char * serialize(void *dataBuffer, btSerializer *serializer) const
fills the dataBuffer and returns the struct name (and 0 on failure)
btScalar getTargetAngMotorVelocity()
bool getUseLinearReferenceFrameA()
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