Jopnal Engine  alpha 0.4
Simple Component Based 2D/3D Game Engine
Public Member Functions | List of all members
jop::SkySphere Class Reference

#include <SkySphere.hpp>

Inheritance diagram for jop::SkySphere:
jop::Drawable jop::CullerComponent jop::PhantomBody jop::Collider jop::Component jop::SafeReferenceable< Collider >

Public Member Functions

 SkySphere (Object &obj, Renderer &renderer, const float radius=2.f)
 Constructor. More...
 
void draw (const ProjectionInfo &proj, const LightContainer &lights) const override
 Draw function. More...
 
SkySpheresetMap (const Texture2D &map)
 Set the map. More...
 
const TexturegetMap () const
 Get the bound map. 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...
 
RenderergetRendrer ()
 Get the renderer this drawable is bound to. More...
 
const RenderergetRenderer () const
 Get the renderer this drawable is bound to. More...
 
DrawablesetRenderGroup (const uint8 group)
 Set the render group. More...
 
uint8 getRenderGroup () const
 Get the render group. More...
 
DrawablesetModel (const Model &model)
 Set the model. More...
 
ModelgetModel ()
 Get the model. More...
 
const ModelgetModel () const
 Get the model. More...
 
DrawablesetColor (const Color &color)
 Set the color. More...
 
const ColorgetColor () 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...
 
DrawablesetFlags (const uint32 flags)
 Set flags. More...
 
bool hasFlag (const uint32 flag) const
 Check if this drawable has a flag. More...
 
ShaderProgramgetShader () 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
 
void update (const float deltaTime) override
 Update function. More...
 
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...
 
WorldgetWorld ()
 Get the world this collider belongs to. More...
 
const WorldgetWorld () 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 CollisionShapegetCollisionShape () 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< ObjectgetObject ()
 Get the object this component is bound to. More...
 
WeakReference< const ObjectgetObject () 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< CollidergetReference () const
 Get a weak reference to the bound object. More...
 

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 }
 
- Protected Member Functions inherited from jop::Drawable
 JOP_GENERIC_COMPONENT_CLONE (Drawable)
 
virtual Message::Result receiveMessage (const Message &message) override
 Receive a message. More...
 
- 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...
 
SafeReferenceableoperator= (SafeReferenceable< Collider > &&other)
 Move assignment operator. More...
 
 ~SafeReferenceable ()
 Protected destructor. 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...
 
Worldm_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...
 

Detailed Description

Definition at line 38 of file SkySphere.hpp.

Constructor & Destructor Documentation

jop::SkySphere::SkySphere ( Object obj,
Renderer renderer,
const float  radius = 2.f 
)

Constructor.

You should only ever need to change the default radius if you're using a non-default near clipping plane with your cameras.

Parameters
objThe object component is bound to
rendererThe renderer
radiusThe sphere radius

Member Function Documentation

void jop::SkySphere::draw ( const ProjectionInfo proj,
const LightContainer lights 
) const
overridevirtual

Draw function.

Parameters
projThe projection info
lightsThe light container

Reimplemented from jop::Drawable.

const Texture* jop::SkySphere::getMap ( ) const

Get the bound map.

Returns
Pointer to the map. nullptr if none is bound
SkySphere& jop::SkySphere::setMap ( const Texture2D map)

Set the map.

The map should use spherical texture coordinates.

Parameters
mapReference to the map

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