63 if (!
menus_.contains(_name))
72 if ( menuBar()->actions().contains(
helpMenu_->menuAction()) )
75 menus_[_name]->addAction(_action);
77 menus_[_name]->addAction(_action);
84 if (!
menus_.contains(_name))
89 for (std::vector<QAction*>::iterator it = _actions.begin(); it != _actions.end(); ++it )
94 if ( menuBar()->actions().contains(
helpMenu_->menuAction()) )
97 for (std::vector<QAction*>::iterator it = _actions.begin(); it != _actions.end(); ++it )
98 menus_[_name]->addAction(*it);
100 for (std::vector<QAction*>::iterator it = _actions.begin(); it != _actions.end(); ++it )
101 menus_[_name]->addAction(*it);
111 if (
menus_.contains (_name))
116 _menu =
new QMenu(_name);
119 _menu->installEventFilter(
this);
121 menuBar()->insertAction(
helpMenu_->menuAction() ,_menu->menuAction ());
134 if( _event->type() == QEvent::WhatsThisClicked )
136 QWhatsThisClickedEvent *wtcEvent =
static_cast<QWhatsThisClickedEvent*
>(_event);
137 QWhatsThis::hideText();
142 return _obj->event(_event);
149 (*it)->setVisible(!reduced);
164 QAction* AC_clear_all =
new QAction(tr(
"Clear All"),
this);;
165 AC_clear_all->setStatusTip(tr(
"Clear all Objects"));
166 AC_clear_all->setWhatsThis(tr(
"Close all open Objects"));
167 AC_clear_all->setIcon(QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+
"edit-clear.png"));
168 connect(AC_clear_all, SIGNAL(triggered()),
this, SIGNAL(clearAll()));
174 QAction* AC_Load =
new QAction(tr(
"Load Object"),
this);
175 AC_Load->setStatusTip(tr(
"Load an object"));
176 AC_Load->setWhatsThis(tr(
"Load a new object"));
177 AC_Load->setIcon(QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+
"document-open.png"));
178 connect(AC_Load, SIGNAL(triggered()),
this, SIGNAL(loadMenu()));
182 QAction* AC_AddEmpty =
new QAction(tr(
"Add Empty Object"),
this);
183 AC_AddEmpty->setStatusTip(tr(
"Add an empty object"));
184 AC_AddEmpty->setWhatsThis(tr(
"Creates a new empty object of a given type"));
185 AC_AddEmpty->setIcon(QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+
"add-empty-object.png"));
186 connect(AC_AddEmpty, SIGNAL(triggered()),
this, SIGNAL(addEmptyObjectMenu()));
192 QAction* AC_Save =
new QAction(tr(
"Save Objects"),
this);
194 AC_Save->setStatusTip(tr(
"Save current objects"));
195 AC_Save->setWhatsThis(tr(
"Save current objects"));
196 AC_Save->setIcon(QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+
"document-save.png"));
197 connect(AC_Save, SIGNAL(triggered()),
this, SIGNAL(saveMenu()));
202 QAction* AC_Save_to =
new QAction(tr(
"Save Objects to"),
this);
203 AC_Save_to->setStatusTip(tr(
"Save current Object(s) to"));
204 AC_Save_to->setWhatsThis(tr(
"Save current Object(s) under a new name"));
205 AC_Save_to->setIcon(QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+
"document-save-as.png"));
206 connect(AC_Save_to, SIGNAL(triggered()),
this, SIGNAL(saveToMenu()));
212 QAction* AC_load_ini =
new QAction(tr(
"Load Settings"),
this);
213 AC_load_ini->setStatusTip(tr(
"Load Settings from INI file"));
214 AC_load_ini->setWhatsThis(tr(
"Load a previous settings from file (objects,colors,...)"));
215 AC_load_ini->setIcon(QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+
"load-settings.png"));
216 connect(AC_load_ini, SIGNAL(triggered()),
this, SIGNAL(loadIniMenu()));
221 QAction* AC_save_ini =
new QAction(tr(
"Save Settings"),
this);
222 AC_save_ini->setStatusTip(tr(
"Save current settings to INI file"));
223 AC_save_ini->setWhatsThis(tr(
"Save settings to file (objects,colors,...)"));
224 AC_save_ini->setIcon(QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+
"save-settings.png"));
225 connect(AC_save_ini, SIGNAL(triggered()),
this, SIGNAL(saveIniMenu()));
232 QAction* AC_Options =
new QAction(tr(
"Options"),
this);
233 AC_Options->setStatusTip(tr(
"Edit OpenFlipper Options"));
234 AC_Options->setWhatsThis(tr(
"Edit OpenFlipper Options"));
235 AC_Options->setIcon(QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+
"options.png"));
244 recentFilesMenu_->setIcon(QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+
"document-open-recent.png"));
246 connect(
recentFilesMenu_,SIGNAL(triggered(QAction*)),
this,SIGNAL(recentOpen(QAction*)));
252 QAction* AC_exit =
new QAction(tr(
"Exit"),
this);;
253 AC_exit->setShortcut (Qt::CTRL | Qt::Key_Q);
254 AC_exit->setStatusTip(tr(
"Exit Application"));
256 AC_exit->setIcon(QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+
"application-exit.png"));
257 connect(AC_exit, SIGNAL(triggered()),
this, SIGNAL(exit()));
275 QMenu* renderingOptionsMenu =
new QMenu(tr(
"Global Rendering Options"),
viewMenu_);
276 renderingOptionsMenu->setIcon( QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+
"core_renderingOptions.png") );
278 viewMenu_->addMenu(renderingOptionsMenu));
281 orthogonalProjectionAction_->setIcon( QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+
"orthogonal.png") );
285 "Switch to <b>orthogonal</b> projection mode."));
290 perspectiveProjectionAction_->setIcon( QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+
"perspective.png") );
294 "Switch to <b>perspective</b> projection mode."));
301 globalAnimationAction_->setIcon( QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+
"animation.png") );
307 globalBackfaceCullingAction_->setIcon( QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+
"backFaceCulling.png") );
313 globalTwosidedLightingAction_->setIcon( QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+
"twosidedLighting.png") );
319 globalMultisamplingAction_->setIcon( QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+
"multisampling.png") );
324 globalMipmappingAction_->setIcon( QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+
"mipmapping.png") );
344 QString iconPath = OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator();
345 QAction* showPostProcessorDialog =
new QAction(tr(
"Show post processor manager"),
this);
346 showPostProcessorDialog->setIcon(QIcon(iconPath+
"postprocessors.png"));
347 connect(showPostProcessorDialog,SIGNAL(triggered()),
this,SLOT(slotShowPostProcessorManager()));
348 viewMenu_->addAction(showPostProcessorDialog);
355 QAction* navigationSwitchAction =
new QAction( tr(
"First-person Navigation"),
viewMenu_ );
356 navigationSwitchAction->setCheckable(
true );
357 navigationSwitchAction->setIcon( QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+
"core_firstPersonMode.png") );
358 navigationSwitchAction->setStatusTip( tr(
"Switch between normal and first-person navigation mode."));
359 navigationSwitchAction->setWhatsThis( tr(
"Switch between normal and first-person navigation mode."));
360 navigationSwitchAction->setChecked(
false );
362 connect( navigationSwitchAction, SIGNAL( toggled(
bool) ),
this, SLOT(
slotSwitchNavigation(
bool) ) );
363 viewMenu_->addAction( navigationSwitchAction);
370 QAction* homeAction =
new QAction(tr(
"Restore Home View"),
viewMenu_);
371 homeAction->setIcon( QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+
"go-home.png") );
372 homeAction->setCheckable(
false );
373 homeAction->setStatusTip( tr(
"Restore <b>home</b> view."));
374 homeAction->setWhatsThis( tr(
"Restore home view<br><br>"
375 "Resets the view to the home view"));
380 QAction* setHomeAction =
new QAction( tr(
"Set Home View") ,
viewMenu_ );
381 setHomeAction->setIcon( QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+
"set-home.png") );
382 setHomeAction->setCheckable(
false );
383 setHomeAction->setStatusTip( tr(
"Set <b>home</b> view"));
384 setHomeAction->setWhatsThis( tr(
"Store home view<br><br>"
385 "Stores the current view as the home view"));
389 QAction* viewAllAction =
new QAction( tr(
"View all"),
viewMenu_ );
390 viewAllAction->setIcon( QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+
"viewall.png") );
391 viewAllAction->setCheckable(
false );
392 viewAllAction->setStatusTip( tr(
"View all.") );
393 viewAllAction->setWhatsThis( tr(
"View all<br><br>"
394 "Move the objects in the scene so that"
395 " the whole scene is visible."));
396 connect( viewAllAction,SIGNAL( triggered() ),
this, SLOT(
slotGlobalViewAll() ) );
401 QAction* snapShotAction =
new QAction( tr(
"Viewer Snapshot"),
viewMenu_ );
402 snapShotAction->setIcon( QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+
"viewerSnapshot.png") );
403 snapShotAction->setCheckable(
false );
404 snapShotAction->setStatusTip( tr(
"Take a snapshot from all viewers."));
405 snapShotAction->setWhatsThis( tr(
"Viewer Snapshot<br><br>"
406 "Take a snapshot of all viewers at once."));
407 snapShotAction->setShortcut (Qt::Key_F2);
411 QAction* appSnapShotAction =
new QAction( tr(
"Application Snapshot"),
viewMenu_ );
412 appSnapShotAction->setIcon( QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+
"snapshot.png") );
413 appSnapShotAction->setCheckable(
false );
414 appSnapShotAction->setStatusTip( tr(
"Take a snapshot from OpenFlipper."));
415 appSnapShotAction->setWhatsThis( tr(
"Snapshot<br><br>"
416 "Take a snapshot from OpenFlipper."));
418 viewMenu_->addAction( appSnapShotAction);
422 QAction* wheelSwitchAction =
new QAction( tr(
"Show / hide wheels"),
viewMenu_ );
423 wheelSwitchAction->setIcon( QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+
"core_wheels.png") );
424 wheelSwitchAction->setCheckable(
true );
425 wheelSwitchAction->setStatusTip( tr(
"Show / hide navigation wheels in viewer widget."));
426 wheelSwitchAction->setWhatsThis( tr(
"Show / hide navigation wheels in viewer widget.<br><br>"
427 " These wheels appear in the corners of the viewports. "
428 " Use wheels to rotate and scale scene."));
431 wheelSwitchAction->setChecked(
true);
433 connect( wheelSwitchAction,SIGNAL( toggled(
bool) ),
this, SLOT(
slotSwitchWheels(
bool) ) );
434 viewMenu_->addAction( wheelSwitchAction);
436 QAction* coordSys =
viewMenu_->addAction(tr(
"Coordinate Systems"));
437 coordSys->setCheckable(
true);
438 coordSys->setChecked(
true);
439 coordSys->setStatusTip(tr(
"Toggle visibility of the coordinate systems"));
440 coordSys->setIcon( QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+
"coordsys.png") );
445 QAction* setGlobalBackgroundColor =
new QAction(tr(
"Set Background Color"),
this);;
446 setGlobalBackgroundColor->setToolTip(tr(
"Set Background Color for all viewers"));
447 setGlobalBackgroundColor->setStatusTip(tr(
"Set Background Color for all viewers"));
448 setGlobalBackgroundColor->setWhatsThis(tr(
"Set Background Color for all viewers"));
449 setGlobalBackgroundColor->setIcon(QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+
"BackgroundColor.png") );
451 viewMenu_->addAction(setGlobalBackgroundColor);
461 QAction* sceneGraphAction =
new QAction( tr(
"Show SceneGraph ") ,
toolsMenu_ );
462 sceneGraphAction->setIcon( QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+
"scenegraph.png") );
463 sceneGraphAction->setCheckable(
false );
464 sceneGraphAction->setToolTip( tr(
"Show scene graph viewer.") );
465 sceneGraphAction->setWhatsThis( tr(
"Toggle scene graph viewer<br><br>"
466 "The scene graph viewer enables you to examine the "
467 "displayed scene graph and to modify certain nodes.<br><br>" ) );
468 QObject::connect( sceneGraphAction, SIGNAL( triggered() ),
475 QAction* startVideoCaptureAction =
new QAction( tr(
"Start Video Capture ") ,
toolsMenu_ );
476 startVideoCaptureAction->setIcon( QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+
"video-start.png") );
477 startVideoCaptureAction->setCheckable(
false );
478 startVideoCaptureAction->setToolTip( tr(
"Start video capturing.") );
479 startVideoCaptureAction->setWhatsThis( tr(
"Start to capture a video sequence of the user actions")) ;
480 toolsMenu_->addAction( startVideoCaptureAction );
481 connect(startVideoCaptureAction, SIGNAL(triggered()),
this, SLOT(startVideoCaptureDialog()) );
483 QAction* stopVideoCaptureAction =
new QAction( tr(
"Stop Video Capture ") ,
toolsMenu_ );
484 stopVideoCaptureAction->setIcon( QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+
"video-stop.png") );
485 stopVideoCaptureAction->setCheckable(
false );
486 stopVideoCaptureAction->setToolTip( tr(
"Stop video capturing." ));
487 stopVideoCaptureAction->setWhatsThis( tr(
"Stop Video capturing" ));
489 toolsMenu_->addAction( stopVideoCaptureAction);
490 connect(stopVideoCaptureAction, SIGNAL(triggered()),
this, SIGNAL(stopVideoCapture()) );
498 QAction* AC_Plugins =
new QAction(tr(
"Plugins"),
this);
499 AC_Plugins->setStatusTip(tr(
"Show loaded plugins"));
500 AC_Plugins->setWhatsThis(tr(
"Show loaded plugins"));
501 AC_Plugins->setIcon(QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+
"network-connect.png"));
502 connect(AC_Plugins, SIGNAL(triggered()),
this, SIGNAL(showPlugins()));
525 QAction* AC_ShowToolbox =
new QAction(tr(
"Show Toolboxes"),
this);
526 AC_ShowToolbox->setStatusTip(tr(
"Show or Hide the Toolbox Widget"));
528 AC_ShowToolbox->setWhatsThis(tr(
"Show or Hide the Toolbox Widget"));
529 AC_ShowToolbox->setCheckable(
true);
530 AC_ShowToolbox->setChecked( !
OpenFlipperSettings().value(
"Core/Gui/ToolBoxes/hidden",
false).toBool() );
531 connect(AC_ShowToolbox, SIGNAL( triggered()),
this, SLOT(
toggleToolbox()));
532 connect(
this,SIGNAL(
toolBoxVisChanged(
bool)),AC_ShowToolbox,SLOT(setChecked(
bool)));
536 QAction* AC_ShowStatusBar =
new QAction(tr(
"Show Statusbar"),
this);
537 AC_ShowStatusBar->setStatusTip(tr(
"Show or Hide the Statusbar"));
538 AC_ShowStatusBar->setWhatsThis(tr(
"Show or Hide the Statusbar"));
539 AC_ShowStatusBar->setCheckable(
true);
540 AC_ShowStatusBar->setChecked( !
OpenFlipperSettings().value(
"Core/Gui/StatusBar/hidden",
false).toBool());
541 connect(AC_ShowStatusBar,SIGNAL(triggered()),
this,SLOT(
toggleStatusBar()));
546 QAction* AC_ShowMenuBar =
new QAction(tr(
"Show Menubar"),
this);
547 AC_ShowMenuBar->setStatusTip(tr(
"Show or Hide the Menubar"));
548 AC_ShowMenuBar->setWhatsThis(tr(
"Show or Hide the Menubar"));
549 AC_ShowMenuBar->setCheckable(
true);
550 AC_ShowMenuBar->setChecked( !
OpenFlipperSettings().value(
"Core/Gui/MenuBar/hidden",
false).toBool());
551 connect(AC_ShowMenuBar,SIGNAL(triggered()),
this,SLOT(
toggleMenuBar()));
552 connect(
this,SIGNAL(
menuBarVisChanged(
bool)),AC_ShowMenuBar,SLOT(setChecked(
bool)));
557 QAction* AC_ShowToolBar =
new QAction(tr(
"Show Toolbar"),
this);
558 AC_ShowToolBar->setStatusTip(tr(
"Show or Hide the Toolbar"));
559 AC_ShowToolBar->setWhatsThis(tr(
"Show or Hide the Toolbar"));
560 AC_ShowToolBar->setCheckable(
true);
561 AC_ShowToolBar->setChecked( !
OpenFlipperSettings().value(
"Core/Gui/ToolBar/hidden",
false).toBool());
562 connect(AC_ShowToolBar,SIGNAL(triggered()),
this,SLOT(
toggleToolBar()));
563 connect(
this,SIGNAL(
toolBarVisChanged(
bool)),AC_ShowToolBar,SLOT(setChecked(
bool)));
567 QAction* AC_Fullscreen =
new QAction(tr(
"Fullscreen"),
this);
568 AC_Fullscreen->setStatusTip(tr(
"Enable or Disable the Fullscreen"));
569 AC_Fullscreen->setWhatsThis(tr(
"Enable or Disable the Fullscreen"));
570 AC_Fullscreen->setCheckable(
true);
571 AC_Fullscreen->setChecked(
OpenFlipperSettings().value(
"Core/Gui/fullscreen",
false ).toBool() );
573 connect(
this,SIGNAL(
fullScreenChanged(
bool)),AC_Fullscreen,SLOT(setChecked(
bool)));
591 QAction* AC_PythonWidget =
new QAction(tr(
"Python Script"),
this);
592 AC_PythonWidget->setStatusTip(tr(
"Open Python Script Interpreter"));
593 AC_PythonWidget->setWhatsThis(tr(
"Open the <b>Python Script Interpreter</b>"));
606 QAction* AC_HelpBrowser =
new QAction(tr(
"Help"),
this);
607 AC_HelpBrowser->setStatusTip(tr(
"Open Help Browser with Documentation"));
608 AC_HelpBrowser->setIcon(QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+
"help-browser.png"));
609 AC_HelpBrowser->setWhatsThis(tr(
"Open the <b>Help Browser</b>"));
610 connect(AC_HelpBrowser, SIGNAL(triggered()),
this, SLOT(
showHelpBrowser()));
614 QAction* AC_Whats_this = QWhatsThis::createAction (
this );
615 AC_Whats_this->setStatusTip(tr(
"Enter What's this Mode"));
616 AC_Whats_this->setWhatsThis(tr(
"Get information about a specific Button/Widget/..."));
622 QAction* AC_About =
new QAction(tr(
"About"),
this);
623 AC_About->setStatusTip(tr(
"About OpenFlipper"));
624 AC_About->setIcon(QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+
"help-about.png"));
625 AC_About->setWhatsThis(tr(
"This entry shows information about <b>OpenFlipper</b>"));
657 uint enabledCount = 0;
664 if ( enabledCount != 0 ) {
683 if ( enabledCount != 0 ) {
702 if ( enabledCount != 0 ) {
721 if ( enabledCount != 0 ) {
740 if ( enabledCount != 0 ) {
752 int perspectiveCount = 0;
753 int orthogonalCount = 0;
779 QString iconPath = OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator();
816 for (
unsigned int i = 0 ; i < renderManager().
available() ; ++i) {
819 QAction * action =
new QAction( renderManager()[i]->name,
rendererGroup_ );
820 action->setCheckable(
true );
824 action->setChecked(
true);
827 action->setData(QVariant(i));
834 QAction* showRendererObjectWidget =
new QAction(tr(
"Show render objects"),
this);
853 disconnect(
drawGroup_ , SIGNAL( triggered( QAction * ) ),
864 connect(
drawGroup_ , SIGNAL( triggered( QAction * ) ),
870 icon.addFile(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+
"drawModes.png");
890 std::vector< ACG::SceneGraph::DrawModes::DrawMode > availDrawModeIds;
895 for (
unsigned int i = 0; i < availDrawModeIds.size(); ++i )
900 QAction * action =
new QAction( descr.c_str(),
drawGroup_ );
901 action->setCheckable(
true );
911 unsigned int mode = _action->data().toUInt();
913 QString defaultRendererName = renderManager()[mode]->name;
919 QString defaultRendererKey =
"Viewer" + QString::number(i)+
"/DefaultRenderer";
927 unsigned int mode = _action->data().toUInt();
931 postProcessorManager().
setActive(mode,i);
941 std::vector< ACG::SceneGraph::DrawModes::DrawMode > availDrawModeIds;
943 for (
unsigned int i = 0; i < availDrawModeIds.size(); ++i )
945 QString descr = QString( ( availDrawModeIds[i].description() ).c_str() );
947 if ( descr == _action->text() ) {
948 mode = availDrawModeIds[i];
953 if ( qApp->keyboardModifiers() & Qt::ShiftModifier )
DLLEXPORT OpenFlipperQSettings & OpenFlipperSettings()
QSettings object containing all program settings of OpenFlipper.
DrawModes::DrawMode drawModes() const
Get the collected draw modes.
std::string description() const
std::vector< DrawMode > getAtomicDrawModes() const
Separates this drawMode into a list of all separate atomic draw modes.
bool containsAtomicDrawMode(const DrawMode &_atomicDrawMode) const
Check whether an Atomic DrawMode is active in this draw Mode.
void setValue(const QString &key, const QVariant &value)
Wrapper function which makes it possible to enable Debugging output with -DOPENFLIPPER_SETTINGS_DEBUG...
void setActive(unsigned int _active, int _viewerId)
set the active post processor for viewer
void setActive(unsigned int _active, int _id)
set the active renderer
size_t available()
number of available renderers
void animation(bool _state)
set 2-sided lighting on/off
void twoSidedLighting(bool _state)
set 2-sided lighting on/off
void mipmapping(bool _state)
set mipmapping on/off
bool backFaceCulling()
Get current state of backface culling.
void multisampling(bool _state)
set multisampling on/off
@ PERSPECTIVE_PROJECTION
perspective
DrawMode NONE
not a valid draw mode
void traverse(BaseNode *_node, Action &_action)
Viewer::ViewerProperties & viewerProperties(int _id)
Get the viewer properties Use this functions to get basic viewer properties such as backgroundcolor o...
ACG::SceneGraph::BaseNode * getRootNode()
Get the root node for data objects.
int viewers()
Get the number of viewers.
ACG::SceneGraph::DrawModes::DrawMode drawMode(int _viewer)
Get the current draw Mode of a Viewer.
void setDrawMode(const ACG::SceneGraph::DrawModes::DrawMode &_mode, int _viewer)
Set the draw Mode of a Viewer. .
unsigned int activeExaminer()
Get the id of the examiner which got the last mouse events.