open_iA 2025.6
Loading...
Searching...
No Matches
iAProjectViewer Class Reference

A "viewer" for project files. More...

#include <iADataSetViewerImpl.h>

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

Public Member Functions

 iAProjectViewer (iADataSet *dataSet)
 
void createGUI (iAMdiChild *child, size_t dataSetIdx) override
 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.
 
- Public Member Functions inherited from iADataSetViewer
QAction * addViewAction (QString const &name, QString const &iconName, bool checked)
 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.
 
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 std::shared_ptr< iADataSetRenderercreateRenderer (vtkRenderer *ren, QVariantMap const &overrideValues=QVariantMap())
 Called to create a 3D renderer for the dataset.
 
virtual QString information () const
 Get information to display about the dataset.
 
virtual void prepare (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)
 
virtual void unitDistanceChanged (std::array< double, 3 > oldUnitDist, iAMdiChild *child)
 called when unit distance has changed due to dataset edit
 
iADataSetRendererrenderer ()
 
iADataSetRenderer const * renderer () const
 

Additional Inherited Members

- Signals inherited from iADataSetViewer
void dataSetChanged (size_t dataSetIdx)
 
void removeDataSet (size_t dataSetIdx)
 
- Static Public Attributes inherited from iADataSetViewer
static const QChar Render3DFlag
 
static const QChar RenderCutPlane
 
static const QString RenderFlags
 key that specifies which views or renderers the viewer currently has visible
 
static const QChar RenderMagicLensFlag
 
static const QChar RenderOutlineFlag
 
- Protected Member Functions inherited from iADataSetViewer
 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
 
- Protected Attributes inherited from iADataSetViewer
QVariantMap m_attribValues
 
iADataSetm_dataSet
 the dataset for which this viewer is responsible
 

Detailed Description

A "viewer" for project files.

Special insofar as it overrides createGUI and doesn't call the one from the base class; meaning the project file dataset won't get added to the dataset list, the viewer only cares about loading all datasets in the project

Constructor & Destructor Documentation

◆ iAProjectViewer()

iAProjectViewer::iAProjectViewer ( iADataSet * dataSet)

Member Function Documentation

◆ createGUI()

void iAProjectViewer::createGUI ( iAMdiChild * child,
size_t dataSetIdx )
overridevirtual

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 from iADataSetViewer.


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