Computer Assisted Medical Intervention Tool Kit version 6.0
 
Loading...
Searching...
No Matches
camitk::Component Class Referenceabstract

A Component represents something that could be included in the explorer view, the interactive 3D viewer, and that could have or not a contextual popup menu (open by a right click in the explorer), a property dialog (to change some properties) Thus, a Component inherits from many abstract classes. More...

#include <Component.h>

+ Inheritance diagram for camitk::Component:
+ Collaboration diagram for camitk::Component:

Public Types

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

Component top level methods

All the methods specific to a data component (but not described in any abstract representation classes)

 Component (QString file, QString name, Representation rep=NO_REPRESENTATION, bool createDefaultFrame=true)
 Component constructor for top-level component (please use the other constructor for sub-level components).
 
 Component (Component *parentComponent, const QString &name, Representation rep=NO_REPRESENTATION, bool createDefaultFrame=true)
 Component constructor for a Component that is a child of another Component You should not use this constructor for a top-level component.
 
virtual ~Component () override
 default destructor.
 
Representation getRepresentation () const
 return the type of representation concretely implemented by this Component in the InteractiveViewer.
 
bool isTopLevel () const
 return true if this component is a top-level component
 
ComponentgetParentComponent ()
 get the parent component
 
ComponentgetTopLevelComponent ()
 get the top-level component
 
virtual void setModified (bool modified=true)
 set the modified flag
 
virtual bool getModified () const
 set the modified flag
 
virtual void setVisibility (QString, bool)
 set the visibility inside the viewer of the given name (the viewer needs to be a registered viewer)
 
virtual bool getVisibility (QString) const
 get the visibility inside the viewer of the given name
 
virtual void refresh ()
 refresh all the viewer that are currently displaying this Component At the end the InterfaceNode modification flag is reset.
 
virtual bool isSelected () const
 Check if this data component is selected.
 
virtual void setSelected (const bool b, const bool recursive=true)
 Update the selection flag.
 
const QString getFileName () const
 get the file name where the data have to be stored/were stored
 
void setFileName (const QString &)
 set the file name where the data have to be stored
 
bool event (QEvent *e) override
 Overriden from QObject, this one is only intercepting signal for dynamic property changed (see constructor).
 
QMenu * getActionMenu ()
 Get a QMenu that contains all the action that can be applied to this component.
 
InterfacePersistence
virtual QVariant toVariant () const override
 
virtual void fromVariant (const QVariant &) override
 Load data from a QVariant to initialize the current object.
 
virtual QUuid getUuid () const override
 Get the unique ID of the component.
 
virtual bool setUuid (QUuid) override
 Set the unique ID of the component.
 
InterfaceProperty

All the implemented InterfaceProperty methods

QStringList getHierarchy () const override
 
bool isInstanceOf (QString className) const override
 Assert that a Component instance really inherits from a given className.
 
unsigned int getNumberOfPropertyWidget () override
 get the number of alternative property widgets
 
QWidget * getPropertyWidgetAt (unsigned int) override
 Get the ith alternative property widget.
 
QObject * getPropertyObject () override
 Get the property object that could be understood by PropertyEditor.
 
const QObject * getPropertyObject () const override
 
void propertyValueChanged (QString name) override
 This method is called when a dynamic property value has been modified.
 
void setIndexOfPropertyExplorerTab (unsigned int index) override final
 Set the index of the tab in the ProperlyExplorer to select for display.
 
unsigned int getIndexOfPropertyExplorerTab () override
 Get the index of the tab in the ProperlyExplorer to select for display.
 
Q_INVOKABLE camitk::PropertygetProperty (QString name) override
 Get a Property given its name.
 
bool addProperty (Property *) override
 Add a new CamiTK property to the component.
 
virtual QVariant getPropertyValue (const QString &name) const override
 get the property QVariant (same as property(const char*)) but check if it exists first.
 
virtual bool setPropertyValue (const QString &name, QVariant newValue) override
 set the property QVariant value (same as setProperty(const char*, newValue)) but check if it exists first.
 
InterfaceNode

All the implemented InterfaceNode methods

void removeChild (InterfaceNode *) override
 remove a child node.
 
void setParent (InterfaceNode *) override
 set the parent Component.
 
bool doubleClicked () override
 This method is called each time the InterfaceNode is double clicked by the user.
 
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
 
void attachChild (InterfaceNode *) override
 add a child Component (but leave its parent unchanged)
 
void deleteChildren () override final
 delete all sub Component, but do not delete the pointer (only the top-level component has the right to do that)
 
QString getName () const override
 get the name to be displayed
 
void setName (const QString &) override
 set the name to be displayed
 
const ComponentListgetChildren () const override
 get the list of the InterfaceNode children (sub items in the hierarchy)
 
InterfaceNodegetParent () override
 get the parent Component
 
QPixmap getIcon () override
 Get the pixmap that will be displayed for this node.
 
void setNodeModified (bool) override final
 Set up the node modification flag.
 
bool getNodeModified () const override
 Get the current modification flag.
 
bool inItalic () const override
 A component name is not displayed in italic by default.
 
QMenu * getPopupMenu (QWidget *parent=nullptr) override
 get the popup menu to display (always return nullptr, overwrite this method if you want to give here you own popup)
 
InterfaceFrame
virtual void setFrame (const std::shared_ptr< FrameOfReference > &frame) override
 Set the FrameOfReference of this object.
 
virtual const FrameOfReferencegetFrame () const override
 Get the pointer to this object's FrameOfReference.
 
virtual QMultiMap< const FrameOfReference *, Component * > getAllFrames (bool includeChildrenFrames=true) override
 Get all FrameOfReference owned by this object.
 
virtual QMultiMap< const Transformation *, Component * > getAllTransformations (bool includeChildrenTransformations=true) override
 Get all Transformation owned by this object.
 
virtual void setFrameFrom (const InterfaceFrame *) override
 Modify this object's frame using the given object's frame.
 
virtual void resetFrame () override
 Reset this object's FrameOfReference, that is call setFrame with a newly created frame of reference.
 
vtkSmartPointer< vtkAxesActor > getFrameAxisActor (QString viewerName) override
 get the Frame Actor for a viewer
 
virtual bool getFrameVisibility (QString viewerName) const override
 get the visibility of the Frame axis actor in the named viewer
 
virtual void setFrameVisibility (QString viewerName, bool visibility) override
 set the visibility of the Frame axis actor
 
- Public Member Functions inherited from camitk::InterfaceProperty
 ~InterfaceProperty ()=default
 empty virtual destructor, to avoid memory leak
 
- Public Member Functions inherited from camitk::InterfaceNode
virtual ~InterfaceNode ()=default
 empty virtual destructor, to avoid memory leak
 
- Public Member Functions inherited from camitk::InterfaceGeometry
virtual ~InterfaceGeometry ()=default
 empty virtual destructor, to avoid memory leak
 
virtual vtkSmartPointer< vtkPointSet > getPointSet ()=0
 
virtual void setPointSet (vtkSmartPointer< vtkPointSet >)=0
 set the low-level data set.
 
virtual void setPointData (vtkSmartPointer< vtkDataArray >)=0
 set the point data (may contains a lookup table).
 
virtual void setMeshWorldTransform (vtkSmartPointer< vtkTransform >)=0
 set the transformation for 3D representation
 
virtual vtkSmartPointer< vtkAlgorithmOutput > getDataPort () const =0
 get the custom algorithm pipeline input.
 
virtual void setDataConnection (vtkSmartPointer< vtkAlgorithmOutput >)=0
 Set/reset the connection for the InterfaceGeometry internal algorithm.
 
virtual void setTexture (vtkSmartPointer< vtkTexture >)=0
 Set a texture to this object.
 
virtual vtkSmartPointer< vtkActor > getActor (const RenderingModes)=0
 Return the actor for the representation mode, nullptr if the actor doesn't exist.
 
virtual void updateLabel (const QString &label)=0
 update position and text of the label prop
 
virtual void setPointPosition (const unsigned int orderNumber, const double x, const double y, const double z)=0
 set a given point position
 
virtual void setRenderingModes (const RenderingModes)=0
 
virtual void setEnhancedModes (const EnhancedModes)=0
 set the enhanced mode
 
virtual const EnhancedModes getEnhancedModes () const =0
 get the current enhanced mode
 
virtual void setActorColor (const RenderingModes, double *color)=0
 Set the color of given representation modes.
 
virtual void setActorColor (const RenderingModes, const double, const double, const double)=0
 Set the color of given representation modes.
 
virtual void getActorColor (const RenderingModes mode, double *color, bool ignoreEnhancedModes=false) const =0
 Get the color of given representation modes in the second parameter.
 
virtual void setColor (const double, const double, const double)=0
 Set an (r,g,b) color to all representation modes, without changing the opacity.
 
virtual void setColor (const double, const double, const double, const double)=0
 Set an (r,g,b,a) color to all representation modes.
 
virtual void setActorOpacity (const RenderingModes, const double)=0
 Set the opacity of this representation modes. WARNING color field (surfaceColor, ...) are not modified!
 
virtual double getActorOpacity (const RenderingModes) const =0
 Return the opacity of a given renderng mode.
 
virtual void setOpacity (const double)=0
 Set the opacity of this object. WARNING color field (surfaceColor, ...) are not modified!
 
virtual void setMapperScalarRange (double min, double max)=0
 Set the mapper scalar range.
 
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).
 
virtual void setColorMode (int vtkColorMode=VTK_COLOR_MODE_DEFAULT)=0
 
- 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.
 
virtual vtkSmartPointer< vtkImageActor > get3DImageActor () const =0
 Return the vtkImageActor (vtkProp) representing a slice to be displayed in 3D viewers.
 
virtual vtkSmartPointer< vtkImageData > getImageData () const =0
 Returns the encapsultaed data structure: the image as a vtkImageData.
 
virtual int getNumberOfColors () const =0
 Return the number of colors in the images.
 
virtual vtkSmartPointer< vtkActor > getPickPlaneActor () const =0
 Return the vtkActor used to pick pixels in the slices.
 
virtual vtkSmartPointer< vtkActor > getPixelActor ()=0
 Return the vtkActor used to pick pixels in the slices.
 
virtual void pixelPicked (double, double, double)=0
 This method is called when the associated plane has been picked in the InteractiveViewer, the given coordinates is position where the plane was picked.
 
virtual void setArbitraryTransform (vtkSmartPointer< vtkTransform >)=0
 Set the pointer to the image transformation.
 
virtual void setOriginalVolume (vtkSmartPointer< vtkImageData >)=0
 set the original volume image data (the source vtkImageData before any reslice) and refresh the vtk pipeline
 
virtual void setPixelRealPosition (double, double, double)=0
 move the pixel selection green indicator (pixelActor) to the given real position
 
virtual void setSlice (double x, double y, double z)=0
 Set the slice corresponding to the given image coordinates (in RAI convention)
 
virtual void setSlice (int s)=0
 Set the current slice index.
 
virtual void updatePickPlane ()=0
 update the position of the plane surrounding the currently selected slice
 
virtual ~InterfaceBitMap ()=default
 virtual destructor
 
- Public Member Functions inherited from camitk::InterfaceFrame
virtual ~InterfaceFrame ()=default
 empty virtual destructor, to avoid memory leak
 
- Public Member Functions inherited from camitk::InterfacePersistence
virtual ~InterfacePersistence ()=default
 

Protected Attributes

ComponentList childrenComponent
 The explorer sub items.
 
std::shared_ptr< FrameOfReferenceframeOfReference = nullptr
 The FrameOfReference in which this component's data is represented.
 
unsigned int indexOfPropertyExplorerTab
 The PropertyExplorer tab index to select once refreshed.
 
bool isSelectedFlag
 tells if this particular Component is selected or not
 
bool modifiedFlag
 the modification flag (could be extended to manage a undo/redo list)
 
QString myFileName
 the file name from which the Component is loaded
 
InterfaceGeometrymyGeometry
 myGeometry is the 3d representation of this Component, the Component delegates all InterfaceGeometry activity to myGeometry (delegation pattern)
 
InterfaceNodemyParentNode
 who is the boss? The Component!
 
InterfaceBitMapmySlice
 mySlice is the slice representation of this data component, the Component delegates all InterfaceBitMap activity to mySlice (delegation pattern)
 

InterfaceGeometry

All the implemented InterfaceGeometry methods (delegated or not, see also Component.cpp)

 setPointSet
 
vtkSmartPointer< vtkPointSet > getDataPort
 
vtkSmartPointer< vtkPointSet > vtkSmartPointer< vtkAlgorithmOutput > getActor
 
vtkSmartPointer< vtkPointSet > vtkSmartPointer< vtkAlgorithmOutput > vtkSmartPointer< vtkActor >
 
vtkSmartPointer< vtkPointSet > vtkSmartPointer< vtkAlgorithmOutput > const RenderingModes updateLabel
 
 setRenderingModes
 
 setActorColor
 
const RenderingModes
 
const const double
 
const const const double
 
 setColor
 
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
 
 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 delegate1 (myGeometry, setColorMode, int) delegate1(myGeometry
 
vtkSmartPointer< vtkPointSet > vtkSmartPointer< vtkAlgorithmOutput > const RenderingModes const QString &vtkSmartPointer< vtkProp > getProp (const QString &param) override
 Return the vtkProp (actors, volumes and annotations) corresponding to the given name.
 
unsigned int getNumberOfProp () const override
 return the number of additional prop
 
vtkSmartPointer< vtkProp > getProp (unsigned int index) override
 return an additional prop by its index
 
bool addProp (const QString &name, vtkSmartPointer< vtkProp > prop) override
 insert an additional prop, defining it by its name (default visibility = false).
 
bool removeProp (const QString &name) override
 remove a given additional prop.
 
void pointPicked (vtkIdType, bool) override
 an inherited class can redefine this method something specific.
 
void cellPicked (vtkIdType, bool) override
 an inherited class can redefine this method something specific.
 
virtual vtkSmartPointer< vtkActor > get3DCursor ()
 Return an Actor for a 3D cursor on the picked location This should be redefined into something specific.
 
void getBounds (double *bounds) override
 compute the object's bounding box [xmin,xmax, ymin,ymax, zmin,zmax], see Component.cpp
 
double getBoundingRadius () override
 compute the object's bounding sphere radius,
 
 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
 
 delegateAndInvokeChildren1 (myGeometry, setEnhancedModes, const EnhancedModes) virtual const EnhancedModes getEnhancedModes() const override
 
 delegateAndInvokeChildren1Array (myGeometry, setActorColor, const RenderingModes, double, 4) delegateAndInvokeChildren4(myGeometry
 
const const const const double void getActorColor (const RenderingModes, double[4], bool ignoreEnhancedModes=false) const override
 see Component.cpp
 
 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
 
virtual void setLinesAsTubes (bool isTubes=true, bool radiusFromLength=true, double radiusFactor=1.0/40.0, int numberOfSides=5) override
 Set the lines as tubes (works only for vtkDataSet representation that contains lines)
 

InterfaceBitMap

All the implemented InterfaceBitMap methods

 getImageData
 
vtkSmartPointer< vtkImageData > get2DImageActor
 
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > getPickPlaneActor
 
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > pixelPicked
 
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > double
 
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > double setSlice
 
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > double int getNumberOfColors
 
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > double int int setArbitraryTransform
 
vtkSmartPointer< vtkImageData > delegate1 (mySlice, setOriginalVolume, vtkSmartPointer< vtkImageData >) delegateConstGet0(mySlice
 
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > delegateConstGet0 (mySlice, get3DImageActor, vtkSmartPointer< vtkImageActor >) delegateConstGet0(mySlice
 
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > delegateGet0 (mySlice, getPixelActor, vtkSmartPointer< vtkActor >) delegate3(mySlice
 
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > double delegate0 (mySlice, updatePickPlane) delegate1(mySlice
 
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > double int delegate3 (mySlice, setSlice, double, double, double) delegateConstGet0(mySlice
 
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > double int int delegate3 (mySlice, setPixelRealPosition, double, double, double) delegate1(mySlice
 
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > double int int vtkSmartPointer< vtkTransform > int getNumberOfSlices () const override
 see Component.cpp
 
int getSlice () const override
 see Component.cpp
 

Detailed Description

A Component represents something that could be included in the explorer view, the interactive 3D viewer, and that could have or not a contextual popup menu (open by a right click in the explorer), a property dialog (to change some properties) Thus, a Component inherits from many abstract classes.

A Component can only have one implemented representation.

For CAMITK core developers: This class uses the Object Adapter Design Pattern (aka delegate pattern) to delegates all InterfaceGeometry and InterfaceBitMap to respectively myGeometry:Geometry and mySlice:InterfaceBitMap It handles the InterfaceNode without delegation. Considering this Design Pattern, Component is the Adaptor and Geometry and InterfaceBitMap are the Adaptee classes.

This class has some static member to manage all the currently instantiated Components as well as the currently selected Components.

Actions generally use setPointSet() (for InterfaceGeometry) and setOriginalVolume (for InterfaceBitMap) to do some data processing and directly modify the low-level Vtk data. It is thus very important to rewrite these methods in your Component subclass to takes the actions' modification into account in your low-level data.

Dynamic properties: if your Component defines some dynamic properties, you might want to override propertyValueChanged() in order to update the internal state of your object when a dynamic property's value has been changed.

See also
ObjComponent for a good example

It extensively uses Qt Meta-Object system (concepts and implementation). see http://doc.qt.nokia.com/latest/metaobjects.html

Member Enumeration Documentation

◆ Representation

The different representation that can be implemented to represent this Component in the InteractiveViewer.

use getRepresentation() to get the information about a specific Component.

Note
the representation cannot be nullptr; if a Component does not have any representation, then getRepresentation() should return NO_REPRESENTATION (default).
Enumerator
GEOMETRY 

this Component can be displayed as a GEOMETRY

SLICE 

this Component can be displayed as a SLICE

NO_REPRESENTATION 

this Component has no representation implemented

Constructor & Destructor Documentation

◆ Component() [1/2]

Component::Component ( QString  file,
QString  name,
Representation  rep = NO_REPRESENTATION,
bool  createDefaultFrame = true 
)

Component constructor for top-level component (please use the other constructor for sub-level components).

parentComponent is set to nullptr (=> isTopLevel() will return true).

Parameters
filethe file to get the data from
namethe Component name
repthe representation concretely implemented by this Component (default=NO_REPRESENTATION)
createDefaultFrameWhether the component should create its frame (should be set to false only if the frame is created/set in another way)

◆ Component() [2/2]

Component::Component ( Component parentComponent,
const QString &  name,
Representation  rep = NO_REPRESENTATION,
bool  createDefaultFrame = true 
)

Component constructor for a Component that is a child of another Component You should not use this constructor for a top-level component.

This method may throw an AbortException if a problem occurs.

Parameters
parentComponentthe parent Component
namethe Component name
repthe representation implemented by this Component (default=NO_REPRESENTATION)
createDefaultFrameWhether the component should create its frame (should be set to false only if the frame is created/set in another way)
Exceptions
AbortExceptionif parentComponent is nullptr.

References camitk::InterfaceNode::addChild(), myFileName, and myParentNode.

+ Here is the call graph for this function:

◆ ~Component()

Component::~Component ( )
overridevirtual

default destructor.

The Component class destructor is automatically called after the inherited destructor has finished (C++ standard). This destructor delete all the children, clear all this component's viewer list, delete all helper class instance (Geometry, Slice or Frame), which in turns will delete the VTK pipeline and any additional prop, and finally delete and all additional CamiTK Properties.

See also
deleteChildren()

References deleteChildren(), getParentComponent(), isSelectedFlag, myGeometry, mySlice, and setSelected().

+ Here is the call graph for this function:

Member Function Documentation

◆ addChild()

void Component::addChild ( InterfaceNode )
overridevirtual

add a child Component (sub item in the hierarchy), and modify the child's parent to be equal to this instance

This is to be used with care. The preferred method to add a child component is to use the Component's constructor with the parent parameter: Component(Component *, const QString &, Representation rep) .

See also
attachChild()

Implements camitk::InterfaceNode.

References attachChild(), setNodeModified(), and camitk::InterfaceNode::setParent().

Referenced by MMLComponent::connectPml(), and MMLComponent::MMLComponent().

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

◆ addProp()

bool camitk::Component::addProp ( const QString &  ,
vtkSmartPointer< vtkProp >   
)
inlineoverridevirtual

insert an additional prop, defining it by its name (default visibility = false).

Returns
true if the additional prop was added (i.e. another additional prop of the same name does not exist)

Implements camitk::InterfaceGeometry.

Referenced by VolumeRenderingAction::createVolumeRendering(), and camitk::MeshComponent::initSelection().

+ Here is the caller graph for this function:

◆ addProperty()

bool Component::addProperty ( Property prop)
overridevirtual

Add a new CamiTK property to the component.

If the property already exist, it will just change its value.

Note
The component takes ownership of the Property instance.
Returns
false if the Qt Meta Object property was added by this method (otherwise the property was already defined and true is returned if it was successfully updated)

Implements camitk::InterfaceProperty.

Reimplemented in camitk::SimplisticComponent.

Referenced by camitk::ArbitrarySingleImageComponent::ArbitrarySingleImageComponent(), PMLExplorerWidget::createNewProperty(), PMLComponent::initDynamicProperties(), camitk::MeshComponent::initDynamicProperties(), and camitk::ImageComponent::setImageData().

+ Here is the caller graph for this function:

◆ attachChild()

void Component::attachChild ( InterfaceNode )
overridevirtual

add a child Component (but leave its parent unchanged)

There can be some refresh problem, see the note in addChild()

Implements camitk::InterfaceNode.

References childrenComponent, and setNodeModified().

Referenced by addChild().

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

◆ cellPicked()

void camitk::Component::cellPicked ( vtkIdType  ,
bool   
)
inlineoverridevirtual

an inherited class can redefine this method something specific.

Default behaviour: do nothing.

Implements camitk::InterfaceGeometry.

Reimplemented in camitk::MeshComponent.

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

+ Here is the caller graph for this function:

◆ delegate0()

vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > double camitk::Component::delegate0 ( mySlice  ,
updatePickPlane   
)

◆ delegate1() [1/5]

vtkSmartPointer< vtkPointSet > vtkSmartPointer< vtkAlgorithmOutput > const RenderingModes camitk::Component::delegate1 ( myGeometry  ,
setColorMode  ,
int   
)

◆ delegate1() [2/5]

vtkSmartPointer< vtkPointSet > vtkSmartPointer< vtkAlgorithmOutput > camitk::Component::delegate1 ( myGeometry  ,
setDataConnection  ,
vtkSmartPointer< vtkAlgorithmOutput >   
)

◆ delegate1() [3/5]

vtkSmartPointer< vtkPointSet > camitk::Component::delegate1 ( myGeometry  ,
setPointData  ,
vtkSmartPointer< vtkDataArray >   
)

◆ delegate1() [4/5]

const const const const double const RenderingModes double camitk::Component::delegate1 ( myGeometry  ,
setTexture  ,
vtkSmartPointer< vtkTexture >   
) const

◆ delegate1() [5/5]

vtkSmartPointer< vtkImageData > camitk::Component::delegate1 ( mySlice  ,
setOriginalVolume  ,
vtkSmartPointer< vtkImageData >   
)

◆ delegate3() [1/2]

vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > double int int camitk::Component::delegate3 ( mySlice  ,
setPixelRealPosition  ,
double  ,
double  ,
double   
)

◆ delegate3() [2/2]

vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > double int camitk::Component::delegate3 ( mySlice  ,
setSlice  ,
double  ,
double  ,
double   
)

◆ delegate4()

camitk::Component::delegate4 ( myGeometry  ,
setPointPosition  ,
const unsigned int  ,
const double  ,
const double  ,
const double   
)

◆ delegateAndInvokeChildren1() [1/2]

camitk::Component::delegateAndInvokeChildren1 ( myGeometry  ,
setEnhancedModes  ,
const EnhancedModes   
) const
inlineoverride

References camitk::InterfaceGeometry::getEnhancedModes().

+ Here is the call graph for this function:

◆ delegateAndInvokeChildren1() [2/2]

const const const const double const RenderingModes camitk::Component::delegateAndInvokeChildren1 ( myGeometry  ,
setOpacity  ,
const double   
)

◆ delegateAndInvokeChildren1Array()

camitk::Component::delegateAndInvokeChildren1Array ( myGeometry  ,
setActorColor  ,
const RenderingModes  ,
double  ,
 
)

◆ delegateAndInvokeChildren2()

const const const const double camitk::Component::delegateAndInvokeChildren2 ( myGeometry  ,
setActorOpacity  ,
const RenderingModes  ,
const double   
)

◆ delegateAndInvokeChildren3()

camitk::Component::delegateAndInvokeChildren3 ( myGeometry  ,
setColor  ,
const double  ,
const double  ,
const double   
)

◆ delegateConstGet0()

Component::delegateConstGet0 ( mySlice  ,
get3DImageActor  ,
vtkSmartPointer< vtkImageActor >   
)

◆ delegateGet0() [1/2]

camitk::Component::delegateGet0 ( myGeometry  ,
getPointSet  ,
vtkSmartPointer< vtkPointSet >   
)

◆ delegateGet0() [2/2]

vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > camitk::Component::delegateGet0 ( mySlice  ,
getPixelActor  ,
vtkSmartPointer< vtkActor >   
)

◆ deleteChildren()

void Component::deleteChildren ( )
finaloverridevirtual

delete all sub Component, but do not delete the pointer (only the top-level component has the right to do that)

Implements camitk::InterfaceNode.

References childrenComponent, camitk::Application::isAlive(), and setNodeModified().

Referenced by MMLComponent::connectPml(), and ~Component().

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

◆ doubleClicked()

bool Component::doubleClicked ( )
inlineoverridevirtual

This method is called each time the InterfaceNode is double clicked by the user.

It returns false by default. You must overload this method in Components to change its behaviour.

Implements camitk::InterfaceNode.

◆ event()

bool Component::event ( QEvent *  e)
override

Overriden from QObject, this one is only intercepting signal for dynamic property changed (see constructor).

References propertyValueChanged().

+ Here is the call graph for this function:

◆ fromVariant()

void Component::fromVariant ( const QVariant &  newValues)
overridevirtual

Load data from a QVariant to initialize the current object.

Implements camitk::InterfacePersistence.

Reimplemented in camitk::ImageComponent, and camitk::MeshComponent.

References CAMITK_WARNING_ALT, camitk::TransformationManager::getFrameOfReferenceOwnership(), and setFrame().

Referenced by camitk::ImageComponent::fromVariant(), and camitk::MeshComponent::fromVariant().

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

◆ get3DCursor()

virtual vtkSmartPointer< vtkActor > camitk::Component::get3DCursor ( )
inlinevirtual

Return an Actor for a 3D cursor on the picked location This should be redefined into something specific.

Reimplemented in camitk::ArbitrarySingleImageComponent, camitk::ImageComponent, and camitk::SingleImageComponent.

Referenced by camitk::ArbitrarySingleImageComponent::get3DCursor(), camitk::SingleImageComponent::get3DCursor(), and camitk::InteractiveViewer::refresh().

+ Here is the caller graph for this function:

◆ getActionMenu()

QMenu * Component::getActionMenu ( )

Get a QMenu that contains all the action that can be applied to this component.

References camitk::actionLessThan(), camitk::Viewer::DOCKED, camitk::Application::getActions(), camitk::Application::getViewers(), getVisibility(), camitk::Application::refresh(), and setVisibility().

Referenced by ImpMainWindow::updateActionStates().

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

◆ getActorColor()

void Component::getActorColor ( const RenderingModes  ,
double  [4],
bool  ignoreEnhancedModes = false 
) const
override

see Component.cpp

References childrenComponent, camitk::InterfaceGeometry::getActorColor(), and myGeometry.

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

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

◆ getAllFrames()

QMultiMap< const FrameOfReference *, Component * > Component::getAllFrames ( bool  includeChildrenFrames = true)
overridevirtual

Get all FrameOfReference owned by this object.

  • includeChildrenFrames Include the frames of this object's children along with its own

Implements camitk::InterfaceFrame.

Reimplemented in camitk::ArbitrarySingleImageComponent, and camitk::ImageComponent.

References getChildren(), and getFrame().

Referenced by camitk::ArbitrarySingleImageComponent::getAllFrames().

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

◆ getAllTransformations()

QMultiMap< const Transformation *, Component * > Component::getAllTransformations ( bool  includeChildrenTransformations = true)
overridevirtual

Get all Transformation owned by this object.

  • includeChildrenTransformations Include the Transformation of this object's children along with its own

Implements camitk::InterfaceFrame.

Reimplemented in camitk::ArbitrarySingleImageComponent, and camitk::ImageComponent.

References getChildren().

Referenced by camitk::ArbitrarySingleImageComponent::getAllTransformations().

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

◆ getBoundingRadius()

double Component::getBoundingRadius ( )
overridevirtual

compute the object's bounding sphere radius,

See also
Component.cpp
Returns
the bounding radius of the Geometry or -1 if there is no Geometry

Implements camitk::InterfaceGeometry.

References childrenComponent, camitk::InterfaceGeometry::getBoundingRadius(), and myGeometry.

+ Here is the call graph for this function:

◆ getBounds()

void Component::getBounds ( double bounds)
overridevirtual

compute the object's bounding box [xmin,xmax, ymin,ymax, zmin,zmax], see Component.cpp

Implements camitk::InterfaceGeometry.

References childrenComponent, getBounds(), invoke1, and myGeometry.

Referenced by getBounds(), and getFrameAxisActor().

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

◆ getChildren()

const ComponentList & Component::getChildren ( ) const
inlineoverridevirtual

get the list of the InterfaceNode children (sub items in the hierarchy)

Implements camitk::InterfaceNode.

References childrenComponent.

Referenced by getAllFrames(), camitk::ImageComponent::getAllFrames(), getAllTransformations(), camitk::ImageComponent::getAllTransformations(), camitk::ImageComponent::pixelPicked(), camitk::ImageComponent::setFramesAndTransformation(), and camitk::ImageComponent::setSelected().

+ Here is the caller graph for this function:

◆ getFileName()

const QString Component::getFileName ( ) const

get the file name where the data have to be stored/were stored

References myFileName.

Referenced by GenerateModel::apply(), SaveAsAction::apply(), ObjComponent::ObjComponent(), VtkImageComponentExtension::save(), PMLComponentExtension::save(), MshExtension::save(), ObjExtension::save(), OffExtension::save(), StlExtension::save(), camitk::Application::save(), camitk::ComponentExtension::save(), ItkImageComponentExtension::saveImage(), MMLComponent::saveMML(), StlComponent::StlComponent(), and toVariant().

+ Here is the caller graph for this function:

◆ getFrame()

virtual const FrameOfReference * camitk::Component::getFrame ( ) const
inlineoverridevirtual

Get the pointer to this object's FrameOfReference.

Note
Please use TransformationManager::getFrameOfReferenceOwnership(FrameOfReference*)

Implements camitk::InterfaceFrame.

Referenced by camitk::InteractiveViewer::addActor(), MergeMeshes::apply(), getAllFrames(), camitk::ImageComponent::getAllFrames(), camitk::InteractiveViewer::picked(), camitk::InteractiveViewer::refresh(), camitk::ImageComponent::setImageData(), and toVariant().

+ Here is the caller graph for this function:

◆ getFrameAxisActor()

vtkSmartPointer< vtkAxesActor > Component::getFrameAxisActor ( QString  viewerName)
overridevirtual

get the Frame Actor for a viewer

Implements camitk::InterfaceFrame.

References getBounds(), getParentComponent(), and myParentNode.

+ Here is the call graph for this function:

◆ getFrameVisibility()

bool Component::getFrameVisibility ( QString  viewerName) const
overridevirtual

get the visibility of the Frame axis actor in the named viewer

Implements camitk::InterfaceFrame.

◆ getHierarchy()

QStringList Component::getHierarchy ( ) const
overridevirtual

Get the inheritance hierarchy of this Component instance as a list of QString

Implements camitk::InterfaceProperty.

Referenced by camitk::Application::getActions(), camitk::Application::getViewers(), isInstanceOf(), and main().

+ Here is the caller graph for this function:

◆ getIcon()

QPixmap Component::getIcon ( )
inlineoverridevirtual

Get the pixmap that will be displayed for this node.

If you want your component to have a nice pixmap displayed in the explorer, for example, you just need to

  1. declare a new static member and redefines the getIcon() method (in MyComponent.h):
    public:
    virtual QPixmap getIcon();
    private:
    static QPixmap * myPixmap; // declare a ptr here (it is static for optimization)
    QPixmap getIcon() override
    Get the pixmap that will be displayed for this node.
    Definition sdk/libraries/core/component/Component.h:926
  2. add these lines in your code (in MyComponent.cpp):
// use this two lines or better use a Qt resource bundle (recommanded!)
#include "myComponent_pixmap.xpm" // include the pixmap resource file or use a Qt resource bundle
QPixmap * MyComponent::myPixmap = nullptr; // static initialization
QPixmap MyComponent::getIcon() {
// check if the class instance was already used somewhere
if (!myPixmap) {
// create the pixmap from the data like this (or using the Qt resource bundle, see Qt documentation)
myPixmap = new QPixmap(myComponent_pixmap); // myComponent_pixmap is the name of the char[] found in the .xpm file
}
// return the object (not the pointer
return (*myPixmap);
}

And that all folks! A nice icon will be now used to display your component!

Note
Recommanded pixmap size is 20x20 (not nice, but efficient)...

Implements camitk::InterfaceNode.

Reimplemented in PMLComponent, VtkMeshComponent, and camitk::MeshComponent.

◆ getIndexOfPropertyExplorerTab()

unsigned int camitk::Component::getIndexOfPropertyExplorerTab ( )
inlineoverridevirtual

Get the index of the tab in the ProperlyExplorer to select for display.

The ProperlyExplorer may features several tabs of widget. This method allows one to select the one to select for display in a given context.

Returns
the index to select in the tab of the ProperlyExplorer.
See also
PropertyExplorer

Implements camitk::InterfaceProperty.

Referenced by PropertyExplorer::refresh().

+ Here is the caller graph for this function:

◆ getModified()

bool Component::getModified ( ) const
inlinevirtual

set the modified flag

Reimplemented in MMLComponent.

References modifiedFlag.

Referenced by camitk::Application::close(), and MMLComponent::getModified().

+ Here is the caller graph for this function:

◆ getName()

QString Component::getName ( ) const
inlineoverridevirtual

◆ getNodeModified()

bool Component::getNodeModified ( ) const
inlineoverridevirtual

Get the current modification flag.

Implements camitk::InterfaceNode.

◆ getNumberOfProp()

unsigned int camitk::Component::getNumberOfProp ( ) const
inlineoverridevirtual

return the number of additional prop

Implements camitk::InterfaceGeometry.

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

+ Here is the caller graph for this function:

◆ getNumberOfPropertyWidget()

unsigned int camitk::Component::getNumberOfPropertyWidget ( )
inlineoverridevirtual

get the number of alternative property widgets

See also
PropertyExplorer

Implements camitk::InterfaceProperty.

Reimplemented in camitk::ImageComponent, and camitk::MeshComponent.

Referenced by PropertyExplorer::refresh().

+ Here is the caller graph for this function:

◆ getNumberOfSlices()

int Component::getNumberOfSlices ( ) const
overridevirtual

see Component.cpp

Implements camitk::InterfaceBitMap.

Reimplemented in camitk::ImageComponent.

References camitk::InterfaceBitMap::getNumberOfSlices(), and mySlice.

Referenced by camitk::ImageComponent::getNumberOfSlices(), and camitk::InteractiveViewer::refresh().

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

◆ getParent()

InterfaceNode * Component::getParent ( )
inlineoverridevirtual

get the parent Component

Implements camitk::InterfaceNode.

References myParentNode.

Referenced by camitk::SingleImageComponent::pixelPicked(), and camitk::SingleImageComponent::setSelected().

+ Here is the caller graph for this function:

◆ getParentComponent()

Component * Component::getParentComponent ( )

get the parent component

References myParentNode.

Referenced by RemoveLastInstantiatedAction::apply(), SelectLastInstantiatedAction::apply(), camitk::ArbitrarySingleImageComponent::get3DCursor(), camitk::SingleImageComponent::get3DCursor(), getFrameAxisActor(), getTopLevelComponent(), camitk::SingleImageComponent::initRepresentation(), and ~Component().

+ Here is the caller graph for this function:

◆ getPopupMenu()

QMenu * camitk::Component::getPopupMenu ( QWidget *  parent = nullptr)
inlineoverridevirtual

get the popup menu to display (always return nullptr, overwrite this method if you want to give here you own popup)

Implements camitk::InterfaceNode.

◆ getProp() [1/2]

vtkSmartPointer< vtkPointSet > vtkSmartPointer< vtkAlgorithmOutput > const RenderingModes const QString &vtkSmartPointer< vtkProp > camitk::Component::getProp ( const QString &  )
inlineoverridevirtual

Return the vtkProp (actors, volumes and annotations) corresponding to the given name.

Implements camitk::InterfaceGeometry.

Referenced by VolumeRenderingAction::apply(), VolumeRenderingAction::createVolumeRendering(), VolumeRenderingAction::getQAction(), VolumeRenderingAction::getWidget(), camitk::InteractiveViewer::refresh(), camitk::MeshComponent::setDataRepresentationOff(), camitk::MeshComponent::setDataRepresentationVisibility(), and camitk::InteractiveViewer::updateActions().

+ Here is the caller graph for this function:

◆ getProp() [2/2]

vtkSmartPointer< vtkProp > camitk::Component::getProp ( unsigned int  )
inlineoverridevirtual

return an additional prop by its index

Implements camitk::InterfaceGeometry.

◆ getProperty()

Property * Component::getProperty ( QString  name)
overridevirtual

Get a Property given its name.

Parameters
namethe property name
Returns
nullptr if the name does not match any property name
See also
Property

Implements camitk::InterfaceProperty.

◆ getPropertyObject() [1/2]

const QObject * camitk::Component::getPropertyObject ( ) const
inlineoverridevirtual

◆ getPropertyObject() [2/2]

QObject * camitk::Component::getPropertyObject ( )
inlineoverridevirtual

Get the property object that could be understood by PropertyEditor.

Returns this as any Component instance can manage its list of dynamic properties (and Component inherits from InterfaceProperty ). You can also have a separate class to manage your Component properties. In this case, just override this method and return the corresponding instance.

See also
PropertyExplorer
ObjectController

Implements camitk::InterfaceProperty.

Referenced by PropertyExplorer::refresh(), and toVariant().

+ Here is the caller graph for this function:

◆ getPropertyValue()

QVariant Component::getPropertyValue ( const QString &  name) const
overridevirtual

get the property QVariant (same as property(const char*)) but check if it exists first.

If the property was not declared using addProperty, this methods prints an error message and returns an invalid QVariant

Implements camitk::InterfaceProperty.

References CAMITK_WARNING.

Referenced by getName(), AnglesAndTranslationAction::getWidget(), PMLComponent::propertyValueChanged(), VtkMeshComponent::propertyValueChanged(), propertyValueChanged(), AnglesAndTranslationAction::resetTransform(), and AnglesAndTranslationAction::updateTranslation().

+ Here is the caller graph for this function:

◆ getPropertyWidgetAt()

QWidget * camitk::Component::getPropertyWidgetAt ( unsigned int  )
inlineoverridevirtual

Get the ith alternative property widget.

See also
PropertyExplorer

Implements camitk::InterfaceProperty.

Reimplemented in camitk::ImageComponent, and camitk::MeshComponent.

Referenced by PropertyExplorer::refresh().

+ Here is the caller graph for this function:

◆ getRenderingModes()

const InterfaceGeometry::RenderingModes Component::getRenderingModes ( ) const
overridevirtual

see Component.cpp

Implements camitk::InterfaceGeometry.

References childrenComponent, camitk::InterfaceGeometry::getRenderingModes(), myGeometry, and camitk::InterfaceGeometry::None.

Referenced by camitk::MeshComponent::toVariant(), and camitk::InteractiveViewer::updateActions().

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

◆ getRepresentation()

Component::Representation Component::getRepresentation ( ) const

return the type of representation concretely implemented by this Component in the InteractiveViewer.

Note
if a Component does not have any representation, then getRepresentation() returns NO_REPRESENTATION (default).

References CAMITK_ERROR, GEOMETRY, myGeometry, mySlice, NO_REPRESENTATION, and SLICE.

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

+ Here is the caller graph for this function:

◆ getSlice()

int Component::getSlice ( ) const
overridevirtual

see Component.cpp

Implements camitk::InterfaceBitMap.

References camitk::InterfaceBitMap::getSlice(), and mySlice.

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

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

◆ getTopLevelComponent()

Component * Component::getTopLevelComponent ( )

get the top-level component

References getParentComponent(), getTopLevelComponent(), and isTopLevel().

Referenced by getTopLevelComponent().

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

◆ getUuid()

QUuid Component::getUuid ( ) const
overridevirtual

Get the unique ID of the component.

Implements camitk::InterfacePersistence.

◆ getVisibility()

bool Component::getVisibility ( QString  viewerName) const
virtual

◆ inItalic()

bool Component::inItalic ( ) const
inlineoverridevirtual

A component name is not displayed in italic by default.

You must redefine this method in you inherited Component to change this behaviour.

Implements camitk::InterfaceNode.

◆ isInstanceOf()

bool Component::isInstanceOf ( QString  className) const
overridevirtual

Assert that a Component instance really inherits from a given className.

Implements camitk::InterfaceProperty.

References getHierarchy().

Referenced by camitk::Action::setInputComponent().

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

◆ isSelected()

bool Component::isSelected ( ) const
inlinevirtual

Check if this data component is selected.

References isSelectedFlag.

Referenced by camitk::InteractiveViewer::picked(), and camitk::InteractiveViewer::updateSelectionDisplay().

+ Here is the caller graph for this function:

◆ isTopLevel()

bool Component::isTopLevel ( ) const

return true if this component is a top-level component

References myParentNode.

Referenced by SaveAsAction::apply(), getTopLevelComponent(), and camitk::Application::open().

+ Here is the caller graph for this function:

◆ pointPicked()

void camitk::Component::pointPicked ( vtkIdType  ,
bool   
)
inlineoverridevirtual

an inherited class can redefine this method something specific.

Default behaviour: do nothing.

Implements camitk::InterfaceGeometry.

Reimplemented in camitk::MeshComponent.

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

+ Here is the caller graph for this function:

◆ propertyValueChanged()

void Component::propertyValueChanged ( QString  name)
overridevirtual

This method is called when a dynamic property value has been modified.

If you override this method, do not forget to call the superclass method for the properties not managed locally in order to properly manage all inherited dynamic properties. This method is called when a dynamic property has been updated.

Use getPropertyValue(name) to get the current (updated) value of the dynamic property.

Parameters
namethe name of the dynamic property

Implements camitk::InterfaceProperty.

Reimplemented in PMLComponent, VtkMeshComponent, and camitk::ImageComponent.

References CAMITK_INFO, getPropertyValue(), setNodeModified(), camitk::toString(), and updateLabel.

Referenced by event(), camitk::ArbitrarySingleImageComponent::propertyValueChanged(), and camitk::ImageComponent::propertyValueChanged().

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

◆ refresh()

void Component::refresh ( )
virtual

refresh all the viewer that are currently displaying this Component At the end the InterfaceNode modification flag is reset.

Reimplemented in camitk::ImageComponent.

References camitk::Application::getViewer(), camitk::Viewer::refresh(), and setNodeModified().

Referenced by camitk::MeshComponent::changeSelectedSelection(), MMLComponent::connectPml(), AnglesAndTranslationAction::event(), MMLComponent::MMLComponent(), PMLExplorerWidget::propertyChanged(), VtkMeshComponent::propertyValueChanged(), PMLComponent::refreshDisplay(), ComponentExplorer::renameItem(), AnglesAndTranslationAction::resetTransform(), StlExtension::save(), camitk::MeshComponent::setDataRepresentationOff(), and camitk::MeshComponent::setDataRepresentationVisibility().

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

◆ removeChild()

void Component::removeChild ( InterfaceNode childNode)
overridevirtual

remove a child node.

This method automatically update the parentComponent of the given InterfaceNode (it is set to nullptr).

Implements camitk::InterfaceNode.

References childrenComponent, setNodeModified(), and camitk::InterfaceNode::setParent().

Referenced by MMLComponent::connectPml(), camitk::ImageComponent::replaceImageData(), and camitk::ImageComponent::setSingleImageComponents().

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

◆ removeProp()

bool camitk::Component::removeProp ( const QString &  )
inlineoverridevirtual

remove a given additional prop.

Returns
true if effictively done

Implements camitk::InterfaceGeometry.

Referenced by VolumeRenderingAction::createVolumeRendering(), camitk::MeshComponent::removeDataArray(), and camitk::MeshComponent::vectorRepresentationPolicyChanged().

+ Here is the caller graph for this function:

◆ resetFrame()

void Component::resetFrame ( )
overridevirtual

Reset this object's FrameOfReference, that is call setFrame with a newly created frame of reference.

Note
you can reimplement this method if you need to manage more than this frame of reference (
See also
ImageComponent::setFrameFrom())

Implements camitk::InterfaceFrame.

Reimplemented in camitk::ImageComponent.

References camitk::TransformationManager::addFrameOfReference(), getName(), and setFrame().

+ Here is the call graph for this function:

◆ setFileName()

void Component::setFileName ( const QString &  fName)

set the file name where the data have to be stored

References myFileName.

Referenced by GenerateModel::apply(), SaveAsAction::apply(), and main().

+ Here is the caller graph for this function:

◆ setFrame()

virtual void camitk::Component::setFrame ( const std::shared_ptr< FrameOfReference > &  frame)
inlineoverridevirtual

Set the FrameOfReference of this object.

Note that this methods will take ownership of the given frame thanks to the shared_ptr.

Implements camitk::InterfaceFrame.

Reimplemented in camitk::ArbitrarySingleImageComponent, and camitk::ImageComponent.

Referenced by ImageReconstructionAction::apply(), MergeMeshes::apply(), fromVariant(), resetFrame(), camitk::ImageComponent::setFrame(), setFrameFrom(), camitk::ImageComponent::setFramesAndTransformation(), and camitk::SingleImageComponent::SingleImageComponent().

+ Here is the caller graph for this function:

◆ setFrameFrom()

void Component::setFrameFrom ( const InterfaceFrame fr)
overridevirtual

Modify this object's frame using the given object's frame.

Note
you can reimplement this method if you need to manage more than this frame of reference (
See also
ImageComponent::setFrameFrom())

Implements camitk::InterfaceFrame.

Reimplemented in camitk::ImageComponent.

References camitk::InterfaceFrame::getFrame(), camitk::TransformationManager::getFrameOfReferenceOwnership(), and setFrame().

Referenced by camitk::ImageComponent::setFrameFrom().

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

◆ setFrameVisibility()

void Component::setFrameVisibility ( QString  viewerName,
bool  visibility 
)
overridevirtual

set the visibility of the Frame axis actor

Implements camitk::InterfaceFrame.

◆ setIndexOfPropertyExplorerTab()

void camitk::Component::setIndexOfPropertyExplorerTab ( unsigned int  index)
inlinefinaloverridevirtual

Set the index of the tab in the ProperlyExplorer to select for display.

The ProperlyExplorer may features several tabs of widget. This method allows one to select the one to select for display in a given context.

Parameters
indexthe index to select in the tab of the ProperlyExplorer.
See also
PropertyExplorer

Implements camitk::InterfaceProperty.

Referenced by camitk::MeshComponent::changeSelectedSelection(), and camitk::ImageComponent::pixelPicked().

+ Here is the caller graph for this function:

◆ setLinesAsTubes()

virtual void camitk::Component::setLinesAsTubes ( bool  isTubes = true,
bool  radiusFromLength = true,
double  radiusFactor = 1.0/40.0,
int  numberOfSides = 5 
)
inlineoverridevirtual

Set the lines as tubes (works only for vtkDataSet representation that contains lines)

Parameters
isTubesactivate tube representation of lines
radiusFromLengthradius of tubes is computed as a proportion of line length
radiusFactorradius of tubes will be : radiusFactor*lineLength if radiusFromLength is true, radiusFactor if it is false
numberOfSidesNumber of sides of the tubes

Implements camitk::InterfaceGeometry.

◆ setModified()

void Component::setModified ( bool  modified = true)
inlinevirtual

set the modified flag

References modifiedFlag.

Referenced by CreateSC::apply(), CenterMesh::apply(), LoadTransformation::apply(), PropertyExplorer::getWidget(), camitk::ImageComponent::ImageComponent(), camitk::MeshComponent::MeshComponent(), MMLComponent::MMLComponent(), PMLExplorerWidget::propertyChanged(), and camitk::Application::save().

+ Here is the caller graph for this function:

◆ setName()

void Component::setName ( const QString &  )
overridevirtual

set the name to be displayed

Implements camitk::InterfaceNode.

Reimplemented in camitk::MeshComponent.

References setPropertyValue().

Referenced by DicomComponent::DicomComponent(), camitk::ImageComponent::ImageComponent(), ComponentExplorer::renameItem(), and camitk::MeshComponent::setName().

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

◆ setNodeModified()

void Component::setNodeModified ( bool  )
inlinefinaloverridevirtual

Set up the node modification flag.

This means that the name(s) or children hierarchy were modified This can be useful information when a viewer, such as the Explorer viewer, needs to know what to refresh

Implements camitk::InterfaceNode.

Referenced by addChild(), attachChild(), deleteChildren(), PropertyExplorer::getWidget(), propertyValueChanged(), refresh(), removeChild(), and setParent().

+ Here is the caller graph for this function:

◆ setParent()

void Component::setParent ( InterfaceNode pes)
overridevirtual

set the parent Component.

This method automatically remove this Component from its previous parent (if it already had one parent Component)

Implements camitk::InterfaceNode.

References myParentNode, camitk::InterfaceNode::removeChild(), and setNodeModified().

+ Here is the call graph for this function:

◆ setPropertyValue()

bool Component::setPropertyValue ( const QString &  name,
QVariant  newValue 
)
overridevirtual

set the property QVariant value (same as setProperty(const char*, newValue)) but check if it exists first.

If the property was not declared using addProperty, this methods prints an error message and returns false

Implements camitk::InterfaceProperty.

References CAMITK_WARNING.

Referenced by AnglesAndTranslationAction::event(), camitk::ArbitrarySingleImageComponent::resetTransform(), setName(), camitk::ArbitrarySingleImageComponent::setSlice(), camitk::ArbitrarySingleImageComponent::setSlice(), and camitk::ArbitrarySingleImageComponent::updatePropertyFromTransformation().

+ Here is the caller graph for this function:

◆ setSelected()

void Component::setSelected ( const bool  b,
const bool  recursive = true 
)
virtual

Update the selection flag.

Parameters
bthe value of the flag (true means "is selected")
recursiveif true (default), also updates the children Component selection flags.

Reimplemented in camitk::ImageComponent, MMLComponent, PMLComponent, and camitk::SingleImageComponent.

References childrenComponent, and isSelectedFlag.

Referenced by SelectLastInstantiatedAction::apply(), main(), camitk::Viewer::selectionChanged(), camitk::ImageComponent::setSelected(), MMLComponent::setSelected(), PMLComponent::setSelected(), camitk::SingleImageComponent::singleImageSelected(), and ~Component().

+ Here is the caller graph for this function:

◆ setUuid()

bool Component::setUuid ( QUuid  uuid)
overridevirtual

Set the unique ID of the component.

Warning
This value can only be set once, to avoid the UUID changing for an object
Returns
The returns true if the value was set, false if it was not (meaning it already has a valid value)

Implements camitk::InterfacePersistence.

◆ setVisibility()

void Component::setVisibility ( QString  viewerName,
bool  b 
)
virtual

set the visibility inside the viewer of the given name (the viewer needs to be a registered viewer)

Reimplemented in camitk::ImageComponent.

References camitk::Application::getViewer().

Referenced by ShowArbitrarySliceIn3D::apply(), ShowAxialSliceIn3D::apply(), ShowCoronalSliceIn3D::apply(), ShowSagittalSliceIn3D::apply(), VolumeRenderingAction::apply(), getActionMenu(), AnglesAndTranslationAction::getWidget(), camitk::SingleImageComponent::initRepresentation(), camitk::MeshComponent::initRepresentation(), OffComponent::OffComponent(), PropertyExplorer::refresh(), and camitk::ImageComponent::setVisibility().

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

◆ toVariant()

QVariant Component::toVariant ( ) const
overridevirtual

Convert all data from the object to a QVariant (usually a QVariantMap)

Implements camitk::InterfacePersistence.

Reimplemented in camitk::ImageComponent, and camitk::MeshComponent.

References getFileName(), getFrame(), getPropertyObject(), and camitk::FrameOfReference::getUuid().

Referenced by camitk::ImageComponent::toVariant(), and camitk::MeshComponent::toVariant().

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

Member Data Documentation

◆ childrenComponent

◆ double [1/6]

vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > Component::double

◆ double [2/6]

const const const camitk::Component::double

◆ double [3/6]

const camitk::Component::double

◆ double [4/6]

const const const const double camitk::Component::double

◆ double [5/6]

const const const const double const RenderingModes camitk::Component::double

◆ double [6/6]

vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > camitk::Component::double

◆ frameOfReference

◆ get2DImageActor

vtkSmartPointer< vtkImageData > camitk::Component::get2DImageActor

◆ getActor

vtkSmartPointer< vtkPointSet > vtkSmartPointer< vtkAlgorithmOutput > camitk::Component::getActor

◆ getActorOpacity

const const const const double camitk::Component::getActorOpacity

◆ getDataPort

vtkSmartPointer< vtkPointSet > camitk::Component::getDataPort

◆ getImageData

camitk::Component::getImageData

◆ getNumberOfColors

vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > double int camitk::Component::getNumberOfColors

◆ getPickPlaneActor

vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > camitk::Component::getPickPlaneActor

◆ indexOfPropertyExplorerTab

unsigned int camitk::Component::indexOfPropertyExplorerTab
protected

The PropertyExplorer tab index to select once refreshed.

◆ isSelectedFlag

bool camitk::Component::isSelectedFlag
protected

tells if this particular Component is selected or not

Referenced by isSelected(), setSelected(), and ~Component().

◆ modifiedFlag

bool camitk::Component::modifiedFlag
protected

the modification flag (could be extended to manage a undo/redo list)

Referenced by getModified(), and setModified().

◆ myFileName

QString camitk::Component::myFileName
protected

◆ myGeometry

InterfaceGeometry* camitk::Component::myGeometry
protected

◆ myParentNode

InterfaceNode* camitk::Component::myParentNode
protected

who is the boss? The Component!

Referenced by Component(), getFrameAxisActor(), getParent(), getParentComponent(), isTopLevel(), and setParent().

◆ mySlice

InterfaceBitMap* camitk::Component::mySlice
protected

mySlice is the slice representation of this data component, the Component delegates all InterfaceBitMap activity to mySlice (delegation pattern)

Referenced by getNumberOfSlices(), getRepresentation(), getSlice(), camitk::SingleImageComponent::initRepresentation(), and ~Component().

◆ pixelPicked

vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > camitk::Component::pixelPicked

◆ RenderingModes

const camitk::Component::RenderingModes

◆ setActorColor

camitk::Component::setActorColor

◆ setArbitraryTransform

vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > double int int camitk::Component::setArbitraryTransform

◆ setColor

camitk::Component::setColor

◆ setMapperScalarRange

const const const const double const RenderingModes camitk::Component::setMapperScalarRange

◆ setPointSet

camitk::Component::setPointSet

◆ setRenderingModes

camitk::Component::setRenderingModes

◆ setSlice

vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > double camitk::Component::setSlice

◆ size

const const const const double const RenderingModes double const double camitk::Component::size = 0.0) override

◆ updateLabel

vtkSmartPointer< vtkPointSet > vtkSmartPointer< vtkAlgorithmOutput > const RenderingModes camitk::Component::updateLabel

Referenced by propertyValueChanged().

◆ vtkSmartPointer< vtkActor >

vtkSmartPointer< vtkPointSet > vtkSmartPointer< vtkAlgorithmOutput > camitk::Component::vtkSmartPointer< vtkActor >

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