ESyS-Particle  2.3.4
esys::lsm::RandomBlockGenerator Class Reference

#include <RandomBlockGenerator.h>

Inheritance diagram for esys::lsm::RandomBlockGenerator:
Collaboration diagram for esys::lsm::RandomBlockGenerator:

Public Member Functions

 RandomBlockGenerator (NTable &nTable, ParticlePool &particlePool, const BoundingBox &bBox, const BoolVector &periodicDimensions, double tolerance, double minSphereRadius, double maxSphereRadius, const PlaneVector &fitPlaneVector, int maxInsertionFailures)
 
virtual ~RandomBlockGenerator ()
 
virtual bool particleFits (const SimpleParticle &particle) const
 
virtual void generate ()
 
double getRandom (double min, double max) const
 
virtual double getRadius () const
 
virtual double getGridRadius () const
 
Vec3 getRandomPoint () const
 
ParticleVector getClosestNeighbors (const SimpleParticle &particle, int numClosest)
 
int getMaxInsertionFailures () const
 
FitterPtrVector getFitterPtrVector ()
 
void generateFillParticles ()
 
const PlaneVectorgetFitPlaneVector () const
 
Plane3D getClosestFitPlane (const SimpleParticle &particle) const
 
- Public Member Functions inherited from esys::lsm::BlockGenerator
 BlockGenerator (NTable &nTable, ParticlePool &particlePool, const BoundingBox &bBox, const BoolVector &periodicDimensions, double tolerance)
 
virtual ~BlockGenerator ()
 
virtual void generateSeedParticles ()
 
virtual SimpleParticle generateParticle (const Vec3 &point)
 
size_t getNumParticles () const
 
int getNextId ()
 
bool is2d () const
 
bool particleFitsInBBox (const SimpleParticle &particle) const
 
bool particleFitsWithNeighbours (const SimpleParticle &particle) const
 
void insertParticle (const SimpleParticle &particle)
 
double getTolerance () const
 
const BoundingBoxgetBBox () const
 
bool contains (const SimpleParticle &particle) const
 
ParticleIterator getParticleIterator ()
 
- Public Member Functions inherited from esys::lsm::ParticleGenerator
 ParticleGenerator (NTable &nTable, ParticlePool &particlePool)
 
virtual ~ParticleGenerator ()
 

Private Attributes

double m_minRadius
 
double m_maxRadius
 
PlaneVector m_fitPlaneVector
 
int m_maxInsertionFailures
 

Additional Inherited Members

- Public Types inherited from esys::lsm::BlockGenerator
typedef NTable::ParticleVector ParticleVector
 
typedef NTable::ParticleIterator ParticleIterator
 
typedef std::set< int > IdSet
 
- Public Types inherited from esys::lsm::ParticleGenerator
typedef CircularNeighbourTable< SimpleParticleNTable
 
typedef boost::object_pool< SimpleParticleParticlePool
 
- Protected Member Functions inherited from esys::lsm::ParticleGenerator
 ParticleGenerator ()
 
NTablegetNTable ()
 
const NTablegetNTable () const
 
ParticlePoolgetParticlePool ()
 
const ParticlePoolgetParticlePool () const
 

Constructor & Destructor Documentation

◆ RandomBlockGenerator()

esys::lsm::RandomBlockGenerator::RandomBlockGenerator ( NTable nTable,
ParticlePool particlePool,
const BoundingBox bBox,
const BoolVector periodicDimensions,
double  tolerance,
double  minSphereRadius,
double  maxSphereRadius,
const PlaneVector fitPlaneVector,
int  maxInsertionFailures 
)

◆ ~RandomBlockGenerator()

esys::lsm::RandomBlockGenerator::~RandomBlockGenerator ( )
virtual

Member Function Documentation

◆ generate()

void esys::lsm::RandomBlockGenerator::generate ( )
virtual

Implements esys::lsm::BlockGenerator.

References generateFillParticles(), and esys::lsm::BlockGenerator::generateSeedParticles().

Here is the call graph for this function:

◆ generateFillParticles()

◆ getClosestFitPlane()

Plane3D esys::lsm::RandomBlockGenerator::getClosestFitPlane ( const SimpleParticle particle) const

References getFitPlaneVector().

Referenced by generateFillParticles().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getClosestNeighbors()

RandomBlockGenerator::ParticleVector esys::lsm::RandomBlockGenerator::getClosestNeighbors ( const SimpleParticle particle,
int  numClosest 
)

◆ getFitPlaneVector()

const PlaneVector & esys::lsm::RandomBlockGenerator::getFitPlaneVector ( ) const

References m_fitPlaneVector.

Referenced by getClosestFitPlane(), and getFitterPtrVector().

Here is the caller graph for this function:

◆ getFitterPtrVector()

FitterPtrVector esys::lsm::RandomBlockGenerator::getFitterPtrVector ( )

References getFitPlaneVector(), and esys::lsm::BlockGenerator::is2d().

Referenced by generateFillParticles().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getGridRadius()

double esys::lsm::RandomBlockGenerator::getGridRadius ( ) const
virtual

Implements esys::lsm::BlockGenerator.

References m_maxRadius.

◆ getMaxInsertionFailures()

int esys::lsm::RandomBlockGenerator::getMaxInsertionFailures ( ) const

References m_maxInsertionFailures.

Referenced by generateFillParticles().

Here is the caller graph for this function:

◆ getRadius()

double esys::lsm::RandomBlockGenerator::getRadius ( ) const
virtual

Implements esys::lsm::BlockGenerator.

References getRandom(), m_maxRadius, and m_minRadius.

Here is the call graph for this function:

◆ getRandom()

double esys::lsm::RandomBlockGenerator::getRandom ( double  min,
double  max 
) const

Referenced by getRadius(), and getRandomPoint().

Here is the caller graph for this function:

◆ getRandomPoint()

Vec3 esys::lsm::RandomBlockGenerator::getRandomPoint ( ) const

References esys::lsm::BlockGenerator::getBBox(), and getRandom().

Referenced by generateFillParticles().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ particleFits()

bool esys::lsm::RandomBlockGenerator::particleFits ( const SimpleParticle particle) const
virtual

Reimplemented from esys::lsm::BlockGenerator.

References SimpleParticle::getRad(), m_maxRadius, m_minRadius, and esys::lsm::BlockGenerator::particleFits().

Referenced by esys::lsm::ParticleFitter::particleFits().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ m_fitPlaneVector

PlaneVector esys::lsm::RandomBlockGenerator::m_fitPlaneVector
private

Referenced by getFitPlaneVector().

◆ m_maxInsertionFailures

int esys::lsm::RandomBlockGenerator::m_maxInsertionFailures
private

Referenced by getMaxInsertionFailures().

◆ m_maxRadius

double esys::lsm::RandomBlockGenerator::m_maxRadius
private

◆ m_minRadius

double esys::lsm::RandomBlockGenerator::m_minRadius
private

Referenced by getRadius(), and particleFits().


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