CGAL 6.1.1 - 2D Placement of Streamlines

Loading...
Searching...
No Matches
List of all members
Integrator_2 Concept Reference
Reference Manual » Concepts

## Definition

The concept `Integrator_2` describes the set of requirements for the second template parameter of the class `CGAL::Stream_lines_2<VectorField_2,Integrator_2>`. This concept provides the operation that integrates a new point from a given point with a predefined step, and according to a specified vector.

Has models
  `CGAL::Euler_integrator_2<VectorField_2>`
  `CGAL::Runge_kutta_integrator_2<VectorField_2>`

## Types
typedef unspecified_type | FT
| The scalar type.
typedef unspecified_type | Point_2
| The point type.
typedef unspecified_type | Vector_2
| The vector type.
typedef unspecified_type | Vector_field_2
| The vector field type.

## Creation
| Integrator_2 ()
| Default constructor.

## Operations
The following operations return the newly integrated point.
Point_2 | operator() (Point_2 p, Vector_field_2 vector_field_2)
| Returns the new position from the actual position defined by `p`, according to the vector given by `vector_field_2` at `p`.
Point_2 | operator() (Point_2 p, Vector_field_2 vector_field_2, FT integration_step)
| As above. The integration step is defined by `integration_step`.
Point_2 | operator() (Point_2 p, Vector_field_2 vector_field_2, FT integration_step, bool direction)
| As above. In addition, this function integrates forward if `direction` is true, and backward if it is false.

## Member Function Documentation

## ◆ operator()() [1/3]

Point_2 Integrator_2::operator() | ( | Point_2 | p,
|  | Vector_field_2 | vector_field_2
| ) |  |

Returns the new position from the actual position defined by `p`, according to the vector given by `vector_field_2` at `p`.

Precondition
  `vector_field_2.is_in_domain(p)` must be `true`.

## ◆ operator()() [2/3]

Point_2 Integrator_2::operator() | ( | Point_2 | p,
|  | Vector_field_2 | vector_field_2,
|  | FT | integration_step
| ) |  |

As above. The integration step is defined by `integration_step`.

Precondition
  `vector_field_2.is_in_domain(p)` must be `true`.

## ◆ operator()() [3/3]

Point_2 Integrator_2::operator() | ( | Point_2 | p,
|  | Vector_field_2 | vector_field_2,
|  | FT | integration_step,
|  | bool | direction
| ) |  |

As above. In addition, this function integrates forward if `direction` is true, and backward if it is false.

Precondition
  `vector_field_2.is_in_domain(p)` must be `true`.