Implementation of the windowhandler interface

This commit is contained in:
Alexander Bock
2015-10-20 23:30:40 +02:00
parent 1ca4b9c285
commit f8f48acb98
13 changed files with 171 additions and 866 deletions
+45 -14
View File
@@ -101,7 +101,7 @@ namespace openspace {
OpenSpaceEngine* OpenSpaceEngine::_engine = nullptr;
OpenSpaceEngine::OpenSpaceEngine(std::string programName)
OpenSpaceEngine::OpenSpaceEngine(std::string programName, Window* windowHandler)
: _configurationManager(new ConfigurationManager)
, _interactionHandler(new interaction::InteractionHandler)
, _renderEngine(new RenderEngine)
@@ -112,6 +112,7 @@ OpenSpaceEngine::OpenSpaceEngine(std::string programName)
, _moduleEngine(new ModuleEngine)
, _gui(new gui::GUI)
, _parallelConnection(new network::ParallelConnection)
, _windowWrapper(windowHandler)
, _globalPropertyNamespace(new properties::PropertyOwner)
, _isMaster(false)
, _runTime(0.0)
@@ -128,19 +129,43 @@ OpenSpaceEngine::OpenSpaceEngine(std::string programName)
OpenSpaceEngine::~OpenSpaceEngine() {
_gui->deinitializeGL();
delete _parallelConnection;
delete _configurationManager;
delete _interactionHandler;
delete _renderEngine;
delete _scriptEngine;
delete _networkEngine;
delete _commandlineParser;
delete _console;
delete _moduleEngine;
delete _gui;
delete _globalPropertyNamespace;
_globalPropertyNamespace = nullptr;
if(_syncBuffer)
delete _syncBuffer;
delete _windowWrapper;
_windowWrapper = nullptr;
delete _parallelConnection;
_parallelConnection = nullptr;
delete _configurationManager;
_configurationManager = nullptr;
delete _interactionHandler;
_interactionHandler = nullptr;
delete _renderEngine;
_renderEngine = nullptr;
delete _scriptEngine;
_scriptEngine = nullptr;
delete _networkEngine;
_networkEngine = nullptr;
delete _commandlineParser;
_commandlineParser = nullptr;
delete _console;
_console = nullptr;
delete _moduleEngine;
_moduleEngine = nullptr;
delete _gui;
_gui = nullptr;
delete _syncBuffer;
_syncBuffer = nullptr;
}
@@ -151,6 +176,7 @@ OpenSpaceEngine& OpenSpaceEngine::ref() {
bool OpenSpaceEngine::create(
int argc, char** argv,
Window* windowHandler,
std::vector<std::string>& sgctArguments)
{
ghoul::initialize();
@@ -182,7 +208,7 @@ bool OpenSpaceEngine::create(
// Create other objects
LDEBUG("Creating OpenSpaceEngine");
_engine = new OpenSpaceEngine(std::string(argv[0]));
_engine = new OpenSpaceEngine(std::string(argv[0]), windowHandler);
// Query modules for commandline arguments
const bool gatherSuccess = _engine->gatherCommandlineArguments();
@@ -830,4 +856,9 @@ properties::PropertyOwner* OpenSpaceEngine::globalPropertyOwner() {
return _globalPropertyNamespace;
}
Window* OpenSpaceEngine::windowWrapper() {
ghoul_assert(_windowWrapper, "Window Wrapper");
return _windowWrapper;
}
} // namespace openspace