![]() |
Jopnal Engine
alpha 0.4
Simple Component Based 2D/3D Game Engine
|
#include <Collider.hpp>
Public Member Functions | |
| bool | checkOverlap (const Collider &other) const |
| Check if this collider overlaps with another. More... | |
| bool | checkContact (const Collider &other) const |
| Check if this collider is in contact with another. More... | |
| bool | checkRay (const glm::vec3 &start, const glm::vec3 &ray) const |
| Check if a ray pierces this collider. More... | |
| void | registerListener (ContactListener &listener) |
| Register a listener for this collider. More... | |
| World & | getWorld () |
| Get the world this collider belongs to. More... | |
| const World & | getWorld () const |
| Get the world this collider belongs to. More... | |
| void | detachFromWorld () |
| Detach this body from its world. More... | |
| void | attachToWorld () |
| Attach this body to its world if it was previously detached. More... | |
| bool | isDetachedFromWorld () const |
| Check if this body is currently detached from its world. More... | |
| void | updateWorldBounds () |
| Force update of the world space bounds. More... | |
| void | setCollisionShape (CollisionShape &shape) |
| Set the collision shape. More... | |
| const CollisionShape * | getCollisionShape () const |
| Get the collision shape. More... | |
Public Member Functions inherited from jop::Component | |
| virtual | ~Component ()=0 |
| Virtual destructor. More... | |
| Message::Result | sendMessage (const Message &message) |
| Send a message to this component. More... | |
| uint32 | getID () const |
| Get the identifier. More... | |
| void | setID (const uint32 ID) |
| Set the identifier. More... | |
| WeakReference< Object > | getObject () |
| Get the object this component is bound to. More... | |
| WeakReference< const Object > | getObject () const |
| Get the object this component is bound to. More... | |
| bool | isActive () const |
| Check if this component is active. More... | |
| void | removeSelf () |
| Remove this component from its object. More... | |
Public Member Functions inherited from jop::SafeReferenceable< Collider > | |
| WeakReference< Collider > | getReference () const |
| Get a weak reference to the bound object. More... | |
Protected Member Functions | |
| Collider (Object &object, World &world, const uint32 ID) | |
| Constructor. More... | |
| Collider (const Collider &other, Object &newObj) | |
| Copy constructor. More... | |
| virtual | ~Collider () override=0 |
| Virtual destructor. More... | |
| void | update (const float deltaTime) override |
| Update. More... | |
| void | setAllowSleep (const bool allow) |
| Set whether the collider is allowed to sleep. More... | |
| bool | isSleepAllowed () const |
| Check if sleep is allowed. More... | |
Protected Member Functions inherited from jop::Component | |
| Component (Object &object, const uint32 ID) | |
| Constructor. More... | |
| Component (const Component &other, Object &newObj) | |
| Copy constructor. More... | |
| virtual Message::Result | receiveMessage (const Message &message) |
| Receive a message. More... | |
Protected Member Functions inherited from jop::SafeReferenceable< Collider > | |
| SafeReferenceable (Collider *ref) | |
| Constructor. More... | |
| SafeReferenceable (SafeReferenceable< Collider > &&other) | |
| Move constructor. More... | |
| SafeReferenceable & | operator= (SafeReferenceable< Collider > &&other) |
| Move assignment operator. More... | |
| ~SafeReferenceable () | |
| Protected destructor. More... | |
Protected Attributes | |
| std::unique_ptr< btCollisionObject > | m_body |
| Body data. More... | |
| World & | m_worldRef |
| Reference to the world. More... | |
| std::set< ContactListener * > | m_listeners |
| Listeners registered for this collider. More... | |
| bool | m_detached |
| Is this body detached from the world? More... | |
| bool | m_allowSleep |
| Is sleep allowed? More... | |
Friends | |
| class | ContactListener |
| class | Joint |
Definition at line 49 of file Collider.hpp.
Constructor.
| object | Reference to the object |
| world | Reference to the physics world |
| ID | Id of this component |
Copy constructor.
| other | The other collider to copy |
| newObj | The new object |
|
overrideprotectedpure virtual |
Virtual destructor.
| void jop::Collider::attachToWorld | ( | ) |
Attach this body to its world if it was previously detached.
| bool jop::Collider::checkContact | ( | const Collider & | other | ) | const |
Check if this collider is in contact with another.
| other | The other collider to check against |
| bool jop::Collider::checkOverlap | ( | const Collider & | other | ) | const |
Check if this collider overlaps with another.
This will compare the axis-aligned bounding boxes. To check if two colliders are actually touching, use checkContact().
| other | The other collider to check against |
| bool jop::Collider::checkRay | ( | const glm::vec3 & | start, |
| const glm::vec3 & | ray | ||
| ) | const |
Check if a ray pierces this collider.
| start | The start position of the ray |
| ray | Ray to be shot from start |
| void jop::Collider::detachFromWorld | ( | ) |
Detach this body from its world.
| const CollisionShape* jop::Collider::getCollisionShape | ( | ) | const |
Get the collision shape.
| World& jop::Collider::getWorld | ( | ) |
Get the world this collider belongs to.
| const World& jop::Collider::getWorld | ( | ) | const |
Get the world this collider belongs to.
| bool jop::Collider::isDetachedFromWorld | ( | ) | const |
Check if this body is currently detached from its world.
|
protected |
Check if sleep is allowed.
| void jop::Collider::registerListener | ( | ContactListener & | listener | ) |
Register a listener for this collider.
Single collider can have multiple listeners
| listener | Reference to the listener which is to be registered for this collider |
|
protected |
Set whether the collider is allowed to sleep.
| allow | True to allow sleep. True by default |
| void jop::Collider::setCollisionShape | ( | CollisionShape & | shape | ) |
Set the collision shape.
| shape | The new shape to set |
|
overrideprotectedvirtual |
Update.
| deltaTime | The delta time |
Reimplemented from jop::Component.
Reimplemented in jop::World, jop::World2D, and jop::PhantomBody.
| void jop::Collider::updateWorldBounds | ( | ) |
Force update of the world space bounds.
You'll usually want to call this when you've called CollisionShape::setLocalScale() for the bound collision shape.
|
friend |
Definition at line 57 of file Collider.hpp.
|
friend |
Definition at line 58 of file Collider.hpp.
|
protected |
Is sleep allowed?
Definition at line 187 of file Collider.hpp.
|
protected |
Body data.
Definition at line 183 of file Collider.hpp.
|
protected |
Is this body detached from the world?
Definition at line 186 of file Collider.hpp.
|
protected |
Listeners registered for this collider.
Definition at line 185 of file Collider.hpp.
|
protected |
Reference to the world.
Definition at line 184 of file Collider.hpp.
1.8.11