Computer Assited Medical Intervention Tool Kit  version 5.0
Position.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 
26 #ifndef STOPPINGCRITERION_STOPPINGCRITERIA_CRITERIA_POSITION_H
27 #define STOPPINGCRITERION_STOPPINGCRITERIA_CRITERIA_POSITION_H
28 
29 #include <MonitorIn.hxx>
30 
31 // Stopping criteria includes
32 #include "Criterion.h"
40 class Position: public Criterion {
41 public:
48  ~Position() override;
49 
51  std::string getName() override;
52 
53 private:
55  void calculate() override;
56 
58  std::string target;
59 };
60 
61 #endif // STOPPINGCRITERION_STOPPINGCRITERIA_CRITERIA_POSITION_H
Position
A simple criterion based on position calculation.
Definition: Position.h:40
Criterion
Class which represents a simple criterion A criterion can be checked using checkCriterion method to k...
Definition: Criterion.h:47
Criterion::unit
std::string unit
unit
Definition: Criterion.h:112
MonitoringManager::getOldPosition
void getOldPosition(double pos[3], unsigned int index)
get atom position for precedent step
Definition: MonitoringManager.cpp:335
AtomIterator.h
Position::~Position
~Position() override
destructor
Definition: Position.cpp:60
Atom::getPosition
void getPosition(double pos[3]) const
get the position of the atom (array of 3 doubles)
Definition: Atom.h:121
distance
double distance(double pos[3], double pos2[3])
compute euclidian distance
Definition: Tools.h:61
MonitoringManager::getPml
PhysicalModel * getPml()
Definition: MonitoringManager.cpp:263
Structure::getIndex
unsigned int getIndex() const
get the structure unique index (stored in its property)
Definition: Structure.cpp:30
Position::getName
std::string getName() override
get stopping criterion name
Definition: Position.cpp:80
Position::target
std::string target
the monitor targets describe as an LML TargetList string (e.g. "1-4,5"),
Definition: Position.h:81
Criterion::factor
double factor
factor to multiplate for conversion to SI
Definition: Criterion.h:102
Component::getName
const std::string getName() const
get the name of the component
Definition: modeling/libraries/pml/Component.h:147
AtomIterator::next
void next()
if iteration is not finished, advance to next atom
Definition: AtomIterator.cpp:72
MonitoringManager
Manager of the benchmark tests. Do simulation loop and tests.
Definition: MonitoringManager.h:50
Position::Position
Position(mml::Position *c, MonitoringManager *monitoringManager, MultipleCriterion *parent=nullptr)
constructor
Definition: Position.cpp:35
Position.h
Criterion::write
void write()
write values in the mmlOut file
Definition: Criterion.cpp:58
AtomIterator::currentAtom
Atom * currentAtom()
return current atom
Definition: AtomIterator.cpp:79
StoppingCriterion::parent
MultipleCriterion * parent
parent stopping Criterion
Definition: StoppingCriterion.h:76
AtomIterator::end
bool end()
return true if iterator is over the last atom
Definition: AtomIterator.cpp:67
Criterion::values
std::vector< double > values
vector that stores current data of the stopping criteria
Definition: Criterion.h:104
AtomIterator
Allow iteration over a set of atoms given by a target list (component name or index list)
Definition: AtomIterator.h:40
PhysicalModel::getAtoms
StructuralComponent * getAtoms() const
get all the atoms
Definition: PhysicalModel.h:380
Criterion.h
Tools.h
MultipleCriterion
class which represents a multiple criterion a multiple criterion is either an OrMUltipleCriterion or ...
Definition: MultipleCriterion.h:45
StoppingCriterion::monitoringManager
MonitoringManager * monitoringManager
monitoring manager
Definition: StoppingCriterion.h:74
Position::calculate
void calculate() override
calculate stopping criteria data and store it into values vector
Definition: Position.cpp:63
AtomIterator::begin
void begin()
place iterator on first atom
Definition: AtomIterator.cpp:62