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

The manager of the Structural component data. More...

#include <StructuralComponentDC.h>

Inherits ComponentDC.

Inherited by CellDC.

Public Member Functions

camitk::GeometrycellsToGeometry ()
 create an Geometry (composed by vtk unstructured grid of n cells) from the managed SC which is a list of cells More...
 
StructuralComponent::ComposedBy composedBy ()
 return if the structural component is a list of cells or of atoms More...
 
virtual void createPointData ()
 create all the point data to display specific information (only works for SCs that have a surface representation). More...
 
virtual void destroyPointData ()
 destroy all the point data More...
 
StructuralComponentgetSC ()
 convenient methods More...
 
 StructuralComponentDC (camitk::Component *parent, PMManagerDC *pmManagerDC, StructuralComponent *sc, bool delayRepresentationInit=false)
 Default constructor, set the 3rd parameter to false to delay the construction of the Geometry (represention of the DC in 3D). More...
 
void updateAtoms ()
 the method to update both atomDCs vector and atomVtkPointsIndexMap More...
 
void updatePosition (AtomDC *, int atomOrderNr=-1)
 This atom position has been changed, the 3D representation has to be updated. More...
 
virtual ~StructuralComponentDC ()
 destructor More...
 
camitk::Component rewritten

This methods are overloaded from camitk::Component to give the StructuralComponentDC and its sub classe CellDC a different behaviour.

virtual QPixmap getIcon ()
 Get the pixmap that will be displayed for this node. More...
 
virtual void setPointSet (vtkSmartPointer< vtkPointSet >)
 if the vtkPointSet is modified externally (e.g. by an operator), change the PM structure More...
 
virtual void cellPicked (vtkIdType, bool)
 select a specific sub DC using the cell id (do nothing if the SC is not composed by cells) More...
 
virtual void pointPicked (vtkIdType, bool)
 select a specific sub DC using the point id (do nothing if the SC is not composed by atoms) More...
 
virtual void setSelected (const bool, const bool recursive=false)
 do not select sub DC if they are AtomDC (AtomDC can only be selected individually) More...
 
virtual void setEnhancedModes (const EnhancedModes)
 do not set enhanced modes if children are atomDC More...
 
virtual void setRenderingModes (const RenderingModes)
 set the rendering mode of the StructuralComponent as well as the DC More...
 
virtual void setActorColor (const RenderingModes, const double, const double, const double)
 Set the color of given representation modes. More...
 
virtual void setActorColor (const RenderingModes, double[4])
 
virtual void setColor (const double, const double, const double)
 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)
 Set an (r,g,b,a) color to all representation modes. More...
 
virtual void addChild (InterfaceNode *)
 add a sub DC: overloaded method to allow change in the physical model data representation More...
 
virtual void removeChild (InterfaceNode *)
 remove a sub DC: overloaded method to allow change in the physical model data representation More...
 
virtual QMenu * getPopupMenu (QWidget *parent)
 Overriden method so that we actually can build a popup menu with different actions. More...
 
virtual QObject * getPropertyObject ()
 reimplement this method to give the property object to the property editor More...
 
- Public Member Functions inherited from ComponentDC
 ComponentDC (camitk::Component *parent, PMManagerDC *pmManagerDC, ::Component *c=NULL)
 constructors More...
 
::ComponentgetComponent ()
 return the component that this dc is managing More...
 
virtual PMManagerDCgetPMManagerDC ()
 get the PMManagerDC (given during instanciation), allows one to get PML/Component maps More...
 
virtual void updateProperty (QString name, QVariant value)
 update a specific property More...
 
virtual ~ComponentDC ()
 
virtual void setOpacity (const double)
 
More...
 
virtual const EnhancedModes getEnhancedModes () const
 get the current enhanced mode More...
 
virtual const RenderingModes getRenderingModes () const
 see Component.cpp More...
 
virtual void setName (const QString &)
 set the name to be displayed More...
 
virtual void deleteChildren ()
 remove a sub DC: overloaded method to avoir deletion of children that are used in more than one SCDC (that have more than one parent) More...
 
virtual vtkSmartPointer< vtkPointSet > getPointSet ()
 return the first non-null subcomponent point set More...
 
- Public Member Functions inherited from camitk::MeshComponent
virtual unsigned int getNumberOfPropertyWidget ()
 there is more than one property widgets (to view as tabs in the property explorer) More...
 
vtkIdType getPickedCellId ()
 get the last pick point id, More...
 
vtkIdType getPickedPointId ()
 get the last pick point id, More...
 
virtual QWidget * getPropertyWidgetAt (unsigned int i, QWidget *parent=0)
 the proprety widgets are: default property widget, selection view and data view More...
 
 MeshComponent (const QString &file) throw ( AbortException )
 Creates a top-level MeshComponent from a file. More...
 
 MeshComponent (vtkSmartPointer< vtkPointSet > aPointSet, const QString &name)
 Creates a top-level MeshComponent from a vtkPointSet (and instanciate its 3D representation). More...
 
 MeshComponent (Component *parentComponent, vtkSmartPointer< vtkPointSet > aPointSet, const QString &name)
 Creates a MeshComponent as a sub component of another Component using a vtkPointSet (and instanciate its 3D representation). More...
 
virtual ~MeshComponent ()
 Destructor. More...
 
QList< vtkSmartPointer< vtkSelectionNode > > & getSelections ()
 Get the selection list. More...
 
unsigned int getNumberOfSelections () const
 Get the number of selections. More...
 
vtkSmartPointer< vtkSelection > getActiveSelection () const
 Get active selections. More...
 
vtkSmartPointer< vtkSelectionNode > getSelection (const QString &name) const
 Get a selection from its name. More...
 
vtkSmartPointer< vtkSelectionNode > getSelectionAt (unsigned int index) const
 Get a selection from its index in the list. More...
 
int getSelectionIndex (const QString &name) const
 Get the selection index in the list from its name. More...
 
virtual int addSelection (const QString &name, int fieldType, int contentType, vtkSmartPointer< vtkAbstractArray > array, MeshSelectionModel::InsertionPolicy policy=MeshSelectionModel::REPLACE)
 Add a selection. More...
 
virtual int addToSelectedSelection (int fieldType, int contentType, vtkSmartPointer< vtkAbstractArray > array, MeshSelectionModel::InsertionPolicy policy=MeshSelectionModel::REPLACE)
 Add a selection to the currently selected selection. More...
 
vtkSmartPointer< vtkDataArray > getDataArray (MeshDataModel::FieldType fieldType, const QString &arrayName)
 Get the data array of specified field type and name. More...
 
vtkSmartPointer< vtkDataArray > getDataArray (MeshDataModel::FieldType fieldType, int index)
 Get the data array of specified field type and index. More...
 
void addDataArray (MeshDataModel::FieldType fieldType, const QString &name, vtkSmartPointer< vtkDataArray > data)
 Add a data array. More...
 
void removeDataArray (MeshDataModel::FieldType fieldType, const QString &name)
 Remove a data array. More...
 
void addPointData (const QString &name, vtkSmartPointer< vtkDataArray > data)
 Add a data array linked to the points. More...
 
void addCellData (const QString &name, vtkSmartPointer< vtkDataArray > data)
 Add a data array linked to the cells. More...
 
vtkSmartPointer< vtkProp > getDataProp (MeshDataModel::FieldType fieldType, const QString &name)
 Get the prop associed to the data. More...
 
void setActiveData (MeshDataModel::FieldType fieldType, const char *name)
 Set the given named scalar data array corresponding to the given field type as the currently active data. More...
 
MeshDataModelgetDataModel ()
 get the current data view model (model as the M in Qt MVC design pattern) 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 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 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 bool doubleClicked ()
 this method is called each time the InterfaceNode is double clicked by the user. 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 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
 
 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 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 setActorColor (const RenderingModes, double *color)=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 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 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...
 

Static Public Member Functions

static vtkSmartPointer< vtkUnstructuredGrid > structuralComponentToVtk (StructuralComponent *, std::AtomVtkPointsIndexMap *)
 Build an unstructured grid from a Structural Component, and build the correct AtomVtkPointsIndexMap. More...
 
static vtkSmartPointer< vtkUnstructuredGrid > structuralComponentToVtk (StructuralComponent *)
 Build an unstructured grid from a Structural Component. More...
 

Protected Attributes

unsigned int nrOfAtoms
 nr of atoms More...
 
vtkSmartPointer< vtkDoubleArray > pointData
 the point data array More...
 
- Protected Attributes inherited from ComponentDC
::ComponentmyComponent
 the managed Component More...
 
PMManagerDCmyPMManagerDC
 the PMManagerDC More...
 
- Protected Attributes inherited from camitk::Component
ComponentList childrenComponent
 The explorer sub items. More...
 
unsigned int indexOfPropertyExplorerTab
 The PropertyExplorer tab index to select once refreshed. More...
 
bool isSelectedFlag
 tells if this particular Component is selected or not More...
 
bool modifiedFlag
 the modificatio flag (could be extended to manage a undo/redo list) More...
 
QString myFileName
 the file name from which the Component is loaded More...
 
InterfaceFramemyFrame
 myFrame is the pose (position and orientation) of the Component in the world frame, the Component delegates all InterfaceFrame activity to myFrame (delegation pattern) More...
 
InterfaceGeometrymyGeometry
 myGeometry is the 3d representation of this Component, the Component delegates all InterfaceGeometry activity to myGeometry (delegation pattern) More...
 
InterfaceNodemyParentNode
 who is the boss? The Component! More...
 
InterfaceBitMap * mySlice
 mySlice is the slice representation of this data component, the Component delegates all InterfaceBitMap activity to mySlice (delegation pattern) More...
 

Private Member Functions

camitk::GeometryatomsToGeometry ()
 create an Geometry (a vtk unstructured grid of 1 poly vertex) from the managed SC which is a list of atoms More...
 
virtual void initRepresentation ()
 the concrete building of the geometry More...
 

Private Attributes

std::vector< AtomDC * > atomDCs
 list of atom DCs. More...
 
std::vector< unsigned int > cellIdToBeRemoved
 cell ids in the vtk structures to be removed More...
 
StructuralComponentDCPopupmyPopupMenu
 the popup menu More...
 
StructuralComponentDCPropertiesmyProp
 the SC DC properties More...
 
unsigned int nrOfParts
 cumulative nr of cell and points. More...
 

Static Private Attributes

static QPixmap * myPixmap = NULL
 the StructuralComponentDC 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 Slots inherited from camitk::MeshComponent
void changeSelectedSelection (const QItemSelection &selected, const QItemSelection &deselected)
 called when the selection is modified More...
 
void removeSelectedData ()
 remove the selected selection More...
 
void removeSelectedSelections ()
 remove the selected selection More...
 
- Protected Member Functions inherited from camitk::MeshComponent
virtual void initData ()
 initialize data More...
 
virtual void initDynamicProperties ()
 create and initialize dynamic properties More...
 
virtual void initRepresentation (vtkSmartPointer< vtkPointSet >)
 
virtual void initSelection ()
 initialize selections More...
 

Detailed Description

The manager of the Structural component data.

Maintains a map to tell at what position is a give atom in the vtkPoints list. This class gives also a conveniant method to save a StructuralComponent in a vtk unstructured grid.

Constructor & Destructor Documentation

◆ StructuralComponentDC()

StructuralComponentDC::StructuralComponentDC ( camitk::Component parent,
PMManagerDC pmManagerDC,
StructuralComponent sc,
bool  delayRepresentationInit = false 
)

Default constructor, set the 3rd parameter to false to delay the construction of the Geometry (represention of the DC in 3D).

delayRepresentationInit should always be set to true when the constructor is called by a sub-class (see CellDC constructor). If delayRepresentationInit is false (default) and if the default mode is visible, then the SCDC constructor will build an Geometry considering a SC not a sub-class (i.e. Cell).

References PMManagerDC::addStructuralComponentDCPair(), StructuralComponent::ATOMS, camitk::Component::attachChild(), StructuralComponent::CELLS, StructuralComponent::composedBy(), PMManagerDC::getDC(), StructuralComponent::getMode(), Component::getName(), StructuralComponent::getNumberOfStructures(), getSC(), StructuralComponent::getStructure(), initRepresentation(), ComponentDC::myPMManagerDC, myPopupMenu, myProp, nrOfAtoms, nrOfParts, pointData, PMManagerDC::progressOneStep(), camitk::Component::setName(), and camitk::Component::setVisibility().

◆ ~StructuralComponentDC()

StructuralComponentDC::~StructuralComponentDC ( )
virtual

destructor

References destroyPointData(), myPopupMenu, and myProp.

Member Function Documentation

◆ addChild()

void StructuralComponentDC::addChild ( InterfaceNode )
virtual

add a sub DC: overloaded method to allow change in the physical model data representation

References camitk::Component::addChild(), StructuralComponent::addStructureIfNotIn(), and getSC().

◆ atomsToGeometry()

Geometry * StructuralComponentDC::atomsToGeometry ( )
private

create an Geometry (a vtk unstructured grid of 1 poly vertex) from the managed SC which is a list of atoms

References camitk::Component::childrenComponent, camitk::Component::getName(), Atom::getPosition(), getSC(), ComponentDC::myPMManagerDC, nrOfAtoms, and PMManagerDC::toDCRenderingMode().

Referenced by initRepresentation().

◆ cellPicked()

void StructuralComponentDC::cellPicked ( vtkIdType  cellId,
bool  pickingIsSelecting 
)
virtual

select a specific sub DC using the cell id (do nothing if the SC is not composed by cells)

Reimplemented from camitk::MeshComponent.

References StructuralComponent::CELLS, camitk::Component::childrenComponent, composedBy(), and getSC().

◆ cellsToGeometry()

Geometry * StructuralComponentDC::cellsToGeometry ( )

◆ composedBy()

StructuralComponent::ComposedBy StructuralComponentDC::composedBy ( )

return if the structural component is a list of cells or of atoms

References StructuralComponent::composedBy(), and getSC().

Referenced by cellPicked(), createPointData(), initRepresentation(), pointPicked(), setEnhancedModes(), setPointSet(), setSelected(), updateAtoms(), and updatePosition().

◆ createPointData()

void StructuralComponentDC::createPointData ( )
virtual

create all the point data to display specific information (only works for SCs that have a surface representation).

This will automatically fills up the AtomDC point data pointers.

Reimplemented from ComponentDC.

Reimplemented in CellDC.

References atomDCs, StructuralComponent::CELLS, composedBy(), getSC(), pointData, and camitk::InterfaceGeometry::setPointData().

◆ destroyPointData()

void StructuralComponentDC::destroyPointData ( )
virtual

destroy all the point data

Reimplemented from ComponentDC.

Reimplemented in CellDC.

References atomDCs, pointData, and camitk::InterfaceGeometry::setPointData().

Referenced by ~StructuralComponentDC().

◆ getIcon()

QPixmap StructuralComponentDC::getIcon ( )
virtual

Get the pixmap that will be displayed for this node.

Reimplemented from camitk::MeshComponent.

Reimplemented in CellDC.

References myPixmap.

◆ getPopupMenu()

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

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

Reimplemented from camitk::Component.

References myPopupMenu.

◆ getPropertyObject()

QObject * StructuralComponentDC::getPropertyObject ( )
virtual

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

Reimplemented from ComponentDC.

Reimplemented in CellDC.

References myProp.

◆ getSC()

StructuralComponent * StructuralComponentDC::getSC ( )
inline

◆ initRepresentation()

void StructuralComponentDC::initRepresentation ( )
privatevirtual

◆ pointPicked()

void StructuralComponentDC::pointPicked ( vtkIdType  pointId,
bool  pickingIsSelecting 
)
virtual

select a specific sub DC using the point id (do nothing if the SC is not composed by atoms)

Reimplemented from camitk::MeshComponent.

References atomDCs, StructuralComponent::ATOMS, CAMITK_ERROR, StructuralComponent::CELLS, camitk::Component::childrenComponent, composedBy(), camitk::Component::getName(), and getSC().

◆ removeChild()

void StructuralComponentDC::removeChild ( InterfaceNode )
virtual

remove a sub DC: overloaded method to allow change in the physical model data representation

References cellIdToBeRemoved, camitk::Component::childrenComponent, getSC(), camitk::Component::removeChild(), and StructuralComponent::removeStructure().

◆ setActorColor() [1/2]

void StructuralComponentDC::setActorColor ( const RenderingModes  ,
const double  ,
const double  ,
const double   
)
virtual

◆ setActorColor() [2/2]

void StructuralComponentDC::setActorColor ( const RenderingModes  mode,
double  newColor[4] 
)
virtual

◆ setColor() [1/2]

void StructuralComponentDC::setColor ( const double  ,
const double  ,
const double   
)
virtual

Set an (r,g,b) color to all representation modes, without changing the opacity.

Implements camitk::InterfaceGeometry.

References getSC(), StructuralComponent::setColor(), and camitk::Component::setColor.

◆ setColor() [2/2]

void StructuralComponentDC::setColor ( const double  ,
const double  ,
const double  ,
const double   
)
virtual

Set an (r,g,b,a) color to all representation modes.

Implements camitk::InterfaceGeometry.

References getSC(), StructuralComponent::setColor(), and camitk::Component::setColor.

◆ setEnhancedModes()

void StructuralComponentDC::setEnhancedModes ( const EnhancedModes  em)
virtual

do not set enhanced modes if children are atomDC

Implements camitk::InterfaceGeometry.

References StructuralComponent::ATOMS, composedBy(), getSC(), and camitk::InterfaceGeometry::setEnhancedModes().

◆ setPointSet()

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

◆ setRenderingModes()

void StructuralComponentDC::setRenderingModes ( const RenderingModes  m)
virtual

◆ setSelected()

void StructuralComponentDC::setSelected ( const bool  s,
const bool  recursive = false 
)
virtual

do not select sub DC if they are AtomDC (AtomDC can only be selected individually)

Reimplemented from camitk::Component.

Reimplemented in CellDC.

References StructuralComponent::ATOMS, composedBy(), getSC(), and camitk::Component::setSelected().

◆ structuralComponentToVtk() [1/2]

vtkSmartPointer< vtkUnstructuredGrid > StructuralComponentDC::structuralComponentToVtk ( StructuralComponent sc,
std::AtomVtkPointsIndexMap atomVtkPointsIndexMap 
)
static

◆ structuralComponentToVtk() [2/2]

vtkSmartPointer< vtkUnstructuredGrid > StructuralComponentDC::structuralComponentToVtk ( StructuralComponent sc)
static

Build an unstructured grid from a Structural Component.

References myPixmap, and structuralComponentToVtk().

◆ updateAtoms()

void StructuralComponentDC::updateAtoms ( )

◆ updatePosition()

void StructuralComponentDC::updatePosition ( AtomDC modifiedAtomDC,
int  atomOrderNr = -1 
)

This atom position has been changed, the 3D representation has to be updated.

For optimization reason: if you know the atom order nr in this SCDC, please give it! An atom in the cell position has been changed this method starts the update cascade process, consisting in updating all the 3D representation of the all the components containing this component, then of all the components containing all the components containing this component... etc... up to the PM void updatePosition(AtomDC *, CellDC *);

References StructuralComponent::ATOMS, composedBy(), AtomDC::getAtom(), AtomDC::getOrderNumberInSCDC(), Atom::getPosition(), getSC(), camitk::Component::isInstanceOf(), camitk::Component::myGeometry, and camitk::InterfaceGeometry::setPointPosition().

Member Data Documentation

◆ atomDCs

std::vector<AtomDC *> StructuralComponentDC::atomDCs
private

list of atom DCs.

This list is used only when the structural component is made of cells. This list is here to speed up the application: When you need atom's DC you could always call the PMManager::getDC method, but that is at a high cost. So why not maintain the list of the Atom DCs of the structural component. This list is build/update in the updateAtoms method.

Referenced by cellsToGeometry(), createPointData(), destroyPointData(), pointPicked(), setPointSet(), and updateAtoms().

◆ cellIdToBeRemoved

std::vector<unsigned int> StructuralComponentDC::cellIdToBeRemoved
private

cell ids in the vtk structures to be removed

Referenced by removeChild().

◆ myPixmap

QPixmap * StructuralComponentDC::myPixmap = NULL
staticprivate

◆ myPopupMenu

StructuralComponentDCPopup* StructuralComponentDC::myPopupMenu
private

◆ myProp

StructuralComponentDCProperties* StructuralComponentDC::myProp
private

the SC DC properties

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

◆ nrOfAtoms

unsigned int StructuralComponentDC::nrOfAtoms
protected

◆ nrOfParts

unsigned int StructuralComponentDC::nrOfParts
private

cumulative nr of cell and points.

Example: if sc=[c0,c1] , c0=[a0,a2,a3] and c1=[a1,a2,a4,a0] then nrOfParts = 1 + 3 + 1 + 4 = 9. Updated in updateAtoms()

Referenced by cellsToGeometry(), StructuralComponentDC(), and updateAtoms().

◆ pointData

vtkSmartPointer<vtkDoubleArray> StructuralComponentDC::pointData
protected

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