Computer Assisted Medical Intervention Tool Kit  version 5.2
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-2024 Univ. Grenoble Alpes, CNRS, Grenoble INP - UGA, TIMC, 38000 Grenoble, France
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:
59 
60 private:
62  void updateCorners(PMLComponent*);
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 
78  bool checkEvents;
79 };
80 
81 #endif // CREATESC_H
Action to generate MML/Sofa scn from a vtk mesh.
Definition: CreateSC.h:41
virtual ~CreateSC()=default
the destructor
virtual bool event(QEvent *e)
intercept signal for dynamic property changed
Definition: CreateSC.cpp:62
virtual camitk::Action::ApplyStatus apply()
method applied when the action is called
Definition: CreateSC.cpp:270
CreateSC(camitk::ActionExtension *)
the constructor
Definition: CreateSC.cpp:40
virtual QWidget * getWidget()
use the default widget (but update the values)
Definition: CreateSC.cpp:85
This class manages a physical model (PML) CamiTK component.
Definition: PMLComponent.h:103
This class describes what is a generic Action extension.
Definition: ActionExtension.h:57
Action class is an abstract class that enables you to build a action (generally on a component).
Definition: Action.h:209
ApplyStatus
describes what happened during the application of an algorithm (i.e. results of the apply method)
Definition: Action.h:225