25 #ifndef PML_COMPONENT_H 26 #define PML_COMPONENT_H 45 class vtkUnstructuredGrid;
60 #include <vtkSelectionNode.h> 61 #include <vtkExtractSelection.h> 120 virtual QPixmap getIcon();
123 virtual void updateProperty(QString name, QVariant value);
131 virtual void setSelected(
const bool b,
const bool recursive =
true);
141 vtkIdType getPointId(
const Atom*
a);
151 void selectCell(
Cell* cell,
bool showAtomGlyph);
155 void selectAtom(
const Atom* atom);
166 void unselectItems();
170 void updateSelection();
180 void refreshDisplay();
202 virtual void initDynamicProperties();
227 void create3DStructure();
237 vtkSmartPointer<vtkCell> cellToVTK(
Cell* cell);
276 void createAtomSelectionVTKPipeline();
288 return (result == atomPointIdMap.end()) ? 0 : (result->second);
PhysicalModel * getPhysicalModel()
Definition: PMLComponent.h:136
std::AtomPointIdMap atomPointIdMap
the Atom / vtkPoint Id map
Definition: PMLComponent.h:224
A cell has an unique index in the physical model object, is composed by atoms, and different basic pr...
Definition: Cell.h:46
std::map< const Atom *, const vtkIdType > AtomPointIdMap
definition of the association set (=map in STL) AtomPointIdMap.
Definition: PMLComponent.h:75
QMap< QString, vtkSmartPointer< vtkIdTypeArray > > scCellIdArrayMap
The association structural component <-> vtkIdTypeArray for Cells selection.
Definition: PMLComponent.h:260
vtkSmartPointer< vtkSelection > selectedAtomSelection
The vtkSelection for atom selection.
Definition: PMLComponent.h:255
Definition: Action.cpp:36
Basic component to manage any kind of mesh.
Definition: MeshComponent.h:53
vtkIdType getPointId(const Atom *a)
get the point Id from the corresponding atom, this is the opposite of pml->getAtom(id) ...
Definition: PMLComponent.h:283
vtkSmartPointer< vtkUnstructuredGrid > mainGrid
The 3D grid containing all the cells of the PML.
Definition: PMLComponent.h:221
#define PML_COMPONENT_API
Definition: PMLComponentAPI.h:12
bool neverSelected
the first selection should trigger the pml exporer action (default action)
Definition: PMLComponent.h:213
vtkSmartPointer< vtkPoints > thePoints
Definition: PMLComponent.h:218
This class manages a physical model (PML) CamiTK component.
Definition: PMLComponent.h:99
Definition: MeshSelectionModel.h:51
std::pair< const Atom *, const vtkIdType > AtomPointIdPair
As the PhysicalModel atom index can be different to the node index (continuity in id is not mandatory...
Definition: PMLComponent.h:69
static QPixmap * myPixmap
the PMLComponent icon
Definition: PMLComponent.h:210
InsertionPolicy
Definition: MeshSelectionModel.h:50
An atom has an unique index in the physical model object, a 3D position, and different basic properti...
Definition: Atom.h:49
This is the main class of this project.
Definition: PhysicalModel.h:86
std::map< const Atom *, const vtkIdType >::iterator AtomPointIdMapIterator
the iterator corresponding to the AtomPointIdMap map
Definition: PMLComponent.h:77
vtkSmartPointer< vtkIdTypeArray > selectedAtomIdArray
The vtkIdTypeArray for atom selection (contains all the id array that corresponds to a selected atom)...
Definition: PMLComponent.h:252
PhysicalModel * physicalModel
The library pml object that uses pmlschema to read the pml information for the xml file...
Definition: PMLComponent.h:207
A structural component is composed either by cell or by atoms.
Definition: StructuralComponent.h:52
A multi-component stores other components, hence providing a way to have an tree representation of co...
Definition: MultiComponent.h:44
QMap< QString, vtkSmartPointer< vtkSelection > > scCellSelectionMap
The association structural component <-> vtkSelection for Cells selection.
Definition: PMLComponent.h:265