ReactPhysics3D
v0.10.2
C++ Physics engine library
|
This class represents a triangle collision shape that is centered at the origin and defined three points. More...
#include <include/reactphysics3d/collision/shapes/TriangleShape.h>
Public Member Functions | |
TriangleShape (const TriangleShape &shape)=delete | |
Deleted copy-constructor. | |
TriangleShape & | operator= (const TriangleShape &shape)=delete |
Deleted assignment operator. | |
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 AABB | computeTransformedAABB (const Transform &transform) const override |
Compute the transformed AABB of the collision shape given a transform. | |
TriangleRaycastSide | getRaycastTestType () const |
Return the raycast test type (front, back, front-back) | |
void | setRaycastTestType (TriangleRaycastSide testType) |
virtual uint32 | getNbFaces () const override |
Return the number of faces of the polyhedron. | |
virtual const HalfEdgeStructure::Face & | getFace (uint32 faceIndex) const override |
Return a given face of the polyhedron. | |
virtual uint32 | getNbVertices () const override |
Return the number of vertices of the polyhedron. | |
virtual const HalfEdgeStructure::Vertex & | getVertex (uint32 vertexIndex) const override |
Return a given vertex of the polyhedron. | |
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 polyhedron. | |
virtual uint32 | getNbHalfEdges () const override |
Return the number of half-edges of the polyhedron. | |
virtual const HalfEdgeStructure::Edge & | getHalfEdge (uint32 edgeIndex) const override |
Return a given half-edge of the polyhedron. | |
virtual Vector3 | getCentroid () const override |
Return the centroid of the polyhedron. | |
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. | |
Static Public Member Functions | |
static void | computeSmoothTriangleMeshContact (const CollisionShape *shape1, const CollisionShape *shape2, Vector3 &localContactPointShape1, Vector3 &localContactPointShape2, const Transform &shape1ToWorld, const Transform &shape2ToWorld, decimal penetrationDepth, Vector3 &outSmoothVertexNormal) |
This method compute the smooth mesh contact with a triangle in case one of the two collision shapes is a triangle. The idea in this case is to use a smooth vertex normal of the triangle mesh. | |
This class represents a triangle collision shape that is centered at the origin and defined three points.
A user cannot instanciate an object of this class. This class is for internal use only. Instances of this class are created when the user creates an HeightFieldShape and a ConcaveMeshShape
Compute the transformed AABB of the collision shape given a transform.
transform | Transform to use for the space conversion |
Reimplemented from reactphysics3d::CollisionShape.
|
overridevirtual |
Return the centroid of the polyhedron.
Implements reactphysics3d::ConvexPolyhedronShape.
|
overridevirtual |
Return a given face of the polyhedron.
Implements reactphysics3d::ConvexPolyhedronShape.
|
overridevirtual |
Return the normal vector of a given face of the polyhedron.
Implements reactphysics3d::ConvexPolyhedronShape.
|
overridevirtual |
Return a given half-edge of the polyhedron.
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.
mass | Mass to use to compute the inertia tensor of the collision shape |
Implements reactphysics3d::CollisionShape.
|
overridevirtual |
Return the number of faces of the polyhedron.
Implements reactphysics3d::ConvexPolyhedronShape.
|
overridevirtual |
Return the number of half-edges of the polyhedron.
Implements reactphysics3d::ConvexPolyhedronShape.
|
overridevirtual |
Return the number of vertices of the polyhedron.
Implements reactphysics3d::ConvexPolyhedronShape.
|
overridevirtual |
Return a given vertex of the polyhedron.
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::TriangleShape::setRaycastTestType | ( | TriangleRaycastSide | testType | ) |
testType | Raycast test type for the triangle (front, back, front-back) |
|
overridevirtual |
Return the string representation of the shape.
Implements reactphysics3d::CollisionShape.