25 #ifndef BT_SLIDER_CONSTRAINT_H
26 #define BT_SLIDER_CONSTRAINT_H
28 #ifdef BT_USE_DOUBLE_PRECISION
29 #define btSliderConstraintData2 btSliderConstraintDoubleData
30 #define btSliderConstraintDataName "btSliderConstraintDoubleData"
32 #define btSliderConstraintData2 btSliderConstraintData
33 #define btSliderConstraintDataName "btSliderConstraintData"
34 #endif //BT_USE_DOUBLE_PRECISION
46 #define SLIDER_CONSTRAINT_DEF_SOFTNESS (btScalar(1.0))
47 #define SLIDER_CONSTRAINT_DEF_DAMPING (btScalar(1.0))
48 #define SLIDER_CONSTRAINT_DEF_RESTITUTION (btScalar(0.7))
49 #define SLIDER_CONSTRAINT_DEF_CFM (btScalar(0.f))
260 void testLinLimits();
261 void testAngLimits();
267 void setUseFrameOffset(
bool frameOffsetOnOff) { m_useOffsetForConstraintFrame = frameOffsetOnOff; }
273 calculateTransforms(m_rbA.getCenterOfMassTransform(),m_rbB.getCenterOfMassTransform());
280 virtual void setParam(
int num,
btScalar value,
int axis = -1);
282 virtual btScalar getParam(
int num,
int axis = -1)
const;
360 #endif //BT_SLIDER_CONSTRAINT_H
void setMaxLinMotorForce(btScalar maxLinMotorForce)
double m_angularUpperLimit
void setDampingDirLin(btScalar dampingDirLin)
btScalar m_dampingOrthoAng
const btRigidBody & getRigidBodyB() const
void setUpperLinLimit(btScalar upperLimit)
void setRestitutionOrthoLin(btScalar restitutionOrthoLin)
btScalar getMaxAngMotorForce()
const btTransform & getCalculatedTransformA() const
double m_angularLowerLimit
const btTransform & getCalculatedTransformB() const
void setFrames(const btTransform &frameA, const btTransform &frameB)
void setLowerLinLimit(btScalar lowerLimit)
btTypedConstraintData m_typeConstraintData
btScalar getRestitutionDirAng()
void setRestitutionLimAng(btScalar restitutionLimAng)
btScalar m_dampingOrthoLin
Jacobian entry is an abstraction that allows to describe constraints it can be used in combination wi...
void setLowerAngLimit(btScalar lowerLimit)
void setDampingLimAng(btScalar dampingLimAng)
const btTransform & getFrameOffsetA() const
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64 ...
btScalar m_restitutionOrthoAng
btScalar getRestitutionLimAng()
btScalar m_accumulatedAngMotorImpulse
void setSoftnessLimLin(btScalar softnessLimLin)
btScalar m_accumulatedLinMotorImpulse
void setPoweredAngMotor(bool onOff)
btScalar getLowerLinLimit()
#define SIMD_FORCE_INLINE
btTransform m_calculatedTransformB
void setRestitutionLimLin(btScalar restitutionLimLin)
bool getPoweredLinMotor()
void setUseFrameOffset(bool frameOffsetOnOff)
btScalar getLinearPos() const
btScalar m_targetLinMotorVelocity
void setTargetAngMotorVelocity(btScalar targetAngMotorVelocity)
void setRestitutionDirLin(btScalar restitutionDirLin)
double m_linearLowerLimit
btScalar getAngularPos() const
btTransformFloatData m_rbBFrame
bool getPoweredAngMotor()
btScalar getDampingDirLin()
float m_angularUpperLimit
btScalar getDampingOrthoLin()
void setPoweredLinMotor(bool onOff)
void setDampingLimLin(btScalar dampingLimLin)
btScalar getMaxLinMotorForce()
virtual int calculateSerializeBufferSize() const
void setDampingDirAng(btScalar dampingDirAng)
void setSoftnessDirAng(btScalar softnessDirAng)
void setSoftnessOrthoAng(btScalar softnessOrthoAng)
void setTargetLinMotorVelocity(btScalar targetLinMotorVelocity)
btScalar m_restitutionLimLin
btScalar getUpperAngLimit()
btScalar m_softnessLimLin
int m_useLinearReferenceFrameA
void setSoftnessLimAng(btScalar softnessLimAng)
int m_useOffsetForConstraintFrame
btScalar m_restitutionLimAng
void setDampingOrthoLin(btScalar dampingOrthoLin)
btScalar m_restitutionDirAng
#define btSliderConstraintData2
btScalar getDampingLimAng()
btScalar m_softnessDirLin
void setUpperAngLimit(btScalar upperLimit)
btScalar getRestitutionDirLin()
const btRigidBody & getRigidBodyA() const
btScalar getSoftnessDirAng()
The btRigidBody is the main class for rigid body objects.
double m_linearUpperLimit
int m_useLinearReferenceFrameA
btScalar getSoftnessDirLin()
btVector3 m_realPivotBInW
btScalar m_softnessOrthoLin
virtual const char * serialize(void *dataBuffer, btSerializer *serializer) const
fills the dataBuffer and returns the struct name (and 0 on failure)
this structure is not used, except for loading pre-2.82 .bullet files
virtual int calculateSerializeBufferSize() const
btScalar m_targetAngMotorVelocity
bool m_useOffsetForConstraintFrame
btScalar getUpperLinLimit()
btScalar getTargetLinMotorVelocity()
void setSoftnessOrthoLin(btScalar softnessOrthoLin)
const btTransform & getFrameOffsetB() const
btVector3 can be used to represent 3D points and vectors.
#define ATTRIBUTE_ALIGNED16(a)
btScalar getRestitutionOrthoAng()
btScalar getSoftnessOrthoLin()
btScalar btNormalizeAngle(btScalar angleInRadians)
bool getUseLinearReferenceFrameA()
void setDampingOrthoAng(btScalar dampingOrthoAng)
#define btSliderConstraintDataName
bool m_useLinearReferenceFrameA
btScalar getTargetAngMotorVelocity()
btTransform m_calculatedTransformA
TypedConstraint is the baseclass for Bullet constraints and vehicles.
void setRestitutionDirAng(btScalar restitutionDirAng)
btTransformFloatData m_rbAFrame
btScalar getSoftnessLimLin()
btScalar getDampingOrthoAng()
void setSoftnessDirLin(btScalar softnessDirLin)
btVector3 m_realPivotAInW
btScalar m_softnessDirAng
#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)
btTypedConstraintDoubleData m_typeConstraintData
bool m_useSolveConstraintObsolete
for backwards compatibility during the transition to 'getInfo/getInfo2'
btScalar m_maxLinMotorForce
btTransformDoubleData m_rbBFrame
btScalar getLowerAngLimit()
void setMaxAngMotorForce(btScalar maxAngMotorForce)
void setRestitutionOrthoAng(btScalar restitutionOrthoAng)
btScalar getRestitutionOrthoLin()
btScalar getSoftnessOrthoAng()
btScalar m_restitutionDirLin
btScalar m_maxAngMotorForce
btTransformDoubleData m_rbAFrame
btScalar m_softnessLimAng
btTransform & getFrameOffsetB()
btScalar getDampingLimLin()
btScalar m_restitutionOrthoLin
btScalar m_softnessOrthoAng
btScalar getRestitutionLimLin()
float m_angularLowerLimit
btScalar getSoftnessLimAng()
btTransform & getFrameOffsetA()
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
int m_useOffsetForConstraintFrame
btScalar getDampingDirAng()