Blender
V3.3
|
#include "btPolyhedralConvexShape.h"
#include "BulletCollision/BroadphaseCollision/btBroadphaseProxy.h"
Go to the source code of this file.
Functions | |
BT_DECLARE_ALIGNED_ALLOCATOR () | |
btConvexTriangleMeshShape (btStridingMeshInterface *meshInterface, bool calcAabb=true) | |
class btStridingMeshInterface * | getMeshInterface () |
virtual btVector3 | localGetSupportingVertex (const btVector3 &vec) const |
virtual btVector3 | localGetSupportingVertexWithoutMargin (const btVector3 &vec) const |
btConvexShape Interface More... | |
virtual void | batchedUnitVectorGetSupportingVertexWithoutMargin (const btVector3 *vectors, btVector3 *supportVerticesOut, int numVectors) const |
virtual const char * | getName () const |
virtual int | getNumVertices () const |
virtual int | getNumEdges () const |
virtual void | getEdge (int i, btVector3 &pa, btVector3 &pb) const |
virtual void | getVertex (int i, btVector3 &vtx) const |
virtual int | getNumPlanes () const |
virtual void | getPlane (btVector3 &planeNormal, btVector3 &planeSupport, int i) const |
virtual bool | isInside (const btVector3 &pt, btScalar tolerance) const |
virtual void | setLocalScaling (const btVector3 &scaling) |
in case we receive negative scaling More... | |
virtual const btVector3 & | getLocalScaling () const |
void | calculatePrincipalAxisTransform (btTransform &principal, btVector3 &inertia, btScalar &volume) const |
Variables | |
btConvexTriangleMeshShape | __pad0__ |
|
virtual |
Definition at line 71 of file btBox2dShape.h.
BT_DECLARE_ALIGNED_ALLOCATOR | ( | ) |
btConvexTriangleMeshShape::btConvexTriangleMeshShape | ( | btStridingMeshInterface * | meshInterface, |
bool | calcAabb = true |
||
) |
Definition at line 22 of file btConvexTriangleMeshShape.cpp.
References CONVEX_TRIANGLEMESH_SHAPE_PROXYTYPE, and recalcLocalAabb().
Referenced by btCollisionWorld::debugDrawObject().
void btConvexTriangleMeshShape::calculatePrincipalAxisTransform | ( | btTransform & | principal, |
btVector3 & | inertia, | ||
btScalar & | volume | ||
) | const |
computes the exact moment of inertia and the transform from the coordinate system defined by the principal axes of the moment of inertia and the center of mass to the current coordinate system. A mass of 1 is assumed, for other masses just multiply the computed "inertia" by the mass. The resulting transform "principal" has to be applied inversely to the mesh in order for the local coordinate system of the shape to be centered at the center of mass and to coincide with the principal axes. This also necessitates a correction of the world transform of the collision object by the principal transform. This method also computes the volume of the convex mesh.
Definition at line 184 of file btConvexTriangleMeshShape.cpp.
References Freestyle::a, usdtokens::b(), BT_LARGE_FLOAT, btFabs(), btMatrix3x3, btVector3, Freestyle::c, center, btInternalTriangleIndexCallback::internalProcessTriangleIndex(), sum(), triple(), and void.
Definition at line 218 of file btBox2dShape.h.
|
virtual |
Definition at line 126 of file btCompoundShape.h.
const btStridingMeshInterface * getMeshInterface | ( | ) |
Definition at line 33 of file btConvexTriangleMeshShape.h.
|
virtual |
Definition at line 47 of file btConvexTriangleMeshShape.h.
|
virtual |
Definition at line 174 of file btBox2dShape.h.
|
virtual |
Definition at line 169 of file btBox2dShape.h.
|
virtual |
Definition at line 140 of file btBox2dShape.h.
Definition at line 155 of file btBox2dShape.h.
Definition at line 179 of file btBox2dShape.h.
Definition at line 284 of file btBox2dShape.h.
Definition at line 51 of file btBox2dShape.h.
btConvexShape Interface
Definition at line 62 of file btBox2dShape.h.
in case we receive negative scaling
Definition at line 120 of file btBox2dShape.h.
btConvexTriangleMeshShape __pad0__ |
The btConvexTriangleMeshShape is a convex hull of a triangle mesh, but the performance is not as good as btConvexHullShape. A small benefit of this class is that it uses the btStridingMeshInterface, so you can avoid the duplication of the triangle mesh data. Nevertheless, most users should use the much better performing btConvexHullShape instead.
Definition at line 24 of file btConvexTriangleMeshShape.h.