|
Blender V4.3
|
#include "LinearMath/btScalar.h"#include "LinearMath/btVector3.h"#include "LinearMath/btQuaternion.h"#include "LinearMath/btMatrix3x3.h"#include "LinearMath/btAlignedObjectArray.h"#include "btMultiBodyLink.h"Go to the source code of this file.
Macros | |
| #define | btMultiBodyData btMultiBodyFloatData |
| serialization data, don't change them if you are not familiar with the details of the serialization mechanisms | |
| #define | btMultiBodyDataName "btMultiBodyFloatData" |
| #define | btMultiBodyLinkData btMultiBodyLinkFloatData |
| #define | btMultiBodyLinkDataName "btMultiBodyLinkFloatData" |
Functions | |
| btMultiBody (int n_links, btScalar mass, const btVector3 &inertia, bool fixedBase, bool canSleep, bool deprecatedMultiDof=true) | |
| virtual | ~btMultiBody () |
| void | setupFixed (int i, btScalar mass, const btVector3 &inertia, int parent, const btQuaternion &rotParentToThis, const btVector3 &parentComToThisPivotOffset, const btVector3 &thisPivotToThisComOffset, bool deprecatedDisableParentCollision=true) |
| void | setupPrismatic (int i, btScalar mass, const btVector3 &inertia, int parent, const btQuaternion &rotParentToThis, const btVector3 &jointAxis, const btVector3 &parentComToThisPivotOffset, const btVector3 &thisPivotToThisComOffset, bool disableParentCollision) |
| void | setupRevolute (int i, btScalar mass, const btVector3 &inertia, int parentIndex, const btQuaternion &rotParentToThis, const btVector3 &jointAxis, const btVector3 &parentComToThisPivotOffset, const btVector3 &thisPivotToThisComOffset, bool disableParentCollision=false) |
| void | setupSpherical (int i, btScalar mass, const btVector3 &inertia, int parent, const btQuaternion &rotParentToThis, const btVector3 &parentComToThisPivotOffset, const btVector3 &thisPivotToThisComOffset, bool disableParentCollision=false) |
| void | setupPlanar (int i, btScalar mass, const btVector3 &inertia, int parent, const btQuaternion &rotParentToThis, const btVector3 &rotationAxis, const btVector3 &parentComToThisComOffset, bool disableParentCollision=false) |
| const btMultibodyLink & | getLink (int index) const |
| void | setBaseCollider (btMultiBodyLinkCollider *collider) |
| const btMultiBodyLinkCollider * | getBaseCollider () const |
| const btMultiBodyLinkCollider * | getLinkCollider (int index) const |
| int | getParent (int link_num) const |
| int | getNumLinks () const |
| int | getNumDofs () const |
| int | getNumPosVars () const |
| btScalar | getBaseMass () const |
| const btVector3 & | getBaseInertia () const |
| btScalar | getLinkMass (int i) const |
| const btVector3 & | getLinkInertia (int i) const |
| void | setBaseMass (btScalar mass) |
| void | setBaseInertia (const btVector3 &inertia) |
| const btVector3 & | getBasePos () const |
| const btVector3 | getBaseVel () const |
| const btQuaternion & | getWorldToBaseRot () const |
| const btVector3 & | getInterpolateBasePos () const |
| const btQuaternion & | getInterpolateWorldToBaseRot () const |
| btVector3 | getBaseOmega () const |
| void | setBasePos (const btVector3 &pos) |
| void | setBaseWorldTransform (const btTransform &tr) |
| btTransform | getBaseWorldTransform () const |
| void | setBaseVel (const btVector3 &vel) |
| void | setWorldToBaseRot (const btQuaternion &rot) |
| void | setBaseOmega (const btVector3 &omega) |
| btScalar | getJointPos (int i) const |
| btScalar | getJointVel (int i) const |
| btScalar * | getJointVelMultiDof (int i) |
| btScalar * | getJointPosMultiDof (int i) |
| void | setJointPos (int i, btScalar q) |
| void | setJointVel (int i, btScalar qdot) |
| void | setJointPosMultiDof (int i, const double *q) |
| void | setJointVelMultiDof (int i, const double *qdot) |
| void | setJointPosMultiDof (int i, const float *q) |
| void | setJointVelMultiDof (int i, const float *qdot) |
| const btScalar * | getVelocityVector () const |
| const btScalar * | getDeltaVelocityVector () const |
| const btScalar * | getSplitVelocityVector () const |
| const btVector3 & | getRVector (int i) const |
| const btQuaternion & | getParentToLocalRot (int i) const |
| const btVector3 & | getInterpolateRVector (int i) const |
| const btQuaternion & | getInterpolateParentToLocalRot (int i) const |
| btVector3 | localPosToWorld (int i, const btVector3 &local_pos) const |
| btVector3 | localDirToWorld (int i, const btVector3 &local_dir) const |
| btVector3 | worldPosToLocal (int i, const btVector3 &world_pos) const |
| btVector3 | worldDirToLocal (int i, const btVector3 &world_dir) const |
| btMatrix3x3 | localFrameToWorld (int i, const btMatrix3x3 &local_frame) const |
| void | clearForcesAndTorques () |
| void | clearConstraintForces () |
| void | clearVelocities () |
| void | addBaseForce (const btVector3 &f) |
| void | addBaseTorque (const btVector3 &t) |
| void | addLinkForce (int i, const btVector3 &f) |
| void | addLinkTorque (int i, const btVector3 &t) |
| void | addBaseConstraintForce (const btVector3 &f) |
| void | addBaseConstraintTorque (const btVector3 &t) |
| void | addLinkConstraintForce (int i, const btVector3 &f) |
| void | addLinkConstraintTorque (int i, const btVector3 &t) |
| void | addJointTorque (int i, btScalar Q) |
| void | addJointTorqueMultiDof (int i, int dof, btScalar Q) |
| void | addJointTorqueMultiDof (int i, const btScalar *Q) |
| const btVector3 & | getBaseForce () const |
| const btVector3 & | getBaseTorque () const |
| const btVector3 & | getLinkForce (int i) const |
| const btVector3 & | getLinkTorque (int i) const |
| btScalar | getJointTorque (int i) const |
| btScalar * | getJointTorqueMultiDof (int i) |
| void | computeAccelerationsArticulatedBodyAlgorithmMultiDof (btScalar dt, btAlignedObjectArray< btScalar > &scratch_r, btAlignedObjectArray< btVector3 > &scratch_v, btAlignedObjectArray< btMatrix3x3 > &scratch_m, bool isConstraintPass, bool jointFeedbackInWorldSpace, bool jointFeedbackInJointFrame) |
| void | calcAccelerationDeltasMultiDof (const btScalar *force, btScalar *output, btAlignedObjectArray< btScalar > &scratch_r, btAlignedObjectArray< btVector3 > &scratch_v) const |
| stepVelocitiesMultiDof is deprecated, use computeAccelerationsArticulatedBodyAlgorithmMultiDof instead | |
| void | applyDeltaVeeMultiDof2 (const btScalar *delta_vee, btScalar multiplier) |
| void | applyDeltaSplitVeeMultiDof (const btScalar *delta_vee, btScalar multiplier) |
| void | addSplitV () |
| void | substractSplitV () |
| void | processDeltaVeeMultiDof2 () |
| void | applyDeltaVeeMultiDof (const btScalar *delta_vee, btScalar multiplier) |
| void | stepPositionsMultiDof (btScalar dt, btScalar *pq=0, btScalar *pqd=0) |
| void | predictPositionsMultiDof (btScalar dt) |
| void | fillContactJacobianMultiDof (int link, const btVector3 &contact_point, const btVector3 &normal, btScalar *jac, btAlignedObjectArray< btScalar > &scratch_r, btAlignedObjectArray< btVector3 > &scratch_v, btAlignedObjectArray< btMatrix3x3 > &scratch_m) const |
| void | fillConstraintJacobianMultiDof (int link, const btVector3 &contact_point, const btVector3 &normal_ang, const btVector3 &normal_lin, btScalar *jac, btAlignedObjectArray< btScalar > &scratch_r, btAlignedObjectArray< btVector3 > &scratch_v, btAlignedObjectArray< btMatrix3x3 > &scratch_m) const |
| void | setCanSleep (bool canSleep) |
| bool | getCanSleep () const |
| bool | getCanWakeup () const |
| void | setCanWakeup (bool canWakeup) |
| bool | isAwake () const |
| void | wakeUp () |
| void | goToSleep () |
| void | checkMotionAndSleepIfRequired (btScalar timestep) |
| bool | hasFixedBase () const |
| void | setFixedBase (bool fixedBase) |
| int | getCompanionId () const |
| void | setCompanionId (int id) |
| void | setNumLinks (int numLinks) |
| btScalar | getLinearDamping () const |
| void | setLinearDamping (btScalar damp) |
| btScalar | getAngularDamping () const |
| void | setAngularDamping (btScalar damp) |
| bool | getUseGyroTerm () const |
| void | setUseGyroTerm (bool useGyro) |
| btScalar | getMaxCoordinateVelocity () const |
| void | setMaxCoordinateVelocity (btScalar maxVel) |
| btScalar | getMaxAppliedImpulse () const |
| void | setMaxAppliedImpulse (btScalar maxImp) |
| void | setHasSelfCollision (bool hasSelfCollision) |
| bool | hasSelfCollision () const |
| void | finalizeMultiDof () |
| void | useRK4Integration (bool use) |
| bool | isUsingRK4Integration () const |
| void | useGlobalVelocities (bool use) |
| bool | isUsingGlobalVelocities () const |
| bool | isPosUpdated () const |
| void | setPosUpdated (bool updated) |
| bool | internalNeedsJointFeedback () const |
| void | forwardKinematics (btAlignedObjectArray< btQuaternion > &world_to_local, btAlignedObjectArray< btVector3 > &local_origin) |
| void | compTreeLinkVelocities (btVector3 *omega, btVector3 *vel) const |
| void | updateCollisionObjectWorldTransforms (btAlignedObjectArray< btQuaternion > &world_to_local, btAlignedObjectArray< btVector3 > &local_origin) |
| void | updateCollisionObjectInterpolationWorldTransforms (btAlignedObjectArray< btQuaternion > &world_to_local, btAlignedObjectArray< btVector3 > &local_origin) |
| virtual int | calculateSerializeBufferSize () const |
| virtual const char * | serialize (void *dataBuffer, class btSerializer *serializer) const |
| fills the dataBuffer and returns the struct name (and 0 on failure) | |
| const char * | getBaseName () const |
| void | setBaseName (const char *name) |
| memory of setBaseName needs to be manager by user | |
| void * | getUserPointer () const |
| users can point to their objects, userPointer is not used by Bullet | |
| int | getUserIndex () const |
| int | getUserIndex2 () const |
| void | setUserPointer (void *userPointer) |
| users can point to their objects, userPointer is not used by Bullet | |
| void | setUserIndex (int index) |
| users can point to their objects, userPointer is not used by Bullet | |
| void | setUserIndex2 (int index) |
| static void | spatialTransform (const btMatrix3x3 &rotation_matrix, const btVector3 &displacement, const btVector3 &top_in, const btVector3 &bottom_in, btVector3 &top_out, btVector3 &bottom_out) |
Variables | |
| btMultiBody | |
| #define btMultiBodyData btMultiBodyFloatData |
serialization data, don't change them if you are not familiar with the details of the serialization mechanisms
Definition at line 40 of file btMultiBody.h.
Referenced by btMultiBodyLinkCollider::serialize().
| #define btMultiBodyDataName "btMultiBodyFloatData" |
Definition at line 41 of file btMultiBody.h.
| #define btMultiBodyLinkData btMultiBodyLinkFloatData |
Definition at line 42 of file btMultiBody.h.
| #define btMultiBodyLinkDataName "btMultiBodyLinkFloatData" |
Definition at line 43 of file btMultiBody.h.
| void addBaseConstraintForce | ( | const btVector3 & | f | ) |
Definition at line 333 of file btMultiBody.h.
| void addBaseConstraintTorque | ( | const btVector3 & | t | ) |
Definition at line 337 of file btMultiBody.h.
| void addBaseForce | ( | const btVector3 & | f | ) |
Definition at line 325 of file btMultiBody.h.
| void addBaseTorque | ( | const btVector3 & | t | ) |
Definition at line 329 of file btMultiBody.h.
Definition at line 640 of file btMultiBody.cpp.
Definition at line 650 of file btMultiBody.cpp.
Definition at line 645 of file btMultiBody.cpp.
Definition at line 630 of file btMultiBody.cpp.
Definition at line 635 of file btMultiBody.cpp.
Definition at line 620 of file btMultiBody.cpp.
Definition at line 625 of file btMultiBody.cpp.
| void addSplitV | ( | ) |
Definition at line 412 of file btMultiBody.h.
References applyDeltaVeeMultiDof().
Definition at line 405 of file btMultiBody.h.
References getNumDofs().
Definition at line 435 of file btMultiBody.h.
References btClamp(), and getNumDofs().
Referenced by addSplitV(), computeAccelerationsArticulatedBodyAlgorithmMultiDof(), processDeltaVeeMultiDof2(), and substractSplitV().
Definition at line 398 of file btMultiBody.h.
References getNumDofs().
| btMultiBody | ( | int | n_links, |
| btScalar | mass, | ||
| const btVector3 & | inertia, | ||
| bool | fixedBase, | ||
| bool | canSleep, | ||
| bool | deprecatedMultiDof = true ) |
| void btMultiBody::calcAccelerationDeltasMultiDof | ( | const btScalar * | force, |
| btScalar * | output, | ||
| btAlignedObjectArray< btScalar > & | scratch_r, | ||
| btAlignedObjectArray< btVector3 > & | scratch_v ) const |
stepVelocitiesMultiDof is deprecated, use computeAccelerationsArticulatedBodyAlgorithmMultiDof instead
Definition at line 1394 of file btMultiBody.cpp.
References btMatrix3x3, btSpatialMotionVector::dot(), btSpatialMotionVector::getAngular(), btSpatialMotionVector::getLinear(), getNumLinks(), btSpatialTransformationMatrix::m_rotMat, btSpatialTransformationMatrix::m_trnVec, btAlignedObjectArray< T >::resize(), result, btSpatialForceVector::setZero(), btSpatialMotionVector::setZero(), btSpatialTransformationMatrix::transform(), btSpatialTransformationMatrix::transformInverse(), btSpatialTransformationMatrix::transformRotationOnly(), and Y.
|
virtual |
| void btMultiBody::checkMotionAndSleepIfRequired | ( | btScalar | timestep | ) |
Definition at line 2001 of file btMultiBody.cpp.
References gDisableDeactivation, goToSleep(), and wakeUp().
| void btMultiBody::clearConstraintForces | ( | ) |
Definition at line 589 of file btMultiBody.cpp.
References getNumLinks().
| void btMultiBody::clearForcesAndTorques | ( | ) |
Definition at line 600 of file btMultiBody.cpp.
References getNumLinks().
| void btMultiBody::clearVelocities | ( | ) |
Definition at line 613 of file btMultiBody.cpp.
References getNumDofs().
Definition at line 560 of file btMultiBody.cpp.
References btMatrix3x3, btMultibodyLink::getAxisBottom(), btMultibodyLink::getAxisTop(), getBaseOmega(), getBaseVel(), getJointVelMultiDof(), getLink(), getNumLinks(), getWorldToBaseRot(), btMultibodyLink::m_cachedRotParentToThis, btMultibodyLink::m_cachedRVector, btMultibodyLink::m_dofCount, btMultibodyLink::m_parent, quatRotate(), and spatialTransform().
| void btMultiBody::computeAccelerationsArticulatedBodyAlgorithmMultiDof | ( | btScalar | dt, |
| btAlignedObjectArray< btScalar > & | scratch_r, | ||
| btAlignedObjectArray< btVector3 > & | scratch_v, | ||
| btAlignedObjectArray< btMatrix3x3 > & | scratch_m, | ||
| bool | isConstraintPass, | ||
| bool | jointFeedbackInWorldSpace, | ||
| bool | jointFeedbackInJointFrame ) |
Definition at line 700 of file btMultiBody.cpp.
References btSpatialTransformationMatrix::Add, btSpatialForceVector::addAngular(), btSpatialForceVector::addLinear(), btSpatialForceVector::addVector(), applyDeltaVeeMultiDof(), btMatrix3x3, col, btSpatialMotionVector::cross(), cross(), btSpatialMotionVector::dot(), btMultibodyLink::ePlanar, btMultibodyLink::ePrismatic, btMultibodyLink::eRevolute, btMultibodyLink::eSpherical, btSpatialMotionVector::getAngular(), getBaseOmega(), getBaseVel(), getJointVelMultiDof(), btSpatialMotionVector::getLinear(), getNumLinks(), m_angularDamping, btSymmetricSpatialDyad::m_bottomLeftMat, m_jointFeedback, m_linearDamping, btSpatialTransformationMatrix::m_rotMat, btSymmetricSpatialDyad::m_topLeftMat, btSymmetricSpatialDyad::m_topRightMat, btSpatialTransformationMatrix::m_trnVec, btAlignedObjectArray< T >::resize(), result, safeNorm(), btSymmetricSpatialDyad::setMatrix(), btSpatialForceVector::setVector(), btSpatialMotionVector::setVector(), btSpatialForceVector::setZero(), btSpatialMotionVector::setZero(), SIMD_EPSILON, symmetricSpatialOuterProduct(), btSpatialTransformationMatrix::transform(), btSpatialTransformationMatrix::transformInverse(), btSpatialTransformationMatrix::transformInverseRotationOnly(), btSpatialTransformationMatrix::transformRotationOnly(), and Y.
| void btMultiBody::fillConstraintJacobianMultiDof | ( | int | link, |
| const btVector3 & | contact_point, | ||
| const btVector3 & | normal_ang, | ||
| const btVector3 & | normal_lin, | ||
| btScalar * | jac, | ||
| btAlignedObjectArray< btScalar > & | scratch_r, | ||
| btAlignedObjectArray< btVector3 > & | scratch_v, | ||
| btAlignedObjectArray< btMatrix3x3 > & | scratch_m ) const |
Definition at line 1847 of file btMultiBody.cpp.
References btAssert, btMatrix3x3, cross(), btMultibodyLink::ePlanar, btMultibodyLink::ePrismatic, btMultibodyLink::eRevolute, btMultibodyLink::eSpherical, getNumDofs(), getNumLinks(), l, btAlignedObjectArray< T >::resize(), and btAlignedObjectArray< T >::size().
Referenced by fillContactJacobianMultiDof().
| void fillContactJacobianMultiDof | ( | int | link, |
| const btVector3 & | contact_point, | ||
| const btVector3 & | normal, | ||
| btScalar * | jac, | ||
| btAlignedObjectArray< btScalar > & | scratch_r, | ||
| btAlignedObjectArray< btVector3 > & | scratch_v, | ||
| btAlignedObjectArray< btMatrix3x3 > & | scratch_m ) const |
Definition at line 474 of file btMultiBody.h.
References btVector3, and fillConstraintJacobianMultiDof().
| void finalizeMultiDof | ( | ) |
| void forwardKinematics | ( | btAlignedObjectArray< btQuaternion > & | world_to_local, |
| btAlignedObjectArray< btVector3 > & | local_origin ) |
| btScalar getAngularDamping | ( | ) | const |
Definition at line 556 of file btMultiBody.h.
References m_angularDamping.
| btMultiBodyLinkCollider * getBaseCollider | ( | ) | const |
Definition at line 128 of file btMultiBody.h.
Referenced by updateCollisionObjectInterpolationWorldTransforms(), and updateCollisionObjectWorldTransforms().
| const btVector3 & getBaseForce | ( | ) | const |
Definition at line 345 of file btMultiBody.h.
| const btVector3 & getBaseInertia | ( | ) | const |
Definition at line 170 of file btMultiBody.h.
| btScalar getBaseMass | ( | ) | const |
Definition at line 169 of file btMultiBody.h.
| const char * getBaseName | ( | ) | const |
Definition at line 632 of file btMultiBody.h.
| btVector3 getBaseOmega | ( | ) | const |
Definition at line 208 of file btMultiBody.h.
References btVector3.
Referenced by compTreeLinkVelocities(), and computeAccelerationsArticulatedBodyAlgorithmMultiDof().
| const btVector3 & getBasePos | ( | ) | const |
Definition at line 185 of file btMultiBody.h.
Referenced by getBaseWorldTransform(), localPosToWorld(), updateCollisionObjectWorldTransforms(), and worldPosToLocal().
| const btVector3 & getBaseTorque | ( | ) | const |
Definition at line 346 of file btMultiBody.h.
| const btVector3 getBaseVel | ( | ) | const |
Definition at line 189 of file btMultiBody.h.
References btVector3.
Referenced by compTreeLinkVelocities(), and computeAccelerationsArticulatedBodyAlgorithmMultiDof().
| btTransform getBaseWorldTransform | ( | ) | const |
Definition at line 222 of file btMultiBody.h.
References btTransform, getBasePos(), getWorldToBaseRot(), and inverse().
| bool getCanSleep | ( | ) | const |
Definition at line 504 of file btMultiBody.h.
| bool getCanWakeup | ( | ) | const |
Definition at line 509 of file btMultiBody.h.
| int getCompanionId | ( | ) | const |
Definition at line 533 of file btMultiBody.h.
References m_companionId.
| const btScalar * getDeltaVelocityVector | ( | ) | const |
Definition at line 277 of file btMultiBody.h.
| const btVector3 & getInterpolateBasePos | ( | ) | const |
Definition at line 198 of file btMultiBody.h.
Referenced by updateCollisionObjectInterpolationWorldTransforms().
| const btQuaternion & btMultiBody::getInterpolateParentToLocalRot | ( | int | i | ) | const |
Definition at line 461 of file btMultiBody.cpp.
Referenced by updateCollisionObjectInterpolationWorldTransforms().
Definition at line 456 of file btMultiBody.cpp.
Referenced by updateCollisionObjectInterpolationWorldTransforms().
| const btQuaternion & getInterpolateWorldToBaseRot | ( | ) | const |
Definition at line 202 of file btMultiBody.h.
Referenced by updateCollisionObjectInterpolationWorldTransforms().
Definition at line 374 of file btMultiBody.cpp.
Definition at line 384 of file btMultiBody.cpp.
Definition at line 666 of file btMultiBody.cpp.
Definition at line 671 of file btMultiBody.cpp.
Definition at line 379 of file btMultiBody.cpp.
Definition at line 389 of file btMultiBody.cpp.
Referenced by compTreeLinkVelocities(), computeAccelerationsArticulatedBodyAlgorithmMultiDof(), predictPositionsMultiDof(), and stepPositionsMultiDof().
| btScalar getLinearDamping | ( | ) | const |
Definition at line 548 of file btMultiBody.h.
References m_linearDamping.
| btMultibodyLink & getLink | ( | int | index | ) | const |
Definition at line 114 of file btMultiBody.h.
Referenced by btMultiBodyJointMotor::btMultiBodyJointMotor(), compTreeLinkVelocities(), getLinkCollider(), updateCollisionObjectInterpolationWorldTransforms(), and updateCollisionObjectWorldTransforms().
| btMultiBodyLinkCollider * getLinkCollider | ( | int | index | ) | const |
Definition at line 137 of file btMultiBody.h.
References getLink(), getNumLinks(), and btMultibodyLink::m_collider.
Definition at line 656 of file btMultiBody.cpp.
Definition at line 369 of file btMultiBody.cpp.
Definition at line 364 of file btMultiBody.cpp.
Definition at line 661 of file btMultiBody.cpp.
| btScalar getMaxAppliedImpulse | ( | ) | const |
Definition at line 582 of file btMultiBody.h.
| btScalar getMaxCoordinateVelocity | ( | ) | const |
Definition at line 573 of file btMultiBody.h.
| int getNumDofs | ( | ) | const |
Definition at line 167 of file btMultiBody.h.
Referenced by applyDeltaSplitVeeMultiDof(), applyDeltaVeeMultiDof(), applyDeltaVeeMultiDof2(), clearVelocities(), fillConstraintJacobianMultiDof(), processDeltaVeeMultiDof2(), and substractSplitV().
| int getNumLinks | ( | ) | const |
Definition at line 166 of file btMultiBody.h.
Referenced by calcAccelerationDeltasMultiDof(), clearConstraintForces(), clearForcesAndTorques(), compTreeLinkVelocities(), computeAccelerationsArticulatedBodyAlgorithmMultiDof(), fillConstraintJacobianMultiDof(), getLinkCollider(), predictPositionsMultiDof(), stepPositionsMultiDof(), updateCollisionObjectInterpolationWorldTransforms(), and updateCollisionObjectWorldTransforms().
| int getNumPosVars | ( | ) | const |
Definition at line 168 of file btMultiBody.h.
Definition at line 359 of file btMultiBody.cpp.
Referenced by gather_objects_paths(), localDirToWorld(), localPosToWorld(), updateCollisionObjectInterpolationWorldTransforms(), updateCollisionObjectWorldTransforms(), visit_object(), worldDirToLocal(), and worldPosToLocal().
| const btQuaternion & btMultiBody::getParentToLocalRot | ( | int | i | ) | const |
Definition at line 451 of file btMultiBody.cpp.
Referenced by localDirToWorld(), localPosToWorld(), updateCollisionObjectWorldTransforms(), worldDirToLocal(), and worldPosToLocal().
Definition at line 446 of file btMultiBody.cpp.
Referenced by localPosToWorld(), updateCollisionObjectWorldTransforms(), and worldPosToLocal().
| const btScalar * getSplitVelocityVector | ( | ) | const |
Definition at line 282 of file btMultiBody.h.
| bool getUseGyroTerm | ( | ) | const |
Definition at line 565 of file btMultiBody.h.
| int getUserIndex | ( | ) | const |
Definition at line 648 of file btMultiBody.h.
References m_userIndex.
| int getUserIndex2 | ( | ) | const |
Definition at line 653 of file btMultiBody.h.
References m_userIndex2.
| void * getUserPointer | ( | ) | const |
users can point to their objects, userPointer is not used by Bullet
Definition at line 643 of file btMultiBody.h.
References m_userObjectPointer.
| const btScalar * getVelocityVector | ( | ) | const |
Definition at line 272 of file btMultiBody.h.
| const btQuaternion & getWorldToBaseRot | ( | ) | const |
Definition at line 193 of file btMultiBody.h.
Referenced by compTreeLinkVelocities(), getBaseWorldTransform(), localDirToWorld(), localPosToWorld(), updateCollisionObjectWorldTransforms(), worldDirToLocal(), and worldPosToLocal().
| void btMultiBody::goToSleep | ( | ) |
Definition at line 1996 of file btMultiBody.cpp.
Referenced by checkMotionAndSleepIfRequired().
| bool hasFixedBase | ( | ) | const |
Definition at line 523 of file btMultiBody.h.
| bool hasSelfCollision | ( | ) | const |
Definition at line 594 of file btMultiBody.h.
Referenced by setHasSelfCollision().
| bool internalNeedsJointFeedback | ( | ) | const |
Definition at line 616 of file btMultiBody.h.
| bool isAwake | ( | ) | const |
Definition at line 518 of file btMultiBody.h.
| bool isPosUpdated | ( | ) | const |
Definition at line 606 of file btMultiBody.h.
| bool isUsingGlobalVelocities | ( | ) | const |
Definition at line 604 of file btMultiBody.h.
| bool isUsingRK4Integration | ( | ) | const |
Definition at line 602 of file btMultiBody.h.
Definition at line 512 of file btMultiBody.cpp.
References btAssert, btVector3, getParent(), getParentToLocalRot(), getWorldToBaseRot(), inverse(), quatRotate(), result, and SIMD_INFINITY.
Referenced by localFrameToWorld().
| btMatrix3x3 btMultiBody::localFrameToWorld | ( | int | i, |
| const btMatrix3x3 & | local_frame ) const |
Definition at line 550 of file btMultiBody.cpp.
References btMatrix3x3, localDirToWorld(), and result.
Definition at line 466 of file btMultiBody.cpp.
References btAssert, btVector3, getBasePos(), getParent(), getParentToLocalRot(), getRVector(), getWorldToBaseRot(), inverse(), quatRotate(), result, and SIMD_INFINITY.
| void btMultiBody::predictPositionsMultiDof | ( | btScalar | dt | ) |
baseBody => quat is alibi and omega is local coor
Definition at line 1552 of file btMultiBody.cpp.
References ANGULAR_MOTION_THRESHOLD, btCos(), btSin(), btMultibodyLink::ePlanar, btMultibodyLink::ePrismatic, btMultibodyLink::eRevolute, btMultibodyLink::eSpherical, fAngle, getJointVelMultiDof(), getNumLinks(), btQuaternion::normalize(), operator()(), quatRotate(), and SIMD_HALF_PI.
| void processDeltaVeeMultiDof2 | ( | ) |
Definition at line 425 of file btMultiBody.h.
References applyDeltaVeeMultiDof(), and getNumDofs().
|
virtual |
fills the dataBuffer and returns the struct name (and 0 on failure)
| void setAngularDamping | ( | btScalar | damp | ) |
Definition at line 560 of file btMultiBody.h.
References m_angularDamping.
| void setBaseCollider | ( | btMultiBodyLinkCollider * | collider | ) |
Definition at line 124 of file btMultiBody.h.
| void setBaseInertia | ( | const btVector3 & | inertia | ) |
Definition at line 179 of file btMultiBody.h.
| void setBaseMass | ( | btScalar | mass | ) |
Definition at line 178 of file btMultiBody.h.
| void setBaseName | ( | const char * | name | ) |
memory of setBaseName needs to be manager by user
Definition at line 637 of file btMultiBody.h.
| void setBaseOmega | ( | const btVector3 & | omega | ) |
Definition at line 241 of file btMultiBody.h.
| void setBasePos | ( | const btVector3 & | pos | ) |
Definition at line 210 of file btMultiBody.h.
References pos.
Referenced by setBaseWorldTransform().
| void setBaseVel | ( | const btVector3 & | vel | ) |
Definition at line 230 of file btMultiBody.h.
| void setBaseWorldTransform | ( | const btTransform & | tr | ) |
Definition at line 216 of file btMultiBody.h.
References setBasePos(), and setWorldToBaseRot().
| void setCanSleep | ( | bool | canSleep | ) |
Definition at line 496 of file btMultiBody.h.
| void setCanWakeup | ( | bool | canWakeup | ) |
Definition at line 514 of file btMultiBody.h.
| void setCompanionId | ( | int | id | ) |
Definition at line 537 of file btMultiBody.h.
References m_companionId.
| void setFixedBase | ( | bool | fixedBase | ) |
Definition at line 528 of file btMultiBody.h.
| void setHasSelfCollision | ( | bool | hasSelfCollision | ) |
Definition at line 590 of file btMultiBody.h.
References hasSelfCollision().
Definition at line 404 of file btMultiBody.cpp.
Definition at line 411 of file btMultiBody.cpp.
References pos.
Definition at line 419 of file btMultiBody.cpp.
References pos.
Definition at line 429 of file btMultiBody.cpp.
Definition at line 434 of file btMultiBody.cpp.
Definition at line 440 of file btMultiBody.cpp.
| void setLinearDamping | ( | btScalar | damp | ) |
Definition at line 552 of file btMultiBody.h.
References m_linearDamping.
| void setMaxAppliedImpulse | ( | btScalar | maxImp | ) |
Definition at line 586 of file btMultiBody.h.
| void setMaxCoordinateVelocity | ( | btScalar | maxVel | ) |
Definition at line 577 of file btMultiBody.h.
| void setNumLinks | ( | int | numLinks | ) |
Definition at line 543 of file btMultiBody.h.
| void setPosUpdated | ( | bool | updated | ) |
Definition at line 610 of file btMultiBody.h.
| void btMultiBody::setupFixed | ( | int | i, |
| btScalar | mass, | ||
| const btVector3 & | inertia, | ||
| int | parent, | ||
| const btQuaternion & | rotParentToThis, | ||
| const btVector3 & | parentComToThisPivotOffset, | ||
| const btVector3 & | thisPivotToThisComOffset, | ||
| bool | deprecatedDisableParentCollision = true ) |
Definition at line 150 of file btMultiBody.cpp.
References BT_MULTIBODYLINKFLAGS_DISABLE_PARENT_COLLISION, btVector3, and btMultibodyLink::eFixed.
| void btMultiBody::setupPlanar | ( | int | i, |
| btScalar | mass, | ||
| const btVector3 & | inertia, | ||
| int | parent, | ||
| const btQuaternion & | rotParentToThis, | ||
| const btVector3 & | rotationAxis, | ||
| const btVector3 & | parentComToThisComOffset, | ||
| bool | disableParentCollision = false ) |
Definition at line 292 of file btMultiBody.cpp.
References BT_MULTIBODYLINKFLAGS_DISABLE_PARENT_COLLISION, btMultibodyLink::ePlanar, and normalized().
| void btMultiBody::setupPrismatic | ( | int | i, |
| btScalar | mass, | ||
| const btVector3 & | inertia, | ||
| int | parent, | ||
| const btQuaternion & | rotParentToThis, | ||
| const btVector3 & | jointAxis, | ||
| const btVector3 & | parentComToThisPivotOffset, | ||
| const btVector3 & | thisPivotToThisComOffset, | ||
| bool | disableParentCollision ) |
Definition at line 178 of file btMultiBody.cpp.
References BT_MULTIBODYLINKFLAGS_DISABLE_PARENT_COLLISION, and btMultibodyLink::ePrismatic.
| void btMultiBody::setupRevolute | ( | int | i, |
| btScalar | mass, | ||
| const btVector3 & | inertia, | ||
| int | parentIndex, | ||
| const btQuaternion & | rotParentToThis, | ||
| const btVector3 & | jointAxis, | ||
| const btVector3 & | parentComToThisPivotOffset, | ||
| const btVector3 & | thisPivotToThisComOffset, | ||
| bool | disableParentCollision = false ) |
Definition at line 216 of file btMultiBody.cpp.
References BT_MULTIBODYLINKFLAGS_DISABLE_PARENT_COLLISION, and btMultibodyLink::eRevolute.
| void btMultiBody::setupSpherical | ( | int | i, |
| btScalar | mass, | ||
| const btVector3 & | inertia, | ||
| int | parent, | ||
| const btQuaternion & | rotParentToThis, | ||
| const btVector3 & | parentComToThisPivotOffset, | ||
| const btVector3 & | thisPivotToThisComOffset, | ||
| bool | disableParentCollision = false ) |
Definition at line 252 of file btMultiBody.cpp.
References BT_MULTIBODYLINKFLAGS_DISABLE_PARENT_COLLISION, cross(), and btMultibodyLink::eSpherical.
| void setUseGyroTerm | ( | bool | useGyro | ) |
Definition at line 569 of file btMultiBody.h.
| void setUserIndex | ( | int | index | ) |
users can point to their objects, userPointer is not used by Bullet
Definition at line 664 of file btMultiBody.h.
References m_userIndex.
| void setUserIndex2 | ( | int | index | ) |
Definition at line 669 of file btMultiBody.h.
References m_userIndex2.
| void setUserPointer | ( | void * | userPointer | ) |
users can point to their objects, userPointer is not used by Bullet
Definition at line 658 of file btMultiBody.h.
References m_userObjectPointer.
| void setWorldToBaseRot | ( | const btQuaternion & | rot | ) |
Definition at line 236 of file btMultiBody.h.
References rot.
Referenced by setBaseWorldTransform().
|
static |
Definition at line 40 of file btMultiBody.cpp.
Referenced by compTreeLinkVelocities().
baseBody => quat is alibi and omega is local coor
Definition at line 1705 of file btMultiBody.cpp.
References ANGULAR_MOTION_THRESHOLD, btCos(), btSin(), btMultibodyLink::ePlanar, btMultibodyLink::ePrismatic, btMultibodyLink::eRevolute, btMultibodyLink::eSpherical, fAngle, getJointVelMultiDof(), getNumLinks(), btQuaternion::normalize(), operator()(), quatRotate(), and SIMD_HALF_PI.
| void substractSplitV | ( | ) |
Definition at line 416 of file btMultiBody.h.
References applyDeltaVeeMultiDof(), and getNumDofs().
| void btMultiBody::updateCollisionObjectInterpolationWorldTransforms | ( | btAlignedObjectArray< btQuaternion > & | world_to_local, |
| btAlignedObjectArray< btVector3 > & | local_origin ) |
Definition at line 2135 of file btMultiBody.cpp.
References btAssert, btTransform, col, getBaseCollider(), getInterpolateBasePos(), getInterpolateParentToLocalRot(), getInterpolateRVector(), getInterpolateWorldToBaseRot(), getLink(), getNumLinks(), getParent(), inverse(), btMultibodyLink::m_collider, btMultiBodyLinkCollider::m_link, quatRotate(), and btAlignedObjectArray< T >::resize().
| void btMultiBody::updateCollisionObjectWorldTransforms | ( | btAlignedObjectArray< btQuaternion > & | world_to_local, |
| btAlignedObjectArray< btVector3 > & | local_origin ) |
Definition at line 2082 of file btMultiBody.cpp.
References btAssert, btTransform, col, getBaseCollider(), getBasePos(), getLink(), getNumLinks(), getParent(), getParentToLocalRot(), getRVector(), getWorldToBaseRot(), inverse(), btMultibodyLink::m_collider, btMultiBodyLinkCollider::m_link, quatRotate(), and btAlignedObjectArray< T >::resize().
| void useGlobalVelocities | ( | bool | use | ) |
Definition at line 603 of file btMultiBody.h.
| void useRK4Integration | ( | bool | use | ) |
Definition at line 601 of file btMultiBody.h.
| void btMultiBody::wakeUp | ( | ) |
Definition at line 1990 of file btMultiBody.cpp.
Referenced by checkMotionAndSleepIfRequired().
Definition at line 531 of file btMultiBody.cpp.
References btAssert, btVector3, getParent(), getParentToLocalRot(), getWorldToBaseRot(), quatRotate(), SIMD_INFINITY, and worldDirToLocal().
Referenced by worldDirToLocal().
Definition at line 491 of file btMultiBody.cpp.
References btAssert, btVector3, getBasePos(), getParent(), getParentToLocalRot(), getRVector(), getWorldToBaseRot(), quatRotate(), SIMD_INFINITY, and worldPosToLocal().
Referenced by worldPosToLocal().
|
virtual |
Definition at line 146 of file btMultiBody.cpp.
| btMultiBody::btMultiBody |
Definition at line 50 of file btMultiBody.h.
Referenced by addMultiBodyFrictionConstraint(), addMultiBodySpinningFrictionConstraint(), addMultiBodyTorsionalFrictionConstraint(), btMultiBodyDynamicsWorld::applyGravity(), btDeformableMultiBodyDynamicsWorld::applyRigidBodyGravity(), btMultiBodyDynamicsWorld::calculateSimulationIslands(), btDeformableMultiBodyDynamicsWorld::clearGravity(), btMultiBodyDynamicsWorld::clearMultiBodyConstraintForces(), btMultiBodyDynamicsWorld::clearMultiBodyForces(), computeConstraintMatrixDiagElementMultiBody(), computeConstraintMatrixOffDiagElementMultiBody(), convertMultiBodyContact(), btMultiBodyDynamicsWorld::debugDrawWorld(), fillMultiBodyConstraint(), btMultiBodyDynamicsWorld::forwardKinematics(), btMultiBodyDynamicsWorld::integrateMultiBodyTransforms(), btMultiBodyDynamicsWorld::predictMultiBodyTransforms(), btMultiBodyDynamicsWorld::serializeMultiBodies(), setupMultiBodyContactConstraint(), setupMultiBodyTorsionalFrictionConstraint(), btDeformableMultiBodyDynamicsWorld::solveContactConstraints(), btMultiBodyDynamicsWorld::solveExternalForces(), btMultiBodyMLCPConstraintSolver::solveGroupCacheFriendlyIterations(), btMultiBodyDynamicsWorld::solveInternalConstraints(), and btMultiBodyDynamicsWorld::updateActivationState().