ReactPhysics3D: reactphysics3d::ConcaveMeshShape Class Reference

| ReactPhysics3D v0.10.2 C++ Physics engine library

Loading...
Searching...
No Matches
Public Member Functions | List of all members
reactphysics3d::ConcaveMeshShape Class Reference

This class represents a static concave mesh shape. More...

`#include <include/reactphysics3d/collision/shapes/ConcaveMeshShape.h>`

Inheritance diagram for reactphysics3d::ConcaveMeshShape:

## Public Member Functions
| ConcaveMeshShape (const ConcaveMeshShape &shape)=delete
| Deleted copy-constructor.
ConcaveMeshShape & | operator= (const ConcaveMeshShape &shape)=delete
| Deleted assignment operator.
virtual void | setScale (const Vector3 &scale) override
| Set the scale of the shape.
uint32 | getNbVertices () const
| Return the number of vertices in the mesh.
uint32 | getNbTriangles () const
| Return the number of triangles of the mesh.
void | getTriangleVerticesIndices (uint32 triangleIndex, uint32 &outV1Index, uint32 &outV2Index, uint32 &outV3Index) const
| Return the indices of the three vertices of a given triangle in the array.
void | getTriangleVertices (uint32 triangleIndex, Vector3 &outV1, Vector3 &outV2, Vector3 &outV3) const
| Return the coordinates of the three vertices of a given triangle face.
void | getTriangleVerticesNormals (uint32 triangleIndex, Vector3 &outN1, Vector3 &outN2, Vector3 &outN3) const
| Return the normals of the three vertices of a given triangle face.
const Vector3 | getVertex (uint32 vertexIndex) const
| Return the coordinates of a given vertex.
const Vector3 & | getVertexNormal (uint32 vertexIndex) const
| Return the normal of a given vertex.
virtual AABB | getLocalBounds () const override
| Return the local bounds of the shape in x, y and z directions.
virtual std::string | to_string () const override
| Return the string representation of the shape.
Public Member Functions inherited from reactphysics3d::ConcaveShape
| ConcaveShape (CollisionShapeName name, MemoryAllocator &allocator, const Vector3 &scaling)
| Constructor.
virtual | ~ConcaveShape () override=default
| Destructor.
| ConcaveShape (const ConcaveShape &shape)=delete
| Deleted copy-constructor.
ConcaveShape & | operator= (const ConcaveShape &shape)=delete
| Deleted assignment operator.
TriangleRaycastSide | getRaycastTestType () const
| Return the raycast test type (front, back, front-back)
void | setRaycastTestType (TriangleRaycastSide testType)
const Vector3 & | getScale () const
| Return the scale of the shape.
virtual void | setScale (const Vector3 &scale)
| Set the scale of the shape.
virtual Vector3 | getLocalInertiaTensor (decimal mass) const override
| Return the local inertia tensor of the collision shape.
virtual bool | isConvex () const override
| Return true if the collision shape is convex, false if it is concave.
virtual bool | isPolyhedron () const override
| Return true if the collision shape is a polyhedron.
virtual void | computeOverlappingTriangles (const AABB &localAABB, Array< Vector3 > &triangleVertices, Array< Vector3 > &triangleVerticesNormals, Array< uint32 > &shapeIds, MemoryAllocator &allocator) const =0
| Use a callback method on all triangles of the concave shape inside a given AABB.
virtual decimal | getVolume () const override
| Compute and return the volume of the collision shape.
Public Member Functions inherited from reactphysics3d::CollisionShape
| CollisionShape (CollisionShapeName name, CollisionShapeType type, MemoryAllocator &allocator)
| Constructor.
virtual | ~CollisionShape ()=default
| Destructor.
| CollisionShape (const CollisionShape &shape)=delete
| Deleted copy-constructor.
CollisionShape & | operator= (const CollisionShape &shape)=delete
| Deleted assignment operator.
CollisionShapeName | getName () const
| Return the name of the collision shape.
CollisionShapeType | getType () const
| Return the type of the collision shape.
virtual bool | isConvex () const =0
| Return true if the collision shape is convex, false if it is concave.
virtual bool | isPolyhedron () const =0
| Return true if the collision shape is a polyhedron.
virtual AABB | getLocalBounds () const =0
| Return the local bounds of the shape in x, y and z directions.
uint32 | getId () const
| Return the id of the shape.
virtual Vector3 | getLocalInertiaTensor (decimal mass) const =0
| Return the local inertia tensor of the collision shapes.
virtual decimal | getVolume () const =0
| Compute and return the volume of the collision shape.
virtual AABB | computeTransformedAABB (const Transform &transform) const
| Compute the transformed AABB of the collision shape given a transform.
virtual std::string | to_string () const =0
| Return the string representation of the shape.

## Detailed Description

This class represents a static concave mesh shape.

Note that collision detection with a concave mesh shape can be very expensive. You should only use this shape for a static mesh.

## Member Function Documentation

## ◆ getLocalBounds()

AABB ConcaveMeshShape::getLocalBounds | ( |  | ) | const
| overridevirtual

Return the local bounds of the shape in x, y and z directions.

Parameters

  min | The minimum bounds of the shape in local-space coordinates
  max | The maximum bounds of the shape in local-space coordinates

Implements reactphysics3d::CollisionShape.

## ◆ setScale()

void ConcaveMeshShape::setScale | ( | const Vector3 & | scale | ) |
| overridevirtual

Set the scale of the shape.

Reimplemented from reactphysics3d::ConcaveShape.

## ◆ to_string()

std::string ConcaveMeshShape::to_string | ( |  | ) | const
| overridevirtual

Return the string representation of the shape.

Implements reactphysics3d::CollisionShape.

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

- include/reactphysics3d/collision/shapes/ConcaveMeshShape.h
- src/collision/shapes/ConcaveMeshShape.cpp