\( \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.9 - 2D and Surface Function Interpolation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
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...