Computer Assited Medical Intervention Tool Kit  version 5.0
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-2021 Univ. Grenoble Alpes, CNRS, Grenoble INP, 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 #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:
67 
68 protected:
70  vtkSmartPointer<vtkUnstructuredGrid> removeDuplicateCells(vtkSmartPointer< vtkPointSet > input, int nbCellMesh1, bool saveIndices);
71 };
72 #endif // MERGEMESHS_H
MergeMeshs.h
camitk::Action::setFamily
void setFamily(QString family)
the name of the family in which this action is associated
Definition: Action.cpp:136
CAMITK_WARNING
#define CAMITK_WARNING(MSG)
Log for warning verbosity (the most common one) Will appear by default.
Definition: Log.h:266
MergeMeshs::~MergeMeshs
virtual ~MergeMeshs()
Default Destructor.
Definition: MergeMeshs.cpp:79
MergeMeshs::apply
virtual camitk::Action::ApplyStatus apply()
this method is automatically called when the action is triggered.
Definition: MergeMeshs.cpp:84
MergeMeshs
MergeMeshs action creates new mesh from two input meshs by merging points which are exactly at the sa...
Definition: MergeMeshs.h:38
camitk::Action::SUCCESS
@ SUCCESS
everything went according to plan
Definition: Action.h:248
camitk::Action::ABORTED
@ ABORTED
the action was aborted before completion
Definition: Action.h:251
camitk::Action::ApplyStatus
ApplyStatus
Definition: Action.h:247
camitk::Action::setName
void setName(QString name)
Definition: Action.cpp:120
MergeMeshs::removeDuplicateCells
vtkSmartPointer< vtkUnstructuredGrid > removeDuplicateCells(vtkSmartPointer< vtkPointSet > input, int nbCellMesh1, bool saveIndices)
Reconstruct a mesh without duplicating cells.
Definition: MergeMeshs.cpp:148
camitk::Action::setComponent
void setComponent(QString component)
the name of the component class that can be used by this action
Definition: Action.cpp:131
camitk::Action::getTargets
const ComponentList getTargets() const
the currently selected and valid (regarding the component property) components, for which this action...
Definition: Action.cpp:166
Action.h
camitk::Property
This class describes a property that can be used in components and actions or any class that needs to...
Definition: Property.h:303
camitk::Component::getDataPort
vtkSmartPointer< vtkPointSet > getDataPort
Definition: sdk/libraries/core/component/Component.h:585
camitk::Action::addTag
void addTag(QString tag)
add a tag to the tags list of this action
Definition: Action.cpp:141
Log.h
MeshComponent.h
MergeMeshs::duplicateTetra
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:311
camitk::InterfaceGeometry::getPointSet
virtual vtkSmartPointer< vtkPointSet > getPointSet()=0
camitk::Action
Action class is an abstract class that enables you to build a action (generally on a component)....
Definition: Action.h:231
Property.h
camitk::Property::setAttribute
void setAttribute(const QString &attribute, const QVariant &value)
Set a given property for this attribute.
Definition: Property.cpp:183
camitk::Action::extension
ActionExtension * extension
the extension in which this action is declared and registered
Definition: Action.h:507
MergeMeshs::printKToFile
void printKToFile()
print for each element the k associated
Definition: MergeMeshs.cpp:334
camitk::Action::setDescription
void setDescription(QString description)
the description of the action
Definition: Action.cpp:126
camitk::Component::getName
QString getName() const override
get the name to be displayed
Definition: sdk/libraries/core/component/Component.h:907
MergeMeshs::MergeMeshs
MergeMeshs(camitk::ActionExtension *extension)
Default Constructor.
Definition: MergeMeshs.cpp:48
camitk::Action::addParameter
virtual bool addParameter(Property *)
Add a new parameter to the action, using the CamiTK property class.
Definition: Action.cpp:440
camitk::ActionExtension
This class describes what is a generic Action extension. To add a ActionExtension to CamiTK core,...
Definition: ActionExtension.h:80
camitk::MeshComponent
Basic component to manage any kind of mesh.
Definition: MeshComponent.h:53
camitk::refresh
void refresh()
refresh the display
MergeMeshs::kVec
std::vector< double > kVec
Reconstructed mesh.
Definition: MergeMeshs.h:81
camitk
Definition: Action.cpp:35