ReactPhysics3D
v0.10.2
C++ Physics engine library
|
This abstract class represents the collision shape associated with a body that is used during the narrow-phase collision detection. More...
#include <include/reactphysics3d/collision/shapes/CollisionShape.h>
Public Member Functions | |
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. | |
This abstract class represents the collision shape associated with a body that is used during the narrow-phase collision detection.
Compute the transformed AABB of the collision shape given a transform.
transform | Transform to use to for the space conversion |
Reimplemented in reactphysics3d::SphereShape, and reactphysics3d::TriangleShape.
|
pure virtual |
Return the local bounds of the shape in x, y and z directions.
Implemented in reactphysics3d::BoxShape, reactphysics3d::CapsuleShape, reactphysics3d::ConcaveMeshShape, reactphysics3d::ConvexMeshShape, reactphysics3d::HeightFieldShape, reactphysics3d::SphereShape, and reactphysics3d::TriangleShape.
|
pure virtual |
Return the local inertia tensor of the collision shapes.
Implemented in reactphysics3d::BoxShape, reactphysics3d::CapsuleShape, reactphysics3d::ConcaveShape, reactphysics3d::ConvexMeshShape, reactphysics3d::SphereShape, and reactphysics3d::TriangleShape.
RP3D_FORCE_INLINE CollisionShapeName reactphysics3d::CollisionShape::getName | ( | ) | const |
Return the name of the collision shape.
RP3D_FORCE_INLINE CollisionShapeType reactphysics3d::CollisionShape::getType | ( | ) | const |
Return the type of the collision shape.
|
pure virtual |
Compute and return the volume of the collision shape.
Implemented in reactphysics3d::BoxShape, reactphysics3d::CapsuleShape, reactphysics3d::ConcaveShape, reactphysics3d::ConvexMeshShape, reactphysics3d::SphereShape, and reactphysics3d::TriangleShape.
|
pure virtual |
Return true if the collision shape is convex, false if it is concave.
Implemented in reactphysics3d::ConcaveShape, and reactphysics3d::ConvexShape.
|
pure virtual |
Return true if the collision shape is a polyhedron.
Implemented in reactphysics3d::CapsuleShape, reactphysics3d::ConcaveShape, reactphysics3d::ConvexPolyhedronShape, and reactphysics3d::SphereShape.
|
pure virtual |
Return the string representation of the shape.
Implemented in reactphysics3d::BoxShape, reactphysics3d::CapsuleShape, reactphysics3d::ConcaveMeshShape, reactphysics3d::ConvexMeshShape, reactphysics3d::HeightFieldShape, reactphysics3d::SphereShape, and reactphysics3d::TriangleShape.