Computer Assited Medical Intervention Tool Kit  version 4.0
Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
AtomDC Class Reference

The manager of the Atom data. More...

#include <AtomDC.h>

Inherits camitk::Component.

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...
 
AtomgetAtom ()
 get the atom this dc is representing More...
 
AtomDecorationgetDecoration (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 PMManagerDCgetPMManagerDC ()
 get the PMManagerDC (given during instanciation), allows one 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 one to set the point when double clicked More...
 
- Public Member Functions inherited from camitk::Component
 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 ComponentgetParentComponent ()
 get the parent component More...
 
virtual ComponentgetTopLevelComponent ()
 get the top-level component More...
 
virtual InterfaceFramegetFrame ()
 get the associated frame More...
 
virtual void setModified (bool modified=true)
 set the modified flag More...
 
virtual bool getModified () const
 set the modified flag More...
 
virtual void setVisibility (Viewer *, bool)
 set the visibility for a viewer More...
 
virtual bool getVisibility (Viewer *) const
 get the visibility of a viewer More...
 
virtual void refresh () const
 refresh all the viewer that are currently displaying this Component More...
 
virtual void refreshInterfaceNode ()
 Asks all viewers that are currently displaying this Component to rebuild the representation of the InterfaceNode for this Component. More...
 
virtual bool isSelected () const
 Check if this data component is selected. More...
 
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 * getActionMenu ()
 Get a QMenu that contains all the action that can be applied to this component. 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 PropertygetProperty (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 ComponentListgetChildren ()
 get the list of the InterfaceNode children (sub items in the hierarchy) More...
 
virtual InterfaceNodegetParent ()
 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 &param)
 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
 
const virtual RenderingModes 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) delegate1(myGeometry
 
 delegateConstGet0 (mySlice, getImageData, vtkSmartPointer< vtkImageData >) delegate1(mySlice
 
vtkSmartPointer< vtkImageData > delegateConstGet0 (mySlice, get2DImageActor, vtkSmartPointer< vtkImageActor >) delegateConstGet0(mySlice
 
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > delegateConstGet0 (mySlice, getPickPlaneActor, vtkSmartPointer< vtkActor >) delegateGet0(mySlice
 
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > delegate3 (mySlice, pixelPicked, double, double, double) delegate0(mySlice
 
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > updatePickPlane delegate1 (mySlice, setSlice, int) delegate3(mySlice
 
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > updatePickPlane double delegate1 (mySlice, setRotationX, double) delegate1(mySlice
 
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > updatePickPlane double double delegate1 (mySlice, setRotationZ, double) delegateConstGet0(mySlice
 
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > updatePickPlane double double int delegate3 (mySlice, setPixelRealPosition, double, double, double) delegate1(mySlice
 
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > updatePickPlane double double int virtual vtkSmartPointer< vtkTransform > 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...
 
const QString & getFrameName () const
 Hierarchy accessors / Modifyers. More...
 
 delegate1 (myFrame, setFrameName, QString) InterfaceFrame *getParentFrame() const
 
void setParentFrame (InterfaceFrame *frame, bool keepTransform=true)
 Set the parent frame and update or not its transform during the parent transition. More...
 
const QVector< InterfaceFrame * > & getChildrenFrame () const
 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
 Transforms accessors / Modifyers. More...
 
const vtkSmartPointer< vtkTransform > getTransform () const
 Get the transformation with respect to the parent frame. More...
 
const vtkSmartPointer< vtkTransform > getTransformFromFrame (InterfaceFrame *frame) const
 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()
 
 delegate2 (myFrame, setFrameVisibility, Viewer *, bool) bool getFrameVisibility(Viewer *viewer) const
 
 delegate1 (myFrame, addFrameChild, InterfaceFrame *) delegate1(myFrame
 
- Public Member Functions inherited from camitk::InterfaceProperty
virtual unsigned int getIndexOfPropertyExplorerTab ()=0
 Get the index of the tab in the PropertyExplorer to select for display. More...
 
virtual void setIndexOfPropertyExplorerTab (unsigned int index)=0
 Set the index of the tab in the PropertyExplorer to select for display. More...
 
virtual ~InterfaceProperty ()
 empty virtual destructor, to avoid memory leak More...
 
- Public Member Functions inherited from camitk::InterfaceNode
virtual ~InterfaceNode ()
 empty virtual destructor, to avoid memory leak More...
 
- Public Member Functions inherited from camitk::InterfaceGeometry
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 void setMeshWorldTransform (vtkSmartPointer< vtkTransform >)=0
 set the transformation for 3D representation More...
 
virtual vtkSmartPointer< vtkAlgorithmOutput > getDataPort () const =0
 get the custom algorithm pipeline input. More...
 
virtual void setDataConnection (vtkSmartPointer< vtkAlgorithmOutput >)=0
 Set/reset the connection for the InterfaceGeometry internal algorithm. More...
 
virtual vtkSmartPointer< vtkActor > getActor (const RenderingModes)=0
 Return the actor for the representation mode, NULL if the actor doesn't exist. More...
 
virtual void setTexture (vtkSmartPointer< vtkTexture >)=0
 Set a texture to this object. More...
 
virtual void setPointPosition (const unsigned int orderNumber, const double x, const double y, const double z)=0
 set a given point position More...
 
virtual void setRenderingModes (const RenderingModes)=0
 
virtual const EnhancedModes getEnhancedModes () const =0
 get the current enhanced mode More...
 
virtual void setActorColor (const RenderingModes, double *color)=0
 Set the color of given representation modes. More...
 
virtual void setActorColor (const RenderingModes, const double, const double, const double)=0
 Set the color of given representation modes. More...
 
virtual void getActorColor (const RenderingModes, double *color)=0
 Get the color of given representation modes in the second parameter. More...
 
virtual void setColor (const double, const double, const double)=0
 Set an (r,g,b) color to all representation modes, without changing the opacity. More...
 
virtual void setColor (const double, const double, const double, const double)=0
 Set an (r,g,b,a) color to all representation modes. More...
 
virtual void setActorOpacity (const RenderingModes, const double)=0
 Set the opacity of this representation modes. WARNING color field (surfaceColor, ...) are not modified! More...
 
virtual double getActorOpacity (const RenderingModes) const =0
 Return the opacity of a given renderng mode. More...
 
virtual void setOpacity (const double)=0
 Set the opacity of this object. WARNING color field (surfaceColor, ...) are not modified! More...
 
virtual void setMapperScalarRange (double min, double max)=0
 Set the mapper scalar range. More...
 
virtual void setGlyphType (const GlyphTypes type, const double size=0.0)=0
 Set the glyph type (a glyph is a geometric representation attached to every point in the input dataset). More...
 
virtual void setLinesAsTubes (bool)=0
 set the lines as tubes (works only for vtkDataSet representation that contains lines) More...
 
- Public Member Functions inherited from camitk::InterfaceFrame
virtual void addFrameChild (InterfaceFrame *frame)=0
 Add the input frame as a child of the current frame. More...
 
virtual vtkSmartPointer< vtkAxesActor > getFrameAxisActor ()=0
 Gives the 3D representation of the frame (based on xyz arrows) More...
 
virtual bool getFrameVisibility (Viewer *viewer) const =0
 Get the Component Frame visibility for a given viewer. More...
 
virtual void removeFrameChild (InterfaceFrame *frame)=0
 Remove the input frame as a child of the current frame. More...
 
virtual void setFrameVisibility (Viewer *viewer, bool visible)=0
 Set the Component Frame visible for a given viewer. More...
 
virtual ~InterfaceFrame ()
 empty virtual destructor, to avoid memory leak More...
 
virtual void setFrameName (QString name)=0
 Set the Frame Unique identifyer. More...
 
virtual InterfaceFramegetParentFrame () const =0
 Get the parent frame. More...
 
virtual void setTransform (vtkSmartPointer< vtkTransform > transform)=0
 Set the current input frame position (according to its parent Frame) More...
 
virtual void resetTransform ()=0
 Set the current frame transform to identity. More...
 
virtual void translate (double x, double y, double z)=0
 Apply a translation relative to the current position. More...
 
virtual void rotate (double aroundX, double aroundY, double aroundZ)=0
 Apply rotations relative to the current position in the alphabetical order (X, Y, Z). More...
 
virtual void rotateVTK (double aroundX, double aroundY, double aroundZ)=0
 Apply a rotation relative to the current position, using the VTK rotation order (Z, X, Y) More...
 
virtual void setTransformTranslation (double x, double y, double z)=0
 Set the translation part of the 3D space transformation of the current frame. More...
 
virtual void setTransformTranslationVTK (double x, double y, double z)=0
 Set the translation part of the 3D space transformation of the current frame. More...
 
virtual void setTransformRotation (double aroundX, double aroundY, double aroundZ)=0
 Set the rotation part of the 3D space transformation of the current frame. More...
 
virtual void setTransformRotationVTK (double aroundX, double aroundY, double aroundZ)=0
 Set the rotation part of the 3D space transformation of the current frame. More...
 

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...
 
AtommyAtom
 The atom the dc is representing. More...
 
PMManagerDCmyPMManagerDC
 the PMManagerDC More...
 
AtomDCPopupmyPopupMenu
 the popup menu More...
 
AtomDCPropertiesmyProp
 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 = NULL
 the AtomDC pixmap More...
 

Additional Inherited Members

- Public Types inherited from camitk::Component
enum  Representation { GEOMETRY, SLICE, NO_REPRESENTATION }
 The different representation that can be implemented to represent this Component in the InteractiveViewer. More...
 
- Public Types inherited from camitk::InterfaceGeometry
enum  EnhancedMode { Normal = 0x0, Hidden = 0x1, Shaded = 0x2, Highlighted = 0x4 }
 (and QFlags EnhancedModes) handle the way the rendering actors will be enhanced or not (from completely hidden to highlighted) More...
 
enum  GlyphType { NoGlyph = 0x0, Sphere = 0x1 }
 (and QFlags GlyphTypes) is the type of glyph attached to the geometry representation More...
 
enum  RenderingMode { None = 0x0, Surface = 0x1, Wireframe = 0x2, Points = 0x4 }
 (and QFlags RenderingModes) handle actor rendering options (render this InterfaceGeometry as a surface, a wireframe and set of points). More...
 
- Public Attributes inherited from camitk::Component
 setPointSet
 
vtkSmartPointer< vtkPointSet > getDataPort
 
vtkSmartPointer< vtkPointSet > vtkSmartPointer< vtkAlgorithmOutput > getActor
 
vtkSmartPointer< vtkPointSet > vtkSmartPointer< vtkAlgorithmOutput > vtkSmartPointer< vtkActor >
 
 setRenderingModes
 
 getEnhancedModes
 
const EnhancedModes setActorColor
 
const EnhancedModes const RenderingModes
 
const EnhancedModes const const double
 
const EnhancedModes const const const double
 
 setColor
 
const double
 
const const double
 
const const const double
 
const const const const double getActorOpacity
 
const const const const double double
 
const const const const double const RenderingModes setMapperScalarRange
 
const const const const double const RenderingModes double
 
const const const const double const RenderingModes double const double size = 0.0)
 
 setMeshWorldTransform
 
 setOriginalVolume
 
vtkSmartPointer< vtkImageData > get3DImageActor
 
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > getPixelActor
 
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > updatePickPlane setSlice
 
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > updatePickPlane double
 
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > updatePickPlane double setRotationY
 
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > updatePickPlane double double getNumberOfColors
 
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > updatePickPlane double double int setImageWorldTransform
 
resetTransform rotate
 
resetTransform double
 
resetTransform double setTransformTranslation
 
resetTransform double double
 
resetTransform double double setTransformRotation
 
resetTransform double double double
 
 removeFrameChild
 
- Protected Attributes inherited from camitk::Component
ComponentList childrenComponent
 The explorer sub items. More...
 
unsigned int indexOfPropertyExplorerTab
 The PropertyExplorer tab index to select once refreshed. More...
 
bool isSelectedFlag
 tells if this particular Component is selected or not More...
 
bool modifiedFlag
 the modificatio flag (could be extended to manage a undo/redo list) More...
 
QString myFileName
 the file name from which the Component is loaded More...
 
InterfaceFramemyFrame
 myFrame is the pose (position and orientation) of the Component in the world frame, the Component delegates all InterfaceFrame activity to myFrame (delegation pattern) More...
 
InterfaceGeometrymyGeometry
 myGeometry is the 3d representation of this Component, the Component delegates all InterfaceGeometry activity to myGeometry (delegation pattern) More...
 
InterfaceNodemyParentNode
 who is the boss? The Component! More...
 
InterfaceBitMap * mySlice
 mySlice is the slice representation of this data component, the Component delegates all InterfaceBitMap activity to mySlice (delegation pattern) More...
 

Detailed Description

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).

Constructor & Destructor Documentation

◆ AtomDC()

AtomDC::AtomDC ( camitk::Component parent,
PMManagerDC pmManagerDC,
Atom a 
)

◆ ~AtomDC()

AtomDC::~AtomDC ( )
virtual

References decorations, myPopupMenu, and myProp.

Member Function Documentation

◆ addPointData()

void AtomDC::addPointData ( StructuralComponentDC sc,
double ptr 
)

add a ptr to a pointData for this atom corresponding to the given SCDC

References pointData, and pointDataSC.

◆ clearPointData()

void AtomDC::clearPointData ( )

clear the point data ptr list

References pointData.

◆ doubleClicked()

bool AtomDC::doubleClicked ( )
virtual

overloaded method, allows one to set the point when double clicked

Reimplemented from camitk::Component.

References CAMITK_INFO, Structure::getIndex(), and myAtom.

◆ getAtom()

Atom * AtomDC::getAtom ( )
inline

◆ getDecoration()

AtomDecoration * AtomDC::getDecoration ( const QString &  name,
camitk::GeometricObject::Geometry  t 
)

get a decoration of the AtomDC using its name.

If the AtomDC has no decoration using this name, create a new one using the given type.

Parameters
namethe decoration name
tthe decoration type

References decorations.

◆ getIcon()

QPixmap AtomDC::getIcon ( )
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

  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)
  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 = NULL; // 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)...

Reimplemented from camitk::Component.

References myPixmap.

◆ getOrderNumberInSCDC()

int AtomDC::getOrderNumberInSCDC ( StructuralComponentDC parent)

knowing a StructuralComponentDC get the order number of this AtomDC in it (return -1 if not found)

References mySCDCindexes.

Referenced by StructuralComponentDC::cellsToGeometry(), and StructuralComponentDC::updatePosition().

◆ getPMManagerDC()

virtual PMManagerDC* AtomDC::getPMManagerDC ( )
inlinevirtual

get the PMManagerDC (given during instanciation), allows one to get PML/Component maps

Referenced by AtomDCWidget::usedInTableClicked().

◆ getPopupMenu()

QMenu * AtomDC::getPopupMenu ( QWidget *  parent)
virtual

Overriden method so that we actually can build a popup menu with different actions.

Reimplemented from camitk::Component.

References myPopupMenu.

◆ getPosition()

void AtomDC::getPosition ( double x,
double y,
double z 
)

get the current position for this atom

References Atom::getPosition(), and myAtom.

Referenced by CellDC::initRepresentation().

◆ getPropertyObject()

QObject * AtomDC::getPropertyObject ( )
virtual

reimplement this method to give the property object to the property editor

Reimplemented from camitk::Component.

References myProp.

◆ getPropertyWidget()

QWidget * AtomDC::getPropertyWidget ( QWidget *  parent = 0)
virtual

reimplement this method to give the property widget to the app

References PMManagerDC::getAtomDCWidget(), and myPMManagerDC.

◆ initRepresentation()

void AtomDC::initRepresentation ( )
privatevirtual

◆ pointPicked()

void AtomDC::pointPicked ( vtkIdType  ,
bool  pickingIsSelecting 
)
virtual

picking is selecting/unselecting

Reimplemented from camitk::Component.

References setSelected().

◆ registerIndexInSCDC()

unsigned int AtomDC::registerIndexInSCDC ( const std::IndexInParentItemPair  p)

register a StructuralComponentDC and this AtomDC corresponding order number in it (NOTE: this method replace the previous index if there was one)

Returns
the new number of registered SCDC

References mySCDCindexes, and unregisterIndexInSCDC().

Referenced by StructuralComponentDC::updateAtoms().

◆ resetAlreadyMovedFlag()

void AtomDC::resetAlreadyMovedFlag ( )

reset the alreadyMoved flag to false, see alreadyMoved property

References alreadyMoved, and myPixmap.

Referenced by LoadsSimulationDriver::resetPositions(), AtomDCProperties::setPosition(), and LoadsSimulationDriver::updatePositions().

◆ setEnhancedModes()

void AtomDC::setEnhancedModes ( const EnhancedModes  em)
virtual

do nothing here (the enhanced mode is controled by the setSelected method)

Implements camitk::InterfaceGeometry.

◆ setName()

void AtomDC::setName ( const QString &  n)
virtual

set the name of the atom as well as the name of the DC

Reimplemented from camitk::Component.

References myAtom, Structure::setName(), and camitk::Component::setName().

◆ setParent()

void AtomDC::setParent ( InterfaceNode )
virtual

An AtomDC can have more than one parent...

myParentDC is the first DC (atom list).

◆ setPointSet()

void AtomDC::setPointSet ( vtkSmartPointer< vtkPointSet >  newPointSet)
virtual

if the vtkPointSet is modified externally (e.g. by an operator), change the PM structure

Implements camitk::InterfaceGeometry.

References camitk::Component::getTopLevelComponent(), camitk::Component::setModified(), and setPosition().

◆ setPosition()

void AtomDC::setPosition ( double  x,
double  y,
double  z 
)

◆ setSelected()

void AtomDC::setSelected ( const bool  d,
const bool  recursive = false 
)
virtual

◆ unregisterIndexInSCDC()

unsigned int AtomDC::unregisterIndexInSCDC ( StructuralComponentDC parent)

unregister a StructuralComponentDC item from the map

Returns
the new number of registered SCDC

References mySCDCindexes.

Referenced by registerIndexInSCDC().

◆ updatePointData()

void AtomDC::updatePointData ( const double  value)

update point data value

References pointData, and pointDataSC.

◆ updatePosition()

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...)

References PMManagerDC::getDC(), Structure::getNumberOfStructuralComponents(), Atom::getPosition(), Structure::getStructuralComponent(), myAtom, camitk::Component::myGeometry, myPMManagerDC, mySCDCindexes, camitk::Component::setModified(), and camitk::InterfaceGeometry::setPointPosition().

Referenced by setPosition().

Member Data Documentation

◆ alreadyMoved

bool AtomDC::alreadyMoved
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

Referenced by AtomDC(), resetAlreadyMovedFlag(), and setPosition().

◆ decorations

QMap<QString, AtomDecoration*> AtomDC::decorations
private

list of decorations attached to this AtomDC

Referenced by getDecoration(), and ~AtomDC().

◆ myAtom

Atom* AtomDC::myAtom
private

The atom the dc is representing.

Referenced by AtomDC(), doubleClicked(), getPosition(), initRepresentation(), setName(), setPosition(), and updatePosition().

◆ myPixmap

QPixmap * AtomDC::myPixmap = NULL
staticprivate

the AtomDC pixmap

Referenced by getIcon(), and resetAlreadyMovedFlag().

◆ myPMManagerDC

PMManagerDC* AtomDC::myPMManagerDC
private

◆ myPopupMenu

AtomDCPopup* AtomDC::myPopupMenu
private

the popup menu

Referenced by AtomDC(), getPopupMenu(), and ~AtomDC().

◆ myProp

AtomDCProperties* AtomDC::myProp
private

the atom'properties

Referenced by AtomDC(), getPropertyObject(), and ~AtomDC().

◆ mySCDCindexes

std::IndexInParentItemMap AtomDC::mySCDCindexes
private

correspondance between a SCDC and the order number of this atom dc in a particular SCDC (parent items).

Referenced by getOrderNumberInSCDC(), registerIndexInSCDC(), unregisterIndexInSCDC(), and updatePosition().

◆ pointData

std::vector<double *> AtomDC::pointData
private

list of all the point data adresses

Referenced by addPointData(), clearPointData(), and updatePointData().

◆ pointDataSC

std::set<StructuralComponentDC *> AtomDC::pointDataSC
private

list of all the SC who asked for a point data in this AtomDC

Referenced by addPointData(), and updatePointData().


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