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>
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) | |
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... | |
Component * | getParentComponent () |
get the parent component More... | |
Component * | getTopLevelComponent () |
get the top-level component More... | |
InterfaceFrame * | getFrame () |
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 (QString, bool) |
set the visibility inside the viewer of the given name (the viewer needs to be a registered viewer) More... | |
virtual bool | getVisibility (QString) const |
get the visibility inside the viewer of the given name More... | |
virtual void | refresh () |
refresh all the viewer that are currently displaying this Component At the end the InterfaceNode modification flag is reset. 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... | |
InterfacePersistence | |
| |
virtual QVariant | toVariant () const override |
virtual void | fromVariant (const QVariant &) override |
Load data from a QVariant to initialize the current object. More... | |
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. More... | |
unsigned int | getNumberOfPropertyWidget () override |
get the number of alternative property widgets More... | |
QWidget * | getPropertyWidgetAt (unsigned int) override |
Get the ith alternative property widget. More... | |
QObject * | getPropertyObject () override |
Get the property object that could be understood by PropertyEditor. More... | |
const QObject * | getPropertyObject () const override |
void | updateProperty (QString name, QVariant value) override |
update property: if you this method, do not forget to call the superclass method for the property not managed locally in order to properly manage all inherited dynamic properties. More... | |
void | setIndexOfPropertyExplorerTab (unsigned int index) override final |
Set the index of the tab in the ProperlyExplorer to select for display. More... | |
unsigned int | getIndexOfPropertyExplorerTab () override |
Get the index of the tab in the ProperlyExplorer to select for display. More... | |
Q_INVOKABLE camitk::Property * | getProperty (QString name) override |
Get a Property given its name. More... | |
bool | addProperty (Property *) override |
Add a new CamiTK property to the component. More... | |
InterfaceNode | |
All the implemented InterfaceNode methods | |
void | removeChild (InterfaceNode *) override |
remove a child node. More... | |
void | setParent (InterfaceNode *) override |
set the parent Component. More... | |
bool | doubleClicked () override |
This method is called each time the InterfaceNode is double clicked by the user. 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 | deleteChildren () override final |
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 ComponentList & | getChildren () override |
get the list of the InterfaceNode children (sub items in the hierarchy) More... | |
InterfaceNode * | getParent () override |
get the parent Component More... | |
QPixmap | getIcon () override |
Get the pixmap that will be displayed for this node. More... | |
void | setNodeModified (bool) override final |
Set up the node modification flag. More... | |
bool | getNodeModified () const override |
Get the current modification flag. More... | |
bool | inItalic () const override |
A component name is not displayed in italic by default. More... | |
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) More... | |
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 void | setTexture (vtkSmartPointer< vtkTexture >)=0 |
Set a texture to this object. More... | |
virtual vtkSmartPointer< vtkActor > | getActor (const RenderingModes)=0 |
Return the actor for the representation mode, NULL if the actor doesn't exist. More... | |
virtual vtkSmartPointer< vtkProp > | getProp (const QString &)=0 |
Return the vtkProp (actors, volumes and annotations) corresponding to the given name. 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 mode, double *color) const =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 | 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. 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 |
This method is called when the associated plane has been picked in the InteractiveViewer, the given coordinates is position where the plane was picked. More... | |
virtual void | setArbitraryTransform (vtkSmartPointer< vtkTransform >)=0 |
Set the pointer to the image transformation. 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 (double x, double y, double z)=0 |
Set the slice corresponding to the given image coordinates (in RAI convention) More... | |
virtual void | setSlice (int s)=0 |
Set the current slice index. More... | |
virtual void | updatePickPlane ()=0 |
update the position of the plane surrounding the currently selected slice More... | |
virtual | ~InterfaceBitMap ()=default |
virtual destructor More... | |
virtual vtkSmartPointer< vtkProp > | getProp (const QString &)=0 |
Return the vtkProp (actors, volumes and annotations) corresponding to the given name. 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 (QString) 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 (QString, bool)=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 InterfaceFrame * | getParentFrame () 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... | |
Protected Attributes | |
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 modification flag (could be extended to manage a undo/redo list) More... | |
QString | myFileName |
the file name from which the Component is loaded More... | |
InterfaceFrame * | myFrame |
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... | |
InterfaceGeometry * | myGeometry |
myGeometry is the 3d representation of this Component, the Component delegates all InterfaceGeometry activity to myGeometry (delegation pattern) More... | |
InterfaceNode * | myParentNode |
who is the boss? The Component! More... | |
InterfaceBitMap * | mySlice |
mySlice is the slice representation of this data component, the Component delegates all InterfaceBitMap activity to mySlice (delegation pattern) More... | |
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 > |
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 |
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 | delegate1 (myGeometry, setColorMode, int) vtkSmartPointer< vtkProp > getProp(const QString ¶m) override |
unsigned int | getNumberOfProp () const override |
return the number of additional prop More... | |
vtkSmartPointer< vtkProp > | getProp (unsigned int index) override |
return an additional prop by its index More... | |
bool | addProp (const QString &name, vtkSmartPointer< vtkProp > prop) override |
insert an additional prop, defining it by its name (default visibility = false) More... | |
bool | removeProp (const QString &name) override |
remove a given additional prop. More... | |
void | pointPicked (vtkIdType, bool) override |
an inherited class can redefine this method something specific. More... | |
void | cellPicked (vtkIdType, bool) override |
an inherited class can redefine this method something specific. 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) 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]) const 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 |
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) More... | |
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 | setImageWorldTransform |
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 > | delegate1 (mySlice, setArbitraryTransform, vtkSmartPointer< vtkTransform >) int getNumberOfSlices() const override |
see Component.cpp More... | |
int | getSlice () const override |
see Component.cpp More... | |
InterfaceFrame | |
All the implemented InterfaceFrame methods | |
resetTransform | rotate |
resetTransform | double |
resetTransform double | setTransformTranslation |
resetTransform double | double |
resetTransform double double | setTransformRotation |
resetTransform double double | double |
removeFrameChild | |
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, QString, bool) bool getFrameVisibility(QString) const override | |
delegate1 (myFrame, addFrameChild, InterfaceFrame *) delegate1(myFrame | |
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 property, you might want to updateProperty() in order to update the internal state of your object when a dynamic property has been changed.
It extensively uses Qt Meta-Object system (concepts and implementation). see http://doc.qt.nokia.com/latest/metaobjects.html
The different representation that can be implemented to represent this Component in the InteractiveViewer.
use getRepresentation() to get the information about a specific Component.
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 |
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).
parentComponent is set to NULL (=> isTopLevel() will return true).
Component::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.
This method may throw an AbortException if a problem occurs.
parentComponent | the parent Component |
name | the Component name |
rep | the representation implemented by this Component (default=NO_REPRESENTATION) |
AbortException | if parentComponent is nullptr. |
References camitk::InterfaceNode::addChild(), myFileName, and myParentNode.
|
override |
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.
References CAMITK_TRACE, deleteChildren(), getParentComponent(), isSelectedFlag, myFrame, myGeometry, mySlice, and setSelected().
|
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) .
Implements camitk::InterfaceNode.
References attachChild(), setNodeModified(), and camitk::InterfaceNode::setParent().
Referenced by MMLComponent::connectPml(), and MMLComponent::MMLComponent().
|
inlineoverridevirtual |
insert an additional prop, defining it by its name (default visibility = false)
Implements camitk::InterfaceBitMap.
Referenced by RenderingOption::apply(), VolumeRenderingAction::createVolumeRendering(), and camitk::MeshComponent::initSelection().
|
overridevirtual |
Add a new CamiTK property to the component.
If the property already exist, it will just change its value.
Implements camitk::InterfaceProperty.
Reimplemented in camitk::SimplisticComponent.
References camitk::Property::getInitialValue(), and camitk::Property::getName().
Referenced by PMLExplorerWidget::createNewProperty(), PMLComponent::initDynamicProperties(), camitk::MeshComponent::initDynamicProperties(), and camitk::ImageComponent::setImageData().
|
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().
|
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().
vtkSmartPointer<vtkImageData> vtkSmartPointer<vtkImageActor> vtkSmartPointer<vtkActor> double camitk::Component::delegate0 | ( | mySlice | , |
updatePickPlane | |||
) |
camitk::Component::delegate1 | ( | myFrame | , |
addFrameChild | , | ||
InterfaceFrame * | |||
) |
|
override |
camitk::Component::delegate1 | ( | myFrame | , |
setTransform | , | ||
vtkSmartPointer< vtkTransform > | |||
) |
|
inlineoverride |
vtkSmartPointer<vtkPointSet> vtkSmartPointer<vtkAlgorithmOutput> camitk::Component::delegate1 | ( | myGeometry | , |
setDataConnection | , | ||
vtkSmartPointer< vtkAlgorithmOutput > | |||
) |
vtkSmartPointer<vtkPointSet> camitk::Component::delegate1 | ( | myGeometry | , |
setPointData | , | ||
vtkSmartPointer< vtkDataArray > | |||
) |
const const const const double const RenderingModes double camitk::Component::delegate1 | ( | myGeometry | , |
setTexture | , | ||
vtkSmartPointer< vtkTexture > | |||
) | const |
|
override |
see Component.cpp
vtkSmartPointer<vtkImageData> camitk::Component::delegate1 | ( | mySlice | , |
setOriginalVolume | , | ||
vtkSmartPointer< vtkImageData > | |||
) |
|
override |
resetTransform double camitk::Component::delegate3 | ( | myFrame | , |
rotateVTK | , | ||
double | , | ||
double | , | ||
double | |||
) |
|
override |
resetTransform double double camitk::Component::delegate3 | ( | myFrame | , |
setTransformTranslationVTK | , | ||
double | , | ||
double | , | ||
double | |||
) |
vtkSmartPointer<vtkImageData> vtkSmartPointer<vtkImageActor> vtkSmartPointer<vtkActor> double int int camitk::Component::delegate3 | ( | mySlice | , |
setPixelRealPosition | , | ||
double | , | ||
double | , | ||
double | |||
) |
vtkSmartPointer<vtkImageData> vtkSmartPointer<vtkImageActor> vtkSmartPointer<vtkActor> double int camitk::Component::delegate3 | ( | mySlice | , |
setSlice | , | ||
double | , | ||
double | , | ||
double | |||
) |
camitk::Component::delegate4 | ( | myGeometry | , |
setPointPosition | , | ||
const unsigned int | , | ||
const double | , | ||
const double | , | ||
const double | |||
) |
|
inlineoverride |
const const const const double const RenderingModes camitk::Component::delegateAndInvokeChildren1 | ( | myGeometry | , |
setOpacity | , | ||
const double | |||
) |
camitk::Component::delegateAndInvokeChildren1Array | ( | myGeometry | , |
setActorColor | , | ||
const | RenderingModes, | ||
double | , | ||
4 | |||
) |
const const const const double camitk::Component::delegateAndInvokeChildren2 | ( | myGeometry | , |
setActorOpacity | , | ||
const | RenderingModes, | ||
const double | |||
) |
camitk::Component::delegateAndInvokeChildren3 | ( | myGeometry | , |
setColor | , | ||
const double | , | ||
const double | , | ||
const double | |||
) |
Component::delegateConstGet0 | ( | mySlice | , |
get3DImageActor | , | ||
vtkSmartPointer< vtkImageActor > | |||
) |
camitk::Component::delegateGet0 | ( | myGeometry | , |
getPointSet | , | ||
vtkSmartPointer< vtkPointSet > | |||
) |
vtkSmartPointer<vtkImageData> vtkSmartPointer<vtkImageActor> vtkSmartPointer<vtkActor> camitk::Component::delegateGet0 | ( | mySlice | , |
getPixelActor | , | ||
vtkSmartPointer< vtkActor > | |||
) |
|
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().
|
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.
|
override |
Overriden from QObject, this one is only intercepting signal for dynamic property changed (see constructor).
References updateProperty().
|
overridevirtual |
Load data from a QVariant to initialize the current object.
Implements InterfacePersistence.
Reimplemented in camitk::MeshComponent, and camitk::ImageComponent.
References getTransform(), camitk::PersistenceManager::loadProperties(), and camitk::InterfaceFrame::setFrameName().
Referenced by camitk::ImageComponent::fromVariant(), camitk::MeshComponent::fromVariant(), and camitk::PersistenceManager::loadComponents().
QMenu * Component::getActionMenu | ( | ) |
Get a QMenu that contains all the action that can be applied to this component.
References a, camitk::actionLessThan(), camitk::Viewer::DOCKED, camitk::Application::getActions(), camitk::Action::getQAction(), camitk::Application::getViewers(), getVisibility(), camitk::Application::refresh(), and setVisibility().
Referenced by ImpMainWindow::updateActionStates().
|
override |
see Component.cpp
References childrenComponent, camitk::InterfaceGeometry::getActorColor(), and myGeometry.
Referenced by camitk::MeshComponent::toVariant().
|
overridevirtual |
compute the object's bounding sphere radius,
Implements camitk::InterfaceGeometry.
References childrenComponent, getBoundingRadius(), camitk::InterfaceGeometry::getBoundingRadius(), and myGeometry.
Referenced by RenderingOption::apply(), and getBoundingRadius().
|
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().
|
inlineoverridevirtual |
get the list of the InterfaceNode children (sub items in the hierarchy)
Implements camitk::InterfaceNode.
Referenced by camitk::ImageComponent::pixelPicked(), and camitk::ImageComponent::setSelected().
|
overridevirtual |
Get the Children Frames from the current Frame in the Frame Hierarchy The Frame hierarchy may not be the same as the Component Hierarchy.
Implements camitk::InterfaceFrame.
References CAMITK_ERROR, camitk::InterfaceFrame::getChildrenFrame(), and myFrame.
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(), VRMLComponentExtension::save(), VtkImageComponentExtension::save(), VtkMeshComponentExtension::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().
|
inline |
get the associated frame
Referenced by camitk::PersistenceManager::loadComponents(), and camitk::SingleImageComponent::SingleImageComponent().
|
overridevirtual |
Hierarchy accessors / Modifyers.
Get the Frame Unique identifyer (can be set by user)
Implements camitk::InterfaceFrame.
References CAMITK_ERROR, camitk::InterfaceFrame::getFrameName(), and myFrame.
Referenced by camitk::PersistenceManager::loadComponents(), and toVariant().
|
overridevirtual |
Get the inheritance hierarchy of this Component instance as a list of QString
Implements camitk::InterfaceProperty.
Referenced by ExportAsMDL::apply(), camitk::Application::getActions(), camitk::Application::getViewers(), isInstanceOf(), and main().
|
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
And that all folks! A nice icon will be now used to display your component!
Implements camitk::InterfaceNode.
Reimplemented in camitk::MeshComponent, VtkMeshComponent, and PMLComponent.
|
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 to select the one to select for display in a given context.
Implements camitk::InterfaceProperty.
Referenced by PropertyExplorer::refresh().
|
inlineoverridevirtual |
get the string used to display the label, do the same as getName
Implements camitk::InterfaceGeometry.
Referenced by camitk::MeshComponent::toVariant().
|
inlinevirtual |
set the modified flag
Reimplemented in MMLComponent.
Referenced by camitk::Application::close(), and MMLComponent::getModified().
|
inlineoverridevirtual |
get the name to be displayed
Implements camitk::InterfaceNode.
Referenced by ConnectedComponents::apply(), OtsuFilter::apply(), SaveAsAction::apply(), ImageReconstructionAction::apply(), ExtractSelection::apply(), MeshPicking::apply(), CleanPolyData::apply(), Decimation::apply(), ExportAsMDL::apply(), ExtractEdges::apply(), ExtractSurface::apply(), FillWithPoints::apply(), ICPRegistration::apply(), MergeMeshs::apply(), WarpOut::apply(), CenterMesh::apply(), MeshQuality::apply(), camitk::Application::close(), camitk::ImageComponent::getImageName(), camitk::ActionWidget::getTargetLabel(), MeshProjection::getWidget(), SimpleElastixRegistrationAction::getWidget(), VolumeRenderingAction::getWidget(), camitk::HistoryComponent::HistoryComponent(), camitk::MeshComponent::initRepresentation(), MultiPickingWidget::manuallyModified(), camitk::InteractiveViewer::picked(), Explorer::renameItem(), VtkMeshComponentExtension::save(), camitk::Application::save(), camitk::ComponentExtension::save(), RegionGrowingWidget::updateComponent(), and BoxVOIWidget::updateComponent().
|
inlineoverridevirtual |
Get the current modification flag.
Implements camitk::InterfaceNode.
|
inlineoverridevirtual |
return the number of additional prop
Implements camitk::InterfaceBitMap.
Referenced by camitk::InteractiveViewer::refresh().
|
inlineoverridevirtual |
get the number of alternative property widgets
Implements camitk::InterfaceProperty.
Reimplemented in camitk::MeshComponent, and camitk::ImageComponent.
Referenced by PropertyExplorer::refresh().
|
inlineoverridevirtual |
get the parent Component
Implements camitk::InterfaceNode.
Referenced by camitk::ArbitrarySingleImageComponent::pixelPicked(), camitk::SingleImageComponent::pixelPicked(), and camitk::SingleImageComponent::setSelected().
Component * Component::getParentComponent | ( | ) |
get the parent component
References myParentNode.
Referenced by RemoveLastInstantiatedAction::apply(), SelectLastInstantiatedAction::apply(), getTopLevelComponent(), camitk::SingleImageComponent::initRepresentation(), and ~Component().
|
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.
|
inlineoverridevirtual |
return an additional prop by its index
Implements camitk::InterfaceBitMap.
Referenced by RenderingOption::apply(), VolumeRenderingAction::apply(), VolumeRenderingAction::createVolumeRendering(), VolumeRenderingAction::getQAction(), VolumeRenderingAction::getWidget(), camitk::InteractiveViewer::refresh(), camitk::MeshComponent::setDataRepresentationOff(), camitk::MeshComponent::setDataRepresentationVisibility(), camitk::InteractiveViewer::setGlyph(), camitk::InteractiveViewer::setLabel(), and camitk::InteractiveViewer::updateActions().
|
overridevirtual |
Get a Property given its name.
name | the property name |
Implements camitk::InterfaceProperty.
|
inlineoverridevirtual |
Implements camitk::InterfaceProperty.
|
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.
Implements camitk::InterfaceProperty.
Referenced by PropertyExplorer::refresh(), and toVariant().
|
inlineoverridevirtual |
Get the ith alternative property widget.
Implements camitk::InterfaceProperty.
Reimplemented in camitk::MeshComponent, and camitk::ImageComponent.
Referenced by PropertyExplorer::refresh().
|
overridevirtual |
see Component.cpp
Implements camitk::InterfaceGeometry.
References childrenComponent, camitk::InterfaceGeometry::getRenderingModes(), getRenderingModes(), myGeometry, and camitk::InterfaceGeometry::None.
Referenced by ChangeColor::apply(), getRenderingModes(), camitk::InteractiveViewer::keyPressEvent(), camitk::MeshComponent::toVariant(), and camitk::InteractiveViewer::updateActions().
Component::Representation Component::getRepresentation | ( | ) | const |
return the type of representation concretely implemented by this Component in the InteractiveViewer.
References CAMITK_ERROR, GEOMETRY, myGeometry, mySlice, NO_REPRESENTATION, and SLICE.
Referenced by camitk::InteractiveViewer::keyPressEvent(), camitk::InteractiveViewer::refresh(), camitk::InteractiveViewer::setGlyph(), camitk::InteractiveViewer::setLabel(), and camitk::InteractiveViewer::updateActions().
|
overridevirtual |
see Component.cpp
Implements camitk::InterfaceBitMap.
Reimplemented in camitk::ArbitrarySingleImageComponent.
References camitk::InterfaceBitMap::getSlice(), and mySlice.
Referenced by camitk::InteractiveViewer::refresh().
Component * Component::getTopLevelComponent | ( | ) |
get the top-level component
References getParentComponent(), getTopLevelComponent(), and isTopLevel().
Referenced by CloseAction::apply(), SaveAction::apply(), and getTopLevelComponent().
|
overridevirtual |
Get the transformation with respect to the parent frame.
Implements camitk::InterfaceFrame.
References CAMITK_ERROR, camitk::InterfaceFrame::getTransform(), and myFrame.
Referenced by camitk::Action::applyTargetPosition(), camitk::ArbitrarySingleImageComponent::ArbitrarySingleImageComponent(), VolumeRenderingAction::createVolumeRendering(), fromVariant(), camitk::ArbitrarySingleImageComponent::getImageCenterAndTranslationVectorInParent(), camitk::ArbitrarySingleImageComponent::getImageCenterInParent(), camitk::ImageComponent::getImageDataWithFrameTransform(), camitk::ArbitrarySingleImageComponent::getSlice(), FrameEditor::initializeDialogWithCurrentComponent(), camitk::ArbitrarySingleImageComponent::pixelPicked(), VtkImageComponentExtension::save(), camitk::ImageComponent::setImageData(), camitk::ArbitrarySingleImageComponent::setTransform(), camitk::ArbitrarySingleImageComponent::setTransformRotation(), camitk::ArbitrarySingleImageComponent::setTransformTranslation(), and toVariant().
|
overridevirtual |
Compute the transformation from any other frame to the current frame.
Implements camitk::InterfaceFrame.
References CAMITK_ERROR, camitk::InterfaceFrame::getTransformFromFrame(), and myFrame.
|
overridevirtual |
Transforms accessors / Modifyers.
Get a the transformation with respect to the world frame
Implements camitk::InterfaceFrame.
References CAMITK_ERROR, camitk::InterfaceFrame::getTransformFromWorld(), and myFrame.
Referenced by camitk::ImageComponent::getLastPointPickedWorldCoords(), camitk::SingleImageComponent::initRepresentation(), camitk::MeshComponent::initRepresentation(), and VtkImageComponentExtension::save().
|
virtual |
get the visibility inside the viewer of the given name
Referenced by ShowArbitrarySliceIn3D::apply(), ShowAxialSliceIn3D::apply(), ShowCoronalSliceIn3D::apply(), ShowSagittalSliceIn3D::apply(), getActionMenu(), ShowArbitrarySliceIn3D::getQAction(), ShowAxialSliceIn3D::getQAction(), ShowCoronalSliceIn3D::getQAction(), ShowSagittalSliceIn3D::getQAction(), VolumeRenderingAction::getQAction(), VolumeRenderingAction::getWidget(), camitk::InteractiveViewer::keyPressEvent(), camitk::InteractiveViewer::refresh(), camitk::InteractiveViewer::setGlyph(), camitk::InteractiveViewer::setLabel(), and camitk::InteractiveViewer::updateActions().
|
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.
|
overridevirtual |
Assert that a Component instance really inherits from a given className.
Implements camitk::InterfaceProperty.
References getHierarchy().
Referenced by MeshClipping::apply(), camitk::Action::setInputComponent(), camitk::Action::setInputComponents(), and camitk::Action::updateTargets().
|
inlinevirtual |
Check if this data component is selected.
Referenced by MeshClipping::apply(), camitk::InteractiveViewer::picked(), Explorer::refresh(), and camitk::InteractiveViewer::updateSelectionDisplay().
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().
|
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().
|
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(), camitk::ImageComponent::refresh(), PMLComponent::refreshDisplay(), Explorer::renameItem(), AnglesAndTranslationAction::resetTransform(), StlExtension::save(), camitk::MeshComponent::setDataRepresentationOff(), camitk::MeshComponent::setDataRepresentationVisibility(), and VtkMeshComponent::updateProperty().
|
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().
|
inlineoverridevirtual |
remove a given additional prop.
Implements camitk::InterfaceBitMap.
Referenced by VolumeRenderingAction::createVolumeRendering(), camitk::MeshComponent::removeDataArray(), and camitk::MeshComponent::vectorRepresentationPolicyChanged().
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().
|
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 to select the one to select for display in a given context.
index | the index to select in the tab of the ProperlyExplorer. |
Implements camitk::InterfaceProperty.
Referenced by camitk::MeshComponent::changeSelectedSelection(), and camitk::ImageComponent::pixelPicked().
|
inlineoverridevirtual |
set the string used to display the label, do the same as setName
Implements camitk::InterfaceGeometry.
Referenced by camitk::MeshComponent::fromVariant().
|
inlineoverridevirtual |
Set the lines as tubes (works only for vtkDataSet representation that contains lines)
isTubes | activate tube representation of lines |
radiusFromLength | radius of tubes is computed as a proportion of line length |
radiusFactor | radius of tubes will be : radiusFactor*lineLength if radiusFromLength is true, radiusFactor if it is false |
numberOfSides | Number of sides of the tubes |
Implements camitk::InterfaceGeometry.
Referenced by camitk::InteractiveViewer::refresh().
|
inlinevirtual |
set the modified flag
Referenced by CreateSC::apply(), CenterMesh::apply(), RigidTransform::apply(), LoadTransformation::apply(), camitk::ImageComponent::ImageComponent(), camitk::MeshComponent::MeshComponent(), MMLComponent::MMLComponent(), ActionState::onEntry(), PMLExplorerWidget::propertyChanged(), and camitk::Application::save().
|
inlineoverridevirtual |
set the name to be displayed
Implements camitk::InterfaceNode.
Referenced by DicomComponent::DicomComponent(), camitk::ImageComponent::ImageComponent(), PMLComponent::initDynamicProperties(), MshComponent::MshComponent(), ObjComponent::ObjComponent(), OffComponent::OffComponent(), Explorer::renameItem(), camitk::ImageComponent::setImageName(), StlComponent::StlComponent(), camitk::ImageComponent::updateProperty(), and VtkMeshComponent::VtkMeshComponent().
|
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(), refresh(), removeChild(), and setParent().
|
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().
|
overridevirtual |
Set the parent frame and update or not its transform during the parent transition.
parent | the new parent frame of current interface frame |
keepTransform | if true keeps the local transform from parent. The current interface frame may move from world coordinates as its local transform is now expressed relatively to the new parent. If false, change the transform from parent to keep the global (world) transform the same as the previous one. |
Implements camitk::InterfaceFrame.
References CAMITK_ERROR, myFrame, and camitk::InterfaceFrame::setParentFrame().
Referenced by ChangeParent::apply(), camitk::Action::applyTargetPosition(), and camitk::SingleImageComponent::SingleImageComponent().
|
virtual |
Update the selection flag.
b | the value of the flag (true means "is selected") |
recursive | if true (default), also updates the children Component selection flags. |
Reimplemented in camitk::SingleImageComponent, PMLComponent, MMLComponent, and camitk::ImageComponent.
References childrenComponent, isSelectedFlag, and setSelected().
Referenced by SelectLastInstantiatedAction::apply(), camitk::Application::clearSelectedComponents(), main(), camitk::Viewer::selectionChanged(), camitk::ImageComponent::setSelected(), MMLComponent::setSelected(), PMLComponent::setSelected(), setSelected(), camitk::SingleImageComponent::singleImageSelected(), and ~Component().
|
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().
|
overridevirtual |
Convert all data from the object to a QVariant (usually a QVariantMap)
Implements InterfacePersistence.
Reimplemented in camitk::MeshComponent, and camitk::ImageComponent.
References camitk::PersistenceManager::fromProperties(), getFileName(), camitk::InterfaceFrame::getFrameName(), getFrameName(), camitk::InterfaceFrame::getParentFrame(), getPropertyObject(), getTransform(), and camitk::transform.
Referenced by camitk::ImageComponent::toVariant(), and camitk::MeshComponent::toVariant().
|
overridevirtual |
update property: if you this method, do not forget to call the superclass method for the property not managed locally in order to properly manage all inherited dynamic properties.
This method is called when a dynamic property has to be updated
name | the name of the dynamic property |
value | the new value to take into account |
Implements camitk::InterfaceProperty.
Reimplemented in camitk::MeshComponent, camitk::ImageComponent, VtkMeshComponent, and PMLComponent.
References CAMITK_INFO.
Referenced by event(), and camitk::ImageComponent::updateProperty().
|
protected |
The explorer sub items.
Referenced by attachChild(), deleteChildren(), getActorColor(), getBoundingRadius(), getBounds(), getRenderingModes(), camitk::ImageComponent::refresh(), removeChild(), and setSelected().
resetTransform double double Component::double |
const const const camitk::Component::double |
const camitk::Component::double |
const const const const double camitk::Component::double |
const const const const double const RenderingModes camitk::Component::double |
vtkSmartPointer<vtkImageData> vtkSmartPointer<vtkImageActor> vtkSmartPointer<vtkActor> camitk::Component::double |
resetTransform camitk::Component::double |
resetTransform double camitk::Component::double |
resetTransform double double camitk::Component::double |
vtkSmartPointer<vtkImageData> camitk::Component::get2DImageActor |
Referenced by camitk::InteractiveViewer::refresh().
vtkSmartPointer<vtkPointSet> vtkSmartPointer<vtkAlgorithmOutput> camitk::Component::getActor |
Referenced by camitk::InteractiveViewer::refresh(), and VtkMeshComponent::updateProperty().
const const const const double camitk::Component::getActorOpacity |
vtkSmartPointer<vtkPointSet> camitk::Component::getDataPort |
camitk::Component::getImageData |
vtkSmartPointer<vtkImageData> vtkSmartPointer<vtkImageActor> vtkSmartPointer<vtkActor> double int camitk::Component::getNumberOfColors |
vtkSmartPointer<vtkImageData> vtkSmartPointer<vtkImageActor> camitk::Component::getPickPlaneActor |
Referenced by camitk::InteractiveViewer::refresh().
|
protected |
The PropertyExplorer tab index to select once refreshed.
|
protected |
tells if this particular Component is selected or not
Referenced by setSelected(), and ~Component().
|
protected |
the modification flag (could be extended to manage a undo/redo list)
|
protected |
the file name from which the Component is loaded
Referenced by Component(), getFileName(), MMLComponent::MMLComponent(), setFileName(), and VtkMeshComponent::VtkMeshComponent().
|
protected |
myFrame is the pose (position and orientation) of the Component in the world frame, the Component delegates all InterfaceFrame activity to myFrame (delegation pattern)
Referenced by getChildrenFrame(), getFrameName(), getTransform(), getTransformFromFrame(), getTransformFromWorld(), setParentFrame(), camitk::ArbitrarySingleImageComponent::setTransform(), and ~Component().
|
protected |
myGeometry is the 3d representation of this Component, the Component delegates all InterfaceGeometry activity to myGeometry (delegation pattern)
Referenced by getActorColor(), getBoundingRadius(), getBounds(), getRenderingModes(), getRepresentation(), camitk::MeshComponent::initData(), camitk::MeshComponent::initRepresentation(), PMLComponent::refreshDisplay(), and ~Component().
|
protected |
who is the boss? The Component!
Referenced by Component(), getParentComponent(), isTopLevel(), and setParent().
|
protected |
mySlice is the slice representation of this data component, the Component delegates all InterfaceBitMap activity to mySlice (delegation pattern)
Referenced by camitk::ArbitrarySingleImageComponent::ArbitrarySingleImageComponent(), getRepresentation(), getSlice(), camitk::SingleImageComponent::initRepresentation(), camitk::ArbitrarySingleImageComponent::setTransform(), and ~Component().
vtkSmartPointer<vtkImageData> vtkSmartPointer<vtkImageActor> vtkSmartPointer<vtkActor> camitk::Component::pixelPicked |
camitk::Component::removeFrameChild |
const camitk::Component::RenderingModes |
Referenced by camitk::MeshComponent::fromVariant().
resetTransform camitk::Component::rotate |
Referenced by FrameEditor::rotate().
camitk::Component::setActorColor |
camitk::Component::setColor |
vtkSmartPointer<vtkImageData> vtkSmartPointer<vtkImageActor> vtkSmartPointer<vtkActor> double int int camitk::Component::setImageWorldTransform |
const const const const double const RenderingModes camitk::Component::setMapperScalarRange |
camitk::Component::setPointSet |
Referenced by CenterMesh::apply(), RigidTransform::apply(), and LoadTransformation::apply().
camitk::Component::setRenderingModes |
vtkSmartPointer<vtkImageData> vtkSmartPointer<vtkImageActor> vtkSmartPointer<vtkActor> double camitk::Component::setSlice |
Referenced by MultiPickingWidget::manuallyModified(), and camitk::ImageComponent::pixelPicked().
resetTransform double double camitk::Component::setTransformRotation |
Referenced by camitk::ArbitrarySingleImageComponent::resetTransform(), and FrameEditor::setRotation().
resetTransform double camitk::Component::setTransformTranslation |
const const const const double const RenderingModes double const double camitk::Component::size = 0.0) override |
vtkSmartPointer<vtkPointSet> vtkSmartPointer<vtkAlgorithmOutput> camitk::Component::vtkSmartPointer< vtkActor > |
Referenced by camitk::MeshComponent::initSelection(), and VRMLComponent::VRMLComponent().