20 #ifndef OMNI_VISUAL_CAMERAINTERFACE_H_
21 #define OMNI_VISUAL_CAMERAINTERFACE_H_
23 #include <QOpenGLFunctions>
36 const QVector3D& _up = QVector3D(0.0, 0.0, 1.0));
39 QVector3D
right()
const;
49 void setUp(QVector3D
const&);
60 virtual void setup(qreal _aspect)
const = 0;
73 inline virtual qreal
fov()
const {
77 inline virtual void setFov(qreal _fov) {
A generic camera interface.
Definition: CameraInterface.h:29
void setUp(QVector3D const &)
Definition: CameraInterface.cpp:62
QVector3D up_
camera orientation
Definition: CameraInterface.h:82
virtual void setFov(qreal _fov)
Definition: CameraInterface.h:77
virtual void setup(qreal _aspect) const =0
Setup perspective camera in OpenGL.
#define OMNI_DECL_STREAM_OPERATORS(CLASS)
Definition: Interface.h:53
QVector3D up() const
Camera orientation.
Definition: CameraInterface.cpp:57
void lift(qreal _up)
Move camera upwards (or downwards if value is negative)
Definition: CameraInterface.cpp:50
void setFar(qreal)
Definition: CameraInterface.cpp:82
QVector3D right() const
Right vector.
Definition: CameraInterface.cpp:40
qreal far_
Far plane.
Definition: CameraInterface.h:88
friend bool operator==(CameraInterface const &, CameraInterface const &)
Test for equality. ScreenSetup is ignored.
Definition: CameraInterface.cpp:100
qreal far() const
Camera's far plane.
Definition: CameraInterface.cpp:77
void toStream(QDataStream &) const
Serialize to stream.
Definition: CameraInterface.cpp:94
qreal near_
Near plane.
Definition: CameraInterface.h:85
void fromStream(QDataStream &)
Deserialize from stream.
Definition: CameraInterface.cpp:88
CameraInterface()
Definition: CameraInterface.cpp:26
void setNear(qreal)
Definition: CameraInterface.cpp:72
virtual qreal fov() const
Expose field of field.
Definition: CameraInterface.h:73
void strafe(qreal _right)
Move camera to the right (or to the left if value is negative)
Definition: CameraInterface.cpp:45
qreal near() const
Camera's near plane.
Definition: CameraInterface.cpp:67