Computer Assited Medical Intervention Tool Kit  version 5.0
MonitorDistanceZ.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 MONITOR_MONITORS_MONITORDISTANCEZ_H
27 #define MONITOR_MONITORS_MONITORDISTANCEZ_H
28 
29 #include <string>
30 
31 // Monitor includes
32 #include <MonitorIn.hxx>
33 #include "Monitor.h"
34 
38 class MonitorDistanceZ: public Monitor {
39 
40 public:
47  ~MonitorDistanceZ() override = default;
48 
50  void calculate() override;
51 
53  std::string getTypeName() override;
54 };
55 
56 #endif // MONITOR_MONITORS_MONITORDISTANCEZ_H
AtomIterator.h
Atom::getPosition
void getPosition(double pos[3]) const
get the position of the atom (array of 3 doubles)
Definition: Atom.h:121
MonitoringManager::getPml
PhysicalModel * getPml()
Definition: MonitoringManager.cpp:263
Monitor::monitoringManager
MonitoringManager * monitoringManager
monitoring manager
Definition: Monitor.h:140
Monitor::values
std::vector< double > values
the vector which contains data monitored
Definition: Monitor.h:152
Structure::getIndex
unsigned int getIndex() const
get the structure unique index (stored in its property)
Definition: Structure.cpp:30
Monitor::write
virtual void write()
write data stored in values vector into mmlOut file
Definition: Monitor.cpp:171
MonitorDistanceZ::calculate
void calculate() override
calculate current followed data and store them in values vector
Definition: MonitorDistanceZ.cpp:37
Monitor::dz
double dz
offset in z direction (if reference is not aligned)
Definition: Monitor.h:150
AtomIterator::next
void next()
if iteration is not finished, advance to next atom
Definition: AtomIterator.cpp:72
MonitorDistanceZ.h
MonitoringManager
Manager of the benchmark tests. Do simulation loop and tests.
Definition: MonitoringManager.h:50
MonitorDistanceZ
A monitor that calculate the distance between two points.
Definition: MonitorDistanceZ.h:38
MonitorDistanceZ::getTypeName
std::string getTypeName() override
return a string relative to monitor type
Definition: MonitorDistanceZ.cpp:60
AtomIterator::currentAtom
Atom * currentAtom()
return current atom
Definition: AtomIterator.cpp:79
AtomIterator::end
bool end()
return true if iterator is over the last atom
Definition: AtomIterator.cpp:67
MonitoringManager::getCurrentTime
double getCurrentTime()
Definition: MonitoringManager.cpp:237
AtomIterator
Allow iteration over a set of atoms given by a target list (component name or index list)
Definition: AtomIterator.h:40
MonitorDistanceZ::~MonitorDistanceZ
~MonitorDistanceZ() override=default
destructor
Monitor::target
std::string target
the name of the component targeted by the monitor
Definition: Monitor.h:134
Monitor
A monitor calculate and store followed data (ex:calculation between current position and references) ...
Definition: Monitor.h:49
Tools.h
Monitor::references
std::vector< Reference * > references
references used when monitor need references
Definition: Monitor.h:132
Monitor.h
AtomIterator::begin
void begin()
place iterator on first atom
Definition: AtomIterator.cpp:62
MonitorDistanceZ::MonitorDistanceZ
MonitorDistanceZ(mml::Monitor *m, MonitoringManager *monitoringManager)
constructor
Definition: MonitorDistanceZ.cpp:34