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

SceneViewer widget for positioning of elements and 3D view of scene. More...

#include <SceneViewer.h>

Inheritance diagram for omni::ui::SceneViewer:
Inheritance graph
[legend]
Collaboration diagram for omni::ui::SceneViewer:
Collaboration graph
[legend]

Public Slots

void triggerUpdate ()
 
void showInputControlWidget ()
 Show large widget from current input. More...
 
void showInputControlWidget (omni::input::Interface *)
 Show large widget from given input. More...
 
void removeInputControlWidget ()
 Remove large input widget. More...
 

Signals

void dataModelChanged ()
 

Public Member Functions

 SceneViewer (QWidget *=nullptr)
 
 ~SceneViewer ()
 
SceneGLViewview ()
 Return pointer to view. More...
 
SceneGLView const * view () const
 Return pointer to view (const version) More...
 
- Public Member Functions inherited from omni::ui::mixin::DataModel< DATAMODEL, SHARED >
 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...
 

Private Member Functions

void dataToFrontend ()
 Pure virtual method which determines how data model is represented in frontend. More...
 
bool frontendToData ()
 Return true if data has changed by front end. More...
 

Private Attributes

QWidget * inputControlWidget_ = nullptr
 
std::unique_ptr< Ui::SceneViewer > ui_
 

Additional Inherited Members

- Public Types inherited from omni::ui::mixin::DataModel< DATAMODEL, SHARED >
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...
 
- Protected Member Functions inherited from omni::ui::mixin::Locked
template<typename F >
void locked (F f)
 Lock widget and execute given functor. More...
 
bool isLocked () const
 Return true if widget is locked. More...
 

Detailed Description

SceneViewer widget for positioning of elements and 3D view of scene.

Constructor & Destructor Documentation

omni::ui::SceneViewer::SceneViewer ( QWidget *  _parent = nullptr)
26  :
27  QWidget(_parent),
28  ui_(new Ui::SceneViewer)
29  {
30  ui_->setupUi(this);
31  ui_->toolBar->hide();
32  ui_->inputWidget->setLayout(new QVBoxLayout);
34  }
std::unique_ptr< Ui::SceneViewer > ui_
Definition: SceneViewer.h:70
void removeInputControlWidget()
Remove large input widget.
Definition: SceneViewer.cpp:85
omni::ui::SceneViewer::~SceneViewer ( )
36 {}

Member Function Documentation

void omni::ui::SceneViewer::dataModelChanged ( )
signal
void omni::ui::SceneViewer::dataToFrontend ( )
privatevirtual

Pure virtual method which determines how data model is represented in frontend.

Implements omni::ui::mixin::DataModel< DATAMODEL, SHARED >.

45  {
46  ui_->view->setDataModel(dataModel());
47  }
pointer_type dataModel()
Return pointer to data model.
Definition: DataModel.h:118
std::unique_ptr< Ui::SceneViewer > ui_
Definition: SceneViewer.h:70
bool omni::ui::SceneViewer::frontendToData ( )
privatevirtual

Return true if data has changed by front end.

Implements omni::ui::mixin::DataModel< DATAMODEL, SHARED >.

57  {
58  return false;
59  }
void omni::ui::SceneViewer::removeInputControlWidget ( )
slot

Remove large input widget.

85  {
86  ui_->inputWidget->hide();
87  QList<int> _sizes;
88  _sizes << width();
89  _sizes << 0;
90  ui_->splitter->setSizes(_sizes);
91 
92  if (!inputControlWidget_) return;
93 
94  ui_->inputWidget->layout()->removeWidget(inputControlWidget_);
95  inputControlWidget_->deleteLater();
96  inputControlWidget_ = nullptr;
97  }
QWidget * inputControlWidget_
Definition: SceneViewer.h:69
std::unique_ptr< Ui::SceneViewer > ui_
Definition: SceneViewer.h:70
void omni::ui::SceneViewer::showInputControlWidget ( )
slot

Show large widget from current input.

62  {
63  if (!dataModel()) return;
64  showInputControlWidget(dataModel()->inputs().current());
65  }
pointer_type dataModel()
Return pointer to data model.
Definition: DataModel.h:118
void showInputControlWidget()
Show large widget from current input.
Definition: SceneViewer.cpp:62
void omni::ui::SceneViewer::showInputControlWidget ( omni::input::Interface _input)
slot

Show large widget from given input.

68  {
70  if (!_input) return;
71 
73  if (!inputControlWidget_) return;
74 
75  ui_->inputWidget->layout()->addWidget(inputControlWidget_);
76 
77  QList<int> _sizes;
78  _sizes << width() / 2;
79  _sizes << width() / 2;
80  ui_->splitter->setSizes(_sizes);
81  ui_->inputWidget->show();
82  }
QWidget * inputControlWidget_
Definition: SceneViewer.h:69
virtual QWidget * controlWidget()
Make new large control widget for live mode.
Definition: Interface.h:115
std::unique_ptr< Ui::SceneViewer > ui_
Definition: SceneViewer.h:70
void removeInputControlWidget()
Remove large input widget.
Definition: SceneViewer.cpp:85
void omni::ui::SceneViewer::triggerUpdate ( )
slot
38  {
39  view()->triggerUpdate();
40  if (inputControlWidget_) {
41  QMetaObject::invokeMethod(inputControlWidget_,"triggerUpdate");
42  }
43  }
QWidget * inputControlWidget_
Definition: SceneViewer.h:69
void triggerUpdate()
Definition: GLView.cpp:46
SceneGLView * view()
Return pointer to view.
Definition: SceneViewer.cpp:49
SceneGLView * omni::ui::SceneViewer::view ( )

Return pointer to view.

49  {
50  return ui_->view;
51  }
std::unique_ptr< Ui::SceneViewer > ui_
Definition: SceneViewer.h:70
SceneGLView const * omni::ui::SceneViewer::view ( ) const

Return pointer to view (const version)

53  {
54  return ui_->view;
55  }
std::unique_ptr< Ui::SceneViewer > ui_
Definition: SceneViewer.h:70

Field Documentation

QWidget* omni::ui::SceneViewer::inputControlWidget_ = nullptr
private
std::unique_ptr<Ui::SceneViewer> omni::ui::SceneViewer::ui_
private

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