paysages3d/src/interface/modeler/quickapp/ModelerCameras.h

60 lines
1 KiB
C
Raw Normal View History

#ifndef MODELERCAMERAS_H
#define MODELERCAMERAS_H
#include "modeler_global.h"
#include <QObject>
namespace paysages {
namespace modeler {
/**
* Storage for modeler cameras.
*/
class ModelerCameras: public QObject
{
Q_OBJECT
public:
ModelerCameras(MainModelerWindow *parent);
~ModelerCameras();
2014-09-26 15:46:39 +00:00
/**
* Process a zoom request.
*/
void processZoom(double value);
/**
* Process a scroll request.
*/
void processScroll(double xvalue, double yvalue);
2015-07-22 16:05:24 +00:00
/**
* Process a panning rotation.
*/
void processPanning(double xvalue, double yvalue);
protected:
void timerEvent(QTimerEvent *event);
2015-07-22 16:05:24 +00:00
/**
* Validate current camera, pushing it to rendered scenery if needed.
*/
void validate();
public slots:
void changeActiveCamera(const QString &name);
private:
MainModelerWindow *parent;
CameraDefinition *active;
CameraDefinition *current;
CameraDefinition *render;
CameraDefinition *topdown;
};
}
}
#endif // MODELERCAMERAS_H