CGAL 4.14 - 2D Placement of Streamlines
|
Vector and direction fields are commonly used for modeling physical phenomena, where a direction and magnitude, namely a vector is assigned to each point inside a domain.
A streamline is a curve everywhere tangent to the field. It can be considered as the path traced by an imaginary massless particle dropped into a steady fluid flow described by the field.
A streamline is represented as a polyline iteratively elongated by bidirectional numerical integration started from a seed point, until it comes close to another streamline, hits the domain boundary, or reaches a critical point.
The CGAL::Stream_lines_2
class consists of saturating the domain with a set of tangential streamlines in accordance with a specified density.
Streamlines are represented as containers of points, manipulated by an iterator range of points, and the whole placement is accessible via an iterator range of streamlines.
The main class in this package, the class CGAL::Stream_lines_2
, depends on two template parameters. The first template parameter stands for a class which represents both the vector field and the visualization domain with operations on them, and should be instantiated by a model of the concept VectorField_2
. The second template parameter stands for a function object that ensures the numerical integration used to construct the streamlines, and should be instantiated by a model of the concept Integrator_2
.
CGAL::Stream_lines_2<VectorField_2,Integrator_2>
CGAL::Euler_integrator_2<VectorField_2>
CGAL::Runge_kutta_integrator_2<VectorField_2>
CGAL::Regular_grid_2<StreamLinesTraits_2>
CGAL::Triangular_field_2<StreamLinesTraits_2>
Modules | |
Concepts | |
Classes | |
class | CGAL::Euler_integrator_2< VectorField_2 > |
This class implements the first order Euler integrator. More... | |
class | CGAL::Regular_grid_2< StreamLinesTraits_2 > |
This class provides a 2D vector field specified by a set of sample points defined on a regular grid, with a bilinear interpolation scheme over its cells (i.e. for each point p in a cell c , the vector value is interpolated from the vertices of c ). More... | |
class | CGAL::Runge_kutta_integrator_2< VectorField_2 > |
This class implements the second order Runge-Kutta integrator. More... | |
class | CGAL::Stream_lines_2< VectorField_2, Integrator_2 > |
The class Stream_lines_2 generates a placement of streamlines in a 2D domain according to a bidimensional vector field. More... | |
class | CGAL::Triangular_field_2< StreamLinesTraits_2 > |
This class provides a vector field specified by a set of sample points defined on a triangulated domain. More... | |