MobileRT  1.0
A multi platform C++ CPU progressive Ray Tracer.
MobileRT::Scene Class Referencefinal

#include <Scene.hpp>

Collaboration diagram for MobileRT::Scene:
Collaboration graph

Public Member Functions

 Scene ()=default
 
 Scene (const Scene &scene)=delete
 
 Scene (Scene &&scene) noexcept=default
 
 ~Scene ()
 
Sceneoperator= (const Scene &scene)=delete
 
Sceneoperator= (Scene &&scene) noexcept=default
 

Static Public Member Functions

template<typename T >
::MobileRT::AABB getBounds (const ::std::vector< T > &primitives)
 

Public Attributes

::std::vector< Triangletriangles_ {}
 
::std::vector< Spherespheres_ {}
 
::std::vector< Planeplanes_ {}
 
::std::vector<::std::unique_ptr< Light > > lights_ {}
 
::std::vector< Materialmaterials_ {}
 

Static Private Member Functions

::MobileRT::AABB getBoxBounds (const AABB &box1, const AABB &box2)
 

Detailed Description

A class which represents a scene for the Ray Tracer engine to cast rays into.

Constructor & Destructor Documentation

◆ Scene() [1/3]

MobileRT::Scene::Scene ( )
explicitdefault

◆ Scene() [2/3]

MobileRT::Scene::Scene ( const Scene scene)
delete

◆ Scene() [3/3]

MobileRT::Scene::Scene ( Scene &&  scene)
defaultnoexcept

◆ ~Scene()

Scene::~Scene ( )

The destructor.

Member Function Documentation

◆ getBounds()

template<typename T >
::MobileRT::AABB MobileRT::Scene::getBounds ( const ::std::vector< T > &  primitives)
inlinestatic

Calculates the bounding boxes which surrounds all the primitives in a vector.

Template Parameters
TThe type of the primitives.
Parameters
primitivesThe primitives to calculate the bounding box.
Returns
The bounding box which surrounds all the primitives.
Here is the call graph for this function:

◆ getBoxBounds()

AABB Scene::getBoxBounds ( const AABB box1,
const AABB box2 
)
staticprivate

A helper method which calculates the bounding box that surrounds two bounding boxes.

Parameters
box1A bounding box.
box2A bounding box.
Returns
The bounding box which surrounds the bounding boxes.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=() [1/2]

Scene& MobileRT::Scene::operator= ( const Scene scene)
delete

◆ operator=() [2/2]

Scene& MobileRT::Scene::operator= ( Scene &&  scene)
defaultnoexcept

Member Data Documentation

◆ lights_

::std::vector<::std::unique_ptr<Light> > MobileRT::Scene::lights_ {}

◆ materials_

::std::vector<Material> MobileRT::Scene::materials_ {}

◆ planes_

::std::vector<Plane> MobileRT::Scene::planes_ {}

◆ spheres_

::std::vector<Sphere> MobileRT::Scene::spheres_ {}

◆ triangles_

::std::vector<Triangle> MobileRT::Scene::triangles_ {}

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