![]() |
ReactPhysics3D
v0.10.2
C++ Physics engine library
|
This class represents a body. More...
#include <include/reactphysics3d/body/Body.h>
Public Member Functions | |
| Body (PhysicsWorld &world, Entity entity) | |
| Constructor. | |
| virtual | ~Body () |
| Destructor. | |
| Body (const Body &body)=delete | |
| Deleted copy-constructor. | |
| Body & | operator= (const Body &body)=delete |
| Deleted assignment operator. | |
| Entity | getEntity () const |
| Return the corresponding entity of the body. | |
| bool | isActive () const |
| Return true if the body is active. | |
| void * | getUserData () const |
| Return a pointer to the user data attached to this body. | |
| void | setUserData (void *userData) |
| Attach user data to this body. | |
| virtual void | setIsActive (bool isActive) |
| Set whether or not the body is active. | |
| const Transform & | getTransform () const |
| Return the current position and orientation. | |
| virtual void | setTransform (const Transform &transform) |
| Set the current position and orientation. | |
| virtual Collider * | addCollider (CollisionShape *collisionShape, const Transform &transform) |
| Create a new collider and add it to the body. | |
| virtual void | removeCollider (Collider *collider) |
| Remove a collider from the body. | |
| bool | testPointInside (const Vector3 &worldPoint) const |
| Return true if a point is inside the collision body. | |
| bool | raycast (const Ray &ray, RaycastInfo &raycastInfo) |
| Raycast method with feedback information. | |
| bool | testAABBOverlap (const AABB &worldAABB) const |
| Test if the collision body overlaps with a given AABB. | |
| AABB | getAABB () const |
| Compute and return the AABB of the body by merging all colliders AABBs. | |
| const Collider * | getCollider (uint32 colliderIndex) const |
| Return a const pointer to a given collider of the body. | |
| Collider * | getCollider (uint32 colliderIndex) |
| Return a pointer to a given collider of the body. | |
| uint32 | getNbColliders () const |
| Return the number of colliders associated with this body. | |
| Vector3 | getWorldPoint (const Vector3 &localPoint) const |
| Return the world-space coordinates of a point given the local-space coordinates of the body. | |
| Vector3 | getWorldVector (const Vector3 &localVector) const |
| Return the world-space vector of a vector given in local-space coordinates of the body. | |
| Vector3 | getLocalPoint (const Vector3 &worldPoint) const |
| Return the body local-space coordinates of a point given in the world-space coordinates. | |
| Vector3 | getLocalVector (const Vector3 &worldVector) const |
| Return the body local-space coordinates of a vector given in the world-space coordinates. | |
| void | setIsDebugEnabled (bool enabled) |
| Set whether or not debug lines are computed for this body. | |
| bool | isDebugEnabled () const |
| Return true if debug lines should be computed for this body. | |
This class represents a body.
| Body::Body | ( | PhysicsWorld & | world, |
| Entity | entity ) |
Constructor.
| world | The reference to the physics world where the body is created |
| entity | Entity of the body |
|
virtual |
Create a new collider and add it to the body.
This method will return a pointer to a new collider.
A collider is an object with a collision shape that is attached to a body. It is possible to attach multiple colliders to a given body. You can use the returned collider to get and set information about the corresponding collision shape for that body.
| collisionShape | A pointer to the collision shape of the new collider |
| transform | The transformation of the collider that transforms the local-space of the collider into the local-space of the body |
Reimplemented in reactphysics3d::RigidBody.
| AABB Body::getAABB | ( | ) | const |
| Collider * Body::getCollider | ( | uint32 | colliderIndex | ) |
Return a pointer to a given collider of the body.
| colliderIndex | Index of a Collider of the body |
| const Collider * Body::getCollider | ( | uint32 | colliderIndex | ) | const |
Return a const pointer to a given collider of the body.
| colliderIndex | Index of a Collider of the body |
| RP3D_FORCE_INLINE Entity reactphysics3d::Body::getEntity | ( | ) | const |
Return the corresponding entity of the body.
Return the body local-space coordinates of a point given in the world-space coordinates.
| worldPoint | A point in world-space coordinates |
Return the body local-space coordinates of a vector given in the world-space coordinates.
| worldVector | A vector in world-space coordinates |
| uint32 Body::getNbColliders | ( | ) | const |
Return the number of colliders associated with this body.
| const Transform & Body::getTransform | ( | ) | const |
Return the current position and orientation.
| void * Body::getUserData | ( | ) | const |
Return a pointer to the user data attached to this body.
Return the world-space coordinates of a point given the local-space coordinates of the body.
| localPoint | A point in the local-space coordinates of the body |
Return the world-space vector of a vector given in local-space coordinates of the body.
| localVector | A vector in the local-space coordinates of the body |
| bool Body::isActive | ( | ) | const |
Return true if the body is active.
| bool Body::isDebugEnabled | ( | ) | const |
Return true if debug lines should be computed for this body.
| bool Body::raycast | ( | const Ray & | ray, |
| RaycastInfo & | raycastInfo ) |
Raycast method with feedback information.
The method returns the closest hit among all the collision shapes of the body.
| ray | The ray used to raycast agains the body | |
| [out] | raycastInfo | Structure that contains the result of the raycasting (valid only if the method returned true) |
|
virtual |
Remove a collider from the body.
To remove a collider, you need to specify its pointer.
| collider | The pointer of the collider you want to remove |
Reimplemented in reactphysics3d::RigidBody.
|
virtual |
Set whether or not the body is active.
| isActive | True if you want to activate the body |
Reimplemented in reactphysics3d::RigidBody.
| void Body::setIsDebugEnabled | ( | bool | enabled | ) |
|
virtual |
Set the current position and orientation.
| transform | The transformation of the body that transforms the local-space of the body into world-space |
Reimplemented in reactphysics3d::RigidBody.
| void Body::setUserData | ( | void * | userData | ) |
Attach user data to this body.
| userData | A pointer to the user data you want to attach to the body |
| RP3D_FORCE_INLINE bool reactphysics3d::Body::testAABBOverlap | ( | const AABB & | worldAABB | ) | const |
| bool Body::testPointInside | ( | const Vector3 & | worldPoint | ) | const |
Return true if a point is inside the collision body.
This method returns true if a point is inside any collision shape of the body.
| worldPoint | The point to test (in world-space coordinates) |