open_iA 2023.02
A tool for the visual analysis and processing of volumetric datasets, with a focus on industrial computed tomography.
Loading...
Searching...
No Matches
Signals | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
iADataSetViewer Class Reference

Base class for handling the viewing of an iADataSet in the GUI. More...

#include <iADataSetViewer.h>

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

Signals

void dataSetChanged (size_t dataSetIdx)
 
void removeDataSet (size_t dataSetIdx)
 

Public Member Functions

iAAttributes attributesWithValues () const
 Retrieves the list of all attributes for this viewer, merged with their current values as default values:
 
QVariantMap attributeValues () const
 Retrieve only the current attribute values.
 
virtual void createGUI (iAMdiChild *child, size_t dataSetIdx)
 Should contain all things that need to be done in the GUI thread for viewing this dataset The default implementation creates a 3D renderer (via createRenderer method) and adds an entry to the dataset list.
 
virtual QString information () const
 Get information to display about the dataset.
 
virtual void prepare (iAPreferences const &pref, iAProgress *p)
 called directly after the dataset is loaded, should do anything that needs to be computed in the background
 
bool renderFlagSet (QChar const &flag) const
 
void setAttributes (QVariantMap const &values)
 Call to change the attributes of this viewer.
 
virtual void setPickable (bool pickable)
 
void setPickActionVisible (bool visible)
 
void setRenderFlag (QChar const &flag, bool enable)
 
virtual uint slicerChannelID () const
 
virtual void slicerRegionSelected (double minVal, double maxVal, uint channelID)
 TODO NEWIO: improve!
 
void storeState ()
 called before a dataset is stored; stores the current viewer state into the metadata of the linked dataset (via attributeValues)
 
iADataSetRendererrenderer ()
 
iADataSetRenderer const * renderer () const
 

Static Public Attributes

static const QString RenderFlags
 key that specifies which views or renderers the viewer currently has visible
 

Protected Member Functions

 iADataSetViewer (iADataSet *dataSet)
 
virtual ~iADataSetViewer ()
 
void addAttribute (QString const &name, iAValueType valueType, QVariant defaultValue=0.0, double min=std::numeric_limits< double >::lowest(), double max=std::numeric_limits< double >::max())
 adds an attribute that can be modified by the user to change the appearance of some aspect of the viewer
 
QAction * addViewAction (QString const &name, QString const &iconName, bool checked, std::function< void(bool)> handler)
 helper function for creating and adding a toggling action for switching some aspect of this viewer needs to be called before calling createGUI of this base class (which passes the view actions created so far to the dataset list.
 

Protected Attributes

QVariantMap m_attribValues
 
iADataSetm_dataSet
 the dataset for which this viewer is responsible
 

Detailed Description

Base class for handling the viewing of an iADataSet in the GUI.

Holds all additional data structures (GUI, computed values, etc.) necessary to display it, in addition to the dataset itself (e.g., the histogram for a volume dataset)

Constructor & Destructor Documentation

◆ iADataSetViewer()

iADataSetViewer::iADataSetViewer ( iADataSet dataSet)
protected

◆ ~iADataSetViewer()

iADataSetViewer::~iADataSetViewer ( )
protectedvirtual

Member Function Documentation

◆ addAttribute()

void iADataSetViewer::addAttribute ( QString const &  name,
iAValueType  valueType,
QVariant  defaultValue = 0.0,
double  min = std::numeric_limits<double>::lowest(),
double  max = std::numeric_limits<double>::max() 
)
protected

adds an attribute that can be modified by the user to change the appearance of some aspect of the viewer

◆ addViewAction()

QAction * iADataSetViewer::addViewAction ( QString const &  name,
QString const &  iconName,
bool  checked,
std::function< void(bool)>  handler 
)
protected

helper function for creating and adding a toggling action for switching some aspect of this viewer needs to be called before calling createGUI of this base class (which passes the view actions created so far to the dataset list.

Actions are shown in reverse order to call to this function, since we want to show the ones common to all viewers first, but these are only created in createGUI of this base class

◆ attributesWithValues()

iAAttributes iADataSetViewer::attributesWithValues ( ) const

Retrieves the list of all attributes for this viewer, merged with their current values as default values:

◆ attributeValues()

QVariantMap iADataSetViewer::attributeValues ( ) const

Retrieve only the current attribute values.

◆ createGUI()

void iADataSetViewer::createGUI ( iAMdiChild child,
size_t  dataSetIdx 
)
virtual

Should contain all things that need to be done in the GUI thread for viewing this dataset The default implementation creates a 3D renderer (via createRenderer method) and adds an entry to the dataset list.

If you want these things to happen, but additionally some other things, call this function from the derived method (i.e. iADataSetViewer::createGUI). Sometimes, you might not want these things to happen (as e.g. the iAProjectViewer does, since it does not need a 3D viewer nor a dataset list entry),

Reimplemented in iAProjectViewer, and iAVolumeViewer.

◆ dataSetChanged

void iADataSetViewer::dataSetChanged ( size_t  dataSetIdx)
signal

◆ information()

QString iADataSetViewer::information ( ) const
virtual

Get information to display about the dataset.

Reimplemented in iAVolumeViewer.

◆ prepare()

void iADataSetViewer::prepare ( iAPreferences const &  pref,
iAProgress p 
)
virtual

called directly after the dataset is loaded, should do anything that needs to be computed in the background

Reimplemented in iAVolumeViewer.

◆ removeDataSet

void iADataSetViewer::removeDataSet ( size_t  dataSetIdx)
signal

◆ renderer() [1/2]

iADataSetRenderer * iADataSetViewer::renderer ( )

Retrieves the 3D renderer for this dataset (if any; by default, no renderer)

◆ renderer() [2/2]

iADataSetRenderer const * iADataSetViewer::renderer ( ) const

◆ renderFlagSet()

bool iADataSetViewer::renderFlagSet ( QChar const &  flag) const

◆ setAttributes()

void iADataSetViewer::setAttributes ( QVariantMap const &  values)

Call to change the attributes of this viewer.

◆ setPickable()

void iADataSetViewer::setPickable ( bool  pickable)
virtual

Reimplemented in iAVolumeViewer.

◆ setPickActionVisible()

void iADataSetViewer::setPickActionVisible ( bool  visible)

◆ setRenderFlag()

void iADataSetViewer::setRenderFlag ( QChar const &  flag,
bool  enable 
)

◆ slicerChannelID()

uint iADataSetViewer::slicerChannelID ( ) const
virtual

Reimplemented in iAVolumeViewer.

◆ slicerRegionSelected()

void iADataSetViewer::slicerRegionSelected ( double  minVal,
double  maxVal,
uint  channelID 
)
virtual

TODO NEWIO: improve!

Reimplemented in iAVolumeViewer.

◆ storeState()

void iADataSetViewer::storeState ( )

called before a dataset is stored; stores the current viewer state into the metadata of the linked dataset (via attributeValues)

Member Data Documentation

◆ m_attribValues

QVariantMap iADataSetViewer::m_attribValues
protected

◆ m_dataSet

iADataSet* iADataSetViewer::m_dataSet
protected

the dataset for which this viewer is responsible

◆ RenderFlags

const QString iADataSetViewer::RenderFlags
static

key that specifies which views or renderers the viewer currently has visible


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