Lugdunum  0.1.0
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
lug::Graphics::Scene::Scene Class Reference

#include <Scene.hpp>

Inheritance diagram for lug::Graphics::Scene::Scene:
[legend]
Collaboration diagram for lug::Graphics::Scene::Scene:
[legend]

Public Member Functions

 Scene ()=default
 
 Scene (const Scene &)=delete
 
 Scene (Scene &&)=delete
 
Sceneoperator= (const Scene &)=delete
 
Sceneoperator= (Scene &&)=delete
 
 ~Scene ()=default
 
NodecreateSceneNode (const std::string &name)
 
void setSkyBox (Resource::SharedPtr< Render::SkyBox > skyBox)
 
NodegetRoot ()
 
const NodegetRoot () const
 
NodegetSceneNode (const std::string &name)
 
const NodegetSceneNode (const std::string &name) const
 
const Resource::SharedPtr< Render::SkyBoxgetSkyBox () const
 
void fetchVisibleObjects (const Renderer &renderer, const Render::View &renderView, const Render::Camera::Camera &camera, Render::Queue &renderQueue) const
 
- Public Member Functions inherited from lug::Graphics::Resource
 Resource (Type type, const std::string &name)
 
 Resource (const Resource &)=delete
 
 Resource (Resource &&)=delete
 
Resourceoperator= (const Resource &)=delete
 
Resourceoperator= (Resource &&)=delete
 
virtual ~Resource ()=default
 
Type getType () const
 Returns the type of the Resource. More...
 
Handle getHandle () const
 Returns the handle of the Resource. More...
 
const std::string & getName () const
 Gets the name of the Resource. More...
 
void setName (const std::string &name)
 Sets the name of the Resource. More...
 

Private Member Functions

 Scene (const std::string &name)
 

Private Attributes

Node _root
 
Resource::SharedPtr< Render::SkyBox_skyBox {nullptr}
 
std::list< Node_nodes
 

Friends

class Builder::Scene
 

Additional Inherited Members

- Public Types inherited from lug::Graphics::Resource
enum  Type : uint8_t {
  Type::Scene, Type::SceneNode, Type::Material, Type::Mesh,
  Type::Light, Type::Texture, Type::Pipeline, Type::Camera,
  Type::SkyBox
}
 Type of the resource. More...
 
- Protected Attributes inherited from lug::Graphics::Resource
std::string _name
 

Detailed Description

Definition at line 30 of file Scene.hpp.

Constructor & Destructor Documentation

◆ Scene() [1/4]

lug::Graphics::Scene::Scene::Scene ( )
default

◆ Scene() [2/4]

lug::Graphics::Scene::Scene::Scene ( const Scene )
delete

◆ Scene() [3/4]

lug::Graphics::Scene::Scene::Scene ( Scene &&  )
delete

◆ ~Scene()

lug::Graphics::Scene::Scene::~Scene ( )
default

◆ Scene() [4/4]

lug::Graphics::Scene::Scene::Scene ( const std::string &  name)
private

Definition at line 9 of file Scene.cpp.

Member Function Documentation

◆ operator=() [1/2]

Scene& lug::Graphics::Scene::Scene::operator= ( const Scene )
delete

◆ operator=() [2/2]

Scene& lug::Graphics::Scene::Scene::operator= ( Scene &&  )
delete

◆ createSceneNode()

Node * lug::Graphics::Scene::Scene::createSceneNode ( const std::string &  name)

Definition at line 11 of file Scene.cpp.

◆ setSkyBox()

void Scene::setSkyBox ( Resource::SharedPtr< Render::SkyBox skyBox)
inline

Definition at line 1 of file Scene.inl.

◆ getRoot() [1/2]

Node & Scene::getRoot ( )
inline

Definition at line 5 of file Scene.inl.

◆ getRoot() [2/2]

const Node & Scene::getRoot ( ) const
inline

Definition at line 9 of file Scene.inl.

◆ getSceneNode() [1/2]

Node * lug::Graphics::Scene::Scene::getSceneNode ( const std::string &  name)

Definition at line 19 of file Scene.cpp.

◆ getSceneNode() [2/2]

const Node * lug::Graphics::Scene::Scene::getSceneNode ( const std::string &  name) const

Definition at line 23 of file Scene.cpp.

◆ getSkyBox()

const Resource::SharedPtr< Render::SkyBox > Scene::getSkyBox ( ) const
inline

Definition at line 14 of file Scene.inl.

◆ fetchVisibleObjects()

void lug::Graphics::Scene::Scene::fetchVisibleObjects ( const Renderer renderer,
const Render::View renderView,
const Render::Camera::Camera camera,
Render::Queue renderQueue 
) const

Definition at line 27 of file Scene.cpp.

Friends And Related Function Documentation

◆ Builder::Scene

friend class Builder::Scene
friend

Definition at line 31 of file Scene.hpp.

Member Data Documentation

◆ _root

Node lug::Graphics::Scene::Scene::_root
private

Definition at line 61 of file Scene.hpp.

◆ _skyBox

Resource::SharedPtr<Render::SkyBox> lug::Graphics::Scene::Scene::_skyBox {nullptr}
private

Definition at line 63 of file Scene.hpp.

◆ _nodes

std::list<Node> lug::Graphics::Scene::Scene::_nodes
private

Definition at line 65 of file Scene.hpp.


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