mirror of https://github.com/CGAL/cgal
Fixed trailing whitespace in the Pkg Interpolation
This commit is contained in:
parent
c88b17f92e
commit
f6a7307a74
|
|
@ -4,133 +4,133 @@ namespace CGAL {
|
||||||
/*!
|
/*!
|
||||||
\ingroup PkgInterpolation2Interpolation
|
\ingroup PkgInterpolation2Interpolation
|
||||||
|
|
||||||
`Interpolation_gradient_fitting_traits_2` is a model for the concepts
|
`Interpolation_gradient_fitting_traits_2` is a model for the concepts
|
||||||
`InterpolationTraits` and `GradientFittingTraits`. It can be
|
`InterpolationTraits` and `GradientFittingTraits`. It can be
|
||||||
used to instantiate the geometric traits class of interpolation
|
used to instantiate the geometric traits class of interpolation
|
||||||
functions and of Sibson's gradient fitting function when applied on
|
functions and of Sibson's gradient fitting function when applied on
|
||||||
a function defined over a two-dimensional domain. The traits class
|
a function defined over a two-dimensional domain. The traits class
|
||||||
is templated by a kernel class `K`.
|
is templated by a kernel class `K`.
|
||||||
|
|
||||||
\cgalModels `GradientFittingTraits`
|
\cgalModels `GradientFittingTraits`
|
||||||
\cgalModels `InterpolationTraits`
|
\cgalModels `InterpolationTraits`
|
||||||
|
|
||||||
\sa `InterpolationTraits`
|
\sa `InterpolationTraits`
|
||||||
\sa `GradientFittingTraits`
|
\sa `GradientFittingTraits`
|
||||||
\sa `CGAL::Interpolation_traits_2<K>`
|
\sa `CGAL::Interpolation_traits_2<K>`
|
||||||
|
|
||||||
*/
|
*/
|
||||||
template< typename K >
|
template< typename K >
|
||||||
class Interpolation_gradient_fitting_traits_2 {
|
class Interpolation_gradient_fitting_traits_2 {
|
||||||
public:
|
public:
|
||||||
|
|
||||||
/// \name Types
|
/// \name Types
|
||||||
/// @{
|
/// @{
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
typedef K::FT FT;
|
typedef K::FT FT;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
typedef K::Point_2 Point_d;
|
typedef K::Point_2 Point_d;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
typedef K::Vector_2 Vector_d;
|
typedef K::Vector_2 Vector_d;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
typedef K::Aff_transformation_2 Aff_transformation_d;
|
typedef K::Aff_transformation_2 Aff_transformation_d;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
typedef K::Construct_vector_2 Construct_vector_d;
|
typedef K::Construct_vector_2 Construct_vector_d;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
typedef K::Construct_scaled_vector_2
|
typedef K::Construct_scaled_vector_2
|
||||||
Construct_scaled_vector_d;
|
Construct_scaled_vector_d;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
typedef K::Compute_squared_distance_2
|
typedef K::Compute_squared_distance_2
|
||||||
Compute_squared_distance_d;
|
Compute_squared_distance_d;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
typedef Construct_null_matrix_2<Aff_transformation_d>
|
typedef Construct_null_matrix_2<Aff_transformation_d>
|
||||||
Construct_null_matrix_d;
|
Construct_null_matrix_d;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
typedef Construct_scaling_matrix_2<Aff_transformation_d>
|
typedef Construct_scaling_matrix_2<Aff_transformation_d>
|
||||||
Construct_scaling_matrix_d;
|
Construct_scaling_matrix_d;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
typedef Construct_sum_matrix_2<Aff_transformation_d> Construct_sum_matrix_d;
|
typedef Construct_sum_matrix_2<Aff_transformation_d> Construct_sum_matrix_d;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
typedef Construct_outer_product_2<K> Construct_outer_product_d;
|
typedef Construct_outer_product_2<K> Construct_outer_product_d;
|
||||||
|
|
||||||
/// @}
|
/// @}
|
||||||
|
|
||||||
/// \name Operations
|
/// \name Operations
|
||||||
/// @{
|
/// @{
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
Construct_scaled_vector_d
|
Construct_scaled_vector_d
|
||||||
construct_scaled_vector_d_object() const;
|
construct_scaled_vector_d_object() const;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
Construct_vector_d
|
Construct_vector_d
|
||||||
construct_vector_d_object()const;
|
construct_vector_d_object()const;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
Compute_squared_distance_d
|
Compute_squared_distance_d
|
||||||
compute_squared_distance_d_object() const;
|
compute_squared_distance_d_object() const;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
Construct_null_matrix_d
|
Construct_null_matrix_d
|
||||||
construct_null_matrix_d_object() const;
|
construct_null_matrix_d_object() const;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
Construct_scaling_matrix_d
|
Construct_scaling_matrix_d
|
||||||
construct_scaling_matrix_d_object() const;
|
construct_scaling_matrix_d_object() const;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
Construct_sum_matrix_d
|
Construct_sum_matrix_d
|
||||||
construct_sum_matrix_d_object() const;
|
construct_sum_matrix_d_object() const;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
Construct_outer_product_d
|
Construct_outer_product_d
|
||||||
construct_outer_product_d_object() const;
|
construct_outer_product_d_object() const;
|
||||||
|
|
||||||
/// @}
|
/// @}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,80 +4,80 @@ namespace CGAL {
|
||||||
/*!
|
/*!
|
||||||
\ingroup PkgInterpolation2Interpolation
|
\ingroup PkgInterpolation2Interpolation
|
||||||
|
|
||||||
`Interpolation_traits_2` is a model for the concept
|
`Interpolation_traits_2` is a model for the concept
|
||||||
`InterpolationTraits` and can be used to instantiate the
|
`InterpolationTraits` and can be used to instantiate the
|
||||||
geometric traits class of interpolation methods applied on a
|
geometric traits class of interpolation methods applied on a
|
||||||
bivariate function over a two-dimensional domain. The traits class
|
bivariate function over a two-dimensional domain. The traits class
|
||||||
is templated by a kernel class `K`.
|
is templated by a kernel class `K`.
|
||||||
|
|
||||||
\cgalModels `InterpolationTraits`
|
\cgalModels `InterpolationTraits`
|
||||||
|
|
||||||
\sa `InterpolationTraits`
|
\sa `InterpolationTraits`
|
||||||
\sa `GradientFittingTraits`
|
\sa `GradientFittingTraits`
|
||||||
\sa `CGAL::Interpolation_gradient_fitting_traits_2<K>`
|
\sa `CGAL::Interpolation_gradient_fitting_traits_2<K>`
|
||||||
|
|
||||||
*/
|
*/
|
||||||
template< typename K >
|
template< typename K >
|
||||||
class Interpolation_traits_2 {
|
class Interpolation_traits_2 {
|
||||||
public:
|
public:
|
||||||
|
|
||||||
/// \name Types
|
/// \name Types
|
||||||
/// @{
|
/// @{
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
typedef K::FT FT;
|
typedef K::FT FT;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
typedef K::Point_2 Point_d;
|
typedef K::Point_2 Point_d;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
typedef K::Vector_2 Vector_d;
|
typedef K::Vector_2 Vector_d;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
typedef K::Construct_vector_2 Construct_vector_d;
|
typedef K::Construct_vector_2 Construct_vector_d;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
typedef K::Construct_scaled_vector_2
|
typedef K::Construct_scaled_vector_2
|
||||||
Construct_scaled_vector_d;
|
Construct_scaled_vector_d;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
typedef K::Compute_squared_distance_2
|
typedef K::Compute_squared_distance_2
|
||||||
Compute_squared_distance_d;
|
Compute_squared_distance_d;
|
||||||
|
|
||||||
/// @}
|
/// @}
|
||||||
|
|
||||||
/// \name Operations
|
/// \name Operations
|
||||||
/// @{
|
/// @{
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
Construct_scaled_vector_d
|
Construct_scaled_vector_d
|
||||||
construct_scaled_vector_d_object() const;
|
construct_scaled_vector_d_object() const;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
Construct_vector_d
|
Construct_vector_d
|
||||||
construct_vector_d_object()const;
|
construct_vector_d_object()const;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
Compute_squared_distance_d
|
Compute_squared_distance_d
|
||||||
compute_squared_distance_d_object() const;
|
compute_squared_distance_d_object() const;
|
||||||
|
|
||||||
/// @}
|
/// @}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,25 +4,25 @@ namespace CGAL {
|
||||||
/*!
|
/*!
|
||||||
\ingroup PkgInterpolation2SurfaceNeighbor
|
\ingroup PkgInterpolation2SurfaceNeighbor
|
||||||
|
|
||||||
`Voronoi_intersection_2_traits_3` is a model for the concept
|
`Voronoi_intersection_2_traits_3` is a model for the concept
|
||||||
`RegularTriangulationTraits_2`. It can be used to instantiate the
|
`RegularTriangulationTraits_2`. It can be used to instantiate the
|
||||||
geometric traits class of a two-dimensional regular triangulation.
|
geometric traits class of a two-dimensional regular triangulation.
|
||||||
A three-dimensional plane is defined by a point and a vector that
|
A three-dimensional plane is defined by a point and a vector that
|
||||||
are members of the traits class. The triangulation is defined on `3D`
|
are members of the traits class. The triangulation is defined on `3D`
|
||||||
points. It is the regular triangulation of the input points
|
points. It is the regular triangulation of the input points
|
||||||
projected onto the plane and each weighted with the negative squared
|
projected onto the plane and each weighted with the negative squared
|
||||||
distance of the input point to the plane. It can be shown that it is
|
distance of the input point to the plane. It can be shown that it is
|
||||||
dual to the power diagram obtained by intersecting the
|
dual to the power diagram obtained by intersecting the
|
||||||
three-dimensional Voronoi diagram of the input points with the
|
three-dimensional Voronoi diagram of the input points with the
|
||||||
plane. All predicates and constructions used in the computation of
|
plane. All predicates and constructions used in the computation of
|
||||||
the regular triangulation are formulated on the three dimensional
|
the regular triangulation are formulated on the three dimensional
|
||||||
points without explicitly constructing the projected points and the
|
points without explicitly constructing the projected points and the
|
||||||
weights. This reduces the arithmetic demands. The traits class is
|
weights. This reduces the arithmetic demands. The traits class is
|
||||||
templated by a kernel class `K` and inherits from it.
|
templated by a kernel class `K` and inherits from it.
|
||||||
|
|
||||||
\cgalModels `RegularTriangulationTraits_2`
|
\cgalModels `RegularTriangulationTraits_2`
|
||||||
|
|
||||||
\sa `CGAL::Regular_triangulation_2<Gt, Tds>`
|
\sa `CGAL::Regular_triangulation_2<Gt, Tds>`
|
||||||
\sa `PkgInterpolationRegularNeighborCoordinates2`
|
\sa `PkgInterpolationRegularNeighborCoordinates2`
|
||||||
\sa PkgInterpolationSurfaceNeighborCoordinates3
|
\sa PkgInterpolationSurfaceNeighborCoordinates3
|
||||||
|
|
||||||
|
|
@ -38,8 +38,8 @@ public:
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
typedef K::Point_3 Point_2;
|
typedef K::Point_3 Point_2;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
|
|
@ -48,28 +48,28 @@ typedef K::Weighted_point_3 Weighted_point_2;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
typedef K::Segment_3 Segment_2;
|
typedef K::Segment_3 Segment_2;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
typedef K::Triangle_3 Triangle_2;
|
typedef K::Triangle_3 Triangle_2;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
typedef K::Line_3 Line_2;
|
typedef K::Line_3 Line_2;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
typedef K::Ray_3 Ray_2;
|
typedef K::Ray_3 Ray_2;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
typedef K::Vector_3 Vector_2;
|
typedef K::Vector_3 Vector_2;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
|
|
@ -103,13 +103,13 @@ typedef K::Construct_ray_3 Construct_ray_2;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
typedef K::Construct_triangle_3 Construct_triangle_2;
|
typedef K::Construct_triangle_3 Construct_triangle_2;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
typedef K::Compare_distance_3 Compare_distance_2;
|
typedef K::Compare_distance_3 Compare_distance_2;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* Necessary for certificated coordinates / neighbors computation
|
* Necessary for certificated coordinates / neighbors computation
|
||||||
|
|
@ -137,29 +137,29 @@ typedef K::Construct_circumcenter_3 Construct_circumcenter_2;
|
||||||
/// @{
|
/// @{
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
An instance of this function object class computes the square
|
An instance of this function object class computes the square
|
||||||
root of the result of `K::Compute_squared_area_3`.
|
root of the result of `K::Compute_squared_area_3`.
|
||||||
If the number type `FT` does not support the square root
|
If the number type `FT` does not support the square root
|
||||||
operation, the result is cast to `double`
|
operation, the result is cast to `double`
|
||||||
before computing the square root.
|
before computing the square root.
|
||||||
*/
|
*/
|
||||||
typedef Compute_area_3<K> Compute_area_2;
|
typedef Compute_area_3<K> Compute_area_2;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
typedef Orientation_with_normal_plane_2_3<K> Orientation_2;
|
typedef Orientation_with_normal_plane_2_3<K> Orientation_2;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
typedef Side_of_plane_centered_sphere_2_3<K> Power_side_of_oriented_power_circle_2;
|
typedef Side_of_plane_centered_sphere_2_3<K> Power_side_of_oriented_power_circle_2;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
typedef Construct_plane_centered_circumcenter_3<K>
|
typedef Construct_plane_centered_circumcenter_3<K>
|
||||||
Construct_weighted_circumcenter_2;
|
Construct_weighted_circumcenter_2;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
|
|
@ -169,12 +169,12 @@ Construct_radical_axis_2;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
typedef Compare_first_projection_3<K> Compare_x_2;
|
typedef Compare_first_projection_3<K> Compare_x_2;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
typedef Compare_second_projection_3<K> Compare_y_2;
|
typedef Compare_second_projection_3<K> Compare_y_2;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
@ -190,13 +190,13 @@ typedef Compare_to_less<Compare_y_2> Compare_y_2;
|
||||||
/// @}
|
/// @}
|
||||||
|
|
||||||
|
|
||||||
/// \name Creation
|
/// \name Creation
|
||||||
/// @{
|
/// @{
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
The plane associated to the traits class contains `point` and has as normal vector `normal`.
|
The plane associated to the traits class contains `point` and has as normal vector `normal`.
|
||||||
The optional kernel parameter `k` is the base class of the traits class.
|
The optional kernel parameter `k` is the base class of the traits class.
|
||||||
*/
|
*/
|
||||||
Voronoi_intersection_2_traits_3(const typename K::Point_3& point = typename K::Point_3(),
|
Voronoi_intersection_2_traits_3(const typename K::Point_3& point = typename K::Point_3(),
|
||||||
const typename K::Vector_3& normal = NULL_VECTOR,
|
const typename K::Vector_3& normal = NULL_VECTOR,
|
||||||
const K& k = K());
|
const K& k = K());
|
||||||
|
|
|
||||||
|
|
@ -4,56 +4,56 @@ namespace CGAL {
|
||||||
/*!
|
/*!
|
||||||
\ingroup PkgInterpolation2
|
\ingroup PkgInterpolation2
|
||||||
|
|
||||||
The struct `Data_access` implements a functor that allows to retrieve
|
The struct `Data_access` implements a functor that allows to retrieve
|
||||||
data from an associative container. The functor keeps a reference to
|
data from an associative container. The functor keeps a reference to
|
||||||
the container. Given an instance of the container's key type, it
|
the container. Given an instance of the container's key type, it
|
||||||
returns a pair of the container's value type and a Boolean indicating
|
returns a pair of the container's value type and a Boolean indicating
|
||||||
whether the retrieval was successful.
|
whether the retrieval was successful.
|
||||||
|
|
||||||
This class can be used to provide the values and gradients of the
|
This class can be used to provide the values and gradients of the
|
||||||
interpolation functions.
|
interpolation functions.
|
||||||
|
|
||||||
\cgalHeading{Parameters}
|
\cgalHeading{Parameters}
|
||||||
|
|
||||||
The class
|
The class
|
||||||
`Data_access` has the container type `Map` as template parameter.
|
`Data_access` has the container type `Map` as template parameter.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
template< typename Map >
|
template< typename Map >
|
||||||
struct Data_access : public CGAL::unary_function< typename Map::key_type,
|
struct Data_access : public CGAL::unary_function< typename Map::key_type,
|
||||||
std::pair< typename Map::mapped_type, bool> > {
|
std::pair< typename Map::mapped_type, bool> > {
|
||||||
public:
|
public:
|
||||||
|
|
||||||
/// \name Types
|
/// \name Types
|
||||||
/// @{
|
/// @{
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
typedef Map::mapped_type Data_type;
|
typedef Map::mapped_type Data_type;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
typedef Map::key_type Key_type;
|
typedef Map::key_type Key_type;
|
||||||
|
|
||||||
/// @}
|
/// @}
|
||||||
|
|
||||||
/// \name Creation
|
/// \name Creation
|
||||||
/// @{
|
/// @{
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Introduces a `Data_access` to the container `map`.
|
Introduces a `Data_access` to the container `map`.
|
||||||
*/
|
*/
|
||||||
Data_access(const Map& map);
|
Data_access(const Map& map);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
If
|
If
|
||||||
there is an entry for `p` in the container `map`, then the
|
there is an entry for `p` in the container `map`, then the
|
||||||
pair of `map.find(p)` and `true` is returned. Otherwise, the
|
pair of `map.find(p)` and `true` is returned. Otherwise, the
|
||||||
Boolean value of the pair is `false`.
|
Boolean value of the pair is `false`.
|
||||||
*/
|
*/
|
||||||
std::pair< Data_type, bool> operator()(const Key_type& p);
|
std::pair< Data_type, bool> operator()(const Key_type& p);
|
||||||
|
|
||||||
/// @}
|
/// @}
|
||||||
|
|
||||||
|
|
@ -66,24 +66,24 @@ generates the interpolated function value computed by Farin's interpolant.
|
||||||
|
|
||||||
\pre `norm` \f$ \neq0\f$. `function_value(p).second == true` for all points `p` of the point/coordinate pairs in the range `[first, beyond)`.
|
\pre `norm` \f$ \neq0\f$. `function_value(p).second == true` for all points `p` of the point/coordinate pairs in the range `[first, beyond)`.
|
||||||
\pre The range `[first, beyond)` contains either one or more than three elements.
|
\pre The range `[first, beyond)` contains either one or more than three elements.
|
||||||
The function `farin_c1_interpolation()` interpolates the function values and the
|
The function `farin_c1_interpolation()` interpolates the function values and the
|
||||||
gradients that are provided by functors using the method described in \cgalCite{f-sodt-90}.
|
gradients that are provided by functors using the method described in \cgalCite{f-sodt-90}.
|
||||||
|
|
||||||
\cgalHeading{Parameters}
|
\cgalHeading{Parameters}
|
||||||
|
|
||||||
The value type of `RandomAccessIterator` is a pair
|
The value type of `RandomAccessIterator` is a pair
|
||||||
associating a point to a (non-normalized) barycentric coordinate. See
|
associating a point to a (non-normalized) barycentric coordinate. See
|
||||||
`sibson_c1_interpolation()` for the other parameters.
|
`sibson_c1_interpolation()` for the other parameters.
|
||||||
|
|
||||||
\cgalHeading{Requirements}
|
\cgalHeading{Requirements}
|
||||||
|
|
||||||
Same requirements as for `sibson_c1_interpolation()` only the
|
Same requirements as for `sibson_c1_interpolation()` only the
|
||||||
iterator must provide random access and `Traits::FT` does not need
|
iterator must provide random access and `Traits::FT` does not need
|
||||||
to provide the square root operation.
|
to provide the square root operation.
|
||||||
|
|
||||||
\sa `CGAL::Data_access<Map>`
|
\sa `CGAL::Data_access<Map>`
|
||||||
\sa `CGAL::linear_interpolation()`
|
\sa `CGAL::linear_interpolation()`
|
||||||
\sa `CGAL::sibson_c1_interpolation()`
|
\sa `CGAL::sibson_c1_interpolation()`
|
||||||
\sa PkgInterpolationSibsonGradientFitting
|
\sa PkgInterpolationSibsonGradientFitting
|
||||||
\sa `CGAL::Interpolation_traits_2<K>`
|
\sa `CGAL::Interpolation_traits_2<K>`
|
||||||
\sa `PkgInterpolationNaturalNeighborCoordinates2`
|
\sa `PkgInterpolationNaturalNeighborCoordinates2`
|
||||||
|
|
@ -105,26 +105,26 @@ Traits& traits);
|
||||||
/*!
|
/*!
|
||||||
\ingroup PkgInterpolation2Interpolation
|
\ingroup PkgInterpolation2Interpolation
|
||||||
|
|
||||||
The function `linear_interpolation()` computes the weighted sum of the function
|
The function `linear_interpolation()` computes the weighted sum of the function
|
||||||
values which must be provided via a functor.
|
values which must be provided via a functor.
|
||||||
|
|
||||||
\tparam ForwardIterator must have as value type a pair associating a point to a
|
\tparam ForwardIterator must have as value type a pair associating a point to a
|
||||||
(non-normalized) barycentric coordinate, that is
|
(non-normalized) barycentric coordinate, that is
|
||||||
`std::iterator_traits<ForwardIterator>::%value_type::first_type` is equivalent to a
|
`std::iterator_traits<ForwardIterator>::%value_type::first_type` is equivalent to a
|
||||||
point and `std::iterator_traits<ForwardIterator>::%value_type::second_type` is a
|
point and `std::iterator_traits<ForwardIterator>::%value_type::second_type` is a
|
||||||
field number type.
|
field number type.
|
||||||
\tparam Functor The type `Functor::argument_type` must be equivalent to
|
\tparam Functor The type `Functor::argument_type` must be equivalent to
|
||||||
`std::iterator_traits<ForwardIterator>::%value_type::first_type` and
|
`std::iterator_traits<ForwardIterator>::%value_type::first_type` and
|
||||||
`Functor::result_type` is a pair of the function value type
|
`Functor::result_type` is a pair of the function value type
|
||||||
and a Boolean value. The function value type must provide a
|
and a Boolean value. The function value type must provide a
|
||||||
multiplication and addition operation with the field number type
|
multiplication and addition operation with the field number type
|
||||||
`std::iterator_traits<ForwardIterator>::%value_type::second_type` and a constructor
|
`std::iterator_traits<ForwardIterator>::%value_type::second_type` and a constructor
|
||||||
with argument `0`.
|
with argument `0`.
|
||||||
|
|
||||||
A model of the functor is provided by the
|
A model of the functor is provided by the
|
||||||
struct `Data_access`. It must be instantiated accordingly with
|
struct `Data_access`. It must be instantiated accordingly with
|
||||||
an associative container (e.g. `std::map`) having the
|
an associative container (e.g. `std::map`) having the
|
||||||
point type as `key_type` and the function value type as
|
point type as `key_type` and the function value type as
|
||||||
`mapped_type`.
|
`mapped_type`.
|
||||||
|
|
||||||
\param first,beyond are the iterator range for the weighted input points.
|
\param first,beyond are the iterator range for the weighted input points.
|
||||||
|
|
@ -134,11 +134,11 @@ function value and a Boolean for a given point. The Boolean indicates whether th
|
||||||
function value could be retrieved correctly. This function generates
|
function value could be retrieved correctly. This function generates
|
||||||
the interpolated function value as the weighted sum of the values
|
the interpolated function value as the weighted sum of the values
|
||||||
corresponding to each point of the point/coordinate pairs in the
|
corresponding to each point of the point/coordinate pairs in the
|
||||||
range `[first, beyond)`.
|
range `[first, beyond)`.
|
||||||
`function_value(q).second == true` for all points `q` of the point/coordinate pairs in the range `[first, beyond)`.
|
`function_value(q).second == true` for all points `q` of the point/coordinate pairs in the range `[first, beyond)`.
|
||||||
|
|
||||||
|
|
||||||
\sa `CGAL::Data_access<Map>`
|
\sa `CGAL::Data_access<Map>`
|
||||||
\sa `PkgInterpolationNaturalNeighborCoordinates2`
|
\sa `PkgInterpolationNaturalNeighborCoordinates2`
|
||||||
\sa `PkgInterpolationRegularNeighborCoordinates2`
|
\sa `PkgInterpolationRegularNeighborCoordinates2`
|
||||||
\sa PkgInterpolationSurfaceNeighborCoordinates3
|
\sa PkgInterpolationSurfaceNeighborCoordinates3
|
||||||
|
|
@ -157,20 +157,20 @@ norm, Functor function_values);
|
||||||
The function `quadratic_interpolation()` generates the
|
The function `quadratic_interpolation()` generates the
|
||||||
interpolated function value as the weighted sum of the values plus a
|
interpolated function value as the weighted sum of the values plus a
|
||||||
linear term in the gradient for each point of the point/coordinate
|
linear term in the gradient for each point of the point/coordinate
|
||||||
pairs in the range `[first, beyond)`.
|
pairs in the range `[first, beyond)`.
|
||||||
|
|
||||||
\cgalHeading{Parameters and Template Parameters}
|
\cgalHeading{Parameters and Template Parameters}
|
||||||
|
|
||||||
The same as for `sibson_c1_interpolation()` only that `Traits::FT` does not need
|
The same as for `sibson_c1_interpolation()` only that `Traits::FT` does not need
|
||||||
to provide the square root operation.
|
to provide the square root operation.
|
||||||
|
|
||||||
\sa `InterpolationTraits`
|
\sa `InterpolationTraits`
|
||||||
\sa `GradientFittingTraits`
|
\sa `GradientFittingTraits`
|
||||||
\sa `CGAL::Data_access<Map>`
|
\sa `CGAL::Data_access<Map>`
|
||||||
\sa PkgInterpolationSibsonGradientFitting
|
\sa PkgInterpolationSibsonGradientFitting
|
||||||
\sa `CGAL::linear_interpolation()`
|
\sa `CGAL::linear_interpolation()`
|
||||||
\sa `CGAL::Interpolation_traits_2<K>`
|
\sa `CGAL::Interpolation_traits_2<K>`
|
||||||
\sa `CGAL::Interpolation_gradient_fitting_traits_2<K>`
|
\sa `CGAL::Interpolation_gradient_fitting_traits_2<K>`
|
||||||
\sa `PkgInterpolationNaturalNeighborCoordinates2`
|
\sa `PkgInterpolationNaturalNeighborCoordinates2`
|
||||||
\sa `PkgInterpolationRegularNeighborCoordinates2`
|
\sa `PkgInterpolationRegularNeighborCoordinates2`
|
||||||
\sa PkgInterpolationSurfaceNeighborCoordinates3
|
\sa PkgInterpolationSurfaceNeighborCoordinates3
|
||||||
|
|
@ -179,7 +179,7 @@ template < class ForwardIterator, class Functor, class
|
||||||
GradFunctor, class Traits> typename Functor::result_type
|
GradFunctor, class Traits> typename Functor::result_type
|
||||||
quadratic_interpolation(ForwardIterator first, ForwardIterator
|
quadratic_interpolation(ForwardIterator first, ForwardIterator
|
||||||
beyond, const typename std::iterator_traits<ForwardIterator>::
|
beyond, const typename std::iterator_traits<ForwardIterator>::
|
||||||
value_type::second_type& norm,
|
value_type::second_type& norm,
|
||||||
const typename std::iterator_traits<ForwardIterator>::value_type::
|
const typename std::iterator_traits<ForwardIterator>::value_type::
|
||||||
first_type& p, Functor function_value, GradFunctor
|
first_type& p, Functor function_value, GradFunctor
|
||||||
function_gradient,const Traits& traits);
|
function_gradient,const Traits& traits);
|
||||||
|
|
@ -189,62 +189,62 @@ function_gradient,const Traits& traits);
|
||||||
\ingroup PkgInterpolation2Interpolation
|
\ingroup PkgInterpolation2Interpolation
|
||||||
|
|
||||||
The function `sibson_c1_interpolation()` generates the interpolated
|
The function `sibson_c1_interpolation()` generates the interpolated
|
||||||
function value at the point `p`, using functors for the function values
|
function value at the point `p`, using functors for the function values
|
||||||
and the gradients, by applying Sibson's \f$ Z^1\f$ interpolant.
|
and the gradients, by applying Sibson's \f$ Z^1\f$ interpolant.
|
||||||
|
|
||||||
If the functor `function_gradient` cannot supply the gradient of a
|
If the functor `function_gradient` cannot supply the gradient of a
|
||||||
point, the function returns a pair where the Boolean is set to
|
point, the function returns a pair where the Boolean is set to
|
||||||
`false`. If the interpolation was successful, the pair contains the
|
`false`. If the interpolation was successful, the pair contains the
|
||||||
interpolated function value as first and `true` as second value.
|
interpolated function value as first and `true` as second value.
|
||||||
|
|
||||||
|
|
||||||
\tparam Traits must be a model of `InterpolationTraits`.
|
\tparam Traits must be a model of `InterpolationTraits`.
|
||||||
The number type `FT` provided by `Traits` must support
|
The number type `FT` provided by `Traits` must support
|
||||||
the square root operation `sqrt()`.
|
the square root operation `sqrt()`.
|
||||||
\tparam ForwardIterator must have as value type a pair associating a point to a
|
\tparam ForwardIterator must have as value type a pair associating a point to a
|
||||||
(non-normalized) barycentric coordinate.
|
(non-normalized) barycentric coordinate.
|
||||||
More precisely, `std::iterator_traits<ForwardIterator>::%value_type::first_type` is
|
More precisely, `std::iterator_traits<ForwardIterator>::%value_type::first_type` is
|
||||||
equivalent to `Traits::Point_d` and
|
equivalent to `Traits::Point_d` and
|
||||||
`std::iterator_traits<ForwardIterator>::%value_type::second_type` is equivalent to
|
`std::iterator_traits<ForwardIterator>::%value_type::second_type` is equivalent to
|
||||||
`Traits::FT`.
|
`Traits::FT`.
|
||||||
|
|
||||||
\tparam Functor must be a functor where `Functor::argument_type` must be equivalent to
|
\tparam Functor must be a functor where `Functor::argument_type` must be equivalent to
|
||||||
`Traits::Point_d` and `Functor::result_type` is a pair of
|
`Traits::Point_d` and `Functor::result_type` is a pair of
|
||||||
the function value type and a Boolean. The function value type must
|
the function value type and a Boolean. The function value type must
|
||||||
provide a multiplication and addition operation with the type
|
provide a multiplication and addition operation with the type
|
||||||
`Traits::FT` as well as a constructor with argument `0`.
|
`Traits::FT` as well as a constructor with argument `0`.
|
||||||
|
|
||||||
\tparam GradFunctor must be a functor where `GradFunctor::argument_type` must be equivalent to
|
\tparam GradFunctor must be a functor where `GradFunctor::argument_type` must be equivalent to
|
||||||
`Traits::Point_d` and `Functor::result_type` is a pair of
|
`Traits::Point_d` and `Functor::result_type` is a pair of
|
||||||
the function's gradient type and a Boolean. The
|
the function's gradient type and a Boolean. The
|
||||||
function gradient type must provide a multiplication operation with
|
function gradient type must provide a multiplication operation with
|
||||||
`Traits::Vector_d`.
|
`Traits::Vector_d`.
|
||||||
|
|
||||||
A model of the functor types `Functor` (resp.
|
A model of the functor types `Functor` (resp.
|
||||||
`GradFunctor`) is provided by the struct `Data_access`. It
|
`GradFunctor`) is provided by the struct `Data_access`. It
|
||||||
must be instantiated accordingly with an associative container
|
must be instantiated accordingly with an associative container
|
||||||
(e.g. `std::map`) having the point type as `key_type`
|
(e.g. `std::map`) having the point type as `key_type`
|
||||||
and the function value type (resp. function gradient type) as
|
and the function value type (resp. function gradient type) as
|
||||||
`mapped_type`.
|
`mapped_type`.
|
||||||
|
|
||||||
\param first,beyond is the iterator range of the barycentric
|
\param first,beyond is the iterator range of the barycentric
|
||||||
coordinates for the query point `p`.
|
coordinates for the query point `p`.
|
||||||
\param norm is the normalization factor. `norm` \f$ \neq0\f$.
|
\param norm is the normalization factor. `norm` \f$ \neq0\f$.
|
||||||
\param p is the point at which the interpolated function value is generated
|
\param p is the point at which the interpolated function value is generated
|
||||||
\param function_value is a functor that allows to access the value of the interpolated
|
\param function_value is a functor that allows to access the value of the interpolated
|
||||||
function given a point. `function_value(q).second == true` for all points
|
function given a point. `function_value(q).second == true` for all points
|
||||||
`q` of the point/coordinate pairs in the range `[first, beyond)`
|
`q` of the point/coordinate pairs in the range `[first, beyond)`
|
||||||
\param function_gradient is a functor that allows to access the
|
\param function_gradient is a functor that allows to access the
|
||||||
function gradient given a point.
|
function gradient given a point.
|
||||||
\param traits is an instance of the traits class
|
\param traits is an instance of the traits class
|
||||||
|
|
||||||
\sa `InterpolationTraits`
|
\sa `InterpolationTraits`
|
||||||
\sa `GradientFittingTraits`
|
\sa `GradientFittingTraits`
|
||||||
\sa `CGAL::Data_access<Map>`
|
\sa `CGAL::Data_access<Map>`
|
||||||
\sa PkgInterpolationSibsonGradientFitting
|
\sa PkgInterpolationSibsonGradientFitting
|
||||||
\sa `CGAL::linear_interpolation()`
|
\sa `CGAL::linear_interpolation()`
|
||||||
\sa `CGAL::Interpolation_traits_2<K>`
|
\sa `CGAL::Interpolation_traits_2<K>`
|
||||||
\sa `CGAL::Interpolation_gradient_fitting_traits_2<K>`
|
\sa `CGAL::Interpolation_gradient_fitting_traits_2<K>`
|
||||||
\sa `PkgInterpolationNaturalNeighborCoordinates2`
|
\sa `PkgInterpolationNaturalNeighborCoordinates2`
|
||||||
\sa `PkgInterpolationRegularNeighborCoordinates2`
|
\sa `PkgInterpolationRegularNeighborCoordinates2`
|
||||||
\sa PkgInterpolationSurfaceNeighborCoordinates3
|
\sa PkgInterpolationSurfaceNeighborCoordinates3
|
||||||
|
|
|
||||||
|
|
@ -4,44 +4,44 @@ namespace CGAL {
|
||||||
\defgroup PkgInterpolationNaturalNeighborCoordinates2 CGAL::natural_neighbor_coordinates_2()
|
\defgroup PkgInterpolationNaturalNeighborCoordinates2 CGAL::natural_neighbor_coordinates_2()
|
||||||
\ingroup PkgInterpolation2NatNeighbor
|
\ingroup PkgInterpolation2NatNeighbor
|
||||||
|
|
||||||
The functions `natural_neighbor_coordinates_2()` compute natural neighbor coordinates, also
|
The functions `natural_neighbor_coordinates_2()` compute natural neighbor coordinates, also
|
||||||
called Sibson's coordinates, for `2D` points provided a two-dimensional
|
called Sibson's coordinates, for `2D` points provided a two-dimensional
|
||||||
triangulation and a query point in the convex hull of the vertices
|
triangulation and a query point in the convex hull of the vertices
|
||||||
of the triangulation.
|
of the triangulation.
|
||||||
|
|
||||||
\cgalHeading{Requirements}
|
\cgalHeading{Requirements}
|
||||||
|
|
||||||
<OL>
|
<OL>
|
||||||
<LI>`Dt` are equivalent to the class
|
<LI>`Dt` are equivalent to the class
|
||||||
`Delaunay_triangulation_2<Traits, Tds>`.
|
`Delaunay_triangulation_2<Traits, Tds>`.
|
||||||
<LI>The traits class `Traits` of `Dt` is a model of the
|
<LI>The traits class `Traits` of `Dt` is a model of the
|
||||||
concept `DelaunayTriangulationTraits_2`.
|
concept `DelaunayTriangulationTraits_2`.
|
||||||
Only the following members of this traits class are used:
|
Only the following members of this traits class are used:
|
||||||
<UL>
|
<UL>
|
||||||
<LI>`Construct_circumcenter_2`
|
<LI>`Construct_circumcenter_2`
|
||||||
<LI>`FT`
|
<LI>`FT`
|
||||||
<LI>`Point_2`
|
<LI>`Point_2`
|
||||||
<LI>`construct_circumcenter_2_object`
|
<LI>`construct_circumcenter_2_object`
|
||||||
<LI>Additionally, `Traits` must meet the requirements for
|
<LI>Additionally, `Traits` must meet the requirements for
|
||||||
the traits class of the `polygon_area_2()` function.
|
the traits class of the `polygon_area_2()` function.
|
||||||
</UL>
|
</UL>
|
||||||
<LI>The value type of `OutputIterator` is equivalent to
|
<LI>The value type of `OutputIterator` is equivalent to
|
||||||
`std::pair<Dt::Point_2, Dt::Geom_traits::FT>`, i.e., a pair
|
`std::pair<Dt::Point_2, Dt::Geom_traits::FT>`, i.e., a pair
|
||||||
associating a point and its natural neighbor coordinate.
|
associating a point and its natural neighbor coordinate.
|
||||||
</OL>
|
</OL>
|
||||||
|
|
||||||
\cgalHeading{Implementation}
|
\cgalHeading{Implementation}
|
||||||
|
|
||||||
This function computes the area of the sub-cells
|
This function computes the area of the sub-cells
|
||||||
stolen from the Voronoi cells of the points in `dt` when inserting
|
stolen from the Voronoi cells of the points in `dt` when inserting
|
||||||
`p`. The total area of the Voronoi cell of `p` is also
|
`p`. The total area of the Voronoi cell of `p` is also
|
||||||
computed and returned by the function. If `p` lies outside the
|
computed and returned by the function. If `p` lies outside the
|
||||||
convex hull, the coordinate values cannot be computed and the third
|
convex hull, the coordinate values cannot be computed and the third
|
||||||
value of the result triple is set to `false`.
|
value of the result triple is set to `false`.
|
||||||
|
|
||||||
|
|
||||||
\sa `CGAL::linear_interpolation()`
|
\sa `CGAL::linear_interpolation()`
|
||||||
\sa `CGAL::sibson_c1_interpolation()`
|
\sa `CGAL::sibson_c1_interpolation()`
|
||||||
\sa PkgInterpolationSurfaceNeighborCoordinates3
|
\sa PkgInterpolationSurfaceNeighborCoordinates3
|
||||||
\sa `PkgInterpolationRegularNeighborCoordinates2`
|
\sa `PkgInterpolationRegularNeighborCoordinates2`
|
||||||
|
|
||||||
|
|
@ -50,9 +50,9 @@ value of the result triple is set to `false`.
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
computes the natural neighbor coordinates for `p` with respect to the
|
computes the natural neighbor coordinates for `p` with respect to the
|
||||||
points in the two-dimensional Delaunay triangulation `dt`.
|
points in the two-dimensional Delaunay triangulation `dt`.
|
||||||
|
|
||||||
\tparam Dt must be of type `Delaunay_triangulation_2<Traits, Tds>`.
|
\tparam Dt must be of type `Delaunay_triangulation_2<Traits, Tds>`.
|
||||||
\tparam OutputIterator must have the value type `std::pair<Dt::Point_2, Dt::Geom_traits::FT>`.
|
\tparam OutputIterator must have the value type `std::pair<Dt::Point_2, Dt::Geom_traits::FT>`.
|
||||||
|
|
||||||
The sequence of point/coordinate pairs
|
The sequence of point/coordinate pairs
|
||||||
|
|
@ -65,7 +65,7 @@ the coordinate computation was successful.
|
||||||
template < class Dt, class OutputIterator > CGAL::Triple<
|
template < class Dt, class OutputIterator > CGAL::Triple<
|
||||||
OutputIterator, typename Dt::Geom_traits::FT, bool >
|
OutputIterator, typename Dt::Geom_traits::FT, bool >
|
||||||
natural_neighbor_coordinates_2(
|
natural_neighbor_coordinates_2(
|
||||||
const Dt& dt, const typename Dt::Geom_traits::Point_2& p,
|
const Dt& dt, const typename Dt::Geom_traits::Point_2& p,
|
||||||
OutputIterator out, typename Dt::Face_handle start = typename Dt::Face_handle());
|
OutputIterator out, typename Dt::Face_handle start = typename Dt::Face_handle());
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
@ -76,9 +76,9 @@ the triangulation. It is the result of the function
|
||||||
`dt.get_boundary_of_conflicts(p,std::back_inserter(hole), start)`\endlink.
|
`dt.get_boundary_of_conflicts(p,std::back_inserter(hole), start)`\endlink.
|
||||||
*/
|
*/
|
||||||
template <class Dt, class OutputIterator,
|
template <class Dt, class OutputIterator,
|
||||||
class EdgeIterator > CGAL::Triple< OutputIterator, typename Dt::Geom_traits::FT,
|
class EdgeIterator > CGAL::Triple< OutputIterator, typename Dt::Geom_traits::FT,
|
||||||
bool > natural_neighbor_coordinates_2(
|
bool > natural_neighbor_coordinates_2(
|
||||||
const Dt& dt, const typename Dt::Geom_traits::Point_2& p,
|
const Dt& dt, const typename Dt::Geom_traits::Point_2& p,
|
||||||
OutputIterator out, EdgeIterator hole_begin, EdgeIterator hole_end);
|
OutputIterator out, EdgeIterator hole_begin, EdgeIterator hole_end);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
@ -86,8 +86,8 @@ computes the natural neighbor coordinates of the point
|
||||||
`vh->point()` with respect to the vertices of `dt` excluding
|
`vh->point()` with respect to the vertices of `dt` excluding
|
||||||
`vh->point()`. The same as above for the remaining parameters.
|
`vh->point()`. The same as above for the remaining parameters.
|
||||||
*/
|
*/
|
||||||
template <class Dt, class OutputIterator>
|
template <class Dt, class OutputIterator>
|
||||||
CGAL::Triple< OutputIterator, typename Dt::Geom_traits::FT, bool >
|
CGAL::Triple< OutputIterator, typename Dt::Geom_traits::FT, bool >
|
||||||
natural_neighbor_coordinates_2(const Dt& dt, typename Dt::Vertex_handle vh, OutputIterator out);
|
natural_neighbor_coordinates_2(const Dt& dt, typename Dt::Vertex_handle vh, OutputIterator out);
|
||||||
|
|
||||||
/// @}
|
/// @}
|
||||||
|
|
|
||||||
|
|
@ -4,35 +4,35 @@ namespace CGAL {
|
||||||
\defgroup PkgInterpolationRegularNeighborCoordinates2 CGAL::regular_neighbor_coordinates_2()
|
\defgroup PkgInterpolationRegularNeighborCoordinates2 CGAL::regular_neighbor_coordinates_2()
|
||||||
\ingroup PkgInterpolation2NatNeighbor
|
\ingroup PkgInterpolation2NatNeighbor
|
||||||
|
|
||||||
The functions `regular_neighbor_coordinates_2()` compute natural neighbor coordinates, also
|
The functions `regular_neighbor_coordinates_2()` compute natural neighbor coordinates, also
|
||||||
called Sibson's coordinates, for weighted `2D` points provided a
|
called Sibson's coordinates, for weighted `2D` points provided a
|
||||||
two-dimensional regular triangulation and a (weighted) query point
|
two-dimensional regular triangulation and a (weighted) query point
|
||||||
inside the convex hull of the vertices of the triangulation. We call these
|
inside the convex hull of the vertices of the triangulation. We call these
|
||||||
coordinates regular neighbor coordinates.
|
coordinates regular neighbor coordinates.
|
||||||
|
|
||||||
\cgalHeading{Requirements}
|
\cgalHeading{Requirements}
|
||||||
|
|
||||||
<OL>
|
<OL>
|
||||||
<LI>`Rt` are equivalent to the class
|
<LI>`Rt` are equivalent to the class
|
||||||
`Regular_triangulation_2<Traits, Tds>`.
|
`Regular_triangulation_2<Traits, Tds>`.
|
||||||
<LI>The traits class `Traits` of `Rt` is a model of the
|
<LI>The traits class `Traits` of `Rt` is a model of the
|
||||||
concept `RegularTriangulationTraits_2`. It provides the number
|
concept `RegularTriangulationTraits_2`. It provides the number
|
||||||
type `FT` which is a model for `FieldNumberType` and it must
|
type `FT` which is a model for `FieldNumberType` and it must
|
||||||
meet the requirements for the traits class of the
|
meet the requirements for the traits class of the
|
||||||
`polygon_area_2()` function. All CGAL kernels are models of this concept.
|
`polygon_area_2()` function. All CGAL kernels are models of this concept.
|
||||||
<LI>The value type of `OutputIterator` is equivalent to
|
<LI>The value type of `OutputIterator` is equivalent to
|
||||||
`std::pair<Rt::Weighted_point, Rt::Geom_traits::FT>`, i.e.\ a pair
|
`std::pair<Rt::Weighted_point, Rt::Geom_traits::FT>`, i.e.\ a pair
|
||||||
associating a point and its regular neighbor coordinate.
|
associating a point and its regular neighbor coordinate.
|
||||||
</OL>
|
</OL>
|
||||||
|
|
||||||
\cgalHeading{Implementation}
|
\cgalHeading{Implementation}
|
||||||
|
|
||||||
This function computes the areas stolen from the
|
This function computes the areas stolen from the
|
||||||
Voronoi cells of points in `rt` by the insertion of `p`. The
|
Voronoi cells of points in `rt` by the insertion of `p`. The
|
||||||
total area of the Voronoi cell of `p` is also computed and
|
total area of the Voronoi cell of `p` is also computed and
|
||||||
returned by the function. If `p` lies outside the convex hull, the
|
returned by the function. If `p` lies outside the convex hull, the
|
||||||
coordinate values cannot be computed and the third value of the result
|
coordinate values cannot be computed and the third value of the result
|
||||||
triple is set to `false`.
|
triple is set to `false`.
|
||||||
|
|
||||||
\sa `PkgInterpolationNaturalNeighborCoordinates2`
|
\sa `PkgInterpolationNaturalNeighborCoordinates2`
|
||||||
|
|
||||||
|
|
@ -42,20 +42,20 @@ triple is set to `false`.
|
||||||
/*!
|
/*!
|
||||||
computes the regular neighbor coordinates for `p` with respect
|
computes the regular neighbor coordinates for `p` with respect
|
||||||
to the weighted points in the two-dimensional regular triangulation
|
to the weighted points in the two-dimensional regular triangulation
|
||||||
`rt`.
|
`rt`.
|
||||||
|
|
||||||
\tparam Rt must be a `Regular_triangulation_2<Traits, Tds>`.
|
\tparam Rt must be a `Regular_triangulation_2<Traits, Tds>`.
|
||||||
\tparam OutputIterator must have the value type
|
\tparam OutputIterator must have the value type
|
||||||
`std::pair<Rt::Weighted_point, Rt::Geom_traits::FT>`. The sequence of
|
`std::pair<Rt::Weighted_point, Rt::Geom_traits::FT>`. The sequence of
|
||||||
point/coordinate pairs that is computed by the function is placed
|
point/coordinate pairs that is computed by the function is placed
|
||||||
starting at `out`.
|
starting at `out`.
|
||||||
|
|
||||||
The function returns a triple with an
|
The function returns a triple with an
|
||||||
iterator that is placed past-the-end of the resulting sequence of
|
iterator that is placed past-the-end of the resulting sequence of
|
||||||
point/coordinate pairs, the normalization factor of the coordinates
|
point/coordinate pairs, the normalization factor of the coordinates
|
||||||
and a Boolean value which is set to `true`, iff the coordinate
|
and a Boolean value which is set to `true`, iff the coordinate
|
||||||
computation was successful, i.e., if `p` lies inside the
|
computation was successful, i.e., if `p` lies inside the
|
||||||
convex hull of the points in `rt`.
|
convex hull of the points in `rt`.
|
||||||
*/
|
*/
|
||||||
template < class Rt, class OutputIterator > CGAL::Triple<
|
template < class Rt, class OutputIterator > CGAL::Triple<
|
||||||
OutputIterator, typename Rt::Geom_traits::FT, bool >
|
OutputIterator, typename Rt::Geom_traits::FT, bool >
|
||||||
|
|
@ -64,9 +64,9 @@ Rt::Weighted_point& p, OutputIterator out, typename
|
||||||
Rt::Face_handle start = typename Rt::Face_handle());
|
Rt::Face_handle start = typename Rt::Face_handle());
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
The same as above. The iterator range `[hole_begin, hole_end)` determines
|
The same as above. The iterator range `[hole_begin, hole_end)` determines
|
||||||
the boundary edges of the conflict zone of `p` in the triangulation `rt`.
|
the boundary edges of the conflict zone of `p` in the triangulation `rt`.
|
||||||
\link Regular_triangulation_2::hidden_vertices_begin() `rt.hidden_vertices_begin()`\endlink and
|
\link Regular_triangulation_2::hidden_vertices_begin() `rt.hidden_vertices_begin()`\endlink and
|
||||||
\link Regular_triangulation_2::hidden_vertices_end() `rt.hidden_vertices_end()`\endlink
|
\link Regular_triangulation_2::hidden_vertices_end() `rt.hidden_vertices_end()`\endlink
|
||||||
determines the iterator range over the hidden vertices of the conflict
|
determines the iterator range over the hidden vertices of the conflict
|
||||||
zone of `p` in`rt`. It is the result of the function
|
zone of `p` in`rt`. It is the result of the function
|
||||||
|
|
|
||||||
|
|
@ -14,25 +14,25 @@ coordinates.
|
||||||
|
|
||||||
\cgalHeading{Requirements}
|
\cgalHeading{Requirements}
|
||||||
|
|
||||||
<OL>
|
<OL>
|
||||||
<LI>The value type of `ForwardIterator` is a pair of point/coordinate
|
<LI>The value type of `ForwardIterator` is a pair of point/coordinate
|
||||||
value, thus `std::iterator_traits<ForwardIterator>::%value_type::first_type` is
|
value, thus `std::iterator_traits<ForwardIterator>::%value_type::first_type` is
|
||||||
equivalent to a point and
|
equivalent to a point and
|
||||||
`std::iterator_traits<ForwardIterator>::%value_type::second_type` is a
|
`std::iterator_traits<ForwardIterator>::%value_type::second_type` is a
|
||||||
number type.
|
number type.
|
||||||
<LI>`Functor::argument_type` must be equivalent to
|
<LI>`Functor::argument_type` must be equivalent to
|
||||||
`std::iterator_traits<ForwardIterator>::%value_type::first_type` and
|
`std::iterator_traits<ForwardIterator>::%value_type::first_type` and
|
||||||
`Functor::result_type` is the function value type. It must
|
`Functor::result_type` is the function value type. It must
|
||||||
provide a multiplication and addition operation with the type
|
provide a multiplication and addition operation with the type
|
||||||
`std::iterator_traits<ForwardIterator>::%value_type::second_type`.
|
`std::iterator_traits<ForwardIterator>::%value_type::second_type`.
|
||||||
<LI>`Traits` is a model of the concept
|
<LI>`Traits` is a model of the concept
|
||||||
`GradientFittingTraits`.
|
`GradientFittingTraits`.
|
||||||
</OL>
|
</OL>
|
||||||
|
|
||||||
\sa `CGAL::linear_interpolation()`
|
\sa `CGAL::linear_interpolation()`
|
||||||
\sa `CGAL::sibson_c1_interpolation()`
|
\sa `CGAL::sibson_c1_interpolation()`
|
||||||
\sa `CGAL::farin_c1_interpolation()`
|
\sa `CGAL::farin_c1_interpolation()`
|
||||||
\sa `CGAL::quadratic_interpolation()`
|
\sa `CGAL::quadratic_interpolation()`
|
||||||
\sa `CGAL::Interpolation_gradient_fitting_traits_2<K>`
|
\sa `CGAL::Interpolation_gradient_fitting_traits_2<K>`
|
||||||
\sa `PkgInterpolationNaturalNeighborCoordinates2`
|
\sa `PkgInterpolationNaturalNeighborCoordinates2`
|
||||||
\sa `PkgInterpolationRegularNeighborCoordinates2`
|
\sa `PkgInterpolationRegularNeighborCoordinates2`
|
||||||
|
|
@ -40,9 +40,9 @@ provide a multiplication and addition operation with the type
|
||||||
|
|
||||||
\cgalHeading{Implementation}
|
\cgalHeading{Implementation}
|
||||||
|
|
||||||
This function implements Sibson's gradient
|
This function implements Sibson's gradient
|
||||||
estimation method based on natural neighbor coordinates
|
estimation method based on natural neighbor coordinates
|
||||||
\cgalCite{s-bdnni-81}.
|
\cgalCite{s-bdnni-81}.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
/// @{
|
/// @{
|
||||||
|
|
|
||||||
|
|
@ -4,15 +4,15 @@ namespace CGAL {
|
||||||
\defgroup PkgInterpolationSurfaceNeighborCoordinates3 3D Surface Neighbor Coordinates Functions
|
\defgroup PkgInterpolationSurfaceNeighborCoordinates3 3D Surface Neighbor Coordinates Functions
|
||||||
\ingroup PkgInterpolation2SurfaceNeighbor
|
\ingroup PkgInterpolation2SurfaceNeighbor
|
||||||
|
|
||||||
The functions `surface_neighbor_coordinates_3()` compute natural neighbor coordinates for
|
The functions `surface_neighbor_coordinates_3()` compute natural neighbor coordinates for
|
||||||
surface points associated to a finite set of sample points issued from
|
surface points associated to a finite set of sample points issued from
|
||||||
the surface. The coordinates are computed from the intersection of the
|
the surface. The coordinates are computed from the intersection of the
|
||||||
Voronoi cell of the query point `p` with the tangent plane to the
|
Voronoi cell of the query point `p` with the tangent plane to the
|
||||||
surface at `p`. If the sampling is sufficiently dense, the
|
surface at `p`. If the sampling is sufficiently dense, the
|
||||||
coordinate system meets the properties described in the manual pages
|
coordinate system meets the properties described in the manual pages
|
||||||
and in \cgalCite{bf-lcss-02},\cgalCite{cgal:f-csapc-03}. The query
|
and in \cgalCite{bf-lcss-02},\cgalCite{cgal:f-csapc-03}. The query
|
||||||
point `p` needs to lie inside the convex hull of the projection of
|
point `p` needs to lie inside the convex hull of the projection of
|
||||||
the sample points onto the tangent plane at `p`.
|
the sample points onto the tangent plane at `p`.
|
||||||
|
|
||||||
The functions `surface_neighbor_coordinates_certified_3()` return, in
|
The functions `surface_neighbor_coordinates_certified_3()` return, in
|
||||||
addition, a second Boolean value (the fourth value of the quadruple)
|
addition, a second Boolean value (the fourth value of the quadruple)
|
||||||
|
|
@ -25,28 +25,28 @@ whether the neighborhood which has been considered is large enough.
|
||||||
|
|
||||||
\cgalHeading{Requirements}
|
\cgalHeading{Requirements}
|
||||||
|
|
||||||
<OL>
|
<OL>
|
||||||
<LI>`Dt` is equivalent to the class
|
<LI>`Dt` is equivalent to the class
|
||||||
`Delaunay_triangulation_3`.
|
`Delaunay_triangulation_3`.
|
||||||
<LI>The value type of `OutputIterator` is equivalent to
|
<LI>The value type of `OutputIterator` is equivalent to
|
||||||
`std::pair<Dt::Point_3, Dt::Geom_traits::FT>`, i.e.\ a pair
|
`std::pair<Dt::Point_3, Dt::Geom_traits::FT>`, i.e.\ a pair
|
||||||
associating a point and its natural neighbor coordinate.
|
associating a point and its natural neighbor coordinate.
|
||||||
<LI>`ITraits` is equivalent to the class `Voronoi_intersection_2_traits_3<K>`.
|
<LI>`ITraits` is equivalent to the class `Voronoi_intersection_2_traits_3<K>`.
|
||||||
</OL>
|
</OL>
|
||||||
|
|
||||||
\sa `CGAL::linear_interpolation()`
|
\sa `CGAL::linear_interpolation()`
|
||||||
\sa `CGAL::sibson_c1_interpolation()`
|
\sa `CGAL::sibson_c1_interpolation()`
|
||||||
\sa `CGAL::farin_c1_interpolation()`
|
\sa `CGAL::farin_c1_interpolation()`
|
||||||
\sa `CGAL::Voronoi_intersection_2_traits_3<K>`
|
\sa `CGAL::Voronoi_intersection_2_traits_3<K>`
|
||||||
\sa PkgInterpolationSurfaceNeighbors3
|
\sa PkgInterpolationSurfaceNeighbors3
|
||||||
|
|
||||||
\cgalHeading{Implementation}
|
\cgalHeading{Implementation}
|
||||||
|
|
||||||
This functions construct the regular triangulation of the input points
|
This functions construct the regular triangulation of the input points
|
||||||
instantiated with `Voronoi_intersection_2_traits_3<Kernel>` or `ITraits` if provided.
|
instantiated with `Voronoi_intersection_2_traits_3<Kernel>` or `ITraits` if provided.
|
||||||
They return the result of the function call
|
They return the result of the function call
|
||||||
`PkgInterpolationRegularNeighborCoordinates2`
|
`PkgInterpolationRegularNeighborCoordinates2`
|
||||||
with the regular triangulation and `p` as arguments.
|
with the regular triangulation and `p` as arguments.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
/// @{
|
/// @{
|
||||||
|
|
@ -58,7 +58,7 @@ The value type of `InputIterator` is the point type
|
||||||
`Kernel::Point_3`. The tangent plane is defined by the point
|
`Kernel::Point_3`. The tangent plane is defined by the point
|
||||||
`p` and the vector `normal`. The parameter `K`
|
`p` and the vector `normal`. The parameter `K`
|
||||||
determines the kernel type that will instantiate
|
determines the kernel type that will instantiate
|
||||||
the template parameter of `Voronoi_intersection_2_traits_3<K>`.
|
the template parameter of `Voronoi_intersection_2_traits_3<K>`.
|
||||||
|
|
||||||
The natural neighbor coordinates for `p` are computed in the
|
The natural neighbor coordinates for `p` are computed in the
|
||||||
power diagram that results from the intersection of the `3D` Voronoi
|
power diagram that results from the intersection of the `3D` Voronoi
|
||||||
|
|
@ -150,11 +150,11 @@ of the conflict zone. It may be the result of the call
|
||||||
`dt.locate(p)`. This function instantiates the template parameter
|
`dt.locate(p)`. This function instantiates the template parameter
|
||||||
`ITraits` to be `Voronoi_intersection_2_traits_3<Dt::Geom_traits>`.
|
`ITraits` to be `Voronoi_intersection_2_traits_3<Dt::Geom_traits>`.
|
||||||
|
|
||||||
This function allows to filter some potential neighbors of the
|
This function allows to filter some potential neighbors of the
|
||||||
query point `p` from \f$ \mathcal{P}\f$ via its three-dimensional
|
query point `p` from \f$ \mathcal{P}\f$ via its three-dimensional
|
||||||
Delaunay triangulation. All surface neighbors of `p` are
|
Delaunay triangulation. All surface neighbors of `p` are
|
||||||
necessarily neighbors in the Delaunay triangulation of \f$ \mathcal{P}
|
necessarily neighbors in the Delaunay triangulation of \f$ \mathcal{P}
|
||||||
\cup \{p\}\f$.
|
\cup \{p\}\f$.
|
||||||
*/
|
*/
|
||||||
template < class Dt, class OutputIterator >
|
template < class Dt, class OutputIterator >
|
||||||
CGAL::Triple< OutputIterator, typename Dt::Geom_traits::FT, bool >
|
CGAL::Triple< OutputIterator, typename Dt::Geom_traits::FT, bool >
|
||||||
|
|
|
||||||
|
|
@ -4,16 +4,16 @@ namespace CGAL {
|
||||||
\defgroup PkgInterpolationSurfaceNeighbors3 3D Surface Neighbors Functions
|
\defgroup PkgInterpolationSurfaceNeighbors3 3D Surface Neighbors Functions
|
||||||
\ingroup PkgInterpolation2SurfaceNeighbor
|
\ingroup PkgInterpolation2SurfaceNeighbor
|
||||||
|
|
||||||
Given a set of sample points issued from a surface and a query point
|
Given a set of sample points issued from a surface and a query point
|
||||||
`p`, the functions `surface_neighbors_3()` compute the neighbors of `p` on
|
`p`, the functions `surface_neighbors_3()` compute the neighbors of `p` on
|
||||||
the surface within the sample points. If the sampling is sufficiently
|
the surface within the sample points. If the sampling is sufficiently
|
||||||
dense, the neighbors are provably close to the point `p` on the
|
dense, the neighbors are provably close to the point `p` on the
|
||||||
surface (cf. the manual pages and
|
surface (cf. the manual pages and
|
||||||
\cgalCite{bf-lcss-02},\cgalCite{cgal:f-csapc-03}). They are defined to
|
\cgalCite{bf-lcss-02},\cgalCite{cgal:f-csapc-03}). They are defined to
|
||||||
be the neighbors of `p` in the regular triangulation dual
|
be the neighbors of `p` in the regular triangulation dual
|
||||||
to the power diagram which is equivalent to the intersection of the
|
to the power diagram which is equivalent to the intersection of the
|
||||||
Voronoi cell of the query point `p` with the tangent plane to the
|
Voronoi cell of the query point `p` with the tangent plane to the
|
||||||
surface at `p`.
|
surface at `p`.
|
||||||
|
|
||||||
The functions \c surface_neighbors_certified_3() also return, in
|
The functions \c surface_neighbors_certified_3() also return, in
|
||||||
addition, a Boolean value that certifies whether or not, the Voronoi
|
addition, a Boolean value that certifies whether or not, the Voronoi
|
||||||
|
|
@ -26,30 +26,30 @@ been considered.
|
||||||
|
|
||||||
\cgalHeading{Requirements}
|
\cgalHeading{Requirements}
|
||||||
|
|
||||||
<OL>
|
<OL>
|
||||||
<LI>`Dt` is equivalent to the class
|
<LI>`Dt` is equivalent to the class
|
||||||
`Delaunay_triangulation_3`.
|
`Delaunay_triangulation_3`.
|
||||||
<LI>`OutputIterator::value_type` is equivalent to
|
<LI>`OutputIterator::value_type` is equivalent to
|
||||||
`Dt::Point_3`, i.e.\ a point type.
|
`Dt::Point_3`, i.e.\ a point type.
|
||||||
<LI>`ITraits` is equivalent to the class `Voronoi_intersection_2_traits_3<K>`.
|
<LI>`ITraits` is equivalent to the class `Voronoi_intersection_2_traits_3<K>`.
|
||||||
</OL>
|
</OL>
|
||||||
|
|
||||||
\sa `CGAL::Voronoi_intersection_2_traits_3<K>`
|
\sa `CGAL::Voronoi_intersection_2_traits_3<K>`
|
||||||
\sa PkgInterpolationSurfaceNeighborCoordinates3
|
\sa PkgInterpolationSurfaceNeighborCoordinates3
|
||||||
|
|
||||||
\cgalHeading{Implementation}
|
\cgalHeading{Implementation}
|
||||||
|
|
||||||
These functions compute the regular triangulation of
|
These functions compute the regular triangulation of
|
||||||
the sample points and the point `p` using a traits class
|
the sample points and the point `p` using a traits class
|
||||||
equivalent to `Voronoi_intersection_2_traits_3<K>`. They determine
|
equivalent to `Voronoi_intersection_2_traits_3<K>`. They determine
|
||||||
the neighbors of `p` in this triangulation. The functions which
|
the neighbors of `p` in this triangulation. The functions which
|
||||||
certify the result need to compute, in addition, the Voronoi vertices
|
certify the result need to compute, in addition, the Voronoi vertices
|
||||||
of the cell of `p` in this diagram.
|
of the cell of `p` in this diagram.
|
||||||
*/
|
*/
|
||||||
/// @{
|
/// @{
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
The sample points \f$ \mathcal{P}\f$ are provided in the range
|
The sample points \f$ \mathcal{P}\f$ are provided in the range
|
||||||
`[first, beyond)`.
|
`[first, beyond)`.
|
||||||
`InputIterator::value_type` is the point type `Kernel::Point_3`. The
|
`InputIterator::value_type` is the point type `Kernel::Point_3`. The
|
||||||
tangent plane is defined by the point `p` and the vector `normal`. The
|
tangent plane is defined by the point `p` and the vector `normal`. The
|
||||||
|
|
@ -78,7 +78,7 @@ the user. `ITraits` must be equivalent to
|
||||||
template <class OutputIterator, class InputIterator, class
|
template <class OutputIterator, class InputIterator, class
|
||||||
ITraits> OutputIterator
|
ITraits> OutputIterator
|
||||||
surface_neighbors_3(InputIterator first, InputIterator beyond,
|
surface_neighbors_3(InputIterator first, InputIterator beyond,
|
||||||
const typename ITraits::Point_2& p,OutputIterator out,
|
const typename ITraits::Point_2& p,OutputIterator out,
|
||||||
const ITraits& traits);
|
const ITraits& traits);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
@ -142,11 +142,11 @@ for the search of the conflict zone. It may be the result of the call
|
||||||
`dt.locate(p)`. This function instantiates the template parameter
|
`dt.locate(p)`. This function instantiates the template parameter
|
||||||
`ITraits` to be `Voronoi_intersection_2_traits_3<Dt::Geom_traits>`.
|
`ITraits` to be `Voronoi_intersection_2_traits_3<Dt::Geom_traits>`.
|
||||||
|
|
||||||
This function allows to filter some potential neighbors of the
|
This function allows to filter some potential neighbors of the
|
||||||
query point `p` from \f$ \mathcal{P}\f$ via its three-dimensional
|
query point `p` from \f$ \mathcal{P}\f$ via its three-dimensional
|
||||||
Delaunay triangulation. All surface neighbors of `p` are
|
Delaunay triangulation. All surface neighbors of `p` are
|
||||||
necessarily neighbors in the Delaunay triangulation of \f$ \mathcal{P}
|
necessarily neighbors in the Delaunay triangulation of \f$ \mathcal{P}
|
||||||
\cup \{p\}\f$.
|
\cup \{p\}\f$.
|
||||||
*/
|
*/
|
||||||
template < class Dt, class OutputIterator >
|
template < class Dt, class OutputIterator >
|
||||||
OutputIterator
|
OutputIterator
|
||||||
|
|
@ -161,7 +161,7 @@ the geometric traits class. Its type `ITraits` must be
|
||||||
equivalent to `Voronoi_intersection_2_traits_3<K>`.
|
equivalent to `Voronoi_intersection_2_traits_3<K>`.
|
||||||
*/
|
*/
|
||||||
template < class Dt, class OutputIterator,
|
template < class Dt, class OutputIterator,
|
||||||
class ITraits>
|
class ITraits>
|
||||||
OutputIterator surface_neighbors_3(const Dt& dt,
|
OutputIterator surface_neighbors_3(const Dt& dt,
|
||||||
const typename ITraits::Point_2& p, OutputIterator out,
|
const typename ITraits::Point_2& p, OutputIterator out,
|
||||||
const ITraits& traits, typename Dt::Cell_handle start = typename
|
const ITraits& traits, typename Dt::Cell_handle start = typename
|
||||||
|
|
|
||||||
|
|
@ -3,38 +3,38 @@
|
||||||
\ingroup PkgInterpolation2Concepts
|
\ingroup PkgInterpolation2Concepts
|
||||||
\cgalConcept
|
\cgalConcept
|
||||||
|
|
||||||
\ref PkgInterpolationSibsonGradientFitting are parameterized by a
|
\ref PkgInterpolationSibsonGradientFitting are parameterized by a
|
||||||
traits class that defines the primitives used by the algorithm. The
|
traits class that defines the primitives used by the algorithm. The
|
||||||
concept `GradientFittingTraits` defines this common set of requirements.
|
concept `GradientFittingTraits` defines this common set of requirements.
|
||||||
|
|
||||||
\cgalHasModel `CGAL::Interpolation_gradient_fitting_traits_2<K>`
|
\cgalHasModel `CGAL::Interpolation_gradient_fitting_traits_2<K>`
|
||||||
|
|
||||||
\sa `InterpolationTraits`
|
\sa `InterpolationTraits`
|
||||||
\sa `CGAL::Interpolation_traits_2<K>`
|
\sa `CGAL::Interpolation_traits_2<K>`
|
||||||
\sa \ref PkgInterpolationSibsonGradientFitting
|
\sa \ref PkgInterpolationSibsonGradientFitting
|
||||||
\sa `CGAL::sibson_c1_interpolation()`
|
\sa `CGAL::sibson_c1_interpolation()`
|
||||||
\sa `CGAL::farin_c1_interpolation()`
|
\sa `CGAL::farin_c1_interpolation()`
|
||||||
\sa `CGAL::quadratic_interpolation()`
|
\sa `CGAL::quadratic_interpolation()`
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class GradientFittingTraits {
|
class GradientFittingTraits {
|
||||||
public:
|
public:
|
||||||
|
|
||||||
/// \name Types
|
/// \name Types
|
||||||
/// @{
|
/// @{
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
The number type must follow the model
|
The number type must follow the model
|
||||||
`FieldNumberType`.
|
`FieldNumberType`.
|
||||||
*/
|
*/
|
||||||
typedef unspecified_type FT;
|
typedef unspecified_type FT;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
The point type on
|
The point type on
|
||||||
which the function is defined and interpolated.
|
which the function is defined and interpolated.
|
||||||
*/
|
*/
|
||||||
typedef unspecified_type Point_d;
|
typedef unspecified_type Point_d;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
The weighted point type.
|
The weighted point type.
|
||||||
|
|
@ -42,23 +42,23 @@ The weighted point type.
|
||||||
typedef unspecified_type Weighted_point_d;
|
typedef unspecified_type Weighted_point_d;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
The corresponding vector type.
|
The corresponding vector type.
|
||||||
*/
|
*/
|
||||||
typedef unspecified_type Vector_d;
|
typedef unspecified_type Vector_d;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
defines a
|
defines a
|
||||||
matrix type.
|
matrix type.
|
||||||
Must provide the following member functions :
|
Must provide the following member functions :
|
||||||
|
|
||||||
`Aff_transformation tr.inverse ()` which gives the inverse
|
`Aff_transformation tr.inverse ()` which gives the inverse
|
||||||
transformation, and
|
transformation, and
|
||||||
|
|
||||||
`Aff_transformation tr.transform( Vector v)` which returns the
|
`Aff_transformation tr.transform( Vector v)` which returns the
|
||||||
multiplication of `tr` with `v`.
|
multiplication of `tr` with `v`.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
typedef unspecified_type Aff_transformation_d;
|
typedef unspecified_type Aff_transformation_d;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
A constructor object for `Point_d`.
|
A constructor object for `Point_d`.
|
||||||
|
|
@ -71,108 +71,108 @@ Provides :
|
||||||
typedef unspecified_type Construct_point_d;
|
typedef unspecified_type Construct_point_d;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
A constructor object for
|
A constructor object for
|
||||||
`Vector_d`.
|
`Vector_d`.
|
||||||
Provides :
|
Provides :
|
||||||
|
|
||||||
`Vector_d operator() (Point_d a, Point_d b)` which produces the
|
`Vector_d operator() (Point_d a, Point_d b)` which produces the
|
||||||
vector `b - a` and
|
vector `b - a` and
|
||||||
|
|
||||||
`Vector_d operator() (Null_vector NULL_VECTOR)` which introduces
|
`Vector_d operator() (Null_vector NULL_VECTOR)` which introduces
|
||||||
the null vector.
|
the null vector.
|
||||||
*/
|
*/
|
||||||
typedef unspecified_type Construct_vector_d;
|
typedef unspecified_type Construct_vector_d;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Constructor object for
|
Constructor object for
|
||||||
`Vector_d`.
|
`Vector_d`.
|
||||||
Provides :
|
Provides :
|
||||||
|
|
||||||
`Vector_d operator() (Vector_d v,FT scale)` which produces the
|
`Vector_d operator() (Vector_d v,FT scale)` which produces the
|
||||||
vector `v` scaled by a factor `scale`.
|
vector `v` scaled by a factor `scale`.
|
||||||
*/
|
*/
|
||||||
typedef unspecified_type Construct_scaled_vector_d;
|
typedef unspecified_type Construct_scaled_vector_d;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Constructor object for
|
Constructor object for
|
||||||
`Aff_transformation_d`. Provides :
|
`Aff_transformation_d`. Provides :
|
||||||
|
|
||||||
`Aff_transformation_d operator()()` which introduces an affine
|
`Aff_transformation_d operator()()` which introduces an affine
|
||||||
transformation whose matrix has only zero entries.
|
transformation whose matrix has only zero entries.
|
||||||
*/
|
*/
|
||||||
typedef unspecified_type Construct_null_matrix_d;
|
typedef unspecified_type Construct_null_matrix_d;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Constructor object for
|
Constructor object for
|
||||||
`Aff_transformation_d`. Provides :
|
`Aff_transformation_d`. Provides :
|
||||||
|
|
||||||
`Aff_transformation_d operator()(FT scale)` which introduces a
|
`Aff_transformation_d operator()(FT scale)` which introduces a
|
||||||
scaling by a scale factor `scale`.
|
scaling by a scale factor `scale`.
|
||||||
*/
|
*/
|
||||||
typedef unspecified_type Construct_scaling_matrix_d;
|
typedef unspecified_type Construct_scaling_matrix_d;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Constructor object for
|
Constructor object for
|
||||||
`Aff_transformation_d`. Provides :
|
`Aff_transformation_d`. Provides :
|
||||||
|
|
||||||
`Aff_transformation_d operator()(Aff_transformation_d tr1, Aff_transformation_d tr2)` which returns the sum of the two matrices
|
`Aff_transformation_d operator()(Aff_transformation_d tr1, Aff_transformation_d tr2)` which returns the sum of the two matrices
|
||||||
representing `tr1` and `tr2`.
|
representing `tr1` and `tr2`.
|
||||||
*/
|
*/
|
||||||
typedef unspecified_type Construct_sum_matrix_d;
|
typedef unspecified_type Construct_sum_matrix_d;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Constructor object for
|
Constructor object for
|
||||||
`Aff_transformation_d`. Provides :
|
`Aff_transformation_d`. Provides :
|
||||||
|
|
||||||
`Aff_transformation_d operator()(Vector v)` which returns the
|
`Aff_transformation_d operator()(Vector v)` which returns the
|
||||||
outer product, i.e.\ the quadratic matrix `v`\f$ ^t\f$`v`.
|
outer product, i.e.\ the quadratic matrix `v`\f$ ^t\f$`v`.
|
||||||
*/
|
*/
|
||||||
typedef unspecified_type Construct_outer_product_d;
|
typedef unspecified_type Construct_outer_product_d;
|
||||||
|
|
||||||
/// @}
|
/// @}
|
||||||
|
|
||||||
/// \name Creation
|
/// \name Creation
|
||||||
/// @{
|
/// @{
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
default constructor.
|
default constructor.
|
||||||
*/
|
*/
|
||||||
GradientFittingTraits();
|
GradientFittingTraits();
|
||||||
|
|
||||||
/// @}
|
/// @}
|
||||||
|
|
||||||
/// \name Operations
|
/// \name Operations
|
||||||
/// The following functions that create instances of the above
|
/// The following functions that create instances of the above
|
||||||
/// constructor object types must exist.
|
/// constructor object types must exist.
|
||||||
/// @{
|
/// @{
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
Construct_vector_d construct_vector_d_object();
|
Construct_vector_d construct_vector_d_object();
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
Construct_scaled_vector_d
|
Construct_scaled_vector_d
|
||||||
construct_scaled_vector_d_object();
|
construct_scaled_vector_d_object();
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
Construct_null_matrix_d construct_null_matrix_d_object();
|
Construct_null_matrix_d construct_null_matrix_d_object();
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
Construct_sum_matrix_d
|
Construct_sum_matrix_d
|
||||||
construct_sum_matrix_d_object();
|
construct_sum_matrix_d_object();
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
Construct_outer_product_d
|
Construct_outer_product_d
|
||||||
construct_outer_product_d_object();
|
construct_outer_product_d_object();
|
||||||
|
|
||||||
/// @}
|
/// @}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,14 +3,14 @@
|
||||||
\ingroup PkgInterpolation2Concepts
|
\ingroup PkgInterpolation2Concepts
|
||||||
\cgalConcept
|
\cgalConcept
|
||||||
|
|
||||||
Most interpolation functions are parameterized by a traits class that
|
Most interpolation functions are parameterized by a traits class that
|
||||||
defines the primitives used in the interpolation algorithms. The concept
|
defines the primitives used in the interpolation algorithms. The concept
|
||||||
`InterpolationTraits` defines this common set of requirements.
|
`InterpolationTraits` defines this common set of requirements.
|
||||||
|
|
||||||
\cgalHasModel `CGAL::Interpolation_traits_2<K>`
|
\cgalHasModel `CGAL::Interpolation_traits_2<K>`
|
||||||
\cgalHasModel `CGAL::Interpolation_gradient_fitting_traits_2<K>`
|
\cgalHasModel `CGAL::Interpolation_gradient_fitting_traits_2<K>`
|
||||||
|
|
||||||
\sa `GradientFittingTraits`
|
\sa `GradientFittingTraits`
|
||||||
\sa `CGAL::sibson_c1_interpolation()`
|
\sa `CGAL::sibson_c1_interpolation()`
|
||||||
\sa \ref PkgInterpolationSibsonGradientFitting
|
\sa \ref PkgInterpolationSibsonGradientFitting
|
||||||
\sa `CGAL::farin_c1_interpolation()`
|
\sa `CGAL::farin_c1_interpolation()`
|
||||||
|
|
@ -20,84 +20,84 @@ defines the primitives used in the interpolation algorithms. The concept
|
||||||
class InterpolationTraits {
|
class InterpolationTraits {
|
||||||
public:
|
public:
|
||||||
|
|
||||||
/// \name Types
|
/// \name Types
|
||||||
/// @{
|
/// @{
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
The number type must follow the model
|
The number type must follow the model
|
||||||
`FieldNumberType`.
|
`FieldNumberType`.
|
||||||
*/
|
*/
|
||||||
typedef unspecified_type FT;
|
typedef unspecified_type FT;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
The point type on
|
The point type on
|
||||||
which the function is defined and interpolated.
|
which the function is defined and interpolated.
|
||||||
*/
|
*/
|
||||||
typedef unspecified_type Point_d;
|
typedef unspecified_type Point_d;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
The corresponding vector type.
|
The corresponding vector type.
|
||||||
*/
|
*/
|
||||||
typedef unspecified_type Vector_d;
|
typedef unspecified_type Vector_d;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
A constructor object for
|
A constructor object for
|
||||||
`Vector_d`.
|
`Vector_d`.
|
||||||
Provides :
|
Provides :
|
||||||
|
|
||||||
`Vector_d operator() (Point_d a, Point_d b)` which produces the
|
`Vector_d operator() (Point_d a, Point_d b)` which produces the
|
||||||
vector `b - a` and
|
vector `b - a` and
|
||||||
|
|
||||||
`Vector_d operator() (Null_vector NULL_VECTOR)` which introduces
|
`Vector_d operator() (Null_vector NULL_VECTOR)` which introduces
|
||||||
the null vector.
|
the null vector.
|
||||||
*/
|
*/
|
||||||
typedef unspecified_type Construct_vector_d;
|
typedef unspecified_type Construct_vector_d;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Constructor object for
|
Constructor object for
|
||||||
`Vector_d`.
|
`Vector_d`.
|
||||||
Provides :
|
Provides :
|
||||||
|
|
||||||
`Vector_d operator() (Vector_d v,FT scale)` which produces the
|
`Vector_d operator() (Vector_d v,FT scale)` which produces the
|
||||||
vector `v` scaled by a factor `scale`.
|
vector `v` scaled by a factor `scale`.
|
||||||
*/
|
*/
|
||||||
typedef unspecified_type Construct_scaled_vector_d;
|
typedef unspecified_type Construct_scaled_vector_d;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Constructor
|
Constructor
|
||||||
object for `FT`. Provides the operator:
|
object for `FT`. Provides the operator:
|
||||||
|
|
||||||
`FT operator() (Point_d a, Point_d b)` returning the squared
|
`FT operator() (Point_d a, Point_d b)` returning the squared
|
||||||
distance between `a` and `b`.
|
distance between `a` and `b`.
|
||||||
*/
|
*/
|
||||||
typedef unspecified_type Compute_squared_distance_d;
|
typedef unspecified_type Compute_squared_distance_d;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
default constructor.
|
default constructor.
|
||||||
*/
|
*/
|
||||||
InterpolationTraits();
|
InterpolationTraits();
|
||||||
|
|
||||||
/// @}
|
/// @}
|
||||||
|
|
||||||
/// \name Construction objects
|
/// \name Construction objects
|
||||||
/// The following functions that create instances of the above
|
/// The following functions that create instances of the above
|
||||||
/// constructor object types must exist.
|
/// constructor object types must exist.
|
||||||
/// @{
|
/// @{
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
Construct_vector_d construct_vector_d_object();
|
Construct_vector_d construct_vector_d_object();
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
Construct_scaled_vector_d construct_scaled_vector_d_object();
|
Construct_scaled_vector_d construct_scaled_vector_d_object();
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
*/
|
*/
|
||||||
Compute_squared_distance_d compute_squared_distance_d_object();
|
Compute_squared_distance_d compute_squared_distance_d_object();
|
||||||
|
|
||||||
/// @}
|
/// @}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue