Blender V5.0
btSolverBody.h File Reference

Go to the source code of this file.

Macros

#define btSimdScalar   btScalar
 Until we get other contributions, only use SIMD on Windows, when using Visual Studio 2008 or later, and not double precision.

Functions

void setWorldTransform (const btTransform &worldTransform)
const btTransformgetWorldTransform () const
SIMD_FORCE_INLINE void getVelocityInLocalPointNoDelta (const btVector3 &rel_pos, btVector3 &velocity) const
SIMD_FORCE_INLINE void getVelocityInLocalPointObsolete (const btVector3 &rel_pos, btVector3 &velocity) const
SIMD_FORCE_INLINE void getAngularVelocity (btVector3 &angVel) const
SIMD_FORCE_INLINE void applyImpulse (const btVector3 &linearComponent, const btVector3 &angularComponent, const btScalar impulseMagnitude)
SIMD_FORCE_INLINE void internalApplyPushImpulse (const btVector3 &linearComponent, const btVector3 &angularComponent, btScalar impulseMagnitude)
const btVector3getDeltaLinearVelocity () const
const btVector3getDeltaAngularVelocity () const
const btVector3getPushVelocity () const
const btVector3getTurnVelocity () const
btVector3internalGetDeltaLinearVelocity ()
 some internal methods, don't use them
btVector3internalGetDeltaAngularVelocity ()
const btVector3internalGetAngularFactor () const
const btVector3internalGetInvMass () const
void internalSetInvMass (const btVector3 &invMass)
btVector3internalGetPushVelocity ()
btVector3internalGetTurnVelocity ()
SIMD_FORCE_INLINE void internalGetVelocityInLocalPointObsolete (const btVector3 &rel_pos, btVector3 &velocity) const
SIMD_FORCE_INLINE void internalGetAngularVelocity (btVector3 &angVel) const
SIMD_FORCE_INLINE void internalApplyImpulse (const btVector3 &linearComponent, const btVector3 &angularComponent, const btScalar impulseMagnitude)
void writebackVelocity ()
void writebackVelocityAndTransform (btScalar timeStep, btScalar splitImpulseTurnErp)

Variables

 btSolverBody
 The btSolverBody is an internal datastructure for the constraint solver. Only necessary data is packed to increase cache coherence/performance.
btTransform m_worldTransform
btVector3 m_deltaLinearVelocity
btVector3 m_deltaAngularVelocity
btVector3 m_angularFactor
btVector3 m_linearFactor
btVector3 m_invMass
btVector3 m_pushVelocity
btVector3 m_turnVelocity
btVector3 m_linearVelocity
btVector3 m_angularVelocity
btVector3 m_externalForceImpulse
btVector3 m_externalTorqueImpulse
btRigidBodym_originalBody

Macro Definition Documentation

◆ btSimdScalar

#define btSimdScalar   btScalar

Until we get other contributions, only use SIMD on Windows, when using Visual Studio 2008 or later, and not double precision.

Definition at line 99 of file btSolverBody.h.

Referenced by gResolveSplitPenetrationImpulse_sse2(), and setupTorsionalFrictionConstraint().

Function Documentation

◆ applyImpulse()

SIMD_FORCE_INLINE void applyImpulse ( const btVector3 & linearComponent,
const btVector3 & angularComponent,
const btScalar impulseMagnitude )

◆ getAngularVelocity()

SIMD_FORCE_INLINE void getAngularVelocity ( btVector3 & angVel) const

◆ getDeltaAngularVelocity()

const btVector3 & getDeltaAngularVelocity ( ) const

Definition at line 179 of file btSolverBody.h.

References btVector3, and m_deltaAngularVelocity.

◆ getDeltaLinearVelocity()

const btVector3 & getDeltaLinearVelocity ( ) const

Definition at line 174 of file btSolverBody.h.

References btVector3, and m_deltaLinearVelocity.

◆ getPushVelocity()

const btVector3 & getPushVelocity ( ) const

Definition at line 184 of file btSolverBody.h.

References btVector3, and m_pushVelocity.

◆ getTurnVelocity()

const btVector3 & getTurnVelocity ( ) const

Definition at line 189 of file btSolverBody.h.

References btVector3, and m_turnVelocity.

◆ getVelocityInLocalPointNoDelta()

SIMD_FORCE_INLINE void getVelocityInLocalPointNoDelta ( const btVector3 & rel_pos,
btVector3 & velocity ) const

◆ getVelocityInLocalPointObsolete()

SIMD_FORCE_INLINE void getVelocityInLocalPointObsolete ( const btVector3 & rel_pos,
btVector3 & velocity ) const

◆ getWorldTransform()

const btTransform & getWorldTransform ( ) const

Definition at line 126 of file btSolverBody.h.

References btTransform, and m_worldTransform.

◆ internalApplyImpulse()

SIMD_FORCE_INLINE void internalApplyImpulse ( const btVector3 & linearComponent,
const btVector3 & angularComponent,
const btScalar impulseMagnitude )

◆ internalApplyPushImpulse()

SIMD_FORCE_INLINE void internalApplyPushImpulse ( const btVector3 & linearComponent,
const btVector3 & angularComponent,
btScalar impulseMagnitude )

◆ internalGetAngularFactor()

const btVector3 & internalGetAngularFactor ( ) const

Definition at line 207 of file btSolverBody.h.

References btVector3, and m_angularFactor.

◆ internalGetAngularVelocity()

SIMD_FORCE_INLINE void internalGetAngularVelocity ( btVector3 & angVel) const

◆ internalGetDeltaAngularVelocity()

btVector3 & internalGetDeltaAngularVelocity ( )

Definition at line 202 of file btSolverBody.h.

References btVector3, and m_deltaAngularVelocity.

◆ internalGetDeltaLinearVelocity()

btVector3 & internalGetDeltaLinearVelocity ( )

some internal methods, don't use them

Definition at line 197 of file btSolverBody.h.

References btVector3, and m_deltaLinearVelocity.

◆ internalGetInvMass()

const btVector3 & internalGetInvMass ( ) const

Definition at line 212 of file btSolverBody.h.

References btVector3, and m_invMass.

◆ internalGetPushVelocity()

btVector3 & internalGetPushVelocity ( )

Definition at line 222 of file btSolverBody.h.

References btVector3, and m_pushVelocity.

◆ internalGetTurnVelocity()

btVector3 & internalGetTurnVelocity ( )

Definition at line 227 of file btSolverBody.h.

References btVector3, and m_turnVelocity.

◆ internalGetVelocityInLocalPointObsolete()

SIMD_FORCE_INLINE void internalGetVelocityInLocalPointObsolete ( const btVector3 & rel_pos,
btVector3 & velocity ) const

◆ internalSetInvMass()

void internalSetInvMass ( const btVector3 & invMass)

Definition at line 217 of file btSolverBody.h.

References btVector3, and m_invMass.

◆ setWorldTransform()

void setWorldTransform ( const btTransform & worldTransform)

Definition at line 121 of file btSolverBody.h.

References btTransform, and m_worldTransform.

◆ writebackVelocity()

void writebackVelocity ( )

◆ writebackVelocityAndTransform()

Variable Documentation

◆ btSolverBody

btSolverBody
Initial value:
{
#define BT_DECLARE_ALIGNED_ALLOCATOR()
Definition btScalar.h:425

The btSolverBody is an internal datastructure for the constraint solver. Only necessary data is packed to increase cache coherence/performance.

Definition at line 104 of file btSolverBody.h.

Referenced by computeConstraintMatrixDiagElementMultiBody(), computeConstraintMatrixOffDiagElementMultiBody(), convertBodies(), convertContact(), convertJoint(), btMLCPSolver::createMLCP(), fillMultiBodyConstraint(), getInfo2(), getOrInitSolverBody(), getOrInitSolverBodyThreadsafe(), gResolveSingleConstraintRowGeneric_scalar_reference(), gResolveSingleConstraintRowLowerLimit_scalar_reference(), gResolveSplitPenetrationImpulse_scalar_reference(), gResolveSplitPenetrationImpulse_sse2(), initBatchedBodyDynamicFlags(), initSolverBody(), internalCollectContactManifoldCachedInfo(), internalConvertBodies(), internalSetupContactConstraints(), resolveConeFrictionConstraintRows(), resolveMultipleContactConstraints(), resolveMultipleContactConstraintsInterleaved(), resolveMultipleContactFrictionConstraints(), resolveMultipleContactSplitPenetrationImpulseConstraints(), resolveMultipleJointConstraints(), resolveSingleConstraintRowGeneric(), resolveSingleConstraintRowGeneric(), resolveSingleConstraintRowGenericSIMD(), resolveSingleConstraintRowLowerLimit(), resolveSingleConstraintRowLowerLimitSIMD(), resolveSplitPenetrationImpulse(), resolveSplitPenetrationImpulseCacheFriendly(), resolveSplitPenetrationSIMD(), setupContactConstraint(), setupFrictionConstraint(), setupMultiBodyContactConstraint(), setupMultiBodyTorsionalFrictionConstraint(), setupSpatialGridBatchesMt(), setupTorsionalFrictionConstraint(), solveConstraintObsolete(), solveConstraintObsolete(), btMLCPSolver::solveGroupCacheFriendlyIterations(), btMultiBodyMLCPConstraintSolver::solveGroupCacheFriendlyIterations(), solveSingleIteration(), btBatchedConstraints::validate(), and writeToSolverBody().

◆ m_angularFactor

◆ m_angularVelocity

◆ m_deltaAngularVelocity

◆ m_deltaLinearVelocity

◆ m_externalForceImpulse

btVector3 m_externalForceImpulse

Definition at line 117 of file btSolverBody.h.

Referenced by getVelocityInLocalPointNoDelta(), and writeBackBodies().

◆ m_externalTorqueImpulse

btVector3 m_externalTorqueImpulse

Definition at line 118 of file btSolverBody.h.

Referenced by getVelocityInLocalPointNoDelta(), and writeBackBodies().

◆ m_invMass

◆ m_linearFactor

btVector3 m_linearFactor

Definition at line 111 of file btSolverBody.h.

Referenced by applyImpulse(), internalApplyImpulse(), and internalApplyPushImpulse().

◆ m_linearVelocity

◆ m_originalBody

◆ m_pushVelocity

◆ m_turnVelocity

◆ m_worldTransform