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
|
||||
|
||||
`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;
|
||||
|
||||
/// @}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
/// @}
|
||||
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
/// @}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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}.
|
||||
|
||||
*/
|
||||
/// @{
|
||||
|
|
|
|||
|
|
@ -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 >
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
||||
/// @}
|
||||
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
||||
/// @}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue