|
| | 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.
|
| |
| virtual bool | Collide (const Vector2 &) const |
| | Test if a candidate particle collides with an obstacle.
|
| |
| virtual void | Step () |
| | Add a new particle to the cluster.
|
| |
| virtual void | Step (int) |
| | Perform several growth steps.
|
| |
| 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.
|
| |
| ParticleSet2 | Cluster (int) const |
| | Compute the set of particles linked to a given particle.
|
| |
| 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< Vector2 > | GetCenters () 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.
|
| |
Off-lattice Eden growth.
Inherited classes may implement collision with obstacles, simply implementing default member function EdenGrowth2::Collide. Open-Eden models may be coded by changing the selection of random particles, simply by re-implementing the default member function EdenGrowth2::Select.
| void EdenGrowth2::Step |
( |
| ) |
|
|
virtual |
Add a new particle to the cluster.
Select a random particle in the existing cluster, and compute candidate growth directions. Repeat random selection until a valid particle is found. Then select a randomly generated growth direction and update the cluster.
This function has an O(n) complexity.
Reimplemented in EdenAnisotropicGrowth2.