Blender V2.61 - r43446
|
This class manages a sub part of a mesh supplied by the btStridingMeshInterface interface. More...
#include <btGImpactShape.h>
Classes | |
class | TrimeshPrimitiveManager |
Trimesh primitive manager. More... | |
Public Member Functions | |
btGImpactMeshShapePart () | |
btGImpactMeshShapePart (btStridingMeshInterface *meshInterface, int part) | |
virtual | ~btGImpactMeshShapePart () |
virtual bool | childrenHasTransform () const |
if true, then its children must get transforms. | |
virtual void | lockChildShapes () const |
call when reading child shapes | |
virtual void | unlockChildShapes () const |
Base method for determinig which kind of GIMPACT shape we get. | |
virtual int | getNumChildShapes () const |
Gets the number of children. | |
virtual btCollisionShape * | getChildShape (int index) |
Gets the children. | |
virtual const btCollisionShape * | getChildShape (int index) const |
Gets the child. | |
virtual btTransform | getChildTransform (int index) const |
Gets the children transform. | |
virtual void | setChildTransform (int index, const btTransform &transform) |
Sets the children transform. | |
virtual const btPrimitiveManagerBase * | getPrimitiveManager () const |
Obtains the primitive manager. | |
SIMD_FORCE_INLINE TrimeshPrimitiveManager * | getTrimeshPrimitiveManager () |
virtual void | calculateLocalInertia (btScalar mass, btVector3 &inertia) const |
virtual const char * | getName () const |
virtual eGIMPACT_SHAPE_TYPE | getGImpactShapeType () const |
Base method for determinig which kind of GIMPACT shape we get. | |
virtual bool | needsRetrieveTriangles () const |
Determines if this shape has triangles. | |
virtual bool | needsRetrieveTetrahedrons () const |
Determines if this shape has tetrahedrons. | |
virtual void | getBulletTriangle (int prim_index, btTriangleShapeEx &triangle) const |
Base method for determinig which kind of GIMPACT shape we get. | |
virtual void | getBulletTetrahedron (int prim_index, btTetrahedronShapeEx &tetrahedron) const |
Base method for determinig which kind of GIMPACT shape we get. | |
SIMD_FORCE_INLINE int | getVertexCount () const |
SIMD_FORCE_INLINE void | getVertex (int vertex_index, btVector3 &vertex) const |
SIMD_FORCE_INLINE void | setMargin (btScalar margin) |
SIMD_FORCE_INLINE btScalar | getMargin () const |
virtual void | setLocalScaling (const btVector3 &scaling) |
virtual const btVector3 & | getLocalScaling () const |
SIMD_FORCE_INLINE int | getPart () const |
virtual void | processAllTriangles (btTriangleCallback *callback, const btVector3 &aabbMin, const btVector3 &aabbMax) const |
Function for retrieve triangles. | |
Protected Attributes | |
TrimeshPrimitiveManager | m_primitive_manager |
This class manages a sub part of a mesh supplied by the btStridingMeshInterface interface.
Definition at line 521 of file btGImpactShape.h.
btGImpactMeshShapePart::btGImpactMeshShapePart | ( | ) | [inline] |
Definition at line 710 of file btGImpactShape.h.
References btGImpactShapeInterface::m_box_set, m_primitive_manager, and btGImpactQuantizedBvh::setPrimitiveManager().
btGImpactMeshShapePart::btGImpactMeshShapePart | ( | btStridingMeshInterface * | meshInterface, |
int | part | ||
) | [inline] |
virtual btGImpactMeshShapePart::~btGImpactMeshShapePart | ( | ) | [inline, virtual] |
Definition at line 723 of file btGImpactShape.h.
void btGImpactMeshShapePart::calculateLocalInertia | ( | btScalar | mass, |
btVector3 & | inertia | ||
) | const [virtual] |
Implements btCollisionShape.
Definition at line 72 of file btGImpactShape.cpp.
References getVertex(), getVertexCount(), gim_get_point_inertia(), i, lockChildShapes(), btGImpactShapeInterface::m_localAABB, and unlockChildShapes().
Referenced by btGImpactMeshShape::calculateLocalInertia().
virtual bool btGImpactMeshShapePart::childrenHasTransform | ( | ) | const [inline, virtual] |
if true, then its children must get transforms.
Implements btGImpactShapeInterface.
Definition at line 728 of file btGImpactShape.h.
virtual void btGImpactMeshShapePart::getBulletTetrahedron | ( | int | prim_index, |
btTetrahedronShapeEx & | tetrahedron | ||
) | const [inline, virtual] |
Base method for determinig which kind of GIMPACT shape we get.
Subshape member functions
Implements btGImpactShapeInterface.
Definition at line 841 of file btGImpactShape.h.
References btAssert.
virtual void btGImpactMeshShapePart::getBulletTriangle | ( | int | prim_index, |
btTriangleShapeEx & | triangle | ||
) | const [inline, virtual] |
Base method for determinig which kind of GIMPACT shape we get.
Subshape member functions
Implements btGImpactShapeInterface.
Definition at line 836 of file btGImpactShape.h.
References btGImpactMeshShapePart::TrimeshPrimitiveManager::get_bullet_triangle(), and m_primitive_manager.
Referenced by btGImpactCollisionAlgorithm::collide_gjk_triangles().
virtual btCollisionShape* btGImpactMeshShapePart::getChildShape | ( | int | index | ) | [inline, virtual] |
Gets the children.
Implements btGImpactShapeInterface.
Definition at line 757 of file btGImpactShape.h.
virtual const btCollisionShape* btGImpactMeshShapePart::getChildShape | ( | int | index | ) | const [inline, virtual] |
Gets the child.
Implements btGImpactShapeInterface.
Definition at line 767 of file btGImpactShape.h.
virtual btTransform btGImpactMeshShapePart::getChildTransform | ( | int | index | ) | const [inline, virtual] |
Gets the children transform.
Implements btGImpactShapeInterface.
Definition at line 775 of file btGImpactShape.h.
References btAssert.
virtual eGIMPACT_SHAPE_TYPE btGImpactMeshShapePart::getGImpactShapeType | ( | ) | const [inline, virtual] |
Base method for determinig which kind of GIMPACT shape we get.
Subshape member functions
Implements btGImpactShapeInterface.
Definition at line 819 of file btGImpactShape.h.
References CONST_GIMPACT_TRIMESH_SHAPE_PART.
virtual const btVector3& btGImpactMeshShapePart::getLocalScaling | ( | ) | const [inline, virtual] |
Reimplemented from btGImpactShapeInterface.
Definition at line 877 of file btGImpactShape.h.
References m_primitive_manager, and btGImpactMeshShapePart::TrimeshPrimitiveManager::m_scale.
SIMD_FORCE_INLINE btScalar btGImpactMeshShapePart::getMargin | ( | ) | const [inline, virtual] |
Reimplemented from btConcaveShape.
Definition at line 866 of file btGImpactShape.h.
References btGImpactMeshShapePart::TrimeshPrimitiveManager::m_margin, and m_primitive_manager.
Referenced by btGImpactCollisionAlgorithm::gimpacttrimeshpart_vs_plane_collision().
virtual const char* btGImpactMeshShapePart::getName | ( | void | ) | const [inline, virtual] |
Implements btCollisionShape.
Definition at line 814 of file btGImpactShape.h.
virtual int btGImpactMeshShapePart::getNumChildShapes | ( | ) | const [inline, virtual] |
Gets the number of children.
Implements btGImpactShapeInterface.
Definition at line 750 of file btGImpactShape.h.
References btGImpactMeshShapePart::TrimeshPrimitiveManager::get_primitive_count(), and m_primitive_manager.
SIMD_FORCE_INLINE int btGImpactMeshShapePart::getPart | ( | ) | const [inline] |
Definition at line 882 of file btGImpactShape.h.
References btGImpactMeshShapePart::TrimeshPrimitiveManager::m_part, and m_primitive_manager.
Referenced by processAllTriangles().
virtual const btPrimitiveManagerBase* btGImpactMeshShapePart::getPrimitiveManager | ( | ) | const [inline, virtual] |
Obtains the primitive manager.
Implements btGImpactShapeInterface.
Definition at line 795 of file btGImpactShape.h.
References m_primitive_manager.
SIMD_FORCE_INLINE TrimeshPrimitiveManager* btGImpactMeshShapePart::getTrimeshPrimitiveManager | ( | ) | [inline] |
Definition at line 800 of file btGImpactShape.h.
References m_primitive_manager.
SIMD_FORCE_INLINE void btGImpactMeshShapePart::getVertex | ( | int | vertex_index, |
btVector3 & | vertex | ||
) | const [inline] |
Definition at line 855 of file btGImpactShape.h.
References btGImpactMeshShapePart::TrimeshPrimitiveManager::get_vertex(), and m_primitive_manager.
Referenced by calculateLocalInertia(), and btGImpactCollisionAlgorithm::gimpacttrimeshpart_vs_plane_collision().
SIMD_FORCE_INLINE int btGImpactMeshShapePart::getVertexCount | ( | ) | const [inline] |
Definition at line 850 of file btGImpactShape.h.
References btGImpactMeshShapePart::TrimeshPrimitiveManager::get_vertex_count(), and m_primitive_manager.
Referenced by calculateLocalInertia(), and btGImpactCollisionAlgorithm::gimpacttrimeshpart_vs_plane_collision().
virtual void btGImpactMeshShapePart::lockChildShapes | ( | ) | const [inline, virtual] |
call when reading child shapes
Reimplemented from btGImpactShapeInterface.
Definition at line 735 of file btGImpactShape.h.
References btGImpactQuantizedBvh::getPrimitiveManager(), btGImpactMeshShapePart::TrimeshPrimitiveManager::lock(), and btGImpactShapeInterface::m_box_set.
Referenced by calculateLocalInertia(), btGImpactCollisionAlgorithm::collide_gjk_triangles(), btGImpactCollisionAlgorithm::collide_sat_triangles(), btGImpactCollisionAlgorithm::gimpacttrimeshpart_vs_plane_collision(), and processAllTriangles().
virtual bool btGImpactMeshShapePart::needsRetrieveTetrahedrons | ( | ) | const [inline, virtual] |
Determines if this shape has tetrahedrons.
Implements btGImpactShapeInterface.
Definition at line 831 of file btGImpactShape.h.
virtual bool btGImpactMeshShapePart::needsRetrieveTriangles | ( | ) | const [inline, virtual] |
Determines if this shape has triangles.
Implements btGImpactShapeInterface.
Definition at line 825 of file btGImpactShape.h.
void btGImpactMeshShapePart::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 148 of file btGImpactShape.cpp.
References btGImpactQuantizedBvh::boxQuery(), getPart(), btGImpactShapeInterface::getPrimitiveTriangle(), i, lockChildShapes(), btGImpactShapeInterface::m_box_set, btPrimitiveTriangle::m_vertices, btTriangleCallback::processTriangle(), btAlignedObjectArray< T >::size(), and unlockChildShapes().
virtual void btGImpactMeshShapePart::setChildTransform | ( | int | index, |
const btTransform & | transform | ||
) | [inline, virtual] |
Sets the children transform.
Implements btGImpactShapeInterface.
Definition at line 786 of file btGImpactShape.h.
References btAssert.
virtual void btGImpactMeshShapePart::setLocalScaling | ( | const btVector3 & | scaling | ) | [inline, virtual] |
Reimplemented from btGImpactShapeInterface.
Definition at line 871 of file btGImpactShape.h.
References m_primitive_manager, btGImpactMeshShapePart::TrimeshPrimitiveManager::m_scale, and btGImpactShapeInterface::postUpdate().
Referenced by btGImpactMeshShape::setLocalScaling().
SIMD_FORCE_INLINE void btGImpactMeshShapePart::setMargin | ( | btScalar | margin | ) | [inline, virtual] |
Reimplemented from btGImpactShapeInterface.
Definition at line 860 of file btGImpactShape.h.
References btGImpactMeshShapePart::TrimeshPrimitiveManager::m_margin, m_primitive_manager, and btGImpactShapeInterface::postUpdate().
Referenced by btGImpactMeshShape::setMargin().
virtual void btGImpactMeshShapePart::unlockChildShapes | ( | ) | const [inline, virtual] |
Base method for determinig which kind of GIMPACT shape we get.
Subshape member functions
Reimplemented from btGImpactShapeInterface.
Definition at line 742 of file btGImpactShape.h.
References btGImpactQuantizedBvh::getPrimitiveManager(), btGImpactShapeInterface::m_box_set, and btGImpactMeshShapePart::TrimeshPrimitiveManager::unlock().
Referenced by calculateLocalInertia(), btGImpactCollisionAlgorithm::collide_gjk_triangles(), btGImpactCollisionAlgorithm::collide_sat_triangles(), btGImpactCollisionAlgorithm::gimpacttrimeshpart_vs_plane_collision(), and processAllTriangles().
Definition at line 707 of file btGImpactShape.h.
Referenced by btGImpactMeshShapePart(), getBulletTriangle(), getLocalScaling(), getMargin(), getNumChildShapes(), getPart(), getPrimitiveManager(), getTrimeshPrimitiveManager(), getVertex(), getVertexCount(), setLocalScaling(), and setMargin().