Blender  V3.3
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
btGImpactMeshShape Class Reference

This class manages a mesh supplied by the btStridingMeshInterface interface. More...

#include <btGImpactShape.h>

Inheritance diagram for btGImpactMeshShape:
btGImpactShapeInterface

Public Member Functions

 btGImpactMeshShape (btStridingMeshInterface *meshInterface)
 
virtual ~btGImpactMeshShape ()
 
btStridingMeshInterfacegetMeshInterface ()
 
const btStridingMeshInterfacegetMeshInterface () const
 
int getMeshPartCount () const
 
btGImpactMeshShapePartgetMeshPart (int index)
 
const btGImpactMeshShapePartgetMeshPart (int index) const
 
virtual void setLocalScaling (const btVector3 &scaling)
 
virtual void setMargin (btScalar margin)
 
virtual void postUpdate ()
 Tells to this object that is needed to refit all the meshes. More...
 
virtual void calculateLocalInertia (btScalar mass, btVector3 &inertia) const
 
virtual const btPrimitiveManagerBasegetPrimitiveManager () const
 Obtains the primitive manager. More...
 
virtual int getNumChildShapes () const
 Gets the number of children. More...
 
virtual bool childrenHasTransform () const
 if true, then its children must get transforms. More...
 
virtual bool needsRetrieveTriangles () const
 Determines if this shape has triangles. More...
 
virtual bool needsRetrieveTetrahedrons () const
 Determines if this shape has tetrahedrons. More...
 
virtual void getBulletTriangle (int prim_index, btTriangleShapeEx &triangle) const
 
virtual void getBulletTetrahedron (int prim_index, btTetrahedronShapeEx &tetrahedron) const
 
virtual void lockChildShapes () const
 call when reading child shapes More...
 
virtual void unlockChildShapes () const
 
virtual void getChildAabb (int child_index, const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const
 Retrieves the bound from a child. More...
 
virtual btCollisionShapegetChildShape (int index)
 Gets the children. More...
 
virtual const btCollisionShapegetChildShape (int index) const
 Gets the child. More...
 
virtual btTransform getChildTransform (int index) const
 Gets the children transform. More...
 
virtual void setChildTransform (int index, const btTransform &transform)
 Sets the children transform. More...
 
virtual eGIMPACT_SHAPE_TYPE getGImpactShapeType () const
 Base method for determinig which kind of GIMPACT shape we get. More...
 
virtual const char * getName () const
 
virtual void rayTest (const btVector3 &rayFrom, const btVector3 &rayTo, btCollisionWorld::RayResultCallback &resultCallback) const
 virtual method for ray collision More...
 
virtual void processAllTriangles (btTriangleCallback *callback, const btVector3 &aabbMin, const btVector3 &aabbMax) const
 Function for retrieve triangles. More...
 
virtual void processAllTrianglesRay (btTriangleCallback *callback, const btVector3 &rayFrom, const btVector3 &rayTo) const
 Function for retrieve triangles. More...
 
virtual int calculateSerializeBufferSize () const
 
virtual const char * serialize (void *dataBuffer, btSerializer *serializer) const
 fills the dataBuffer and returns the struct name (and 0 on failure) More...
 
- Public Member Functions inherited from btGImpactShapeInterface
 btGImpactShapeInterface ()
 
SIMD_FORCE_INLINE void updateBound ()
 performs refit operation More...
 
void getAabb (const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const
 If the Bounding box is not updated, then this class attemps to calculate it. More...
 
SIMD_FORCE_INLINE const btAABBgetLocalBox ()
 Obtains the local box, which is the global calculated box of the total of subshapes. More...
 
virtual int getShapeType () const
 
virtual const btVector3getLocalScaling () const
 
SIMD_FORCE_INLINE const btGImpactBoxSetgetBoxSet () const
 gets boxset More...
 
SIMD_FORCE_INLINE bool hasBoxSet () const
 Determines if this class has a hierarchy structure for sorting its primitives. More...
 
SIMD_FORCE_INLINE void getPrimitiveTriangle (int index, btPrimitiveTriangle &triangle) const
 if this trimesh More...
 

Protected Member Functions

void buildMeshParts (btStridingMeshInterface *meshInterface)
 
virtual void calcLocalAABB ()
 use this function for perfofm refit in bounding boxes More...
 

Protected Attributes

btAlignedObjectArray< btGImpactMeshShapePart * > m_mesh_parts
 
- Protected Attributes inherited from btGImpactShapeInterface
btAABB m_localAABB
 
bool m_needs_update
 
btVector3 localScaling
 
btGImpactBoxSet m_box_set
 

Detailed Description

This class manages a mesh supplied by the btStridingMeshInterface interface.

Set of btGImpactMeshShapePart parts

Definition at line 850 of file btGImpactShape.h.

Constructor & Destructor Documentation

◆ btGImpactMeshShape()

btGImpactMeshShape::btGImpactMeshShape ( btStridingMeshInterface meshInterface)
inline

Definition at line 878 of file btGImpactShape.h.

References buildMeshParts(), and m_meshInterface.

◆ ~btGImpactMeshShape()

virtual btGImpactMeshShape::~btGImpactMeshShape ( )
inlinevirtual

Member Function Documentation

◆ buildMeshParts()

void btGImpactMeshShape::buildMeshParts ( btStridingMeshInterface meshInterface)
inlineprotected

Definition at line 856 of file btGImpactShape.h.

References m_mesh_parts, and btAlignedObjectArray< T >::push_back().

Referenced by btGImpactMeshShape().

◆ calcLocalAABB()

virtual void btGImpactMeshShape::calcLocalAABB ( )
inlineprotectedvirtual

use this function for perfofm refit in bounding boxes

Reimplemented from btGImpactShapeInterface.

Definition at line 866 of file btGImpactShape.h.

References btGImpactShapeInterface::getLocalBox(), btGImpactShapeInterface::m_localAABB, m_mesh_parts, and btAlignedObjectArray< T >::size().

◆ calculateLocalInertia()

void btGImpactMeshShape::calculateLocalInertia ( btScalar  mass,
btVector3 inertia 
) const
virtual

◆ calculateSerializeBufferSize()

SIMD_FORCE_INLINE int btGImpactMeshShape::calculateSerializeBufferSize ( ) const
virtual

Definition at line 1110 of file btGImpactShape.h.

◆ childrenHasTransform()

virtual bool btGImpactMeshShape::childrenHasTransform ( ) const
inlinevirtual

if true, then its children must get transforms.

Implements btGImpactShapeInterface.

Definition at line 978 of file btGImpactShape.h.

References btAssert.

◆ getBulletTetrahedron()

virtual void btGImpactMeshShape::getBulletTetrahedron ( int  prim_index,
btTetrahedronShapeEx tetrahedron 
) const
inlinevirtual

Implements btGImpactShapeInterface.

Definition at line 1005 of file btGImpactShape.h.

References btAssert, and void.

◆ getBulletTriangle()

virtual void btGImpactMeshShape::getBulletTriangle ( int  prim_index,
btTriangleShapeEx triangle 
) const
inlinevirtual

Implements btGImpactShapeInterface.

Definition at line 998 of file btGImpactShape.h.

References btAssert, and void.

◆ getChildAabb()

virtual void btGImpactMeshShape::getChildAabb ( int  child_index,
const btTransform t,
btVector3 aabbMin,
btVector3 aabbMax 
) const
inlinevirtual

Retrieves the bound from a child.

Reimplemented from btGImpactShapeInterface.

Definition at line 1026 of file btGImpactShape.h.

References btAssert, t, and void.

◆ getChildShape() [1/2]

virtual btCollisionShape* btGImpactMeshShape::getChildShape ( int  index)
inlinevirtual

Gets the children.

Implements btGImpactShapeInterface.

Definition at line 1036 of file btGImpactShape.h.

References btAssert, NULL, and void.

◆ getChildShape() [2/2]

virtual const btCollisionShape* btGImpactMeshShape::getChildShape ( int  index) const
inlinevirtual

Gets the child.

Implements btGImpactShapeInterface.

Definition at line 1044 of file btGImpactShape.h.

References btAssert, NULL, and void.

◆ getChildTransform()

virtual btTransform btGImpactMeshShape::getChildTransform ( int  index) const
inlinevirtual

Gets the children transform.

Implements btGImpactShapeInterface.

Definition at line 1052 of file btGImpactShape.h.

References btAssert, btTransform, and void.

◆ getGImpactShapeType()

virtual eGIMPACT_SHAPE_TYPE btGImpactMeshShape::getGImpactShapeType ( ) const
inlinevirtual

Base method for determinig which kind of GIMPACT shape we get.

Subshape member functions

Implements btGImpactShapeInterface.

Definition at line 1070 of file btGImpactShape.h.

References CONST_GIMPACT_TRIMESH_SHAPE.

Referenced by serialize().

◆ getMeshInterface() [1/2]

btStridingMeshInterface* btGImpactMeshShape::getMeshInterface ( )
inline

Definition at line 895 of file btGImpactShape.h.

References m_meshInterface.

Referenced by btCreateCompoundFromGimpactShape().

◆ getMeshInterface() [2/2]

const btStridingMeshInterface* btGImpactMeshShape::getMeshInterface ( ) const
inline

Definition at line 900 of file btGImpactShape.h.

References m_meshInterface.

◆ getMeshPart() [1/2]

btGImpactMeshShapePart* btGImpactMeshShape::getMeshPart ( int  index)
inline

◆ getMeshPart() [2/2]

const btGImpactMeshShapePart* btGImpactMeshShape::getMeshPart ( int  index) const
inline

Definition at line 915 of file btGImpactShape.h.

References m_mesh_parts.

◆ getMeshPartCount()

int btGImpactMeshShape::getMeshPartCount ( ) const
inline

◆ getName()

virtual const char* btGImpactMeshShape::getName ( ) const
inlinevirtual

Definition at line 1075 of file btGImpactShape.h.

◆ getNumChildShapes()

virtual int btGImpactMeshShape::getNumChildShapes ( ) const
inlinevirtual

Gets the number of children.

Implements btGImpactShapeInterface.

Definition at line 971 of file btGImpactShape.h.

References btAssert.

◆ getPrimitiveManager()

virtual const btPrimitiveManagerBase* btGImpactMeshShape::getPrimitiveManager ( ) const
inlinevirtual

Obtains the primitive manager.

Implements btGImpactShapeInterface.

Definition at line 964 of file btGImpactShape.h.

References btAssert, and NULL.

◆ lockChildShapes()

virtual void btGImpactMeshShape::lockChildShapes ( ) const
inlinevirtual

call when reading child shapes

Reimplemented from btGImpactShapeInterface.

Definition at line 1013 of file btGImpactShape.h.

References btAssert.

◆ needsRetrieveTetrahedrons()

virtual bool btGImpactMeshShape::needsRetrieveTetrahedrons ( ) const
inlinevirtual

Determines if this shape has tetrahedrons.

Implements btGImpactShapeInterface.

Definition at line 992 of file btGImpactShape.h.

References btAssert.

◆ needsRetrieveTriangles()

virtual bool btGImpactMeshShape::needsRetrieveTriangles ( ) const
inlinevirtual

Determines if this shape has triangles.

Implements btGImpactShapeInterface.

Definition at line 985 of file btGImpactShape.h.

References btAssert.

◆ postUpdate()

virtual void btGImpactMeshShape::postUpdate ( )
inlinevirtual

Tells to this object that is needed to refit all the meshes.

Reimplemented from btGImpactShapeInterface.

Definition at line 949 of file btGImpactShape.h.

References m_mesh_parts, btGImpactShapeInterface::m_needs_update, btGImpactShapeInterface::postUpdate(), and btAlignedObjectArray< T >::size().

◆ processAllTriangles()

void btGImpactMeshShape::processAllTriangles ( btTriangleCallback callback,
const btVector3 aabbMin,
const btVector3 aabbMax 
) const
virtual

Function for retrieve triangles.

It gives the triangles in local space

Reimplemented from btGImpactShapeInterface.

Definition at line 245 of file btGImpactShape.cpp.

References callback, m_mesh_parts, and btAlignedObjectArray< T >::size().

◆ processAllTrianglesRay()

void btGImpactMeshShape::processAllTrianglesRay ( btTriangleCallback ,
const btVector3 ,
const btVector3  
) const
virtual

Function for retrieve triangles.

It gives the triangles in local space

Reimplemented from btGImpactShapeInterface.

Definition at line 254 of file btGImpactShape.cpp.

References callback, m_mesh_parts, and btAlignedObjectArray< T >::size().

Referenced by MyInternalTriangleIndexCallback::internalProcessTriangleIndex().

◆ rayTest()

void btGImpactMeshShape::rayTest ( const btVector3 rayFrom,
const btVector3 rayTo,
btCollisionWorld::RayResultCallback resultCallback 
) const
virtual

virtual method for ray collision

Reimplemented from btGImpactShapeInterface.

Definition at line 188 of file btGImpactShape.cpp.

◆ serialize()

const char * btGImpactMeshShape::serialize ( void dataBuffer,
btSerializer serializer 
) const
virtual

◆ setChildTransform()

virtual void btGImpactMeshShape::setChildTransform ( int  index,
const btTransform transform 
)
inlinevirtual

Sets the children transform.

Postcondition
You must call updateBound() for update the box set.

Implements btGImpactShapeInterface.

Definition at line 1063 of file btGImpactShape.h.

References btAssert, transform(), and void.

◆ setLocalScaling()

virtual void btGImpactMeshShape::setLocalScaling ( const btVector3 scaling)
inlinevirtual

◆ setMargin()

virtual void btGImpactMeshShape::setMargin ( btScalar  margin)
inlinevirtual

◆ unlockChildShapes()

virtual void btGImpactMeshShape::unlockChildShapes ( ) const
inlinevirtual

Reimplemented from btGImpactShapeInterface.

Definition at line 1018 of file btGImpactShape.h.

References btAssert.

Member Data Documentation

◆ m_mesh_parts

btAlignedObjectArray<btGImpactMeshShapePart*> btGImpactMeshShape::m_mesh_parts
protected

The documentation for this class was generated from the following files: