|
Blender V5.0
|
#include <btDeformableMultiBodyDynamicsWorld.h>
Inherits btMultiBodyDynamicsWorld.
Classes | |
| struct | btDeformableSingleRayCallback |
Protected Member Functions | |
| virtual void | internalSingleStepSimulation (btScalar timeStep) |
| virtual void | integrateTransforms (btScalar timeStep) |
| void | positionCorrection (btScalar timeStep) |
| void | solveConstraints (btScalar timeStep) |
| void | updateActivationState (btScalar timeStep) |
| void | clearGravity () |
| Protected Member Functions inherited from btMultiBodyDynamicsWorld | |
| virtual void | calculateSimulationIslands () |
| virtual void | serializeMultiBodies (btSerializer *serializer) |
Additional Inherited Members | |
| Protected Attributes inherited from btMultiBodyDynamicsWorld | |
| btAlignedObjectArray< btMultiBody * > | m_multiBodies |
| btAlignedObjectArray< btMultiBodyConstraint * > | m_multiBodyConstraints |
| btAlignedObjectArray< btMultiBodyConstraint * > | m_sortedMultiBodyConstraints |
| btMultiBodyConstraintSolver * | m_multiBodyConstraintSolver |
| MultiBodyInplaceSolverIslandCallback * | m_solverMultiBodyIslandCallback |
| btAlignedObjectArray< btQuaternion > | m_scratch_world_to_local |
| btAlignedObjectArray< btVector3 > | m_scratch_local_origin |
| btAlignedObjectArray< btQuaternion > | m_scratch_world_to_local1 |
| btAlignedObjectArray< btVector3 > | m_scratch_local_origin1 |
| btAlignedObjectArray< btScalar > | m_scratch_r |
| btAlignedObjectArray< btVector3 > | m_scratch_v |
| btAlignedObjectArray< btMatrix3x3 > | m_scratch_m |
Definition at line 37 of file btDeformableMultiBodyDynamicsWorld.h.
| btDeformableMultiBodyDynamicsWorld::btDeformableMultiBodyDynamicsWorld | ( | btDispatcher * | dispatcher, |
| btBroadphaseInterface * | pairCache, | ||
| btDeformableMultiBodyConstraintSolver * | constraintSolver, | ||
| btCollisionConfiguration * | collisionConfiguration, | ||
| btDeformableBodySolver * | deformableBodySolver = 0 ) |
Definition at line 42 of file btDeformableMultiBodyDynamicsWorld.cpp.
References btMultiBodyDynamicsWorld::btMultiBodyDynamicsWorld(), btVector3, and fDrawFlags::Std.
Referenced by btDeformableMultiBodyDynamicsWorld::btDeformableSingleRayCallback::btDeformableSingleRayCallback().
|
virtual |
Definition at line 70 of file btDeformableMultiBodyDynamicsWorld.cpp.
| void btDeformableMultiBodyDynamicsWorld::addForce | ( | btSoftBody * | psb, |
| btDeformableLagrangianForce * | force ) |
|
virtual |
Definition at line 501 of file btDeformableMultiBodyDynamicsWorld.cpp.
References btCollisionWorld::addCollisionObject(), and btSoftBody::setSoftBodySolver().
| void btDeformableMultiBodyDynamicsWorld::afterSolverCallbacks | ( | btScalar | timeStep | ) |
Definition at line 674 of file btDeformableMultiBodyDynamicsWorld.cpp.
Referenced by internalSingleStepSimulation().
| void btDeformableMultiBodyDynamicsWorld::applyRepulsionForce | ( | btScalar | timeStep | ) |
Definition at line 163 of file btDeformableMultiBodyDynamicsWorld.cpp.
References btSoftBody::applyRepulsionForce(), BT_PROFILE, and i.
Referenced by internalSingleStepSimulation().
| void btDeformableMultiBodyDynamicsWorld::applyRigidBodyGravity | ( | btScalar | timeStep | ) |
Definition at line 560 of file btDeformableMultiBodyDynamicsWorld.cpp.
References btMultiBodyDynamicsWorld::applyGravity(), b, btAssert, btMultiBody, clearGravity(), btMultiBodyDynamicsWorld::clearMultiBodyConstraintForces(), btMultiBodyDynamicsWorld::forwardKinematics(), i, btRigidBody::integrateVelocities(), ISLAND_SLEEPING, btMultiBodyDynamicsWorld::m_multiBodies, m_nonStaticRigidBodies, btMultiBodyDynamicsWorld::m_scratch_m, btMultiBodyDynamicsWorld::m_scratch_r, and btMultiBodyDynamicsWorld::m_scratch_v.
Referenced by internalSingleStepSimulation().
| void btDeformableMultiBodyDynamicsWorld::beforeSolverCallbacks | ( | btScalar | timeStep | ) |
Definition at line 661 of file btDeformableMultiBodyDynamicsWorld.cpp.
Referenced by internalSingleStepSimulation().
|
protected |
Definition at line 620 of file btDeformableMultiBodyDynamicsWorld.cpp.
References b, BT_PROFILE, btMultiBody, btRigidBody::clearGravity(), i, ISLAND_SLEEPING, m_gravity, btMultiBodyDynamicsWorld::m_multiBodies, and m_nonStaticRigidBodies.
Referenced by applyRigidBodyGravity().
|
virtual |
Reimplemented from btMultiBodyDynamicsWorld.
Definition at line 546 of file btDeformableMultiBodyDynamicsWorld.cpp.
References btMultiBodyDynamicsWorld::debugDrawWorld(), btSoftBodyHelpers::Draw(), btSoftBodyHelpers::DrawFrame(), getDrawFlags(), getSoftBodyArray(), i, and btAlignedObjectArray< T >::size().
|
inline |
Definition at line 142 of file btDeformableMultiBodyDynamicsWorld.h.
Referenced by debugDrawWorld().
|
inlinevirtual |
Definition at line 85 of file btDeformableMultiBodyDynamicsWorld.h.
References btMultiBodyDynamicsWorld::btMultiBodyDynamicsWorld().
|
inlinevirtual |
Definition at line 90 of file btDeformableMultiBodyDynamicsWorld.h.
References btMultiBodyDynamicsWorld::btMultiBodyDynamicsWorld().
|
inline |
Definition at line 104 of file btDeformableMultiBodyDynamicsWorld.h.
Referenced by debugDrawWorld().
|
inline |
Definition at line 109 of file btDeformableMultiBodyDynamicsWorld.h.
|
inline |
Definition at line 114 of file btDeformableMultiBodyDynamicsWorld.h.
|
inline |
Definition at line 119 of file btDeformableMultiBodyDynamicsWorld.h.
|
inlinevirtual |
Definition at line 95 of file btDeformableMultiBodyDynamicsWorld.h.
References BT_DEFORMABLE_MULTIBODY_DYNAMICS_WORLD.
|
protectedvirtual |
Reimplemented from btMultiBodyDynamicsWorld.
Definition at line 295 of file btDeformableMultiBodyDynamicsWorld.cpp.
References BT_PROFILE, btCollisionShape, btCross(), btMatrix3x3, btTransform, btVector3, Diagonal(), btSparseSdf< CELLSIZE >::Evaluate(), findJacobian(), generateUnitOrthogonalVector(), btSoftBody::getWorldInfo(), i, btMultiBodyDynamicsWorld::integrateTransforms(), btSoftBody::interpolateRenderMesh(), inverse, btSoftBody::DeformableRigidContact::jacobianData_normal, btSoftBody::DeformableRigidContact::jacobianData_t1, btSoftBody::DeformableRigidContact::jacobianData_t2, btSoftBody::DeformableRigidContact::m_c0, btSoftBody::sCti::m_colObj, btSoftBody::DeformableRigidContact::m_cti, btSoftBody::m_deformableAnchors, btMultiBodyJacobianData::m_deltaVelocitiesUnitImpulse, btSoftBody::Node::m_im, btMultiBodyJacobianData::m_jacobians, btSoftBody::DeformableNodeRigidAnchor::m_local, btSoftBodyWorldInfo::m_maxDisplacement, btMultiBodyLinkCollider::m_multiBody, btSoftBody::DeformableNodeRigidContact::m_node, btSoftBody::m_nodes, btSoftBody::sCti::m_normal, btSoftBody::Node::m_q, btSoftBodyWorldInfo::m_sparsesdf, btSoftBody::Node::m_splitv, btSoftBody::Node::m_v, btSoftBody::Node::m_vn, btSoftBody::m_worldInfo, btSoftBody::Node::m_x, OuterProduct(), positionCorrection(), rot, btAlignedObjectArray< T >::size(), btSoftBody::DeformableRigidContact::t1, btSoftBody::DeformableRigidContact::t2, and btMultiBodyLinkCollider::upcast().
Referenced by internalSingleStepSimulation().
|
protectedvirtual |
apply gravity and explicit force to velocity, predict motion
perform collision detection that involves rigid/multi bodies
solve contact constraints and then deformable bodies momemtum equation
update vehicle simulation
Definition at line 75 of file btDeformableMultiBodyDynamicsWorld.cpp.
References afterSolverCallbacks(), applyRepulsionForce(), applyRigidBodyGravity(), beforeSolverCallbacks(), BT_PROFILE, btMultiBodyDynamicsWorld::calculateSimulationIslands(), integrateTransforms(), performDeformableCollisionDetection(), performGeometricCollisions(), predictUnconstraintMotion(), reinitialize(), solveConstraints(), and updateActivationState().
Referenced by stepSimulation().
| void btDeformableMultiBodyDynamicsWorld::performDeformableCollisionDetection | ( | ) |
Definition at line 118 of file btDeformableMultiBodyDynamicsWorld.cpp.
References i.
Referenced by internalSingleStepSimulation().
| void btDeformableMultiBodyDynamicsWorld::performGeometricCollisions | ( | btScalar | timeStep | ) |
Definition at line 176 of file btDeformableMultiBodyDynamicsWorld.cpp.
References btSoftBody::applyRepulsionForce(), BT_PROFILE, cross, i, btSoftBody::m_faceNodeContacts, btSoftBody::m_faces, btSoftBody::Face::m_n, btSoftBody::Face::m_n0, btSoftBody::Face::m_n1, btSoftBody::m_nodes, btSoftBody::Node::m_q, btSoftBody::Node::m_v, btSoftBody::Face::m_vn, btSoftBody::Node::m_x, and btAlignedObjectArray< T >::size().
Referenced by internalSingleStepSimulation().
|
protected |
Definition at line 273 of file btDeformableMultiBodyDynamicsWorld.cpp.
References btTransform, btVector3, btRigidBody::getPushVelocity(), btRigidBody::getTurnVelocity(), i, infoGlobal, btTransformUtil::integrateTransform(), m_nonStaticRigidBodies, btRigidBody::setPushVelocity(), and btRigidBody::setTurnVelocity().
Referenced by integrateTransforms().
|
virtual |
Reimplemented from btMultiBodyDynamicsWorld.
Definition at line 514 of file btDeformableMultiBodyDynamicsWorld.cpp.
References BT_PROFILE, and btMultiBodyDynamicsWorld::predictUnconstraintMotion().
Referenced by internalSingleStepSimulation().
|
inline |
use the broadphase to accelerate the search for objects, based on their aabb and for each object with ray-aabb overlap, perform an exact ray test
Definition at line 250 of file btDeformableMultiBodyDynamicsWorld.h.
References BT_PROFILE, btVector3, getBroadphaseHandle(), i, and btDeformableMultiBodyDynamicsWorld::btDeformableSingleRayCallback::process().
|
inline |
Definition at line 267 of file btDeformableMultiBodyDynamicsWorld.h.
References btCollisionObject, btCollisionShape, btTransform, btVector3, btSoftBody::sRayCast::fraction, btSoftBody::sRayCast::index, btSoftBody::m_faces, btCollisionWorld::LocalShapeInfo::m_shapePart, btCollisionWorld::LocalShapeInfo::m_triangleIndex, btSoftBody::rayFaceTest(), btCollisionWorld::rayTestSingle(), and btSoftBody::upcast().
| void btDeformableMultiBodyDynamicsWorld::reinitialize | ( | btScalar | timeStep | ) |
Definition at line 521 of file btDeformableMultiBodyDynamicsWorld.cpp.
References btDispatcherInfo::m_debugDraw, btDispatcherInfo::m_stepCount, and btDispatcherInfo::m_timeStep.
Referenced by internalSingleStepSimulation().
| void btDeformableMultiBodyDynamicsWorld::removeCollisionObject | ( | btCollisionObject * | collisionObject | ) |
Definition at line 739 of file btDeformableMultiBodyDynamicsWorld.cpp.
References btCollisionObject, removeSoftBody(), and btSoftBody::upcast().
| void btDeformableMultiBodyDynamicsWorld::removeForce | ( | btSoftBody * | psb, |
| btDeformableLagrangianForce * | force ) |
Definition at line 703 of file btDeformableMultiBodyDynamicsWorld.cpp.
References btDeformableLagrangianForce::getForceType(), i, btAlignedObjectArray< T >::removeAtIndex(), and btAlignedObjectArray< T >::size().
| void btDeformableMultiBodyDynamicsWorld::removeSoftBody | ( | btSoftBody * | body | ) |
Definition at line 730 of file btDeformableMultiBodyDynamicsWorld.cpp.
References btCollisionWorld::removeCollisionObject(), and removeSoftBodyForce().
Referenced by removeCollisionObject().
| void btDeformableMultiBodyDynamicsWorld::removeSoftBodyForce | ( | btSoftBody * | psb | ) |
Definition at line 721 of file btDeformableMultiBodyDynamicsWorld.cpp.
References i, and btAlignedObjectArray< T >::size().
Referenced by removeSoftBody().
|
inline |
Definition at line 143 of file btDeformableMultiBodyDynamicsWorld.h.
|
inline |
Definition at line 157 of file btDeformableMultiBodyDynamicsWorld.h.
|
inline |
Definition at line 162 of file btDeformableMultiBodyDynamicsWorld.h.
|
inline |
Definition at line 78 of file btDeformableMultiBodyDynamicsWorld.h.
| void btDeformableMultiBodyDynamicsWorld::setupConstraints | ( | ) |
Definition at line 407 of file btDeformableMultiBodyDynamicsWorld.cpp.
References btMultiBodyConstraint, btTypedConstraint(), getCollisionWorld(), getNumConstraints(), m_islandManager, btMultiBodyDynamicsWorld::m_sortedMultiBodyConstraints, and sortConstraints().
Referenced by solveConstraints().
|
inline |
Definition at line 167 of file btDeformableMultiBodyDynamicsWorld.h.
| void btDeformableMultiBodyDynamicsWorld::softBodySelfCollision | ( | ) |
Definition at line 260 of file btDeformableMultiBodyDynamicsWorld.cpp.
References BT_PROFILE, btSoftBody::defaultCollisionHandler(), and i.
|
protected |
Definition at line 379 of file btDeformableMultiBodyDynamicsWorld.cpp.
References BT_PROFILE, setupConstraints(), and solveContactConstraints().
Referenced by internalSingleStepSimulation().
| void btDeformableMultiBodyDynamicsWorld::solveContactConstraints | ( | ) |
Definition at line 443 of file btDeformableMultiBodyDynamicsWorld.cpp.
References b, btMultiBody, getCollisionWorld(), i, ISLAND_SLEEPING, m_constraintSolver, m_islandManager, btMultiBodyDynamicsWorld::m_multiBodies, btMultiBodyDynamicsWorld::m_scratch_m, btMultiBodyDynamicsWorld::m_scratch_r, and btMultiBodyDynamicsWorld::m_scratch_v.
Referenced by solveConstraints().
| void btDeformableMultiBodyDynamicsWorld::solveMultiBodyConstraints | ( | ) |
| void btDeformableMultiBodyDynamicsWorld::sortConstraints | ( | ) |
Definition at line 425 of file btDeformableMultiBodyDynamicsWorld.cpp.
References getNumConstraints(), i, m_constraints, btMultiBodyDynamicsWorld::m_multiBodyConstraints, and btMultiBodyDynamicsWorld::m_sortedMultiBodyConstraints.
Referenced by setupConstraints().
|
virtual |
Definition at line 748 of file btDeformableMultiBodyDynamicsWorld.cpp.
References btFuzzyZero(), btMultiBodyDynamicsWorld::clearForces(), btIDebugDraw::DBG_NoDeactivation, gDisableDeactivation, btIDebugDraw::getDebugMode(), i, internalSingleStepSimulation(), m_fixedTimeStep, m_latencyMotionStateInterpolation, m_localTime, saveKinematicState(), startProfiling(), and synchronizeMotionStates().
|
protectedvirtual |
Reimplemented from btMultiBodyDynamicsWorld.
Definition at line 139 of file btDeformableMultiBodyDynamicsWorld.cpp.
References ACTIVE_TAG, DISABLE_DEACTIVATION, i, ISLAND_SLEEPING, btSoftBody::setZeroVelocity(), btMultiBodyDynamicsWorld::updateActivationState(), btSoftBody::updateDeactivation(), WANTS_DEACTIVATION, and btSoftBody::wantsSleeping().
Referenced by internalSingleStepSimulation().