Omnidome
Fulldome Mapping Software Toolkit
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Attributes
omni::proj::PeripheralSetup Class Reference

Setup in which projector rotates with yaw angle around center point. More...

#include <PeripheralSetup.h>

Inheritance diagram for omni::proj::PeripheralSetup:
Inheritance graph
[legend]
Collaboration diagram for omni::proj::PeripheralSetup:
Collaboration graph
[legend]

Public Member Functions

 PeripheralSetup ()
 
void toPropertyMap (PropertyMap &) const
 Serialize to stream. More...
 
void fromPropertyMap (PropertyMap const &)
 Deserialize from stream. More...
 
void setup (Projector &)
 Setup projector with scene scale factor. More...
 
Angle deltaYaw () const
 Delta yaw angle from rotating yaw angle. More...
 
void setDeltaYaw (Angle)
 Delta yaw angle from rotating yaw angle. More...
 
qreal distanceCenter () const
 Return distance from center. More...
 
void setDistanceCenter (qreal)
 Set distance to center. More...
 
qreal towerHeight () const
 Return tower height (z position) More...
 
void setTowerHeight (qreal)
 Set tower height (z position of projector) More...
 
qreal shift () const
 Distance to centric line. More...
 
void setShift (qreal)
 Set shift (distance to centric line) More...
 
void scale (qreal)
 Scale projector setup by factor. More...
 
- Public Member Functions inherited from omni::proj::AngleSetup
 AngleSetup ()
 
 ~AngleSetup ()
 
bool flipped () const
 
- Public Member Functions inherited from omni::proj::Setup
virtual bool isMultiSetup () const
 
virtual void setup (Projector &_proj, qreal _scale)
 
- Public Member Functions inherited from omni::TypeIdInterface
virtual ~TypeIdInterface ()
 
virtual Id getTypeId () const =0
 Returns type id of object. More...
 
virtual void registerInFactory () const =0
 Register the inherited class in factory. More...
 

Private Attributes

Angle deltaYaw_ = 0.0
 
qreal distanceCenter_ = 0.4
 
qreal towerHeight_ = 0.2
 
qreal shift_ = 0.0
 

Detailed Description

Setup in which projector rotates with yaw angle around center point.

Constructor & Destructor Documentation

omni::proj::PeripheralSetup::PeripheralSetup ( )
31  {
32  }

Member Function Documentation

Angle omni::proj::PeripheralSetup::deltaYaw ( ) const

Delta yaw angle from rotating yaw angle.

70  {
71  return deltaYaw_;
72  }
Angle deltaYaw_
Definition: PeripheralSetup.h:72
qreal omni::proj::PeripheralSetup::distanceCenter ( ) const

Return distance from center.

80  {
81  return distanceCenter_;
82  }
qreal distanceCenter_
Definition: PeripheralSetup.h:73
void omni::proj::PeripheralSetup::fromPropertyMap ( PropertyMap const &  _map)
virtual

Deserialize from stream.

Reimplemented from omni::proj::AngleSetup.

44  {
46  _map.get("deltaYaw",deltaYaw_);
47  _map.get("distanceCenter",distanceCenter_);
48  _map.get("towerHeight",towerHeight_);
49  _map.get("shift",shift_);
50  }
qreal shift_
Definition: PeripheralSetup.h:75
qreal distanceCenter_
Definition: PeripheralSetup.h:73
qreal towerHeight_
Definition: PeripheralSetup.h:74
virtual void fromPropertyMap(PropertyMap const &)
Definition: AngleSetup.cpp:43
Angle deltaYaw_
Definition: PeripheralSetup.h:72
void omni::proj::PeripheralSetup::scale ( qreal  _scale)
virtual

Scale projector setup by factor.

Implements omni::proj::Setup.

109  {
110  distanceCenter_ *= _scale;
111  shift_ *= _scale;
112  towerHeight_ *= _scale;
113  }
qreal shift_
Definition: PeripheralSetup.h:75
qreal distanceCenter_
Definition: PeripheralSetup.h:73
qreal towerHeight_
Definition: PeripheralSetup.h:74
void omni::proj::PeripheralSetup::setDeltaYaw ( Angle  _deltaYaw)

Delta yaw angle from rotating yaw angle.

75  {
76  deltaYaw_=_deltaYaw;
77  }
Angle deltaYaw_
Definition: PeripheralSetup.h:72
void omni::proj::PeripheralSetup::setDistanceCenter ( qreal  _distanceCenter)

Set distance to center.

85  {
86  distanceCenter_=_distanceCenter;
87  }
qreal distanceCenter_
Definition: PeripheralSetup.h:73
void omni::proj::PeripheralSetup::setShift ( qreal  _shift)

Set shift (distance to centric line)

105  {
106  shift_=_shift;
107  }
qreal shift_
Definition: PeripheralSetup.h:75
void omni::proj::PeripheralSetup::setTowerHeight ( qreal  _towerHeight)

Set tower height (z position of projector)

95  {
96  towerHeight_ = _towerHeight;
97  }
qreal towerHeight_
Definition: PeripheralSetup.h:74
void omni::proj::PeripheralSetup::setup ( Projector _proj)
virtual

Setup projector with scene scale factor.

Reimplemented from omni::proj::AngleSetup.

53  {
54  QMatrix4x4 _matrix;
55 
56  qreal _theta = yaw().radians();
57  qreal _ct = -cos(_theta), _st = -sin(_theta);
58  QVector2D _shiftVec = QVector2D(-_st,_ct) * shift_;
59  QVector2D _p = _shiftVec + distanceCenter_ * QVector2D(_ct,_st);
60  QVector3D _pos = QVector3D(_p.x(),_p.y(),towerHeight_);
61  _matrix.translate(_pos);
62 
63  _matrix.rotate(yaw().degrees() + deltaYaw_.degrees(),QVector3D(0.0,0.0,1.0));
64  _matrix.rotate(-pitch().degrees(),QVector3D(0.0,1.0,0.0));
65  _matrix.rotate(roll().degrees(),QVector3D(1.0,0.0,0.0));
66  _proj.setMatrix(_matrix);
67  }
qreal shift_
Definition: PeripheralSetup.h:75
qreal distanceCenter_
Definition: PeripheralSetup.h:73
qreal towerHeight_
Definition: PeripheralSetup.h:74
Angle deltaYaw_
Definition: PeripheralSetup.h:72
qreal omni::proj::PeripheralSetup::shift ( ) const

Distance to centric line.

100  {
101  return shift_;
102  }
qreal shift_
Definition: PeripheralSetup.h:75
void omni::proj::PeripheralSetup::toPropertyMap ( PropertyMap &  _map) const
virtual

Serialize to stream.

Reimplemented from omni::proj::AngleSetup.

35  {
37  _map("deltaYaw",deltaYaw_)
38  ("distanceCenter",distanceCenter_)
39  ("towerHeight",towerHeight_)
40  ("shift",shift_);
41  }
qreal shift_
Definition: PeripheralSetup.h:75
virtual void toPropertyMap(PropertyMap &) const
Definition: AngleSetup.cpp:38
qreal distanceCenter_
Definition: PeripheralSetup.h:73
qreal towerHeight_
Definition: PeripheralSetup.h:74
Angle deltaYaw_
Definition: PeripheralSetup.h:72
qreal omni::proj::PeripheralSetup::towerHeight ( ) const

Return tower height (z position)

90  {
91  return towerHeight_;
92  }
qreal towerHeight_
Definition: PeripheralSetup.h:74

Field Documentation

Angle omni::proj::PeripheralSetup::deltaYaw_ = 0.0
private
qreal omni::proj::PeripheralSetup::distanceCenter_ = 0.4
private
qreal omni::proj::PeripheralSetup::shift_ = 0.0
private
qreal omni::proj::PeripheralSetup::towerHeight_ = 0.2
private

The documentation for this class was generated from the following files: