paysages3d/src/interface/modeler/MainModelerWindow.h

62 lines
1.3 KiB
C
Raw Normal View History

2014-08-28 08:29:12 +00:00
#ifndef MAINMODELERWINDOW_H
#define MAINMODELERWINDOW_H
#include "modeler_global.h"
#include <QQuickView>
namespace paysages {
namespace modeler {
class MainModelerWindow : public QQuickView {
2014-08-28 08:29:12 +00:00
Q_OBJECT
public:
2014-08-28 08:29:12 +00:00
MainModelerWindow();
virtual ~MainModelerWindow();
QObject *findQmlObject(const string &objectName);
void setQmlProperty(const string &objectName, const string &propertyName, const QVariant &value);
void connectQmlSignal(const string &objectName, const char *signal, const QObject *receiver, const char *method);
string getState() const;
void setState(const string &stateName);
2014-08-28 13:09:47 +00:00
inline Scenery *getScenery() const {
return scenery;
}
inline OpenGLRenderer *getRenderer() const {
return renderer;
}
inline ModelerCameras *getCamera() const {
return cameras;
}
public slots:
2015-08-19 23:15:08 +00:00
void newFile();
void saveFile();
void loadFile();
void exit();
protected:
2014-09-09 15:56:52 +00:00
virtual void keyReleaseEvent(QKeyEvent *event) override;
protected slots:
void effectiveExit();
private:
2015-08-18 20:29:18 +00:00
Scenery *scenery;
2014-08-28 08:29:12 +00:00
OpenGLRenderer *renderer;
2014-08-28 13:09:47 +00:00
AtmosphereModeler *atmosphere;
WaterModeler *water;
2014-09-09 15:56:52 +00:00
ModelerCameras *cameras;
2014-09-09 15:56:52 +00:00
RenderPreviewProvider *render_preview_provider;
RenderProcess *render_process;
2014-08-28 08:29:12 +00:00
};
}
}
#endif // MAINMODELERWINDOW_H