|
Blender V4.3
|
btManifoldResult is a helper class to manage contact results. More...
#include <btManifoldResult.h>
Inherits btDiscreteCollisionDetectorInterface::Result.
Inherited by btBridgedManifoldResult, and btPerturbedContactResult.
Static Public Member Functions | |
| static btScalar | calculateCombinedRestitution (const btCollisionObject *body0, const btCollisionObject *body1) |
| in the future we can let the user override the methods to combine restitution and friction | |
| static btScalar | calculateCombinedFriction (const btCollisionObject *body0, const btCollisionObject *body1) |
| User can override this material combiner by implementing gContactAddedCallback and setting body0->m_collisionFlags |= btCollisionObject::customMaterialCallback;. | |
| static btScalar | calculateCombinedRollingFriction (const btCollisionObject *body0, const btCollisionObject *body1) |
| static btScalar | calculateCombinedSpinningFriction (const btCollisionObject *body0, const btCollisionObject *body1) |
| static btScalar | calculateCombinedContactDamping (const btCollisionObject *body0, const btCollisionObject *body1) |
| static btScalar | calculateCombinedContactStiffness (const btCollisionObject *body0, const btCollisionObject *body1) |
Public Attributes | |
| btScalar | m_closestPointDistanceThreshold |
Protected Attributes | |
| btPersistentManifold * | m_manifoldPtr |
| const btCollisionObjectWrapper * | m_body0Wrap |
| const btCollisionObjectWrapper * | m_body1Wrap |
| int | m_partId0 |
| int | m_partId1 |
| int | m_index0 |
| int | m_index1 |
btManifoldResult is a helper class to manage contact results.
Definition at line 47 of file btManifoldResult.h.
|
inline |
Definition at line 60 of file btManifoldResult.h.
| btManifoldResult::btManifoldResult | ( | const btCollisionObjectWrapper * | body0Wrap, |
| const btCollisionObjectWrapper * | body1Wrap ) |
Definition at line 89 of file btManifoldResult.cpp.
|
inlinevirtual |
Definition at line 75 of file btManifoldResult.h.
|
virtual |
Implements btDiscreteCollisionDetectorInterface::Result.
Reimplemented in btBridgedManifoldResult, and btPerturbedContactResult.
Definition at line 105 of file btManifoldResult.cpp.
References BT_CONTACT_FLAG_CONTACT_STIFFNESS_DAMPING, BT_CONTACT_FLAG_FRICTION_ANCHOR, btAssert, btPlaneSpace1(), gCalculateCombinedContactDampingCallback, gCalculateCombinedContactStiffnessCallback, gCalculateCombinedFrictionCallback, gCalculateCombinedRestitutionCallback, gCalculateCombinedRollingFrictionCallback, gCalculateCombinedSpinningFrictionCallback, gContactAddedCallback, gContactStartedCallback, btCollisionObjectWrapper::getCollisionObject(), m_body0Wrap, m_body1Wrap, btManifoldPoint::m_combinedContactDamping1, btManifoldPoint::m_combinedContactStiffness1, btManifoldPoint::m_combinedFriction, btManifoldPoint::m_combinedRestitution, btManifoldPoint::m_combinedRollingFriction, btManifoldPoint::m_combinedSpinningFriction, btManifoldPoint::m_contactPointFlags, btManifoldPoint::m_index0, m_index0, btManifoldPoint::m_index1, m_index1, btManifoldPoint::m_lateralFrictionDir1, btManifoldPoint::m_lateralFrictionDir2, m_manifoldPtr, btManifoldPoint::m_normalWorldOnB, btManifoldPoint::m_partId0, m_partId0, btManifoldPoint::m_partId1, m_partId1, btManifoldPoint::m_positionWorldOnA, and btManifoldPoint::m_positionWorldOnB.
Referenced by btGImpactCollisionAlgorithm::addContactPoint(), btPerturbedContactResult::addContactPoint(), btConvexPlaneCollisionAlgorithm::collideSingleContact(), btConvexConvexAlgorithm::processCollision(), btConvexPlaneCollisionAlgorithm::processCollision(), btSphereBoxCollisionAlgorithm::processCollision(), and btSphereSphereCollisionAlgorithm::processCollision().
|
static |
Definition at line 73 of file btManifoldResult.cpp.
|
static |
Definition at line 78 of file btManifoldResult.cpp.
|
static |
User can override this material combiner by implementing gContactAddedCallback and setting body0->m_collisionFlags |= btCollisionObject::customMaterialCallback;.
Definition at line 56 of file btManifoldResult.cpp.
|
static |
in the future we can let the user override the methods to combine restitution and friction
Definition at line 68 of file btManifoldResult.cpp.
|
static |
Definition at line 31 of file btManifoldResult.cpp.
|
static |
Definition at line 43 of file btManifoldResult.cpp.
|
inline |
Definition at line 142 of file btManifoldResult.h.
References btCollisionObjectWrapper::getCollisionObject(), and m_body0Wrap.
Referenced by btCompoundLeafCallback::ProcessChildShape().
|
inline |
Definition at line 123 of file btManifoldResult.h.
References m_body0Wrap.
Referenced by btGImpactCollisionAlgorithm::gimpact_vs_compoundshape(), btGImpactCollisionAlgorithm::gimpact_vs_shape(), btCompoundCompoundLeafCallback::Process(), btCompoundLeafCallback::ProcessChildShape(), and btGImpactTriangleCallback::processTriangle().
|
inline |
Definition at line 147 of file btManifoldResult.h.
References btCollisionObjectWrapper::getCollisionObject(), and m_body1Wrap.
|
inline |
Definition at line 127 of file btManifoldResult.h.
References m_body1Wrap.
Referenced by btGImpactCollisionAlgorithm::gimpact_vs_compoundshape(), btGImpactCollisionAlgorithm::gimpact_vs_shape(), btCompoundCompoundLeafCallback::Process(), btCompoundLeafCallback::ProcessChildShape(), and btGImpactTriangleCallback::processTriangle().
|
inline |
Definition at line 86 of file btManifoldResult.h.
References m_manifoldPtr.
|
inline |
Definition at line 82 of file btManifoldResult.h.
References m_manifoldPtr.
Referenced by btConvexConvexAlgorithm::processCollision(), and btConvexPlaneCollisionAlgorithm::processCollision().
|
inline |
Definition at line 105 of file btManifoldResult.h.
References btAssert, btCollisionObjectWrapper::getCollisionObject(), m_body0Wrap, m_body1Wrap, and m_manifoldPtr.
Referenced by btBox2dBox2dCollisionAlgorithm::processCollision(), btBoxBoxCollisionAlgorithm::processCollision(), btCompoundCollisionAlgorithm::processCollision(), btCompoundCompoundCollisionAlgorithm::processCollision(), btConvex2dConvex2dAlgorithm::processCollision(), btConvexConvexAlgorithm::processCollision(), btConvexPlaneCollisionAlgorithm::processCollision(), btGImpactCollisionAlgorithm::processCollision(), btSphereBoxCollisionAlgorithm::processCollision(), btSphereSphereCollisionAlgorithm::processCollision(), and btSphereTriangleCollisionAlgorithm::processCollision().
|
inline |
Definition at line 132 of file btManifoldResult.h.
References m_body0Wrap.
Referenced by btGImpactCollisionAlgorithm::gimpact_vs_compoundshape(), btGImpactCollisionAlgorithm::gimpact_vs_shape(), btCompoundCompoundLeafCallback::Process(), btCompoundLeafCallback::ProcessChildShape(), and btGImpactTriangleCallback::processTriangle().
|
inline |
Definition at line 137 of file btManifoldResult.h.
References m_body1Wrap.
Referenced by btGImpactCollisionAlgorithm::gimpact_vs_compoundshape(), btGImpactCollisionAlgorithm::gimpact_vs_shape(), btCompoundCompoundLeafCallback::Process(), btCompoundLeafCallback::ProcessChildShape(), and btGImpactTriangleCallback::processTriangle().
|
inline |
Definition at line 77 of file btManifoldResult.h.
References m_manifoldPtr, and manifoldPtr.
Referenced by btGImpactCollisionAlgorithm::checkManifold(), btConvexPlaneCollisionAlgorithm::collideSingleContact(), btBox2dBox2dCollisionAlgorithm::processCollision(), btBoxBoxCollisionAlgorithm::processCollision(), btCompoundCollisionAlgorithm::processCollision(), btCompoundCompoundCollisionAlgorithm::processCollision(), btConvex2dConvex2dAlgorithm::processCollision(), btConvexConvexAlgorithm::processCollision(), btConvexPlaneCollisionAlgorithm::processCollision(), btSphereBoxCollisionAlgorithm::processCollision(), btSphereSphereCollisionAlgorithm::processCollision(), and btSphereTriangleCollisionAlgorithm::processCollision().
setShapeIdentifiersA/B provides experimental support for per-triangle material / custom material combiner
Implements btDiscreteCollisionDetectorInterface::Result.
Definition at line 91 of file btManifoldResult.h.
References m_index0, and m_partId0.
Referenced by btGImpactCollisionAlgorithm::addContactPoint(), btGImpactCollisionAlgorithm::convex_vs_convex_collision(), btCompoundCompoundLeafCallback::Process(), btCompoundLeafCallback::ProcessChildShape(), and btGImpactCollisionAlgorithm::shape_vs_shape_collision().
Implements btDiscreteCollisionDetectorInterface::Result.
Definition at line 97 of file btManifoldResult.h.
References m_index1, and m_partId1.
Referenced by btGImpactCollisionAlgorithm::addContactPoint(), btGImpactCollisionAlgorithm::convex_vs_convex_collision(), btCompoundCompoundLeafCallback::Process(), btCompoundLeafCallback::ProcessChildShape(), and btGImpactCollisionAlgorithm::shape_vs_shape_collision().
|
protected |
Definition at line 52 of file btManifoldResult.h.
Referenced by btBridgedManifoldResult::addContactPoint(), addContactPoint(), getBody0Internal(), getBody0Wrap(), refreshContactPoints(), and setBody0Wrap().
|
protected |
Definition at line 53 of file btManifoldResult.h.
Referenced by btBridgedManifoldResult::addContactPoint(), addContactPoint(), getBody1Internal(), getBody1Wrap(), refreshContactPoints(), and setBody1Wrap().
| btScalar btManifoldResult::m_closestPointDistanceThreshold |
Definition at line 152 of file btManifoldResult.h.
Referenced by btCollisionWorld::contactPairTest(), btCompoundCompoundLeafCallback::Process(), btCompoundLeafCallback::ProcessChildShape(), btCompoundCollisionAlgorithm::processCollision(), btCompoundCompoundCollisionAlgorithm::processCollision(), btConvexConvexAlgorithm::processCollision(), btConvexPlaneCollisionAlgorithm::processCollision(), btSphereSphereCollisionAlgorithm::processCollision(), btSphereTriangleCollisionAlgorithm::processCollision(), and btSoftBodyTriangleCallback::processTriangle().
|
protected |
Definition at line 56 of file btManifoldResult.h.
Referenced by btBridgedManifoldResult::addContactPoint(), addContactPoint(), and setShapeIdentifiersA().
|
protected |
Definition at line 57 of file btManifoldResult.h.
Referenced by btBridgedManifoldResult::addContactPoint(), addContactPoint(), and setShapeIdentifiersB().
|
protected |
Definition at line 50 of file btManifoldResult.h.
Referenced by btBridgedManifoldResult::addContactPoint(), addContactPoint(), getPersistentManifold(), getPersistentManifold(), refreshContactPoints(), and setPersistentManifold().
|
protected |
Definition at line 54 of file btManifoldResult.h.
Referenced by btBridgedManifoldResult::addContactPoint(), addContactPoint(), and setShapeIdentifiersA().
|
protected |
Definition at line 55 of file btManifoldResult.h.
Referenced by btBridgedManifoldResult::addContactPoint(), addContactPoint(), and setShapeIdentifiersB().