![]() |
Computer Assited Medical Intervention Tool Kit
version 4.0
|
This class manages a physical model (PML) CamiTK component. More...
#include <PMLComponent.h>
Inherits camitk::MeshComponent.
Public Member Functions | |||
virtual QPixmap | getIcon () | ||
get the pixmap for physical model component More... | |||
PMLComponent (const QString &file) throw (camitk::AbortException) | |||
Construct the PML component directly from the .pml xml file. More... | |||
PMLComponent (PhysicalModel *p, const QString &originalFile) | |||
Create the PML component directly from the PhysicalModel (also have to give the original pml filename) More... | |||
virtual void | setSelected (const bool b, const bool recursive=true) | ||
Update the selection flag (this method is overridden in order to show the default modeling action when the component is selected for the first time). More... | |||
virtual void | updateProperty (QString name, QVariant value) | ||
update top-level properties and synchronize the physical model values More... | |||
virtual | ~PMLComponent () | ||
destructor More... | |||
Specific methods for PML component | |||
Return the PhysicalModel object associated to the component | |||
PhysicalModel * | getPhysicalModel () | ||
vtkIdType | getPointId (const Atom *a) | ||
get the point Id from the corresponding atom, this is the opposite of pml->getAtom(id) More... | |||
void | init () | ||
initialize information (properties) and geometric representation from the physical model More... | |||
3D structure element selection methods | |||
Select the given pml::Cell in the 3D strucutre
| |||
void | selectCell (Cell *cell, bool showAtomGlyph) | ||
void | selectAtom (const Atom *atom) | ||
Select the given pml::Atom in the 3D structure. More... | |||
void | selectSC (StructuralComponent *sc, bool showAtomGlyph) | ||
Select the given structural component in the 3D structure by highlighting all its atoms and cells. More... | |||
void | selectMC (MultiComponent *mc, bool showAtomGlyph) | ||
Select the given multi component in the 3D structure by highlighting all its structural components. More... | |||
void | unselectItems () | ||
Unselect all the SC, MC, Atoms and Cells previously selected on the 3D structure. More... | |||
void | updateSelection () | ||
Update the POINTS and CELLS selection for the whole 3D structure by telling the corresponding extractors new vtkIds have been added to the selection lists. More... | |||
void | refreshDisplay () | ||
Refresh the display of the component according to the selected 3D items by the user. More... | |||
virtual int | addSelection (const QString &name, int fieldType, int contentType, vtkSmartPointer< vtkAbstractArray > array, camitk::MeshSelectionModel::InsertionPolicy policy=camitk::MeshSelectionModel::REPLACE) | ||
Add a selection (inherited from MeshComponent inorder to show a glyph on selected atoms). More... | |||
![]() | |||
void | cellPicked (vtkIdType cellId, bool) | ||
reimplemented to save the last pick point id More... | |||
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... | |||
void | pointPicked (vtkIdType pointId, bool) | ||
reimplemented to save the last pick point id 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 | 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... | |||
MeshDataModel * | getDataModel () | ||
get the current data view model (model as the M in Qt MVC design pattern) More... | |||
![]() | |||
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 Component * | getParentComponent () | ||
get the parent component More... | |||
virtual Component * | getTopLevelComponent () | ||
get the top-level component More... | |||
virtual InterfaceFrame * | getFrame () | ||
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 QObject * | getPropertyObject () | ||
Get the property object that could be understood by PropertyEditor. More... | |||
virtual Q_INVOKABLE Property * | getProperty (QString name) | ||
Get a Property given its name. More... | |||
virtual bool | addProperty (Property *) | ||
Add a new CamiTK property to the component. More... | |||
virtual void | addChild (InterfaceNode *) | ||
add a child Component (sub item in the hierarchy), and modify the child's parent to be equal to this instance More... | |||
virtual void | attachChild (InterfaceNode *) | ||
add a child Component (but leave its parent unchanged) More... | |||
virtual void | removeChild (InterfaceNode *) | ||
remove from the the sub item vector. More... | |||
virtual void | setParent (InterfaceNode *) | ||
set the parent Component. This method automatically remove this Component from its previous (if already had one parent Component) More... | |||
virtual void | deleteChildren () | ||
delete all sub Component, but do not delete the pointer (only the top-level component has the right to do that) More... | |||
virtual QString | getName () const | ||
get the name to be displayed More... | |||
virtual void | setName (const QString &) | ||
set the name to be displayed More... | |||
virtual const ComponentList & | getChildren () | ||
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 InterfaceNode * | getParent () | ||
get the parent Component More... | |||
virtual bool | inItalic () const | ||
A component name is not displayed in italic by default. More... | |||
virtual QMenu * | getPopupMenu (QWidget *parent=0) | ||
get the popup menu to display (always return NULL, overwrite this method if you want to give here you own popup) 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 ¶m) | ||
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 | |||
const virtual RenderingModes const InterfaceGeometry::RenderingModes | getRenderingModes () const | ||
see Component.cpp More... | |||
delegateAndInvokeChildren1 (myGeometry, setEnhancedModes, const EnhancedModes) delegateConstGet0(myGeometry | |||
const EnhancedModes | delegateAndInvokeChildren1Array (myGeometry, setActorColor, const RenderingModes, double, 4) delegateAndInvokeChildren4(myGeometry | ||
const EnhancedModes const const const const virtual double void | getActorColor (const RenderingModes, double [4]) | ||
see Component.cpp More... | |||
delegateAndInvokeChildren3 (myGeometry, setColor, const double, const double, const double) delegateAndInvokeChildren4(myGeometry | |||
const const const const double | delegateAndInvokeChildren2 (myGeometry, setActorOpacity, const RenderingModes, const double) delegateConstGet1(myGeometry | ||
const const const const double const RenderingModes | delegateAndInvokeChildren1 (myGeometry, setOpacity, const double) delegate2(myGeometry | ||
const const const const double const RenderingModes double | delegate1 (myGeometry, setTexture, vtkSmartPointer< vtkTexture >) virtual void setGlyphType(const GlyphTypes type | ||
delegate1 (myGeometry, setLinesAsTubes, bool) delegate1(myGeometry | |||
delegateConstGet0 (mySlice, getImageData, vtkSmartPointer< vtkImageData >) delegate1(mySlice | |||
vtkSmartPointer< vtkImageData > | delegateConstGet0 (mySlice, get2DImageActor, vtkSmartPointer< vtkImageActor >) delegateConstGet0(mySlice | ||
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > | delegateConstGet0 (mySlice, getPickPlaneActor, vtkSmartPointer< vtkActor >) delegateGet0(mySlice | ||
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > | delegate3 (mySlice, pixelPicked, double, double, double) delegate0(mySlice | ||
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > updatePickPlane | delegate1 (mySlice, setSlice, int) delegate3(mySlice | ||
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > updatePickPlane double | delegate1 (mySlice, setRotationX, double) delegate1(mySlice | ||
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > updatePickPlane double double | delegate1 (mySlice, setRotationZ, double) delegateConstGet0(mySlice | ||
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > updatePickPlane double double int | delegate3 (mySlice, setPixelRealPosition, double, double, double) delegate1(mySlice | ||
vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > updatePickPlane double double int virtual vtkSmartPointer< vtkTransform > double | getRotationX () const | ||
see Component.cpp More... | |||
virtual double | getRotationY () const | ||
see Component.cpp More... | |||
virtual double | getRotationZ () const | ||
see Component.cpp More... | |||
virtual int | getNumberOfSlices () const | ||
see Component.cpp More... | |||
virtual int | getSlice () const | ||
see Component.cpp More... | |||
const QString & | getFrameName () const | ||
Hierarchy accessors / Modifyers. More... | |||
delegate1 (myFrame, setFrameName, QString) InterfaceFrame *getParentFrame() const | |||
void | setParentFrame (InterfaceFrame *frame, bool keepTransform=true) | ||
Set the parent frame and update or not its transform during the parent transition. More... | |||
const QVector< InterfaceFrame * > & | getChildrenFrame () const | ||
Get the Children Frames from the current Frame in the Frame Hierarchy The Frame hierarchy may not be the same as the Component Hierarchy. More... | |||
const vtkSmartPointer< vtkTransform > | getTransformFromWorld () const | ||
Transforms accessors / Modifyers. More... | |||
const vtkSmartPointer< vtkTransform > | getTransform () const | ||
Get the transformation with respect to the parent frame. More... | |||
const vtkSmartPointer< vtkTransform > | getTransformFromFrame (InterfaceFrame *frame) const | ||
Compute the transformation from any other frame to the current frame. More... | |||
delegate1 (myFrame, setTransform, vtkSmartPointer< vtkTransform >) delegate0(myFrame | |||
resetTransform | delegate3 (myFrame, translate, double, double, double) delegate3(myFrame | ||
resetTransform double | delegate3 (myFrame, rotateVTK, double, double, double) delegate3(myFrame | ||
resetTransform double double | delegate3 (myFrame, setTransformTranslationVTK, double, double, double) delegate3(myFrame | ||
resetTransform double double double | delegate3 (myFrame, setTransformRotationVTK, double, double, double) vtkSmartPointer< vtkAxesActor > getFrameAxisActor() | ||
delegate2 (myFrame, setFrameVisibility, Viewer *, bool) bool getFrameVisibility(Viewer *viewer) const | |||
delegate1 (myFrame, addFrameChild, InterfaceFrame *) delegate1(myFrame | |||
![]() | |||
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... | |||
![]() | |||
virtual | ~InterfaceNode () | ||
empty virtual destructor, to avoid memory leak More... | |||
![]() | |||
virtual | ~InterfaceGeometry () | ||
empty virtual destructor, to avoid memory leak More... | |||
virtual vtkSmartPointer< vtkPointSet > | getPointSet ()=0 | ||
virtual void | setPointSet (vtkSmartPointer< vtkPointSet >)=0 | ||
set the low-level data set. 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 | setRenderingModes (const RenderingModes)=0 | ||
virtual void | setEnhancedModes (const EnhancedModes)=0 | ||
set the enhanced mode More... | |||
virtual const EnhancedModes | getEnhancedModes () const =0 | ||
get the current enhanced mode More... | |||
virtual void | setActorColor (const RenderingModes, double *color)=0 | ||
Set the color of given representation modes. More... | |||
virtual void | setActorColor (const RenderingModes, const double, const double, const double)=0 | ||
Set the color of given representation modes. More... | |||
virtual void | getActorColor (const RenderingModes, double *color)=0 | ||
Get the color of given representation modes in the second parameter. More... | |||
virtual void | setColor (const double, const double, const double)=0 | ||
Set an (r,g,b) color to all representation modes, without changing the opacity. More... | |||
virtual void | setColor (const double, const double, const double, const double)=0 | ||
Set an (r,g,b,a) color to all representation modes. More... | |||
virtual void | setActorOpacity (const RenderingModes, const double)=0 | ||
Set the opacity of this representation modes. WARNING color field (surfaceColor, ...) are not modified! More... | |||
virtual double | getActorOpacity (const RenderingModes) const =0 | ||
Return the opacity of a given renderng mode. More... | |||
virtual void | setOpacity (const double)=0 | ||
Set the opacity of this object. WARNING color field (surfaceColor, ...) are not modified! More... | |||
virtual void | setMapperScalarRange (double min, double max)=0 | ||
Set the mapper scalar range. More... | |||
virtual void | setGlyphType (const GlyphTypes type, const double size=0.0)=0 | ||
Set the glyph type (a glyph is a geometric representation attached to every point in the input dataset). More... | |||
virtual void | setLinesAsTubes (bool)=0 | ||
set the lines as tubes (works only for vtkDataSet representation that contains lines) More... | |||
![]() | |||
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 InterfaceFrame * | getParentFrame () 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... | |||
Protected Member Functions | |
virtual void | initDynamicProperties () |
create and initialize dynamic properties using the global xml attributes from the PhysicalModel object More... | |
![]() | |
virtual void | initData () |
initialize data More... | |
virtual void | initRepresentation (vtkSmartPointer< vtkPointSet >) |
virtual void | initSelection () |
initialize selections More... | |
Private Attributes | |
bool | neverSelected |
the first selection should trigger the pml exporer action (default action) More... | |
PhysicalModel * | physicalModel |
The library pml object that uses pmlschema to read the pml information for the xml file. More... | |
Static Private Attributes | |
static QPixmap * | myPixmap = NULL |
the PMLComponent icon More... | |
3D structure creation | |
vtkSmartPointer< vtkPoints > | thePoints |
vtkSmartPointer< vtkUnstructuredGrid > | mainGrid |
The 3D grid containing all the cells of the PML. More... | |
std::AtomPointIdMap | atomPointIdMap |
the Atom / vtkPoint Id map More... | |
void | create3DStructure () |
Create the 3D VTK structure representing the mesh. More... | |
void | parseMultiComponent (MultiComponent *mc) |
Create the 3D structure of the given MultiComponent and its children (recursively). More... | |
vtkSmartPointer< vtkCell > | cellToVTK (Cell *cell) |
Create a 3D vtkCell corresponding to a structural component's cell. More... | |
vtkSmartPointer< vtkPolyVertex > | atomSCToVTK (StructuralComponent *sc) |
Create a 3D vtkPolyVertex of a structural component which ONLY contains atoms ref. More... | |
3D structure element selection | |
vtkSmartPointer< vtkIdTypeArray > | selectedAtomIdArray |
The vtkIdTypeArray for atom selection (contains all the id array that corresponds to a selected atom) More... | |
vtkSmartPointer< vtkSelection > | selectedAtomSelection |
The vtkSelection for atom selection. More... | |
QMap< QString, vtkSmartPointer< vtkIdTypeArray > > | scCellIdArrayMap |
The association structural component <-> vtkIdTypeArray for Cells selection. More... | |
QMap< QString, vtkSmartPointer< vtkSelection > > | scCellSelectionMap |
The association structural component <-> vtkSelection for Cells selection. More... | |
void | createCellSelectionVTKPipeline (const StructuralComponent *sc) |
Create a new VTK selection pipeline (selection, extractor, mapper, actor) for a given SC if it does not allready exists. More... | |
void | createAtomSelectionVTKPipeline () |
Create the VTK selection pipeline (selection, extractor, mapper, actor) needed to represent the selection of atoms. More... | |
Additional Inherited Members | |
![]() | |
enum | Representation { GEOMETRY, SLICE, NO_REPRESENTATION } |
The different representation that can be implemented to represent this Component in the InteractiveViewer. More... | |
![]() | |
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... | |
![]() | |
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 | |
![]() | |
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... | |
![]() | |
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... | |
InterfaceFrame * | myFrame |
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... | |
InterfaceGeometry * | myGeometry |
myGeometry is the 3d representation of this Component, the Component delegates all InterfaceGeometry activity to myGeometry (delegation pattern) More... | |
InterfaceNode * | myParentNode |
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... | |
This class manages a physical model (PML) CamiTK component.
This class inherits from camitk::MeshComponent. It creates the 3D VTK structures corresponding to the PML structures (atoms, cells, structural components), allows to quickly selecting PML element and highlight them in the 3D structure (using vtkSelection extractors) and display usefull PML properties (given as XML attributes in the PML files) as
PMLComponent::PMLComponent | ( | const QString & | file | ) | |
throw | ( | camitk::AbortException | |||
) |
Construct the PML component directly from the .pml xml file.
filename | The input .pml xml file to build the physical model from. |
References camitk::Application::showStatusBarMessage(), and PMLAbortException::what().
PMLComponent::PMLComponent | ( | PhysicalModel * | p, |
const QString & | originalFile | ||
) |
Create the PML component directly from the PhysicalModel (also have to give the original pml filename)
p | the physicalModel (already instanciated and build) |
originalFile | the filename from which p was build |
References init().
|
virtual |
destructor
References atomPointIdMap, and physicalModel.
|
virtual |
Add a selection (inherited from MeshComponent inorder to show a glyph on selected atoms).
If the name of the selection already exists, the data of the existing selection are updated according to the SelectionPolicy flag.
name | name of the selection |
fieldType | field type of the selection (one of vtkSelectionNode::SelectionField) |
contentType | content type (one of vtkSelectionNode::SelectionContent) |
array | array of the selection |
policy | policy to update the existing selection |
Reimplemented from camitk::MeshComponent.
References camitk::MeshComponent::getSelectionIndex(), myPixmap, selectedAtomIdArray, and updateSelection().
|
private |
Create a 3D vtkPolyVertex of a structural component which ONLY contains atoms ref.
sc | The PML structural component object that only contains atoms references. |
References StructuralComponent::getNumberOfStructures(), getPointId(), and StructuralComponent::getStructure().
Referenced by parseMultiComponent().
|
private |
Create a 3D vtkCell corresponding to a structural component's cell.
cell | The PML Cell, created by the library pml |
References StructuralComponent::getNumberOfStructures(), getPointId(), StructuralComponent::getStructure(), Structure::getType(), StructureProperties::HEXAHEDRON, StructureProperties::LINE, StructureProperties::POLY_LINE, StructureProperties::POLY_VERTEX, StructureProperties::PYRAMID, StructureProperties::QUAD, StructureProperties::TETRAHEDRON, StructureProperties::TRIANGLE, and StructureProperties::WEDGE.
Referenced by parseMultiComponent().
|
private |
Create the 3D VTK structure representing the mesh.
References atomPointIdMap, camitk::MeshComponent::initRepresentation(), mainGrid, parseMultiComponent(), scCellIdArrayMap, scCellSelectionMap, camitk::Component::setVisibility(), and thePoints.
Referenced by init().
|
private |
Create the VTK selection pipeline (selection, extractor, mapper, actor) needed to represent the selection of atoms.
References camitk::Component::addProp(), camitk::Component::getBoundingRadius(), camitk::InterfaceGeometry::getDataPort(), camitk::Component::removeProp(), selectedAtomIdArray, selectedAtomSelection, and camitk::Component::vtkSmartPointer< vtkActor >.
Referenced by init().
|
private |
Create a new VTK selection pipeline (selection, extractor, mapper, actor) for a given SC if it does not allready exists.
A VTK selection pipeline is needed to represent the given structural component There is one VTK selection pipeline per SC.
sc | the input structural component to create the vtk extract selection from. |
References camitk::Component::addProp(), StructuralComponent::getColor(), camitk::InterfaceGeometry::getDataPort(), Component::getName(), camitk::Component::removeProp(), scCellIdArrayMap, scCellSelectionMap, and camitk::Component::vtkSmartPointer< vtkActor >.
Referenced by selectCell().
|
virtual |
get the pixmap for physical model component
Reimplemented from camitk::MeshComponent.
References myPixmap.
Referenced by PMLExplorerWidget::buildPhysicalModelTreeWidgetItem().
|
inline |
|
inline |
get the point Id from the corresponding atom, this is the opposite of pml->getAtom(id)
Referenced by atomSCToVTK(), cellToVTK(), PMLExplorerWidget::createAtomPropertyList(), selectAtom(), Arrows::update(), and Colors::update().
void PMLComponent::init | ( | ) |
initialize information (properties) and geometric representation from the physical model
References create3DStructure(), createAtomSelectionVTKPipeline(), and neverSelected.
Referenced by CreateSC::apply(), and PMLComponent().
|
protectedvirtual |
create and initialize dynamic properties using the global xml attributes from the PhysicalModel object
Reimplemented from camitk::MeshComponent.
References camitk::Component::addProperty(), camitk::Component::setName(), and camitk::Property::setReadOnly().
|
private |
Create the 3D structure of the given MultiComponent and its children (recursively).
mc | The MultiComponent to build a 3D structure from. |
References atomSCToVTK(), CAMITK_ERROR, cellToVTK(), StructuralComponent::getCell(), MultiComponent::getNumberOfSubComponents(), MultiComponent::getSubComponent(), mainGrid, and Cell::setIndex().
Referenced by create3DStructure().
void PMLComponent::refreshDisplay | ( | ) |
Refresh the display of the component according to the selected 3D items by the user.
References camitk::InterfaceGeometry::getPointSet(), camitk::Component::myGeometry, and camitk::InterfaceGeometry::setEnhancedModes().
Referenced by PMLExplorerWidget::propertyChanged(), PMLExplorerWidget::selectItems(), and MMLDisplay::updateDisplay().
void PMLComponent::selectAtom | ( | const Atom * | atom | ) |
Select the given pml::Atom in the 3D structure.
atom | The Atom to highlight |
References getPointId(), and selectedAtomIdArray.
Referenced by selectCell(), PMLExplorerWidget::selectItems(), and selectSC().
void PMLComponent::selectCell | ( | Cell * | cell, |
bool | showAtomGlyph | ||
) |
References CAMITK_ERROR, createCellSelectionVTKPipeline(), Structure::getIndex(), Component::getName(), StructuralComponent::getNumberOfStructures(), Cell::getParentSC(), StructuralComponent::getStructure(), scCellIdArrayMap, and selectAtom().
Referenced by PMLExplorerWidget::selectItems(), and selectSC().
void PMLComponent::selectMC | ( | MultiComponent * | mc, |
bool | showAtomGlyph | ||
) |
Select the given multi component in the 3D structure by highlighting all its structural components.
mc | The multi component to highlight |
References MultiComponent::getNumberOfSubComponents(), MultiComponent::getSubComponent(), and selectSC().
Referenced by PMLExplorerWidget::selectItems().
void PMLComponent::selectSC | ( | StructuralComponent * | sc, |
bool | showAtomGlyph | ||
) |
Select the given structural component in the 3D structure by highlighting all its atoms and cells.
sc | The structural component to highlight |
References StructuralComponent::ATOMS, StructuralComponent::CELLS, StructuralComponent::composedBy(), StructuralComponent::getNumberOfStructures(), StructuralComponent::getStructure(), selectAtom(), and selectCell().
Referenced by PMLExplorerWidget::selectItems(), and selectMC().
|
virtual |
Update the selection flag (this method is overridden in order to show the default modeling action when the component is selected for the first time).
b | the value of the flag (true means "is selected") |
recursive | if true (default), also updates the children Component selection flags. |
Reimplemented from camitk::Component.
References camitk::Action::getQAction(), neverSelected, and camitk::Component::setSelected().
void PMLComponent::unselectItems | ( | ) |
Unselect all the SC, MC, Atoms and Cells previously selected on the 3D structure.
References scCellIdArrayMap, and selectedAtomIdArray.
Referenced by PMLExplorerWidget::selectItems().
|
virtual |
update top-level properties and synchronize the physical model values
Reimplemented from camitk::MeshComponent.
References Properties::isAField(), and Properties::set().
void PMLComponent::updateSelection | ( | ) |
Update the POINTS and CELLS selection for the whole 3D structure by telling the corresponding extractors new vtkIds have been added to the selection lists.
References scCellIdArrayMap, scCellSelectionMap, selectedAtomIdArray, and selectedAtomSelection.
Referenced by addSelection(), and PMLExplorerWidget::selectItems().
|
private |
the Atom / vtkPoint Id map
Referenced by create3DStructure(), and ~PMLComponent().
|
private |
The 3D grid containing all the cells of the PML.
Referenced by create3DStructure(), and parseMultiComponent().
|
staticprivate |
the PMLComponent icon
Referenced by addSelection(), and getIcon().
|
private |
the first selection should trigger the pml exporer action (default action)
Referenced by init(), and setSelected().
|
private |
The library pml object that uses pmlschema to read the pml information for the xml file.
Referenced by ~PMLComponent().
|
private |
The association structural component <-> vtkIdTypeArray for Cells selection.
Structural component name is the key. scCellIdArrayMap(sc->getName().c_str()) contains the id of all the cells selected in the StructuralComponent sc
Referenced by create3DStructure(), createCellSelectionVTKPipeline(), selectCell(), unselectItems(), and updateSelection().
|
private |
The association structural component <-> vtkSelection for Cells selection.
Structural component name is the key. scCellSelectionMap(sc->getName().c_str()) manages the vtkSelection of the StructuralComponent sc
Referenced by create3DStructure(), createCellSelectionVTKPipeline(), and updateSelection().
|
private |
The vtkIdTypeArray for atom selection (contains all the id array that corresponds to a selected atom)
Referenced by addSelection(), createAtomSelectionVTKPipeline(), selectAtom(), unselectItems(), and updateSelection().
|
private |
The vtkSelection for atom selection.
Referenced by createAtomSelectionVTKPipeline(), and updateSelection().
|
private |
Referenced by create3DStructure().