The abstract base class of all Rigid Bodies that defines essential methods and members to be used in t2d::World<>
More...
#include <body.hpp>
|
| enum | FlagIndexes { NEEDS_REINSERT = 0
, IS_STATIC = 1
} |
| |
|
| | WorldBody (uint32_t id, BodyType bodyType) |
| | constructs a new WorldBody
|
| |
| uint32_t | id () const |
| | Returns the id assigned to this body the physics world.
|
| |
| BodyType | bodyType () const |
| | Returns the bodyType of this body, see enum BodyType.
|
| |
| Transform & | transform () |
| | Returns the REFERENCE transform of this body.
|
| |
| const Transform & | transform () const |
| | Returns the CONST REFERENCE transform of this body.
|
| |
| void | moveBy (const vec2 &amount) |
| | Moves the body by amount.
|
| |
| void | rotateBy (Float amount) |
| | Rotates the body by amount.
|
| |
| void | setPos (const vec2 &pos) |
| | Sets the position of this body to pos.
|
| |
| void | setRot (Float rot) |
| | Sets the rotation of this body to rot.
|
| |
| virtual void | integrate (Float dt)=0 |
| | Integerates this body, meaning the linear velocity and angular velocity will be integrated into the position and rotation of this body.
|
| |
| bool | isStatic () const |
| | Returns if the body is static, meaning it cannot be moved by forces or other bodies.
|
| |
| virtual void | setStatic (bool static_) |
| | Either make the body static or dynamic.
|
| |
| virtual vec2 | getWorldPoint (const vec2 &localPoint) const |
| | Gets a local position thats within the local space of this body and transforms into the world space.
|
| |
| virtual vec2 | getLocalPoint (const vec2 &worldPoint) const |
| | Gets a world position thats space of this body and transforms into the local space of this body.
|
| |
| virtual vec2 | getWorldPos () |
| | Returns the world position of this body.
|
| |
| void | addLinearVel (const vec2 &vel) |
| | applies a linear velocity to this body
|
| |
| Float | mass () const |
| | Returns the mass of this body.
|
| |
| Float | inverseMass () const |
| | Returns the inverse mass of this body.
|
| |
| virtual AABB< Float > | getAABB () const =0 |
| | Returns the AABB of this body.
|
| |
|
AABB< Float > | getAABB (const Transform &spaceTransform, const vec2 &localOffset={ Float(0.5f), Float(0.5f) }) const |
| |
|
AABB< Float > | getAABB (const AABB< Float > &localAABB, const Transform &spaceTransform, const vec2 &localOffset={ Float(0.5f), Float(0.5f) }) const |
| |
|
|
Transform | m_transform |
| |
|
Float | m_mass = 0.0f |
| |
|
Float | m_inverseMass = 0 |
| |
|
vec2 | m_linearVelocity = { 0.0f, 0.0f } |
| |
|
std::bitset< 4 > | m_flags |
| |
|
BodyType | m_bodyType = BodyType::Invalid |
| |
|
|
template<class TileData > |
| class | World |
| |
|
class | ResolveMethods |
| |
The abstract base class of all Rigid Bodies that defines essential methods and members to be used in t2d::World<>
◆ WorldBody()
| WorldBody::WorldBody |
( |
uint32_t | id, |
|
|
BodyType | bodyType ) |
|
inline |
constructs a new WorldBody
- Parameters
-
| id | The id assigned by physics world |
| bodyType | The type of body, see enum BodyType. Does not define whether or not the body is static, see setStatic() |
◆ addLinearVel()
| void WorldBody::addLinearVel |
( |
const vec2 & | vel | ) |
|
|
inline |
applies a linear velocity to this body
- Parameters
-
| vel | The linear velocity to apply to this body |
◆ bodyType()
| BodyType WorldBody::bodyType |
( |
| ) |
const |
|
inline |
Returns the bodyType of this body, see enum BodyType.
- Returns
- The bodyType of this body, see enum BodyType
◆ getAABB()
| virtual AABB< Float > WorldBody::getAABB |
( |
| ) |
const |
|
pure virtual |
◆ getLocalPoint()
| virtual vec2 WorldBody::getLocalPoint |
( |
const vec2 & | worldPoint | ) |
const |
|
inlinevirtual |
Gets a world position thats space of this body and transforms into the local space of this body.
- Parameters
-
| worldPoint | Position in world pos |
Reimplemented in Body.
◆ getWorldPoint()
| virtual vec2 WorldBody::getWorldPoint |
( |
const vec2 & | localPoint | ) |
const |
|
inlinevirtual |
Gets a local position thats within the local space of this body and transforms into the world space.
- Parameters
-
| localPoint | Position in the local space of this body |
Reimplemented in Body.
◆ getWorldPos()
| virtual vec2 WorldBody::getWorldPos |
( |
| ) |
|
|
inlinevirtual |
Returns the world position of this body.
- Returns
- the world position of this body
Reimplemented in Body.
◆ id()
| uint32_t WorldBody::id |
( |
| ) |
const |
|
inline |
Returns the id assigned to this body the physics world.
- Returns
- The id assigned to this body the physics world
◆ integrate()
| virtual void WorldBody::integrate |
( |
Float | dt | ) |
|
|
pure virtual |
Integerates this body, meaning the linear velocity and angular velocity will be integrated into the position and rotation of this body.
- Parameters
-
| dt | The amount to integrate by; delta time |
Implemented in Body, BulletBody, and TileBody< TileType >.
◆ inverseMass()
| Float WorldBody::inverseMass |
( |
| ) |
const |
|
inline |
Returns the inverse mass of this body.
- Returns
- The inverse mass of this body
◆ isStatic()
| bool WorldBody::isStatic |
( |
| ) |
const |
|
inline |
Returns if the body is static, meaning it cannot be moved by forces or other bodies.
- Returns
- True, if static
◆ mass()
| Float WorldBody::mass |
( |
| ) |
const |
|
inline |
Returns the mass of this body.
- Returns
- The mass of this body
◆ moveBy()
| void WorldBody::moveBy |
( |
const vec2 & | amount | ) |
|
|
inline |
Moves the body by amount.
- Parameters
-
| amount | The amount to move this body by |
◆ rotateBy()
| void WorldBody::rotateBy |
( |
Float | amount | ) |
|
|
inline |
Rotates the body by amount.
- Parameters
-
| amount | The amount to rotate this body by |
◆ setPos()
| void WorldBody::setPos |
( |
const vec2 & | pos | ) |
|
|
inline |
Sets the position of this body to pos.
- Parameters
-
| pos | The position to set this body to |
◆ setRot()
| void WorldBody::setRot |
( |
Float | rot | ) |
|
|
inline |
Sets the rotation of this body to rot.
- Parameters
-
| rot | The rotation to set this body to |
◆ setStatic()
| virtual void WorldBody::setStatic |
( |
bool | static_ | ) |
|
|
inlinevirtual |
Either make the body static or dynamic.
- Parameters
-
| static_ | If true the body will be made static. See isStatic(). If false the body will be made dynamic. |
Reimplemented in Body.
◆ transform() [1/2]
Returns the REFERENCE transform of this body.
- Returns
- The REFERENCE tranfsorm of this body
◆ transform() [2/2]
| const Transform & WorldBody::transform |
( |
| ) |
const |
|
inline |
Returns the CONST REFERENCE transform of this body.
- Returns
- The CONST REFERENCE tranfsorm of this body
The documentation for this class was generated from the following file: