Orxonox  0.0.5 Codename: Arcturus
Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
orxonox::Core Class Reference

The Core class is a singleton used to configure the program basics. More...

#include </home/jenkins/workspace/orxonox_doxygen_trunk/src/libraries/core/Core.h>

Inheritance diagram for orxonox::Core:
orxonox::Singleton< Core >

Public Member Functions

 Core (const std::string &cmdLine)
 Determines the executable path, checks for build directory runs, creates the output directories and sets up the other core library singletons. More...
 
 ~Core ()=default
 Leave empty and use destroy() instead. More...
 
void destroy ()
 Destructor that also executes when the object fails to construct. More...
 
CoreConfiggetConfig () const
 
void loadGraphics ()
 
void loadModule (ModuleInstance *module)
 
void loadModules ()
 
void postUpdate (const Clock &time)
 
void preUpdate (const Clock &time)
 
void unloadGraphics (bool loadGraphicsManagerWithoutRenderer=true)
 
void unloadModule (ModuleInstance *module)
 
void unloadModules ()
 

Private Member Functions

 Core (const Core &)=delete
 
Coreoperator= (const Core &)=delete
 
void setThreadAffinity (int limitToCPU)
 

Private Attributes

ApplicationPathsapplicationPaths_
 
bool bGraphicsLoaded_
 
CoreConfigconfig_
 Helper object that stores the config values. More...
 
ConfigFileManagerconfigFileManager_
 
ConfigurablePathsconfigurablePaths_
 
DestructionHelper< CoredestructionHelper_
 Helper object that executes the surrogate destructor destroy() More...
 
DynLibManagerdynLibManager_
 
GraphicsManagergraphicsManager_
 Interface to OGRE. More...
 
Scope< ScopeID::GRAPHICS > * graphicsScope_
 
GUIManagerguiManager_
 Interface to GUI. More...
 
InputManagerinputManager_
 Interface to OIS. More...
 
IOConsoleioConsole_
 
LanguagelanguageInstance_
 
LoaderloaderInstance_
 
std::list< ModuleInstance * > modules_
 
PluginManagerpluginManager_
 
ModuleInstancerootModule_
 
Scope< ScopeID::ROOT > * rootScope_
 
SignalHandlersignalHandler_
 
CoreStaticInitializationHandlerstaticInitHandler_
 
TclBindtclBind_
 
TclThreadManagertclThreadManager_
 

Static Private Attributes

static CoresingletonPtr_s = nullptr
 Static pointer to the singleton. More...
 

Friends

class Singleton< Core >
 

Additional Inherited Members

- Static Public Member Functions inherited from orxonox::Singleton< Core >
static bool exists ()
 Tells whether the singleton has been created. More...
 
static CoregetInstance ()
 Returns a reference to the singleton instance. More...
 
- Protected Member Functions inherited from orxonox::Singleton< Core >
 Singleton ()
 Constructor sets the singleton instance pointer. More...
 
virtual ~Singleton ()
 Destructor resets the singleton instance pointer. More...
 

Detailed Description

The Core class is a singleton used to configure the program basics.

Remarks
You should only create this singleton once because it destroys the identifiers!

Constructor & Destructor Documentation

orxonox::Core::Core ( const std::string &  cmdLine)

Determines the executable path, checks for build directory runs, creates the output directories and sets up the other core library singletons.

Exceptions
GeneralException
orxonox::Core::~Core ( )
default

Leave empty and use destroy() instead.

orxonox::Core::Core ( const Core )
privatedelete

Member Function Documentation

void orxonox::Core::destroy ( )

Destructor that also executes when the object fails to construct.

CoreConfig* orxonox::Core::getConfig ( ) const
inline
void orxonox::Core::loadGraphics ( )
void orxonox::Core::loadModule ( ModuleInstance module)
void orxonox::Core::loadModules ( )
Core& orxonox::Core::operator= ( const Core )
privatedelete
void orxonox::Core::postUpdate ( const Clock time)
void orxonox::Core::preUpdate ( const Clock time)
void orxonox::Core::setThreadAffinity ( int  limitToCPU)
private
Note
The code of this function has been copied and adjusted from OGRE, an open source graphics engine. (Object-oriented Graphics Rendering Engine) For the latest info, see http://www.ogre3d.org/

Copyright (c) 2000-2008 Torus Knot Software Ltd

OGRE is licensed under the LGPL. For more info, see OGRE license.

void orxonox::Core::unloadGraphics ( bool  loadGraphicsManagerWithoutRenderer = true)
void orxonox::Core::unloadModule ( ModuleInstance module)
void orxonox::Core::unloadModules ( )

Friends And Related Function Documentation

friend class Singleton< Core >
friend

Member Data Documentation

ApplicationPaths* orxonox::Core::applicationPaths_
private
bool orxonox::Core::bGraphicsLoaded_
private
CoreConfig* orxonox::Core::config_
private

Helper object that stores the config values.

ConfigFileManager* orxonox::Core::configFileManager_
private
ConfigurablePaths* orxonox::Core::configurablePaths_
private
DestructionHelper<Core> orxonox::Core::destructionHelper_
private

Helper object that executes the surrogate destructor destroy()

DynLibManager* orxonox::Core::dynLibManager_
private
GraphicsManager* orxonox::Core::graphicsManager_
private

Interface to OGRE.

Scope<ScopeID::GRAPHICS>* orxonox::Core::graphicsScope_
private
GUIManager* orxonox::Core::guiManager_
private

Interface to GUI.

InputManager* orxonox::Core::inputManager_
private

Interface to OIS.

IOConsole* orxonox::Core::ioConsole_
private
Language* orxonox::Core::languageInstance_
private
Loader* orxonox::Core::loaderInstance_
private
std::list<ModuleInstance*> orxonox::Core::modules_
private
PluginManager* orxonox::Core::pluginManager_
private
ModuleInstance* orxonox::Core::rootModule_
private
Scope<ScopeID::ROOT>* orxonox::Core::rootScope_
private
SignalHandler* orxonox::Core::signalHandler_
private
Core * orxonox::Core::singletonPtr_s = nullptr
staticprivate

Static pointer to the singleton.

CoreStaticInitializationHandler* orxonox::Core::staticInitHandler_
private
TclBind* orxonox::Core::tclBind_
private
TclThreadManager* orxonox::Core::tclThreadManager_
private

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