Blender  V3.3
Functions | Variables
btConvexTriangleMeshShape.h File Reference
#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 btStridingMeshInterfacegetMeshInterface ()
 
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 btVector3getLocalScaling () const
 
void calculatePrincipalAxisTransform (btTransform &principal, btVector3 &inertia, btScalar &volume) const
 

Variables

btConvexTriangleMeshShape __pad0__
 

Function Documentation

◆ batchedUnitVectorGetSupportingVertexWithoutMargin()

virtual void batchedUnitVectorGetSupportingVertexWithoutMargin ( const btVector3 vectors,
btVector3 supportVerticesOut,
int  numVectors 
) const
virtual

Definition at line 71 of file btBox2dShape.h.

◆ BT_DECLARE_ALIGNED_ALLOCATOR()

BT_DECLARE_ALIGNED_ALLOCATOR ( )

◆ btConvexTriangleMeshShape()

btConvexTriangleMeshShape::btConvexTriangleMeshShape ( btStridingMeshInterface meshInterface,
bool  calcAabb = true 
)

◆ calculatePrincipalAxisTransform()

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.

◆ getEdge()

virtual void getEdge ( int  i,
btVector3 pa,
btVector3 pb 
) const
virtual

Definition at line 218 of file btBox2dShape.h.

◆ getLocalScaling()

virtual const btVector3& getLocalScaling ( ) const
virtual

Definition at line 126 of file btCompoundShape.h.

◆ getMeshInterface()

const btStridingMeshInterface * getMeshInterface ( )

Definition at line 33 of file btConvexTriangleMeshShape.h.

◆ getName()

virtual const char* getName ( ) const
virtual

Definition at line 47 of file btConvexTriangleMeshShape.h.

◆ getNumEdges()

virtual int getNumEdges ( ) const
virtual

Definition at line 174 of file btBox2dShape.h.

◆ getNumPlanes()

virtual int getNumPlanes ( ) const
virtual

Definition at line 169 of file btBox2dShape.h.

◆ getNumVertices()

virtual int getNumVertices ( ) const
virtual

Definition at line 140 of file btBox2dShape.h.

◆ getPlane()

virtual void getPlane ( btVector3 planeNormal,
btVector3 planeSupport,
int  i 
) const
virtual

Definition at line 155 of file btBox2dShape.h.

◆ getVertex()

virtual void getVertex ( int  i,
btVector3 vtx 
) const
virtual

Definition at line 179 of file btBox2dShape.h.

◆ isInside()

virtual bool isInside ( const btVector3 pt,
btScalar  tolerance 
) const
virtual

Definition at line 284 of file btBox2dShape.h.

◆ localGetSupportingVertex()

virtual btVector3 localGetSupportingVertex ( const btVector3 vec) const
virtual

Definition at line 51 of file btBox2dShape.h.

◆ localGetSupportingVertexWithoutMargin()

virtual btVector3 localGetSupportingVertexWithoutMargin ( const btVector3 vec) const
virtual

btConvexShape Interface

Definition at line 62 of file btBox2dShape.h.

◆ setLocalScaling()

virtual void setLocalScaling ( const btVector3 scaling)
virtual

in case we receive negative scaling

Definition at line 120 of file btBox2dShape.h.

Variable Documentation

◆ __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.