Computer Assited Medical Intervention Tool Kit  version 4.1
Public Types | Public Member Functions | Protected Slots | Protected Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
camitk::MeshComponent Class Reference

Basic component to manage any kind of mesh. More...

#include <MeshComponent.h>

Inherits camitk::Component.

Inherited by MshComponent, ObjComponent, OffComponent, PMLComponent, StlComponent, and VtkMeshComponent.

Public Types

enum  DataType { SCALARS = 1, VECTORS = 2, TENSORS = 4, OTHERS = 8 }
 Data fields can have different dimensions. More...
 
enum  FieldType { POINTS = 1, CELLS = 2, MESH = 4 }
 Data fields can be applied to one of this. More...
 
enum  SpecificRepresentation {
  VECTOR_3D, NORM, FIRST_COMPONENT, SECOND_COMPONENT,
  THIRD_COMPONENT
}
 3D data can be represented by 1 value in different ways More...
 
enum  VectorRepresentation { HEDGE_HOG, ARROW, UNSCALED_ARROW }
 how are vector data represented in 3D More...
 
- Public Types inherited from camitk::Component
enum  Representation { GEOMETRY, SLICE, NO_REPRESENTATION }
 The different representation that can be implemented to represent this Component in the InteractiveViewer. More...
 
- Public Types inherited from camitk::InterfaceGeometry
enum  EnhancedMode { Normal = 0x0, Hidden = 0x1, Shaded = 0x2, Highlighted = 0x4 }
 (and QFlags EnhancedModes) handle the way the rendering actors will be enhanced or not (from completely hidden to highlighted) More...
 
enum  GlyphType { NoGlyph = 0x0, Sphere = 0x1 }
 (and QFlags GlyphTypes) is the type of glyph attached to the geometry representation More...
 
enum  RenderingMode { None = 0x0, Surface = 0x1, Wireframe = 0x2, Points = 0x4 }
 (and QFlags RenderingModes) handle actor rendering options (render this InterfaceGeometry as a surface, a wireframe and set of points). More...
 

Public Member Functions

void cellPicked (vtkIdType cellId, bool) override
 reimplemented to save the last pick point id More...
 
QPixmap getIcon () override
 Get the pixmap that will be displayed for this node. More...
 
unsigned int getNumberOfPropertyWidget () override
 there is more than one property widgets (to view as tabs in the property explorer) More...
 
vtkIdType getPickedCellId ()
 get the last pick point id, More...
 
vtkIdType getPickedPointId ()
 get the last pick point id, More...
 
QWidget * getPropertyWidgetAt (unsigned int i=0) override
 the proprety widgets are: default property widget, selection view and data view More...
 
 MeshComponent (const QString &file)
 Creates a top-level MeshComponent from a file. More...
 
 MeshComponent (vtkSmartPointer< vtkPointSet > aPointSet, const QString &name)
 Creates a top-level MeshComponent from a vtkPointSet (and instanciate its 3D representation). More...
 
 MeshComponent (Component *parentComponent, vtkSmartPointer< vtkPointSet > aPointSet, const QString &name)
 Creates a MeshComponent as a sub component of another Component using a vtkPointSet (and instanciate its 3D representation). More...
 
void pointPicked (vtkIdType pointId, bool) override
 reimplemented to save the last pick point id More...
 
void updateProperty (QString, QVariant)
 update property: no specific properties to manage, this is needed to avoid console warnings. More...
 
 ~MeshComponent () override
 Destructor. More...
 
Selection management
See also
http://www.kitware.com/media/html/SelectionsInVTK.html

The selection are stored using a list of vtkSelectionNode. Since this list is managed through the a Qt model/view, please do not modify directly the vtkSelectionNode and use the methods dedicated to selections.

QList< vtkSmartPointer< vtkSelectionNode > > & getSelections ()
 Get the selection list. More...
 
unsigned int getNumberOfSelections () const
 Get the number of selections. More...
 
vtkSmartPointer< vtkSelection > getActiveSelection () const
 Get active selections. More...
 
vtkSmartPointer< vtkSelectionNode > getSelection (const QString &name) const
 Get a selection from its name. More...
 
vtkSmartPointer< vtkSelectionNode > getSelectionAt (unsigned int index) const
 Get a selection from its index in the list. More...
 
int getSelectionIndex (const QString &name) const
 Get the selection index in the list from its name. More...
 
virtual int addSelection (const QString &name, int fieldType, int contentType, vtkSmartPointer< vtkAbstractArray > array, MeshSelectionModel::InsertionPolicy policy=MeshSelectionModel::REPLACE)
 Add a selection. More...
 
virtual int addToSelectedSelection (int fieldType, int contentType, vtkSmartPointer< vtkAbstractArray > array, MeshSelectionModel::InsertionPolicy policy=MeshSelectionModel::REPLACE)
 Add a selection to the currently selected selection. More...
 
Data management
int getNumberOfDataArray (int fieldFlag=POINTS|CELLS)
 Get the number of data arrays of a given type without taking the specific representation into account. More...
 
vtkSmartPointer< vtkDataArray > getDataArray (FieldType fieldType, const QString &arrayName)
 Get the data array of specified field type and name. More...
 
vtkSmartPointer< vtkDataArray > getDataArray (FieldType fieldType, int index)
 Get the data array of specified field type and index. More...
 
void addDataArray (FieldType fieldType, const QString &name, vtkSmartPointer< vtkDataArray > data)
 Add a data array. More...
 
void removeDataArray (FieldType fieldType, const QString &name)
 Remove a data array. More...
 
void addPointData (const QString &name, vtkSmartPointer< vtkDataArray > data)
 Add a data array linked to the points. More...
 
void addCellData (const QString &name, vtkSmartPointer< vtkDataArray > data)
 Add a data array linked to the cells. More...
 
MeshDataModelgetDataModel ()
 Returns the current data view model (model as the M in Qt MVC design pattern) More...
 
vtkSmartPointer< vtkFieldData > getFieldData (FieldType)
 Returns the corresponding vtkFieldData (point data, cell data or field data) More...
 
bool getDataRepresentationVisibility (FieldType, const QString &)
 get the current visibility status of a given data (identified with its name) of a given field type More...
 
void setDataRepresentationVisibility (FieldType, const QString &, bool)
 set the visibility of a given representation for a given data (identified with its name) of a given field type (create it if needed) More...
 
void setDataRepresentationOff (int dataType=SCALARS|VECTORS|TENSORS)
 hide all the data representation of a given data type (hide all by default) More...
 
void setVectorRepresentation (VectorRepresentation)
 set the current mode of visualisation of 3D data vector (default is ARROW) More...
 
- Public Member Functions inherited from camitk::Component
 Component (QString file, QString name, Representation rep=NO_REPRESENTATION)
 Component constructor for top-level component (please use the other constructor for sub-level components). More...
 
 Component (Component *parentComponent, const QString &name, Representation rep=NO_REPRESENTATION)
 Component constructor for a Component that is a child of another Component You should not use this constructor for a top-level component. More...
 
 ~Component () override
 default destructor. More...
 
Representation getRepresentation () const
 return the type of representation concretely implemented by this Component in the InteractiveViewer. More...
 
bool isTopLevel () const
 return true if this component is a top-level component More...
 
virtual ComponentgetParentComponent ()
 get the parent component More...
 
virtual ComponentgetTopLevelComponent ()
 get the top-level component More...
 
virtual InterfaceFramegetFrame ()
 get the associated frame More...
 
virtual void setModified (bool modified=true)
 set the modified flag More...
 
virtual bool getModified () const
 set the modified flag More...
 
virtual void setVisibility (Viewer *, bool)
 set the visibility for a viewer More...
 
virtual bool getVisibility (Viewer *) const
 get the visibility of a viewer More...
 
virtual void refresh () const
 refresh all the viewer that are currently displaying this Component More...
 
virtual void refreshInterfaceNode ()
 Asks all viewers that are currently displaying this Component to rebuild the representation of the InterfaceNode for this Component. More...
 
virtual bool isSelected () const
 Check if this data component is selected. More...
 
virtual void setSelected (const bool b, const bool recursive=true)
 Update the selection flag. More...
 
const QString getFileName () const
 get the file name where the data have to be stored/were stored More...
 
void setFileName (const QString &)
 set the file name where the data have to be stored More...
 
bool event (QEvent *e) override
 Overriden from QObject, this one is only intercepting signal for dynamic property changed (see constructor). More...
 
QMenu * getActionMenu ()
 Get a QMenu that contains all the action that can be applied to this component. More...
 
QStringList getHierarchy () const override
 
bool isInstanceOf (QString className) const override
 Assert that a Component instance really inherits from a given className. More...
 
QObject * getPropertyObject ()
 Get the property object that could be understood by PropertyEditor. More...
 
void setIndexOfPropertyExplorerTab (unsigned int index)
 Set the index of the tab in the ProperlyExplorer to select for display. More...
 
unsigned int getIndexOfPropertyExplorerTab ()
 Get the index of the tab in the ProperlyExplorer to select for display. More...
 
Q_INVOKABLE PropertygetProperty (QString name) override
 Get a Property given its name. More...
 
bool addProperty (Property *) override
 Add a new CamiTK property to the component. More...
 
void addChild (InterfaceNode *) override
 add a child Component (sub item in the hierarchy), and modify the child's parent to be equal to this instance More...
 
void attachChild (InterfaceNode *) override
 add a child Component (but leave its parent unchanged) More...
 
void removeChild (InterfaceNode *) override
 remove from the the sub item vector. More...
 
void setParent (InterfaceNode *) override
 set the parent Component. This method automatically remove this Component from its previous (if already had one parent Component) More...
 
void deleteChildren () override
 delete all sub Component, but do not delete the pointer (only the top-level component has the right to do that) More...
 
QString getName () const override
 get the name to be displayed More...
 
void setName (const QString &) override
 set the name to be displayed More...
 
const ComponentListgetChildren () override
 get the list of the InterfaceNode children (sub items in the hierarchy) More...
 
bool doubleClicked () override
 this method is called each time the InterfaceNode is double clicked by the user. More...
 
InterfaceNodegetParent () override
 get the parent Component More...
 
bool inItalic () const override
 A component name is not displayed in italic by default. More...
 
QMenu * getPopupMenu (QWidget *parent=nullptr)
 get the popup menu to display (always return NULL, overwrite this method if you want to give here you own popup) More...
 
const QString getLabel () const override
 
void setLabel (QString newName) override
 set the string used to display the label, do the same as setName More...
 
 delegateGet0 (myGeometry, getPointSet, vtkSmartPointer< vtkPointSet >) delegate1(myGeometry
 
vtkSmartPointer< vtkPointSet > delegate1 (myGeometry, setPointData, vtkSmartPointer< vtkDataArray >) delegateConstGet0(myGeometry
 
vtkSmartPointer< vtkPointSet > vtkSmartPointer< vtkAlgorithmOutput > delegate1 (myGeometry, setDataConnection, vtkSmartPointer< vtkAlgorithmOutput >) delegateGet1(myGeometry
 
vtkSmartPointer< vtkPointSet > vtkSmartPointer< vtkAlgorithmOutput > const RenderingModes vtkSmartPointer< vtkProp > getProp (const QString &param)
 Return the vtkProp (actors, volumes and annotations) corresponding to the given name. More...
 
unsigned int getNumberOfProp () const
 return the number of additional prop More...
 
vtkSmartPointer< vtkProp > getProp (unsigned int index)
 return an additional prop by its index More...
 
bool addProp (const QString &name, vtkSmartPointer< vtkProp > prop)
 insert an additional prop, defining it by its name (default visibility = false) More...
 
bool removeProp (const QString &name)
 remove a given additional prop. More...
 
void getBounds (double *bounds) override
 compute the object's bounding box [xmin,xmax, ymin,ymax, zmin,zmax], see Component.cpp More...
 
double getBoundingRadius () override
 compute the object's bounding sphere radius, More...
 
 delegate4 (myGeometry, setPointPosition, const unsigned int, const double, const double, const double) delegateAndInvokeChildren1(myGeometry
 
const RenderingModes const InterfaceGeometry::RenderingModes getRenderingModes () const override
 see Component.cpp More...
 
 delegateAndInvokeChildren1 (myGeometry, setEnhancedModes, const EnhancedModes) delegateConstGet0(myGeometry
 
const EnhancedModes delegateAndInvokeChildren1Array (myGeometry, setActorColor, const RenderingModes, double, 4) delegateAndInvokeChildren4(myGeometry
 
const EnhancedModes const const const const double void getActorColor (const RenderingModes, double [4]) override
 see Component.cpp More...
 
 delegateAndInvokeChildren3 (myGeometry, setColor, const double, const double, const double) delegateAndInvokeChildren4(myGeometry
 
const const const const double delegateAndInvokeChildren2 (myGeometry, setActorOpacity, const RenderingModes, const double) delegateConstGet1(myGeometry
 
const const const const double const RenderingModes delegateAndInvokeChildren1 (myGeometry, setOpacity, const double) delegate2(myGeometry
 
const const const const double const RenderingModes double delegate1 (myGeometry, setTexture, vtkSmartPointer< vtkTexture >) void setGlyphType(const GlyphTypes type
 
 delegate1 (myGeometry, setLinesAsTubes, bool) delegate1(myGeometry
 
 delegateConstGet0 (mySlice, getImageData, vtkSmartPointer< vtkImageData >) delegate1(mySlice
 
vtkSmartPointer< vtkImageData > delegateConstGet0 (mySlice, get2DImageActor, vtkSmartPointer< vtkImageActor >) delegateConstGet0(mySlice
 
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > delegateConstGet0 (mySlice, getPickPlaneActor, vtkSmartPointer< vtkActor >) delegateGet0(mySlice
 
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > delegate3 (mySlice, pixelPicked, double, double, double) delegate0(mySlice
 
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > updatePickPlane delegate1 (mySlice, setSlice, int) delegate3(mySlice
 
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > updatePickPlane double delegateConstGet0 (mySlice, getNumberOfColors, int) delegate3(mySlice
 
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > updatePickPlane double double delegate1 (mySlice, setImageWorldTransform, vtkSmartPointer< vtkTransform >) int getNumberOfSlices() const override
 see Component.cpp More...
 
int getSlice () const override
 see Component.cpp More...
 
const QString & getFrameName () const override
 Hierarchy accessors / Modifyers. More...
 
 delegate1 (myFrame, setFrameName, QString) InterfaceFrame *getParentFrame() const override
 
void setParentFrame (InterfaceFrame *frame, bool keepTransform=true) override
 Set the parent frame and update or not its transform during the parent transition. More...
 
const QVector< InterfaceFrame * > & getChildrenFrame () const override
 Get the Children Frames from the current Frame in the Frame Hierarchy The Frame hierarchy may not be the same as the Component Hierarchy. More...
 
const vtkSmartPointer< vtkTransform > getTransformFromWorld () const override
 Transforms accessors / Modifyers. More...
 
const vtkSmartPointer< vtkTransform > getTransform () const override
 Get the transformation with respect to the parent frame. More...
 
const vtkSmartPointer< vtkTransform > getTransformFromFrame (InterfaceFrame *frame) const override
 Compute the transformation from any other frame to the current frame. More...
 
 delegate1 (myFrame, setTransform, vtkSmartPointer< vtkTransform >) delegate0(myFrame
 
resetTransform delegate3 (myFrame, translate, double, double, double) delegate3(myFrame
 
resetTransform double delegate3 (myFrame, rotateVTK, double, double, double) delegate3(myFrame
 
resetTransform double double delegate3 (myFrame, setTransformTranslationVTK, double, double, double) delegate3(myFrame
 
resetTransform double double double delegate3 (myFrame, setTransformRotationVTK, double, double, double) vtkSmartPointer< vtkAxesActor > getFrameAxisActor() override
 
 delegate2 (myFrame, setFrameVisibility, Viewer *, bool) bool getFrameVisibility(Viewer *viewer) const override
 
 delegate1 (myFrame, addFrameChild, InterfaceFrame *) delegate1(myFrame
 
- Public Member Functions inherited from camitk::InterfaceProperty
 ~InterfaceProperty ()=default
 empty virtual destructor, to avoid memory leak More...
 
- Public Member Functions inherited from camitk::InterfaceNode
virtual ~InterfaceNode ()=default
 empty virtual destructor, to avoid memory leak More...
 
- Public Member Functions inherited from camitk::InterfaceGeometry
virtual ~InterfaceGeometry ()=default
 empty virtual destructor, to avoid memory leak More...
 
virtual vtkSmartPointer< vtkPointSet > getPointSet ()=0
 
virtual void setPointSet (vtkSmartPointer< vtkPointSet >)=0
 set the low-level data set. More...
 
virtual void setPointData (vtkSmartPointer< vtkDataArray >)=0
 set the point data (may contains a lookup table). More...
 
virtual void setMeshWorldTransform (vtkSmartPointer< vtkTransform >)=0
 set the transformation for 3D representation More...
 
virtual vtkSmartPointer< vtkAlgorithmOutput > getDataPort () const =0
 get the custom algorithm pipeline input. More...
 
virtual void setDataConnection (vtkSmartPointer< vtkAlgorithmOutput >)=0
 Set/reset the connection for the InterfaceGeometry internal algorithm. More...
 
virtual vtkSmartPointer< vtkActor > getActor (const RenderingModes)=0
 Return the actor for the representation mode, NULL if the actor doesn't exist. More...
 
virtual void setTexture (vtkSmartPointer< vtkTexture >)=0
 Set a texture to this object. More...
 
virtual void setPointPosition (const unsigned int orderNumber, const double x, const double y, const double z)=0
 set a given point position More...
 
virtual void setRenderingModes (const RenderingModes)=0
 
virtual void setEnhancedModes (const EnhancedModes)=0
 set the enhanced mode More...
 
virtual const EnhancedModes getEnhancedModes () const =0
 get the current enhanced mode More...
 
virtual void setActorColor (const RenderingModes, double *color)=0
 Set the color of given representation modes. More...
 
virtual void setActorColor (const RenderingModes, const double, const double, const double)=0
 Set the color of given representation modes. More...
 
virtual void getActorColor (const RenderingModes, double *color)=0
 Get the color of given representation modes in the second parameter. More...
 
virtual void setColor (const double, const double, const double)=0
 Set an (r,g,b) color to all representation modes, without changing the opacity. More...
 
virtual void setColor (const double, const double, const double, const double)=0
 Set an (r,g,b,a) color to all representation modes. More...
 
virtual void setActorOpacity (const RenderingModes, const double)=0
 Set the opacity of this representation modes. WARNING color field (surfaceColor, ...) are not modified! More...
 
virtual double getActorOpacity (const RenderingModes) const =0
 Return the opacity of a given renderng mode. More...
 
virtual void setOpacity (const double)=0
 Set the opacity of this object. WARNING color field (surfaceColor, ...) are not modified! More...
 
virtual void setMapperScalarRange (double min, double max)=0
 Set the mapper scalar range. More...
 
virtual void setGlyphType (const GlyphTypes type, const double size=0.0)=0
 Set the glyph type (a glyph is a geometric representation attached to every point in the input dataset). More...
 
virtual void setLinesAsTubes (bool)=0
 set the lines as tubes (works only for vtkDataSet representation that contains lines) More...
 
- Public Member Functions inherited from camitk::InterfaceBitMap
virtual vtkSmartPointer< vtkImageActor > get2DImageActor () const =0
 Return the vtkImageActor (vtkProp) representing a slice to be displayed in 2D viewers. More...
 
virtual vtkSmartPointer< vtkImageActor > get3DImageActor () const =0
 Return the vtkImageActor (vtkProp) representing a slice to be displayed in 3D viewers. More...
 
virtual vtkSmartPointer< vtkImageData > getImageData () const =0
 Returns the encapsultaed data structure: the image as a vtkImageData. More...
 
virtual int getNumberOfColors () const =0
 Return the number of colors in the images. More...
 
virtual int getNumberOfSlices () const =0
 Return the number of slices in the image data set. More...
 
virtual vtkSmartPointer< vtkActor > getPickPlaneActor () const =0
 Return the vtkActor used to pick pixels in the slices. More...
 
virtual vtkSmartPointer< vtkActor > getPixelActor ()=0
 Return the vtkActor used to pick pixels in the slices. More...
 
virtual void pixelPicked (double, double, double)=0
 Return 2D Axes at the proper slice origin. More...
 
virtual void setImageWorldTransform (vtkSmartPointer< vtkTransform >)=0
 set the transformation for 3D image representation More...
 
virtual void setOriginalVolume (vtkSmartPointer< vtkImageData >)=0
 set the original volume image data (the source vtkImageData before any reslice) and refresh the vtk pipeline More...
 
virtual void setPixelRealPosition (double, double, double)=0
 move the pixel selection green indicator (pixelActor) to the given real position More...
 
virtual void setSlice (int s)=0
 Set the current slice index. More...
 
virtual void setSlice (double x, double y, double z)=0
 Set the slice corresponding to the given image coordinates (in RAI convention) More...
 
virtual void updatePickPlane ()=0
 
virtual ~InterfaceBitMap ()=default
 virtual destructor More...
 
- Public Member Functions inherited from camitk::InterfaceFrame
virtual void addFrameChild (InterfaceFrame *frame)=0
 Add the input frame as a child of the current frame. More...
 
virtual vtkSmartPointer< vtkAxesActor > getFrameAxisActor ()=0
 Gives the 3D representation of the frame (based on xyz arrows) More...
 
virtual bool getFrameVisibility (Viewer *viewer) const =0
 Get the Component Frame visibility for a given viewer. More...
 
virtual void removeFrameChild (InterfaceFrame *frame)=0
 Remove the input frame as a child of the current frame. More...
 
virtual void setFrameVisibility (Viewer *viewer, bool visible)=0
 Set the Component Frame visible for a given viewer. More...
 
virtual ~InterfaceFrame ()=default
 empty virtual destructor, to avoid memory leak More...
 
virtual void setFrameName (QString name)=0
 Set the Frame Unique identifyer. More...
 
virtual InterfaceFramegetParentFrame () const =0
 Get the parent frame. More...
 
virtual void setTransform (vtkSmartPointer< vtkTransform > transform)=0
 Set the current input frame position (according to its parent Frame) More...
 
virtual void resetTransform ()=0
 Set the current frame transform to identity. More...
 
virtual void translate (double x, double y, double z)=0
 Apply a translation relative to the current position. More...
 
virtual void rotate (double aroundX, double aroundY, double aroundZ)=0
 Apply rotations relative to the current position in the alphabetical order (X, Y, Z). More...
 
virtual void rotateVTK (double aroundX, double aroundY, double aroundZ)=0
 Apply a rotation relative to the current position, using the VTK rotation order (Z, X, Y) More...
 
virtual void setTransformTranslation (double x, double y, double z)=0
 Set the translation part of the 3D space transformation of the current frame. More...
 
virtual void setTransformTranslationVTK (double x, double y, double z)=0
 Set the translation part of the 3D space transformation of the current frame. More...
 
virtual void setTransformRotation (double aroundX, double aroundY, double aroundZ)=0
 Set the rotation part of the 3D space transformation of the current frame. More...
 
virtual void setTransformRotationVTK (double aroundX, double aroundY, double aroundZ)=0
 Set the rotation part of the 3D space transformation of the current frame. More...
 

Static Public Member Functions

Enum management and helper methods
static const QMap< int, QString > & getFieldNames ()
 static method that returns the FieldType enum as a QString More...
 
static const QString getFieldName (const FieldType)
 helper method that returns the field type as a string More...
 
static const QMap< int, QString > & getDataTypeNames ()
 static method that returns the DataType enum as a QString More...
 
static const QString getDataTypeName (const DataType)
 Helper method that returns the datatype as a string. More...
 
static const DataType getDataType (vtkSmartPointer< vtkDataArray >)
 Returns the data type of a data array depending on the number of components of the given data array: More...
 
static const QString getDataTypeName (vtkSmartPointer< vtkDataArray >)
 Returns the data type string of an data array depending on the number of components of the given data array: If the number of components is different than 1, 3 and 9 (the managed type SCALARS, VECTORS, TENSORS) then the method returns a string equals to the number of components. More...
 
static const QString getSpecificRepresentationName (const SpecificRepresentation)
 Helper method that returns the SpecificRepresentation as a QString. More...
 

Protected Slots

void changeSelectedSelection (const QItemSelection &selected, const QItemSelection &deselected)
 called when the selection is modified More...
 
void displayTypePolicyChanged (int)
 called when the datatype for vector data is modified (refresh the data model) More...
 
void removeSelectedData ()
 remove the selected selection More...
 
void removeSelectedSelections ()
 remove the selected selection More...
 
void vectorRepresentationPolicyChanged (int)
 called when the representation for vector data is modified (remove all actors and refresh the data model) More...
 

Protected Member Functions

virtual void initData ()
 initialize data More...
 
virtual void initDynamicProperties ()
 create and initialize dynamic properties More...
 
virtual void initRepresentation (vtkSmartPointer< vtkPointSet >)
 
virtual void initSelection ()
 initialize selections More...
 

Private Member Functions

void createDataRepresentation (FieldType, const QString &, SpecificRepresentation representation=VECTOR_3D)
 create the data representation of a given data (identified with its name) of a given field type, default visibility is off More...
 
const QString getDataPropName (FieldType, const QString &)
 
void init ()
 initialisation of the mesh component members More...
 
void initRepresentation ()
 the concrete building of the 3D objects (Slice/Geometry): none in this case, everything is done by initRepresentation(vtkPointSet) More...
 
void setScalarDataRepresentationOn (vtkSmartPointer< vtkDataArray >)
 show the specific scalar array More...
 

Static Private Member Functions

static QMap< int, QString > initDataNames ()
 initialize DataType QString map More...
 
static QMap< int, QString > initFieldNames ()
 initialize FieldType QString map More...
 

Private Attributes

vtkSmartPointer< vtkSelection > currentSelection
 manages current selection using vtk More...
 
MeshDataModeldataModel
 data model (model as the M in Qt MVC design pattern) More...
 
QMap< vtkSmartPointer< vtkDataArray >, bool > dataRepresentationVisibility
 map of visibility status of data More...
 
MeshDataViewdataView
 data GUI View (view as the V in Qt MVC design pattern) More...
 
QWidget * dataWidget
 selection widget More...
 
QComboBox * displayTypePolicyBox
 combo box to select how to display vector data (data with 3 components) More...
 
QComboBox * insertionPolicyBox
 combo box to select the selection insertion policy More...
 
QAction * inspectData
 action to inspect data More...
 
QAction * inspectSelection
 action to inspect selection More...
 
QAction * mergeSelection
 action to merge selections More...
 
unsigned int numberOfCellDataSpecificRepresentation
 number of specific 3D representation for cell data More...
 
vtkIdType pickedCellId
 the last picked cell More...
 
vtkIdType pickedPointId
 the last picked point More...
 
QAction * removeData
 action to remove data More...
 
QAction * removeSelections
 action to remove selections More...
 
QList< vtkSmartPointer< vtkSelectionNode > > selectionList
 list of selections More...
 
MeshSelectionModelselectionModel
 selection model (model as the M in Qt MVC design pattern) More...
 
MeshSelectionViewselectionView
 selection GUI View (view as the V in Qt MVC design pattern) More...
 
QWidget * selectionWidget
 selection widget More...
 
QMap< QString, vtkSmartPointer< vtkDataArray > > specific3DDataRepresentation
 map of specific 3D Data representations. More...
 
QStringList vectorActors
 list of all vector data 3D actors' names (needed for cleaning up) More...
 
QComboBox * vectorRepresentationPolicyBox
 combo box to select how the vector are represented in 3D More...
 

Additional Inherited Members

- Public Attributes inherited from camitk::Component
 setPointSet
 
vtkSmartPointer< vtkPointSet > getDataPort
 
vtkSmartPointer< vtkPointSet > vtkSmartPointer< vtkAlgorithmOutput > getActor
 
vtkSmartPointer< vtkPointSet > vtkSmartPointer< vtkAlgorithmOutput > vtkSmartPointer< vtkActor >
 
 setRenderingModes
 
 getEnhancedModes
 
const EnhancedModes setActorColor
 
const EnhancedModes const RenderingModes
 
const EnhancedModes const const double
 
const EnhancedModes const const const double
 
 setColor
 
const double
 
const const double
 
const const const double
 
const const const const double getActorOpacity
 
const const const const double double
 
const const const const double const RenderingModes setMapperScalarRange
 
const const const const double const RenderingModes double
 
const const const const double const RenderingModes double const double size = 0.0) override
 
 setMeshWorldTransform
 
 setOriginalVolume
 
vtkSmartPointer< vtkImageData > get3DImageActor
 
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > getPixelActor
 
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > updatePickPlane setSlice
 
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > updatePickPlane double
 
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > updatePickPlane double setPixelRealPosition
 
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > updatePickPlane double double
 
resetTransform rotate
 
resetTransform double
 
resetTransform double setTransformTranslation
 
resetTransform double double
 
resetTransform double double setTransformRotation
 
resetTransform double double double
 
 removeFrameChild
 
- Public Attributes inherited from camitk::InterfaceBitMap
QMap< QString, vtkSmartPointer< vtkProp > > extraProp
 The additional map for prop (include at least "label" and "glyph". More...
 
- Protected Attributes inherited from camitk::Component
ComponentList childrenComponent
 The explorer sub items. More...
 
unsigned int indexOfPropertyExplorerTab
 The PropertyExplorer tab index to select once refreshed. More...
 
bool isSelectedFlag
 tells if this particular Component is selected or not More...
 
bool modifiedFlag
 the modificatio flag (could be extended to manage a undo/redo list) More...
 
QString myFileName
 the file name from which the Component is loaded More...
 
InterfaceFramemyFrame
 myFrame is the pose (position and orientation) of the Component in the world frame, the Component delegates all InterfaceFrame activity to myFrame (delegation pattern) More...
 
InterfaceGeometrymyGeometry
 myGeometry is the 3d representation of this Component, the Component delegates all InterfaceGeometry activity to myGeometry (delegation pattern) More...
 
InterfaceNodemyParentNode
 who is the boss? The Component! More...
 
InterfaceBitMapmySlice
 mySlice is the slice representation of this data component, the Component delegates all InterfaceBitMap activity to mySlice (delegation pattern) More...
 

Detailed Description

Basic component to manage any kind of mesh.

Member Enumeration Documentation

◆ DataType

Data fields can have different dimensions.

Enumerator
SCALARS 

1D (scalar value)

VECTORS 

3D (3D vector)

TENSORS 

9D (3x3 matrix)

OTHERS 

other dimensions (warning: nothing special are managed by this class, no specific interaction)

◆ FieldType

Data fields can be applied to one of this.

Enumerator
POINTS 

data are attached to point

CELLS 

data are attached to cells

MESH 

data are attached to the whole mesh (generic field data of Vtk)

◆ SpecificRepresentation

3D data can be represented by 1 value in different ways

Enumerator
VECTOR_3D 

3D data are represented with 3D arrows or hedge hog (simple lines starting from the point or center of the cell) depending on current 3D Vector representation)

NORM 

3D data are represented in 1D using the norm of the three components

FIRST_COMPONENT 

Use only the value of the first component.

SECOND_COMPONENT 

Use only the value of the second component.

THIRD_COMPONENT 

Use only the value of the third component.

◆ VectorRepresentation

how are vector data represented in 3D

Enumerator
HEDGE_HOG 

3D data are represented with hedge hog (simple lines starting from the point or center of the cell)

ARROW 

3D data are represented with 3D arrows (nicer hedge hog)

UNSCALED_ARROW 

same as arrow, but with a scale factor equals to 10% of the bounding radius

Constructor & Destructor Documentation

◆ MeshComponent() [1/3]

camitk::MeshComponent::MeshComponent ( const QString &  file)

Creates a top-level MeshComponent from a file.

Note
this is only to be used from a Component Extension open(...) or from an Action that creates data from a filter or transformation of a vtkPointSet. This method may throw an AbortException if a problem occurs.

Please consider using MeshComponent(vtkSmartPointer<vtkPointSet> , const QString &)

References init().

◆ MeshComponent() [2/3]

camitk::MeshComponent::MeshComponent ( vtkSmartPointer< vtkPointSet >  aPointSet,
const QString &  name 
)

Creates a top-level MeshComponent from a vtkPointSet (and instanciate its 3D representation).

Note
the filename is set to the empty string "".
if aPointSet is NULL, the representation is not initialized, it is the responsability of the subclass to initialize it later
Parameters
aPointSetpoint set of the new MeshComponent
namename to be given to the Component

References init(), initRepresentation(), and camitk::Component::setModified().

◆ MeshComponent() [3/3]

camitk::MeshComponent::MeshComponent ( Component parentComponent,
vtkSmartPointer< vtkPointSet >  aPointSet,
const QString &  name 
)

Creates a MeshComponent as a sub component of another Component using a vtkPointSet (and instanciate its 3D representation).

Note
if aPointSet is NULL, the representation is not initialized, it is the responsability of the subclass to initialize it later
Parameters
parentComponentthe parent component of the new MeshComponent
aPointSetpoint set of the new MeshComponent
namename to be given to the new MeshComponent

References init(), and initRepresentation().

◆ ~MeshComponent()

camitk::MeshComponent::~MeshComponent ( )
override

Member Function Documentation

◆ addCellData()

void camitk::MeshComponent::addCellData ( const QString &  name,
vtkSmartPointer< vtkDataArray >  data 
)

Add a data array linked to the cells.

Parameters
namename
datadata array

References addDataArray(), and CELLS.

Referenced by initData().

◆ addDataArray()

void camitk::MeshComponent::addDataArray ( FieldType  fieldType,
const QString &  name,
vtkSmartPointer< vtkDataArray >  data 
)

Add a data array.

Parameters
fieldTypefield type
namename given to the array to add
datadata array

References getFieldData(), and setDataRepresentationVisibility().

Referenced by addCellData(), addPointData(), Arrows::update(), and Colors::update().

◆ addPointData()

void camitk::MeshComponent::addPointData ( const QString &  name,
vtkSmartPointer< vtkDataArray >  data 
)

Add a data array linked to the points.

Parameters
namename
datadata array

References addDataArray(), and POINTS.

Referenced by ComputeNormals::apply(), ComputeCurvatures::apply(), and initData().

◆ addSelection()

int camitk::MeshComponent::addSelection ( const QString &  name,
int  fieldType,
int  contentType,
vtkSmartPointer< vtkAbstractArray >  array,
MeshSelectionModel::InsertionPolicy  policy = MeshSelectionModel::REPLACE 
)
virtual

Add a selection.

If the name of the selection already exists, the data of the existing selection are updated according to the SelectionPolicy flag.

Parameters
namename of the selection
fieldTypefield type of the selection (one of vtkSelectionNode::SelectionField)
contentTypecontent type (one of vtkSelectionNode::SelectionContent)
arrayarray of the selection
policypolicy to update the existing selection
Returns
the index of the added selection in the selection list

Reimplemented in PMLComponent.

References camitk::MeshSelectionModel::insertSelection(), and selectionModel.

Referenced by addToSelectedSelection(), and MshComponent::readV2Format().

◆ addToSelectedSelection()

int camitk::MeshComponent::addToSelectedSelection ( int  fieldType,
int  contentType,
vtkSmartPointer< vtkAbstractArray >  array,
MeshSelectionModel::InsertionPolicy  policy = MeshSelectionModel::REPLACE 
)
virtual

Add a selection to the currently selected selection.

If there is no selected selection, one is created with the name "Picked Selection".

Parameters
fieldTypefield type of the selection (one of vtkSelectionNode::SelectionField)
contentTypecontent type (one of vtkSelectionNode::SelectionContent)
arrayarray of the selection
policypolicy to updated the selection selection
Returns
the index of the selected selection in the selection list

References addSelection(), insertionPolicyBox, selectionList, selectionModel, and selectionView.

Referenced by camitk::InteractiveViewer::picked().

◆ cellPicked()

void camitk::MeshComponent::cellPicked ( vtkIdType  cellId,
bool   
)
overridevirtual

reimplemented to save the last pick point id

Reimplemented from camitk::Component.

References pickedCellId.

◆ changeSelectedSelection

void camitk::MeshComponent::changeSelectedSelection ( const QItemSelection &  selected,
const QItemSelection &  deselected 
)
protectedslot

◆ createDataRepresentation()

void camitk::MeshComponent::createDataRepresentation ( FieldType  field,
const QString &  name,
SpecificRepresentation  representation = VECTOR_3D 
)
private

◆ displayTypePolicyChanged

void camitk::MeshComponent::displayTypePolicyChanged ( int  )
protectedslot

called when the datatype for vector data is modified (refresh the data model)

References dataModel, and camitk::MeshDataModel::refresh().

Referenced by init().

◆ getActiveSelection()

vtkSmartPointer< vtkSelection > camitk::MeshComponent::getActiveSelection ( ) const

Get active selections.

Returns
active selections

References currentSelection.

Referenced by ExtractSelection::apply().

◆ getDataArray() [1/2]

vtkSmartPointer< vtkDataArray > camitk::MeshComponent::getDataArray ( FieldType  fieldType,
const QString &  arrayName 
)

Get the data array of specified field type and name.

Parameters
fieldTypefield type
arrayNamearray name
Returns
data array

References getFieldData().

Referenced by createDataRepresentation(), getDataRepresentationVisibility(), camitk::MeshDataModel::getRowInfo(), removeSelectedData(), and setDataRepresentationVisibility().

◆ getDataArray() [2/2]

vtkSmartPointer< vtkDataArray > camitk::MeshComponent::getDataArray ( FieldType  fieldType,
int  index 
)

Get the data array of specified field type and index.

Parameters
fieldTypefield type
indexindex
Returns
data array

References getFieldData().

◆ getDataModel()

MeshDataModel * camitk::MeshComponent::getDataModel ( )

Returns the current data view model (model as the M in Qt MVC design pattern)

References dataModel.

◆ getDataPropName()

const QString camitk::MeshComponent::getDataPropName ( FieldType  fieldType,
const QString &  arrayName 
)
private

◆ getDataRepresentationVisibility()

bool camitk::MeshComponent::getDataRepresentationVisibility ( FieldType  field,
const QString &  name 
)

get the current visibility status of a given data (identified with its name) of a given field type

References dataRepresentationVisibility, displayTypePolicyBox, getDataArray(), getDataType(), getSpecificRepresentationName(), OTHERS, SCALARS, specific3DDataRepresentation, TENSORS, VECTOR_3D, and VECTORS.

Referenced by camitk::MeshDataModel::data().

◆ getDataType()

const MeshComponent::DataType camitk::MeshComponent::getDataType ( vtkSmartPointer< vtkDataArray >  array)
static

Returns the data type of a data array depending on the number of components of the given data array:

References OTHERS, SCALARS, TENSORS, and VECTORS.

Referenced by createDataRepresentation(), getDataRepresentationVisibility(), getDataTypeName(), camitk::MeshDataModel::getRowInfo(), setDataRepresentationOff(), and setDataRepresentationVisibility().

◆ getDataTypeName() [1/2]

const QString camitk::MeshComponent::getDataTypeName ( const DataType  dataType)
static

Helper method that returns the datatype as a string.

References getDataTypeNames().

Referenced by camitk::MeshDataModel::data(), and getDataTypeName().

◆ getDataTypeName() [2/2]

const QString camitk::MeshComponent::getDataTypeName ( vtkSmartPointer< vtkDataArray >  array)
static

Returns the data type string of an data array depending on the number of components of the given data array: If the number of components is different than 1, 3 and 9 (the managed type SCALARS, VECTORS, TENSORS) then the method returns a string equals to the number of components.

References getDataType(), getDataTypeName(), and OTHERS.

◆ getDataTypeNames()

const QMap< int, QString > & camitk::MeshComponent::getDataTypeNames ( )
static

static method that returns the DataType enum as a QString

References initDataNames().

Referenced by camitk::MeshDataFilterModel::filterAcceptsRow(), and getDataTypeName().

◆ getFieldData()

vtkSmartPointer< vtkFieldData > camitk::MeshComponent::getFieldData ( FieldType  fieldType)

Returns the corresponding vtkFieldData (point data, cell data or field data)

References CELLS, camitk::InterfaceGeometry::getPointSet(), MESH, and POINTS.

Referenced by addDataArray(), createDataRepresentation(), getDataArray(), removeDataArray(), setDataRepresentationOff(), and setDataRepresentationVisibility().

◆ getFieldName()

const QString camitk::MeshComponent::getFieldName ( const FieldType  fieldType)
static

helper method that returns the field type as a string

References getFieldNames().

Referenced by camitk::MeshDataModel::data(), and getDataPropName().

◆ getFieldNames()

const QMap< int, QString > & camitk::MeshComponent::getFieldNames ( )
static

static method that returns the FieldType enum as a QString

References initFieldNames().

Referenced by camitk::MeshDataFilterModel::filterAcceptsRow(), and getFieldName().

◆ getIcon()

QPixmap camitk::MeshComponent::getIcon ( )
overridevirtual

Get the pixmap that will be displayed for this node.

Reimplemented from camitk::Component.

Reimplemented in PMLComponent, and VtkMeshComponent.

◆ getNumberOfDataArray()

int camitk::MeshComponent::getNumberOfDataArray ( int  fieldFlag = POINTS | CELLS)

Get the number of data arrays of a given type without taking the specific representation into account.

This method does not take into account:

  • the field arrays
  • the specific representation of 3D data (i.e., representation of 3D data as norm or component::i values)
Parameters
fieldFlagis a FieldType or a combinaison of field types.
Returns
the number of arrays corresponding to the field flag

References CELLS, camitk::InterfaceGeometry::getPointSet(), MESH, numberOfCellDataSpecificRepresentation, POINTS, and specific3DDataRepresentation.

Referenced by camitk::MeshDataModel::getRowInfo(), and camitk::MeshDataModel::rowCount().

◆ getNumberOfPropertyWidget()

unsigned int camitk::MeshComponent::getNumberOfPropertyWidget ( )
overridevirtual

there is more than one property widgets (to view as tabs in the property explorer)

Reimplemented from camitk::Component.

◆ getNumberOfSelections()

unsigned int camitk::MeshComponent::getNumberOfSelections ( ) const

Get the number of selections.

Returns
the number of selections.

References selectionList.

Referenced by PMLComponentExtension::save().

◆ getPickedCellId()

vtkIdType camitk::MeshComponent::getPickedCellId ( )

get the last pick point id,

Returns
-1 if no point where picked

References pickedCellId.

Referenced by MeshPicking::apply().

◆ getPickedPointId()

vtkIdType camitk::MeshComponent::getPickedPointId ( )

get the last pick point id,

Returns
-1 if no point where picked

References pickedPointId.

Referenced by MeshPicking::apply().

◆ getPropertyWidgetAt()

QWidget * camitk::MeshComponent::getPropertyWidgetAt ( unsigned int  i = 0)
overridevirtual

the proprety widgets are: default property widget, selection view and data view

Reimplemented from camitk::Component.

References dataWidget, and selectionWidget.

◆ getSelection()

vtkSmartPointer< vtkSelectionNode > camitk::MeshComponent::getSelection ( const QString &  name) const

Get a selection from its name.

This method should return a const ref, so that external code cannot modify it

Parameters
namename of the selection
Returns
the selection node

References getSelectionAt(), getSelectionIndex(), and selectionList.

Referenced by GenerateModel::apply(), and CreateSC::computeBoundsOfSelection().

◆ getSelectionAt()

vtkSmartPointer< vtkSelectionNode > camitk::MeshComponent::getSelectionAt ( unsigned int  index) const

Get a selection from its index in the list.

This method should return a const ref, so that external code cannot modify it

Parameters
indexindex of the selection
Returns
the selection node

References selectionList.

Referenced by getSelection(), and PMLComponentExtension::save().

◆ getSelectionIndex()

int camitk::MeshComponent::getSelectionIndex ( const QString &  name) const

Get the selection index in the list from its name.

Parameters
namename of the selection
Returns
the selection index or -1 if there is no selection of that name

References selectionList.

Referenced by PMLComponent::addSelection(), getSelection(), camitk::MeshSelectionModel::insertSelection(), camitk::MeshSelectionModel::removeSelection(), and camitk::MeshSelectionModel::setData().

◆ getSelections()

QList< vtkSmartPointer< vtkSelectionNode > > & camitk::MeshComponent::getSelections ( )

Get the selection list.

The selection list contains vtkSelectionNode.

Note
TODO This method should be const, in case a subcomponent needs to add extra/specific behavior. And then:
Returns
the selection list

References selectionList.

Referenced by camitk::MeshSelectionModel::data(), camitk::MeshSelectionModel::insertSelection(), camitk::MeshSelectionModel::removeSelection(), camitk::MeshSelectionModel::rowCount(), and camitk::MeshSelectionModel::setData().

◆ getSpecificRepresentationName()

const QString camitk::MeshComponent::getSpecificRepresentationName ( const SpecificRepresentation  displayType)
static

Helper method that returns the SpecificRepresentation as a QString.

References FIRST_COMPONENT, NORM, SECOND_COMPONENT, THIRD_COMPONENT, and VECTOR_3D.

Referenced by createDataRepresentation(), getDataRepresentationVisibility(), and setDataRepresentationVisibility().

◆ init()

void camitk::MeshComponent::init ( )
private

◆ initData()

void camitk::MeshComponent::initData ( )
protectedvirtual

◆ initDataNames()

QMap< int, QString > camitk::MeshComponent::initDataNames ( )
staticprivate

initialize DataType QString map

References OTHERS, SCALARS, TENSORS, and VECTORS.

Referenced by getDataTypeNames().

◆ initDynamicProperties()

void camitk::MeshComponent::initDynamicProperties ( )
protectedvirtual

create and initialize dynamic properties

Reimplemented in PMLComponent, and VtkMeshComponent.

References camitk::Component::addProperty(), camitk::InterfaceGeometry::getPointSet(), and camitk::Property::setReadOnly().

Referenced by initRepresentation().

◆ initFieldNames()

QMap< int, QString > camitk::MeshComponent::initFieldNames ( )
staticprivate

initialize FieldType QString map

References CELLS, MESH, and POINTS.

Referenced by getFieldNames().

◆ initRepresentation() [1/2]

void camitk::MeshComponent::initRepresentation ( vtkSmartPointer< vtkPointSet >  originalPointSet)
protectedvirtual

◆ initRepresentation() [2/2]

void camitk::MeshComponent::initRepresentation ( )
inlineprivatevirtual

the concrete building of the 3D objects (Slice/Geometry): none in this case, everything is done by initRepresentation(vtkPointSet)

Implements camitk::Component.

Referenced by PMLComponent::create3DStructure(), MeshComponent(), ObjComponent::ObjComponent(), OffComponent::OffComponent(), MshComponent::readLegacyFormat(), MshComponent::readV2Format(), StlComponent::StlComponent(), and VtkMeshComponent::VtkMeshComponent().

◆ initSelection()

void camitk::MeshComponent::initSelection ( )
protectedvirtual

◆ pointPicked()

void camitk::MeshComponent::pointPicked ( vtkIdType  pointId,
bool   
)
overridevirtual

reimplemented to save the last pick point id

Reimplemented from camitk::Component.

References pickedPointId.

◆ removeDataArray()

void camitk::MeshComponent::removeDataArray ( FieldType  fieldType,
const QString &  name 
)

Remove a data array.

Parameters
fieldTypefield type
namename of the array to remove

References getDataPropName(), getFieldData(), camitk::Component::removeProp(), and setDataRepresentationVisibility().

Referenced by removeSelectedData().

◆ removeSelectedData

void camitk::MeshComponent::removeSelectedData ( )
protectedslot

remove the selected selection

References CAMITK_WARNING, dataView, getDataArray(), POINTS, and removeDataArray().

Referenced by init().

◆ removeSelectedSelections

void camitk::MeshComponent::removeSelectedSelections ( )
protectedslot

remove the selected selection

References camitk::MeshSelectionModel::removeSelection(), selectionList, selectionModel, and selectionView.

Referenced by init().

◆ setDataRepresentationOff()

void camitk::MeshComponent::setDataRepresentationOff ( int  dataType = SCALARS | VECTORS | TENSORS)

◆ setDataRepresentationVisibility()

void camitk::MeshComponent::setDataRepresentationVisibility ( FieldType  fieldType,
const QString &  name,
bool  visibility 
)

◆ setScalarDataRepresentationOn()

void camitk::MeshComponent::setScalarDataRepresentationOn ( vtkSmartPointer< vtkDataArray >  dataArray)
private

◆ setVectorRepresentation()

void camitk::MeshComponent::setVectorRepresentation ( VectorRepresentation  )

set the current mode of visualisation of 3D data vector (default is ARROW)

◆ updateProperty()

void camitk::MeshComponent::updateProperty ( QString  ,
QVariant   
)
inlinevirtual

update property: no specific properties to manage, this is needed to avoid console warnings.

Reimplemented from camitk::Component.

Reimplemented in PMLComponent, and VtkMeshComponent.

References camitk::MeshSelectionModel::REPLACE.

◆ vectorRepresentationPolicyChanged

void camitk::MeshComponent::vectorRepresentationPolicyChanged ( int  )
protectedslot

called when the representation for vector data is modified (remove all actors and refresh the data model)

References dataModel, camitk::MeshDataModel::refresh(), camitk::Component::removeProp(), setDataRepresentationOff(), vectorActors, and VECTORS.

Referenced by init().

Member Data Documentation

◆ currentSelection

vtkSmartPointer<vtkSelection> camitk::MeshComponent::currentSelection
private

manages current selection using vtk

Referenced by changeSelectedSelection(), getActiveSelection(), init(), and initSelection().

◆ dataModel

MeshDataModel* camitk::MeshComponent::dataModel
private

◆ dataRepresentationVisibility

QMap<vtkSmartPointer<vtkDataArray>, bool> camitk::MeshComponent::dataRepresentationVisibility
private

◆ dataView

MeshDataView* camitk::MeshComponent::dataView
private

data GUI View (view as the V in Qt MVC design pattern)

Referenced by init(), and removeSelectedData().

◆ dataWidget

QWidget* camitk::MeshComponent::dataWidget
private

selection widget

Referenced by getPropertyWidgetAt(), init(), and ~MeshComponent().

◆ displayTypePolicyBox

QComboBox* camitk::MeshComponent::displayTypePolicyBox
private

combo box to select how to display vector data (data with 3 components)

Referenced by getDataRepresentationVisibility(), init(), and setDataRepresentationVisibility().

◆ insertionPolicyBox

QComboBox* camitk::MeshComponent::insertionPolicyBox
private

combo box to select the selection insertion policy

Referenced by addToSelectedSelection(), and init().

◆ inspectData

QAction* camitk::MeshComponent::inspectData
private

action to inspect data

Referenced by init().

◆ inspectSelection

QAction* camitk::MeshComponent::inspectSelection
private

action to inspect selection

Referenced by init().

◆ mergeSelection

QAction* camitk::MeshComponent::mergeSelection
private

action to merge selections

Referenced by init().

◆ numberOfCellDataSpecificRepresentation

unsigned int camitk::MeshComponent::numberOfCellDataSpecificRepresentation
private

number of specific 3D representation for cell data

Referenced by createDataRepresentation(), getNumberOfDataArray(), and init().

◆ pickedCellId

vtkIdType camitk::MeshComponent::pickedCellId
private

the last picked cell

Referenced by cellPicked(), getPickedCellId(), and init().

◆ pickedPointId

vtkIdType camitk::MeshComponent::pickedPointId
private

the last picked point

Referenced by getPickedPointId(), init(), and pointPicked().

◆ removeData

QAction* camitk::MeshComponent::removeData
private

action to remove data

Referenced by init().

◆ removeSelections

QAction* camitk::MeshComponent::removeSelections
private

action to remove selections

Referenced by init().

◆ selectionList

QList< vtkSmartPointer<vtkSelectionNode> > camitk::MeshComponent::selectionList
private

◆ selectionModel

MeshSelectionModel* camitk::MeshComponent::selectionModel
private

selection model (model as the M in Qt MVC design pattern)

Referenced by addSelection(), addToSelectedSelection(), init(), and removeSelectedSelections().

◆ selectionView

MeshSelectionView* camitk::MeshComponent::selectionView
private

selection GUI View (view as the V in Qt MVC design pattern)

Referenced by addToSelectedSelection(), changeSelectedSelection(), init(), and removeSelectedSelections().

◆ selectionWidget

QWidget* camitk::MeshComponent::selectionWidget
private

selection widget

Referenced by getPropertyWidgetAt(), init(), and ~MeshComponent().

◆ specific3DDataRepresentation

QMap<QString, vtkSmartPointer<vtkDataArray> > camitk::MeshComponent::specific3DDataRepresentation
private

map of specific 3D Data representations.

The value of key is the specific array name that concatenate the 3D data name and the specific representation name.

Referenced by createDataRepresentation(), getDataRepresentationVisibility(), getNumberOfDataArray(), and setDataRepresentationVisibility().

◆ vectorActors

QStringList camitk::MeshComponent::vectorActors
private

list of all vector data 3D actors' names (needed for cleaning up)

Referenced by createDataRepresentation(), and vectorRepresentationPolicyChanged().

◆ vectorRepresentationPolicyBox

QComboBox* camitk::MeshComponent::vectorRepresentationPolicyBox
private

combo box to select how the vector are represented in 3D

Referenced by createDataRepresentation(), and init().


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