PeriDyno 1.0.0
Loading...
Searching...
No Matches
AppBase.h
Go to the documentation of this file.
1#pragma once
2
3#include <vector>
4#include <memory>
5
6#include "SceneGraphFactory.h"
7#include "RenderEngine.h"
8
9namespace dyno
10{
11 class SceneGraph;
12 class RenderWindow;
13
14 class AppBase {
15 public:
16 AppBase() {};
18
19 virtual void initialize(int width, int height, bool usePlugin = false) {};
20 virtual void mainLoop() = 0;
21
22 virtual RenderWindow* renderWindow() { return nullptr; }
23
24 virtual std::shared_ptr<SceneGraph> getSceneGraph() { return SceneGraphFactory::instance()->active(); }
25 virtual void setSceneGraph(std::shared_ptr<SceneGraph> scene) { SceneGraphFactory::instance()->pushScene(scene); }
26
27 virtual void setSceneGraphCreator(std::function<std::shared_ptr<SceneGraph>()> creator) { SceneGraphFactory::instance()->setDefaultCreator(creator); }
28 };
29}
virtual RenderWindow * renderWindow()
Definition AppBase.h:22
virtual void setSceneGraph(std::shared_ptr< SceneGraph > scene)
Definition AppBase.h:25
virtual void setSceneGraphCreator(std::function< std::shared_ptr< SceneGraph >()> creator)
Definition AppBase.h:27
virtual void mainLoop()=0
virtual void initialize(int width, int height, bool usePlugin=false)
Definition AppBase.h:19
virtual std::shared_ptr< SceneGraph > getSceneGraph()
Definition AppBase.h:24
static SceneGraphFactory * instance()
void pushScene(std::shared_ptr< SceneGraph > scn)
void setDefaultCreator(SceneGraphCreator creator)
std::shared_ptr< SceneGraph > active()
This is an implementation of AdditiveCCD based on peridyno.
Definition Array.h:25
int scene
Definition GltfFunc.h:20