Computer Assited Medical Intervention Tool Kit  version 4.1
MergeMeshs.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 #ifndef MERGEMESHS_H
26 #define MERGEMESHS_H
27 
28 #include <Action.h>
29 
30 #include <MeshComponent.h>
31 #include <vtkUnstructuredGrid.h>
32 #include <vtkCell.h>
33 
38 class MergeMeshs : public camitk::Action {
39  Q_OBJECT
40 
41 public:
44 
46  virtual ~MergeMeshs();
47 
48 private:
52  void printKToFile();
53 
55  bool duplicateTetra(std::vector< std::vector< double > > t1, std::vector< std::vector< double > > t2);
56 
58  std::vector<double> kVec;
59 
60 public slots:
66  virtual ApplyStatus apply();
67 
68 protected:
70  vtkSmartPointer<vtkUnstructuredGrid> removeDuplicateCells(vtkSmartPointer< vtkPointSet > input, int nbCellMesh1, bool saveIndices);
71 };
72 #endif // MERGEMESHS_H
MergeMeshs action creates new mesh from two input meshs by merging points which are exactly at the sa...
Definition: MergeMeshs.h:38
MergeMeshs(camitk::ActionExtension *extension)
Default Constructor.
Definition: MergeMeshs.cpp:44
Action class is an abstract class that enables you to build a action (generally on a component)...
Definition: Action.h:207
std::vector< double > kVec
Reconstructed mesh.
Definition: MergeMeshs.h:58
ActionExtension * extension
the extension in which this action is declared and registered
Definition: Action.h:477
virtual ~MergeMeshs()
Default Destructor.
Definition: MergeMeshs.cpp:75
This class describes what is a generic Action extension.
Definition: ActionExtension.h:59
virtual ApplyStatus apply()
this method is automatically called when the action is triggered.
Definition: MergeMeshs.cpp:80
ApplyStatus
describes what happened during the application of an algorithm (i.e. results of the apply method) ...
Definition: Action.h:223
void printKToFile()
print for each element the k associated
Definition: MergeMeshs.cpp:330
bool duplicateTetra(std::vector< std::vector< double > > t1, std::vector< std::vector< double > > t2)
Check if one point of the first tetra is not a point of the second tetra ==> tetra are not equal...
Definition: MergeMeshs.cpp:307
vtkSmartPointer< vtkUnstructuredGrid > removeDuplicateCells(vtkSmartPointer< vtkPointSet > input, int nbCellMesh1, bool saveIndices)
Reconstruct a mesh without duplicating cells.
Definition: MergeMeshs.cpp:144