\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)
CGAL 4.7 - 2D Placement of Streamlines
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Integrator_2 Concept Reference

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. More...
 
typedef unspecified_type Point_2
 The point type. More...
 
typedef unspecified_type Vector_2
 The vector type. More...
 
typedef unspecified_type Vector_field_2
 The vector field type. More...
 

Creation

 Integrator_2 ()
 Default constructor. More...
 

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. More...
 
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. More...
 
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. More...
 

Member Typedef Documentation

The scalar type.

The point type.

The vector type.

The vector field type.

Constructor & Destructor Documentation

Integrator_2::Integrator_2 ( )

Default constructor.

Member Function Documentation

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.
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.
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.