ReactPhysics3D  v0.10.1
C++ Physics engine library
reactphysics3d::RigidBodyComponents Class Reference

This class represent the component of the ECS that contains data about a rigid body. More...

#include <include/reactphysics3d/components/RigidBodyComponents.h>

Inheritance diagram for reactphysics3d::RigidBodyComponents:
reactphysics3d::Components

Classes

struct  RigidBodyComponent
 Structure for the data of a rigid body component. More...
 

Public Member Functions

 RigidBodyComponents (MemoryAllocator &allocator)
 Constructor.
 
virtual ~RigidBodyComponents () override=default
 Destructor.
 
void addComponent (Entity bodyEntity, bool isDisabled, const RigidBodyComponent &component)
 Add a component.
 
RigidBodygetRigidBody (Entity bodyEntity)
 Return a pointer to a rigid body.
 
bool getIsAllowedToSleep (Entity bodyEntity) const
 Return true if the body is allowed to sleep.
 
void setIsAllowedToSleep (Entity bodyEntity, bool isAllowedToSleep) const
 Set the value to know if the body is allowed to sleep.
 
bool getIsSleeping (Entity bodyEntity) const
 Return true if the body is sleeping.
 
void setIsSleeping (Entity bodyEntity, bool isSleeping) const
 Set the value to know if the body is sleeping.
 
decimal getSleepTime (Entity bodyEntity) const
 Return the sleep time.
 
void setSleepTime (Entity bodyEntity, decimal sleepTime) const
 Set the sleep time.
 
BodyType getBodyType (Entity bodyEntity)
 Return the body type of a body.
 
void setBodyType (Entity bodyEntity, BodyType bodyType)
 Set the body type of a body.
 
const Vector3getLinearVelocity (Entity bodyEntity) const
 Return the linear velocity of an entity.
 
void setLinearVelocity (Entity bodyEntity, const Vector3 &linearVelocity)
 Set the linear velocity of an entity.
 
const Vector3getAngularVelocity (Entity bodyEntity) const
 Return the angular velocity of an entity.
 
void setAngularVelocity (Entity bodyEntity, const Vector3 &angularVelocity)
 Set the angular velocity of an entity.
 
const Vector3getExternalForce (Entity bodyEntity) const
 Return the external force of an entity.
 
const Vector3getExternalTorque (Entity bodyEntity) const
 Return the external torque of an entity.
 
decimal getLinearDamping (Entity bodyEntity) const
 Return the linear damping factor of an entity.
 
decimal getAngularDamping (Entity bodyEntity) const
 Return the angular damping factor of an entity.
 
decimal getMass (Entity bodyEntity) const
 Return the mass of an entity.
 
void setMass (Entity bodyEntity, decimal mass)
 Set the mass of an entity.
 
decimal getMassInverse (Entity bodyEntity) const
 Return the mass inverse of an entity.
 
void setMassInverse (Entity bodyEntity, decimal inverseMass)
 Set the inverse mass of an entity.
 
const Vector3getLocalInertiaTensor (Entity bodyEntity)
 Return the local inertia tensor of an entity.
 
void setLocalInertiaTensor (Entity bodyEntity, const Vector3 &inertiaTensorLocal)
 Set the local inertia tensor of an entity.
 
const Vector3getInertiaTensorLocalInverse (Entity bodyEntity)
 Return the inverse local inertia tensor of an entity.
 
const Matrix3x3getInertiaTensorWorldInverse (Entity bodyEntity)
 Return the inverse world inertia tensor of an entity.
 
void setInertiaTensorWorldInverse (Entity bodyEntity, const Matrix3x3 &inertiaTensor)
 Set the inverse world inertia tensor of an entity.
 
void setExternalForce (Entity bodyEntity, const Vector3 &externalForce)
 Set the external force of an entity.
 
void setExternalTorque (Entity bodyEntity, const Vector3 &externalTorque)
 Set the external force of an entity.
 
void setLinearDamping (Entity bodyEntity, decimal linearDamping)
 Set the linear damping factor of an entity.
 
void setAngularDamping (Entity bodyEntity, decimal angularDamping)
 Set the angular damping factor of an entity.
 
void setInverseInertiaTensorLocal (Entity bodyEntity, const Vector3 &inertiaTensorLocalInverse)
 Set the inverse local inertia tensor of an entity.
 
const Vector3getConstrainedLinearVelocity (Entity bodyEntity) const
 Return the constrained linear velocity of an entity.
 
const Vector3getConstrainedAngularVelocity (Entity bodyEntity) const
 Return the constrained angular velocity of an entity.
 
const Vector3getSplitLinearVelocity (Entity bodyEntity) const
 Return the split linear velocity of an entity.
 
const Vector3getSplitAngularVelocity (Entity bodyEntity) const
 Return the split angular velocity of an entity.
 
Vector3getConstrainedPosition (Entity bodyEntity)
 Return the constrained position of an entity.
 
QuaterniongetConstrainedOrientation (Entity bodyEntity)
 Return the constrained orientation of an entity.
 
const Vector3getCenterOfMassLocal (Entity bodyEntity)
 Return the local center of mass of an entity.
 
const Vector3getCenterOfMassWorld (Entity bodyEntity)
 Return the world center of mass of an entity.
 
bool getIsGravityEnabled (Entity bodyEntity) const
 Return true if gravity is enabled for this entity.
 
bool getIsAlreadyInIsland (Entity bodyEntity) const
 Return true if the entity is already in an island.
 
const Vector3getLinearLockAxisFactor (Entity bodyEntity) const
 Return the lock translation factor.
 
const Vector3getAngularLockAxisFactor (Entity bodyEntity) const
 Return the lock rotation factor.
 
void setConstrainedLinearVelocity (Entity bodyEntity, const Vector3 &constrainedLinearVelocity)
 Set the constrained linear velocity of an entity.
 
void setConstrainedAngularVelocity (Entity bodyEntity, const Vector3 &constrainedAngularVelocity)
 Set the constrained angular velocity of an entity.
 
void setSplitLinearVelocity (Entity bodyEntity, const Vector3 &splitLinearVelocity)
 Set the split linear velocity of an entity.
 
void setSplitAngularVelocity (Entity bodyEntity, const Vector3 &splitAngularVelocity)
 Set the split angular velocity of an entity.
 
void setConstrainedPosition (Entity bodyEntity, const Vector3 &constrainedPosition)
 Set the constrained position of an entity.
 
void setConstrainedOrientation (Entity bodyEntity, const Quaternion &constrainedOrientation)
 Set the constrained orientation of an entity.
 
void setCenterOfMassLocal (Entity bodyEntity, const Vector3 &centerOfMassLocal)
 Set the local center of mass of an entity.
 
void setCenterOfMassWorld (Entity bodyEntity, const Vector3 &centerOfMassWorld)
 Set the world center of mass of an entity.
 
void setIsGravityEnabled (Entity bodyEntity, bool isGravityEnabled)
 Set the value to know if the gravity is enabled for this entity.
 
void setIsAlreadyInIsland (Entity bodyEntity, bool isAlreadyInIsland)
 Set the value to know if the entity is already in an island.
 
void setLinearLockAxisFactor (Entity bodyEntity, const Vector3 &linearLockAxisFactor)
 Set the linear lock axis factor.
 
void setAngularLockAxisFactor (Entity bodyEntity, const Vector3 &rotationTranslationFactor)
 Set the angular lock axis factor.
 
const Array< Entity > & getJoints (Entity bodyEntity) const
 Return the array of joints of a body.
 
void addJointToBody (Entity bodyEntity, Entity jointEntity)
 Add a joint to a body component.
 
void removeJointFromBody (Entity bodyEntity, Entity jointEntity)
 Remove a joint from a body component.
 
void addContacPair (Entity bodyEntity, uint32 contactPairIndex)
 A an associated contact pairs into the contact pairs array of the body.
 
void removeAllContacPairs (Entity bodyEntity)
 Remove all the contact pairs of a body.
 
- Public Member Functions inherited from reactphysics3d::Components
 Components (MemoryAllocator &allocator, size_t componentDataSize, size_t alignmentMarginSize)
 Constructor.
 
virtual ~Components ()
 Destructor.
 
void init ()
 Initialize the components:
 
void removeComponent (Entity entity)
 Remove a component.
 
bool getIsEntityDisabled (Entity entity) const
 Return true if an entity is disabled.
 
void setIsEntityDisabled (Entity entity, bool isDisabled)
 Notify if a given entity is disabled.
 
bool hasComponent (Entity entity) const
 Return true if there is a component for a given entity.
 
bool hasComponentGetIndex (Entity entity, uint32 &entityIndex) const
 Return true if there is a component for a given entiy and if so set the entity index.
 
uint32 getNbComponents () const
 Return the number of components.
 
uint32 getNbEnabledComponents () const
 Return the number of enabled components.
 
uint32 getEntityIndex (Entity entity) const
 Return the index in the arrays for a given entity.
 

Detailed Description

This class represent the component of the ECS that contains data about a rigid body.

The components of the sleeping entities (bodies) are always stored at the end of the array.


The documentation for this class was generated from the following files: