Blender
V3.3
|
btManifoldResult is a helper class to manage contact results. More...
#include <btManifoldResult.h>
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 More... | |
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;. More... | |
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 btPerturbedContactResult, and btBridgedManifoldResult.
Definition at line 105 of file btManifoldResult.cpp.
References BT_CONTACT_FLAG_CONTACT_STIFFNESS_DAMPING, BT_CONTACT_FLAG_FRICTION_ANCHOR, btAssert, btPlaneSpace1(), btVector3, CF_CUSTOM_MATERIAL_CALLBACK, CF_HAS_CONTACT_STIFFNESS_DAMPING, CF_HAS_FRICTION_ANCHOR, 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, m_index0, btManifoldPoint::m_index0, m_index1, btManifoldPoint::m_index1, btManifoldPoint::m_lateralFrictionDir1, btManifoldPoint::m_lateralFrictionDir2, m_manifoldPtr, btManifoldPoint::m_normalWorldOnB, m_partId0, btManifoldPoint::m_partId0, m_partId1, btManifoldPoint::m_partId1, btManifoldPoint::m_positionWorldOnA, and btManifoldPoint::m_positionWorldOnB.
Referenced by btGImpactCollisionAlgorithm::addContactPoint(), btPerturbedContactResult::addContactPoint(), b2CollidePolygons(), 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(), btSphereBoxCollisionAlgorithm::processCollision(), btSphereSphereCollisionAlgorithm::processCollision(), btSphereTriangleCollisionAlgorithm::processCollision(), and btGImpactCollisionAlgorithm::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().
|
inlinevirtual |
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().
|
inlinevirtual |
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(), 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().