ESyS-Particle
4.0.1
|
#include <ClosePackIterator.h>
Public Member Functions | |
ClosePackIterator () | |
ClosePackIterator (int numI, int numJ, int numK, double sphereRadius, ClosePackOrientation orientation=DEFAULT_ORIENT) | |
bool | hasNext () const |
Vec3 | next () |
double | getRadius () const |
Static Public Attributes | |
static const double | SQRT_1_OVER_3 = 1.0/sqrt(3.0) |
static const double | SQRT_8_OVER_3 = sqrt(8.0/3.0) |
static const double | SQRT_3 = sqrt(3.0) |
Protected Types | |
typedef TmplMatrix< 3, 6, 6 > | OffsetMatrix |
Protected Member Functions | |
void | incrementDimIndex () |
double | getOffset (int i) const |
const Vec3 & | getMinPt () const |
void | setMinPt (const Vec3 &pt) const |
void | setDimRepeat (const Vec3L &dimRepeat) |
void | setOffsetMatrix (const OffsetMatrix &offsetMatrix) |
Base class for iterators used to generate centre-points of spheres arranged in a close-packing.
|
inline |
Creates default empty iterator.
|
inline |
Creates an iterator which will iterate over numI*numJ*numK centre points of spheres with radius sphereRadius.
numI | number of spheres in the i direction. |
numJ | number of spheres in the j direction. |
numK | number of spheres in the k direction. |
sphereRadius | radius of spheres in the packing. |
orientation | specifies the axis alignment of layers. |
|
inline |
Returns the radius of spheres used in the iteration.
Referenced by esys::lsm::CubicBlockIterator::CubicBlockIterator(), and esys::lsm::HexagBlockIterator::HexagBlockIterator().
|
inline |
Returns whether there is another centre point in the iteration sequence.
|
inline |
Returns the next centre-point in the iteration sequence.