Computer Assited Medical Intervention Tool Kit
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
PMManagerDC Class Reference

The manager of the physical model data. More...

#include <PMManagerDC.h>

+ Inheritance diagram for PMManagerDC:

Public Member Functions

void createPointData ()
 create all the point data (scalar value) to display specific information, for physical model component, a point data is associated to each atom (hence outside the camitk::Component subclasses, this is renamed "atom data"). More...
 
void destroyPointData ()
 destroy all the atom data More...
 
virtual QPixmap getIcon ()
 get the pixmap for physical model DC More...
 
bool getModified () const
 overloaded method (Also check for Loads modifications) More...
 
virtual QMenu * getPopupMenu (QWidget *parent)
 Overriden method so that we actually can build a popup menu with different actions. More...
 
 PMManagerDC (const QString &) throw (AbortException)
 Default constructor: give it the name of the file containing the data (either a pml file or scn file) More...
 
 PMManagerDC (PhysicalModel *, const QString &)
 Create a manager directly from the PhysicalModel. More...
 
void progressOneStep ()
 tell the PMDC that another step is done (and set the progress bar correspondingly) More...
 
virtual void setName (const QString &)
 set the name of the physical model as well More...
 
virtual ~PMManagerDC ()
 Default destructor. More...
 
Physical Model <-> Component

to get a Component corresponding to a PhysicalModel component or structure

PhysicalModel * getPhysicalModel ()
 get the current managed PhysicalModel More...
 
virtual double getBoundingRadius ()
 get the bounding sphere radius (calculated when loaded) More...
 
virtual void getBounds (double bounds[6])
 get the current bounds (calculated when loaded: it is called by getBoundingRadius() More...
 
void computeBoundingRadius ()
 compute the bounding radius using the PhysicalModel atoms' position More...
 
InterfaceGeometry::RenderingModes toDCRenderingMode (::RenderingMode::Mode)
 convert PML rendering mode to Camitk rendering mode More...
 
::RenderingMode::Mode toPMRenderingMode (InterfaceGeometry::RenderingModes)
 convert Camitk rendering mode to PML rendering mode More...
 
ComponentDCgetDC (::Component *)
 get the DC of a particular Component More...
 
MultiComponentDCgetDC (MultiComponent *)
 get the DC of a particular MC More...
 
StructuralComponentDCgetDC (StructuralComponent *)
 get the DC of a particular SC More...
 
CellDCgetDC (Cell *)
 get the DC of a particular Cell More...
 
AtomDCgetDC (Atom *)
 get the DC of a particular atom More...
 
void addMultiComponentDCPair (std::ComponentDCPair)
 add the MC/DC pair More...
 
void addStructuralComponentDCPair (std::ComponentDCPair)
 add the SC/DC pair More...
 
void addCellDCPair (std::ComponentDCPair)
 add the C/DC pair More...
 
void addAtomDCPair (std::AtomDCPair)
 add the A/DC pair More...
 
Misc
QWidget * getAtomDCWidget (AtomDC *adc=NULL, QWidget *parent=NULL)
 get the AtomDCWidget, create one if needed More...
 
LoadsManagergetLoadsManager ()
 get the load manager More...
 
- Public Member Functions inherited from camitk::MeshComponent
void cellPicked (vtkIdType cellId, bool)
 reimplemented to save the last pick point id More...
 
vtkIdType getPickedCellId ()
 get the last pick point id, More...
 
vtkIdType getPickedPointId ()
 get the last pick point id, 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...
 
void pointPicked (vtkIdType pointId, bool)
 reimplemented to save the last pick point id More...
 
virtual ~MeshComponent ()
 Destructor. 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 void setModified (bool modified=true)
 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...
 
virtual void setSelected (const bool, const bool recursive=true)
 Update the selection flag. More...
 
const QString getFileName () const
 get the file name where the data have to be stored/were stored More...
 
void setFileName (const QString &)
 set the file name where the data have to be stored More...
 
bool event (QEvent *e)
 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 QWidget * getPropertyWidget (QWidget *parent=0)
 get the property widget to display. More...
 
virtual QObject * getPropertyObject ()
 get the property object that could be understood by PropertyEditor. 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 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 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...
 
virtual vtkSmartPointer
< vtkPointSet > 
getPointSet ()
 
virtual void setPointSet (vtkSmartPointer< vtkPointSet > param)
 set the low-level data set. More...
 
virtual void setPointData (vtkSmartPointer< vtkDataArray > param)
 set the point data (may contains a lookup table). More...
 
virtual vtkSmartPointer
< vtkAlgorithmOutput > 
getDataPort () const
 get the custom algorithm pipeline input. More...
 
virtual void setDataConnection (vtkSmartPointer< vtkAlgorithmOutput > param)
 Set/reset the connection for the InterfaceGeometry internal algorithm. More...
 
virtual vtkSmartPointer< vtkActor > getActor (const RenderingModes param)
 Return the actor for the representation mode, NULL if the actor doesn't exist. More...
 
virtual 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 setPointPosition (const unsigned int param1, const double param2, const double param3, const double param4)
 set a given point position More...
 
virtual void setRenderingModes (const RenderingModes param)
 
virtual const RenderingModes getRenderingModes () const
 see Component.cpp More...
 
virtual void setEnhancedModes (const EnhancedModes param)
 set the enhanced mode More...
 
virtual const EnhancedModes getEnhancedModes () const
 get the current enhanced mode More...
 
virtual void setActorColor (const RenderingModes param1, double param2[4])
 Set the color of given representation modes. More...
 
virtual void setActorColor (const RenderingModes param1, const double param2, const double param3, const double param4)
 Set the color of given representation modes. More...
 
virtual void getActorColor (const RenderingModes, double[4])
 see Component.cpp More...
 
virtual void setColor (const double param1, const double param2, const double param3)
 Set an (r,g,b) color to all representation modes, without changing the opacity. More...
 
virtual void setColor (const double param1, const double param2, const double param3, const double param4)
 Set an (r,g,b,a) color to all representation modes. More...
 
virtual void setActorOpacity (const RenderingModes param1, const double param2)
 Set the opacity of this representation modes. WARNING color field (surfaceColor, ...) are not modified! More...
 
virtual double getActorOpacity (const RenderingModes param) const
 Return the opacity of a given renderng mode. More...
 
virtual void setOpacity (const double param)
 Set the opacity of this object. WARNING color field (surfaceColor, ...) are not modified! More...
 
virtual void setTexture (vtkSmartPointer< vtkTexture > param)
 Set a texture to this object. More...
 
virtual void setGlyphType (const GlyphTypes type, const double size=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 param)
 set the lines as tubes (works only for vtkDataSet representation that contains lines) More...
 
virtual vtkSmartPointer
< vtkImageData > 
getImageData () const
 Return the displayed images as a vtkImageData. More...
 
virtual void setOriginalVolume (vtkSmartPointer< vtkImageData > param)
 set the original volume image data (the source vtkImageData before any reslice) and refresh the vtk pipeline More...
 
virtual vtkSmartPointer
< vtkImageActor > 
get2DImageActor () const
 Return the vtkImageActor (vtkProp) representing a slice to be displayed in 2D. More...
 
virtual vtkSmartPointer
< vtkImageActor > 
get3DImageActor () const
 Return the vtkImageActor (vtkProp) representing a slice to be displayed in 2D. More...
 
virtual vtkSmartPointer< vtkActor > getPickPlaneActor () const
 Return the vtkActor used to pick pixels in the slices. More...
 
virtual vtkSmartPointer< vtkActor > getPixelActor ()
 Return the vtkActor used to pick pixels in the slices. More...
 
virtual void pixelPicked (double param1, double param2, double param3)
 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 updatePickPlane ()
 
virtual void setSlice (int param)
 Set the current slice index. More...
 
virtual void setSlice (double param1, double param2, double param3)
 Set the slice corresponding to the given world coordinates. More...
 
virtual void setRotationX (double param)
 Set the current angle to the arbitrary slice. More...
 
virtual void setRotationY (double param)
 
virtual void setRotationZ (double param)
 
virtual int getNumberOfColors () const
 Return the number of colors in the images. More...
 
virtual void setPixelRealPosition (double param1, double param2, double param3)
 move the pixel selection green indicator (pixelActor) to the given real position More...
 
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...
 
- Public Member Functions inherited from camitk::InterfaceProperty
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...
 
- Public Member Functions inherited from camitk::InterfaceBitMap
virtual ~InterfaceBitMap ()
 virtual destructor More...
 

Private Member Functions

void buildPhysicalModelDCs ()
 build the Physical model dcs More...
 
virtual void initRepresentation ()
 the method that build the Geometry (this method actually creates an empty geometry as there are no Geometry that represents a whole Physical Model). More...
 

Private Attributes

double initialBoundingRadius
 the bounding sphere radius calculated just after the PML is loaded More...
 
std::AtomDCMap myADCMap
 the A / DC map More...
 
AtomDCWidgetmyAtomDCWidget
 the atomdc widget More...
 
std::ComponentDCMap myCDCMap
 the Cell / DC map More...
 
LoadsManagermyLoadsManager
 the load manager More...
 
std::ComponentDCMap myMCDCMap
 the MC / DC map More...
 
PhysicalModel * myPM
 the physical model managed here More...
 
PMManagerDCPopupmyPopupMenu
 the popup menu More...
 
std::ComponentDCMap mySCDCMap
 the SC / DC map More...
 
unsigned int nrOfDoneSteps
 Number of Step done yet. More...
 
unsigned int nrOfSteps
 Total Number of Step. More...
 

Static Private Attributes

static QPixmap * myPixmap = NULL
 the PMManagerDC icon 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 Attributes inherited from camitk::InterfaceBitMap
QMap< QString, vtkSmartPointer
< vtkProp > > 
extraProp
 The additional map for prop (include at least "label" and "glyph". More...
 
- Protected Member Functions inherited from camitk::MeshComponent
virtual void initRepresentation (vtkSmartPointer< vtkPointSet >)
 build the instance of Geometry from the given vtkPointSet More...
 
- Protected Attributes inherited from camitk::Component
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...
 
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...
 
InterfaceBitMapmySlice
 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 physical model data.

NOTE: each cell has one and only one CellDC (see StructuralComponentDC constructor code).

NOTE: each atom has one and only one AtomDC (see StructuralComponentDC constructor code).

Constructor & Destructor Documentation

PMManagerDC::PMManagerDC ( const QString &  fileName) throw (AbortException)

Default constructor: give it the name of the file containing the data (either a pml file or scn file)

References camitk::InteractiveViewer::get3DViewer().

PMManagerDC::PMManagerDC ( PhysicalModel *  pm,
const QString &  fileName 
)
PMManagerDC::~PMManagerDC ( )
virtual

Default destructor.

References getDC(), myAtomDCWidget, myLoadsManager, myPM, and myPopupMenu.

Member Function Documentation

void PMManagerDC::addAtomDCPair ( std::AtomDCPair  p)
inline

add the A/DC pair

Referenced by AtomDC::AtomDC().

void PMManagerDC::addCellDCPair ( std::ComponentDCPair  p)

add the C/DC pair

References myCDCMap.

Referenced by CellDC::CellDC().

void PMManagerDC::addMultiComponentDCPair ( std::ComponentDCPair  p)
inline

add the MC/DC pair

Referenced by MultiComponentDC::MultiComponentDC().

void PMManagerDC::addStructuralComponentDCPair ( std::ComponentDCPair  p)
inline

add the SC/DC pair

Referenced by StructuralComponentDC::StructuralComponentDC().

void PMManagerDC::buildPhysicalModelDCs ( )
private

build the Physical model dcs

References myPM, nrOfDoneSteps, and nrOfSteps.

Referenced by PMManagerDC().

void PMManagerDC::computeBoundingRadius ( )

compute the bounding radius using the PhysicalModel atoms' position

References getBounds(), and initialBoundingRadius.

Referenced by PMManagerDC(), and AtomDC::setSelected().

void PMManagerDC::createPointData ( )

create all the point data (scalar value) to display specific information, for physical model component, a point data is associated to each atom (hence outside the camitk::Component subclasses, this is renamed "atom data").

SCs that have a surface representation show the atom information as a color, automatic interpolation in VTK (thanks to point data) allows for nice color scale display.

Note: this will automatically fills up the AtomDC point data pointers.

References camitk::Component::getChildren(), and camitk::Component::isInstanceOf().

Referenced by LoadsManager::setAtomDataDisplay(), and Colors::update().

void PMManagerDC::destroyPointData ( )
QWidget * PMManagerDC::getAtomDCWidget ( AtomDC adc = NULL,
QWidget *  parent = NULL 
)

get the AtomDCWidget, create one if needed

Parameters
adcthe AtomDC calling the method (needed for creation or update)
parentparent widget (needed the first time)

References myAtomDCWidget, and AtomDCWidget::updateProperties().

Referenced by AtomDC::getPropertyWidget().

double PMManagerDC::getBoundingRadius ( )
inlinevirtual

get the bounding sphere radius (calculated when loaded)

Reimplemented from camitk::Component.

Referenced by AtomDC::setSelected(), and LoadsManager::updateLoadsDisplay().

void PMManagerDC::getBounds ( double  bounds[6])
virtual

get the current bounds (calculated when loaded: it is called by getBoundingRadius()

Reimplemented from camitk::Component.

References myPM.

Referenced by computeBoundingRadius(), and CreateSC::getWidget().

ComponentDC * PMManagerDC::getDC ( ::Component mc)
inline
MultiComponentDC * PMManagerDC::getDC ( MultiComponent *  mc)

get the DC of a particular MC

References myMCDCMap.

StructuralComponentDC * PMManagerDC::getDC ( StructuralComponent *  sc)

get the DC of a particular SC

References mySCDCMap.

CellDC * PMManagerDC::getDC ( Cell *  sc)

get the DC of a particular Cell

References myCDCMap.

AtomDC * PMManagerDC::getDC ( Atom *  a)
inline

get the DC of a particular atom

QPixmap PMManagerDC::getIcon ( )
virtual

get the pixmap for physical model DC

Reimplemented from camitk::Component.

References myPixmap.

LoadsManager * PMManagerDC::getLoadsManager ( )
inline

get the load manager

Referenced by MMLComponent::MMLComponent().

bool PMManagerDC::getModified ( ) const
virtual

overloaded method (Also check for Loads modifications)

Reimplemented from camitk::Component.

References LoadsManager::isModified(), camitk::Component::modifiedFlag, myLoadsManager, and myPM.

Referenced by MMLComponent::getModified().

PhysicalModel * PMManagerDC::getPhysicalModel ( )
inline
QMenu * PMManagerDC::getPopupMenu ( QWidget *  parent)
virtual

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

Reimplemented from camitk::Component.

References myPopupMenu.

void PMManagerDC::initRepresentation ( )
privatevirtual

the method that build the Geometry (this method actually creates an empty geometry as there are no Geometry that represents a whole Physical Model).

Reimplemented from camitk::MeshComponent.

References camitk::Component::getName(), and camitk::Component::myGeometry.

Referenced by PMManagerDC().

void PMManagerDC::progressOneStep ( )

tell the PMDC that another step is done (and set the progress bar correspondingly)

References nrOfDoneSteps, and nrOfSteps.

Referenced by StructuralComponentDC::StructuralComponentDC().

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

set the name of the physical model as well

Reimplemented from camitk::Component.

References myPM.

Referenced by PMManagerDC().

InterfaceGeometry::RenderingModes PMManagerDC::toDCRenderingMode ( ::RenderingMode::Mode  renderingMode)
RenderingMode::Mode PMManagerDC::toPMRenderingMode ( InterfaceGeometry::RenderingModes  renderingModes)

convert Camitk rendering mode to PML rendering mode

Referenced by StructuralComponentDC::setRenderingModes().

Member Data Documentation

double PMManagerDC::initialBoundingRadius
private

the bounding sphere radius calculated just after the PML is loaded

Referenced by computeBoundingRadius(), and PMManagerDC().

std::AtomDCMap PMManagerDC::myADCMap
private

the A / DC map

AtomDCWidget* PMManagerDC::myAtomDCWidget
private

the atomdc widget

Referenced by getAtomDCWidget(), PMManagerDC(), and ~PMManagerDC().

std::ComponentDCMap PMManagerDC::myCDCMap
private

the Cell / DC map

Referenced by addCellDCPair(), and getDC().

LoadsManager* PMManagerDC::myLoadsManager
private

the load manager

Referenced by getModified(), PMManagerDC(), and ~PMManagerDC().

std::ComponentDCMap PMManagerDC::myMCDCMap
private

the MC / DC map

Referenced by getDC().

QPixmap * PMManagerDC::myPixmap = NULL
staticprivate

the PMManagerDC icon

Referenced by getIcon().

PhysicalModel* PMManagerDC::myPM
private

the physical model managed here

Referenced by buildPhysicalModelDCs(), getBounds(), getModified(), PMManagerDC(), setName(), and ~PMManagerDC().

PMManagerDCPopup* PMManagerDC::myPopupMenu
private

the popup menu

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

std::ComponentDCMap PMManagerDC::mySCDCMap
private

the SC / DC map

Referenced by getDC().

unsigned int PMManagerDC::nrOfDoneSteps
private

Number of Step done yet.

Referenced by buildPhysicalModelDCs(), and progressOneStep().

unsigned int PMManagerDC::nrOfSteps
private

Total Number of Step.

Referenced by buildPhysicalModelDCs(), and progressOneStep().


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