Computer Assisted Medical Intervention Tool Kit  version 5.2
camitk::InteractiveViewer Class Reference

InteractiveViewer is used to view 3D objects and slices (anything that provides either a InterfaceBitMap or a InterfaceGeometry). More...

#include <InteractiveViewer.h>

+ Inheritance diagram for camitk::InteractiveViewer:
+ Collaboration diagram for camitk::InteractiveViewer:

Public Types

enum  HighlightMode { OFF , SELECTION , SELECTION_ONLY }
 describes the current mode of display. More...
 
enum  PickingMode {
  PIXEL_PICKING , POINT_PICKING , CELL_PICKING , AREA_CELL_PICKING ,
  AREA_POINT_PICKING , NO_PICKING
}
 Different kind of picking must be available: pixel in slice, a point, a cell, ... More...
 
enum  ViewerType { SLICE_VIEWER , GEOMETRY_VIEWER }
 there is two possibilities: this InteractiveViewer is used to display slices or geometry More...
 
- Public Types inherited from camitk::Viewer
enum  ViewerType { EMBEDDED , DOCKED }
 describes where this viewer should appear More...
 

Public Slots

public slots
void sliderChanged (int)
 Slot called when the InteractiveViewer slider has been changed. More...
 
void xAngleChanged (double angle)
 Slot called when the InteractiveViewer x angle update has been changed. More...
 
void yAngleChanged (double angle)
 Slot called when the InteractiveViewer y angle update has been changed. More...
 
void zAngleChanged (double angle)
 Slot called when the InteractiveViewer z angle update has been changed. More...
 
void toggleLogo (bool)
 show/hide the logo at the bottom right corner More...
 

Public Member Functions

virtual void setBackgroundColor (QColor)
 set background color More...
 
virtual void setGradientBackground (bool)
 set gradient background on/off More...
 
Q_INVOKABLE InteractiveViewer (QString &name, camitk::InteractiveViewer::ViewerType type)
 Construtor. More...
 
virtual ~InteractiveViewer () override
 Destructor. More...
 
QString getName () const
 get the scene name More...
 
Inherited from Viewer
void refresh (Viewer *whoIsAsking=nullptr) override
 
QWidget * getWidget () override
 get the InteractiveViewer widget (QTreeWidget). More...
 
PropertyObjectgetPropertyObject () override
 get the InteractiveViewer propertyObject (only non-null for GEOMETRY_VIEWER) More...
 
QMenu * getMenu () override
 get the explorer menu More...
 
QToolBar * getToolBar () override
 get the viewer toolbar More...
 
Misc

set the color scale in the viewport, use setColorScaleMinMax / setColorScaleTitle to change the displayed values.

void setColorScale (bool)
 
bool getColorScale () const
 get the current value of the color scale property. More...
 
void setColorScaleMinMax (double m, double M)
 set the min and max values. More...
 
void setColorScaleTitle (QString t)
 set the color scale title. More...
 
void initPicking (PickingMode)
 Init the picker with a given picking mode. More...
 
void getBoundsOfSelected (double *bound)
 Compute the bounding box of the selected elements [xmin,xmax, ymin,ymax, zmin,zmax]. More...
 
void getBounds (double *bound)
 Compute the bounding box of all displayed Component. More...
 
void setSideFrameVisible (bool)
 set the slice viewer side bar+screenshot button visibility More...
 
- Public Member Functions inherited from camitk::Viewer
*get the list of Component class manages by this viewer *default is set to i e all type of Component *QStringList getComponentClassNames ()
 
QString getDescription () const
 get the name of the viewer More...
 
virtual QDockWidget * getDockWidget ()
 Get the QDockWidget* where this viewer is currently docked (or nullptr if it is not docked anywhere or if the viewer is of type EMBEDDED) More...
 
virtual QLayout * getEmbedder ()
 Get the QLayout* where this viewer is currently embedded (or nullptr if it is not embedded anywhere or if the viewer is of type DOCKED) More...
 
virtual QPixmap getIcon ()
 get the viewer icon More...
 
QString getName () const
 get the name of the viewer More...
 
virtual bool getToolBarVisibility ()
 get the current value of the toolbar visibility More...
 
ViewerType getType ()
 get the viewer layout More...
 
 Q_ENUM (ViewerType) Viewer(QString name
 default constructor More...
 
virtual bool setDockWidget (QDockWidget *)
 If the viewer type is DOCKED, dock the widget inside the given dock widget (do nothing if the type is EMBEDDED or if the viewer has already been docked before) Note that once set, the dock widget cannot be modified. More...
 
virtual bool setEmbedder (QLayout *)
 If the viewer type is EMBEDDED, embed the viewer widget in the given layout (do nothing if the type is DOCKED) Note that you can call this method any time you want to move the viewer's widget to another layout (but there is only one embedder at a time) More...
 
virtual void setToolBarVisibility (bool)
 set the visibility of the toolbar in the main window (true by default). More...
 
void setType (ViewerType)
 set the viewer layout (the type can be changed dynamically to fit the developer's purpose) More...
 
virtual void setVisible (bool)
 set the visibility of the viewer (show or hide its widget) More...
 
virtual ~Viewer () override
 default destructor More...
 

Protected Slots

All the slots called by the menu actions
void renderingActorsChanged ()
 
void highlightModeChanged (QAction *selectedAction)
 
void cameraOrientationChanged (QAction *selectedAction)
 
void viewControlModeChanged (QAction *)
 
void backgroundColor ()
 
void toggleAxes (bool)
 
void toggleOrientationDecorations (bool)
 
void pickingModeChanged (QAction *)
 
void picked ()
 get the picker and populate the picked component with the picked stuff More...
 
void rightClick ()
 
void setLabel (bool)
 if true currently selected Components label will have their label on (shown) More...
 
void setGlyph (bool)
 

Protected Member Functions

void init ()
 used by both constructors More...
 
- Protected Member Functions inherited from camitk::Viewer
void clearSelection ()
 clear the selection More...
 
*set the list of component class names managed by this viewer *note Default is set to Component (all type of components) */void setComponentClassNames(QStringList)
 
void selectionChanged (Component *comp)
 the selection has changed to be just one comp More...
 
void selectionChanged (ComponentList &compSet)
 The selection has changed to the given ComponentList. More...
 
void setDescription (QString)
 set the viewer's description More...
 
void setIcon (QPixmap icon)
 set the default icon for the viewer extension More...
 

Protected Attributes

Picking management
std::vector< Component * > pickedComponent
 list of Component that are currently picked, correctly displayed in the InteractiveViewer, but for speed optimization that are not yet selected in the explorer. More...
 
PickingMode pickingMode
 Current picking mode, NO_PICKING be default. More...
 
bool isPicking
 Indicates that this viewer is picking. More...
 
bool isChangingSlice
 Indicates that this viewer is changing the slice by the slice slider. More...
 
bool pickingEffectIsSelecting
 picking effect while mouse button is kept pressed is selecting (depends on the selection state of the first component picked) More...
 
bool pickingEffectUpdated
 was the picking effect updated (it has to be updated with the first picking for a given button down session) More...
 
vtkSmartPointer< vtkEventQtSlotConnect > connector
 

Display properties

Properties that can be managed without the knowledge/intervention of the InterfaceGeometry:

  • pointSize (the user preferred value is stored here, the access to the actor needs InterfaceGeometry knowledge)
  • interpolation (toggle, this is a boolean state, kept by each vtkImageActor interpolate property)

Properties that need to be managed by the InterfaceGeometry itself (not boolean state managed somewhere by vtk, not integer/float value manage in InteractiveViewer as a user-preference)

  • linesAsTubes (the InterfaceGeometry needs to add/manage a filter before the mapper)
ViewerType myType
 type of InteractiveViewer (display slice or geometry) More...
 
QMultiMap< Component *, vtkSmartPointer< vtkProp > > actorMap
 the map containing all the actors in the InteractiveViewer More...
 
unsigned int displayedTopLevelComponents
 number of top-level component that are currently displayed More...
 
QMap< QString, vtkSmartPointerCameracameraMap
 all the available camera More...
 
void initSettings ()
 initialize the property object and state using the user settings (user preferences system files .config/.ini) More...
 
void toggleInterpolation ()
 for InterfaceBitMap, toggle the interpolation mode (intern method, not a property because it can only be modified by the keyboard interaction) More...
 
void resetLUT ()
 for InterfaceBitMap, reset the lut that was changed by the image interactor (window and level) More...
 
void updateSelectionDisplay (Component *)
 Update the display of the given Component, according to its selection state and the current HighlightMode. More...
 
void addActor (Component *, vtkSmartPointer< vtkProp >)
 add the given actor of the given Component to the renderer and insert it in the map More...
 
void removeAllActors (Component *)
 remove all the given Component actors from the renderer and delete comp from the map More...
 

Widget/Action management

The 3D scene itself, wrapping VTK render window, renderer and interactor in a single Qt widget

RendererWidgetrendererWidget
 
SliderSpinBoxWidgetsliceSlider
 Slider used to control the slice index in a InteractiveViewer. More...
 
InteractiveViewerFrameframe
 the InteractiveViewer frame More...
 
QFrame * sideFrame
 the right side frame (this is where the slider and screenshot buttons are shown) More...
 
QToolBar * screenshotActionMenu
 the screenshot action is inside this menu (in the slice viewer side bar) More...
 
QMenu * viewerMenu
 the QMenu for the InteractiveViewer More...
 
QToolBar * viewerToolbar
 the QToolBar for the InteractiveViewer More...
 
QComboBox * scalarDataComboBox
 the ComboBox for mesh scalar data More...
 
MeshDataFilterModelscalarDataModel
 
QAction * screenshotAction
 Screenshot. More...
 
QMenu * renderingMenu
 Rendering. More...
 
QAction * surfaceAction
 
QAction * wireframeAction
 
QAction * pointsAction
 
QAction * colorAction
 
QAction * glyphAction
 
QWidgetAction * scalarDataColorAction
 
QAction * highlightSelectionAction
 display mode More...
 
QAction * highlightSelectionOnlyAction
 
QAction * highlightOffAction
 
QAction * controlModeTrackballAction
 to change the camera control mode More...
 
QAction * controlModeJoystickAction
 
QAction * cameraOrientationRightDownAction
 to change the axes view mode More...
 
QAction * cameraOrientationLeftUpAction
 
QAction * cameraOrientationRightUpAction
 
QAction * backgroundColorAction
 background color More...
 
QAction * toggleAxesAction
 button allows one to display the Axes in the InteractiveViewer More...
 
QAction * toggleOrientationDecorationsAction
 button allows one to display orientation decoration in SLICE_VIEWER mode More...
 
QAction * toggleLogoAction
 button to remove the copyright More...
 
QAction * toggleLabelAction
 button allows one to display the labels of the object3D More...
 
QAction * toggleLinesAsTubesAction
 button allows one to display the lines as tubes (the lines are to be in vtkPolyData) More...
 
QAction * toggleBackfaceCullingAction
 back face culling More...
 
QAction * toggleFxaaAntialiasingAction
 FXAA antialiasing. More...
 
QAction * toggleScreenshotAction
 visibility of the screenshot action in the side toolbar of slice viewer More...
 
QAction * pickPointAction
 action of the picking menu More...
 
QAction * pickCellAction
 
QAction * pickCellRegionAction
 
QAction * pickPointRegionAction
 
void initActions ()
 init all the actions (called only once in the getWidget() method) More...
 
void updateActions ()
 update the viewer menu depending on the selection,... More...
 
void InteractiveViewerFrame::keyPressEvent (QKeyEvent *e)
 the InteractiveViewerFrame keyPressEvent is a good friend of InteractiveViewer More...
 

Help Whats This Utility

QString whatsThis
 
bool oddWhatsThis
 are we currently in a odd table line More...
 
void initWhatsThis ()
 initialize the what's this html string More...
 
void startWhatsThisSection (const QString &title="")
 start a table (section) in the what's this message More...
 
void endWhatsThisSection ()
 end a table (section) in the what's this message More...
 
void addWhatsThisItem (const QString &key, const QString &description)
 add an item (row) in the the what's this message (to describe a shortcut) More...
 

CamiTK Properties of this viewer

PropertyObjectpropertyObject
 The property object that holds the properties of this viewer. More...
 
PropertyhighlightModeProperty
 The property that stands for the type of highlight mode of the 3D viewer. More...
 
PropertybackgroundColorProperty
 The property that stands for the background color of the viewer. More...
 
PropertybackgroundGradientColorProperty
 Property that tells whether the viewer use a gradient background color or not. More...
 
PropertylinesAsTubesProperty
 Property that tells whether the viewer uses lines as tubes or not. More...
 
PropertybackfaceCullingProperty
 Property that tells whether the viewer uses the backface culling option or not. More...
 
PropertyfxaaAntialiasingProperty
 Property that tells whether the viewer uses the backface culling option or not. More...
 
PropertyscreenshotActionProperty
 Property that tells whether the screenshot action is visible or not. More...
 
PropertypointSizeProperty
 Property which defines the point size of each point in the 3D viewer. More...
 
void createProperties ()
 Create and handle the CamiTK properties of this viewer. More...
 
bool eventFilter (QObject *object, QEvent *event) override
 Event filter of this class instance to watch its properties instances. More...
 

Refresh/screenshot

void refreshRenderer ()
 just refresh the renderer More...
 
void resetCamera ()
 Reset scene camera. More...
 
void setActiveCamera (QString cameraName)
 Set the active virtual camera. More...
 
vtkSmartPointer< vtkCamera > getCamera (QString cameraName="default")
 get a camera by its name, creates one if it does not exist already. More...
 
void screenshot (QString)
 call this method to take a screenshot using the given filename (the extension must be a supported format extension, see class RendererWindow) More...
 
void screenshot ()
 call this method to take a screenshot in various format and write the resulting image to a file More...
 

Viewing/Interaction Property

void keyPressEvent (QKeyEvent *e)
 Handle keyboard events in the scene, let to the parent widget if not processed here. This method is a friend of class InteractiveViewerFrame. More...
 
virtual void setHighlightMode ()
 Set the current highlighting mode from the current value of the property. More...
 
RendererWidgetgetRendererWidget ()
 return interactiveViewer RendererWidget More...
 
void setBackfaceCulling (bool)
 
void setFxaaAntialiasing (bool)
 
void setScreenshotAction (bool)
 visibility of the screenshot in slice viewers More...
 
void setLinesAsTubes (bool tubes)
 Update the visualization of lines (for all the InterfaceGeometry of the scene). More...
 

Additional Inherited Members

- Signals inherited from camitk::Viewer
void selectionChanged ()
 this signal is emitted when the current selection was changed by the viewer More...
 
- Public Attributes inherited from camitk::Viewer
*get the list of Component class manages by this viewer *default is set to Component
 
ViewerType type = EMBEDDED)
 this viewer's layout More...
 

Detailed Description

InteractiveViewer is used to view 3D objects and slices (anything that provides either a InterfaceBitMap or a InterfaceGeometry).

It contains a renderer (class RendererWidget) that combines VTK and QT. The RendererWidget instance manage all the display at the VTK level. InteractiveViewer delegates all pure VTK level stuff to the renderer. All things that needs InterfaceBitMap/InterfaceGeometry interaction/knowledge/access are manage at this level. The keyboard events are all managed in InteractiveViewer as well. Keyboard/Mouse interactions: check "what's this?" on the scene 3D to get all interaction shortcuts.

InteractiveViewer manages a list of cameras. Each camera has a name. Use getCamera(QString) to create a new camera, or get the default camera and setActiveCamera(QString) to change the active camera. The default camera is called "default".

InteractiveViewer manages picking session. A picking session starts when the control key is pressed and the left mouse button is clicked and ends when the mouse button is released. A picking session is a nice/quick way to do a lot of picking by simply moving the mouse, without the need to click for each picking. At the start of a picking session, the picking action is determined: it is either selection or unselection. If one of the first picked components was already selected, then the user wants to unselect, therefore picking action is "unselection", and all subsequently calls to pickPoint(..) or pickCell(..) will use pickingIsSelecting=false (2nd parameter of the method). If the first picked component was not selected, then the picking session is going to select any picked component.

See also
InterfaceGeometry::pickPoint() InterfaceGeometry::pickCell()

The following help is for InteractiveViewer/RendererWidget developers, please read if you want/need to change anything in one of this two class. It should help you in your coding decisions (hopefully!).

  1. Keyboard shortcut policy: for keyboard shortcuts do not use the Ctrl key modifier for letters/digit (e.g Alt-P is ok, Ctrl+Arrows is ok, but Ctrl-P is not). Ctrl-Letter/Digit shortcuts should only be used for the application shortcuts.
  2. That's it for now!

Member Enumeration Documentation

◆ HighlightMode

describes the current mode of display.

It is useful to change the way the currently selected Components look compared to the unselected ones. In the default mode a Component is not highlighted, not shaded and not hidden.

Enumerator
OFF 

both selected and non-selected Components are in default mode

SELECTION 

the selected Components are in default mode, the non-selected Components are shaded

SELECTION_ONLY 

the selected Components are in default mode, the non-selected are hidden

◆ PickingMode

Different kind of picking must be available: pixel in slice, a point, a cell, ...

So far, only pixel picking is implemented.

Enumerator
PIXEL_PICKING 

pick a pixel on a Slice

POINT_PICKING 

pick a point in the VTK representation of an Geometry

CELL_PICKING 

pick a cell in the VTK representation of an Geometry

AREA_CELL_PICKING 

pick cells that are inside a rectangular area in the VTK representation of an Geometry

AREA_POINT_PICKING 

pick points that are inside a rectangular area in the VTK representation of an Geometry

NO_PICKING 

no picking possible

◆ ViewerType

there is two possibilities: this InteractiveViewer is used to display slices or geometry

Enumerator
SLICE_VIEWER 

display slices (the view is blocked in 2D and the slider is available)

GEOMETRY_VIEWER 

display 3D stuff (geometry, etc...)

Constructor & Destructor Documentation

◆ InteractiveViewer()

camitk::InteractiveViewer::InteractiveViewer ( QString &  name,
camitk::InteractiveViewer::ViewerType  type 
)

Construtor.

Parameters
namethe name of the viewer is mandatory, it is used as an identifier (e.g. in MedicalImageViewer)
typetype of the InteractiveViewer, depending on which it will behave as slice viewer, i.e. with no rotation interactions are possible, or 3D viewer

References init(), myType, and camitk::Viewer::type.

+ Here is the call graph for this function:

◆ ~InteractiveViewer()

camitk::InteractiveViewer::~InteractiveViewer ( )
overridevirtual

Destructor.

References viewerToolbar.

Member Function Documentation

◆ addActor()

void camitk::InteractiveViewer::addActor ( Component comp,
vtkSmartPointer< vtkProp >  a 
)
protected

add the given actor of the given Component to the renderer and insert it in the map

References a, actorMap, and rendererWidget.

Referenced by refresh().

+ Here is the caller graph for this function:

◆ addWhatsThisItem()

void camitk::InteractiveViewer::addWhatsThisItem ( const QString &  key,
const QString &  description 
)
protected

add an item (row) in the the what's this message (to describe a shortcut)

References description, frame, oddWhatsThis, and whatsThis.

Referenced by getWidget().

+ Here is the caller graph for this function:

◆ backgroundColor

void camitk::InteractiveViewer::backgroundColor ( )
protectedslot

References backgroundColorProperty, camitk::Property::getName(), and propertyObject.

Referenced by eventFilter(), and initActions().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ cameraOrientationChanged

void camitk::InteractiveViewer::cameraOrientationChanged ( QAction *  selectedAction)
protectedslot

References cameraOrientationLeftUpAction, cameraOrientationRightDownAction, cameraOrientationRightUpAction, camitk::Application::getName(), camitk::Application::getSettings(), camitk::LEFT_UP, refresh(), rendererWidget, resetCamera(), camitk::RIGHT_DOWN, and camitk::RIGHT_UP.

Referenced by initActions().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ createProperties()

void camitk::InteractiveViewer::createProperties ( )
protected

Create and handle the CamiTK properties of this viewer.

References camitk::PropertyObject::addProperty(), backfaceCullingProperty, backgroundColorProperty, backgroundGradientColorProperty, fxaaAntialiasingProperty, getName(), highlightModeProperty, linesAsTubesProperty, pointSizeProperty, propertyObject, screenshotActionProperty, SELECTION, camitk::Property::setAttribute(), and camitk::Property::setEnumTypeName().

Referenced by init().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ endWhatsThisSection()

void camitk::InteractiveViewer::endWhatsThisSection ( )
protected

end a table (section) in the what's this message

References whatsThis.

Referenced by getWidget().

+ Here is the caller graph for this function:

◆ eventFilter()

bool camitk::InteractiveViewer::eventFilter ( QObject *  object,
QEvent *  event 
)
overrideprotected

Event filter of this class instance to watch its properties instances.

Each time a property has dynamically changed, this method is called.

Note
Only used by Geometry viewers

References camitk::backfaceCulling, backfaceCullingProperty, backgroundColor(), backgroundColorProperty, backgroundGradientColorProperty, camitk::fxaaAntialiasing, fxaaAntialiasingProperty, camitk::Application::getName(), camitk::Property::getName(), camitk::Application::getSettings(), highlightModeProperty, linesAsTubesProperty, camitk::pointSize, pointSizeProperty, propertyObject, refresh(), rendererWidget, and screenshotActionProperty.

Referenced by initSettings().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getBounds()

void camitk::InteractiveViewer::getBounds ( double *  bound)

Compute the bounding box of all displayed Component.

References rendererWidget.

Referenced by getBoundsOfSelected(), and MeshClipping::getWidget().

+ Here is the caller graph for this function:

◆ getBoundsOfSelected()

void camitk::InteractiveViewer::getBoundsOfSelected ( double *  bound)

Compute the bounding box of the selected elements [xmin,xmax, ymin,ymax, zmin,zmax].

References actorMap, camitk::Component::GEOMETRY, and getBounds().

Referenced by keyPressEvent().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getCamera()

vtkSmartPointer< vtkCamera > camitk::InteractiveViewer::getCamera ( QString  cameraName = "default")

get a camera by its name, creates one if it does not exist already.

This method does not activate the given camera, please use setActiveCamera for this.

References cameraMap.

◆ getColorScale()

bool camitk::InteractiveViewer::getColorScale ( ) const

get the current value of the color scale property.

References rendererWidget.

◆ getMenu()

QMenu * camitk::InteractiveViewer::getMenu ( )
overridevirtual

get the explorer menu

Reimplemented from camitk::Viewer.

References backgroundColorAction, cameraOrientationLeftUpAction, cameraOrientationRightDownAction, cameraOrientationRightUpAction, controlModeJoystickAction, controlModeTrackballAction, frame, GEOMETRY_VIEWER, getToolBar(), highlightOffAction, highlightSelectionAction, highlightSelectionOnlyAction, myType, pickCellAction, pickPointAction, renderingMenu, screenshotAction, SLICE_VIEWER, toggleAxesAction, toggleBackfaceCullingAction, toggleFxaaAntialiasingAction, toggleLabelAction, toggleLinesAsTubesAction, toggleLogoAction, toggleOrientationDecorationsAction, toggleScreenshotAction, updateActions(), and viewerMenu.

Referenced by rightClick().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getName()

QString camitk::InteractiveViewer::getName ( ) const

get the scene name

Referenced by createProperties(), keyPressEvent(), and refresh().

+ Here is the caller graph for this function:

◆ getPropertyObject()

PropertyObject * camitk::InteractiveViewer::getPropertyObject ( )
overridevirtual

get the InteractiveViewer propertyObject (only non-null for GEOMETRY_VIEWER)

Reimplemented from camitk::Viewer.

References GEOMETRY_VIEWER, myType, and propertyObject.

◆ getRendererWidget()

RendererWidget* camitk::InteractiveViewer::getRendererWidget ( )
inline

return interactiveViewer RendererWidget

Referenced by BitmapViewer::BitmapViewer(), MeshClipping::getWidget(), InteractiveSliceViewer::InteractiveSliceViewer(), ReorientImage::modelChanged(), and VRMLComponentExtension::save().

+ Here is the caller graph for this function:

◆ getToolBar()

QToolBar * camitk::InteractiveViewer::getToolBar ( )
overridevirtual

get the viewer toolbar

Reimplemented from camitk::Viewer.

Reimplemented in BitmapViewer.

References colorAction, frame, GEOMETRY_VIEWER, glyphAction, myType, pickCellAction, pickCellRegionAction, pickPointAction, pickPointRegionAction, pointsAction, scalarDataColorAction, screenshotAction, surfaceAction, toggleAxesAction, toggleLabelAction, viewerToolbar, and wireframeAction.

Referenced by getMenu().

+ Here is the caller graph for this function:

◆ getWidget()

QWidget * camitk::InteractiveViewer::getWidget ( )
overridevirtual

get the InteractiveViewer widget (QTreeWidget).

Parameters
parentthe parent widget for the viewer widget

Implements camitk::Viewer.

Reimplemented in BitmapViewer.

References addWhatsThisItem(), endWhatsThisSection(), frame, initActions(), initWhatsThis(), myType, rendererWidget, camitk::rightButtonPressed(), rightClick(), screenshotAction, screenshotActionMenu, sideFrame, SLICE_VIEWER, sliceSlider, sliderChanged(), startWhatsThisSection(), and whatsThis.

+ Here is the call graph for this function:

◆ highlightModeChanged

void camitk::InteractiveViewer::highlightModeChanged ( QAction *  selectedAction)
protectedslot

References camitk::Property::getName(), highlightModeProperty, highlightOffAction, highlightSelectionAction, highlightSelectionOnlyAction, OFF, propertyObject, refresh(), SELECTION, and SELECTION_ONLY.

Referenced by initActions().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ init()

void camitk::InteractiveViewer::init ( )
protected

used by both constructors

References cameraMap, connector, createProperties(), displayedTopLevelComponents, frame, initPicking(), initSettings(), isChangingSlice, isPicking, myType, NO_PICKING, picked(), pickingEffectIsSelecting, PIXEL_PICKING, rendererWidget, camitk::RendererWidget(), screenshotActionMenu, SLICE_VIEWER, sliceSlider, viewerMenu, and viewerToolbar.

Referenced by InteractiveViewer().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initActions()

void camitk::InteractiveViewer::initActions ( )
protected

init all the actions (called only once in the getWidget() method)

References camitk::backfaceCulling, backfaceCullingProperty, backgroundColor(), backgroundColorAction, cameraOrientationChanged(), cameraOrientationLeftUpAction, cameraOrientationRightDownAction, cameraOrientationRightUpAction, camitk::MeshComponent::CELLS, colorAction, controlModeJoystickAction, controlModeTrackballAction, camitk::fxaaAntialiasing, fxaaAntialiasingProperty, GEOMETRY_VIEWER, camitk::Application::getAction(), camitk::Property::getName(), camitk::Action::getQAction(), glyphAction, highlightModeChanged(), highlightOffAction, highlightSelectionAction, highlightSelectionOnlyAction, camitk::LEFT_UP, linesAsTubesProperty, myType, pickCellAction, pickCellRegionAction, pickingModeChanged(), pickPointAction, pickPointRegionAction, camitk::MeshComponent::POINTS, pointsAction, propertyObject, rendererWidget, renderingActorsChanged(), renderingMenu, camitk::RIGHT_DOWN, camitk::RIGHT_UP, scalarDataColorAction, scalarDataComboBox, scalarDataModel, camitk::MeshComponent::SCALARS, screenshot(), screenshotAction, screenshotActionProperty, setBackfaceCulling(), setFxaaAntialiasing(), setGlyph(), setLabel(), setLinesAsTubes(), setScreenshotAction(), SLICE_VIEWER, surfaceAction, toggleAxes(), toggleAxesAction, toggleBackfaceCullingAction, toggleFxaaAntialiasingAction, toggleLabelAction, toggleLinesAsTubesAction, toggleLogo(), toggleLogoAction, toggleOrientationDecorations(), toggleOrientationDecorationsAction, toggleScreenshotAction, viewControlModeChanged(), viewerToolbar, and wireframeAction.

Referenced by getWidget().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initPicking()

void camitk::InteractiveViewer::initPicking ( PickingMode  pickingMode)

Init the picker with a given picking mode.

References AREA_CELL_PICKING, AREA_POINT_PICKING, CELL_PICKING, NO_PICKING, pickingEffectUpdated, pickingMode, PIXEL_PICKING, POINT_PICKING, and rendererWidget.

Referenced by init(), and pickingModeChanged().

+ Here is the caller graph for this function:

◆ initSettings()

void camitk::InteractiveViewer::initSettings ( )
protected

initialize the property object and state using the user settings (user preferences system files .config/.ini)

References camitk::backfaceCulling, backfaceCullingProperty, backgroundColorProperty, backgroundGradientColorProperty, camitk::cameraOrientation, camitk::controlMode, eventFilter(), camitk::fxaaAntialiasing, fxaaAntialiasingProperty, GEOMETRY_VIEWER, camitk::Application::getName(), camitk::Property::getName(), camitk::Application::getSettings(), highlightModeProperty, linesAsTubesProperty, myType, camitk::pointSize, pointSizeProperty, propertyObject, rendererWidget, screenshotActionProperty, and SELECTION.

Referenced by init().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initWhatsThis()

void camitk::InteractiveViewer::initWhatsThis ( )
protected

initialize the what's this html string

References frame, and whatsThis.

Referenced by getWidget().

+ Here is the caller graph for this function:

◆ keyPressEvent()

void camitk::InteractiveViewer::keyPressEvent ( QKeyEvent *  e)

Handle keyboard events in the scene, let to the parent widget if not processed here. This method is a friend of class InteractiveViewerFrame.

NOTE:

PLEASE, PLEASE, PLEASE, PLEASE, PLEASE, PLEASE

DO NOT FORGET TO ADD A NEW LINE IN THE "WHAT'S THIS" MESSAGE (see constructor)

The call to methods startWhatsThisSection and addWhatsThisItem is a good comment line to add here (see below!). Please use the same order here than in the what's this help (by category, then by function, then by key name)

(PLEASE)

startWhatsThisSection("Keyboard bindings (upper or lower case)");

startWhatsThisSection();

startWhatsThisSection("Other Shortcuts");

NOTE:

PLEASE, PLEASE, PLEASE, PLEASE, PLEASE, PLEASE?

DO NOT FORGET TO ADD A NEW LINE IN THE "WHAT'S THIS" MESSAGE (see constructor)

The call to methods startWhatsThisSection and addWhatsThisItem is a good comment line to add here (see below!). Please use the same order here than in the what's this help (by category, then by function, then by key name)

(PLEASE)

References actorMap, camitk::SliderSpinBoxWidget::addPageStep(), camitk::SliderSpinBoxWidget::addSingleStep(), CAMITK_INFO, camitk::Viewer::clearSelection(), camitk::Component::GEOMETRY, GEOMETRY_VIEWER, getBoundsOfSelected(), getName(), camitk::Component::getRenderingModes(), camitk::Component::getRepresentation(), camitk::Application::getSelectedComponents(), camitk::Component::getVisibility(), myType, camitk::InterfaceGeometry::Points, refresh(), rendererWidget, resetCamera(), resetLUT(), screenshot(), setColorScale(), camitk::Component::setRenderingModes, SLICE_VIEWER, sliceSlider, camitk::SliderSpinBoxWidget::subPageStep(), camitk::SliderSpinBoxWidget::subSingleStep(), camitk::InterfaceGeometry::Surface, toggleAxesAction, toggleFxaaAntialiasingAction, toggleInterpolation(), toggleLabelAction, whatsThis, and camitk::InterfaceGeometry::Wireframe.

Referenced by camitk::InteractiveViewerFrame::keyPressEvent().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ picked

void camitk::InteractiveViewer::picked ( )
protectedslot

get the picker and populate the picked component with the picked stuff

References actorMap, camitk::MeshComponent::addToSelectedSelection(), AREA_CELL_PICKING, AREA_POINT_PICKING, CELL_PICKING, camitk::Component::cellPicked(), camitk::Component::getName(), isPicking, camitk::Component::isSelected(), NO_PICKING, pickingEffectIsSelecting, pickingEffectUpdated, pickingMode, PIXEL_PICKING, camitk::Component::pixelPicked, POINT_PICKING, camitk::Component::pointPicked(), refresh(), rendererWidget, camitk::Viewer::selectionChanged(), and camitk::Application::showStatusBarMessage().

Referenced by init().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ pickingModeChanged

void camitk::InteractiveViewer::pickingModeChanged ( QAction *  selectedAction)
protectedslot

References AREA_CELL_PICKING, AREA_POINT_PICKING, CELL_PICKING, initPicking(), pickCellAction, pickCellRegionAction, pickPointAction, pickPointRegionAction, and POINT_PICKING.

Referenced by initActions().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ refresh()

void camitk::InteractiveViewer::refresh ( Viewer whoIsAsking = nullptr)
overridevirtual

Refresh the display.

Implements camitk::Viewer.

Reimplemented in BitmapViewer.

References actorMap, addActor(), displayedTopLevelComponents, frame, camitk::Component::GEOMETRY, GEOMETRY_VIEWER, camitk::Component::get2DImageActor, camitk::InterfaceBitMap::get3DImageActor(), camitk::Component::getActor, camitk::Application::getAllComponents(), camitk::InterfaceFrame::getFrameAxisActor(), camitk::InterfaceFrame::getFrameVisibility(), camitk::Property::getName(), getName(), camitk::Component::getNumberOfProp(), camitk::InterfaceBitMap::getNumberOfSlices(), camitk::Component::getPickPlaneActor, camitk::InterfaceBitMap::getPixelActor(), camitk::Component::getProp(), camitk::Component::getRepresentation(), camitk::Application::getSelectedComponents(), camitk::Component::getSlice(), camitk::Application::getTopLevelComponents(), camitk::Component::getVisibility(), camitk::Application::isAlive(), isChangingSlice, isPicking, linesAsTubesProperty, myType, camitk::InterfaceGeometry::Points, propertyObject, removeAllActors(), rendererWidget, resetCamera(), camitk::Component::setLinesAsTubes(), camitk::SliderSpinBoxWidget::setRange(), camitk::SliderSpinBoxWidget::setValue(), camitk::Component::SLICE, SLICE_VIEWER, sliceSlider, camitk::InterfaceGeometry::Surface, updateActions(), updateSelectionDisplay(), and camitk::InterfaceGeometry::Wireframe.

Referenced by cameraOrientationChanged(), eventFilter(), ShowFrame::getWidget(), highlightModeChanged(), keyPressEvent(), ReorientImage::modelChanged(), picked(), renderingActorsChanged(), screenshot(), setGlyph(), setHighlightMode(), setLabel(), and camitk::InteractiveViewerFrame::showEvent().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ refreshRenderer()

void camitk::InteractiveViewer::refreshRenderer ( )

just refresh the renderer

References rendererWidget.

◆ removeAllActors()

void camitk::InteractiveViewer::removeAllActors ( Component comp)
protected

remove all the given Component actors from the renderer and delete comp from the map

References a, actorMap, and rendererWidget.

Referenced by refresh().

+ Here is the caller graph for this function:

◆ renderingActorsChanged

void camitk::InteractiveViewer::renderingActorsChanged ( )
protectedslot

References camitk::Application::getSelectedComponents(), camitk::InterfaceGeometry::None, camitk::InterfaceGeometry::Points, pointsAction, refresh(), camitk::Component::setRenderingModes, camitk::InterfaceGeometry::Surface, surfaceAction, camitk::InterfaceGeometry::Wireframe, and wireframeAction.

Referenced by initActions().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ resetCamera()

void camitk::InteractiveViewer::resetCamera ( )

Reset scene camera.

Use a trick (when this is a SLICE_VIEWER) for scaling up to max size in the viewer

References actorMap, myType, rendererWidget, and SLICE_VIEWER.

Referenced by cameraOrientationChanged(), keyPressEvent(), refresh(), and toggleAxes().

+ Here is the caller graph for this function:

◆ resetLUT()

void camitk::InteractiveViewer::resetLUT ( )
protected

for InterfaceBitMap, reset the lut that was changed by the image interactor (window and level)

References actorMap, and camitk::Component::SLICE.

Referenced by keyPressEvent().

+ Here is the caller graph for this function:

◆ rightClick

void camitk::InteractiveViewer::rightClick ( )
protectedslot

References getMenu(), and rendererWidget.

Referenced by getWidget().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ screenshot [1/2]

void camitk::InteractiveViewer::screenshot ( )
slot

call this method to take a screenshot in various format and write the resulting image to a file

References camitk::ScreenshotFormatInfo::fileFilters().

Referenced by initActions(), and keyPressEvent().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ screenshot() [2/2]

void camitk::InteractiveViewer::screenshot ( QString  filename)

call this method to take a screenshot using the given filename (the extension must be a supported format extension, see class RendererWindow)

References refresh(), and rendererWidget.

+ Here is the call graph for this function:

◆ setActiveCamera()

void camitk::InteractiveViewer::setActiveCamera ( QString  cameraName)

Set the active virtual camera.

References cameraMap, and rendererWidget.

◆ setBackfaceCulling

void camitk::InteractiveViewer::setBackfaceCulling ( bool  b)
slot

set the backface culling mode (default is true).

References backfaceCullingProperty, camitk::Property::getName(), and propertyObject.

Referenced by initActions().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setBackgroundColor()

void camitk::InteractiveViewer::setBackgroundColor ( QColor  c)
virtual

set background color

References backgroundColorProperty, camitk::Property::getName(), and propertyObject.

+ Here is the call graph for this function:

◆ setColorScale()

void camitk::InteractiveViewer::setColorScale ( bool  state)

References rendererWidget.

Referenced by keyPressEvent(), and camitk::MeshComponent::setDataRepresentationOff().

+ Here is the caller graph for this function:

◆ setColorScaleMinMax()

void camitk::InteractiveViewer::setColorScaleMinMax ( double  m,
double  M 
)

set the min and max values.

Automatically turns setColorScale to true.

Parameters
mminimum value (blue)
Mmaximum value (red)

References rendererWidget.

◆ setColorScaleTitle()

void camitk::InteractiveViewer::setColorScaleTitle ( QString  t)

set the color scale title.

Parameters
ttitle of the color scale

References rendererWidget.

Referenced by camitk::MeshComponent::setDataRepresentationOff().

+ Here is the caller graph for this function:

◆ setFxaaAntialiasing

void camitk::InteractiveViewer::setFxaaAntialiasing ( bool  b)
slot

set the FXAA antialiasing mode (default is false).

References fxaaAntialiasingProperty, camitk::Property::getName(), and propertyObject.

Referenced by initActions().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setGlyph

void camitk::InteractiveViewer::setGlyph ( bool  b)
protectedslot

References camitk::Component::GEOMETRY, camitk::Component::getProp(), camitk::Component::getRepresentation(), camitk::Application::getSelectedComponents(), camitk::Component::getVisibility(), and refresh().

Referenced by initActions().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setGradientBackground()

void camitk::InteractiveViewer::setGradientBackground ( bool  g)
virtual

set gradient background on/off

References backgroundGradientColorProperty, camitk::Property::getName(), and propertyObject.

+ Here is the call graph for this function:

◆ setHighlightMode()

void camitk::InteractiveViewer::setHighlightMode ( )
virtual

Set the current highlighting mode from the current value of the property.

References camitk::Application::getName(), camitk::Property::getName(), camitk::Application::getSettings(), highlightModeProperty, propertyObject, and refresh().

+ Here is the call graph for this function:

◆ setLabel

void camitk::InteractiveViewer::setLabel ( bool  b)
protectedslot

if true currently selected Components label will have their label on (shown)

References camitk::Component::GEOMETRY, camitk::Component::getProp(), camitk::Component::getRepresentation(), camitk::Application::getSelectedComponents(), camitk::Component::getVisibility(), and refresh().

Referenced by initActions().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setLinesAsTubes

void camitk::InteractiveViewer::setLinesAsTubes ( bool  tubes)
slot

Update the visualization of lines (for all the InterfaceGeometry of the scene).

Note
it is only possible to transform lines to tubes if you build an Geometry using lines.
Parameters
tubesif true, then the lines have to be displayed as tube

References camitk::Property::getName(), linesAsTubesProperty, and propertyObject.

Referenced by initActions().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setScreenshotAction

void camitk::InteractiveViewer::setScreenshotAction ( bool  b)
slot

visibility of the screenshot in slice viewers

References camitk::Property::getName(), propertyObject, screenshotActionMenu, and screenshotActionProperty.

Referenced by initActions().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setSideFrameVisible()

void camitk::InteractiveViewer::setSideFrameVisible ( bool  visibility)

set the slice viewer side bar+screenshot button visibility

References sideFrame.

◆ sliderChanged

void camitk::InteractiveViewer::sliderChanged ( int  i)
slot

Slot called when the InteractiveViewer slider has been changed.

If there is a InterfaceBitMap in the scene, set the slice index with the new slider value.

References actorMap, isChangingSlice, myType, camitk::Viewer::selectionChanged(), and SLICE_VIEWER.

Referenced by getWidget().

+ Here is the caller graph for this function:

◆ startWhatsThisSection()

void camitk::InteractiveViewer::startWhatsThisSection ( const QString &  title = "")
protected

start a table (section) in the what's this message

References frame, oddWhatsThis, and whatsThis.

Referenced by getWidget().

+ Here is the caller graph for this function:

◆ toggleAxes

void camitk::InteractiveViewer::toggleAxes ( bool  f)
protectedslot

References rendererWidget, and resetCamera().

Referenced by initActions().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ toggleInterpolation()

void camitk::InteractiveViewer::toggleInterpolation ( )
protected

for InterfaceBitMap, toggle the interpolation mode (intern method, not a property because it can only be modified by the keyboard interaction)

References actorMap, and camitk::Component::SLICE.

Referenced by keyPressEvent().

+ Here is the caller graph for this function:

◆ toggleLogo

void camitk::InteractiveViewer::toggleLogo ( bool  c)
slot

show/hide the logo at the bottom right corner

References rendererWidget.

Referenced by initActions().

+ Here is the caller graph for this function:

◆ toggleOrientationDecorations

void camitk::InteractiveViewer::toggleOrientationDecorations ( bool  f)
protectedslot

References myType, rendererWidget, and SLICE_VIEWER.

Referenced by initActions(), and InteractiveSliceViewer::InteractiveSliceViewer().

+ Here is the caller graph for this function:

◆ updateActions()

void camitk::InteractiveViewer::updateActions ( )
protected

update the viewer menu depending on the selection,...

References colorAction, camitk::Component::GEOMETRY, GEOMETRY_VIEWER, camitk::Component::getProp(), camitk::Component::getRenderingModes(), camitk::Component::getRepresentation(), camitk::Application::getSelectedComponents(), camitk::Component::getVisibility(), glyphAction, myType, camitk::InterfaceGeometry::Points, pointsAction, renderingMenu, scalarDataColorAction, scalarDataModel, camitk::InterfaceGeometry::Surface, surfaceAction, toggleLabelAction, viewerMenu, camitk::InterfaceGeometry::Wireframe, and wireframeAction.

Referenced by getMenu(), and refresh().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateSelectionDisplay()

void camitk::InteractiveViewer::updateSelectionDisplay ( Component comp)
protected

Update the display of the given Component, according to its selection state and the current HighlightMode.

References camitk::Property::getName(), camitk::InterfaceGeometry::Hidden, highlightModeProperty, camitk::Component::isSelected(), camitk::InterfaceGeometry::Normal, propertyObject, SELECTION, SELECTION_ONLY, camitk::InterfaceGeometry::setEnhancedModes(), and camitk::InterfaceGeometry::Shaded.

Referenced by refresh().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ viewControlModeChanged

void camitk::InteractiveViewer::viewControlModeChanged ( QAction *  selectedAction)
protectedslot

References controlModeTrackballAction, and rendererWidget.

Referenced by initActions().

+ Here is the caller graph for this function:

◆ xAngleChanged

void camitk::InteractiveViewer::xAngleChanged ( double  angle)
slot

Slot called when the InteractiveViewer x angle update has been changed.

References actorMap, myType, and SLICE_VIEWER.

◆ yAngleChanged

void camitk::InteractiveViewer::yAngleChanged ( double  angle)
slot

Slot called when the InteractiveViewer y angle update has been changed.

References actorMap, myType, and SLICE_VIEWER.

◆ zAngleChanged

void camitk::InteractiveViewer::zAngleChanged ( double  angle)
slot

Slot called when the InteractiveViewer z angle update has been changed.

References actorMap, myType, and SLICE_VIEWER.

Friends And Related Function Documentation

◆ InteractiveViewerFrame::keyPressEvent

void InteractiveViewerFrame::keyPressEvent ( QKeyEvent *  e)
friend

the InteractiveViewerFrame keyPressEvent is a good friend of InteractiveViewer

Member Data Documentation

◆ actorMap

QMultiMap<Component*, vtkSmartPointer<vtkProp> > camitk::InteractiveViewer::actorMap
protected

◆ backfaceCullingProperty

Property* camitk::InteractiveViewer::backfaceCullingProperty
protected

Property that tells whether the viewer uses the backface culling option or not.

Referenced by createProperties(), eventFilter(), initActions(), initSettings(), and setBackfaceCulling().

◆ backgroundColorAction

QAction* camitk::InteractiveViewer::backgroundColorAction
protected

background color

Referenced by getMenu(), and initActions().

◆ backgroundColorProperty

Property* camitk::InteractiveViewer::backgroundColorProperty
protected

The property that stands for the background color of the viewer.

Referenced by backgroundColor(), createProperties(), eventFilter(), initSettings(), and setBackgroundColor().

◆ backgroundGradientColorProperty

Property* camitk::InteractiveViewer::backgroundGradientColorProperty
protected

Property that tells whether the viewer use a gradient background color or not.

Referenced by createProperties(), eventFilter(), initSettings(), and setGradientBackground().

◆ cameraMap

QMap<QString, vtkSmartPointerCamera> camitk::InteractiveViewer::cameraMap
protected

all the available camera

Referenced by getCamera(), init(), and setActiveCamera().

◆ cameraOrientationLeftUpAction

QAction* camitk::InteractiveViewer::cameraOrientationLeftUpAction
protected

◆ cameraOrientationRightDownAction

QAction* camitk::InteractiveViewer::cameraOrientationRightDownAction
protected

to change the axes view mode

Referenced by cameraOrientationChanged(), getMenu(), and initActions().

◆ cameraOrientationRightUpAction

QAction* camitk::InteractiveViewer::cameraOrientationRightUpAction
protected

◆ colorAction

QAction* camitk::InteractiveViewer::colorAction
protected

◆ connector

vtkSmartPointer<vtkEventQtSlotConnect> camitk::InteractiveViewer::connector
protected

Referenced by init().

◆ controlModeJoystickAction

QAction* camitk::InteractiveViewer::controlModeJoystickAction
protected

Referenced by getMenu(), and initActions().

◆ controlModeTrackballAction

QAction* camitk::InteractiveViewer::controlModeTrackballAction
protected

to change the camera control mode

Referenced by getMenu(), initActions(), and viewControlModeChanged().

◆ displayedTopLevelComponents

unsigned int camitk::InteractiveViewer::displayedTopLevelComponents
protected

number of top-level component that are currently displayed

Referenced by init(), and refresh().

◆ frame

◆ fxaaAntialiasingProperty

Property* camitk::InteractiveViewer::fxaaAntialiasingProperty
protected

Property that tells whether the viewer uses the backface culling option or not.

Referenced by createProperties(), eventFilter(), initActions(), initSettings(), and setFxaaAntialiasing().

◆ glyphAction

QAction* camitk::InteractiveViewer::glyphAction
protected

◆ highlightModeProperty

Property* camitk::InteractiveViewer::highlightModeProperty
protected

The property that stands for the type of highlight mode of the 3D viewer.

Referenced by createProperties(), eventFilter(), highlightModeChanged(), initSettings(), setHighlightMode(), and updateSelectionDisplay().

◆ highlightOffAction

QAction* camitk::InteractiveViewer::highlightOffAction
protected

◆ highlightSelectionAction

QAction* camitk::InteractiveViewer::highlightSelectionAction
protected

display mode

Referenced by getMenu(), highlightModeChanged(), and initActions().

◆ highlightSelectionOnlyAction

QAction* camitk::InteractiveViewer::highlightSelectionOnlyAction
protected

◆ isChangingSlice

bool camitk::InteractiveViewer::isChangingSlice
protected

Indicates that this viewer is changing the slice by the slice slider.

Referenced by init(), refresh(), and sliderChanged().

◆ isPicking

bool camitk::InteractiveViewer::isPicking
protected

Indicates that this viewer is picking.

Referenced by init(), picked(), and refresh().

◆ linesAsTubesProperty

Property* camitk::InteractiveViewer::linesAsTubesProperty
protected

Property that tells whether the viewer uses lines as tubes or not.

Referenced by createProperties(), eventFilter(), initActions(), initSettings(), refresh(), and setLinesAsTubes().

◆ myType

◆ oddWhatsThis

bool camitk::InteractiveViewer::oddWhatsThis
protected

are we currently in a odd table line

Referenced by addWhatsThisItem(), and startWhatsThisSection().

◆ pickCellAction

QAction* camitk::InteractiveViewer::pickCellAction
protected

◆ pickCellRegionAction

QAction* camitk::InteractiveViewer::pickCellRegionAction
protected

◆ pickedComponent

std::vector<Component*> camitk::InteractiveViewer::pickedComponent
protected

list of Component that are currently picked, correctly displayed in the InteractiveViewer, but for speed optimization that are not yet selected in the explorer.

They will all be selected in the explorer when the user release the mouse button.

◆ pickingEffectIsSelecting

bool camitk::InteractiveViewer::pickingEffectIsSelecting
protected

picking effect while mouse button is kept pressed is selecting (depends on the selection state of the first component picked)

Referenced by init(), and picked().

◆ pickingEffectUpdated

bool camitk::InteractiveViewer::pickingEffectUpdated
protected

was the picking effect updated (it has to be updated with the first picking for a given button down session)

Referenced by initPicking(), and picked().

◆ pickingMode

PickingMode camitk::InteractiveViewer::pickingMode
protected

Current picking mode, NO_PICKING be default.

Referenced by initPicking(), and picked().

◆ pickPointAction

QAction* camitk::InteractiveViewer::pickPointAction
protected

action of the picking menu

Referenced by getMenu(), getToolBar(), initActions(), and pickingModeChanged().

◆ pickPointRegionAction

QAction* camitk::InteractiveViewer::pickPointRegionAction
protected

◆ pointsAction

QAction* camitk::InteractiveViewer::pointsAction
protected

◆ pointSizeProperty

Property* camitk::InteractiveViewer::pointSizeProperty
protected

Property which defines the point size of each point in the 3D viewer.

Referenced by createProperties(), eventFilter(), and initSettings().

◆ propertyObject

◆ rendererWidget

◆ renderingMenu

QMenu* camitk::InteractiveViewer::renderingMenu
protected

Rendering.

Referenced by getMenu(), initActions(), and updateActions().

◆ scalarDataColorAction

QWidgetAction* camitk::InteractiveViewer::scalarDataColorAction
protected

◆ scalarDataComboBox

QComboBox* camitk::InteractiveViewer::scalarDataComboBox
protected

the ComboBox for mesh scalar data

Referenced by initActions().

◆ scalarDataModel

MeshDataFilterModel* camitk::InteractiveViewer::scalarDataModel
protected

Referenced by initActions(), and updateActions().

◆ screenshotAction

QAction* camitk::InteractiveViewer::screenshotAction
protected

◆ screenshotActionMenu

QToolBar* camitk::InteractiveViewer::screenshotActionMenu
protected

the screenshot action is inside this menu (in the slice viewer side bar)

Referenced by getWidget(), init(), and setScreenshotAction().

◆ screenshotActionProperty

Property* camitk::InteractiveViewer::screenshotActionProperty
protected

Property that tells whether the screenshot action is visible or not.

Referenced by createProperties(), eventFilter(), initActions(), initSettings(), and setScreenshotAction().

◆ sideFrame

QFrame* camitk::InteractiveViewer::sideFrame
protected

the right side frame (this is where the slider and screenshot buttons are shown)

Referenced by getWidget(), BitmapViewer::getWidget(), and setSideFrameVisible().

◆ sliceSlider

SliderSpinBoxWidget* camitk::InteractiveViewer::sliceSlider
protected

Slider used to control the slice index in a InteractiveViewer.

This slider is visible only when the scene a 2D viewer (see constructor).

Referenced by getWidget(), init(), keyPressEvent(), and refresh().

◆ surfaceAction

QAction* camitk::InteractiveViewer::surfaceAction
protected

◆ toggleAxesAction

QAction* camitk::InteractiveViewer::toggleAxesAction
protected

button allows one to display the Axes in the InteractiveViewer

Referenced by getMenu(), getToolBar(), initActions(), and keyPressEvent().

◆ toggleBackfaceCullingAction

QAction* camitk::InteractiveViewer::toggleBackfaceCullingAction
protected

back face culling

Referenced by getMenu(), and initActions().

◆ toggleFxaaAntialiasingAction

QAction* camitk::InteractiveViewer::toggleFxaaAntialiasingAction
protected

FXAA antialiasing.

Referenced by getMenu(), initActions(), and keyPressEvent().

◆ toggleLabelAction

QAction* camitk::InteractiveViewer::toggleLabelAction
protected

button allows one to display the labels of the object3D

Referenced by getMenu(), getToolBar(), initActions(), keyPressEvent(), and updateActions().

◆ toggleLinesAsTubesAction

QAction* camitk::InteractiveViewer::toggleLinesAsTubesAction
protected

button allows one to display the lines as tubes (the lines are to be in vtkPolyData)

Referenced by getMenu(), and initActions().

◆ toggleLogoAction

QAction* camitk::InteractiveViewer::toggleLogoAction
protected

button to remove the copyright

Referenced by getMenu(), and initActions().

◆ toggleOrientationDecorationsAction

QAction* camitk::InteractiveViewer::toggleOrientationDecorationsAction
protected

button allows one to display orientation decoration in SLICE_VIEWER mode

Referenced by getMenu(), and initActions().

◆ toggleScreenshotAction

QAction* camitk::InteractiveViewer::toggleScreenshotAction
protected

visibility of the screenshot action in the side toolbar of slice viewer

Referenced by getMenu(), and initActions().

◆ viewerMenu

QMenu* camitk::InteractiveViewer::viewerMenu
protected

the QMenu for the InteractiveViewer

Referenced by getMenu(), init(), and updateActions().

◆ viewerToolbar

QToolBar* camitk::InteractiveViewer::viewerToolbar
protected

the QToolBar for the InteractiveViewer

Referenced by getToolBar(), init(), initActions(), and ~InteractiveViewer().

◆ whatsThis

QString camitk::InteractiveViewer::whatsThis
protected

◆ wireframeAction

QAction* camitk::InteractiveViewer::wireframeAction
protected

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