![]() |
Computer Assited Medical Intervention Tool Kit
version 3.3
|
The manager of the Atom data. More...
#include <AtomDC.h>
Public Member Functions | |
void | addPointData (StructuralComponentDC *, double *) |
add a ptr to a pointData for this atom corresponding to the given SCDC More... | |
AtomDC (camitk::Component *parent, PMManagerDC *pmManagerDC, Atom *) | |
void | clearPointData () |
clear the point data ptr list More... | |
Atom * | getAtom () |
get the atom this dc is representing More... | |
AtomDecoration * | getDecoration (const QString &name, camitk::GeometricObject::Geometry t) |
get a decoration of the AtomDC using its name. More... | |
int | getOrderNumberInSCDC (StructuralComponentDC *) |
knowing a StructuralComponentDC get the order number of this AtomDC in it (return -1 if not found) More... | |
virtual PMManagerDC * | getPMManagerDC () |
get the PMManagerDC (given during instanciation), allows to get PML/Component maps More... | |
void | getPosition (double &, double &, double &) |
get the current position for this atom More... | |
unsigned int | registerIndexInSCDC (const std::IndexInParentItemPair) |
register a StructuralComponentDC and this AtomDC corresponding order number in it (NOTE: this method replace the previous index if there was one) More... | |
void | resetAlreadyMovedFlag () |
reset the alreadyMoved flag to false, see alreadyMoved property More... | |
void | setPosition (double, double, double) |
set a new position for this atom More... | |
unsigned int | unregisterIndexInSCDC (StructuralComponentDC *) |
unregister a StructuralComponentDC item from the map More... | |
void | updatePointData (const double) |
update point data value More... | |
void | updatePosition () |
update the position of the 3D representation and launch the update position cascade process (updating all the 3D representation of all the SC/cells containing this atom, then of all the SC containing all the cells containing this atom...) More... | |
virtual | ~AtomDC () |
Redefined from camitk::Component | |
virtual void | setParent (InterfaceNode *) |
An AtomDC can have more than one parent... More... | |
virtual QPixmap | getIcon () |
Get the pixmap that will be displayed for this node. More... | |
void | pointPicked (vtkIdType, bool) |
picking is selecting/unselecting More... | |
virtual void | setSelected (const bool, const bool recursive=false) |
when seleceted add a sphere glyph around the atom position and set the enhanced mode to Normal More... | |
virtual void | setEnhancedModes (const EnhancedModes) |
do nothing here (the enhanced mode is controled by the setSelected method) More... | |
virtual void | setName (const QString &) |
set the name of the atom as well as the name of the DC More... | |
virtual void | setPointSet (vtkSmartPointer< vtkPointSet >) |
if the vtkPointSet is modified externally (e.g. by an operator), change the PM structure More... | |
virtual QMenu * | getPopupMenu (QWidget *parent) |
Overriden method so that we actually can build a popup menu with different actions. More... | |
virtual QWidget * | getPropertyWidget (QWidget *parent=0) |
reimplement this method to give the property widget to the app More... | |
virtual QObject * | getPropertyObject () |
reimplement this method to give the property object to the property editor More... | |
virtual bool | doubleClicked () |
overloaded method, allows to set the point when double clicked More... | |
![]() | |
Component (const QString &file, const 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) throw (AbortException) | |
Component constructor for a Component that is a child of another Component You should not use this constructor for a top-level component. More... | |
virtual | ~Component () |
default destructor More... | |
Representation | getRepresentation () const |
return the type of representation concretely implemented by this Component in the InteractiveViewer. More... | |
bool | isTopLevel () const |
return true if this component is a top-level component More... | |
virtual Component * | getParentComponent () |
get the parent component More... | |
virtual Component * | getTopLevelComponent () |
get the top-level component More... | |
virtual void | setModified (bool modified=true) |
set the modified flag More... | |
virtual bool | getModified () const |
set the modified flag More... | |
virtual void | setVisibility (Viewer *, bool) |
set the visibility for a viewer More... | |
virtual bool | getVisibility (Viewer *) const |
get the visibility of a viewer More... | |
virtual void | refresh () const |
refresh all the viewer that are currently displaying this Component More... | |
virtual void | refreshInterfaceNode () |
Asks all viewers that are currently displaying this Component to rebuild the representation of the InterfaceNode for this Component. More... | |
virtual bool | isSelected () const |
Check if this data component is selected. More... | |
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) |
Overriden from QObject, this one is only intercepting signal for dynamic property changed (see constructor). More... | |
QMenu * | getActionAndPopupMenu () |
Get a QMenu that contains all the action that can be applied to this component + the popup menu (if exists). More... | |
QStringList | getHierarchy () |
bool | isInstanceOf (QString className) |
Assert that a Component instance really inherits from a given className. More... | |
virtual unsigned int | getNumberOfPropertyWidget () |
get the number of alternative property widgets More... | |
virtual QWidget * | getPropertyWidgetAt (unsigned int i, QWidget *parent=0) |
Get the ith alternative property widget. More... | |
void | updateProperty (QString name, QVariant value) |
update property: if you override 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... | |
virtual Q_INVOKABLE Property * | getProperty (QString name) |
Get a Property given its name. More... | |
virtual bool | addProperty (Property *) |
Add a new CamiTK property to the component. More... | |
virtual void | addChild (InterfaceNode *) |
add a child Component (sub item in the hierarchy), and modify the child's parent to be equal to this instance More... | |
virtual void | attachChild (InterfaceNode *) |
add a child Component (but leave its parent unchanged) More... | |
virtual void | removeChild (InterfaceNode *) |
remove from the the sub item vector. More... | |
virtual void | setParent (InterfaceNode *) |
set the parent Component. This method automatically remove this Component from its previous (if already had one parent Component) More... | |
virtual void | deleteChildren () |
delete all sub Component, but do not delete the pointer (only the top-level component has the right to do that) More... | |
virtual QString | getName () const |
get the name to be displayed More... | |
virtual const ComponentList & | getChildren () |
get the list of the InterfaceNode children (sub items in the hierarchy) More... | |
virtual InterfaceNode * | getParent () |
get the parent Component More... | |
virtual bool | inItalic () const |
A component name is not displayed in italic by default. More... | |
const QString | getLabel () const |
void | setLabel (QString newName) |
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 virtual RenderingModes vtkSmartPointer< vtkProp > | getProp (const QString ¶m) |
Return the vtkProp (actors, volumes and annotations) corresponding to the given name. More... | |
virtual unsigned int | getNumberOfProp () const |
return the number of additional prop More... | |
virtual vtkSmartPointer< vtkProp > | getProp (unsigned int index) |
return an additional prop by its index More... | |
virtual bool | addProp (const QString &name, vtkSmartPointer< vtkProp > prop) |
insert an additional prop, defining it by its name (default visibility = false) More... | |
virtual bool | removeProp (const QString &name) |
remove a given additional prop. More... | |
virtual void | cellPicked (vtkIdType, bool) |
an inherited class can redefine this method something specific. More... | |
virtual void | getBounds (double *bounds) |
compute the object's bounding box [xmin,xmax, ymin,ymax, zmin,zmax], see Component.cpp More... | |
virtual double | getBoundingRadius () |
compute the object's bounding sphere radius, More... | |
delegate4 (myGeometry, setPointPosition, const unsigned int, const double, const double, const double) | |
delegateAndInvokeChildren1 (myGeometry, setRenderingModes, const RenderingModes) | |
virtual const InterfaceGeometry::RenderingModes | getRenderingModes () const |
see Component.cpp More... | |
delegateAndInvokeChildren1 (myGeometry, setEnhancedModes, const EnhancedModes) delegateConstGet0(myGeometry | |
const EnhancedModes | delegateAndInvokeChildren1Array (myGeometry, setActorColor, const RenderingModes, double, 4) delegateAndInvokeChildren4(myGeometry |
const EnhancedModes const const const const virtual double void | getActorColor (const RenderingModes, double[4]) |
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 >) virtual void setGlyphType(const GlyphTypes type |
delegate1 (myGeometry, setLinesAsTubes, bool) | |
delegateConstGet0 (mySlice, getImageData, vtkSmartPointer< vtkImageData >) delegate1(mySlice | |
vtkSmartPointer< vtkImageData > | delegateConstGet0 (mySlice, get2DImageActor, vtkSmartPointer< vtkImageActor >) delegateConstGet0(mySlice |
vtkSmartPointer< vtkImageData > vtkSmartPointer < vtkImageActor > | delegateConstGet0 (mySlice, getPickPlaneActor, vtkSmartPointer< vtkActor >) delegateGet0(mySlice |
vtkSmartPointer< vtkImageData > vtkSmartPointer < vtkImageActor > vtkSmartPointer< vtkActor > | delegate3 (mySlice, pixelPicked, double, double, double) delegate0(mySlice |
vtkSmartPointer< vtkImageData > vtkSmartPointer < vtkImageActor > vtkSmartPointer< vtkActor > updatePickPlane | delegate1 (mySlice, setSlice, int) |
delegate3 (mySlice, setSlice, double, double, double) | |
delegate1 (mySlice, setRotationX, double) delegate1(mySlice | |
double | delegate1 (mySlice, setRotationZ, double) delegateConstGet0(mySlice |
double int | delegate3 (mySlice, setPixelRealPosition, double, double, double) |
virtual double | getRotationX () const |
see Component.cpp More... | |
virtual double | getRotationY () const |
see Component.cpp More... | |
virtual double | getRotationZ () const |
see Component.cpp More... | |
virtual int | getNumberOfSlices () const |
see Component.cpp More... | |
virtual int | getSlice () const |
see Component.cpp More... | |
![]() | |
virtual | ~InterfaceProperty () |
empty virtual destructor, to avoid memory leak More... | |
![]() | |
virtual | ~InterfaceNode () |
empty virtual destructor, to avoid memory leak More... | |
![]() | |
virtual | ~InterfaceGeometry () |
empty virtual destructor, to avoid memory leak More... | |
virtual vtkSmartPointer < vtkPointSet > | getPointSet ()=0 |
virtual void | setPointData (vtkSmartPointer< vtkDataArray >)=0 |
set the point data (may contains a lookup table). More... | |
virtual vtkSmartPointer < vtkAlgorithmOutput > | getDataPort () const =0 |
get the custom algorithm pipeline input. More... | |
virtual void | setDataConnection (vtkSmartPointer< vtkAlgorithmOutput >)=0 |
Set/reset the connection for the InterfaceGeometry internal algorithm. More... | |
virtual vtkSmartPointer< vtkActor > | getActor (const RenderingModes)=0 |
Return the actor for the representation mode, NULL if the actor doesn't exist. More... | |
virtual void | setTexture (vtkSmartPointer< vtkTexture >)=0 |
Set a texture to this object. More... | |
virtual void | setPointPosition (const unsigned int orderNumber, const double x, const double y, const double z)=0 |
set a given point position More... | |
virtual void | setRenderingModes (const RenderingModes)=0 |
virtual const EnhancedModes | getEnhancedModes () const =0 |
get the current enhanced mode More... | |
virtual void | setActorColor (const RenderingModes, double *color)=0 |
Set the color of given representation modes. More... | |
virtual void | setActorColor (const RenderingModes, const double, const double, const double)=0 |
Set the color of given representation modes. More... | |
virtual void | getActorColor (const RenderingModes, double *color)=0 |
Get the color of given representation modes in the second parameter. More... | |
virtual void | setColor (const double, const double, const double)=0 |
Set an (r,g,b) color to all representation modes, without changing the opacity. More... | |
virtual void | setColor (const double, const double, const double, const double)=0 |
Set an (r,g,b,a) color to all representation modes. More... | |
virtual void | setActorOpacity (const RenderingModes, const double)=0 |
Set the opacity of this representation modes. WARNING color field (surfaceColor, ...) are not modified! More... | |
virtual double | getActorOpacity (const RenderingModes) const =0 |
Return the opacity of a given renderng mode. More... | |
virtual void | setOpacity (const double)=0 |
Set the opacity of this object. WARNING color field (surfaceColor, ...) are not modified! More... | |
virtual void | setMapperScalarRange (double min, double max)=0 |
Set the mapper scalar range. More... | |
virtual void | setGlyphType (const GlyphTypes type, const double size=0.0)=0 |
Set the glyph type (a glyph is a geometric representation attached to every point in the input dataset). More... | |
virtual void | setLinesAsTubes (bool)=0 |
set the lines as tubes (works only for vtkDataSet representation that contains lines) More... | |
![]() | |
virtual vtkSmartPointer < vtkImageActor > | get2DImageActor () const =0 |
Return the vtkImageActor (vtkProp) representing a slice to be displayed in 2D. More... | |
virtual vtkSmartPointer < vtkImageActor > | get3DImageActor () const =0 |
Return the vtkImageActor (vtkProp) representing a slice to be displayed in 2D. More... | |
virtual vtkSmartPointer < vtkImageData > | getImageData () const =0 |
Return the displayed images as a vtkImageData. More... | |
virtual int | getNumberOfColors () const =0 |
Return the number of colors in the images. 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 | 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 | setRotationX (double angle)=0 |
Set the current angle to the arbitrary slice. More... | |
virtual void | setRotationY (double angle)=0 |
virtual void | setRotationZ (double angle)=0 |
virtual void | setSlice (int s)=0 |
Set the current slice index. More... | |
virtual void | setSlice (double x, double y, double z)=0 |
Set the slice corresponding to the given world coordinates. More... | |
virtual void | updatePickPlane ()=0 |
virtual | ~InterfaceBitMap () |
virtual destructor More... | |
Private Member Functions | |
virtual void | initRepresentation () |
the concrete building of the geometry More... | |
Private Attributes | |
bool | alreadyMoved |
true if the atom has been already moved by another SC This is a way to solve the bug which occurs when 2 selected cells has this atom in common. More... | |
QMap< QString, AtomDecoration * > | decorations |
list of decorations attached to this AtomDC More... | |
Atom * | myAtom |
The atom the dc is representing. More... | |
PMManagerDC * | myPMManagerDC |
the PMManagerDC More... | |
AtomDCPopup * | myPopupMenu |
the popup menu More... | |
AtomDCProperties * | myProp |
the atom'properties More... | |
std::IndexInParentItemMap | mySCDCindexes |
correspondance between a SCDC and the order number of this atom dc in a particular SCDC (parent items). More... | |
std::vector< double * > | pointData |
list of all the point data adresses More... | |
std::set< StructuralComponentDC * > | pointDataSC |
list of all the SC who asked for a point data in this AtomDC More... | |
Static Private Attributes | |
static QPixmap * | myPixmap |
the AtomDC pixmap More... | |
Additional Inherited Members | |
![]() | |
enum | Representation { GEOMETRY, SLICE, NO_REPRESENTATION } |
The different representation that can be implemented to represent this Component in the InteractiveViewer. More... | |
![]() | |
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... | |
![]() | |
enum | PossibleOrientation { AXIAL_ORIENTATION, CORONAL_ORIENTATION, SAGITTAL_ORIENTATION, ARBITRARY_ORIENTATION } |
Common slices orientation: axial, sagittal, coronal or anything else. More... | |
![]() | |
setPointSet | |
vtkSmartPointer< vtkPointSet > | getDataPort |
vtkSmartPointer< vtkPointSet > vtkSmartPointer < vtkAlgorithmOutput > | getActor |
vtkSmartPointer< vtkPointSet > vtkSmartPointer < vtkAlgorithmOutput > | vtkSmartPointer< vtkActor > |
getEnhancedModes | |
const EnhancedModes | setActorColor |
const EnhancedModes const | RenderingModes |
const EnhancedModes const const | double |
const EnhancedModes const const const | double |
setColor | |
const | double |
const const | double |
const const const | double |
const const const const double | getActorOpacity |
const const const const double | double |
const const const const double const RenderingModes | setMapperScalarRange |
const const const const double const RenderingModes | double |
const const const const double const RenderingModes double const double | size = 0.0) |
setOriginalVolume | |
vtkSmartPointer< vtkImageData > | get3DImageActor |
vtkSmartPointer< vtkImageData > vtkSmartPointer < vtkImageActor > | getPixelActor |
setRotationY | |
double | getNumberOfColors |
![]() | |
QMap< QString, vtkSmartPointer < vtkProp > > | extraProp |
The additional map for prop (include at least "label" and "glyph". More... | |
![]() | |
ComponentList | childrenComponent |
The explorer sub items. More... | |
bool | isSelectedFlag |
tells if this particular Component is selected or not More... | |
bool | modifiedFlag |
the modificatio flag (could be extended to manage a undo/redo list) More... | |
QString | myFileName |
the file name from which the Component is loaded More... | |
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... | |
The manager of the Atom data.
AtomDC are only created in the StructuralComponentDC constructor, which garanties that each atom has ONE AND ONLY ONE DC. But as Atom can be referenced by more than one Component (StructuralComponent or Cell) AtomDC is a particular type of DC that can have more than one parent DC (setParent is rewritten here).
AtomDC::AtomDC | ( | camitk::Component * | parent, |
PMManagerDC * | pmManagerDC, | ||
Atom * | |||
) |
|
virtual |
void AtomDC::addPointData | ( | StructuralComponentDC * | , |
double * | |||
) |
add a ptr to a pointData for this atom corresponding to the given SCDC
void AtomDC::clearPointData | ( | ) |
clear the point data ptr list
|
virtual |
overloaded method, allows to set the point when double clicked
Reimplemented from camitk::Component.
AtomDecoration* AtomDC::getDecoration | ( | const QString & | name, |
camitk::GeometricObject::Geometry | t | ||
) |
|
virtual |
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!
Reimplemented from camitk::Component.
int AtomDC::getOrderNumberInSCDC | ( | StructuralComponentDC * | ) |
knowing a StructuralComponentDC get the order number of this AtomDC in it (return -1 if not found)
|
inlinevirtual |
get the PMManagerDC (given during instanciation), allows to get PML/Component maps
|
virtual |
Overriden method so that we actually can build a popup menu with different actions.
Reimplemented from camitk::Component.
|
virtual |
reimplement this method to give the property object to the property editor
Reimplemented from camitk::Component.
|
virtual |
reimplement this method to give the property widget to the app
|
privatevirtual |
the concrete building of the geometry
Implements camitk::Component.
|
virtual |
picking is selecting/unselecting
Reimplemented from camitk::Component.
unsigned int AtomDC::registerIndexInSCDC | ( | const std::IndexInParentItemPair | ) |
register a StructuralComponentDC and this AtomDC corresponding order number in it (NOTE: this method replace the previous index if there was one)
void AtomDC::resetAlreadyMovedFlag | ( | ) |
reset the alreadyMoved flag to false, see alreadyMoved property
|
virtual |
do nothing here (the enhanced mode is controled by the setSelected method)
Implements camitk::InterfaceGeometry.
|
virtual |
set the name of the atom as well as the name of the DC
Reimplemented from camitk::Component.
|
virtual |
An AtomDC can have more than one parent...
myParentDC is the first DC (atom list).
|
virtual |
if the vtkPointSet is modified externally (e.g. by an operator), change the PM structure
Implements camitk::InterfaceGeometry.
|
virtual |
when seleceted add a sphere glyph around the atom position and set the enhanced mode to Normal
Reimplemented from camitk::Component.
unsigned int AtomDC::unregisterIndexInSCDC | ( | StructuralComponentDC * | ) |
unregister a StructuralComponentDC item from the map
void AtomDC::updatePointData | ( | const double | ) |
update point data value
void AtomDC::updatePosition | ( | ) |
update the position of the 3D representation and launch the update position cascade process (updating all the 3D representation of all the SC/cells containing this atom, then of all the SC containing all the cells containing this atom...)
|
private |
true if the atom has been already moved by another SC This is a way to solve the bug which occurs when 2 selected cells has this atom in common.
The call of setRealTransformation() being sequencial, the first cell will move the atom first, and then the second cell will move it again... Set to false when setTranform(...) is called with the identity. Set to true when updatePosition is called
|
private |
list of decorations attached to this AtomDC
|
staticprivate |
the AtomDC pixmap
|
private |
the PMManagerDC
|
private |
the popup menu
|
private |
the atom'properties
|
private |
correspondance between a SCDC and the order number of this atom dc in a particular SCDC (parent items).
|
private |
list of all the point data adresses
|
private |
list of all the SC who asked for a point data in this AtomDC