Blender
V3.3
|
#include "btCollisionShape.h"
#include "LinearMath/btVector3.h"
#include "LinearMath/btTransform.h"
#include "LinearMath/btMatrix3x3.h"
#include "btCollisionMargin.h"
#include "LinearMath/btAlignedAllocator.h"
Go to the source code of this file.
Macros | |
#define | MAX_PREFERRED_PENETRATION_DIRECTIONS 10 |
Functions | |
btConvexShape () | |
not supported on IBM SDK, until we fix the alignment of btVector3 More... | |
virtual | ~btConvexShape () |
virtual btVector3 | localGetSupportingVertex (const btVector3 &vec) const =0 |
virtual btVector3 | localGetSupportingVertexWithoutMargin (const btVector3 &vec) const =0 |
btConvexShape Interface More... | |
btVector3 | localGetSupportVertexWithoutMarginNonVirtual (const btVector3 &vec) const |
btVector3 | localGetSupportVertexNonVirtual (const btVector3 &vec) const |
btScalar | getMarginNonVirtual () const |
void | getAabbNonVirtual (const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const |
virtual void | project (const btTransform &trans, const btVector3 &dir, btScalar &minProj, btScalar &maxProj, btVector3 &witnesPtMin, btVector3 &witnesPtMax) const |
virtual void | batchedUnitVectorGetSupportingVertexWithoutMargin (const btVector3 *vectors, btVector3 *supportVerticesOut, int numVectors) const =0 |
void | getAabb (const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const =0 |
getAabb's default implementation is brute force, expected derived classes to implement a fast dedicated version More... | |
virtual void | getAabbSlow (const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const =0 |
virtual void | setLocalScaling (const btVector3 &scaling)=0 |
in case we receive negative scaling More... | |
virtual const btVector3 & | getLocalScaling () const =0 |
virtual void | setMargin (btScalar margin)=0 |
virtual btScalar | getMargin () const =0 |
virtual int | getNumPreferredPenetrationDirections () const =0 |
virtual void | getPreferredPenetrationDirection (int index, btVector3 &penetrationVector) const =0 |
Variables | |
btConvexShape | __pad0__ |
#define MAX_PREFERRED_PENETRATION_DIRECTIONS 10 |
Definition at line 27 of file btConvexShape.h.
|
pure virtual |
Definition at line 71 of file btBox2dShape.h.
btConvexShape::btConvexShape | ( | ) |
not supported on IBM SDK, until we fix the alignment of btVector3
Definition at line 41 of file btConvexShape.cpp.
Referenced by btConvex2dConvex2dAlgorithm::calculateTimeOfImpact(), btConvexConvexAlgorithm::calculateTimeOfImpact(), btSoftBody::checkDeformableFaceContact(), btConvexPlaneCollisionAlgorithm::collideSingleContact(), btSparseSdf< CELLSIZE >::DistanceToShape(), btCollisionWorld::objectQuerySingleInternal(), btSoftColliders::CollideCL_RS::Process(), btConvex2dConvex2dAlgorithm::processCollision(), btConvexConvexAlgorithm::processCollision(), btConvexPlaneCollisionAlgorithm::processCollision(), btCollisionWorld::rayTestSingleInternal(), and RB_world_convex_sweep_test().
|
pure virtual |
getAabb's default implementation is brute force, expected derived classes to implement a fast dedicated version
getAabb's default implementation is brute force, expected derived classes to implement a fast dedicated version
getAabb returns the axis aligned bounding box in the coordinate frame of the given transform t.
Definition at line 54 of file btCapsuleShape.h.
void btConvexShape::getAabbNonVirtual | ( | const btTransform & | t, |
btVector3 & | aabbMin, | ||
btVector3 & | aabbMax | ||
) | const |
Definition at line 374 of file btConvexShape.cpp.
References BOX_SHAPE_PROXYTYPE, btAssert, btBoxShape(), btCapsuleShape(), btMatrix3x3, btSphereShape(), btTriangleShape(), btVector3, CAPSULE_SHAPE_PROXYTYPE, center, CONVEX_HULL_SHAPE_PROXYTYPE, CONVEX_POINT_CLOUD_SHAPE_PROXYTYPE, CYLINDER_SHAPE_PROXYTYPE, getAabb(), btPolyhedralConvexAabbCachingShape::getNonvirtualAabb(), localGetSupportVertexWithoutMarginNonVirtual(), m_upAxis, SPHERE_SHAPE_PROXYTYPE, t, and TRIANGLE_SHAPE_PROXYTYPE.
|
pure virtual |
|
pure virtual |
Definition at line 126 of file btCompoundShape.h.
|
pure virtual |
Definition at line 137 of file btCompoundShape.h.
btScalar btConvexShape::getMarginNonVirtual | ( | ) | const |
Definition at line 320 of file btConvexShape.cpp.
References BOX_SHAPE_PROXYTYPE, btAssert, btBoxShape(), btCapsuleShape(), btConeShape(), btCylinderShape(), btPolyhedralConvexShape(), btSphereShape(), btTriangleShape(), CAPSULE_SHAPE_PROXYTYPE, CONE_SHAPE_PROXYTYPE, CONVEX_HULL_SHAPE_PROXYTYPE, CONVEX_POINT_CLOUD_SHAPE_PROXYTYPE, CYLINDER_SHAPE_PROXYTYPE, getMargin(), SPHERE_SHAPE_PROXYTYPE, and TRIANGLE_SHAPE_PROXYTYPE.
Referenced by localGetSupportVertexNonVirtual().
|
pure virtual |
Definition at line 306 of file btBox2dShape.h.
|
pure virtual |
Definition at line 311 of file btBox2dShape.h.
Definition at line 51 of file btBox2dShape.h.
btConvexShape Interface
Definition at line 62 of file btBox2dShape.h.
Definition at line 307 of file btConvexShape.cpp.
References btVector3, getMarginNonVirtual(), localGetSupportVertexWithoutMarginNonVirtual(), and SIMD_EPSILON.
Referenced by gjkepa2_impl::MinkowskiDiff::EnableMargin().
btVector3 btConvexShape::localGetSupportVertexWithoutMarginNonVirtual | ( | const btVector3 & | vec | ) | const |
Definition at line 131 of file btConvexShape.cpp.
References BOX_SHAPE_PROXYTYPE, BT_LARGE_FLOAT, btAssert, btBoxShape(), btCapsuleShape(), btConvexHullShape(), btConvexPointCloudShape(), btCylinderShape(), btFsels, btSqrt(), btTriangleShape(), btVector3, CAPSULE_SHAPE_PROXYTYPE, CONVEX_HULL_SHAPE_PROXYTYPE, CONVEX_POINT_CLOUD_SHAPE_PROXYTYPE, convexHullSupport(), CYLINDER_SHAPE_PROXYTYPE, localGetSupportingVertexWithoutMargin(), maxDot(), pos, SIMD_EPSILON, SPHERE_SHAPE_PROXYTYPE, TRIANGLE_SHAPE_PROXYTYPE, and v.
Referenced by gjkepa2_impl::MinkowskiDiff::EnableMargin(), getAabbNonVirtual(), and localGetSupportVertexNonVirtual().
|
virtual |
in case we receive negative scaling
Definition at line 120 of file btBox2dShape.h.
Definition at line 110 of file btBox2dShape.h.
|
virtual |
Definition at line 45 of file btConvexShape.cpp.
btConvexShape __pad0__ |
The btConvexShape is an abstract shape interface, implemented by all convex shapes such as btBoxShape, btConvexHullShape etc. It describes general convex shapes using the localGetSupportingVertex interface, used by collision detectors such as btGjkPairDetector.
Definition at line 32 of file btConvexShape.h.