Blender
V3.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 More... | |
#define | btMultiBodyDataName "btMultiBodyFloatData" |
#define | btMultiBodyLinkData btMultiBodyLinkFloatData |
#define | btMultiBodyLinkDataName "btMultiBodyLinkFloatData" |
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.
#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.
Definition at line 333 of file btMultiBody.h.
Definition at line 337 of file btMultiBody.h.
Definition at line 325 of file btMultiBody.h.
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 getNumDofs().
Referenced by addSplitV(), 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 getNumLinks(), and btAlignedObjectArray< T >::resize().
|
virtual |
Definition at line 2001 of file btMultiBody.cpp.
References gDisableDeactivation.
void btMultiBody::clearConstraintForces | ( | ) |
Definition at line 589 of file btMultiBody.cpp.
void btMultiBody::clearForcesAndTorques | ( | ) |
Definition at line 600 of file btMultiBody.cpp.
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.
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 getNumLinks().
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, fillConstraintJacobianMultiDof(), and normal.
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().
const btVector3& getBasePos | ( | ) | const |
Definition at line 185 of file btMultiBody.h.
Referenced by getBaseWorldTransform(), and updateCollisionObjectWorldTransforms().
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().
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().
const btVector3 & btMultiBody::getInterpolateRVector | ( | int | i | ) | const |
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().
btScalar btMultiBody::getJointPos | ( | int | i | ) | const |
Definition at line 374 of file btMultiBody.cpp.
const btScalar * getJointPosMultiDof | ( | int | i | ) |
Definition at line 384 of file btMultiBody.cpp.
btScalar btMultiBody::getJointTorque | ( | int | i | ) | const |
Definition at line 666 of file btMultiBody.cpp.
btScalar * btMultiBody::getJointTorqueMultiDof | ( | int | i | ) |
Definition at line 671 of file btMultiBody.cpp.
btScalar btMultiBody::getJointVel | ( | int | i | ) | const |
Definition at line 379 of file btMultiBody.cpp.
const btScalar * getJointVelMultiDof | ( | int | i | ) |
Definition at line 389 of file btMultiBody.cpp.
Referenced by compTreeLinkVelocities().
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.
const btVector3 & btMultiBody::getLinkForce | ( | int | i | ) | const |
Definition at line 656 of file btMultiBody.cpp.
const btVector3 & btMultiBody::getLinkInertia | ( | int | i | ) | const |
Definition at line 369 of file btMultiBody.cpp.
btScalar btMultiBody::getLinkMass | ( | int | i | ) | const |
Definition at line 364 of file btMultiBody.cpp.
const btVector3 & btMultiBody::getLinkTorque | ( | int | i | ) | const |
Definition at line 661 of file btMultiBody.cpp.
btScalar getMaxAppliedImpulse | ( | ) | const |
Definition at line 582 of file btMultiBody.h.
References m_maxAppliedImpulse.
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(), and clearVelocities().
int getNumLinks | ( | ) | const |
Definition at line 166 of file btMultiBody.h.
Referenced by calcAccelerationDeltasMultiDof(), compTreeLinkVelocities(), fillConstraintJacobianMultiDof(), getLinkCollider(), predictPositionsMultiDof(), stepPositionsMultiDof(), updateCollisionObjectInterpolationWorldTransforms(), and updateCollisionObjectWorldTransforms().
int getNumPosVars | ( | ) | const |
Definition at line 168 of file btMultiBody.h.
int btMultiBody::getParent | ( | int | link_num | ) | const |
Definition at line 359 of file btMultiBody.cpp.
Referenced by gather_objects_paths(), updateCollisionObjectInterpolationWorldTransforms(), updateCollisionObjectWorldTransforms(), and visit_object().
const btQuaternion & btMultiBody::getParentToLocalRot | ( | int | i | ) | const |
Definition at line 451 of file btMultiBody.cpp.
Referenced by updateCollisionObjectWorldTransforms().
const btVector3 & btMultiBody::getRVector | ( | int | i | ) | const |
Definition at line 446 of file btMultiBody.cpp.
Referenced by updateCollisionObjectWorldTransforms().
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.
int getUserIndex2 | ( | ) | const |
Definition at line 653 of file btMultiBody.h.
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(), and updateCollisionObjectWorldTransforms().
void btMultiBody::goToSleep | ( | ) |
Definition at line 1996 of file btMultiBody.cpp.
bool hasFixedBase | ( | ) | const |
Definition at line 523 of file btMultiBody.h.
bool hasSelfCollision | ( | ) | const |
Definition at line 594 of file btMultiBody.h.
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.
Referenced by localFrameToWorld().
btMatrix3x3 btMultiBody::localFrameToWorld | ( | int | i, |
const btMatrix3x3 & | local_frame | ||
) | const |
Definition at line 550 of file btMultiBody.cpp.
References btMatrix3x3, btVector3, localDirToWorld(), and result.
Definition at line 466 of file btMultiBody.cpp.
References btAssert.
baseBody => quat is alibi and omega is local coor
Definition at line 1552 of file btMultiBody.cpp.
References getNumLinks().
void processDeltaVeeMultiDof2 | ( | ) |
Definition at line 425 of file btMultiBody.h.
References applyDeltaVeeMultiDof().
|
virtual |
fills the dataBuffer and returns the struct name (and 0 on failure)
Definition at line 560 of file btMultiBody.h.
References m_angularDamping.
void setBaseCollider | ( | btMultiBodyLinkCollider * | collider | ) |
Definition at line 124 of file btMultiBody.h.
Definition at line 179 of file btMultiBody.h.
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.
Definition at line 241 of file btMultiBody.h.
Definition at line 210 of file btMultiBody.h.
Referenced by setBaseWorldTransform().
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().
Definition at line 496 of file btMultiBody.h.
Definition at line 514 of file btMultiBody.h.
void setCompanionId | ( | int | id | ) |
Definition at line 537 of file btMultiBody.h.
References id, and m_companionId.
Definition at line 528 of file btMultiBody.h.
Definition at line 590 of file btMultiBody.h.
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.
Definition at line 552 of file btMultiBody.h.
References m_linearDamping.
Definition at line 586 of file btMultiBody.h.
References m_maxAppliedImpulse.
Definition at line 577 of file btMultiBody.h.
void setNumLinks | ( | int | numLinks | ) |
Definition at line 543 of file btMultiBody.h.
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.
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.
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.
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.
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.
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.
void setUserIndex2 | ( | int | index | ) |
Definition at line 669 of file btMultiBody.h.
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.
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 getNumLinks().
void substractSplitV | ( | ) |
Definition at line 416 of file btMultiBody.h.
References applyDeltaVeeMultiDof().
void btMultiBody::updateCollisionObjectInterpolationWorldTransforms | ( | btAlignedObjectArray< btQuaternion > & | world_to_local, |
btAlignedObjectArray< btVector3 > & | local_origin | ||
) |
Definition at line 2135 of file btMultiBody.cpp.
References btAssert, btTransform, btVector3, col, getBaseCollider(), getInterpolateBasePos(), getInterpolateParentToLocalRot(), getInterpolateRVector(), getInterpolateWorldToBaseRot(), getLink(), getNumLinks(), getParent(), inverse(), btMultibodyLink::m_collider, 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, btVector3, col, getBaseCollider(), getBasePos(), getLink(), getNumLinks(), getParent(), getParentToLocalRot(), getRVector(), getWorldToBaseRot(), inverse(), btMultibodyLink::m_collider, quatRotate(), and btAlignedObjectArray< T >::resize().
Definition at line 603 of file btMultiBody.h.
Definition at line 601 of file btMultiBody.h.
void btMultiBody::wakeUp | ( | ) |
Definition at line 1990 of file btMultiBody.cpp.
Definition at line 531 of file btMultiBody.cpp.
References btAssert.
Definition at line 491 of file btMultiBody.cpp.
References btAssert.
|
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().