|
Blender V4.3
|
Base class for gimpact shapes. More...
#include <btGImpactShape.h>
Inherits btConcaveShape.
Inherited by btGImpactCompoundShape, btGImpactMeshShape, and btGImpactMeshShapePart.
Public Member Functions | |
| btGImpactShapeInterface () | |
| SIMD_FORCE_INLINE void | updateBound () |
| performs refit operation | |
| void | getAabb (const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const |
| If the Bounding box is not updated, then this class attemps to calculate it. | |
| virtual void | postUpdate () |
| Tells to this object that is needed to refit the box set. | |
| SIMD_FORCE_INLINE const btAABB & | getLocalBox () |
| Obtains the local box, which is the global calculated box of the total of subshapes. | |
| virtual int | getShapeType () const |
| virtual void | setLocalScaling (const btVector3 &scaling) |
| virtual const btVector3 & | getLocalScaling () const |
| virtual void | setMargin (btScalar margin) |
| virtual void | rayTest (const btVector3 &rayFrom, const btVector3 &rayTo, btCollisionWorld::RayResultCallback &resultCallback) const |
| virtual method for ray collision | |
| virtual void | processAllTriangles (btTriangleCallback *callback, const btVector3 &aabbMin, const btVector3 &aabbMax) const |
| Function for retrieve triangles. | |
| virtual void | processAllTrianglesRay (btTriangleCallback *, const btVector3 &, const btVector3 &) const |
| Function for retrieve triangles. | |
| virtual eGIMPACT_SHAPE_TYPE | getGImpactShapeType () const =0 |
| Base method for determinig which kind of GIMPACT shape we get. | |
| SIMD_FORCE_INLINE const btGImpactBoxSet * | getBoxSet () const |
| gets boxset | |
| SIMD_FORCE_INLINE bool | hasBoxSet () const |
| Determines if this class has a hierarchy structure for sorting its primitives. | |
| virtual const btPrimitiveManagerBase * | getPrimitiveManager () const =0 |
| Obtains the primitive manager. | |
| virtual int | getNumChildShapes () const =0 |
| Gets the number of children. | |
| virtual bool | childrenHasTransform () const =0 |
| if true, then its children must get transforms. | |
| virtual bool | needsRetrieveTriangles () const =0 |
| Determines if this shape has triangles. | |
| virtual bool | needsRetrieveTetrahedrons () const =0 |
| Determines if this shape has tetrahedrons. | |
| virtual void | getBulletTriangle (int prim_index, btTriangleShapeEx &triangle) const =0 |
| virtual void | getBulletTetrahedron (int prim_index, btTetrahedronShapeEx &tetrahedron) const =0 |
| virtual void | lockChildShapes () const |
| call when reading child shapes | |
| virtual void | unlockChildShapes () const |
| SIMD_FORCE_INLINE void | getPrimitiveTriangle (int index, btPrimitiveTriangle &triangle) const |
| if this trimesh | |
| virtual void | getChildAabb (int child_index, const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const |
| Retrieves the bound from a child. | |
| virtual btCollisionShape * | getChildShape (int index)=0 |
| Gets the children. | |
| virtual const btCollisionShape * | getChildShape (int index) const =0 |
| Gets the child. | |
| virtual btTransform | getChildTransform (int index) const =0 |
| Gets the children transform. | |
| virtual void | setChildTransform (int index, const btTransform &transform)=0 |
| Sets the children transform. | |
Protected Member Functions | |
| virtual void | calcLocalAABB () |
Protected Attributes | |
| btAABB | m_localAABB |
| bool | m_needs_update |
| btVector3 | localScaling |
| btGImpactBoxSet | m_box_set |
Base class for gimpact shapes.
Definition at line 73 of file btGImpactShape.h.
|
inline |
Definition at line 100 of file btGImpactShape.h.
References GIMPACT_SHAPE_PROXYTYPE, localScaling, m_localAABB, and m_needs_update.
|
inlineprotectedvirtual |
use this function for perfofm refit in bounding boxes use this function for perfofm refit in bounding boxes
Reimplemented in btGImpactMeshShape.
Definition at line 83 of file btGImpactShape.h.
References btGImpactQuantizedBvh::buildSet(), btGImpactQuantizedBvh::getGlobalBox(), btGImpactQuantizedBvh::getNodeCount(), lockChildShapes(), m_box_set, m_localAABB, unlockChildShapes(), and btGImpactQuantizedBvh::update().
Referenced by updateBound().
|
pure virtual |
if true, then its children must get transforms.
Implemented in btGImpactCompoundShape, btGImpactMeshShape, and btGImpactMeshShapePart.
Referenced by btGImpactCollisionAlgorithm::gimpact_vs_gimpact(), and btGImpactCollisionAlgorithm::gimpact_vs_shape().
|
inline |
If the Bounding box is not updated, then this class attemps to calculate it.
Definition at line 126 of file btGImpactShape.h.
References btAABB, and m_localAABB.
Referenced by btCreateCompoundFromGimpactShape(), btGImpactCollisionAlgorithm::gimpact_vs_concave(), and btGImpactCollisionAlgorithm::gimpacttrimeshpart_vs_plane_collision().
|
inline |
gets boxset
Definition at line 185 of file btGImpactShape.h.
References m_box_set.
Referenced by btGImpactCollisionAlgorithm::gimpact_vs_gimpact_find_pairs(), and btGImpactCollisionAlgorithm::gimpact_vs_shape_find_pairs().
|
pure virtual |
Implemented in btGImpactCompoundShape, btGImpactMeshShape, and btGImpactMeshShapePart.
Referenced by GIM_ShapeRetriever::TetraShapeRetriever::getChildShape().
|
pure virtual |
Implemented in btGImpactCompoundShape, btGImpactMeshShape, and btGImpactMeshShapePart.
Referenced by GIM_ShapeRetriever::TriangleShapeRetriever::getChildShape().
|
inlinevirtual |
Retrieves the bound from a child.
Reimplemented in btGImpactCompoundShape, and btGImpactMeshShape.
Definition at line 234 of file btGImpactShape.h.
References btAABB, btPrimitiveManagerBase::get_primitive_box(), and getPrimitiveManager().
Referenced by btGImpactCollisionAlgorithm::gimpact_vs_gimpact_find_pairs(), and btGImpactCollisionAlgorithm::gimpact_vs_shape_find_pairs().
|
pure virtual |
Gets the child.
Implemented in btGImpactCompoundShape, btGImpactMeshShape, and btGImpactMeshShapePart.
|
pure virtual |
Gets the children.
Implemented in btGImpactCompoundShape, btGImpactMeshShape, and btGImpactMeshShapePart.
Referenced by GIM_ShapeRetriever::ChildShapeRetriever::getChildShape().
|
pure virtual |
Gets the children transform.
Implemented in btGImpactCompoundShape, btGImpactMeshShape, and btGImpactMeshShapePart.
Referenced by btGImpactCollisionAlgorithm::gimpact_vs_gimpact(), and btGImpactCollisionAlgorithm::gimpact_vs_shape().
|
pure virtual |
Base method for determinig which kind of GIMPACT shape we get.
Subshape member functions
Implemented in btGImpactCompoundShape, btGImpactMeshShape, and btGImpactMeshShapePart.
Referenced by btGImpactCollisionAlgorithm::gimpact_vs_gimpact(), and btGImpactCollisionAlgorithm::gimpact_vs_shape().
|
inline |
Obtains the local box, which is the global calculated box of the total of subshapes.
Definition at line 141 of file btGImpactShape.h.
References m_localAABB.
Referenced by btGImpactMeshShape::calcLocalAABB().
|
inlinevirtual |
Reimplemented in btGImpactMeshShapePart.
Definition at line 160 of file btGImpactShape.h.
References localScaling.
Referenced by MyInternalTriangleIndexCallback::internalProcessTriangleIndex().
|
pure virtual |
Gets the number of children.
Implemented in btGImpactCompoundShape, btGImpactMeshShape, and btGImpactMeshShapePart.
Referenced by btGImpactCollisionAlgorithm::gimpact_vs_gimpact_find_pairs(), btGImpactCollisionAlgorithm::gimpact_vs_shape_find_pairs(), and setMargin().
|
pure virtual |
Obtains the primitive manager.
Implemented in btGImpactCompoundShape, btGImpactMeshShape, and btGImpactMeshShapePart.
Referenced by getChildAabb(), and getPrimitiveTriangle().
|
inline |
if this trimesh
Definition at line 226 of file btGImpactShape.h.
References btPrimitiveManagerBase::get_primitive_triangle(), and getPrimitiveManager().
Referenced by btGImpactCollisionAlgorithm::collide_sat_triangles(), btGImpactMeshShapePart::processAllTriangles(), and btGImpactMeshShapePart::processAllTrianglesRay().
|
inlinevirtual |
Definition at line 146 of file btGImpactShape.h.
References GIMPACT_SHAPE_PROXYTYPE.
|
inline |
Determines if this class has a hierarchy structure for sorting its primitives.
Definition at line 191 of file btGImpactShape.h.
References btGImpactQuantizedBvh::getNodeCount(), and m_box_set.
Referenced by btGImpactCollisionAlgorithm::gimpact_vs_gimpact_find_pairs(), and btGImpactCollisionAlgorithm::gimpact_vs_shape_find_pairs().
|
inlinevirtual |
call when reading child shapes
Reimplemented in btGImpactMeshShape, and btGImpactMeshShapePart.
Definition at line 217 of file btGImpactShape.h.
Referenced by calcLocalAABB(), btGImpactCompoundShape::calculateLocalInertia(), btGImpactCollisionAlgorithm::gimpact_vs_gimpact(), and btGImpactCollisionAlgorithm::gimpact_vs_shape().
|
pure virtual |
Determines if this shape has tetrahedrons.
Implemented in btGImpactCompoundShape, btGImpactMeshShape, and btGImpactMeshShapePart.
Referenced by GIM_ShapeRetriever::GIM_ShapeRetriever().
|
pure virtual |
Determines if this shape has triangles.
Implemented in btGImpactCompoundShape, btGImpactMeshShape, and btGImpactMeshShapePart.
Referenced by GIM_ShapeRetriever::GIM_ShapeRetriever().
|
inlinevirtual |
Tells to this object that is needed to refit the box set.
Reimplemented in btGImpactMeshShape.
Definition at line 135 of file btGImpactShape.h.
References m_needs_update.
Referenced by btGImpactCompoundShape::setChildTransform(), btGImpactMeshShapePart::setLocalScaling(), setLocalScaling(), and btGImpactMeshShapePart::setMargin().
|
inlinevirtual |
Function for retrieve triangles.
It gives the triangles in local space
Reimplemented in btGImpactMeshShape, and btGImpactMeshShapePart.
Definition at line 272 of file btGImpactShape.h.
References callback.
|
inlinevirtual |
Function for retrieve triangles.
It gives the triangles in local space
Reimplemented in btGImpactMeshShape, and btGImpactMeshShapePart.
Definition at line 283 of file btGImpactShape.h.
|
inlinevirtual |
virtual method for ray collision
Reimplemented in btGImpactMeshShape.
Definition at line 261 of file btGImpactShape.h.
|
pure virtual |
Sets the children transform.
Implemented in btGImpactCompoundShape, btGImpactMeshShape, and btGImpactMeshShapePart.
|
inlinevirtual |
Reimplemented in btGImpactMeshShape, and btGImpactMeshShapePart.
Definition at line 154 of file btGImpactShape.h.
References localScaling, and postUpdate().
|
inlinevirtual |
Reimplemented in btGImpactMeshShape, and btGImpactMeshShapePart.
Definition at line 165 of file btGImpactShape.h.
References btCollisionShape, getChildShape(), getNumChildShapes(), m_collisionMargin, and m_needs_update.
|
inlinevirtual |
Reimplemented in btGImpactMeshShape, and btGImpactMeshShapePart.
Definition at line 221 of file btGImpactShape.h.
Referenced by calcLocalAABB(), btGImpactCompoundShape::calculateLocalInertia(), btGImpactCollisionAlgorithm::gimpact_vs_gimpact(), and btGImpactCollisionAlgorithm::gimpact_vs_shape().
|
inline |
performs refit operation
Updates the entire Box set of this shape.
Definition at line 115 of file btGImpactShape.h.
References calcLocalAABB(), and m_needs_update.
Referenced by btCollisionWorldImporter::convertCollisionShape(), RB_shape_new_gimpact_mesh(), and RB_shape_trimesh_update().
|
protected |
Definition at line 78 of file btGImpactShape.h.
Referenced by btGImpactShapeInterface(), getLocalScaling(), btGImpactMeshShape::serialize(), btGImpactMeshShape::setLocalScaling(), and setLocalScaling().
|
protected |
Definition at line 79 of file btGImpactShape.h.
Referenced by btGImpactCompoundShape::btGImpactCompoundShape(), btGImpactMeshShapePart::btGImpactMeshShapePart(), btGImpactMeshShapePart::btGImpactMeshShapePart(), calcLocalAABB(), getBoxSet(), hasBoxSet(), btGImpactMeshShapePart::lockChildShapes(), btGImpactMeshShapePart::processAllTriangles(), btGImpactMeshShapePart::processAllTrianglesRay(), and btGImpactMeshShapePart::unlockChildShapes().
|
protected |
Definition at line 76 of file btGImpactShape.h.
Referenced by btGImpactShapeInterface(), btGImpactMeshShape::calcLocalAABB(), calcLocalAABB(), btGImpactCompoundShape::calculateLocalInertia(), btGImpactMeshShape::calculateLocalInertia(), btGImpactMeshShapePart::calculateLocalInertia(), getAabb(), and getLocalBox().
|
protected |
Definition at line 77 of file btGImpactShape.h.
Referenced by btGImpactShapeInterface(), btGImpactMeshShape::postUpdate(), postUpdate(), btGImpactMeshShape::setLocalScaling(), btGImpactMeshShape::setMargin(), setMargin(), and updateBound().