Bullet Collision Detection & Physics Library
Public Member Functions | Protected Attributes | List of all members
btHinge2Constraint Class Reference

#include <btHinge2Constraint.h>

Inheritance diagram for btHinge2Constraint:
Inheritance graph
[legend]
Collaboration diagram for btHinge2Constraint:
Collaboration graph
[legend]

Public Member Functions

 BT_DECLARE_ALIGNED_ALLOCATOR ()
 btHinge2Constraint (btRigidBody &rbA, btRigidBody &rbB, btVector3 &anchor, btVector3 &axis1, btVector3 &axis2)
const btVector3getAnchor ()
const btVector3getAnchor2 ()
const btVector3getAxis1 ()
const btVector3getAxis2 ()
btScalar getAngle1 ()
btScalar getAngle2 ()
void setUpperLimit (btScalar ang1max)
void setLowerLimit (btScalar ang1min)
- Public Member Functions inherited from btGeneric6DofSpringConstraint
 btGeneric6DofSpringConstraint (btRigidBody &rbA, btRigidBody &rbB, const btTransform &frameInA, const btTransform &frameInB, bool useLinearReferenceFrameA)
 btGeneric6DofSpringConstraint (btRigidBody &rbB, const btTransform &frameInB, bool useLinearReferenceFrameB)
void enableSpring (int index, bool onOff)
void setStiffness (int index, btScalar stiffness)
void setDamping (int index, btScalar damping)
void setEquilibriumPoint ()
void setEquilibriumPoint (int index)
void setEquilibriumPoint (int index, btScalar val)
virtual void setAxis (const btVector3 &axis1, const btVector3 &axis2)
virtual void getInfo2 (btConstraintInfo2 *info)
 internal method used by the constraint solver, don't use them directly
virtual int calculateSerializeBufferSize () const
virtual const char * serialize (void *dataBuffer, btSerializer *serializer) const
 fills the dataBuffer and returns the struct name (and 0 on failure)
- Public Member Functions inherited from btGeneric6DofConstraint
 btGeneric6DofConstraint (btRigidBody &rbA, btRigidBody &rbB, const btTransform &frameInA, const btTransform &frameInB, bool useLinearReferenceFrameA)
 btGeneric6DofConstraint (btRigidBody &rbB, const btTransform &frameInB, bool useLinearReferenceFrameB)
void calculateTransforms (const btTransform &transA, const btTransform &transB)
 Calcs global transform of the offsets.
void calculateTransforms ()
const btTransformgetCalculatedTransformA () const
 Gets the global transform of the offset for body A.
const btTransformgetCalculatedTransformB () const
 Gets the global transform of the offset for body B.
const btTransformgetFrameOffsetA () const
const btTransformgetFrameOffsetB () const
btTransformgetFrameOffsetA ()
btTransformgetFrameOffsetB ()
virtual void buildJacobian ()
 performs Jacobian calculation, and also calculates angle differences and axis
virtual void getInfo1 (btConstraintInfo1 *info)
 internal method used by the constraint solver, don't use them directly
void getInfo1NonVirtual (btConstraintInfo1 *info)
void getInfo2NonVirtual (btConstraintInfo2 *info, const btTransform &transA, const btTransform &transB, const btVector3 &linVelA, const btVector3 &linVelB, const btVector3 &angVelA, const btVector3 &angVelB)
void updateRHS (btScalar timeStep)
btVector3 getAxis (int axis_index) const
 Get the rotation axis in global coordinates.
btScalar getAngle (int axis_index) const
 Get the relative Euler angle.
btScalar getRelativePivotPosition (int axis_index) const
 Get the relative position of the constraint pivot.
void setFrames (const btTransform &frameA, const btTransform &frameB)
bool testAngularLimitMotor (int axis_index)
 Test angular limit.
void setLinearLowerLimit (const btVector3 &linearLower)
void getLinearLowerLimit (btVector3 &linearLower)
void setLinearUpperLimit (const btVector3 &linearUpper)
void getLinearUpperLimit (btVector3 &linearUpper)
void setAngularLowerLimit (const btVector3 &angularLower)
void getAngularLowerLimit (btVector3 &angularLower)
void setAngularUpperLimit (const btVector3 &angularUpper)
void getAngularUpperLimit (btVector3 &angularUpper)
btRotationalLimitMotorgetRotationalLimitMotor (int index)
 Retrieves the angular limit informacion.
btTranslationalLimitMotorgetTranslationalLimitMotor ()
 Retrieves the limit informacion.
void setLimit (int axis, btScalar lo, btScalar hi)
bool isLimited (int limitIndex)
 Test limit.
virtual void calcAnchorPos (void)
int get_limit_motor_info2 (btRotationalLimitMotor *limot, const btTransform &transA, const btTransform &transB, const btVector3 &linVelA, const btVector3 &linVelB, const btVector3 &angVelA, const btVector3 &angVelB, btConstraintInfo2 *info, int row, btVector3 &ax1, int rotational, int rotAllowed=false)
bool getUseFrameOffset ()
void setUseFrameOffset (bool frameOffsetOnOff)
virtual void setParam (int num, btScalar value, int axis=-1)
 override the default global value of a parameter (such as ERP or CFM), optionally provide the axis (0..5).
virtual btScalar getParam (int num, int axis=-1) const
 return the local value of parameter
- Public Member Functions inherited from btTypedConstraint
virtual ~btTypedConstraint ()
 btTypedConstraint (btTypedConstraintType type, btRigidBody &rbA)
 btTypedConstraint (btTypedConstraintType type, btRigidBody &rbA, btRigidBody &rbB)
int getOverrideNumSolverIterations () const
void setOverrideNumSolverIterations (int overideNumIterations)
 override the number of constraint solver iterations used to solve this constraint -1 will use the default number of iterations, as specified in SolverInfo.m_numIterations
virtual void setupSolverConstraint (btConstraintArray &ca, int solverBodyA, int solverBodyB, btScalar timeStep)
 internal method used by the constraint solver, don't use them directly
void internalSetAppliedImpulse (btScalar appliedImpulse)
 internal method used by the constraint solver, don't use them directly
btScalar internalGetAppliedImpulse ()
 internal method used by the constraint solver, don't use them directly
btScalar getBreakingImpulseThreshold () const
void setBreakingImpulseThreshold (btScalar threshold)
bool isEnabled () const
void setEnabled (bool enabled)
virtual void solveConstraintObsolete (btSolverBody &, btSolverBody &, btScalar)
 internal method used by the constraint solver, don't use them directly
const btRigidBodygetRigidBodyA () const
const btRigidBodygetRigidBodyB () const
btRigidBodygetRigidBodyA ()
btRigidBodygetRigidBodyB ()
int getUserConstraintType () const
void setUserConstraintType (int userConstraintType)
void setUserConstraintId (int uid)
int getUserConstraintId () const
void setUserConstraintPtr (void *ptr)
void * getUserConstraintPtr ()
void setJointFeedback (btJointFeedback *jointFeedback)
const btJointFeedbackgetJointFeedback () const
btJointFeedbackgetJointFeedback ()
int getUid () const
bool needsFeedback () const
void enableFeedback (bool needsFeedback)
 enableFeedback will allow to read the applied linear and angular impulse use getAppliedImpulse, getAppliedLinearImpulse and getAppliedAngularImpulse to read feedback information
btScalar getAppliedImpulse () const
 getAppliedImpulse is an estimated total applied impulse.
btTypedConstraintType getConstraintType () const
void setDbgDrawSize (btScalar dbgDrawSize)
btScalar getDbgDrawSize ()
- Public Member Functions inherited from btTypedObject
 btTypedObject (int objectType)
int getObjectType () const

Protected Attributes

btVector3 m_anchor
btVector3 m_axis1
btVector3 m_axis2
- Protected Attributes inherited from btGeneric6DofSpringConstraint
bool m_springEnabled [6]
btScalar m_equilibriumPoint [6]
btScalar m_springStiffness [6]
btScalar m_springDamping [6]
- Protected Attributes inherited from btGeneric6DofConstraint
btTransform m_frameInA
 relative_frames
btTransform m_frameInB
 the constraint space w.r.t body B
btJacobianEntry m_jacLinear [3]
 Jacobians.
btJacobianEntry m_jacAng [3]
 3 orthogonal angular constraints
btTranslationalLimitMotor m_linearLimits
 Linear_Limit_parameters.
btRotationalLimitMotor m_angularLimits [3]
 hinge_parameters
btScalar m_timeStep
 temporal variables
btTransform m_calculatedTransformA
btTransform m_calculatedTransformB
btVector3 m_calculatedAxisAngleDiff
btVector3 m_calculatedAxis [3]
btVector3 m_calculatedLinearDiff
btScalar m_factA
btScalar m_factB
bool m_hasStaticBody
btVector3 m_AnchorPos
bool m_useLinearReferenceFrameA
bool m_useOffsetForConstraintFrame
int m_flags
- Protected Attributes inherited from btTypedConstraint
btRigidBodym_rbA
btRigidBodym_rbB
btScalar m_appliedImpulse
btScalar m_dbgDrawSize
btJointFeedbackm_jointFeedback

Additional Inherited Members

- Static Public Member Functions inherited from btTypedConstraint
static btRigidBodygetFixedBody ()
- Public Attributes inherited from btGeneric6DofConstraint
bool m_useSolveConstraintObsolete
 for backwards compatibility during the transition to 'getInfo/getInfo2'
- Protected Member Functions inherited from btGeneric6DofSpringConstraint
void init ()
void internalUpdateSprings (btConstraintInfo2 *info)

Detailed Description

Definition at line 32 of file btHinge2Constraint.h.

Constructor & Destructor Documentation

btHinge2Constraint::btHinge2Constraint ( btRigidBody rbA,
btRigidBody rbB,
btVector3 anchor,
btVector3 axis1,
btVector3 axis2 
)

Definition at line 27 of file btHinge2Constraint.cpp.

Member Function Documentation

btHinge2Constraint::BT_DECLARE_ALIGNED_ALLOCATOR ( )

Reimplemented from btGeneric6DofSpringConstraint.

const btVector3& btHinge2Constraint::getAnchor ( )
inline

Definition at line 46 of file btHinge2Constraint.h.

const btVector3& btHinge2Constraint::getAnchor2 ( )
inline

Definition at line 47 of file btHinge2Constraint.h.

btScalar btHinge2Constraint::getAngle1 ( )
inline

Definition at line 50 of file btHinge2Constraint.h.

btScalar btHinge2Constraint::getAngle2 ( )
inline

Definition at line 51 of file btHinge2Constraint.h.

const btVector3& btHinge2Constraint::getAxis1 ( )
inline

Definition at line 48 of file btHinge2Constraint.h.

const btVector3& btHinge2Constraint::getAxis2 ( )
inline

Definition at line 49 of file btHinge2Constraint.h.

void btHinge2Constraint::setLowerLimit ( btScalar  ang1min)
inline

Definition at line 54 of file btHinge2Constraint.h.

void btHinge2Constraint::setUpperLimit ( btScalar  ang1max)
inline

Definition at line 53 of file btHinge2Constraint.h.

Member Data Documentation

btVector3 btHinge2Constraint::m_anchor
protected

Definition at line 35 of file btHinge2Constraint.h.

btVector3 btHinge2Constraint::m_axis1
protected

Definition at line 36 of file btHinge2Constraint.h.

btVector3 btHinge2Constraint::m_axis2
protected

Definition at line 37 of file btHinge2Constraint.h.


The documentation for this class was generated from the following files: