Allow iteration over a set of atoms given by a target list (component name or index list) More...
#include <AtomIterator.h>
Public Member Functions | |
AtomIterator (PhysicalModel *pml, std::string targetList) | |
constructor More... | |
void | begin () |
place iterator on first atom More... | |
Atom * | currentAtom () |
return current atom More... | |
bool | end () |
return true if iterator is over the last atom More... | |
void | next () |
if iteration is not finished, advance to next atom More... | |
void | operator++ () |
redefinition of ++ operator, advance iterator to next atom More... | |
~AtomIterator ()=default | |
destructor More... | |
Private Attributes | |
std::vector< Atom * > | atoms |
atoms list More... | |
unsigned int | index |
current atom index More... | |
Allow iteration over a set of atoms given by a target list (component name or index list)
AtomIterator::AtomIterator | ( | PhysicalModel * | pml, |
std::string | targetList | ||
) |
constructor
References a, atoms, PhysicalModel::getAtom(), PhysicalModel::getComponentByName(), TargetList::getIndexedTarget(), TargetList::getNamedTarget(), StructuralComponent::getNumberOfStructures(), TargetList::getNumberOfTargets(), StructuralComponent::getStructure(), index, and TargetList::indexedTargets().
|
default |
destructor
void AtomIterator::begin | ( | ) |
place iterator on first atom
References index.
Referenced by MonitorNormDisplacement::calculate(), MonitorDistanceY::calculate(), MonitorPointSetDistance::calculate(), MonitorDistanceZ::calculate(), MonitorPosition::calculate(), MonitorDisplacement::calculate(), MonitorRen::calculate(), MonitorGeometricDeviation::calculate(), MonitorDistanceX::calculate(), MonitorPointToTriangleMeshDistanceFinal::calculate(), MonitorPointFinalSetDistance::calculate(), Position::calculate(), Reference::getDistanceToTriangularMesh(), Reference::getNearest(), and Monitor::Monitor().
Atom * AtomIterator::currentAtom | ( | ) |
return current atom
Referenced by MonitorNormDisplacement::calculate(), MonitorDistanceY::calculate(), MonitorPointSetDistance::calculate(), MonitorDistanceZ::calculate(), MonitorPosition::calculate(), MonitorDisplacement::calculate(), MonitorRen::calculate(), MonitorGeometricDeviation::calculate(), MonitorDistanceX::calculate(), MonitorPointToTriangleMeshDistanceFinal::calculate(), MonitorPointFinalSetDistance::calculate(), Position::calculate(), Reference::getDistanceToTriangularMesh(), Reference::getNearest(), and Monitor::Monitor().
bool AtomIterator::end | ( | ) |
return true if iterator is over the last atom
Referenced by MonitorNormDisplacement::calculate(), MonitorDisplacement::calculate(), MonitorGeometricDeviation::calculate(), MonitorPointSetDistance::calculate(), MonitorRen::calculate(), MonitorDistanceY::calculate(), MonitorPosition::calculate(), MonitorDistanceZ::calculate(), MonitorDistanceX::calculate(), MonitorPointToTriangleMeshDistanceFinal::calculate(), MonitorPointFinalSetDistance::calculate(), Position::calculate(), Reference::getDistanceToTriangularMesh(), Reference::getNearest(), Monitor::Monitor(), next(), and operator++().
void AtomIterator::next | ( | ) |
if iteration is not finished, advance to next atom
Referenced by MonitorNormDisplacement::calculate(), MonitorDistanceY::calculate(), MonitorDistanceZ::calculate(), MonitorGeometricDeviation::calculate(), MonitorPosition::calculate(), MonitorPointSetDistance::calculate(), MonitorDisplacement::calculate(), MonitorRen::calculate(), MonitorDistanceX::calculate(), MonitorPointToTriangleMeshDistanceFinal::calculate(), MonitorPointFinalSetDistance::calculate(), Position::calculate(), Reference::getDistanceToTriangularMesh(), Reference::getNearest(), and Monitor::Monitor().
void AtomIterator::operator++ | ( | ) |
|
private |
atoms list
Referenced by AtomIterator(), currentAtom(), and end().
|
private |
current atom index
Referenced by AtomIterator(), begin(), currentAtom(), end(), next(), and operator++().