Divide Framework 0.1
A free and open-source 3D Framework under heavy development
Loading...
Searching...
No Matches
Scene.h File Reference

Go to the source code of this file.

Classes

struct  Divide::Selections
 
struct  Divide::DragSelectData
 
struct  Divide::SceneEntry
 
class  Divide::Scene
 
struct  Divide::Scene::DayNightData
 
struct  Divide::Scene::TimerStruct
 
class  Divide::Attorney::SceneProjectManager
 
class  Divide::Attorney::SceneRenderPass
 
class  Divide::Attorney::SceneEnvironmentProbeComponent
 
class  Divide::Attorney::SceneLoadSave
 
class  Divide::Attorney::SceneGraph
 
class  Divide::Attorney::SceneGUI
 
class  Divide::Attorney::SceneInput
 

Namespaces

namespace  Divide
 Handle console commands that start with a forward slash.
 
namespace  Divide::AI
 
namespace  Divide::GFX
 
namespace  Divide::Attorney
 
namespace  Divide::SceneList
 

Macros

#define DVD_SCENE_H_
 
#define STRUCT_NAME(M)   BOOST_PP_CAT(M, RegisterStruct)
 
#define REGISTER_SCENE(SceneName)
 
#define BEGIN_SCENE(SceneName)
 
#define END_SCENE(SceneName)   };
 

Typedefs

using Divide::SceneEntries = vector< SceneEntry >
 
using Divide::PlayerList = eastl::array< Player_ptr, Config::MAX_LOCAL_PLAYER_COUNT >
 
template<typename T >
using Divide::SceneList::SharedPtrFactory = boost::factory< std::shared_ptr< T > >
 
using Divide::SceneList::ScenePtrFactory = std::function< std::shared_ptr< Scene >(PlatformContext &context, Project &parent, const SceneEntry &name)>
 
using Divide::SceneList::SceneFactoryMap = std::unordered_map< U64, ScenePtrFactory >
 
using Divide::SceneList::SceneNameMap = std::unordered_map< U64, Str< 256 > >
 

Functions

 Divide::FWD_DECLARE_MANAGED_CLASS (Mesh)
 
 Divide::FWD_DECLARE_MANAGED_CLASS (Player)
 
 Divide::FWD_DECLARE_MANAGED_CLASS (SceneGraph)
 
 Divide::FWD_DECLARE_MANAGED_CLASS (LightPool)
 
 Divide::FWD_DECLARE_MANAGED_CLASS (SceneGUIElements)
 
 Divide::FWD_DECLARE_MANAGED_CLASS (SceneEnvironmentProbePool)
 
 Divide::AI::FWD_DECLARE_MANAGED_CLASS (AIManager)
 
void Divide::SceneList::registerSceneFactory (const char *name, const ScenePtrFactory &factoryFunc)
 
template<typename T >
void Divide::SceneList::registerScene (const char *name, const SharedPtrFactory< T > &scenePtr)
 

Macro Definition Documentation

◆ BEGIN_SCENE

#define BEGIN_SCENE (   SceneName)
Value:
REGISTER_SCENE(SceneName); \
class SceneName final : public Scene { \
public:
#define REGISTER_SCENE(SceneName)
Definition: Scene.h:546

Definition at line 554 of file Scene.h.

◆ DVD_SCENE_H_

#define DVD_SCENE_H_

Definition at line 34 of file Scene.h.

◆ END_SCENE

#define END_SCENE (   SceneName)    };

Definition at line 558 of file Scene.h.

◆ REGISTER_SCENE

#define REGISTER_SCENE (   SceneName)
Value:
class SceneName; \
static struct STRUCT_NAME(SceneName) { \
STRUCT_NAME(SceneName)() \
{ \
SceneList::registerScene(#SceneName, SceneList::SharedPtrFactory<SceneName>()); \
} \
} BOOST_PP_CAT(SceneName, RegisterVariable);

Definition at line 546 of file Scene.h.

◆ STRUCT_NAME

#define STRUCT_NAME (   M)    BOOST_PP_CAT(M, RegisterStruct)

Definition at line 545 of file Scene.h.