![]() |
Computer Assited Medical Intervention Tool Kit
|
The manager of the physical model data. More...
#include <PMManagerDC.h>
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 | |
![]() | |
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. | |
![]() | |
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 | |
![]() | |
virtual | ~InterfaceProperty () |
empty virtual destructor, to avoid memory leak | |
![]() | |
virtual | ~InterfaceNode () |
empty virtual destructor, to avoid memory leak | |
![]() | |
virtual | ~InterfaceGeometry () |
empty virtual destructor, to avoid memory leak | |
![]() | |
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 | |
![]() | |
enum | Representation { GEOMETRY, SLICE, NO_REPRESENTATION } |
The different representation that can be implemented to represent this Component in the InteractiveViewer. More... | |
![]() | |
QMap< QString, vtkSmartPointer < vtkProp > > | extraProp |
The additional map for prop (include at least "label" and "glyph". | |
![]() | |
virtual void | initRepresentation (vtkSmartPointer< vtkPointSet >) |
build the instance of Geometry from the given vtkPointSet | |
![]() | |
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().