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))
255 void testLinLimits();
256 void testAngLimits();
262 void setUseFrameOffset(
bool frameOffsetOnOff) { m_useOffsetForConstraintFrame = frameOffsetOnOff; }
268 calculateTransforms(m_rbA.getCenterOfMassTransform(), m_rbB.getCenterOfMassTransform());
274 virtual void setParam(
int num,
btScalar value,
int axis = -1);
276 virtual btScalar getParam(
int num,
int axis = -1)
const;
btScalar btNormalizeAngle(btScalar angleInRadians)
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
#define ATTRIBUTE_ALIGNED16(a)
#define SIMD_FORCE_INLINE
@ 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
#define btSliderConstraintDataName
#define btSliderConstraintData2
Jacobian entry is an abstraction that allows to describe constraints it can be used in combination wi...
The btRigidBody is the main class for rigid body objects.
virtual const char * serialize(void *dataBuffer, class btSerializer *serializer) const
fills the dataBuffer and returns the struct name (and 0 on failure)
virtual int calculateSerializeBufferSize() const
bool m_useLinearReferenceFrameA
void setSoftnessOrthoAng(btScalar softnessOrthoAng)
void setPoweredLinMotor(bool onOff)
bool getUseLinearReferenceFrameA()
btScalar getUpperLinLimit()
btScalar getTargetLinMotorVelocity()
void setRestitutionDirAng(btScalar restitutionDirAng)
bool getPoweredLinMotor()
const btTransform & getFrameOffsetB() const
void setRestitutionOrthoLin(btScalar restitutionOrthoLin)
void setUseFrameOffset(bool frameOffsetOnOff)
btScalar getRestitutionDirAng()
void setSoftnessLimLin(btScalar softnessLimLin)
const btRigidBody & getRigidBodyB() const
virtual const char * serialize(void *dataBuffer, btSerializer *serializer) const
fills the dataBuffer and returns the struct name (and 0 on failure)
void setMaxAngMotorForce(btScalar maxAngMotorForce)
void setTargetLinMotorVelocity(btScalar targetLinMotorVelocity)
btScalar getRestitutionLimAng()
void setLowerLinLimit(btScalar lowerLimit)
btScalar getDampingOrthoAng()
btScalar m_softnessDirAng
void setSoftnessOrthoLin(btScalar softnessOrthoLin)
virtual int getFlags() const
btScalar m_dampingOrthoAng
btScalar m_softnessLimLin
btScalar m_softnessDirLin
btTransform m_calculatedTransformB
bool m_useOffsetForConstraintFrame
const btTransform & getCalculatedTransformB() const
btScalar m_softnessLimAng
btTransform m_calculatedTransformA
void setDampingOrthoAng(btScalar dampingOrthoAng)
btScalar getSoftnessOrthoAng()
btVector3 m_realPivotBInW
void setUpperLinLimit(btScalar upperLimit)
btScalar m_restitutionDirLin
void setRestitutionLimLin(btScalar restitutionLimLin)
void setPoweredAngMotor(bool onOff)
virtual int calculateSerializeBufferSize() const
const btRigidBody & getRigidBodyA() const
btScalar m_targetLinMotorVelocity
btScalar m_targetAngMotorVelocity
btScalar m_maxAngMotorForce
btScalar getSoftnessDirAng()
btScalar getLinearPos() const
void setDampingLimAng(btScalar dampingLimAng)
btScalar getDampingDirLin()
btScalar m_restitutionLimAng
btScalar getSoftnessDirLin()
void setTargetAngMotorVelocity(btScalar targetAngMotorVelocity)
void setDampingDirAng(btScalar dampingDirAng)
void setSoftnessDirAng(btScalar softnessDirAng)
btTransform & getFrameOffsetA()
btScalar getRestitutionOrthoLin()
btScalar getLowerLinLimit()
const btTransform & getCalculatedTransformA() const
btScalar getDampingLimLin()
btScalar m_softnessOrthoAng
btScalar getRestitutionLimLin()
btScalar getDampingOrthoLin()
void setSoftnessLimAng(btScalar softnessLimAng)
btScalar getDampingLimAng()
btScalar getLowerAngLimit()
void setSoftnessDirLin(btScalar softnessDirLin)
const btTransform & getFrameOffsetA() const
btScalar m_restitutionOrthoLin
btScalar getRestitutionOrthoAng()
void setFrames(const btTransform &frameA, const btTransform &frameB)
btScalar getSoftnessLimAng()
void setRestitutionDirLin(btScalar restitutionDirLin)
btScalar m_accumulatedLinMotorImpulse
btScalar getAngularPos() const
btScalar getTargetAngMotorVelocity()
btScalar m_accumulatedAngMotorImpulse
btScalar m_softnessOrthoLin
btScalar m_dampingOrthoLin
void setDampingDirLin(btScalar dampingDirLin)
btScalar getMaxAngMotorForce()
BT_DECLARE_ALIGNED_ALLOCATOR()
btScalar getRestitutionDirLin()
void setRestitutionOrthoAng(btScalar restitutionOrthoAng)
btTransform & getFrameOffsetB()
void setMaxLinMotorForce(btScalar maxLinMotorForce)
btVector3 m_realPivotAInW
btScalar getSoftnessLimLin()
void setUpperAngLimit(btScalar upperLimit)
btScalar getSoftnessOrthoLin()
void setRestitutionLimAng(btScalar restitutionLimAng)
btScalar m_maxLinMotorForce
btScalar getMaxLinMotorForce()
void setLowerAngLimit(btScalar lowerLimit)
void setDampingLimLin(btScalar dampingLimLin)
btScalar m_restitutionOrthoAng
btScalar m_restitutionDirAng
void setDampingOrthoLin(btScalar dampingOrthoLin)
bool m_useSolveConstraintObsolete
for backwards compatibility during the transition to 'getInfo/getInfo2'
btScalar getDampingDirAng()
btScalar getUpperAngLimit()
btScalar m_restitutionLimLin
bool getPoweredAngMotor()
TypedConstraint is the baseclass for Bullet constraints and vehicles.
virtual const char * serialize(void *dataBuffer, btSerializer *serializer) const
fills the dataBuffer and returns the struct name (and 0 on failure)
btVector3 can be used to represent 3D points and vectors.
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