![]() |
Jopnal Engine
alpha 0.4
Simple Component Based 2D/3D Game Engine
|
#include <World.hpp>
Classes | |
| struct | BroadphaseCallback |
Public Member Functions | |
| World (Object &obj, Renderer &renderer) | |
| Constructor. More... | |
| ~World () override | |
| Destructor. More... | |
| void | update (const float deltaTime) override |
| Update the world. More... | |
| void | draw (const ProjectionInfo &proj, const LightContainer &lights) const override |
| Debug draw the world. More... | |
| RayInfo | checkRayClosest (const glm::vec3 &start, const glm::vec3 &ray, const short group=1, const short mask=32767) const |
| Check if a ray hits a collider and return the closest one. More... | |
| std::vector< RayInfo > | checkRayAllHits (const glm::vec3 &start, const glm::vec3 &ray, const short group=1, const short mask=32767) const |
| Check if a ray hits a collider and return all hits. More... | |
| std::vector< Collider * > | checkOverlapAll (const glm::vec3 &aabbStart, const glm::vec3 &aabbEnd, const short group=1, const short mask=32767) const |
| Get all the colliders that overlap with the bounding box. More... | |
| void | setDebugMode (const bool enable) |
| Enable/disable debug drawing. More... | |
| bool | debugMode () const |
| Check if debug drawing is enabled. More... | |
| void | setGravity (const glm::vec3 &gravity) |
| Set gravity for world. More... | |
| glm::vec3 | getGravity () const |
| Get gravity for world. More... | |
| void | setBroadphaseBallback (const BroadphaseCallback &callback) |
| Set the broad phase callback. More... | |
| void | setDefaultBroadphaseCallback () |
| Restore the default broad phase callback. More... | |
Public Member Functions inherited from jop::Drawable | |
| Drawable (Object &object, Renderer &renderer, const RenderPass::Pass pass=RenderPass::Pass::BeforePost, const bool cull=true) | |
| Constructor. More... | |
| Drawable (Object &object, RenderPass &pass, const bool cull=true) | |
| Overloaded constructor. More... | |
| virtual | ~Drawable () override |
| Virtual destructor. More... | |
| Renderer & | getRendrer () |
| Get the renderer this drawable is bound to. More... | |
| const Renderer & | getRenderer () const |
| Get the renderer this drawable is bound to. More... | |
| Drawable & | setRenderGroup (const uint8 group) |
| Set the render group. More... | |
| uint8 | getRenderGroup () const |
| Get the render group. More... | |
| Drawable & | setModel (const Model &model) |
| Set the model. More... | |
| Model & | getModel () |
| Get the model. More... | |
| const Model & | getModel () const |
| Get the model. More... | |
| Drawable & | setColor (const Color &color) |
| Set the color. More... | |
| const Color & | getColor () const |
| Get the color. More... | |
| const std::pair< glm::vec3, glm::vec3 > & | getLocalBounds () const |
| Get the local bounds. More... | |
| std::pair< glm::vec3, glm::vec3 > | getGlobalBounds () const |
| Get the global bounds. More... | |
| Drawable & | setFlags (const uint32 flags) |
| Set flags. More... | |
| bool | hasFlag (const uint32 flag) const |
| Check if this drawable has a flag. More... | |
| ShaderProgram & | getShader () const |
| Get the current shader. More... | |
| void | setOverrideShader (ShaderProgram &shader) |
| Set an override shader. More... | |
| void | removeOverrideShader () |
| Remove the override shader if one is bound. More... | |
| bool | hasOverrideShader () const |
| Check if using an override shader. More... | |
| uint64 | getAttributes () const |
| Get the internal attribute field. More... | |
Public Member Functions inherited from jop::PhantomBody | |
| PhantomBody (Object &object, World &world, CollisionShape &shape, const bool attachToWorld) | |
| Constructor. More... | |
| virtual | ~PhantomBody () override |
| std::vector< Collider * > | getOverlaps () |
| Get all the overlapping colliders. More... | |
| std::vector< const Collider * > | getOverlaps () const |
| Get all the overlapping colliders. More... | |
| unsigned int | getOverlapAmount () const |
| Get the number of overlapping colliders. More... | |
Public Member Functions inherited from jop::Collider | |
| 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 | |
| Message::Result | receiveMessage (const Message &message) override |
| Receive a message. More... | |
Protected Member Functions inherited from jop::Drawable | |
| JOP_GENERIC_COMPONENT_CLONE (Drawable) | |
Protected Member Functions inherited from jop::CullerComponent | |
| JOP_GENERIC_COMPONENT_CLONE (CullerComponent) | |
| CullerComponent (Object &object, World &world, const Type type, const bool attach) | |
Protected Member Functions inherited from jop::PhantomBody | |
| JOP_GENERIC_COMPONENT_CLONE (PhantomBody) | |
Protected Member Functions inherited from jop::Collider | |
| 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 | 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... | |
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< detail::WorldImpl > | m_worldData |
| The world data. More... | |
| std::unique_ptr< detail::GhostCallback > | m_ghostCallback |
| Internal ghost callback. More... | |
| std::unique_ptr< detail::ContactListenerImpl > | m_contactListener |
| Contact listener implementation. More... | |
| std::unique_ptr< detail::BroadPhaseCallback > | m_bpCallback |
| Broad phase callback. More... | |
Protected Attributes inherited from jop::Drawable | |
| uint64 | m_attributes |
| Attribute flags. More... | |
Protected Attributes inherited from jop::Collider | |
| 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 | Collider |
| class | Joint |
| class | Renderer |
| class | RigidBody |
| class | PhantomBody |
Additional Inherited Members | |
Public Types inherited from jop::Drawable | |
| enum | Flag : uint32 { ReceiveLights = 1, ReceiveShadows = 1 << 1, CastShadows = 1 << 2, Reflected = 1 << 3 } |
Protected Types inherited from jop::CullerComponent | |
| enum | Type { Type::Drawable, Type::Camera, Type::LightSource, Type::EnvironmentRecorder } |
Constructor.
| obj | The object to bind this world into |
| renderer | Reference to the renderer, needed for debug drawing |
|
override |
Destructor.
| std::vector<Collider*> jop::World::checkOverlapAll | ( | const glm::vec3 & | aabbStart, |
| const glm::vec3 & | aabbEnd, | ||
| const short | group = 1, |
||
| const short | mask = 32767 |
||
| ) | const |
Get all the colliders that overlap with the bounding box.
| aabbStart | Starting point of the bounding box |
| aabbEnd | Ending point of the bounding box |
| group | The collision group |
| mask | The collision mask |
| std::vector<RayInfo> jop::World::checkRayAllHits | ( | const glm::vec3 & | start, |
| const glm::vec3 & | ray, | ||
| const short | group = 1, |
||
| const short | mask = 32767 |
||
| ) | const |
Check if a ray hits a collider and return all hits.
| start | The start position of the ray |
| ray | Ray to be shot from start |
| group | The collision group |
| mask | The collision mask |
| RayInfo jop::World::checkRayClosest | ( | const glm::vec3 & | start, |
| const glm::vec3 & | ray, | ||
| const short | group = 1, |
||
| const short | mask = 32767 |
||
| ) | const |
Check if a ray hits a collider and return the closest one.
| start | The start position of the ray |
| ray | Ray to be shot from start |
| group | The collision group |
| mask | The collision mask |
| bool jop::World::debugMode | ( | ) | const |
Check if debug drawing is enabled.
|
overridevirtual |
Debug draw the world.
| proj | The projection info |
| lights | The lights, not used |
Reimplemented from jop::Drawable.
| glm::vec3 jop::World::getGravity | ( | ) | const |
Get gravity for world.
|
overrideprotectedvirtual |
Receive a message.
Override this to handle messages sent to this. Don't forget to call the base class' method as well to ensure that the message gets forwarded correctly.
| message | The message |
Reimplemented from jop::Drawable.
| void jop::World::setBroadphaseBallback | ( | const BroadphaseCallback & | callback | ) |
Set the broad phase callback.
Get gravity for world
| callback | Reference to the callback object |
| void jop::World::setDebugMode | ( | const bool | enable | ) |
Enable/disable debug drawing.
| enable | True to enable |
| void jop::World::setDefaultBroadphaseCallback | ( | ) |
Restore the default broad phase callback.
| void jop::World::setGravity | ( | const glm::vec3 & | gravity | ) |
Set gravity for world.
| gravity | Vector holding amplitude of gravity for each dimension |
|
overridevirtual |
|
friend |
|
protected |
|
protected |
|
protected |
|
protected |
1.8.11