Core 1.0
EdenAnisotropicGrowth2 Class Reference

Off-lattice Eden growth with an anisotropic growth probability. More...

#include <eden.h>

Inheritance diagram for EdenAnisotropicGrowth2:
EdenGrowth2 ParticleSet2

Public Member Functions

 EdenAnisotropicGrowth2 (const double &)
 Create an Eden growth structure.
 
 EdenAnisotropicGrowth2 (const Vector2 &, const double &)
 Create an Eden growth structure.
 
 EdenAnisotropicGrowth2 (const QVector< Vector2 > &, const double &)
 Create an Eden growth structure.
 
 EdenAnisotropicGrowth2 (const ParticleSet2 &)
 Create an Eden growth structure.
 
 ~EdenAnisotropicGrowth2 ()
 Empty.
 
virtual void Step ()
 Add a new particle to the cluster using an anisotropic vector field function.
 
virtual void Step (int)
 Perform several growth steps.
 
- Public Member Functions inherited from EdenGrowth2
 EdenGrowth2 (const double &)
 Create an Eden growth structure.
 
 EdenGrowth2 (const Vector2 &, const double &)
 Create an Eden growth structure.
 
 EdenGrowth2 (const QVector< Vector2 > &, const double &)
 Create an Eden growth structure.
 
 EdenGrowth2 (const ParticleSet2 &)
 Create an Eden growth structure.
 
 ~EdenGrowth2 ()
 Empty.
 
void AddCell (const Vector &)
 Add a new particle to the cluster.
 
Box2 GetBox () const
 Compute the bounding box of the cluster.
 
QVector< int > GetIndices () const
 Return the indices.
 
QVector< int > Strahler () const
 Compute the Strahler numbers of the particles of the cluster.
 
QVector< int > Topology () const
 Compute the topology of the tree.
 
QVector< int > Seeds () const
 Return the indexes of the seeds that for the connex parts of the clusters.
 
void Multi (int)
 Shrink the radius of the particles, inserting necessary particles in between previously connected particles.
 
Polygon2 Contour () const
 Compute the polygonal contour of the cluster.
 
void Draw (QGraphicsScene &) const
 Draw the cluster.
 
void DrawSimple (QGraphicsScene &, const double &=0.025) const
 Draw the cluster.
 
void DrawStrahler (QGraphicsScene &) const
 Draw the cluster using s Strahler-based coloring.
 
- Public Member Functions inherited from ParticleSet2
 ParticleSet2 ()
 Empty constructor.
 
 ParticleSet2 (const double &)
 Create an empty set of particles.
 
 ParticleSet2 (const Vector2 &, const double &)
 Create a set of particles.
 
 ParticleSet2 (const QVector< Vector2 > &, const double &)
 Create a set of particles.
 
int Size () const
 Return the number of particles.
 
Circle2 At (int) const
 Get the k-th particle.
 
double Radius () const
 Return the radius of the particles.
 
QVector< Vector2GetCenters () const
 Return the centers of the particles.
 
Circle2 GetCircle () const
 Computes the bounding circle of the centers of the particles.
 
Box2 GetBox () const
 Computes the bounding box of the centers of the particles.
 
void Append (const Vector2 &)
 Add a new particle to the set.
 
bool Intersect (const Circle2 &) const
 Check the intersection between the cluster and a circle.
 
bool Intersect (const Box2 &) const
 Check the intersection between the cluster and a box.
 
void Draw (QGraphicsScene &, const QPen &=QPen(QColor(150, 150, 200), 0.025), const QBrush &=QBrush(QColor(200, 200, 250))) const
 Draw the set of particles.
 

Additional Inherited Members

- Protected Member Functions inherited from EdenGrowth2
virtual int GrowthSites (const Vector2 &, Vector2 *) const
 Find candidate growth directions from a particle.
 
- Protected Attributes inherited from EdenGrowth2
Circle2 circle
 Bounding circle of the domain.
 
QVector< int > v
 Tree structure topology, i.e., index of the ancestor particle during growth.
 
QVector< int > s
 Set of indexes referencing boundary cells.
 
- Protected Attributes inherited from ParticleSet2
QVector< Vector2points
 Set of particles.
 
double r = 0.0
 Radius of particles.
 
- Static Protected Attributes inherited from EdenGrowth2
static Random random
 Random number generator.
 
static RandomFast fastrandom
 Fast random number generator.
 
static constexpr int N = 37
 Generate N evenly distributed cells around a given cell, angle 2π/N.
 

Detailed Description

Off-lattice Eden growth with an anisotropic growth probability.

Constructor & Destructor Documentation

◆ EdenAnisotropicGrowth2() [1/4]

EdenAnisotropicGrowth2::EdenAnisotropicGrowth2 ( const double & r)
explicit

Create an Eden growth structure.

Set initial circle as empty, and list of particles as empty.

Parameters
rRadius of particles.

◆ EdenAnisotropicGrowth2() [2/4]

EdenAnisotropicGrowth2::EdenAnisotropicGrowth2 ( const Vector2 & c,
const double & r )
explicit

Create an Eden growth structure.

Parameters
cInitial particle position.
rRadius of particles.

◆ EdenAnisotropicGrowth2() [3/4]

EdenAnisotropicGrowth2::EdenAnisotropicGrowth2 ( const QVector< Vector2 > & p,
const double & r )
explicit

Create an Eden growth structure.

Parameters
pSet of seed points.
rRadius of particles.

◆ EdenAnisotropicGrowth2() [4/4]

EdenAnisotropicGrowth2::EdenAnisotropicGrowth2 ( const ParticleSet2 & p)
explicit

Create an Eden growth structure.

Parameters
pSet of particles.

Member Function Documentation

◆ Step()

void EdenAnisotropicGrowth2::Step ( int n)
virtual

Perform several growth steps.

Parameters
nNumber of growth steps.

Reimplemented from EdenGrowth2.