Omnidome
Fulldome Mapping Software Toolkit
|
A GLView for visualizing all modes of a projector view (tuning) More...
#include <TuningGLView.h>
Public Slots | |
void | setTuningIndex (int) |
Set tuning index from session. More... | |
void | setKeepAspectRatio (bool) |
If disabled, screen rect will be stretched over whole widget. More... | |
void | setViewOnly (bool) |
If true, this widget does NOT accept user inputs. More... | |
void | setShowCursor (bool) |
void | setDrawingEnabled (bool) |
Set flag which tells if projector view is actually drawn Used for activate/deactivate fullscreen view. More... | |
void | setBorder (float) |
Set relative border distance. More... | |
void | setFullScreenMode (bool) |
Set fullscreen mode. More... | |
void | updateWithChildViews () |
![]() | |
void | triggerUpdate () |
void | paintGLDone () |
Signals | |
void | dataModelChanged () |
Public Member Functions | |
TuningGLView (QWidget *=nullptr) | |
~TuningGLView () | |
bool | viewOnly () const |
If disabled, this widget accepts user inputs. More... | |
bool | keepAspectRatio () const |
If disabled, screen rect will be stretched over whole widget. More... | |
bool | isDrawingEnabled () const |
Flag for toggling drawing. Only black background is shown when false. More... | |
bool | showCursor () const |
Returns true if cursor is visible. More... | |
bool | fullscreenMode () const |
float | border () const |
Return relative border value. More... | |
void | setChildViews (std::set< TuningGLView * >const &) |
std::set< TuningGLView * > | childViews () const |
![]() | |
GLView (QWidget *_parent=nullptr) | |
virtual | ~GLView () |
float | aspect () const |
Return aspect ratio of widget. More... | |
QPointF | mousePosition () const |
Return mouse position. More... | |
bool | initialized () const |
Return boolean value if widget has been initialized. More... | |
float | updateFrequency () const |
Return update frequency. More... | |
void | setUpdateFrequency (float _updateFrequency) |
Return update frequency. More... | |
![]() | |
DataModel () | |
void | setDataModel (pointer_type _dataModel) |
Set new data model. More... | |
pointer_type | dataModel () |
Return pointer to data model. More... | |
const pointer_type | dataModel () const |
Return pointer to data model (const version) More... | |
virtual void | updateFrontend () |
Push data to frontend widgets and all child widgets. More... | |
virtual void | updateDataModel () |
Update the data model interface. More... | |
![]() | |
TuningFromIndex (TuningGLView &_widget) | |
int | index () const |
void | setIndex (int _index) |
Set index of tuning. More... | |
void | setIndexToCurrent () |
Set index to current index. More... | |
omni::proj::Tuning * | tuning () |
Return pointer to tuning. More... | |
omni::proj::Tuning const * | tuning () const |
Return pointer to tuning (const version) More... | |
omni::BlendMask * | blendMask () |
Return pointer to blend mask. More... | |
omni::BlendMask const * | blendMask () const |
Return pointer to blend mask (const version) More... | |
omni::WarpGrid * | warpGrid () |
Return pointer to warp grid. More... | |
omni::WarpGrid const * | warpGrid () const |
Return pointer to warp grid (const version) More... | |
Protected Member Functions | |
void | paintGL () |
Paint GL routine. More... | |
void | mouseMoveEvent (QMouseEvent *event) |
void | mousePressEvent (QMouseEvent *event) |
Mouse press event sets mouse position. More... | |
void | mouseReleaseEvent (QMouseEvent *event) |
void | wheelEvent (QWheelEvent *event) |
void | keyPressEvent (QKeyEvent *event) |
void | showEvent (QShowEvent *event) |
![]() | |
void | initializeGL () |
Initialize OpenGL contents. More... | |
virtual void | resizeGL (int _w, int _h) |
Resize GL and viewport. More... | |
void | timerEvent (QTimerEvent *) |
void | paintGLReady () |
![]() | |
template<typename F > | |
void | locked (F f) |
Lock widget and execute given functor. More... | |
bool | isLocked () const |
Return true if widget is locked. More... | |
Private Member Functions | |
virtual void | dataToFrontend () |
Pure virtual method which determines how data model is represented in frontend. More... | |
virtual bool | frontendToData () |
Return true if data has changed by front end. More... | |
bool | flipped () const |
void | drawOutput (float _blendMaskOpacity, float _inputOpacity=1.0, QColor _color=Qt::white) |
void | drawCanvas () |
Draw Canvas from Projector's perspective. More... | |
void | drawWarpGrid () |
Draw warp grid with handles while keeping aspect ratio. More... | |
void | drawBlendMask () |
Draw blend mask with stroke buffer. More... | |
void | drawTestCard () |
Draw test card image. More... | |
void | drawScreenBorder () |
Draw screen border (only if widget is not in view only mode) More... | |
void | drawColorCorrected () |
Draw color corrected view (also used in export mode) More... | |
void | drawLiveView () |
Draw fast live view. More... | |
void | updateWarpBuffer () |
Update warp buffer which contains image of projector perspective. More... | |
QRectF | viewRect () const |
Get rectangle of orthogonal view frustum. More... | |
QPointF | screenPos (QPointF const &_pos) const |
Transform widget position to view position. More... | |
QPointF | pixelPos (QPointF const &_pos) const |
template<typename F > | |
void | drawOnSurface (F f) |
Drawing function for drawing on orthogonal 2D surface within view. More... | |
bool | initialize () |
Initialize OpenGL objects. More... | |
Private Attributes | |
bool | keepAspectRatio_ = false |
Flags which determines if aspect ratio is used when drawing content. More... | |
bool | viewOnly_ = false |
Flag determines if user input is not accepted. More... | |
bool | drawingEnabled_ = true |
Flag for toggling drawing. Only black background is shown when false. More... | |
bool | mouseDown_ = false |
Flag which tells if mouse button is down. More... | |
QPointF | cursorPosition_ |
Cursor position (is not mouse position when widget is view only) More... | |
QPointF | lastStrokePos_ |
Last stroke position. More... | |
bool | showCursor_ = true |
Show cursor flag (cursor is also shown when widget is view only) More... | |
float | leftOverDistance_ = 0.0 |
Left over distance value for blend blush. More... | |
float | border_ = 0.0 |
Relative border. More... | |
bool | fullscreenMode_ = false |
True if this widget is shown in fullscreen mode. More... | |
std::set< TuningGLView * > | childViews_ |
Additional Inherited Members | |
![]() | |
typedef DATAMODEL | data_model_type |
Data type. More... | |
typedef DataModel < data_model_type, SHARED > | type |
This type. More... | |
typedef detail::PointerType < data_model_type, SHARED > | pointer_type_handler |
Pointer type handler. More... | |
typedef pointer_type_handler::type | pointer_type |
Derived pointer type. More... | |
![]() | |
bool | updateTriggered_ = false |
QPointF | mousePosition_ |
Mouse position stored. More... | |
A GLView for visualizing all modes of a projector view (tuning)
omni::ui::TuningGLView::TuningGLView | ( | QWidget * | _parent = nullptr | ) |
float omni::ui::TuningGLView::border | ( | ) | const |
Return relative border value.
std::set< TuningGLView * > omni::ui::TuningGLView::childViews | ( | ) | const |
|
signal |
|
privatevirtual |
Pure virtual method which determines how data model is represented in frontend.
Implements omni::ui::mixin::DataModel< DATAMODEL, SHARED >.
|
private |
Draw blend mask with stroke buffer.
|
private |
Draw Canvas from Projector's perspective.
|
private |
Draw color corrected view (also used in export mode)
|
private |
Draw fast live view.
|
private |
Drawing function for drawing on orthogonal 2D surface within view.
|
private |
|
private |
Draw screen border (only if widget is not in view only mode)
|
private |
Draw test card image.
|
private |
Draw warp grid with handles while keeping aspect ratio.
|
private |
|
inlineprivatevirtual |
Return true if data has changed by front end.
Implements omni::ui::mixin::DataModel< DATAMODEL, SHARED >.
bool omni::ui::TuningGLView::fullscreenMode | ( | ) | const |
|
privatevirtual |
Initialize OpenGL objects.
Implements omni::ui::GLView.
bool omni::ui::TuningGLView::isDrawingEnabled | ( | ) | const |
Flag for toggling drawing. Only black background is shown when false.
bool omni::ui::TuningGLView::keepAspectRatio | ( | ) | const |
If disabled, screen rect will be stretched over whole widget.
|
protected |
|
protected |
|
protectedvirtual |
Mouse press event sets mouse position.
Reimplemented from omni::ui::GLView.
|
protected |
|
protectedvirtual |
Paint GL routine.
Reimplemented from omni::ui::GLView.
|
private |
|
private |
Transform widget position to view position.
|
slot |
Set relative border distance.
void omni::ui::TuningGLView::setChildViews | ( | std::set< TuningGLView * >const & | _childViews | ) |
|
slot |
Set flag which tells if projector view is actually drawn Used for activate/deactivate fullscreen view.
|
slot |
Set fullscreen mode.
|
slot |
If disabled, screen rect will be stretched over whole widget.
|
slot |
|
slot |
Set tuning index from session.
|
slot |
If true, this widget does NOT accept user inputs.
bool omni::ui::TuningGLView::showCursor | ( | ) | const |
Returns true if cursor is visible.
|
protected |
|
private |
Update warp buffer which contains image of projector perspective.
|
slot |
bool omni::ui::TuningGLView::viewOnly | ( | ) | const |
If disabled, this widget accepts user inputs.
|
private |
Get rectangle of orthogonal view frustum.
|
protected |
|
private |
Relative border.
|
private |
|
private |
Cursor position (is not mouse position when widget is view only)
|
private |
Flag for toggling drawing. Only black background is shown when false.
|
private |
True if this widget is shown in fullscreen mode.
|
private |
Flags which determines if aspect ratio is used when drawing content.
|
private |
Last stroke position.
|
private |
Left over distance value for blend blush.
|
private |
Flag which tells if mouse button is down.
|
private |
Show cursor flag (cursor is also shown when widget is view only)
|
private |
Flag determines if user input is not accepted.