20 #ifndef OMNI_PROJ_PROJECTOR_H_
21 #define OMNI_PROJ_PROJECTOR_H_
45 Setup *
setup(
Id const& _setupId,
float _sceneScale = 1.0);
78 QMatrix4x4
const&
matrix()
const;
87 QVector3D
pos()
const;
A projector with a transformation matrix and setup.
Definition: Projector.h:32
Setup * setup()
Update projector matrix by current setup and return setup.
Definition: Projector.cpp:47
qreal throwRatio() const
Return throw ratio of projector ( = 1/2 * tan(fov / 2))
Definition: Projector.cpp:69
Id type for classes An Id must only contain alpha numerical characters and must begin with a letter...
Definition: Id.h:34
Angle fov_
Definition: Projector.h:103
QMatrix4x4 const & matrix() const
Return transformation matrix.
Definition: Projector.cpp:101
void setFov(Angle _fov)
Set new field of view.
Definition: Projector.cpp:79
qreal keystone() const
Return keystone correction value for projector.
Definition: Projector.cpp:93
QMatrix4x4 matrix_
Definition: Projector.h:101
qreal keystone_
Definition: Projector.h:104
void setMatrix(QMatrix4x4 const &)
Set transformation matrix.
Definition: Projector.cpp:106
void setAspectRatio(qreal)
Set aspect ratio of screen.
Definition: Projector.cpp:65
std::unique_ptr< Setup > setup_
Definition: Projector.h:105
friend bool operator==(Projector const &, Projector const &)
Test for equality.
Definition: Projector.cpp:152
QMatrix4x4 projectionMatrix() const
Return projector matrix.
Definition: Projector.cpp:111
#define OMNI_DECL_STREAM_OPERATORS(CLASS)
Definition: Interface.h:53
void toStream(QDataStream &) const
Write projector to stream.
Definition: Projector.cpp:131
Projector()
Definition: Projector.cpp:30
void setKeystone(qreal)
Set new keystone correction value (0.0 = default)
Definition: Projector.cpp:97
void fromStream(QDataStream &)
Read projector from stream.
Definition: Projector.cpp:141
void setThrowRatio(qreal)
Set new throw ratio.
Definition: Projector.cpp:74
qreal aspectRatio() const
Aspect ratio of screen.
Definition: Projector.cpp:60
Angle fov() const
Return field of view.
Definition: Projector.cpp:88
qreal aspectRatio_
Definition: Projector.h:102
QVector3D pos() const
Return projector position (3rd column of projector matrix)
Definition: Projector.cpp:126
Interface for a projector setup.
Definition: Setup.h:32