Blender
V3.3
|
#include "LinearMath/btScalar.h"
#include "LinearMath/btAlignedObjectArray.h"
#include "btMultiBody.h"
#include "btMultiBodySolverConstraint.h"
Go to the source code of this file.
Classes | |
struct | btMultiBodyJacobianData |
Variables | |
btMultiBodyConstraint | |
btMultiBody * | m_bodyB |
int | m_linkA |
int | m_linkB |
int | m_type |
int | m_numRows |
int | m_jacSizeA |
int | m_jacSizeBoth |
int | m_posOffset |
bool | m_isUnilateral |
int | m_numDofsFinalized |
btScalar | m_maxAppliedImpulse |
btAlignedObjectArray< btScalar > | m_data |
Definition at line 25 of file btMultiBodyConstraint.h.
void btMultiBodyConstraint::allocateJacobiansMultiDof | ( | ) |
Definition at line 35 of file btMultiBodyConstraint.cpp.
References m_data, m_jacSizeBoth, m_numRows, m_posOffset, btAlignedObjectArray< T >::resize(), and updateJacobianSizes().
Referenced by btMultiBodyGearConstraint::finalizeMultiDof(), btMultiBodyJointLimitConstraint::finalizeMultiDof(), btMultiBodyJointMotor::finalizeMultiDof(), and btMultiBodySphericalJointMotor::finalizeMultiDof().
void btMultiBodyConstraint::applyDeltaVee | ( | btMultiBodyJacobianData & | data, |
btScalar * | delta_vee, | ||
btScalar | impulse, | ||
int | velocityIndex, | ||
int | ndof | ||
) |
Definition at line 47 of file btMultiBodyConstraint.cpp.
References data.
Referenced by resolveConeFrictionConstraintRows(), resolveSingleConstraintRowGeneric(), setupMultiBodyContactConstraint(), and btMultiBodyMLCPConstraintSolver::solveGroupCacheFriendlyIterations().
BT_DECLARE_ALIGNED_ALLOCATOR | ( | ) |
btMultiBodyConstraint | ( | btMultiBody * | bodyA, |
btMultiBody * | bodyB, | ||
int | linkA, | ||
int | linkB, | ||
int | numRows, | ||
bool | isUnilateral, | ||
int | type | ||
) |
|
pure virtual |
|
pure virtual |
btScalar btMultiBodyConstraint::fillMultiBodyConstraint | ( | btMultiBodySolverConstraint & | solverConstraint, |
btMultiBodyJacobianData & | data, | ||
btScalar * | jacOrgA, | ||
btScalar * | jacOrgB, | ||
const btVector3 & | constraintNormalAng, | ||
const btVector3 & | constraintNormalLin, | ||
const btVector3 & | posAworld, | ||
const btVector3 & | posBworld, | ||
btScalar | posError, | ||
const btContactSolverInfo & | infoGlobal, | ||
btScalar | lowerLimit, | ||
btScalar | upperLimit, | ||
bool | angConstraint = false , |
||
btScalar | relaxation = 1.f , |
||
bool | isFriction = false , |
||
btScalar | desiredVelocity = 0 , |
||
btScalar | cfmSlip = 0 |
||
) |
Definition at line 53 of file btMultiBodyConstraint.cpp.
References btAssert, btMultiBody, btSolverBody, btVector3, blender::math::cross(), data, btRigidBody::getAngularFactor(), btRigidBody::getAngularVelocity(), btRigidBody::getInvInertiaTensorWorld(), btRigidBody::getInvMass(), btRigidBody::getLinearVelocity(), infoGlobal, l, m_bodyB, btContactSolverInfoData::m_erp, btContactSolverInfoData::m_erp2, m_linkA, m_linkB, btContactSolverInfoData::m_timeStep, and SIMD_EPSILON.
Referenced by btMultiBodyFixedConstraint::createConstraintRows(), btMultiBodyGearConstraint::createConstraintRows(), btMultiBodyJointLimitConstraint::createConstraintRows(), btMultiBodyJointMotor::createConstraintRows(), btMultiBodySliderConstraint::createConstraintRows(), and btMultiBodySphericalJointMotor::createConstraintRows().
|
pure virtual |
btScalar getAppliedImpulse | ( | int | dof | ) |
Definition at line 154 of file btMultiBodyConstraint.h.
References btAssert, getNumRows(), and m_data.
int getConstraintType | ( | ) | const |
Definition at line 108 of file btMultiBodyConstraint.h.
References m_type.
|
pure virtual |
|
pure virtual |
int getLinkA | ( | ) | const |
Definition at line 139 of file btMultiBodyConstraint.h.
References m_linkA.
int getLinkB | ( | ) | const |
Definition at line 143 of file btMultiBodyConstraint.h.
References m_linkB.
btScalar getMaxAppliedImpulse | ( | ) | const |
Definition at line 198 of file btMultiBodyConstraint.h.
References m_maxAppliedImpulse.
btMultiBody* getMultiBodyA | ( | ) |
Definition at line 130 of file btMultiBodyConstraint.h.
btMultiBody* getMultiBodyB | ( | ) |
Definition at line 134 of file btMultiBodyConstraint.h.
References m_bodyB.
int getNumRows | ( | ) | const |
Definition at line 125 of file btMultiBodyConstraint.h.
References m_numRows.
Referenced by btMultiBodyGearConstraint::createConstraintRows(), btMultiBodyJointLimitConstraint::createConstraintRows(), btMultiBodyJointMotor::createConstraintRows(), btMultiBodySphericalJointMotor::createConstraintRows(), getAppliedImpulse(), and internalSetAppliedImpulse().
btScalar getPosition | ( | int | row | ) | const |
Definition at line 163 of file btMultiBodyConstraint.h.
References m_data, and m_posOffset.
Referenced by btMultiBodyJointLimitConstraint::createConstraintRows().
Definition at line 147 of file btMultiBodyConstraint.h.
References btAssert, getNumRows(), and m_data.
bool isUnilateral | ( | ) | const |
Definition at line 173 of file btMultiBodyConstraint.h.
References m_isUnilateral.
const btScalar * jacobianA | ( | int | row | ) |
Definition at line 181 of file btMultiBodyConstraint.h.
References m_data, m_jacSizeBoth, and m_numRows.
Referenced by btMultiBodyGearConstraint::createConstraintRows(), btMultiBodyJointLimitConstraint::createConstraintRows(), btMultiBodyJointMotor::createConstraintRows(), btMultiBodyJointLimitConstraint::finalizeMultiDof(), btMultiBodyJointMotor::finalizeMultiDof(), and btMultiBodySphericalJointMotor::finalizeMultiDof().
const btScalar * jacobianB | ( | int | row | ) |
Definition at line 189 of file btMultiBodyConstraint.h.
References m_data, m_jacSizeA, m_jacSizeBoth, and m_numRows.
Referenced by btMultiBodyGearConstraint::createConstraintRows(), btMultiBodyJointLimitConstraint::createConstraintRows(), btMultiBodyJointMotor::createConstraintRows(), and btMultiBodyJointLimitConstraint::finalizeMultiDof().
Definition at line 212 of file btMultiBodyConstraint.h.
|
virtual |
Definition at line 113 of file btMultiBodyConstraint.h.
|
virtual |
Definition at line 210 of file btMultiBodyConstraint.h.
Definition at line 209 of file btMultiBodyConstraint.h.
Definition at line 202 of file btMultiBodyConstraint.h.
References m_maxAppliedImpulse.
Definition at line 114 of file btMultiBodyConstraint.h.
Definition at line 168 of file btMultiBodyConstraint.h.
References m_data, m_posOffset, and pos.
Referenced by btMultiBodyJointLimitConstraint::createConstraintRows().
Definition at line 211 of file btMultiBodyConstraint.h.
void btMultiBodyConstraint::updateJacobianSizes | ( | ) |
Definition at line 20 of file btMultiBodyConstraint.cpp.
References m_bodyB, m_jacSizeA, and m_jacSizeBoth.
Referenced by allocateJacobiansMultiDof().
|
virtual |
Definition at line 43 of file btMultiBodyConstraint.cpp.
btMultiBodyConstraint::btMultiBodyConstraint |
Definition at line 56 of file btMultiBodyConstraint.h.
Referenced by btMultiBodyDynamicsWorld::calculateSimulationIslands(), btMultiBodyDynamicsWorld::debugDrawWorld(), MultiBodyInplaceSolverIslandCallback::processConstraints(), DeformableBodyInplaceSolverIslandCallback::processConstraints(), MultiBodyInplaceSolverIslandCallback::processIsland(), btDeformableMultiBodyDynamicsWorld::setupConstraints(), and btMultiBodyDynamicsWorld::solveExternalForces().
btMultiBody* m_bodyB |
Definition at line 60 of file btMultiBodyConstraint.h.
Referenced by btMultiBodyFixedConstraint::createConstraintRows(), btMultiBodyGearConstraint::createConstraintRows(), btMultiBodyJointLimitConstraint::createConstraintRows(), btMultiBodySliderConstraint::createConstraintRows(), btMultiBodyFixedConstraint::debugDraw(), btMultiBodySliderConstraint::debugDraw(), fillMultiBodyConstraint(), btMultiBodyFixedConstraint::getIslandIdB(), btMultiBodyGearConstraint::getIslandIdB(), btMultiBodyJointLimitConstraint::getIslandIdB(), btMultiBodyJointMotor::getIslandIdB(), btMultiBodySliderConstraint::getIslandIdB(), btMultiBodySphericalJointMotor::getIslandIdB(), getMultiBodyB(), and updateJacobianSizes().
btAlignedObjectArray<btScalar> m_data |
Definition at line 80 of file btMultiBodyConstraint.h.
Referenced by btBvhTree::_build_sub_tree(), btQuantizedBvhTree::_build_sub_tree(), allocateJacobiansMultiDof(), applyDeltaVee(), btAlignedObjectArray< T >::at(), btAlignedObjectArray< T >::btAlignedObjectArray(), btClock::btClock(), btMultiBodyFixedConstraint::btMultiBodyFixedConstraint(), btMultiBodyPoint2Point(), btMultiBodySliderConstraint::btMultiBodySliderConstraint(), btAlignedObjectArray< T >::copy(), btAlignedObjectArray< T >::copyFromArray(), btMultiBodyMLCPConstraintSolver::createMLCPFastMultiBody(), btAlignedObjectArray< T >::deallocate(), btAlignedObjectArray< T >::destroy(), btAlignedObjectArray< T >::expand(), btAlignedObjectArray< T >::expandNonInitializing(), btAlignedObjectArray< T >::findBinarySearch(), btAlignedObjectArray< T >::findLinearSearch(), btAlignedObjectArray< T >::findLinearSearch2(), getAppliedImpulse(), getPosition(), btClock::getTimeMicroseconds(), btClock::getTimeMilliseconds(), btClock::getTimeNanoseconds(), btAlignedObjectArray< T >::heapSort(), btAlignedObjectArray< T >::init(), btAlignedObjectArray< T >::initializeFromBuffer(), internalSetAppliedImpulse(), jacobianA(), jacobianB(), btClock::operator=(), btAlignedObjectArray< T >::operator[](), btAlignedObjectArray< T >::pop_back(), btAlignedObjectArray< T >::push_back(), btAlignedObjectArray< T >::quickSortInternal(), btAlignedObjectArray< T >::reserve(), btClock::reset(), btAlignedObjectArray< T >::resize(), resolveConeFrictionConstraintRows(), resolveSingleConstraintRowGeneric(), setPosition(), setupMultiBodyContactConstraint(), setupMultiBodyTorsionalFrictionConstraint(), btMultiBodyMLCPConstraintSolver::solveGroupCacheFriendlyIterations(), btAlignedObjectArray< T >::swap(), writeBackSolverBodyToMultiBody(), and btClock::~btClock().
bool m_isUnilateral |
Definition at line 71 of file btMultiBodyConstraint.h.
Referenced by isUnilateral().
int m_jacSizeA |
Definition at line 67 of file btMultiBodyConstraint.h.
Referenced by jacobianB(), and updateJacobianSizes().
int m_jacSizeBoth |
Definition at line 68 of file btMultiBodyConstraint.h.
Referenced by allocateJacobiansMultiDof(), btMultiBodyGearConstraint::createConstraintRows(), btMultiBodyJointLimitConstraint::createConstraintRows(), btMultiBodyJointMotor::createConstraintRows(), btMultiBodySphericalJointMotor::createConstraintRows(), btMultiBodyGearConstraint::finalizeMultiDof(), btMultiBodyJointLimitConstraint::finalizeMultiDof(), btMultiBodyJointMotor::finalizeMultiDof(), btMultiBodySphericalJointMotor::finalizeMultiDof(), jacobianA(), jacobianB(), and updateJacobianSizes().
int m_linkA |
Definition at line 61 of file btMultiBodyConstraint.h.
Referenced by btMultiBodyFixedConstraint::createConstraintRows(), btMultiBodyGearConstraint::createConstraintRows(), btMultiBodyJointLimitConstraint::createConstraintRows(), btMultiBodyJointMotor::createConstraintRows(), btMultiBodySliderConstraint::createConstraintRows(), btMultiBodySphericalJointMotor::createConstraintRows(), btMultiBodyFixedConstraint::debugDraw(), btMultiBodySliderConstraint::debugDraw(), fillMultiBodyConstraint(), btMultiBodyJointLimitConstraint::finalizeMultiDof(), btMultiBodyJointMotor::finalizeMultiDof(), btMultiBodySphericalJointMotor::finalizeMultiDof(), btMultiBodyFixedConstraint::getIslandIdA(), btMultiBodyGearConstraint::getIslandIdA(), btMultiBodyJointLimitConstraint::getIslandIdA(), btMultiBodyJointMotor::getIslandIdA(), btMultiBodySliderConstraint::getIslandIdA(), btMultiBodySphericalJointMotor::getIslandIdA(), and getLinkA().
int m_linkB |
Definition at line 62 of file btMultiBodyConstraint.h.
Referenced by btMultiBodyFixedConstraint::createConstraintRows(), btMultiBodyGearConstraint::createConstraintRows(), btMultiBodySliderConstraint::createConstraintRows(), btMultiBodyFixedConstraint::debugDraw(), btMultiBodySliderConstraint::debugDraw(), fillMultiBodyConstraint(), btMultiBodyFixedConstraint::getIslandIdB(), btMultiBodyGearConstraint::getIslandIdB(), btMultiBodyJointLimitConstraint::getIslandIdB(), btMultiBodyJointMotor::getIslandIdB(), btMultiBodySliderConstraint::getIslandIdB(), btMultiBodySphericalJointMotor::getIslandIdB(), and getLinkB().
btScalar m_maxAppliedImpulse |
Definition at line 73 of file btMultiBodyConstraint.h.
Referenced by btMultiBodyJointMotor::btMultiBodyJointMotor(), btMultiBodySphericalJointMotor::btMultiBodySphericalJointMotor(), btMultiBodyFixedConstraint::createConstraintRows(), btMultiBodyGearConstraint::createConstraintRows(), btMultiBodyJointLimitConstraint::createConstraintRows(), btMultiBodyJointMotor::createConstraintRows(), btMultiBodySliderConstraint::createConstraintRows(), btMultiBodySphericalJointMotor::createConstraintRows(), getMaxAppliedImpulse(), and setMaxAppliedImpulse().
int m_numDofsFinalized |
Definition at line 72 of file btMultiBodyConstraint.h.
Referenced by btMultiBodyGearConstraint::createConstraintRows(), btMultiBodyJointLimitConstraint::createConstraintRows(), btMultiBodyJointMotor::createConstraintRows(), btMultiBodySphericalJointMotor::createConstraintRows(), btMultiBodyGearConstraint::finalizeMultiDof(), btMultiBodyJointLimitConstraint::finalizeMultiDof(), btMultiBodyJointMotor::finalizeMultiDof(), and btMultiBodySphericalJointMotor::finalizeMultiDof().
int m_numRows |
Definition at line 66 of file btMultiBodyConstraint.h.
Referenced by allocateJacobiansMultiDof(), getNumRows(), jacobianA(), and jacobianB().
int m_posOffset |
Definition at line 69 of file btMultiBodyConstraint.h.
Referenced by allocateJacobiansMultiDof(), getPosition(), and setPosition().
int m_type |
Definition at line 64 of file btMultiBodyConstraint.h.
Referenced by getConstraintType(), iTaSC::Object::getType(), and iTaSC::Object::Object().