![]() |
Computer Assited Medical Intervention Tool Kit
|
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"). | |
| void | destroyPointData () |
| destroy all the atom data | |
| virtual QPixmap | getIcon () |
| get the pixmap for physical model DC | |
| bool | getModified () const |
| overloaded method (Also check for Loads modifications) | |
| virtual QMenu * | getPopupMenu (QWidget *parent) |
| Overriden method so that we actually can build a popup menu with different actions. | |
| PMManagerDC (const QString &) throw (AbortException) | |
| Default constructor: give it the name of the file containing the data (either a pml file or scn file) | |
| PMManagerDC (PhysicalModel *, const QString &) | |
| Create a manager directly from the PhysicalModel. | |
| void | progressOneStep () |
| tell the PMDC that another step is done (and set the progress bar correspondingly) | |
| virtual void | setName (const QString &) |
| set the name of the physical model as well | |
| virtual | ~PMManagerDC () |
| Default destructor. | |
Physical Model <-> Component | |
to get a Component corresponding to a PhysicalModel component or structure | |
| PhysicalModel * | getPhysicalModel () |
| get the current managed PhysicalModel | |
| virtual double | getBoundingRadius () |
| get the bounding sphere radius (calculated when loaded) | |
| virtual void | getBounds (double bounds[6]) |
| get the current bounds (calculated when loaded: it is called by getBoundingRadius() | |
| void | computeBoundingRadius () |
| compute the bounding radius using the PhysicalModel atoms' position | |
| InterfaceGeometry::RenderingModes | toDCRenderingMode (::RenderingMode::Mode) |
| convert PML rendering mode to Camitk rendering mode | |
| ::RenderingMode::Mode | toPMRenderingMode (InterfaceGeometry::RenderingModes) |
| convert Camitk rendering mode to PML rendering mode | |
| ComponentDC * | getDC (::Component *) |
| get the DC of a particular Component | |
| MultiComponentDC * | getDC (MultiComponent *) |
| get the DC of a particular MC | |
| StructuralComponentDC * | getDC (StructuralComponent *) |
| get the DC of a particular SC | |
| CellDC * | getDC (Cell *) |
| get the DC of a particular Cell | |
| AtomDC * | getDC (Atom *) |
| get the DC of a particular atom | |
| void | addMultiComponentDCPair (std::ComponentDCPair) |
| add the MC/DC pair | |
| void | addStructuralComponentDCPair (std::ComponentDCPair) |
| add the SC/DC pair | |
| void | addCellDCPair (std::ComponentDCPair) |
| add the C/DC pair | |
| void | addAtomDCPair (std::AtomDCPair) |
| add the A/DC pair | |
Misc | |
| QWidget * | getAtomDCWidget (AtomDC *adc=NULL, QWidget *parent=NULL) |
| get the AtomDCWidget, create one if needed | |
| LoadsManager * | getLoadsManager () |
| get the load manager | |
Public Member Functions inherited from camitk::MeshComponent | |
| void | cellPicked (vtkIdType cellId, bool) |
| reimplemented to save the last pick point id | |
| vtkIdType | getPickedCellId () |
| get the last pick point id, | |
| vtkIdType | getPickedPointId () |
| get the last pick point id, | |
| MeshComponent (const QString &file) throw (AbortException) | |
| Creates a top-level MeshComponent from a file. | |
| MeshComponent (vtkSmartPointer< vtkPointSet > aPointSet, const QString &name) | |
| Creates a top-level MeshComponent from a vtkPointSet (and instanciate its 3D representation). | |
| 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). | |
| void | pointPicked (vtkIdType pointId, bool) |
| reimplemented to save the last pick point id | |
| virtual | ~MeshComponent () |
| Destructor. | |
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). | |
| 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. | |
| virtual | ~Component () |
| default destructor | |
| Representation | getRepresentation () const |
| return the type of representation concretely implemented by this Component in the InteractiveViewer. | |
| bool | isTopLevel () const |
| return true if this component is a top-level component | |
| virtual Component * | getParentComponent () |
| get the parent component | |
| virtual Component * | getTopLevelComponent () |
| get the top-level component | |
| virtual void | setModified (bool modified=true) |
| set the modified flag | |
| virtual void | setVisibility (Viewer *, bool) |
| set the visibility for a viewer | |
| virtual bool | getVisibility (Viewer *) const |
| get the visibility of a viewer | |
| virtual void | refresh () const |
| refresh all the viewer that are currently displaying this Component | |
| virtual void | refreshInterfaceNode () |
| Asks all viewers that are currently displaying this Component to rebuild the representation of the InterfaceNode for this Component. | |
| virtual bool | isSelected () const |
| Check if this data component is selected. | |
| virtual void | setSelected (const bool, const bool recursive=true) |
| Update the selection flag. | |
| const QString | getFileName () const |
| get the file name where the data have to be stored/were stored | |
| void | setFileName (const QString &) |
| set the file name where the data have to be stored | |
| bool | event (QEvent *e) |
| Overriden from QObject, this one is only intercepting signal for dynamic property changed (see constructor). | |
| QMenu * | getActionAndPopupMenu () |
| Get a QMenu that contains all the action that can be applied to this component + the popup menu (if exists). | |
| QStringList | getHierarchy () |
| bool | isInstanceOf (QString className) |
| Assert that a Component instance really inherits from a given className. | |
| virtual QWidget * | getPropertyWidget (QWidget *parent=0) |
| get the property widget to display. | |
| virtual QObject * | getPropertyObject () |
| get the property object that could be understood by PropertyEditor. | |
| 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. | |
| 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 | |
| virtual void | attachChild (InterfaceNode *) |
| add a child Component (but leave its parent unchanged) | |
| virtual void | removeChild (InterfaceNode *) |
| remove from the the sub item vector. | |
| virtual void | setParent (InterfaceNode *) |
| set the parent Component. This method automatically remove this Component from its previous (if already had one parent Component) | |
| virtual void | deleteChildren () |
| delete all sub Component, but do not delete the pointer (only the top-level component has the right to do that) | |
| virtual QString | getName () const |
| get the name to be displayed | |
| virtual const ComponentList & | getChildren () |
| get the list of the InterfaceNode children (sub items in the hierarchy) | |
| virtual bool | doubleClicked () |
| this method is called each time the InterfaceNode is double clicked by the user. | |
| virtual InterfaceNode * | getParent () |
| get the parent Component | |
| virtual bool | inItalic () const |
| A component name is not displayed in italic by default. | |
| const QString | getLabel () const |
| void | setLabel (QString newName) |
| set the string used to display the label, do the same as setName | |
| virtual vtkSmartPointer < vtkPointSet > | getPointSet () |
| virtual void | setPointSet (vtkSmartPointer< vtkPointSet > param) |
| set the low-level data set. | |
| virtual void | setPointData (vtkSmartPointer< vtkDataArray > param) |
| set the point data (may contains a lookup table). | |
| virtual vtkSmartPointer < vtkAlgorithmOutput > | getDataPort () const |
| get the custom algorithm pipeline input. | |
| virtual void | setDataConnection (vtkSmartPointer< vtkAlgorithmOutput > param) |
| Set/reset the connection for the InterfaceGeometry internal algorithm. | |
| virtual vtkSmartPointer< vtkActor > | getActor (const RenderingModes param) |
| Return the actor for the representation mode, NULL if the actor doesn't exist. | |
| virtual vtkSmartPointer< vtkProp > | getProp (const QString ¶m) |
| Return the vtkProp (actors, volumes and annotations) corresponding to the given name. | |
| virtual unsigned int | getNumberOfProp () const |
| return the number of additional prop | |
| virtual vtkSmartPointer< vtkProp > | getProp (unsigned int index) |
| return an additional prop by its index | |
| virtual bool | addProp (const QString &name, vtkSmartPointer< vtkProp > prop) |
| insert an additional prop, defining it by its name (default visibility = false) | |
| virtual bool | removeProp (const QString &name) |
| remove a given additional prop. | |
| virtual void | setPointPosition (const unsigned int param1, const double param2, const double param3, const double param4) |
| set a given point position | |
| virtual void | setRenderingModes (const RenderingModes param) |
| virtual const RenderingModes | getRenderingModes () const |
| see Component.cpp | |
| virtual void | setEnhancedModes (const EnhancedModes param) |
| set the enhanced mode | |
| virtual const EnhancedModes | getEnhancedModes () const |
| get the current enhanced mode | |
| virtual void | setActorColor (const RenderingModes param1, double param2[4]) |
| Set the color of given representation modes. | |
| virtual void | setActorColor (const RenderingModes param1, const double param2, const double param3, const double param4) |
| Set the color of given representation modes. | |
| virtual void | getActorColor (const RenderingModes, double[4]) |
| see Component.cpp | |
| 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. | |
| 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. | |
| virtual void | setActorOpacity (const RenderingModes param1, const double param2) |
| Set the opacity of this representation modes. WARNING color field (surfaceColor, ...) are not modified! | |
| virtual double | getActorOpacity (const RenderingModes param) const |
| Return the opacity of a given renderng mode. | |
| virtual void | setOpacity (const double param) |
| Set the opacity of this object. WARNING color field (surfaceColor, ...) are not modified! | |
| virtual void | setTexture (vtkSmartPointer< vtkTexture > param) |
| Set a texture to this object. | |
| 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). | |
| virtual void | setLinesAsTubes (bool param) |
| set the lines as tubes (works only for vtkDataSet representation that contains lines) | |
| virtual vtkSmartPointer < vtkImageData > | getImageData () const |
| Return the displayed images as a vtkImageData. | |
| virtual void | setOriginalVolume (vtkSmartPointer< vtkImageData > param) |
| set the original volume image data (the source vtkImageData before any reslice) and refresh the vtk pipeline | |
| virtual vtkSmartPointer < vtkImageActor > | get2DImageActor () const |
| Return the vtkImageActor (vtkProp) representing a slice to be displayed in 2D. | |
| virtual vtkSmartPointer < vtkImageActor > | get3DImageActor () const |
| Return the vtkImageActor (vtkProp) representing a slice to be displayed in 2D. | |
| virtual vtkSmartPointer< vtkActor > | getPickPlaneActor () const |
| Return the vtkActor used to pick pixels in the slices. | |
| virtual vtkSmartPointer< vtkActor > | getPixelActor () |
| Return the vtkActor used to pick pixels in the slices. | |
| 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. | |
| virtual void | updatePickPlane () |
| virtual void | setSlice (int param) |
| Set the current slice index. | |
| virtual void | setSlice (double param1, double param2, double param3) |
| Set the slice corresponding to the given world coordinates. | |
| virtual void | setRotationX (double param) |
| Set the current angle to the arbitrary slice. | |
| virtual void | setRotationY (double param) |
| virtual void | setRotationZ (double param) |
| virtual int | getNumberOfColors () const |
| Return the number of colors in the images. | |
| virtual void | setPixelRealPosition (double param1, double param2, double param3) |
| move the pixel selection green indicator (pixelActor) to the given real position | |
| virtual double | getRotationX () const |
| see Component.cpp | |
| virtual double | getRotationY () const |
| see Component.cpp | |
| virtual double | getRotationZ () const |
| see Component.cpp | |
| virtual int | getNumberOfSlices () const |
| see Component.cpp | |
| virtual int | getSlice () const |
| see Component.cpp | |
Public Member Functions inherited from camitk::InterfaceProperty | |
| virtual | ~InterfaceProperty () |
| empty virtual destructor, to avoid memory leak | |
Public Member Functions inherited from camitk::InterfaceNode | |
| virtual | ~InterfaceNode () |
| empty virtual destructor, to avoid memory leak | |
Public Member Functions inherited from camitk::InterfaceGeometry | |
| virtual | ~InterfaceGeometry () |
| empty virtual destructor, to avoid memory leak | |
Public Member Functions inherited from camitk::InterfaceBitMap | |
| virtual | ~InterfaceBitMap () |
| virtual destructor | |
Private Member Functions | |
| void | buildPhysicalModelDCs () |
| build the Physical model dcs | |
| 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). | |
Private Attributes | |
| double | initialBoundingRadius |
| the bounding sphere radius calculated just after the PML is loaded | |
| std::AtomDCMap | myADCMap |
| the A / DC map | |
| AtomDCWidget * | myAtomDCWidget |
| the atomdc widget | |
| std::ComponentDCMap | myCDCMap |
| the Cell / DC map | |
| LoadsManager * | myLoadsManager |
| the load manager | |
| std::ComponentDCMap | myMCDCMap |
| the MC / DC map | |
| PhysicalModel * | myPM |
| the physical model managed here | |
| PMManagerDCPopup * | myPopupMenu |
| the popup menu | |
| std::ComponentDCMap | mySCDCMap |
| the SC / DC map | |
| unsigned int | nrOfDoneSteps |
| Number of Step done yet. | |
| unsigned int | nrOfSteps |
| Total Number of Step. | |
Static Private Attributes | |
| static QPixmap * | myPixmap = NULL |
| the PMManagerDC icon | |
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". | |
Protected Member Functions inherited from camitk::MeshComponent | |
| virtual void | initRepresentation (vtkSmartPointer< vtkPointSet >) |
| build the instance of Geometry from the given vtkPointSet | |
Protected Attributes inherited from camitk::Component | |
| ComponentList | childrenComponent |
| The explorer sub items. | |
| bool | isSelectedFlag |
| tells if this particular Component is selected or not | |
| bool | modifiedFlag |
| the modificatio flag (could be extended to manage a undo/redo list) | |
| QString | myFileName |
| the file name from which the Component is loaded | |
| InterfaceGeometry * | myGeometry |
| myGeometry is the 3d representation of this Component, the Component delegates all InterfaceGeometry activity to myGeometry (delegation pattern) | |
| InterfaceNode * | myParentNode |
| who is the boss? The Component! | |
| InterfaceBitMap * | mySlice |
| mySlice is the slice representation of this data component, the Component delegates all InterfaceBitMap activity to mySlice (delegation pattern) | |
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).
| 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 | ||
| ) |
Create a manager directly from the PhysicalModel.
References buildPhysicalModelDCs(), computeBoundingRadius(), initialBoundingRadius, initRepresentation(), myAtomDCWidget, myLoadsManager, myPM, myPopupMenu, camitk::Component::setModified(), setName(), and camitk::Component::setVisibility().
|
virtual |
Default destructor.
References getDC(), myAtomDCWidget, myLoadsManager, myPM, and myPopupMenu.
|
inline |
add the A/DC pair
Referenced by AtomDC::AtomDC().
| void PMManagerDC::addCellDCPair | ( | std::ComponentDCPair | p | ) |
|
inline |
add the MC/DC pair
Referenced by MultiComponentDC::MultiComponentDC().
|
inline |
add the SC/DC pair
Referenced by StructuralComponentDC::StructuralComponentDC().
|
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 | ( | ) |
destroy all the atom data
References camitk::Component::getChildren(), and camitk::Component::isInstanceOf().
Referenced by Colors::hide(), LoadsManager::setAtomDataDisplay(), Colors::update(), and LoadsSimulationDriver::updateAtomData().
| QWidget * PMManagerDC::getAtomDCWidget | ( | AtomDC * | adc = NULL, |
| QWidget * | parent = NULL |
||
| ) |
get the AtomDCWidget, create one if needed
| adc | the AtomDC calling the method (needed for creation or update) |
| parent | parent widget (needed the first time) |
References myAtomDCWidget, and AtomDCWidget::updateProperties().
Referenced by AtomDC::getPropertyWidget().
|
inlinevirtual |
get the bounding sphere radius (calculated when loaded)
Reimplemented from camitk::Component.
Referenced by AtomDC::setSelected(), and LoadsManager::updateLoadsDisplay().
|
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().
|
inline |
get the DC of a particular Component
References camitk::Component::isInstanceOf().
Referenced by LoadsManager::addDecoration(), MultiComponentDC::addSubMC(), MultiComponentDC::addSubSC(), CreateSC::apply(), Arrows::hide(), LoadsSimulationDriver::init(), LoadsSimulationDriver::resetPositions(), StructuralComponentDC::StructuralComponentDC(), Arrows::update(), Colors::update(), LoadsSimulationDriver::updateAtomData(), MMLDisplay::updateDisplay(), AtomDC::updatePosition(), LoadsSimulationDriver::updatePositions(), AtomDCWidget::usedInTableClicked(), and ~PMManagerDC().
| 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.
|
inline |
get the DC of a particular atom
|
virtual |
|
inline |
get the load manager
Referenced by MMLComponent::MMLComponent().
|
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().
|
inline |
get the current managed PhysicalModel
Referenced by LoadsManager::addDecoration(), CreateSC::apply(), LoadsEditor::applyToReturnPressed(), LoadsSimulation::doOneStep(), CreateSC::getWidget(), Arrows::hide(), LoadsSimulationDriver::init(), LoadsMovie::makeVideo(), LoadsSimulationDriver::resetPositions(), PMComponentExtension::save(), Arrows::update(), Colors::update(), LoadsSimulationDriver::updateAtomData(), LoadsManager::updateLoadsDisplay(), and LoadsSimulationDriver::updatePositions().
|
virtual |
Overriden method so that we actually can build a popup menu with different actions.
Reimplemented from camitk::Component.
References myPopupMenu.
|
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).
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().
|
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 | ) |
convert PML rendering mode to Camitk rendering mode
References camitk::InterfaceGeometry::None, camitk::InterfaceGeometry::Points, camitk::InterfaceGeometry::Surface, and camitk::InterfaceGeometry::Wireframe.
Referenced by AnyDecoration::AnyDecoration(), StructuralComponentDC::atomsToGeometry(), StructuralComponentDC::cellsToGeometry(), and CellDC::initRepresentation().
| RenderingMode::Mode PMManagerDC::toPMRenderingMode | ( | InterfaceGeometry::RenderingModes | renderingModes | ) |
convert Camitk rendering mode to PML rendering mode
Referenced by StructuralComponentDC::setRenderingModes().
|
private |
the bounding sphere radius calculated just after the PML is loaded
Referenced by computeBoundingRadius(), and PMManagerDC().
|
private |
the A / DC map
|
private |
the atomdc widget
Referenced by getAtomDCWidget(), PMManagerDC(), and ~PMManagerDC().
|
private |
the Cell / DC map
Referenced by addCellDCPair(), and getDC().
|
private |
the load manager
Referenced by getModified(), PMManagerDC(), and ~PMManagerDC().
|
private |
the MC / DC map
Referenced by getDC().
|
staticprivate |
the PMManagerDC icon
Referenced by getIcon().
|
private |
the physical model managed here
Referenced by buildPhysicalModelDCs(), getBounds(), getModified(), PMManagerDC(), setName(), and ~PMManagerDC().
|
private |
the popup menu
Referenced by getPopupMenu(), PMManagerDC(), and ~PMManagerDC().
|
private |
the SC / DC map
Referenced by getDC().
|
private |
Number of Step done yet.
Referenced by buildPhysicalModelDCs(), and progressOneStep().
|
private |
Total Number of Step.
Referenced by buildPhysicalModelDCs(), and progressOneStep().
1.8.1.2