Blender V2.61 - r43446
|
The btBox2dShape is a box primitive around the origin, its sides axis aligned with length specified by half extents, in local shape coordinates. When used as part of a btCollisionObject or btRigidBody it will be an oriented box in world space. More...
#include <btBox2dShape.h>
Public Member Functions | |
btVector3 | getHalfExtentsWithMargin () const |
const btVector3 & | getHalfExtentsWithoutMargin () const |
virtual btVector3 | localGetSupportingVertex (const btVector3 &vec) const |
SIMD_FORCE_INLINE btVector3 | localGetSupportingVertexWithoutMargin (const btVector3 &vec) const |
virtual void | batchedUnitVectorGetSupportingVertexWithoutMargin (const btVector3 *vectors, btVector3 *supportVerticesOut, int numVectors) const |
btBox2dShape (const btVector3 &boxHalfExtents) | |
virtual void | setMargin (btScalar collisionMargin) |
virtual void | setLocalScaling (const btVector3 &scaling) |
virtual void | getAabb (const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const |
getAabb's default implementation is brute force, expected derived classes to implement a fast dedicated version | |
virtual void | calculateLocalInertia (btScalar mass, btVector3 &inertia) const |
int | getVertexCount () const |
virtual int | getNumVertices () const |
const btVector3 * | getVertices () const |
const btVector3 * | getNormals () const |
virtual void | getPlane (btVector3 &planeNormal, btVector3 &planeSupport, int i) const |
const btVector3 & | getCentroid () const |
virtual int | getNumPlanes () const |
virtual int | getNumEdges () const |
virtual void | getVertex (int i, btVector3 &vtx) const |
virtual void | getPlaneEquation (btVector4 &plane, int i) const |
virtual void | getEdge (int i, btVector3 &pa, btVector3 &pb) const |
virtual bool | isInside (const btVector3 &pt, btScalar tolerance) const |
virtual const char * | getName () const |
virtual int | getNumPreferredPenetrationDirections () const |
virtual void | getPreferredPenetrationDirection (int index, btVector3 &penetrationVector) const |
The btBox2dShape is a box primitive around the origin, its sides axis aligned with length specified by half extents, in local shape coordinates. When used as part of a btCollisionObject or btRigidBody it will be an oriented box in world space.
Definition at line 26 of file btBox2dShape.h.
btBox2dShape::btBox2dShape | ( | const btVector3 & | boxHalfExtents | ) | [inline] |
Definition at line 86 of file btBox2dShape.h.
References BOX_2D_SHAPE_PROXYTYPE, btConvexInternalShape::getMargin(), btConvexInternalShape::m_implicitShapeDimensions, and btConvexInternalShape::m_localScaling.
virtual void btBox2dShape::batchedUnitVectorGetSupportingVertexWithoutMargin | ( | const btVector3 * | vectors, |
btVector3 * | supportVerticesOut, | ||
int | numVectors | ||
) | const [inline, virtual] |
Reimplemented from btPolyhedralConvexShape.
Definition at line 71 of file btBox2dShape.h.
References btFsels, getHalfExtentsWithoutMargin(), and i.
void btBox2dShape::calculateLocalInertia | ( | btScalar | mass, |
btVector3 & | inertia | ||
) | const [virtual] |
Reimplemented from btPolyhedralConvexShape.
Definition at line 28 of file btBox2dShape.cpp.
References getHalfExtentsWithMargin().
void btBox2dShape::getAabb | ( | const btTransform & | t, |
btVector3 & | aabbMin, | ||
btVector3 & | aabbMax | ||
) | const [virtual] |
getAabb's default implementation is brute force, expected derived classes to implement a fast dedicated version
Reimplemented from btConvexInternalShape.
Definition at line 22 of file btBox2dShape.cpp.
References btTransformAabb(), getHalfExtentsWithoutMargin(), and btConvexInternalShape::getMargin().
const btVector3& btBox2dShape::getCentroid | ( | ) | const [inline] |
Definition at line 174 of file btBox2dShape.h.
Referenced by FindMaxSeparation().
virtual void btBox2dShape::getEdge | ( | int | i, |
btVector3 & | pa, | ||
btVector3 & | pb | ||
) | const [inline, virtual] |
Implements btPolyhedralConvexShape.
Definition at line 233 of file btBox2dShape.h.
References btAssert, getVertex(), and i.
btVector3 btBox2dShape::getHalfExtentsWithMargin | ( | ) | const [inline] |
Definition at line 37 of file btBox2dShape.h.
References getHalfExtentsWithoutMargin(), and btConvexInternalShape::getMargin().
Referenced by calculateLocalInertia().
const btVector3& btBox2dShape::getHalfExtentsWithoutMargin | ( | ) | const [inline] |
Definition at line 45 of file btBox2dShape.h.
References btConvexInternalShape::m_implicitShapeDimensions.
Referenced by batchedUnitVectorGetSupportingVertexWithoutMargin(), getAabb(), getHalfExtentsWithMargin(), getPlaneEquation(), getVertex(), isInside(), localGetSupportingVertex(), and localGetSupportingVertexWithoutMargin().
virtual const char* btBox2dShape::getName | ( | void | ) | const [inline, virtual] |
Definition at line 322 of file btBox2dShape.h.
const btVector3* btBox2dShape::getNormals | ( | ) | const [inline] |
Definition at line 153 of file btBox2dShape.h.
Referenced by EdgeSeparation(), FindIncidentEdge(), and FindMaxSeparation().
virtual int btBox2dShape::getNumEdges | ( | ) | const [inline, virtual] |
Implements btPolyhedralConvexShape.
Definition at line 186 of file btBox2dShape.h.
virtual int btBox2dShape::getNumPlanes | ( | ) | const [inline, virtual] |
Implements btPolyhedralConvexShape.
Definition at line 179 of file btBox2dShape.h.
virtual int btBox2dShape::getNumPreferredPenetrationDirections | ( | ) | const [inline, virtual] |
Reimplemented from btConvexInternalShape.
Definition at line 327 of file btBox2dShape.h.
virtual int btBox2dShape::getNumVertices | ( | ) | const [inline, virtual] |
Implements btPolyhedralConvexShape.
Definition at line 143 of file btBox2dShape.h.
virtual void btBox2dShape::getPlane | ( | btVector3 & | planeNormal, |
btVector3 & | planeSupport, | ||
int | i | ||
) | const [inline, virtual] |
Implements btPolyhedralConvexShape.
Definition at line 164 of file btBox2dShape.h.
References getPlaneEquation(), and localGetSupportingVertex().
virtual void btBox2dShape::getPlaneEquation | ( | btVector4 & | plane, |
int | i | ||
) | const [inline, virtual] |
Definition at line 203 of file btBox2dShape.h.
References btAssert, getHalfExtentsWithoutMargin(), and btVector4::setValue().
Referenced by getPlane().
virtual void btBox2dShape::getPreferredPenetrationDirection | ( | int | index, |
btVector3 & | penetrationVector | ||
) | const [inline, virtual] |
Reimplemented from btConvexInternalShape.
Definition at line 332 of file btBox2dShape.h.
References btAssert.
virtual void btBox2dShape::getVertex | ( | int | i, |
btVector3 & | vtx | ||
) | const [inline, virtual] |
Implements btPolyhedralConvexShape.
Definition at line 192 of file btBox2dShape.h.
References getHalfExtentsWithoutMargin().
Referenced by getEdge().
int btBox2dShape::getVertexCount | ( | ) | const [inline] |
Definition at line 138 of file btBox2dShape.h.
Referenced by b2CollidePolygons(), EdgeSeparation(), FindIncidentEdge(), and FindMaxSeparation().
const btVector3* btBox2dShape::getVertices | ( | ) | const [inline] |
Definition at line 148 of file btBox2dShape.h.
Referenced by b2CollidePolygons(), EdgeSeparation(), and FindIncidentEdge().
virtual bool btBox2dShape::isInside | ( | const btVector3 & | pt, |
btScalar | tolerance | ||
) | const [inline, virtual] |
Implements btPolyhedralConvexShape.
Definition at line 304 of file btBox2dShape.h.
References getHalfExtentsWithoutMargin().
virtual btVector3 btBox2dShape::localGetSupportingVertex | ( | const btVector3 & | vec | ) | const [inline, virtual] |
Reimplemented from btConvexInternalShape.
Definition at line 51 of file btBox2dShape.h.
References btFsels, getHalfExtentsWithoutMargin(), and btConvexInternalShape::getMargin().
Referenced by getPlane().
SIMD_FORCE_INLINE btVector3 btBox2dShape::localGetSupportingVertexWithoutMargin | ( | const btVector3 & | vec | ) | const [inline, virtual] |
Reimplemented from btPolyhedralConvexShape.
Definition at line 62 of file btBox2dShape.h.
References btFsels, and getHalfExtentsWithoutMargin().
virtual void btBox2dShape::setLocalScaling | ( | const btVector3 & | scaling | ) | [inline, virtual] |
Reimplemented from btConvexInternalShape.
Definition at line 116 of file btBox2dShape.h.
References btConvexInternalShape::getMargin(), btConvexInternalShape::m_implicitShapeDimensions, and btConvexInternalShape::m_localScaling.
virtual void btBox2dShape::setMargin | ( | btScalar | collisionMargin | ) | [inline, virtual] |
Reimplemented from btConvexInternalShape.
Definition at line 105 of file btBox2dShape.h.
References btConvexInternalShape::getMargin(), and btConvexInternalShape::m_implicitShapeDimensions.