Blender
V3.3
|
#include <btMultiBodyDynamicsWorld.h>
Protected Member Functions | |
virtual void | calculateSimulationIslands () |
virtual void | updateActivationState (btScalar timeStep) |
virtual void | serializeMultiBodies (btSerializer *serializer) |
The btMultiBodyDynamicsWorld adds Featherstone multi body dynamics to Bullet This implementation is still preliminary/experimental.
Definition at line 31 of file btMultiBodyDynamicsWorld.h.
btMultiBodyDynamicsWorld::btMultiBodyDynamicsWorld | ( | btDispatcher * | dispatcher, |
btBroadphaseInterface * | pairCache, | ||
btMultiBodyConstraintSolver * | constraintSolver, | ||
btCollisionConfiguration * | collisionConfiguration | ||
) |
Definition at line 177 of file btMultiBodyDynamicsWorld.cpp.
References m_solverMultiBodyIslandCallback, and SOLVER_USE_2_FRICTION_DIRECTIONS.
|
virtual |
Definition at line 187 of file btMultiBodyDynamicsWorld.cpp.
References m_solverMultiBodyIslandCallback.
|
virtual |
Definition at line 26 of file btMultiBodyDynamicsWorld.cpp.
References m_multiBodies, and btAlignedObjectArray< T >::push_back().
|
virtual |
Definition at line 657 of file btMultiBodyDynamicsWorld.cpp.
References m_multiBodyConstraints, and btAlignedObjectArray< T >::push_back().
|
virtual |
Definition at line 748 of file btMultiBodyDynamicsWorld.cpp.
References applyGravity(), usdtokens::b(), BT_PROFILE, btMultiBody, ISLAND_SLEEPING, m_gravity, m_multiBodies, and btAlignedObjectArray< T >::size().
Referenced by btDeformableMultiBodyDynamicsWorld::applyRigidBodyGravity().
void btMultiBodyDynamicsWorld::buildIslands | ( | ) |
Definition at line 223 of file btMultiBodyDynamicsWorld.cpp.
References btSimulationIslandManager::buildAndProcessIslands(), getCollisionWorld(), m_islandManager, and m_solverMultiBodyIslandCallback.
Referenced by solveConstraints().
|
protectedvirtual |
Definition at line 42 of file btMultiBodyDynamicsWorld.cpp.
References usdtokens::b(), BT_PROFILE, btCollisionObject, btMultiBody, btMultiBodyConstraint, btPersistentManifold(), btTypedConstraint(), Freestyle::c, getCollisionWorld(), getIslandTag(), getSimulationIslandManager(), btSimulationIslandManager::getUnionFind(), isStaticOrKinematicObject(), m_constraints, m_multiBodies, m_multiBodyConstraints, m_predictiveManifolds, numConstraints, blender::meshintersect::prev(), btAlignedObjectArray< T >::size(), btSimulationIslandManager::storeIslandActivationState(), btUnionFind::unite(), and btSimulationIslandManager::updateActivationState().
Referenced by btDeformableMultiBodyDynamicsWorld::internalSingleStepSimulation().
|
virtual |
Definition at line 818 of file btMultiBodyDynamicsWorld.cpp.
References clearForces(), and clearMultiBodyForces().
Referenced by btDeformableMultiBodyDynamicsWorld::stepSimulation().
|
virtual |
Definition at line 782 of file btMultiBodyDynamicsWorld.cpp.
References btMultiBody, m_multiBodies, and btAlignedObjectArray< T >::size().
Referenced by btDeformableMultiBodyDynamicsWorld::applyRigidBodyGravity(), and solveExternalForces().
|
virtual |
Definition at line 790 of file btMultiBodyDynamicsWorld.cpp.
References usdtokens::b(), btMultiBody, ISLAND_SLEEPING, m_multiBodies, and btAlignedObjectArray< T >::size().
Referenced by clearForces().
|
virtual |
Definition at line 667 of file btMultiBodyDynamicsWorld.cpp.
Referenced by debugDrawWorld().
|
virtual |
Reimplemented in btSoftMultiBodyDynamicsWorld, and btDeformableMultiBodyDynamicsWorld.
Definition at line 672 of file btMultiBodyDynamicsWorld.cpp.
References usdtokens::b(), BT_PROFILE, btMultiBody, btMultiBodyConstraint, btTransform, btVector3, Freestyle::c, color, btIDebugDraw::DBG_DrawConstraintLimits, btIDebugDraw::DBG_DrawConstraints, btIDebugDraw::DBG_DrawFrames, debugDrawMultiBodyConstraint(), debugDrawWorld(), btMultibodyLink::eFixed, btMultibodyLink::ePrismatic, btMultibodyLink::eRevolute, from, m_multiBodies, m_multiBodyConstraints, m_scratch_local_origin1, m_scratch_world_to_local1, quatRotate(), and btAlignedObjectArray< T >::size().
Referenced by btDeformableMultiBodyDynamicsWorld::debugDrawWorld(), and btSoftMultiBodyDynamicsWorld::debugDrawWorld().
void btMultiBodyDynamicsWorld::forwardKinematics | ( | ) |
Definition at line 208 of file btMultiBodyDynamicsWorld.cpp.
References usdtokens::b(), btMultiBody, m_multiBodies, m_scratch_local_origin, m_scratch_world_to_local, and btAlignedObjectArray< T >::size().
Referenced by btDeformableMultiBodyDynamicsWorld::applyRigidBodyGravity(), and solveExternalForces().
|
virtual |
Definition at line 172 of file btMultiBodyDynamicsWorld.cpp.
References MultiBodyInplaceSolverIslandCallback::m_islandAnalyticsData, and m_solverMultiBodyIslandCallback.
|
inline |
Definition at line 71 of file btMultiBodyDynamicsWorld.h.
References m_multiBodies.
|
inline |
Definition at line 76 of file btMultiBodyDynamicsWorld.h.
References m_multiBodies.
|
inlinevirtual |
Definition at line 88 of file btMultiBodyDynamicsWorld.h.
References m_multiBodyConstraints.
|
inlinevirtual |
Definition at line 93 of file btMultiBodyDynamicsWorld.h.
References m_multiBodyConstraints.
|
inlinevirtual |
Definition at line 66 of file btMultiBodyDynamicsWorld.h.
References m_multiBodies, and btAlignedObjectArray< T >::size().
|
inlinevirtual |
Definition at line 83 of file btMultiBodyDynamicsWorld.h.
References m_multiBodyConstraints, and btAlignedObjectArray< T >::size().
base + num m_links
Definition at line 574 of file btMultiBodyDynamicsWorld.cpp.
References usdtokens::b(), BT_PROFILE, btMultiBody, ISLAND_SLEEPING, m_multiBodies, m_scratch_local_origin, m_scratch_world_to_local, btAlignedObjectArray< T >::resize(), and btAlignedObjectArray< T >::size().
Referenced by integrateTransforms().
Reimplemented in btDeformableMultiBodyDynamicsWorld.
Definition at line 568 of file btMultiBodyDynamicsWorld.cpp.
References integrateMultiBodyTransforms(), and integrateTransforms().
Referenced by btDeformableMultiBodyDynamicsWorld::integrateTransforms().
Definition at line 623 of file btMultiBodyDynamicsWorld.cpp.
References usdtokens::b(), BT_PROFILE, btMultiBody, ISLAND_SLEEPING, m_multiBodies, m_scratch_local_origin, m_scratch_world_to_local, btAlignedObjectArray< T >::resize(), and btAlignedObjectArray< T >::size().
Referenced by predictUnconstraintMotion().
Reimplemented in btSoftMultiBodyDynamicsWorld, and btDeformableMultiBodyDynamicsWorld.
Definition at line 36 of file btMultiBodyDynamicsWorld.cpp.
References predictMultiBodyTransforms(), and predictUnconstraintMotion().
Referenced by btDeformableMultiBodyDynamicsWorld::predictUnconstraintMotion().
|
virtual |
Definition at line 31 of file btMultiBodyDynamicsWorld.cpp.
References m_multiBodies, and btAlignedObjectArray< T >::remove().
|
virtual |
Definition at line 662 of file btMultiBodyDynamicsWorld.cpp.
References m_multiBodyConstraints, and btAlignedObjectArray< T >::remove().
|
virtual |
Reimplemented in btSoftMultiBodyDynamicsWorld.
Definition at line 827 of file btMultiBodyDynamicsWorld.cpp.
References btSerializer::finishSerialization(), serializeDynamicsWorldInfo(), serializeMultiBodies(), serializeRigidBodies(), and btSerializer::startSerialization().
|
protectedvirtual |
Definition at line 844 of file btMultiBodyDynamicsWorld.cpp.
References btSerializer::allocate(), BT_MB_LINKCOLLIDER_CODE, BT_MULTIBODY_CODE, btCollisionObject, btMultiBody, CO_FEATHERSTONE_LINK, btSerializer::finalizeChunk(), len, m_multiBodies, btChunk::m_oldPtr, and btAlignedObjectArray< T >::size().
Referenced by serialize(), and btSoftMultiBodyDynamicsWorld::serialize().
|
virtual |
Definition at line 199 of file btMultiBodyDynamicsWorld.cpp.
References BT_MULTIBODY_SOLVER, btConstraintSolver::getSolverType(), m_multiBodyConstraintSolver, and setConstraintSolver().
|
virtual |
Definition at line 192 of file btMultiBodyDynamicsWorld.cpp.
References m_multiBodyConstraintSolver, m_solverMultiBodyIslandCallback, setConstraintSolver(), and MultiBodyInplaceSolverIslandCallback::setMultiBodyConstraintSolver().
|
virtual |
Definition at line 216 of file btMultiBodyDynamicsWorld.cpp.
References buildIslands(), solveExternalForces(), and solveInternalConstraints().
|
virtual |
Definition at line 281 of file btMultiBodyDynamicsWorld.cpp.
References usdtokens::b(), BT_PROFILE, btAssert, btMultiBody, btMultiBodyConstraint, btTypedConstraint(), clearMultiBodyConstraintForces(), forwardKinematics(), getCollisionWorld(), getNumConstraints(), ISLAND_SLEEPING, m_constraints, m_constraintSolver, m_gravity, m_multiBodies, m_multiBodyConstraints, m_scratch_m, m_scratch_r, m_scratch_v, m_solverMultiBodyIslandCallback, m_sortedMultiBodyConstraints, btContactSolverInfoData::m_timeStep, operator()(), output, btConstraintSolver::prepareSolve(), btAlignedObjectArray< T >::quickSort(), btAlignedObjectArray< T >::resize(), MultiBodyInplaceSolverIslandCallback::setup(), btAlignedObjectArray< T >::size(), and size().
Referenced by solveConstraints().
|
virtual |
solve all the constraints for this island
Definition at line 228 of file btMultiBodyDynamicsWorld.cpp.
References btConstraintSolver::allSolved(), usdtokens::b(), BT_PROFILE, btMultiBody, ISLAND_SLEEPING, m_constraintSolver, m_multiBodies, m_scratch_m, m_scratch_r, m_scratch_v, m_solverMultiBodyIslandCallback, btContactSolverInfoData::m_timeStep, MultiBodyInplaceSolverIslandCallback::processConstraints(), btAlignedObjectArray< T >::resize(), and btAlignedObjectArray< T >::size().
Referenced by solveConstraints().
Reimplemented in btDeformableMultiBodyDynamicsWorld.
Definition at line 125 of file btMultiBodyDynamicsWorld.cpp.
References ACTIVE_TAG, usdtokens::b(), BT_PROFILE, btMultiBody, col, DISABLE_DEACTIVATION, m_multiBodies, btAlignedObjectArray< T >::size(), updateActivationState(), and WANTS_DEACTIVATION.
Referenced by btDeformableMultiBodyDynamicsWorld::updateActivationState().
|
protected |
Definition at line 34 of file btMultiBodyDynamicsWorld.h.
Referenced by addMultiBody(), applyGravity(), btDeformableMultiBodyDynamicsWorld::applyRigidBodyGravity(), calculateSimulationIslands(), btDeformableMultiBodyDynamicsWorld::clearGravity(), clearMultiBodyConstraintForces(), clearMultiBodyForces(), debugDrawWorld(), forwardKinematics(), getMultiBody(), getNumMultibodies(), integrateMultiBodyTransforms(), predictMultiBodyTransforms(), removeMultiBody(), serializeMultiBodies(), btDeformableMultiBodyDynamicsWorld::solveContactConstraints(), solveExternalForces(), solveInternalConstraints(), and updateActivationState().
|
protected |
Definition at line 35 of file btMultiBodyDynamicsWorld.h.
Referenced by addMultiBodyConstraint(), calculateSimulationIslands(), debugDrawWorld(), getMultiBodyConstraint(), getNumMultiBodyConstraints(), removeMultiBodyConstraint(), solveExternalForces(), and btDeformableMultiBodyDynamicsWorld::sortConstraints().
|
protected |
Definition at line 37 of file btMultiBodyDynamicsWorld.h.
Referenced by setConstraintSolver(), and setMultiBodyConstraintSolver().
|
protected |
Definition at line 42 of file btMultiBodyDynamicsWorld.h.
Referenced by forwardKinematics(), integrateMultiBodyTransforms(), and predictMultiBodyTransforms().
|
protected |
Definition at line 44 of file btMultiBodyDynamicsWorld.h.
Referenced by debugDrawWorld().
|
protected |
Definition at line 47 of file btMultiBodyDynamicsWorld.h.
Referenced by btDeformableMultiBodyDynamicsWorld::applyRigidBodyGravity(), btDeformableMultiBodyDynamicsWorld::solveContactConstraints(), solveExternalForces(), and solveInternalConstraints().
|
protected |
Definition at line 45 of file btMultiBodyDynamicsWorld.h.
Referenced by btDeformableMultiBodyDynamicsWorld::applyRigidBodyGravity(), btDeformableMultiBodyDynamicsWorld::solveContactConstraints(), solveExternalForces(), and solveInternalConstraints().
|
protected |
Definition at line 46 of file btMultiBodyDynamicsWorld.h.
Referenced by btDeformableMultiBodyDynamicsWorld::applyRigidBodyGravity(), btDeformableMultiBodyDynamicsWorld::solveContactConstraints(), solveExternalForces(), and solveInternalConstraints().
|
protected |
Definition at line 41 of file btMultiBodyDynamicsWorld.h.
Referenced by forwardKinematics(), integrateMultiBodyTransforms(), and predictMultiBodyTransforms().
|
protected |
Definition at line 43 of file btMultiBodyDynamicsWorld.h.
Referenced by debugDrawWorld().
|
protected |
Definition at line 38 of file btMultiBodyDynamicsWorld.h.
Referenced by btMultiBodyDynamicsWorld(), buildIslands(), getAnalyticsData(), setMultiBodyConstraintSolver(), solveExternalForces(), solveInternalConstraints(), and ~btMultiBodyDynamicsWorld().
|
protected |
Definition at line 36 of file btMultiBodyDynamicsWorld.h.
Referenced by btDeformableMultiBodyDynamicsWorld::setupConstraints(), solveExternalForces(), and btDeformableMultiBodyDynamicsWorld::sortConstraints().