Computer Assited Medical Intervention Tool Kit  version 4.1
CreateSC.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * $CAMITK_LICENCE_BEGIN$
3  *
4  * CamiTK - Computer Assisted Medical Intervention ToolKit
5  * (c) 2001-2018 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO)
6  *
7  * Visit http://camitk.imag.fr for more information
8  *
9  * This file is part of CamiTK.
10  *
11  * CamiTK is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * CamiTK is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU Lesser General Public License version 3 for more details.
19  *
20  * You should have received a copy of the GNU Lesser General Public License
21  * version 3 along with CamiTK. If not, see <http://www.gnu.org/licenses/>.
22  *
23  * $CAMITK_LICENCE_END$
24  ****************************************************************************/
25 
26 #ifndef CREATESC_H
27 #define CREATESC_H
28 
29 #include <Action.h>
30 
31 class PMLComponent;
32 
41 class CreateSC : public camitk::Action {
42 
43 public:
46 
48  virtual ~CreateSC() = default;
49 
51  virtual QWidget* getWidget();
52 
54  virtual bool event(QEvent* e);
55 
56 public slots:
58  virtual ApplyStatus apply();
59 
60 private:
63 
66  bool computeBoundsOfSelection(PMLComponent* comp, QString selectionName, double bounds[6]);
67 
69  void computeBoundsOfPointIds(PMLComponent* comp, vtkSmartPointer<vtkIdTypeArray> selectedIds, double bounds[6]);
70 
72  void computeBoundsOfCellIds(PMLComponent* comp, vtkSmartPointer<vtkIdTypeArray> selectedIds, double bounds[6]);
73 
74  // merge 1st bounds to 2nd bounds (expand 2nd bounding box if needed)
75  void mergeBounds(double bounds1[6], double bounds2[6]);
76 
79 };
80 
81 #endif // CREATESC_H
bool checkEvents
if this is initialization time, do not consider any event
Definition: CreateSC.h:78
virtual ~CreateSC()=default
the destructor
void computeBoundsOfPointIds(PMLComponent *comp, vtkSmartPointer< vtkIdTypeArray > selectedIds, double bounds[6])
compute bounds of a given point selection (list of Point Ids)
Definition: CreateSC.cpp:137
Action class is an abstract class that enables you to build a action (generally on a component)...
Definition: Action.h:207
void mergeBounds(double bounds1[6], double bounds2[6])
Definition: CreateSC.cpp:185
virtual ApplyStatus apply()
method applied when the action is called
Definition: CreateSC.cpp:262
This class describes what is a generic Action extension.
Definition: ActionExtension.h:59
This class manages a physical model (PML) CamiTK component.
Definition: PMLComponent.h:99
ApplyStatus
describes what happened during the application of an algorithm (i.e. results of the apply method) ...
Definition: Action.h:223
CreateSC(camitk::ActionExtension *)
the constructor
Definition: CreateSC.cpp:40
void computeBoundsOfCellIds(PMLComponent *comp, vtkSmartPointer< vtkIdTypeArray > selectedIds, double bounds[6])
compute bounds of a given cell selection (list of cell Ids)
Definition: CreateSC.cpp:167
void updateCorners(PMLComponent *)
compute and update bound properties (bottom and top corner) considering selection parameters ...
Definition: CreateSC.cpp:226
Action to generate MML/Sofa scn from a vtk mesh.
Definition: CreateSC.h:41
virtual QWidget * getWidget()
use the default widget (but update the values)
Definition: CreateSC.cpp:85
virtual bool event(QEvent *e)
intercept signal for dynamic property changed
Definition: CreateSC.cpp:62
bool computeBoundsOfSelection(PMLComponent *comp, QString selectionName, double bounds[6])
compute the bounds of a named selection
Definition: CreateSC.cpp:201