ESyS-Particle  2.3.2
esys::lsm::HexagBlockIterator Class Reference

#include <HexagBlockIterator.h>

Inheritance diagram for esys::lsm::HexagBlockIterator:
Collaboration diagram for esys::lsm::HexagBlockIterator:

Public Member Functions

 HexagBlockIterator ()
 HexagBlockIterator (int numI, int numJ, int numK, double sphereRadius, ClosePackOrientation orientation=DEFAULT_ORIENT)
- Public Member Functions inherited from esys::lsm::ClosePackIterator
 ClosePackIterator ()
 ClosePackIterator (int numI, int numJ, int numK, double sphereRadius, ClosePackOrientation orientation=DEFAULT_ORIENT)
bool hasNext () const
Vec3 next ()
double getRadius () const

Additional Inherited Members

- Static Public Attributes inherited from esys::lsm::ClosePackIterator
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 inherited from esys::lsm::ClosePackIterator
typedef TmplMatrix< 3, 6, 6 > OffsetMatrix
- Protected Member Functions inherited from esys::lsm::ClosePackIterator
void incrementDimIndex ()
double getOffset (int i) const
const Vec3getMinPt () const
void setMinPt (const Vec3 &pt) const
void setDimRepeat (const Vec3L &dimRepeat)
void setOffsetMatrix (const OffsetMatrix &offsetMatrix)

Detailed Description

Class for iterating over the centre-points of spheres arranged in a hexagonal-close-packed block.

Constructor & Destructor Documentation

esys::lsm::HexagBlockIterator::HexagBlockIterator ( )
inline

Creates default empty iterator.

esys::lsm::HexagBlockIterator::HexagBlockIterator ( int  numI,
int  numJ,
int  numK,
double  sphereRadius,
ClosePackOrientation  orientation = DEFAULT_ORIENT 
)
inline

Creates an iterator which will iterate over numI*numJ*numK centre points of spheres with radius sphereRadius.

Parameters
numInumber of spheres in the i direction.
numJnumber of spheres in the j direction.
numKnumber of spheres in the k direction.
sphereRadiusradius of spheres in the packing.
orientationspecifies the axis alignment of layers.

References esys::lsm::ClosePackIterator::getRadius(), esys::lsm::ClosePackIterator::setDimRepeat(), esys::lsm::ClosePackIterator::setOffsetMatrix(), and esys::lsm::ClosePackIterator::SQRT_1_OVER_3.

Here is the call graph for this function:


The documentation for this class was generated from the following files: