Omnidome
Fulldome Mapping Software Toolkit
|
A projector with a transformation matrix and setup. More...
#include <Projector.h>
Public Member Functions | |
Projector () | |
Projector (qreal _aspectRatio, Angle _fov=45.0) | |
Setup * | setup (Id const &_setupId, float _sceneScale=1.0) |
Make a new projector setup with a certain id and delete old one. More... | |
Setup * | setup () |
Update projector matrix by current setup and return setup. More... | |
Setup const * | setup () const |
Returns projector setup (const version) More... | |
qreal | aspectRatio () const |
Aspect ratio of screen. More... | |
void | setAspectRatio (qreal) |
Set aspect ratio of screen. More... | |
qreal | throwRatio () const |
Return throw ratio of projector ( = 1/2 * tan(fov / 2)) More... | |
void | setThrowRatio (qreal) |
Set new throw ratio. More... | |
Angle | fov () const |
Return field of view. More... | |
void | setFov (Angle _fov) |
Set new field of view. More... | |
qreal | keystone () const |
Return keystone correction value for projector. More... | |
void | setKeystone (qreal) |
Set new keystone correction value (0.0 = default) More... | |
QMatrix4x4 const & | matrix () const |
Return transformation matrix. More... | |
void | setMatrix (QMatrix4x4 const &) |
Set transformation matrix. More... | |
QMatrix4x4 | projectionMatrix () const |
Return projector matrix. More... | |
QVector3D | pos () const |
Return projector position (3rd column of projector matrix) More... | |
void | toStream (QDataStream &) const |
Write projector to stream. More... | |
void | fromStream (QDataStream &) |
Read projector from stream. More... | |
Private Attributes | |
QMatrix4x4 | matrix_ |
qreal | aspectRatio_ = 0.75 |
Angle | fov_ |
qreal | keystone_ = 0.0 |
std::unique_ptr< Setup > | setup_ |
Friends | |
bool | operator== (Projector const &, Projector const &) |
Test for equality. More... | |
A projector with a transformation matrix and setup.
omni::proj::Projector::Projector | ( | ) |
omni::proj::Projector::Projector | ( | qreal | _aspectRatio, |
Angle | _fov = 45.0 |
||
) |
qreal omni::proj::Projector::aspectRatio | ( | ) | const |
Aspect ratio of screen.
Angle omni::proj::Projector::fov | ( | ) | const |
Return field of view.
void omni::proj::Projector::fromStream | ( | QDataStream & | _is | ) |
Read projector from stream.
qreal omni::proj::Projector::keystone | ( | ) | const |
Return keystone correction value for projector.
QMatrix4x4 const & omni::proj::Projector::matrix | ( | ) | const |
Return transformation matrix.
QVector3D omni::proj::Projector::pos | ( | ) | const |
Return projector position (3rd column of projector matrix)
QMatrix4x4 omni::proj::Projector::projectionMatrix | ( | ) | const |
Return projector matrix.
void omni::proj::Projector::setAspectRatio | ( | qreal | _aspectRatio | ) |
Set aspect ratio of screen.
void omni::proj::Projector::setFov | ( | Angle | _fov | ) |
void omni::proj::Projector::setKeystone | ( | qreal | _keystone | ) |
Set new keystone correction value (0.0 = default)
void omni::proj::Projector::setMatrix | ( | QMatrix4x4 const & | _matrix | ) |
Set transformation matrix.
void omni::proj::Projector::setThrowRatio | ( | qreal | _throwRatio | ) |
Set new throw ratio.
Make a new projector setup with a certain id and delete old one.
Setup * omni::proj::Projector::setup | ( | ) |
Update projector matrix by current setup and return setup.
Setup const * omni::proj::Projector::setup | ( | ) | const |
Returns projector setup (const version)
qreal omni::proj::Projector::throwRatio | ( | ) | const |
Return throw ratio of projector ( = 1/2 * tan(fov / 2))
void omni::proj::Projector::toStream | ( | QDataStream & | _os | ) | const |
Write projector to stream.
Test for equality.
|
private |
|
private |
|
private |
|
private |
|
private |