open_iA 2021.08
A tool for the visual analysis and processing of volumetric datasets, with a focus on industrial computed tomography.
Public Slots | Signals | Public Member Functions | List of all members
iARendererImpl Class Reference

Displays several helper widgets for a 3D vtk rendering window. More...

#include <iARendererImpl.h>

Inheritance diagram for iARendererImpl:
[legend]
Collaboration diagram for iARendererImpl:
[legend]

Public Slots

void mouseLeftButtonReleasedSlot ()
 
void mouseRightButtonReleasedSlot ()
 
void setProfileHandlesOn (bool isOn)
 
void setProfilePoint (int pointIndex, double *coords)
 

Signals

void cellsSelected (vtkPoints *selCellPoints)
 
void noCellsSelected ()
 
void onSetCamera ()
 
void onSetupRenderer ()
 
void reInitialized ()
 
- Signals inherited from iARenderer
void cellsSelected (vtkPoints *selCellPoints)
 
void noCellsSelected ()
 
void onSetCamera ()
 
void onSetupRenderer ()
 
void reInitialized ()
 

Public Member Functions

 iARendererImpl (QObject *parent=nullptr)
 Creates a renderer widget. In order to show something, you need to call initialize too! More...
 
virtual ~iARendererImpl ()
 
void addRenderer (vtkRenderer *renderer) override
 Adds a custom renderer to the render window. More...
 
void applySettings (iARenderSettings const &settings, bool slicePlaneVisibility[3]) override
 apply the given settings to the renderer More...
 
vtkCamera * camera () override
 Get/Set the VTK camera object (shared by main and label renderer) More...
 
void camPosition (double *camOptions)
 Returns viewup, position and focal point information of a renderer in a double array. More...
 
vtkTransform * coordinateSystemTransform () override
 
void disableInteractor ()
 
void emitNoSelectedCells ()
 
void emitSelectedCells (vtkUnstructuredGrid *selectedCells)
 
void enableInteractor ()
 
iARenderObservergetRenderObserver () override
 Access to the renderer observer. More...
 
void initialize (vtkImageData *ds, vtkPolyData *pd)
 
vtkRenderWindowInteractor * interactor () override
 Access to the render window interactor. More...
 
vtkOpenGLRenderer * labelRenderer () override
 Access to "label" VTK renderer, used for text (which should be shown in front of volumes). More...
 
vtkPlane * plane1 () override
 Access to the slice planes. More...
 
vtkPlane * plane2 () override
 
vtkPlane * plane3 () override
 
void reInitialize (vtkImageData *ds, vtkPolyData *pd)
 
vtkOpenGLRenderer * renderer () override
 Access to "main" VTK renderer, used for volumes etc. More...
 
vtkRenderWindow * renderWindow () override
 Access to the render window. More...
 
void saveMovie (const QString &fileName, int mode, int qual=2)
 move out of here More...
 
void setAreaPicker () override
 
void setAxesTransform (vtkTransform *transform) override
 Access to the transform of the coordinate system axis actor. More...
 
void setBackgroundColors (iARenderSettings const &settings)
 
void setCamera (vtkCamera *c) override
 
void setCamPosition (double *camOptions, bool rsParallelProjection)
 Sets viewup, position and focal point of a renderer from the information in a double array. More...
 
void setCamPosition (int pos)
 Sets one of the pre-defined camera positions. More...
 
void setCubeCenter (int x, int y, int z)
 
void setCubeVisible (bool visible)
 
void setDefaultInteractor () override
 
void setPlaneNormals (vtkTransform *tr)
 
void setPointPicker ()
 
void setPolyData (vtkPolyData *pd) override
 
void setSlicePlaneOpacity (float opc)
 sets opacity of the slicing planes More...
 
void setSlicePlanePos (int planeID, double originX, double originY, double originZ)
 
void setSlicingBounds (const int roi[6], const double *spacing)
 
void setStatExt (int s)
 set size of statistical extent More...
 
void showHelpers (bool show)
 
void showRPosition (bool show)
 
void showSlicePlane (int axis, bool show)
 show or hide the slice plane for the given axis More...
 
void touchScaleSlot (float relScale)
 
void touchStart ()
 
vtkTextActor * txtActor ()
 
void update () override
 Update the view (to be called if something has changed in the underlying data which requires VTK to redraw the scene). More...
 
void updateSlicePlanes (double const *newSpacing)
 Updates the position and size of the three slice planes according to the given spacing (and the dimensions of the internally stored image data) More...
 
vtkPolyData * polyData () override
 
vtkActor * polyActor () override
 
vtkPolyDataMapper * polyMapper () const override
 
vtkActor * selectedActor () override
 check for better way to get access to these in PickCallbackFunction More...
 
vtkUnstructuredGrid * finalSelection ()
 
vtkDataSetMapper * selectedMapper ()
 
- Public Member Functions inherited from iARenderer
 iARenderer (QObject *parent)
 
virtual ~iARenderer ()
 

Detailed Description

Displays several helper widgets for a 3D vtk rendering window.

Constructor & Destructor Documentation

◆ iARendererImpl()

iARendererImpl::iARendererImpl ( QObject *  parent = nullptr)

Creates a renderer widget. In order to show something, you need to call initialize too!

◆ ~iARendererImpl()

iARendererImpl::~iARendererImpl ( void  )
virtual

Member Function Documentation

◆ addRenderer()

void iARendererImpl::addRenderer ( vtkRenderer *  renderer)
overridevirtual

Adds a custom renderer to the render window.

Implements iARenderer.

◆ applySettings()

void iARendererImpl::applySettings ( iARenderSettings const &  settings,
bool  slicePlaneVisibility[3] 
)
overridevirtual

apply the given settings to the renderer

Parameters
settingsdata holder for all settings.
slicePlaneVisibilityinitial visibility of the single slice planes (can be modified independently via showSlicePlanes as well).

Implements iARenderer.

◆ camera()

vtkCamera * iARendererImpl::camera ( )
overridevirtual

Get/Set the VTK camera object (shared by main and label renderer)

Implements iARenderer.

◆ camPosition()

void iARendererImpl::camPosition ( double *  camOptions)

Returns viewup, position and focal point information of a renderer in a double array.

Parameters
camOptionsdouble array where all informations about the camera will be stored

◆ cellsSelected

void iARendererImpl::cellsSelected ( vtkPoints *  selCellPoints)
signal

◆ coordinateSystemTransform()

vtkTransform * iARendererImpl::coordinateSystemTransform ( )
overridevirtual

Implements iARenderer.

◆ disableInteractor()

void iARendererImpl::disableInteractor ( )

◆ emitNoSelectedCells()

void iARendererImpl::emitNoSelectedCells ( )

◆ emitSelectedCells()

void iARendererImpl::emitSelectedCells ( vtkUnstructuredGrid *  selectedCells)

◆ enableInteractor()

void iARendererImpl::enableInteractor ( )

◆ finalSelection()

vtkUnstructuredGrid * iARendererImpl::finalSelection ( )

◆ getRenderObserver()

iARenderObserver * iARendererImpl::getRenderObserver ( )
overridevirtual

Access to the renderer observer.

Implements iARenderer.

◆ initialize()

void iARendererImpl::initialize ( vtkImageData *  ds,
vtkPolyData *  pd 
)

◆ interactor()

vtkRenderWindowInteractor * iARendererImpl::interactor ( )
overridevirtual

Access to the render window interactor.

Implements iARenderer.

◆ labelRenderer()

vtkOpenGLRenderer * iARendererImpl::labelRenderer ( )
overridevirtual

Access to "label" VTK renderer, used for text (which should be shown in front of volumes).

Implements iARenderer.

◆ mouseLeftButtonReleasedSlot

void iARendererImpl::mouseLeftButtonReleasedSlot ( )
slot

◆ mouseRightButtonReleasedSlot

void iARendererImpl::mouseRightButtonReleasedSlot ( )
slot

◆ noCellsSelected

void iARendererImpl::noCellsSelected ( )
signal

◆ onSetCamera

void iARendererImpl::onSetCamera ( )
signal

◆ onSetupRenderer

void iARendererImpl::onSetupRenderer ( )
signal

◆ plane1()

vtkPlane * iARendererImpl::plane1 ( )
overridevirtual

Access to the slice planes.

Implements iARenderer.

◆ plane2()

vtkPlane * iARendererImpl::plane2 ( )
overridevirtual

Implements iARenderer.

◆ plane3()

vtkPlane * iARendererImpl::plane3 ( )
overridevirtual

Implements iARenderer.

◆ polyActor()

vtkActor * iARendererImpl::polyActor ( )
overridevirtual

Implements iARenderer.

◆ polyData()

vtkPolyData * iARendererImpl::polyData ( )
overridevirtual

access to polydata rendering TODO: remove from here! -> separate class similar to iAVolumeRenderer?

Implements iARenderer.

◆ polyMapper()

vtkPolyDataMapper * iARendererImpl::polyMapper ( ) const
overridevirtual

Implements iARenderer.

◆ reInitialize()

void iARendererImpl::reInitialize ( vtkImageData *  ds,
vtkPolyData *  pd 
)

◆ reInitialized

void iARendererImpl::reInitialized ( )
signal

◆ renderer()

vtkOpenGLRenderer * iARendererImpl::renderer ( )
overridevirtual

Access to "main" VTK renderer, used for volumes etc.

Implements iARenderer.

◆ renderWindow()

vtkRenderWindow * iARendererImpl::renderWindow ( )
overridevirtual

Access to the render window.

Implements iARenderer.

◆ saveMovie()

void iARendererImpl::saveMovie ( const QString &  fileName,
int  mode,
int  qual = 2 
)

move out of here

◆ selectedActor()

vtkActor * iARendererImpl::selectedActor ( )
overridevirtual

check for better way to get access to these in PickCallbackFunction

Implements iARenderer.

◆ selectedMapper()

vtkDataSetMapper * iARendererImpl::selectedMapper ( )

◆ setAreaPicker()

void iARendererImpl::setAreaPicker ( )
overridevirtual

Implements iARenderer.

◆ setAxesTransform()

void iARendererImpl::setAxesTransform ( vtkTransform *  transform)
overridevirtual

Access to the transform of the coordinate system axis actor.

Implements iARenderer.

◆ setBackgroundColors()

void iARendererImpl::setBackgroundColors ( iARenderSettings const &  settings)

◆ setCamera()

void iARendererImpl::setCamera ( vtkCamera *  c)
overridevirtual

Implements iARenderer.

◆ setCamPosition() [1/2]

void iARendererImpl::setCamPosition ( double *  camOptions,
bool  rsParallelProjection 
)

Sets viewup, position and focal point of a renderer from the information in a double array.

Parameters
camOptionsAll informations of the camera stored in a double array
rsParallelProjectionboolean variable to determine if parallel projection option is on.

◆ setCamPosition() [2/2]

void iARendererImpl::setCamPosition ( int  pos)

Sets one of the pre-defined camera positions.

Parameters
posdescriptor of the position,
See also
iACameraPosition

◆ setCubeCenter()

void iARendererImpl::setCubeCenter ( int  x,
int  y,
int  z 
)

◆ setCubeVisible()

void iARendererImpl::setCubeVisible ( bool  visible)

◆ setDefaultInteractor()

void iARendererImpl::setDefaultInteractor ( )
overridevirtual

Implements iARenderer.

◆ setPlaneNormals()

void iARendererImpl::setPlaneNormals ( vtkTransform *  tr)

◆ setPointPicker()

void iARendererImpl::setPointPicker ( )

◆ setPolyData()

void iARendererImpl::setPolyData ( vtkPolyData *  pd)
overridevirtual

access to polydata rendering TODO: remove from here! -> separate class similar to iAVolumeRenderer?

Implements iARenderer.

◆ setProfileHandlesOn

void iARendererImpl::setProfileHandlesOn ( bool  isOn)
slot

◆ setProfilePoint

void iARendererImpl::setProfilePoint ( int  pointIndex,
double *  coords 
)
slot

◆ setSlicePlaneOpacity()

void iARendererImpl::setSlicePlaneOpacity ( float  opc)

sets opacity of the slicing planes

◆ setSlicePlanePos()

void iARendererImpl::setSlicePlanePos ( int  planeID,
double  originX,
double  originY,
double  originZ 
)

◆ setSlicingBounds()

void iARendererImpl::setSlicingBounds ( const int  roi[6],
const double *  spacing 
)

◆ setStatExt()

void iARendererImpl::setStatExt ( int  s)

set size of statistical extent

◆ showHelpers()

void iARendererImpl::showHelpers ( bool  show)

◆ showRPosition()

void iARendererImpl::showRPosition ( bool  show)

◆ showSlicePlane()

void iARendererImpl::showSlicePlane ( int  axis,
bool  show 
)

show or hide the slice plane for the given axis

Parameters
axisindex of the axis (x..0, y..1, z..2)
showwhether to show (true) or hide (false) the given axis slice plane

◆ touchScaleSlot()

void iARendererImpl::touchScaleSlot ( float  relScale)

◆ touchStart()

void iARendererImpl::touchStart ( )

◆ txtActor()

vtkTextActor * iARendererImpl::txtActor ( )

◆ update()

void iARendererImpl::update ( )
overridevirtual

Update the view (to be called if something has changed in the underlying data which requires VTK to redraw the scene).

Implements iARenderer.

◆ updateSlicePlanes()

void iARendererImpl::updateSlicePlanes ( double const *  newSpacing)

Updates the position and size of the three slice planes according to the given spacing (and the dimensions of the internally stored image data)

Parameters
newSpacingthe spacing of the dataset.

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