CGAL 6.1 - 2D Placement of Streamlines
Loading...
Searching...
No Matches
VectorField_2 Class Reference

#include <Concepts/VectorField_2.h>

Definition

The concept VectorField_2 describes the set of requirements for the first template parameter of the class CGAL::Stream_lines_2<VectorField_2,Integrator_2>. This concept provides the types of the geometric primitives used in the placement of streamlines and some functions for answering different queries.

Has models
CGAL::Regular_grid_2<StreamLinesTraits_2>
CGAL::Triangular_field_2<StreamLinesTraits_2>

Types

typedef unspecified_type Geom_traits
 The traits class.
 
typedef unspecified_type FT
 The scalar type.
 
typedef unspecified_type Point_2
 The point type.
 
typedef unspecified_type Vector_2
 The vector type.
 

Creation

 VectorField_2 ()
 Any constructor has to allow the user to fill the vector values, i.e., assign a vector to each position within the domain.
 

Query Functions

Geom_traits::Iso_rectangle_2 bbox ()
 returns the bounding box of the whole domain.
 
std::pair< Vector_2, FTget_field (Point_2 p)
 returns the vector field value and the local density.
 
bool is_in_domain (Point_2 p)
 returns true if the point p is inside the domain boundaries, false otherwise.
 
FT get_integration_step (Point_2 p)
 returns the integration step at the point p, i.e., the distance between p and the next point in the polyline.
 

Member Typedef Documentation

◆ FT

typedef unspecified_type VectorField_2::FT

The scalar type.

◆ Geom_traits

typedef unspecified_type VectorField_2::Geom_traits

The traits class.

◆ Point_2

typedef unspecified_type VectorField_2::Point_2

The point type.

◆ Vector_2

typedef unspecified_type VectorField_2::Vector_2

The vector type.

Constructor & Destructor Documentation

◆ VectorField_2()

VectorField_2::VectorField_2 ( )

Any constructor has to allow the user to fill the vector values, i.e., assign a vector to each position within the domain.

Member Function Documentation

◆ bbox()

Geom_traits::Iso_rectangle_2 VectorField_2::bbox ( )

returns the bounding box of the whole domain.

◆ get_field()

std::pair< Vector_2, FT > VectorField_2::get_field ( Point_2  p)

returns the vector field value and the local density.

Precondition
is_in_domain(p) must be true.

◆ get_integration_step()

FT VectorField_2::get_integration_step ( Point_2  p)

returns the integration step at the point p, i.e., the distance between p and the next point in the polyline.

Precondition
is_in_domain(p) must be true.

◆ is_in_domain()

bool VectorField_2::is_in_domain ( Point_2  p)

returns true if the point p is inside the domain boundaries, false otherwise.