Divide Framework 0.1
A free and open-source 3D Framework under heavy development
Loading...
Searching...
No Matches
Divide::Project Class Reference

#include <ProjectManager.h>

Public Member Functions

 Project (ProjectManager &parentMgr, const ProjectID &name)
 
 ~Project ()
 
ScenegetActiveScene () const noexcept
 
void setActiveScene (Scene *scene)
 
bool switchScene (const SwitchSceneTarget &scene)
 
const SceneEntriesgetSceneEntries () const noexcept
 
ProjectManagerparent () noexcept
 
 PROPERTY_R_IW (ProjectID, id)
 
 PROPERTY_R (ScenePool, scenePool)
 

Static Public Member Functions

static bool CreateNewProject (const ProjectID &projectID)
 
static bool CreateNewScene (const SceneEntry &scene, const ProjectID &projectID)
 

Protected Member Functions

bool switchSceneInternal ()
 
SceneloadScene (const SceneEntry &sceneEntry)
 
bool unloadScene (Scene *scene)
 
void idle ()
 
bool onFrameStart ()
 
bool onFrameEnd ()
 

Private Attributes

SwitchSceneTarget _sceneSwitchTarget {}
 
ProjectManager_parentManager
 
vector< SceneEntry_sceneEntries
 

Friends

class Attorney::ProjectScenePool
 
class Attorney::ProjectManagerProject
 

Detailed Description

Definition at line 143 of file ProjectManager.h.

Constructor & Destructor Documentation

◆ Project()

Divide::Project::Project ( ProjectManager parentMgr,
const ProjectID name 
)
explicit

Definition at line 98 of file ProjectManager.cpp.

◆ ~Project()

Divide::Project::~Project ( )

Definition at line 123 of file ProjectManager.cpp.

Member Function Documentation

◆ CreateNewProject()

bool Divide::Project::CreateNewProject ( const ProjectID projectID)
static

Definition at line 59 of file ProjectManager.cpp.

◆ CreateNewScene()

bool Divide::Project::CreateNewScene ( const SceneEntry scene,
const ProjectID projectID 
)
static

Definition at line 69 of file ProjectManager.cpp.

◆ getActiveScene()

Scene * Divide::Project::getActiveScene ( ) const
noexcept

Definition at line 159 of file ProjectManager.cpp.

◆ getSceneEntries()

const SceneEntries & Divide::Project::getSceneEntries ( ) const
inlinenoexcept

Definition at line 162 of file ProjectManager.h.

◆ idle()

void Divide::Project::idle ( )
protected

Definition at line 129 of file ProjectManager.cpp.

◆ loadScene()

Scene * Divide::Project::loadScene ( const SceneEntry sceneEntry)
protected

Definition at line 253 of file ProjectManager.cpp.

◆ onFrameEnd()

bool Divide::Project::onFrameEnd ( )
protected

Definition at line 154 of file ProjectManager.cpp.

◆ onFrameStart()

bool Divide::Project::onFrameStart ( )
protected

Definition at line 138 of file ProjectManager.cpp.

◆ parent()

ProjectManager & Divide::Project::parent ( )
inlinenoexcept

Definition at line 164 of file ProjectManager.h.

◆ PROPERTY_R()

Divide::Project::PROPERTY_R ( ScenePool  ,
scenePool   
)

◆ PROPERTY_R_IW()

Divide::Project::PROPERTY_R_IW ( ProjectID  ,
id   
)

◆ setActiveScene()

void Divide::Project::setActiveScene ( Scene scene)

Definition at line 282 of file ProjectManager.cpp.

◆ switchScene()

bool Divide::Project::switchScene ( const SwitchSceneTarget scene)

Definition at line 164 of file ProjectManager.cpp.

◆ switchSceneInternal()

bool Divide::Project::switchSceneInternal ( )
protected

Definition at line 190 of file ProjectManager.cpp.

◆ unloadScene()

bool Divide::Project::unloadScene ( Scene scene)
protected

Definition at line 272 of file ProjectManager.cpp.

Friends And Related Function Documentation

◆ Attorney::ProjectManagerProject

friend class Attorney::ProjectManagerProject
friend

Definition at line 146 of file ProjectManager.h.

◆ Attorney::ProjectScenePool

friend class Attorney::ProjectScenePool
friend

Definition at line 145 of file ProjectManager.h.

Member Data Documentation

◆ _parentManager

ProjectManager& Divide::Project::_parentManager
private

Definition at line 182 of file ProjectManager.h.

◆ _sceneEntries

vector<SceneEntry> Divide::Project::_sceneEntries
private

Definition at line 184 of file ProjectManager.h.

◆ _sceneSwitchTarget

SwitchSceneTarget Divide::Project::_sceneSwitchTarget {}
private

Definition at line 181 of file ProjectManager.h.


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