|
ESyS-Particle
2.3.4
|
#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) |
Private Attributes | |
| double | m_radius |
| Vec3 | m_minPt |
| OffsetMatrix | m_offsetMatrix |
| Vec3L | m_dimRepeat |
| Vec3L | m_dimCount |
| Vec3L | m_dimIdx |
| Vec3L | m_dim |
Static Private Attributes | |
| static Vec3L | s_orientationDimMap [NUM_ORIENTATIONS] |
Base class for iterators used to generate centre-points of spheres arranged in a close-packing.
|
protected |
|
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. |
References m_dimCount.
|
inlineprotected |
|
inlineprotected |
References m_dimIdx, m_dimRepeat, and m_offsetMatrix.
Referenced by next().

|
inline |
Returns the radius of spheres used in the iteration.
References m_radius.
Referenced by esys::lsm::CubicBlockIterator::CubicBlockIterator(), and esys::lsm::HexagBlockIterator::HexagBlockIterator().

|
inline |
Returns whether there is another centre point in the iteration sequence.
References m_dimCount, and m_dimIdx.
|
inlineprotected |
References m_dimCount, and m_dimIdx.
Referenced by next().

|
inline |
Returns the next centre-point in the iteration sequence.
References getMinPt(), getOffset(), incrementDimIndex(), m_dim, m_dimIdx, m_radius, SQRT_3, and SQRT_8_OVER_3.

|
inlineprotected |
References m_dimRepeat.
Referenced by esys::lsm::CubicBlockIterator::CubicBlockIterator(), and esys::lsm::HexagBlockIterator::HexagBlockIterator().

|
inlineprotected |
|
inlineprotected |
References m_offsetMatrix.
Referenced by esys::lsm::CubicBlockIterator::CubicBlockIterator(), and esys::lsm::HexagBlockIterator::HexagBlockIterator().

|
private |
Referenced by ClosePackIterator(), hasNext(), and incrementDimIndex().
|
private |
Referenced by getOffset(), hasNext(), incrementDimIndex(), and next().
|
private |
Referenced by getOffset(), and setDimRepeat().
|
private |
Referenced by getMinPt().
|
private |
Referenced by getOffset(), and setOffsetMatrix().
|
private |
Referenced by getRadius(), and next().
|
staticprivate |
|
static |
|
static |
Referenced by next().
|
static |
Referenced by next().