ESyS-Particle  4.0.1
Public Types | Public Member Functions
esys::lsm::SphereBlockGenerator Class Reference
Inheritance diagram for esys::lsm::SphereBlockGenerator:
Inheritance graph
[legend]
Collaboration diagram for esys::lsm::SphereBlockGenerator:
Collaboration graph
[legend]

List of all members.

Public Types

typedef NTable::ParticleVector ParticleVector
typedef NTable::ParticleIterator ParticleIterator
typedef set< int > IdSet

Public Member Functions

 SphereBlockGenerator (NTable &, ParticlePool &, double, const Vec3 &, double, double, double, int, int)
virtual ~SphereBlockGenerator ()
virtual void generate ()
virtual void generateSeedParticles ()
virtual void generateFillParticles ()
virtual SimpleParticle generateParticle (const Vec3 &point)
virtual void insertParticle (const SimpleParticle &)
virtual double getRadius () const
int getNextId ()
size_t getNumParticles () const
const BoundingBox getBBox () const
virtual double getGridRadius () const
virtual bool particleFits (const SimpleParticle &particle) const
ParticleIterator getParticleIterator ()
vector< SimpleParticle * > getClosestNeighbors (const SimpleParticle &, int)
bool findAFitWithSphere (SimpleParticle &, const vector< SimpleParticle * > &)
bool findAFit (SimpleParticle &, const vector< SimpleParticle * > &)
bool checkAFit (const SimpleParticle &)
Vec3 getAPoint ()

Constructor & Destructor Documentation

esys::lsm::SphereBlockGenerator::SphereBlockGenerator ( NTable ntable,
ParticlePool &  pool,
double  tol,
const Vec3 pos,
double  rad,
double  rmin,
double  rmax,
int  ntries,
int  tag 
)

constructor

Parameters:
ntablethe neigbour table to be used
poolthe particle pool
tolthe fitting tolerance
poscenter position
radradius
rminminimum particle radius
rmaxmaximum particle radius
ntriesmax. nr. of tries

destructor


Member Function Documentation

check if Po is within the Space and is not crossing any boundary or overlapping with other particles.

Parameters:
Pothe particle

References particleFits().

Referenced by generateFillParticles().

Here is the call graph for this function:

Here is the caller graph for this function:

bool esys::lsm::SphereBlockGenerator::findAFit ( SimpleParticle Po,
const vector< SimpleParticle * > &  NL 
)

Find a fit for a sphere using the list of neigbors

Parameters:
Pothe particle to fit
NLthe list of neighbors

References Sphere3D::FillIn().

Referenced by generateFillParticles().

Here is the call graph for this function:

Here is the caller graph for this function:

Find a fit for a sphere using the list of neigbors and the outer sphere

Parameters:
Pothe particle to fit
NLthe list of neighbors

References Sphere3D::FillIn().

Referenced by generateFillParticles().

Here is the call graph for this function:

Here is the caller graph for this function:

generate particles

Implements esys::lsm::ParticleGenerator.

References generateFillParticles(), and generateSeedParticles().

Here is the call graph for this function:

fill in

References checkAFit(), findAFit(), findAFitWithSphere(), generateParticle(), getAPoint(), getClosestNeighbors(), and insertParticle().

Referenced by generate().

Here is the call graph for this function:

Here is the caller graph for this function:

generate a particle at a given position

Parameters:
point

References getNextId(), and getRadius().

Referenced by generateFillParticles(), and generateSeedParticles().

Here is the call graph for this function:

Here is the caller graph for this function:

generate seed particles

References generateParticle(), getBBox(), getGridRadius(), esys::lsm::GridIterator::hasNext(), insertParticle(), esys::lsm::GridIterator::next(), and particleFits().

Referenced by generate().

Here is the call graph for this function:

Here is the caller graph for this function:

get a random point inside the sphere

Referenced by generateFillParticles().

Here is the caller graph for this function:

calculate & return bounding box for bounding sphere

Referenced by generateSeedParticles().

Here is the caller graph for this function:

get closes Neigbours

Parameters:
Pthe particle
npthe number of neighbours

Referenced by generateFillParticles().

Here is the caller graph for this function:

return max. radius to be used as spacing for grid iterator

Referenced by generateSeedParticles().

Here is the caller graph for this function:

get next available particle ID

Referenced by generateParticle().

Here is the caller graph for this function:

double esys::lsm::SphereBlockGenerator::getRadius ( ) const [virtual]

??

Referenced by generateParticle().

Here is the caller graph for this function:

insert particle

Parameters:
particle

Referenced by generateFillParticles(), and generateSeedParticles().

Here is the caller graph for this function:

bool esys::lsm::SphereBlockGenerator::particleFits ( const SimpleParticle particle) const [virtual]

check particle fit

Referenced by checkAFit(), and generateSeedParticles().

Here is the caller graph for this function:


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