ReactPhysics3D
v0.10.2
C++ Physics engine library
|
This class represents a convex mesh shape. More...
#include <include/reactphysics3d/collision/shapes/ConvexMeshShape.h>
Public Member Functions | |
ConvexMeshShape (const ConvexMeshShape &shape)=delete | |
Deleted copy-constructor. | |
ConvexMeshShape & | operator= (const ConvexMeshShape &shape)=delete |
Deleted assignment operator. | |
const Vector3 & | getScale () const |
Return the scale. | |
void | setScale (const Vector3 &scale) |
Set the scale. | |
virtual AABB | getLocalBounds () const override |
Return the local bounds of the shape in x, y and z directions. | |
virtual Vector3 | getLocalInertiaTensor (decimal mass) const override |
Return the local inertia tensor of the collision shape. | |
virtual uint32 | getNbFaces () const override |
Return the number of faces of the mesh. | |
virtual const HalfEdgeStructure::Face & | getFace (uint32 faceIndex) const override |
Return a given face of the mesh. | |
virtual uint32 | getNbVertices () const override |
Return the number of vertices of the mesh. | |
virtual const HalfEdgeStructure::Vertex & | getVertex (uint32 vertexIndex) const override |
Return a given vertex of the mesh. | |
virtual uint32 | getNbHalfEdges () const override |
Return the number of half-edges of the mesh. | |
virtual const HalfEdgeStructure::Edge & | getHalfEdge (uint32 edgeIndex) const override |
Return a given half-edge of the mesh. | |
virtual Vector3 | getVertexPosition (uint32 vertexIndex) const override |
Return the position of a given vertex. | |
virtual Vector3 | getFaceNormal (uint32 faceIndex) const override |
Return the normal vector of a given face of the mesh. | |
virtual Vector3 | getCentroid () const override |
Return the centroid of the mesh. | |
virtual decimal | getVolume () const override |
Compute and return the volume of the collision shape. | |
virtual std::string | to_string () const override |
Return the string representation of the shape. | |
Public Member Functions inherited from reactphysics3d::ConvexPolyhedronShape | |
ConvexPolyhedronShape (CollisionShapeName name, MemoryAllocator &allocator) | |
Constructor. | |
virtual | ~ConvexPolyhedronShape () override=default |
Destructor. | |
ConvexPolyhedronShape (const ConvexPolyhedronShape &shape)=delete | |
Deleted copy-constructor. | |
ConvexPolyhedronShape & | operator= (const ConvexPolyhedronShape &shape)=delete |
Deleted assignment operator. | |
virtual bool | isPolyhedron () const override |
Return true if the collision shape is a polyhedron. | |
uint32 | findMostAntiParallelFace (const Vector3 &direction) const |
Find and return the index of the polyhedron face with the most anti-parallel face normal given a direction vector. | |
Public Member Functions inherited from reactphysics3d::ConvexShape | |
ConvexShape (CollisionShapeName name, CollisionShapeType type, MemoryAllocator &allocator, decimal margin=decimal(0.0)) | |
Constructor. | |
virtual | ~ConvexShape () override=default |
Destructor. | |
ConvexShape (const ConvexShape &shape)=delete | |
Deleted copy-constructor. | |
ConvexShape & | operator= (const ConvexShape &shape)=delete |
Deleted assignment operator. | |
decimal | getMargin () const |
Return the current object margin. | |
virtual bool | isConvex () const override |
Return true if the collision shape is convex, false if it is concave. | |
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. | |
uint32 | getId () const |
Return the id of the shape. | |
virtual AABB | computeTransformedAABB (const Transform &transform) const |
Compute the transformed AABB of the collision shape given a transform. | |
This class represents a convex mesh shape.
In order to create a convex mesh shape, you need to indicate the local-space position of the mesh vertices. The center of mass of the shape will be at the origin of the local-space geometry that you use to create the mesh.
|
overridevirtual |
Return the centroid of the mesh.
Implements reactphysics3d::ConvexPolyhedronShape.
|
overridevirtual |
Return a given face of the mesh.
Implements reactphysics3d::ConvexPolyhedronShape.
|
overridevirtual |
Return the normal vector of a given face of the mesh.
Implements reactphysics3d::ConvexPolyhedronShape.
|
overridevirtual |
Return a given half-edge of the mesh.
Implements reactphysics3d::ConvexPolyhedronShape.
|
overridevirtual |
Return the local bounds of the shape in x, y and z directions.
Implements reactphysics3d::CollisionShape.
|
overridevirtual |
Return the local inertia tensor of the collision shape.
The local inertia tensor of the convex mesh is approximated using the inertia tensor of its bounding box.
mass | Mass to use to compute the inertia tensor of the collision shape |
Implements reactphysics3d::CollisionShape.
|
overridevirtual |
Return the number of faces of the mesh.
Implements reactphysics3d::ConvexPolyhedronShape.
|
overridevirtual |
Return the number of half-edges of the mesh.
Implements reactphysics3d::ConvexPolyhedronShape.
|
overridevirtual |
Return the number of vertices of the mesh.
Implements reactphysics3d::ConvexPolyhedronShape.
|
overridevirtual |
Return a given vertex of the mesh.
Implements reactphysics3d::ConvexPolyhedronShape.
|
overridevirtual |
Return the position of a given vertex.
Implements reactphysics3d::ConvexPolyhedronShape.
|
overridevirtual |
Compute and return the volume of the collision shape.
Implements reactphysics3d::CollisionShape.
RP3D_FORCE_INLINE void reactphysics3d::ConvexMeshShape::setScale | ( | const Vector3 & | scale | ) |
Set the scale.
Note that you might want to recompute the inertia tensor and center of mass of the body after changing the scale of a collision shape.
|
overridevirtual |
Return the string representation of the shape.
Implements reactphysics3d::CollisionShape.