Fixed trailing whitespace in the Pkg Interpolation

This commit is contained in:
Mael Rouxel-Labbé 2018-01-11 16:29:18 +01:00
parent c88b17f92e
commit f6a7307a74
11 changed files with 517 additions and 517 deletions

View File

@ -4,133 +4,133 @@ namespace CGAL {
/*!
\ingroup PkgInterpolation2Interpolation
`Interpolation_gradient_fitting_traits_2` is a model for the concepts
`InterpolationTraits` and `GradientFittingTraits`. It can be
used to instantiate the geometric traits class of interpolation
functions and of Sibson's gradient fitting function when applied on
a function defined over a two-dimensional domain. The traits class
is templated by a kernel class `K`.
`Interpolation_gradient_fitting_traits_2` is a model for the concepts
`InterpolationTraits` and `GradientFittingTraits`. It can be
used to instantiate the geometric traits class of interpolation
functions and of Sibson's gradient fitting function when applied on
a function defined over a two-dimensional domain. The traits class
is templated by a kernel class `K`.
\cgalModels `GradientFittingTraits`
\cgalModels `InterpolationTraits`
\sa `InterpolationTraits`
\sa `GradientFittingTraits`
\sa `CGAL::Interpolation_traits_2<K>`
\sa `InterpolationTraits`
\sa `GradientFittingTraits`
\sa `CGAL::Interpolation_traits_2<K>`
*/
template< typename K >
class Interpolation_gradient_fitting_traits_2 {
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
Construct_scaled_vector_d;
*/
typedef K::Construct_scaled_vector_2
Construct_scaled_vector_d;
/*!
*/
typedef K::Compute_squared_distance_2
Compute_squared_distance_d;
*/
typedef K::Compute_squared_distance_2
Compute_squared_distance_d;
/*!
*/
typedef Construct_null_matrix_2<Aff_transformation_d>
Construct_null_matrix_d;
*/
typedef Construct_null_matrix_2<Aff_transformation_d>
Construct_null_matrix_d;
/*!
*/
typedef Construct_scaling_matrix_2<Aff_transformation_d>
Construct_scaling_matrix_d;
*/
typedef Construct_scaling_matrix_2<Aff_transformation_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_object() const;
*/
Construct_scaled_vector_d
construct_scaled_vector_d_object() const;
/*!
*/
Construct_vector_d
construct_vector_d_object()const;
*/
Construct_vector_d
construct_vector_d_object()const;
/*!
*/
Compute_squared_distance_d
compute_squared_distance_d_object() const;
*/
Compute_squared_distance_d
compute_squared_distance_d_object() const;
/*!
*/
Construct_null_matrix_d
construct_null_matrix_d_object() const;
*/
Construct_null_matrix_d
construct_null_matrix_d_object() const;
/*!
*/
Construct_scaling_matrix_d
construct_scaling_matrix_d_object() const;
*/
Construct_scaling_matrix_d
construct_scaling_matrix_d_object() const;
/*!
*/
Construct_sum_matrix_d
construct_sum_matrix_d_object() const;
*/
Construct_sum_matrix_d
construct_sum_matrix_d_object() const;
/*!
*/
Construct_outer_product_d
construct_outer_product_d_object() const;
*/
Construct_outer_product_d
construct_outer_product_d_object() const;
/// @}

View File

@ -4,80 +4,80 @@ namespace CGAL {
/*!
\ingroup PkgInterpolation2Interpolation
`Interpolation_traits_2` is a model for the concept
`InterpolationTraits` and can be used to instantiate the
geometric traits class of interpolation methods applied on a
bivariate function over a two-dimensional domain. The traits class
is templated by a kernel class `K`.
`Interpolation_traits_2` is a model for the concept
`InterpolationTraits` and can be used to instantiate the
geometric traits class of interpolation methods applied on a
bivariate function over a two-dimensional domain. The traits class
is templated by a kernel class `K`.
\cgalModels `InterpolationTraits`
\sa `InterpolationTraits`
\sa `GradientFittingTraits`
\sa `CGAL::Interpolation_gradient_fitting_traits_2<K>`
\sa `InterpolationTraits`
\sa `GradientFittingTraits`
\sa `CGAL::Interpolation_gradient_fitting_traits_2<K>`
*/
template< typename K >
class Interpolation_traits_2 {
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
Construct_scaled_vector_d;
*/
typedef K::Construct_scaled_vector_2
Construct_scaled_vector_d;
/*!
*/
typedef K::Compute_squared_distance_2
Compute_squared_distance_d;
*/
typedef K::Compute_squared_distance_2
Compute_squared_distance_d;
/// @}
/// @}
/// \name Operations
/// \name Operations
/// @{
/*!
*/
Construct_scaled_vector_d
construct_scaled_vector_d_object() const;
*/
Construct_scaled_vector_d
construct_scaled_vector_d_object() const;
/*!
*/
Construct_vector_d
construct_vector_d_object()const;
*/
Construct_vector_d
construct_vector_d_object()const;
/*!
*/
Compute_squared_distance_d
compute_squared_distance_d_object() const;
*/
Compute_squared_distance_d
compute_squared_distance_d_object() const;
/// @}

View File

@ -4,25 +4,25 @@ namespace CGAL {
/*!
\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
geometric traits class of a two-dimensional regular triangulation.
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`
points. It is the regular triangulation of the input points
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
dual to the power diagram obtained by intersecting the
three-dimensional Voronoi diagram of the input points with the
plane. All predicates and constructions used in the computation of
the regular triangulation are formulated on the three dimensional
points without explicitly constructing the projected points and the
weights. This reduces the arithmetic demands. The traits class is
geometric traits class of a two-dimensional regular triangulation.
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`
points. It is the regular triangulation of the input points
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
dual to the power diagram obtained by intersecting the
three-dimensional Voronoi diagram of the input points with the
plane. All predicates and constructions used in the computation of
the regular triangulation are formulated on the three dimensional
points without explicitly constructing the projected points and the
weights. This reduces the arithmetic demands. The traits class is
templated by a kernel class `K` and inherits from it.
\cgalModels `RegularTriangulationTraits_2`
\sa `CGAL::Regular_triangulation_2<Gt, Tds>`
\sa `CGAL::Regular_triangulation_2<Gt, Tds>`
\sa `PkgInterpolationRegularNeighborCoordinates2`
\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
@ -137,29 +137,29 @@ typedef K::Construct_circumcenter_3 Construct_circumcenter_2;
/// @{
/*!
An instance of this function object class computes the square
root of the result of `K::Compute_squared_area_3`.
If the number type `FT` does not support the square root
operation, the result is cast to `double`
before computing the square root.
*/
An instance of this function object class computes the square
root of the result of `K::Compute_squared_area_3`.
If the number type `FT` does not support the square root
operation, the result is cast to `double`
before computing the square root.
*/
typedef Compute_area_3<K> Compute_area_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 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_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 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(),
const typename K::Vector_3& normal = NULL_VECTOR,
const K& k = K());

View File

@ -4,56 +4,56 @@ namespace CGAL {
/*!
\ingroup PkgInterpolation2
The struct `Data_access` implements a functor that allows to retrieve
data from an associative container. The functor keeps a reference to
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
whether the retrieval was successful.
The struct `Data_access` implements a functor that allows to retrieve
data from an associative container. The functor keeps a reference to
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
whether the retrieval was successful.
This class can be used to provide the values and gradients of the
interpolation functions.
This class can be used to provide the values and gradients of the
interpolation functions.
\cgalHeading{Parameters}
The class
`Data_access` has the container type `Map` as template parameter.
The class
`Data_access` has the container type `Map` as template parameter.
*/
template< typename Map >
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:
/// \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`.
*/
Data_access(const Map& map);
Introduces a `Data_access` to the container `map`.
*/
Data_access(const Map& map);
/*!
If
there is an entry for `p` in the container `map`, then the
pair of `map.find(p)` and `true` is returned. Otherwise, the
Boolean value of the pair is `false`.
*/
std::pair< Data_type, bool> operator()(const Key_type& p);
If
there is an entry for `p` in the container `map`, then the
pair of `map.find(p)` and `true` is returned. Otherwise, the
Boolean value of the pair is `false`.
*/
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 The range `[first, beyond)` contains either one or more than three elements.
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}.
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}.
\cgalHeading{Parameters}
The value type of `RandomAccessIterator` is a pair
associating a point to a (non-normalized) barycentric coordinate. See
`sibson_c1_interpolation()` for the other parameters.
The value type of `RandomAccessIterator` is a pair
associating a point to a (non-normalized) barycentric coordinate. See
`sibson_c1_interpolation()` for the other parameters.
\cgalHeading{Requirements}
Same requirements as for `sibson_c1_interpolation()` only the
iterator must provide random access and `Traits::FT` does not need
to provide the square root operation.
Same requirements as for `sibson_c1_interpolation()` only the
iterator must provide random access and `Traits::FT` does not need
to provide the square root operation.
\sa `CGAL::Data_access<Map>`
\sa `CGAL::linear_interpolation()`
\sa `CGAL::sibson_c1_interpolation()`
\sa `CGAL::Data_access<Map>`
\sa `CGAL::linear_interpolation()`
\sa `CGAL::sibson_c1_interpolation()`
\sa PkgInterpolationSibsonGradientFitting
\sa `CGAL::Interpolation_traits_2<K>`
\sa `PkgInterpolationNaturalNeighborCoordinates2`
@ -105,26 +105,26 @@ Traits& traits);
/*!
\ingroup PkgInterpolation2Interpolation
The function `linear_interpolation()` computes the weighted sum of the function
values which must be provided via a functor.
The function `linear_interpolation()` computes the weighted sum of the function
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
`std::iterator_traits<ForwardIterator>::%value_type::first_type` is equivalent to a
point and `std::iterator_traits<ForwardIterator>::%value_type::second_type` is a
field number type.
\tparam Functor The type `Functor::argument_type` must be equivalent to
`std::iterator_traits<ForwardIterator>::%value_type::first_type` and
`Functor::result_type` is a pair of the function value type
and a Boolean value. The function value type must provide a
multiplication and addition operation with the field number type
`std::iterator_traits<ForwardIterator>::%value_type::second_type` and a constructor
with argument `0`.
`std::iterator_traits<ForwardIterator>::%value_type::first_type` is equivalent to a
point and `std::iterator_traits<ForwardIterator>::%value_type::second_type` is a
field number type.
\tparam Functor The type `Functor::argument_type` must be equivalent to
`std::iterator_traits<ForwardIterator>::%value_type::first_type` and
`Functor::result_type` is a pair of the function value type
and a Boolean value. The function value type must provide a
multiplication and addition operation with the field number type
`std::iterator_traits<ForwardIterator>::%value_type::second_type` and a constructor
with argument `0`.
A model of the functor is provided by the
struct `Data_access`. It must be instantiated accordingly with
an associative container (e.g. `std::map`) having the
point type as `key_type` and the function value type as
A model of the functor is provided by the
struct `Data_access`. It must be instantiated accordingly with
an associative container (e.g. `std::map`) having the
point type as `key_type` and the function value type as
`mapped_type`.
\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
the interpolated function value as the weighted sum of the values
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)`.
\sa `CGAL::Data_access<Map>`
\sa `CGAL::Data_access<Map>`
\sa `PkgInterpolationNaturalNeighborCoordinates2`
\sa `PkgInterpolationRegularNeighborCoordinates2`
\sa PkgInterpolationSurfaceNeighborCoordinates3
@ -157,20 +157,20 @@ norm, Functor function_values);
The function `quadratic_interpolation()` generates the
interpolated function value as the weighted sum of the values plus a
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}
The same as for `sibson_c1_interpolation()` only that `Traits::FT` does not need
to provide the square root operation.
The same as for `sibson_c1_interpolation()` only that `Traits::FT` does not need
to provide the square root operation.
\sa `InterpolationTraits`
\sa `GradientFittingTraits`
\sa `CGAL::Data_access<Map>`
\sa `InterpolationTraits`
\sa `GradientFittingTraits`
\sa `CGAL::Data_access<Map>`
\sa PkgInterpolationSibsonGradientFitting
\sa `CGAL::linear_interpolation()`
\sa `CGAL::Interpolation_traits_2<K>`
\sa `CGAL::Interpolation_gradient_fitting_traits_2<K>`
\sa `CGAL::Interpolation_traits_2<K>`
\sa `CGAL::Interpolation_gradient_fitting_traits_2<K>`
\sa `PkgInterpolationNaturalNeighborCoordinates2`
\sa `PkgInterpolationRegularNeighborCoordinates2`
\sa PkgInterpolationSurfaceNeighborCoordinates3
@ -179,7 +179,7 @@ template < class ForwardIterator, class Functor, class
GradFunctor, class Traits> typename Functor::result_type
quadratic_interpolation(ForwardIterator first, 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::
first_type& p, Functor function_value, GradFunctor
function_gradient,const Traits& traits);
@ -189,62 +189,62 @@ function_gradient,const Traits& traits);
\ingroup PkgInterpolation2Interpolation
The function `sibson_c1_interpolation()` generates the interpolated
function value at the point `p`, using functors for the function values
and the gradients, by applying Sibson's \f$ Z^1\f$ interpolant.
function value at the point `p`, using functors for the function values
and the gradients, by applying Sibson's \f$ Z^1\f$ interpolant.
If the functor `function_gradient` cannot supply the gradient of a
point, the function returns a pair where the Boolean is set to
`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`.
The number type `FT` provided by `Traits` must support
the square root operation `sqrt()`.
\tparam ForwardIterator must have as value type a pair associating a point to a
\tparam Traits must be a model of `InterpolationTraits`.
The number type `FT` provided by `Traits` must support
the square root operation `sqrt()`.
\tparam ForwardIterator must have as value type a pair associating a point to a
(non-normalized) barycentric coordinate.
More precisely, `std::iterator_traits<ForwardIterator>::%value_type::first_type` is
equivalent to `Traits::Point_d` and
`std::iterator_traits<ForwardIterator>::%value_type::second_type` is equivalent to
`Traits::FT`.
\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
the function value type and a Boolean. The function value type must
provide a multiplication and addition operation with the type
More precisely, `std::iterator_traits<ForwardIterator>::%value_type::first_type` is
equivalent to `Traits::Point_d` and
`std::iterator_traits<ForwardIterator>::%value_type::second_type` is equivalent to
`Traits::FT`.
\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
the function value type and a Boolean. The function value type must
provide a multiplication and addition operation with the type
`Traits::FT` as well as a constructor with argument `0`.
\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
the function's gradient type and a Boolean. The
function gradient type must provide a multiplication operation with
`Traits::Vector_d`.
\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
the function's gradient type and a Boolean. The
function gradient type must provide a multiplication operation with
`Traits::Vector_d`.
A model of the functor types `Functor` (resp.
`GradFunctor`) is provided by the struct `Data_access`. It
must be instantiated accordingly with an associative container
(e.g. `std::map`) having the point type as `key_type`
and the function value type (resp. function gradient type) as
`mapped_type`.
A model of the functor types `Functor` (resp.
`GradFunctor`) is provided by the struct `Data_access`. It
must be instantiated accordingly with an associative container
(e.g. `std::map`) having the point type as `key_type`
and the function value type (resp. function gradient type) as
`mapped_type`.
\param first,beyond is the iterator range of the barycentric
coordinates for the query point `p`.
\param first,beyond is the iterator range of the barycentric
coordinates for the query point `p`.
\param norm is the normalization factor. `norm` \f$ \neq0\f$.
\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
`q` of the point/coordinate pairs in the range `[first, beyond)`
\param function_gradient is a functor that allows to access the
function gradient given a point.
\param function_gradient is a functor that allows to access the
function gradient given a point.
\param traits is an instance of the traits class
\sa `InterpolationTraits`
\sa `GradientFittingTraits`
\sa `CGAL::Data_access<Map>`
\sa `InterpolationTraits`
\sa `GradientFittingTraits`
\sa `CGAL::Data_access<Map>`
\sa PkgInterpolationSibsonGradientFitting
\sa `CGAL::linear_interpolation()`
\sa `CGAL::Interpolation_traits_2<K>`
\sa `CGAL::Interpolation_gradient_fitting_traits_2<K>`
\sa `CGAL::Interpolation_traits_2<K>`
\sa `CGAL::Interpolation_gradient_fitting_traits_2<K>`
\sa `PkgInterpolationNaturalNeighborCoordinates2`
\sa `PkgInterpolationRegularNeighborCoordinates2`
\sa PkgInterpolationSurfaceNeighborCoordinates3

View File

@ -4,44 +4,44 @@ namespace CGAL {
\defgroup PkgInterpolationNaturalNeighborCoordinates2 CGAL::natural_neighbor_coordinates_2()
\ingroup PkgInterpolation2NatNeighbor
The functions `natural_neighbor_coordinates_2()` compute natural neighbor coordinates, also
called Sibson's coordinates, for `2D` points provided a two-dimensional
triangulation and a query point in the convex hull of the vertices
of the triangulation.
The functions `natural_neighbor_coordinates_2()` compute natural neighbor coordinates, also
called Sibson's coordinates, for `2D` points provided a two-dimensional
triangulation and a query point in the convex hull of the vertices
of the triangulation.
\cgalHeading{Requirements}
<OL>
<LI>`Dt` are equivalent to the class
`Delaunay_triangulation_2<Traits, Tds>`.
<LI>The traits class `Traits` of `Dt` is a model of the
concept `DelaunayTriangulationTraits_2`.
Only the following members of this traits class are used:
<UL>
<LI>`Construct_circumcenter_2`
<LI>`FT`
<LI>`Point_2`
<LI>`construct_circumcenter_2_object`
<LI>Additionally, `Traits` must meet the requirements for
the traits class of the `polygon_area_2()` function.
</UL>
<LI>The value type of `OutputIterator` is equivalent to
`std::pair<Dt::Point_2, Dt::Geom_traits::FT>`, i.e., a pair
associating a point and its natural neighbor coordinate.
</OL>
<OL>
<LI>`Dt` are equivalent to the class
`Delaunay_triangulation_2<Traits, Tds>`.
<LI>The traits class `Traits` of `Dt` is a model of the
concept `DelaunayTriangulationTraits_2`.
Only the following members of this traits class are used:
<UL>
<LI>`Construct_circumcenter_2`
<LI>`FT`
<LI>`Point_2`
<LI>`construct_circumcenter_2_object`
<LI>Additionally, `Traits` must meet the requirements for
the traits class of the `polygon_area_2()` function.
</UL>
<LI>The value type of `OutputIterator` is equivalent to
`std::pair<Dt::Point_2, Dt::Geom_traits::FT>`, i.e., a pair
associating a point and its natural neighbor coordinate.
</OL>
\cgalHeading{Implementation}
This function computes the area of the sub-cells
stolen from the Voronoi cells of the points in `dt` when inserting
`p`. The total area of the Voronoi cell of `p` is also
computed and returned by the function. If `p` lies outside the
convex hull, the coordinate values cannot be computed and the third
value of the result triple is set to `false`.
This function computes the area of the sub-cells
stolen from the Voronoi cells of the points in `dt` when inserting
`p`. The total area of the Voronoi cell of `p` is also
computed and returned by the function. If `p` lies outside the
convex hull, the coordinate values cannot be computed and the third
value of the result triple is set to `false`.
\sa `CGAL::linear_interpolation()`
\sa `CGAL::sibson_c1_interpolation()`
\sa `CGAL::sibson_c1_interpolation()`
\sa PkgInterpolationSurfaceNeighborCoordinates3
\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
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>`.
The sequence of point/coordinate pairs
@ -65,7 +65,7 @@ the coordinate computation was successful.
template < class Dt, class OutputIterator > CGAL::Triple<
OutputIterator, typename Dt::Geom_traits::FT, 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, 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.
*/
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(
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);
/*!
@ -86,8 +86,8 @@ computes the natural neighbor coordinates of the point
`vh->point()` with respect to the vertices of `dt` excluding
`vh->point()`. The same as above for the remaining parameters.
*/
template <class Dt, class OutputIterator>
CGAL::Triple< OutputIterator, typename Dt::Geom_traits::FT, bool >
template <class Dt, class OutputIterator>
CGAL::Triple< OutputIterator, typename Dt::Geom_traits::FT, bool >
natural_neighbor_coordinates_2(const Dt& dt, typename Dt::Vertex_handle vh, OutputIterator out);
/// @}

View File

@ -4,35 +4,35 @@ namespace CGAL {
\defgroup PkgInterpolationRegularNeighborCoordinates2 CGAL::regular_neighbor_coordinates_2()
\ingroup PkgInterpolation2NatNeighbor
The functions `regular_neighbor_coordinates_2()` compute natural neighbor coordinates, also
called Sibson's coordinates, for weighted `2D` points provided a
two-dimensional regular triangulation and a (weighted) query point
inside the convex hull of the vertices of the triangulation. We call these
coordinates regular neighbor coordinates.
The functions `regular_neighbor_coordinates_2()` compute natural neighbor coordinates, also
called Sibson's coordinates, for weighted `2D` points provided a
two-dimensional regular triangulation and a (weighted) query point
inside the convex hull of the vertices of the triangulation. We call these
coordinates regular neighbor coordinates.
\cgalHeading{Requirements}
<OL>
<LI>`Rt` are equivalent to the class
`Regular_triangulation_2<Traits, Tds>`.
<LI>The traits class `Traits` of `Rt` is a model of the
concept `RegularTriangulationTraits_2`. It provides the number
type `FT` which is a model for `FieldNumberType` and it must
meet the requirements for the traits class of the
<OL>
<LI>`Rt` are equivalent to the class
`Regular_triangulation_2<Traits, Tds>`.
<LI>The traits class `Traits` of `Rt` is a model of the
concept `RegularTriangulationTraits_2`. It provides the number
type `FT` which is a model for `FieldNumberType` and it must
meet the requirements for the traits class of the
`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
associating a point and its regular neighbor coordinate.
</OL>
associating a point and its regular neighbor coordinate.
</OL>
\cgalHeading{Implementation}
This function computes the areas stolen from 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
returned by the function. If `p` lies outside the convex hull, the
coordinate values cannot be computed and the third value of the result
triple is set to `false`.
This function computes the areas stolen from 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
returned by the function. If `p` lies outside the convex hull, the
coordinate values cannot be computed and the third value of the result
triple is set to `false`.
\sa `PkgInterpolationNaturalNeighborCoordinates2`
@ -42,20 +42,20 @@ triple is set to `false`.
/*!
computes the regular neighbor coordinates for `p` with respect
to the weighted points in the two-dimensional regular triangulation
`rt`.
`rt`.
\tparam Rt must be a `Regular_triangulation_2<Traits, Tds>`.
\tparam OutputIterator must have the value type
`std::pair<Rt::Weighted_point, Rt::Geom_traits::FT>`. The sequence of
point/coordinate pairs that is computed by the function is placed
starting at `out`.
starting at `out`.
The function returns a triple with an
iterator that is placed past-the-end of the resulting sequence of
point/coordinate pairs, the normalization factor of the coordinates
and a Boolean value which is set to `true`, iff the coordinate
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<
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());
/*!
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`.
\link Regular_triangulation_2::hidden_vertices_begin() `rt.hidden_vertices_begin()`\endlink and
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`.
\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
determines the iterator range over the hidden vertices of the conflict
zone of `p` in`rt`. It is the result of the function

View File

@ -14,25 +14,25 @@ coordinates.
\cgalHeading{Requirements}
<OL>
<LI>The value type of `ForwardIterator` is a pair of point/coordinate
value, thus `std::iterator_traits<ForwardIterator>::%value_type::first_type` is
equivalent to a point and
`std::iterator_traits<ForwardIterator>::%value_type::second_type` is a
number type.
<LI>`Functor::argument_type` must be equivalent to
`std::iterator_traits<ForwardIterator>::%value_type::first_type` and
`Functor::result_type` is the function value type. It must
provide a multiplication and addition operation with the type
`std::iterator_traits<ForwardIterator>::%value_type::second_type`.
<LI>`Traits` is a model of the concept
`GradientFittingTraits`.
</OL>
<OL>
<LI>The value type of `ForwardIterator` is a pair of point/coordinate
value, thus `std::iterator_traits<ForwardIterator>::%value_type::first_type` is
equivalent to a point and
`std::iterator_traits<ForwardIterator>::%value_type::second_type` is a
number type.
<LI>`Functor::argument_type` must be equivalent to
`std::iterator_traits<ForwardIterator>::%value_type::first_type` and
`Functor::result_type` is the function value type. It must
provide a multiplication and addition operation with the type
`std::iterator_traits<ForwardIterator>::%value_type::second_type`.
<LI>`Traits` is a model of the concept
`GradientFittingTraits`.
</OL>
\sa `CGAL::linear_interpolation()`
\sa `CGAL::sibson_c1_interpolation()`
\sa `CGAL::sibson_c1_interpolation()`
\sa `CGAL::farin_c1_interpolation()`
\sa `CGAL::quadratic_interpolation()`
\sa `CGAL::quadratic_interpolation()`
\sa `CGAL::Interpolation_gradient_fitting_traits_2<K>`
\sa `PkgInterpolationNaturalNeighborCoordinates2`
\sa `PkgInterpolationRegularNeighborCoordinates2`
@ -40,9 +40,9 @@ provide a multiplication and addition operation with the type
\cgalHeading{Implementation}
This function implements Sibson's gradient
estimation method based on natural neighbor coordinates
\cgalCite{s-bdnni-81}.
This function implements Sibson's gradient
estimation method based on natural neighbor coordinates
\cgalCite{s-bdnni-81}.
*/
/// @{

View File

@ -4,15 +4,15 @@ namespace CGAL {
\defgroup PkgInterpolationSurfaceNeighborCoordinates3 3D Surface Neighbor Coordinates Functions
\ingroup PkgInterpolation2SurfaceNeighbor
The functions `surface_neighbor_coordinates_3()` compute natural neighbor coordinates for
surface points associated to a finite set of sample points issued from
the surface. The coordinates are computed from the intersection of the
Voronoi cell of the query point `p` with the tangent plane to the
surface at `p`. If the sampling is sufficiently dense, the
coordinate system meets the properties described in the manual pages
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
the sample points onto the tangent plane at `p`.
The functions `surface_neighbor_coordinates_3()` compute natural neighbor coordinates for
surface points associated to a finite set of sample points issued from
the surface. The coordinates are computed from the intersection of the
Voronoi cell of the query point `p` with the tangent plane to the
surface at `p`. If the sampling is sufficiently dense, the
coordinate system meets the properties described in the manual pages
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
the sample points onto the tangent plane at `p`.
The functions `surface_neighbor_coordinates_certified_3()` return, in
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}
<OL>
<LI>`Dt` is equivalent to the class
`Delaunay_triangulation_3`.
<LI>The value type of `OutputIterator` is equivalent to
`std::pair<Dt::Point_3, Dt::Geom_traits::FT>`, i.e.\ a pair
associating a point and its natural neighbor coordinate.
<LI>`ITraits` is equivalent to the class `Voronoi_intersection_2_traits_3<K>`.
</OL>
<OL>
<LI>`Dt` is equivalent to the class
`Delaunay_triangulation_3`.
<LI>The value type of `OutputIterator` is equivalent to
`std::pair<Dt::Point_3, Dt::Geom_traits::FT>`, i.e.\ a pair
associating a point and its natural neighbor coordinate.
<LI>`ITraits` is equivalent to the class `Voronoi_intersection_2_traits_3<K>`.
</OL>
\sa `CGAL::linear_interpolation()`
\sa `CGAL::sibson_c1_interpolation()`
\sa `CGAL::sibson_c1_interpolation()`
\sa `CGAL::farin_c1_interpolation()`
\sa `CGAL::Voronoi_intersection_2_traits_3<K>`
\sa PkgInterpolationSurfaceNeighbors3
\cgalHeading{Implementation}
This functions construct the regular triangulation of the input points
instantiated with `Voronoi_intersection_2_traits_3<Kernel>` or `ITraits` if provided.
They return the result of the function call
This functions construct the regular triangulation of the input points
instantiated with `Voronoi_intersection_2_traits_3<Kernel>` or `ITraits` if provided.
They return the result of the function call
`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
`p` and the vector `normal`. The parameter `K`
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
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
`ITraits` to be `Voronoi_intersection_2_traits_3<Dt::Geom_traits>`.
This function allows to filter some potential neighbors of the
query point `p` from \f$ \mathcal{P}\f$ via its three-dimensional
Delaunay triangulation. All surface neighbors of `p` are
necessarily neighbors in the Delaunay triangulation of \f$ \mathcal{P}
\cup \{p\}\f$.
This function allows to filter some potential neighbors of the
query point `p` from \f$ \mathcal{P}\f$ via its three-dimensional
Delaunay triangulation. All surface neighbors of `p` are
necessarily neighbors in the Delaunay triangulation of \f$ \mathcal{P}
\cup \{p\}\f$.
*/
template < class Dt, class OutputIterator >
CGAL::Triple< OutputIterator, typename Dt::Geom_traits::FT, bool >

View File

@ -4,16 +4,16 @@ namespace CGAL {
\defgroup PkgInterpolationSurfaceNeighbors3 3D Surface Neighbors Functions
\ingroup PkgInterpolation2SurfaceNeighbor
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
the surface within the sample points. If the sampling is sufficiently
dense, the neighbors are provably close to the point `p` on the
surface (cf. the manual pages and
\cgalCite{bf-lcss-02},\cgalCite{cgal:f-csapc-03}). They are defined to
be the neighbors of `p` in the regular triangulation dual
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
surface at `p`.
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
the surface within the sample points. If the sampling is sufficiently
dense, the neighbors are provably close to the point `p` on the
surface (cf. the manual pages and
\cgalCite{bf-lcss-02},\cgalCite{cgal:f-csapc-03}). They are defined to
be the neighbors of `p` in the regular triangulation dual
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
surface at `p`.
The functions \c surface_neighbors_certified_3() also return, in
addition, a Boolean value that certifies whether or not, the Voronoi
@ -26,30 +26,30 @@ been considered.
\cgalHeading{Requirements}
<OL>
<LI>`Dt` is equivalent to the class
`Delaunay_triangulation_3`.
<LI>`OutputIterator::value_type` is equivalent to
`Dt::Point_3`, i.e.\ a point type.
<LI>`ITraits` is equivalent to the class `Voronoi_intersection_2_traits_3<K>`.
</OL>
<OL>
<LI>`Dt` is equivalent to the class
`Delaunay_triangulation_3`.
<LI>`OutputIterator::value_type` is equivalent to
`Dt::Point_3`, i.e.\ a point type.
<LI>`ITraits` is equivalent to the class `Voronoi_intersection_2_traits_3<K>`.
</OL>
\sa `CGAL::Voronoi_intersection_2_traits_3<K>`
\sa PkgInterpolationSurfaceNeighborCoordinates3
\cgalHeading{Implementation}
These functions compute the regular triangulation of
the sample points and the point `p` using a traits class
equivalent to `Voronoi_intersection_2_traits_3<K>`. They determine
the neighbors of `p` in this triangulation. The functions which
certify the result need to compute, in addition, the Voronoi vertices
of the cell of `p` in this diagram.
These functions compute the regular triangulation of
the sample points and the point `p` using a traits class
equivalent to `Voronoi_intersection_2_traits_3<K>`. They determine
the neighbors of `p` in this triangulation. The functions which
certify the result need to compute, in addition, the Voronoi vertices
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)`.
`InputIterator::value_type` is the point type `Kernel::Point_3`. 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
ITraits> OutputIterator
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);
/*!
@ -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
`ITraits` to be `Voronoi_intersection_2_traits_3<Dt::Geom_traits>`.
This function allows to filter some potential neighbors of the
query point `p` from \f$ \mathcal{P}\f$ via its three-dimensional
Delaunay triangulation. All surface neighbors of `p` are
necessarily neighbors in the Delaunay triangulation of \f$ \mathcal{P}
\cup \{p\}\f$.
This function allows to filter some potential neighbors of the
query point `p` from \f$ \mathcal{P}\f$ via its three-dimensional
Delaunay triangulation. All surface neighbors of `p` are
necessarily neighbors in the Delaunay triangulation of \f$ \mathcal{P}
\cup \{p\}\f$.
*/
template < class Dt, class OutputIterator >
OutputIterator
@ -161,7 +161,7 @@ the geometric traits class. Its type `ITraits` must be
equivalent to `Voronoi_intersection_2_traits_3<K>`.
*/
template < class Dt, class OutputIterator,
class ITraits>
class ITraits>
OutputIterator surface_neighbors_3(const Dt& dt,
const typename ITraits::Point_2& p, OutputIterator out,
const ITraits& traits, typename Dt::Cell_handle start = typename

View File

@ -3,38 +3,38 @@
\ingroup PkgInterpolation2Concepts
\cgalConcept
\ref PkgInterpolationSibsonGradientFitting are parameterized by a
traits class that defines the primitives used by the algorithm. The
concept `GradientFittingTraits` defines this common set of requirements.
\ref PkgInterpolationSibsonGradientFitting are parameterized by a
traits class that defines the primitives used by the algorithm. The
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 `CGAL::Interpolation_traits_2<K>`
\sa `InterpolationTraits`
\sa `CGAL::Interpolation_traits_2<K>`
\sa \ref PkgInterpolationSibsonGradientFitting
\sa `CGAL::sibson_c1_interpolation()`
\sa `CGAL::farin_c1_interpolation()`
\sa `CGAL::quadratic_interpolation()`
\sa `CGAL::quadratic_interpolation()`
*/
class GradientFittingTraits {
public:
/// \name Types
/// \name Types
/// @{
/*!
The number type must follow the model
`FieldNumberType`.
*/
typedef unspecified_type FT;
The number type must follow the model
`FieldNumberType`.
*/
typedef unspecified_type FT;
/*!
The point type on
which the function is defined and interpolated.
*/
typedef unspecified_type Point_d;
The point type on
which the function is defined and interpolated.
*/
typedef unspecified_type Point_d;
/*!
The weighted point type.
@ -42,23 +42,23 @@ The weighted point type.
typedef unspecified_type Weighted_point_d;
/*!
The corresponding vector type.
*/
typedef unspecified_type Vector_d;
The corresponding vector type.
*/
typedef unspecified_type Vector_d;
/*!
defines a
matrix type.
Must provide the following member functions :
defines a
matrix type.
Must provide the following member functions :
`Aff_transformation tr.inverse ()` which gives the inverse
transformation, and
`Aff_transformation tr.inverse ()` which gives the inverse
transformation, and
`Aff_transformation tr.transform( Vector v)` which returns the
multiplication of `tr` with `v`.
`Aff_transformation tr.transform( Vector v)` which returns the
multiplication of `tr` with `v`.
*/
typedef unspecified_type Aff_transformation_d;
*/
typedef unspecified_type Aff_transformation_d;
/*!
A constructor object for `Point_d`.
@ -71,108 +71,108 @@ Provides :
typedef unspecified_type Construct_point_d;
/*!
A constructor object for
`Vector_d`.
Provides :
A constructor object for
`Vector_d`.
Provides :
`Vector_d operator() (Point_d a, Point_d b)` which produces the
vector `b - a` and
`Vector_d operator() (Point_d a, Point_d b)` which produces the
vector `b - a` and
`Vector_d operator() (Null_vector NULL_VECTOR)` which introduces
the null vector.
*/
typedef unspecified_type Construct_vector_d;
`Vector_d operator() (Null_vector NULL_VECTOR)` which introduces
the null vector.
*/
typedef unspecified_type Construct_vector_d;
/*!
Constructor object for
`Vector_d`.
Provides :
Constructor object for
`Vector_d`.
Provides :
`Vector_d operator() (Vector_d v,FT scale)` which produces the
vector `v` scaled by a factor `scale`.
*/
typedef unspecified_type Construct_scaled_vector_d;
`Vector_d operator() (Vector_d v,FT scale)` which produces the
vector `v` scaled by a factor `scale`.
*/
typedef unspecified_type Construct_scaled_vector_d;
/*!
Constructor object for
`Aff_transformation_d`. Provides :
Constructor object for
`Aff_transformation_d`. Provides :
`Aff_transformation_d operator()()` which introduces an affine
transformation whose matrix has only zero entries.
*/
typedef unspecified_type Construct_null_matrix_d;
`Aff_transformation_d operator()()` which introduces an affine
transformation whose matrix has only zero entries.
*/
typedef unspecified_type Construct_null_matrix_d;
/*!
Constructor object for
`Aff_transformation_d`. Provides :
Constructor object for
`Aff_transformation_d`. Provides :
`Aff_transformation_d operator()(FT scale)` which introduces a
scaling by a scale factor `scale`.
*/
typedef unspecified_type Construct_scaling_matrix_d;
`Aff_transformation_d operator()(FT scale)` which introduces a
scaling by a scale factor `scale`.
*/
typedef unspecified_type Construct_scaling_matrix_d;
/*!
Constructor object for
`Aff_transformation_d`. Provides :
Constructor object for
`Aff_transformation_d`. Provides :
`Aff_transformation_d operator()(Aff_transformation_d tr1, Aff_transformation_d tr2)` which returns the sum of the two matrices
representing `tr1` and `tr2`.
*/
typedef unspecified_type Construct_sum_matrix_d;
`Aff_transformation_d operator()(Aff_transformation_d tr1, Aff_transformation_d tr2)` which returns the sum of the two matrices
representing `tr1` and `tr2`.
*/
typedef unspecified_type Construct_sum_matrix_d;
/*!
Constructor object for
`Aff_transformation_d`. Provides :
Constructor object for
`Aff_transformation_d`. Provides :
`Aff_transformation_d operator()(Vector v)` which returns the
outer product, i.e.\ the quadratic matrix `v`\f$ ^t\f$`v`.
*/
typedef unspecified_type Construct_outer_product_d;
`Aff_transformation_d operator()(Vector v)` which returns the
outer product, i.e.\ the quadratic matrix `v`\f$ ^t\f$`v`.
*/
typedef unspecified_type Construct_outer_product_d;
/// @}
/// @}
/// \name Creation
/// \name Creation
/// @{
/*!
default constructor.
*/
GradientFittingTraits();
default constructor.
*/
GradientFittingTraits();
/// @}
/// @}
/// \name Operations
/// \name Operations
/// The following functions that create instances of the above
/// 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();
/*!
*/
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_object();
*/
Construct_sum_matrix_d
construct_sum_matrix_d_object();
/*!
*/
Construct_outer_product_d
construct_outer_product_d_object();
*/
Construct_outer_product_d
construct_outer_product_d_object();
/// @}

View File

@ -3,14 +3,14 @@
\ingroup PkgInterpolation2Concepts
\cgalConcept
Most interpolation functions are parameterized by a traits class that
defines the primitives used in the interpolation algorithms. The concept
`InterpolationTraits` defines this common set of requirements.
Most interpolation functions are parameterized by a traits class that
defines the primitives used in the interpolation algorithms. The concept
`InterpolationTraits` defines this common set of requirements.
\cgalHasModel `CGAL::Interpolation_traits_2<K>`
\cgalHasModel `CGAL::Interpolation_gradient_fitting_traits_2<K>`
\sa `GradientFittingTraits`
\sa `GradientFittingTraits`
\sa `CGAL::sibson_c1_interpolation()`
\sa \ref PkgInterpolationSibsonGradientFitting
\sa `CGAL::farin_c1_interpolation()`
@ -20,84 +20,84 @@ defines the primitives used in the interpolation algorithms. The concept
class InterpolationTraits {
public:
/// \name Types
/// \name Types
/// @{
/*!
The number type must follow the model
`FieldNumberType`.
*/
typedef unspecified_type FT;
The number type must follow the model
`FieldNumberType`.
*/
typedef unspecified_type FT;
/*!
The point type on
which the function is defined and interpolated.
*/
typedef unspecified_type Point_d;
The point type on
which the function is defined and interpolated.
*/
typedef unspecified_type Point_d;
/*!
The corresponding vector type.
*/
typedef unspecified_type Vector_d;
The corresponding vector type.
*/
typedef unspecified_type Vector_d;
/*!
A constructor object for
`Vector_d`.
Provides :
A constructor object for
`Vector_d`.
Provides :
`Vector_d operator() (Point_d a, Point_d b)` which produces the
vector `b - a` and
`Vector_d operator() (Point_d a, Point_d b)` which produces the
vector `b - a` and
`Vector_d operator() (Null_vector NULL_VECTOR)` which introduces
the null vector.
*/
typedef unspecified_type Construct_vector_d;
`Vector_d operator() (Null_vector NULL_VECTOR)` which introduces
the null vector.
*/
typedef unspecified_type Construct_vector_d;
/*!
Constructor object for
`Vector_d`.
Provides :
Constructor object for
`Vector_d`.
Provides :
`Vector_d operator() (Vector_d v,FT scale)` which produces the
vector `v` scaled by a factor `scale`.
*/
typedef unspecified_type Construct_scaled_vector_d;
`Vector_d operator() (Vector_d v,FT scale)` which produces the
vector `v` scaled by a factor `scale`.
*/
typedef unspecified_type Construct_scaled_vector_d;
/*!
Constructor
object for `FT`. Provides the operator:
Constructor
object for `FT`. Provides the operator:
`FT operator() (Point_d a, Point_d b)` returning the squared
distance between `a` and `b`.
*/
typedef unspecified_type Compute_squared_distance_d;
`FT operator() (Point_d a, Point_d b)` returning the squared
distance between `a` and `b`.
*/
typedef unspecified_type Compute_squared_distance_d;
/*!
default constructor.
*/
InterpolationTraits();
default constructor.
*/
InterpolationTraits();
/// @}
/// @}
/// \name Construction objects
/// \name Construction objects
/// The following functions that create instances of the above
/// 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();
/// @}