A monitor calculate and store followed data (ex:calculation between current position and references) At current time (current state of simulation is given by Parameters class) A monitor is active between startAt and stopAt time. More...
#include <Monitor.h>
Public Types | |
enum | type { SCALAR , SCALARSET , VECTORSET , MATRIX_33SET } |
type of the values stored (please update typeCount and doc if you update the enum) SCALAR: the monitor store a single scalar value SCALARSET: the monitor stores a scalar value for each atom VECTORSET: the monitor stores 3 scalar values for each atom MATRIX_33SET: the monitor stores a matrix 3x3 for each atom More... | |
Public Member Functions | |
virtual void | calculate ()=0 |
calculate current followed data and store them in values vector More... | |
int | getIndex () |
int | getIndexOfValues (const unsigned int i) |
get index i of indexes vector More... | |
unsigned int | getNumberOfIndex () |
get number of index in indexes vetor More... | |
unsigned int | getNumberOfValues () |
get number of value in values vetor More... | |
std::string | getReferenceName () |
double | getStartAt () |
double | getStopAt () |
std::string | getTargetName () |
virtual std::string | getTypeName ()=0 |
double | getValue (const unsigned int i) |
get value i of values vector More... | |
bool | getValuesOfIndex (int i, double values[]) |
populate values with the corresponding values at index i More... | |
Monitor::type | getValueType () |
Monitor (mml::Monitor *m, MonitoringManager *monitoringManager, Monitor::type type) | |
constructor More... | |
virtual void | write () |
write data stored in values vector into mmlOut file More... | |
virtual | ~Monitor () |
destructor More... | |
Static Public Attributes | |
static const unsigned int | typeCount = 4 |
number of possible types (siez of the previous enum). Please always update if the enum is updated. More... | |
Protected Attributes | |
int | dimension |
dimension of data stored More... | |
double | dx |
offset in x direction (if reference is not aligned) More... | |
double | dy |
offset in y direction (if reference is not aligned) More... | |
double | dz |
offset in z direction (if reference is not aligned) More... | |
int | index |
index of monitor More... | |
std::vector< int > | indexes |
vector which contains target's atoms index (in same order that values associate with) More... | |
std::map< int, std::vector< double > > | indexToValuesMap |
map between indexes and values More... | |
mml::Monitor * | mappedObject |
the xsdcxx object representing monitor, used for serialization More... | |
MonitoringManager * | monitoringManager |
monitoring manager More... | |
std::vector< Reference * > | references |
references used when monitor need references More... | |
double | startAt |
time to start monitoring More... | |
double | stopAt |
time to stop monitoring More... | |
std::string | target |
the name of the component targeted by the monitor More... | |
std::vector< double > | values |
the vector which contains data monitored More... | |
Monitor::type | valueType |
type of the values stored More... | |
A monitor calculate and store followed data (ex:calculation between current position and references) At current time (current state of simulation is given by Parameters class) A monitor is active between startAt and stopAt time.
enum Monitor::type |
type of the values stored (please update typeCount and doc if you update the enum) SCALAR: the monitor store a single scalar value SCALARSET: the monitor stores a scalar value for each atom VECTORSET: the monitor stores 3 scalar values for each atom MATRIX_33SET: the monitor stores a matrix 3x3 for each atom
Enumerator | |
---|---|
SCALAR | |
SCALARSET | |
VECTORSET | |
MATRIX_33SET |
Monitor::Monitor | ( | mml::Monitor * | m, |
MonitoringManager * | monitoringManager, | ||
Monitor::type | type | ||
) |
constructor
m | the xsdcxx generated monitor |
References AtomIterator::begin(), AtomIterator::currentAtom(), dimension, dx, dy, dz, AtomIterator::end(), Structure::getIndex(), MonitoringManager::getInitPml(), index, indexes, indexToValuesMap, mappedObject, MATRIX_33SET, monitoringManager, AtomIterator::next(), references, SCALAR, SCALARSET, startAt, stopAt, target, timeParameter2double(), values, valueType, and VECTORSET.
|
virtual |
destructor
References references.
|
pure virtual |
calculate current followed data and store them in values vector
Implemented in MonitorVolume, MonitorSurface, MonitorRen, MonitorPosition, MonitorPointToTriangleMeshDistanceFinal, MonitorPointSetDistance, MonitorPointFinalSetDistance, MonitorNormDisplacement, MonitorGeometricDeviation, MonitorForce, MonitorDistanceZ, MonitorDistanceY, MonitorDistanceX, MonitorDisplacement, and MonitorComputingTime.
int Monitor::getIndex | ( | ) |
References index.
Referenced by MonitorForce::calculate().
int Monitor::getIndexOfValues | ( | const unsigned int | i | ) |
get index i of indexes vector
References indexes.
Referenced by Arrows::update(), Colors::update(), and Tabular::update().
unsigned int Monitor::getNumberOfIndex | ( | ) |
get number of index in indexes vetor
References indexes, and indexToValuesMap.
Referenced by Arrows::update(), Colors::update(), and Tabular::update().
unsigned int Monitor::getNumberOfValues | ( | ) |
get number of value in values vetor
References values.
Referenced by Statistics::update().
std::string Monitor::getReferenceName | ( | ) |
References references.
Referenced by MonitoringDialog::updateMonitors().
double Monitor::getStartAt | ( | ) |
References startAt.
Referenced by MonitoringDialog::updateMonitors().
double Monitor::getStopAt | ( | ) |
References stopAt.
Referenced by MonitoringDialog::updateMonitors().
std::string Monitor::getTargetName | ( | ) |
References target.
Referenced by MonitoringDialog::updateMonitors().
|
pure virtual |
Implemented in MonitorVolume, MonitorSurface, MonitorRen, MonitorPosition, MonitorPointToTriangleMeshDistanceFinal, MonitorPointSetDistance, MonitorPointFinalSetDistance, MonitorNormDisplacement, MonitorGeometricDeviation, MonitorForce, MonitorDistanceZ, MonitorDistanceY, MonitorDistanceX, MonitorDisplacement, and MonitorComputingTime.
Referenced by Reference::Reference(), Arrows::update(), Colors::update(), and MonitoringDialog::updateMonitors().
double Monitor::getValue | ( | const unsigned int | i | ) |
get value i of values vector
References values.
Referenced by Arrows::update(), Colors::update(), Statistics::update(), and Tabular::update().
bool Monitor::getValuesOfIndex | ( | int | i, |
double | values[] | ||
) |
populate values with the corresponding values at index i
References dimension, indexToValuesMap, and values.
Monitor::type Monitor::getValueType | ( | ) |
References valueType.
Referenced by Tabular::update(), and MMLDisplay::updateMonitorsTable().
|
virtual |
write data stored in values vector into mmlOut file
Reimplemented in MonitorVolume.
References indexes, mappedObject, and values.
Referenced by MonitorComputingTime::calculate(), MonitorDisplacement::calculate(), MonitorDistanceX::calculate(), MonitorDistanceY::calculate(), MonitorDistanceZ::calculate(), MonitorForce::calculate(), MonitorGeometricDeviation::calculate(), MonitorNormDisplacement::calculate(), MonitorPointFinalSetDistance::calculate(), MonitorPointSetDistance::calculate(), MonitorPointToTriangleMeshDistanceFinal::calculate(), MonitorPosition::calculate(), MonitorRen::calculate(), and MonitorSurface::calculate().
|
protected |
dimension of data stored
Referenced by getValuesOfIndex(), and Monitor().
|
protected |
offset in x direction (if reference is not aligned)
Referenced by MonitorDisplacement::calculate(), MonitorDistanceX::calculate(), MonitorGeometricDeviation::calculate(), MonitorNormDisplacement::calculate(), MonitorPointFinalSetDistance::calculate(), MonitorPointSetDistance::calculate(), MonitorPointToTriangleMeshDistanceFinal::calculate(), MonitorPosition::calculate(), MonitorRen::calculate(), and Monitor().
|
protected |
offset in y direction (if reference is not aligned)
Referenced by MonitorDisplacement::calculate(), MonitorDistanceY::calculate(), MonitorGeometricDeviation::calculate(), MonitorNormDisplacement::calculate(), MonitorPointFinalSetDistance::calculate(), MonitorPointSetDistance::calculate(), MonitorPointToTriangleMeshDistanceFinal::calculate(), MonitorPosition::calculate(), MonitorRen::calculate(), and Monitor().
|
protected |
offset in z direction (if reference is not aligned)
Referenced by MonitorDisplacement::calculate(), MonitorDistanceZ::calculate(), MonitorGeometricDeviation::calculate(), MonitorNormDisplacement::calculate(), MonitorPointFinalSetDistance::calculate(), MonitorPointSetDistance::calculate(), MonitorPointToTriangleMeshDistanceFinal::calculate(), MonitorPosition::calculate(), MonitorRen::calculate(), and Monitor().
|
protected |
index of monitor
Referenced by getIndex(), and Monitor().
|
protected |
vector which contains target's atoms index (in same order that values associate with)
Referenced by getIndexOfValues(), getNumberOfIndex(), Monitor(), and write().
|
protected |
map between indexes and values
Referenced by getNumberOfIndex(), getValuesOfIndex(), and Monitor().
|
protected |
the xsdcxx object representing monitor, used for serialization
Referenced by Monitor(), write(), and MonitorVolume::write().
|
protected |
monitoring manager
Referenced by MonitorComputingTime::calculate(), MonitorDisplacement::calculate(), MonitorDistanceX::calculate(), MonitorDistanceY::calculate(), MonitorDistanceZ::calculate(), MonitorForce::calculate(), MonitorGeometricDeviation::calculate(), MonitorNormDisplacement::calculate(), MonitorPointFinalSetDistance::calculate(), MonitorPointSetDistance::calculate(), MonitorPointToTriangleMeshDistanceFinal::calculate(), MonitorPosition::calculate(), MonitorRen::calculate(), MonitorSurface::calculate(), MonitorVolume::calculate(), and Monitor().
|
protected |
references used when monitor need references
Referenced by MonitorDistanceX::calculate(), MonitorDistanceY::calculate(), MonitorDistanceZ::calculate(), MonitorGeometricDeviation::calculate(), MonitorPointFinalSetDistance::calculate(), MonitorPointSetDistance::calculate(), MonitorPointToTriangleMeshDistanceFinal::calculate(), MonitorRen::calculate(), getReferenceName(), Monitor(), and ~Monitor().
|
protected |
time to start monitoring
Referenced by getStartAt(), and Monitor().
|
protected |
time to stop monitoring
Referenced by getStopAt(), and Monitor().
|
protected |
the name of the component targeted by the monitor
Referenced by MonitorDisplacement::calculate(), MonitorDistanceX::calculate(), MonitorDistanceY::calculate(), MonitorDistanceZ::calculate(), MonitorForce::calculate(), MonitorGeometricDeviation::calculate(), MonitorNormDisplacement::calculate(), MonitorPointFinalSetDistance::calculate(), MonitorPointSetDistance::calculate(), MonitorPointToTriangleMeshDistanceFinal::calculate(), MonitorPosition::calculate(), MonitorRen::calculate(), MonitorSurface::calculate(), MonitorVolume::calculate(), getTargetName(), and Monitor().
|
static |
number of possible types (siez of the previous enum). Please always update if the enum is updated.
Referenced by MMLMonitorDisplayFactory::registerClass().
|
protected |
the vector which contains data monitored
Referenced by MonitorComputingTime::calculate(), MonitorDisplacement::calculate(), MonitorDistanceX::calculate(), MonitorDistanceY::calculate(), MonitorDistanceZ::calculate(), MonitorForce::calculate(), MonitorGeometricDeviation::calculate(), MonitorNormDisplacement::calculate(), MonitorPointFinalSetDistance::calculate(), MonitorPointSetDistance::calculate(), MonitorPointToTriangleMeshDistanceFinal::calculate(), MonitorPosition::calculate(), MonitorRen::calculate(), MonitorSurface::calculate(), MonitorVolume::calculate(), getNumberOfValues(), getValue(), getValuesOfIndex(), Monitor(), write(), and MonitorVolume::write().
|
protected |
type of the values stored
Referenced by getValueType(), and Monitor().