\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)

CGAL 4.8 - 2D and Surface Function Interpolation

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Classes | Functions
CGAL Namespace Reference

## Classes
struct | Data_access
| The struct `Data_access` implements a functor that allows to retrieve data from an associative container. More...
class | Interpolation_gradient_fitting_traits_2
| `Interpolation_gradient_fitting_traits_2` is a model for the concepts `InterpolationTraits` and `GradientFittingTraits`. More...
class | Interpolation_traits_2
| `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. More...
class | Voronoi_intersection_2_traits_3
| `Voronoi_intersection_2_traits_3` is a model for the concept `RegularTriangulationTraits_2` and `InterpolationTraits`. More...

## Functions
template<class RandomAccessIterator , class Functor , class GradFunctor , class Traits >
Functor::result_type | farin_c1_interpolation (RandomAccessIterator first, RandomAccessIterator beyond, const typename std::iterator_traits< RandomAccessIterator >::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)
| generates the interpolated function value computed by Farin's interpolant. More...
template<class ForwardIterator , class Functor >
Functor::result_type::first_type | linear_interpolation (ForwardIterator first, ForwardIterator beyond, const typename std::iterator_traits< ForwardIterator >::value_type::second_type &norm, Functor function_values)
| The function `linear_interpolation()` computes the weighted sum of the function values which must be provided via a functor. More...
template<class ForwardIterator , class Functor , class GradFunctor , class Traits >
Functor::result_type | quadratic_interpolation (ForwardIterator first, ForwardIterator beyond, const typename std::iterator_traits< ForwardIterator >::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)
| 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)`. More...
template<class ForwardIterator , class Functor , class GradFunctor , class Traits >
std::pair< typename Functor::result_type, bool > | sibson_c1_interpolation (ForwardIterator first, ForwardIterator beyond, const typename std::iterator_traits< ForwardIterator >::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)
| 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 \( Z^1\) interpolant. More...
template<class ForwardIterator , class Functor , class GradFunctor , class Traits >
Functor::result_type | sibson_c1_interpolation_square (ForwardIterator first, ForwardIterator beyond, const typename std::iterator_traits< ForwardIterator >::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)
| The same as `sibson_c1_interpolation()` except that no square root operation is needed for FT.
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, OutputIterator out, typename Dt::Face_handle start=typename Dt::Face_handle())
| computes the natural neighbor coordinates for `p` with respect to the points in the two-dimensional Delaunay triangulation `dt`. More...
template<class Dt , class OutputIterator , 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, OutputIterator out, EdgeIterator hole_begin, EdgeIterator hole_end)
| The same as above. More...
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)
| computes the natural neighbor coordinates of the point `vh->point()` with respect to the vertices of `dt` excluding `vh->point()`. More...
template<class Rt , class OutputIterator >
CGAL::Triple< OutputIterator, typename Rt::Geom_traits::FT, bool > | regular_neighbor_coordinates_2 (const Rt &rt, const typename Rt::Weighted_point &p, OutputIterator out, typename Rt::Face_handle start=typename Rt::Face_handle())
| computes the regular neighbor coordinates for `p` with respect to the weighted points in the two-dimensional regular triangulation `rt`. More...
template<class Rt , class OutputIterator , class EdgeIterator , class VertexIterator >
CGAL::Triple< OutputIterator, typename Traits::FT, bool > | regular_neighbor_coordinates_2 (const Rt &rt, const typename Traits::Weighted_point &p, OutputIterator out, EdgeIterator hole_begin, EdgeIterator hole_end, VertexIterator hidden_vertices_begin, VertexIterator hidden_vertices_end)
| The same as above. More...
template<class Rt , class OutputIterator >
CGAL::Triple< OutputIterator, typename Rt::Geom_traits::FT, bool > | regular_neighbor_coordinates_2 (const Rt &rt, typename Rt::Vertex_handle vh, OutputIterator out)
| computes the regular neighbor coordinates of the point `vh->point()` with respect to the vertices of `rt` excluding `vh->point()`. More...
template<class ForwardIterator , class Functor , class Traits >
Traits::Vector_d | sibson_gradient_fitting (ForwardIterator first, ForwardIterator beyond, const typename std::iterator_traits< ForwardIterator >::value_type::second_type &norm, const typename std::iterator_traits< ForwardIterator >::value_type::first_type &p, Functor f, const Traits &traits)
| estimates the gradient of a function at the point `p` given natural neighbor coordinates of `p` in the range `[first, beyond)` and the function values of the neighbors provided by the functor `f`. More...
template<class Dt , class OutputIterator , class Functor , class Traits >
OutputIterator | sibson_gradient_fitting_nn_2 (const Dt &dt, OutputIterator out, Functor f, const Traits &traits)
| estimates the function gradients at all vertices of `dt` that lie inside the convex hull using the coordinates computed by the function `PkgInterpolationNaturalNeighborCoordinates2`. More...
template<class Rt , class OutputIterator , class Functor , class Traits >
OutputIterator | sibson_gradient_fitting_rn_2 (const Rt &rt, OutputIterator out, Functor f, const Traits &traits)
| estimates the function gradients at all vertices of `rt` that lie inside the convex hull using the coordinates computed by the functions `PkgInterpolationRegularNeighborCoordinates2`. More...
template<class OutputIterator , class InputIterator , class Kernel >
CGAL::Triple< OutputIterator, typename Kernel::FT, bool > | surface_neighbor_coordinates_3 (InputIterator first, InputIterator beyond, const typename Kernel::Point_3 &p, const typename Kernel::Vector_3 &normal, OutputIterator out, const Kernel &K)
| The sample points \( \mathcal{P}\) are provided in the range `[first`, beyond)`. More...
template<class OutputIterator , class InputIterator , class ITraits >
CGAL::Triple< OutputIterator, typename ITraits::FT, bool > | surface_neighbor_coordinates_3 (InputIterator first, InputIterator beyond, const typename ITraits::Point_2 &p, OutputIterator out, const ITraits &traits)
| the same as above only that the traits class must be instantiated by the user. More...
template<class OutputIterator , class InputIterator , class Kernel >
CGAL::Quadruple < OutputIterator, typename Kernel::FT, bool, bool > | surface_neighbor_coordinates_certified_3 (InputIterator first, InputIterator beyond, const typename Kernel::Point_3 &p, const typename Kernel::Vector_3 &normal, OutputIterator out, const Kernel &K)
| Similar to the first function. More...
template<class OutputIterator , class InputIterator , class Kernel >
CGAL::Quadruple < OutputIterator, typename Kernel::FT, bool, bool > | surface_neighbor_coordinates_certified_3 (InputIterator first, InputIterator beyond, const typename Kernel::Point_3 &p, const typename Kernel::FT &max_distance, OutputIterator out, const Kernel &kernel)
| The same as above except that this function takes the maximal distance from p to the points in the range `[first, beyond)` as additional parameter.
template<class OutputIterator , class InputIterator , class ITraits >
CGAL::Quadruple < OutputIterator, typename ITraits::FT, bool, bool > | surface_neighbor_coordinates_certified_3 (InputIterator first, InputIterator beyond, const typename ITraits::Point_2 &p, OutputIterator out, const ITraits &traits)
| The same as above only that the traits class must be instantiated by the user and without the parameter `max_distance`. More...
template<class OutputIterator , class InputIterator , class ITraits >
CGAL::Quadruple < OutputIterator, typename ITraits::FT, bool, bool > | surface_neighbor_coordinates_certified_3 (InputIterator first, InputIterator beyond, const typename ITraits::Point_2 &p, const typename ITraits::FT &max_distance, OutputIterator out, const ITraits &traits)
| The same as above with the parameter `max_distance`.
template<class Dt , class OutputIterator >
CGAL::Triple< OutputIterator, typename Dt::Geom_traits::FT, bool > | surface_neighbor_coordinates_3 (const Dt &dt, const typename Dt::Geom_traits::Point_3 &p, const typename Dt::Geom_traits::Vector_3 &normal, OutputIterator out, typename Dt::Cell_handle start=typename Dt::Cell_handle())
| computes the surface neighbor coordinates with respect to the points that are vertices of the Delaunay triangulation `dt`. More...
template<class Dt , class OutputIterator , class ITraits >
CGAL::Triple< OutputIterator, typenameDt::Geom_traits::FT, bool > | surface_neighbor_coordinates_3 (const Dt &dt, const typename Dt::Geom_traits::Point_3 &p, OutputIterator out, const ITraits &traits, typename Dt::Cell_handle start=typename Dt::Cell_handle())
| The same as above only that the parameter traits instantiates the geometric traits class. More...
template<class OutputIterator , class InputIterator , class Kernel >
OutputIterator | surface_neighbors_3 (InputIterator first, InputIterator beyond, const typename Kernel::Point_3 &p, const typename Kernel::Vector_3 &normal, OutputIterator out, const Kernel &K)
| The sample points \( \mathcal{P}\) are provided in the range `[first, beyond)`. More...
template<class OutputIterator , class InputIterator , class ITraits >
OutputIterator | surface_neighbors_3 (InputIterator first, InputIterator beyond, const typename ITraits::Point_2 &p, OutputIterator out, const ITraits &traits)
| The same as above only that the traits class must be instantiated by the user. More...
template<class OutputIterator , class InputIterator , class Kernel >
std::pair< OutputIterator, bool > | surface_neighbors_certified_3 (InputIterator first, InputIterator beyond, const typename Kernel::Point_3 &p, const typename Kernel::Vector_3 &normal, OutputIterator out, const Kernel &K)
| Similar to the first function. More...
template<class OutputIterator , class InputIterator , class Kernel >
std::pair< OutputIterator, bool > | surface_neighbors_certified_3 (InputIterator first, InputIterator beyond, const typename Kernel::Point_3 &p, const typename Kernel::Vector_3 &normal, const typename Kernel::FT &max_distance, OutputIterator out, const Kernel &kernel)
| The same as above except that this function takes the maximal distance from `p` to the points in the range `[first, beyond)` as additional parameter.
template<class OutputIterator , class InputIterator , class ITraits >
std::pair< OutputIterator, bool > | surface_neighbors_certified_3 (InputIterator first, InputIterator beyond, const typename ITraits::Point_2 &p, OutputIterator out, const ITraits &traits)
| The same as above only that the traits class must be instantiated by the user. More...
template<class OutputIterator , class InputIterator , class ITraits >
std::pair< OutputIterator, bool > | surface_neighbors_certified_3 (InputIterator first, InputIterator beyond, const typename ITraits::Point_2 &p, const typename ITraits::FT &max_distance, OutputIterator out, const ITraits &traits)
| The same as above with the parameter `max_distance`.
template<class Dt , class OutputIterator >
OutputIterator | surface_neighbors_3 (const Dt &dt, const typename Dt::Geom_traits::Point_3 &p, const typename Dt::Geom_traits::Vector_3 &normal, OutputIterator out, typename Dt::Cell_handle start=typename Dt::Cell_handle())
| computes the surface neighbor coordinates with respect to the points that are vertices of the Delaunay triangulation `dt`. More...
template<class Dt , class OutputIterator , 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 Dt::Cell_handle())
| The same as above only that the parameter `traits` instantiates the geometric traits class. More...