![]() |
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.