CGAL::farin_c1_interpolation

Definition

The function farin_c1_interpolation interpolates the function values and the gradients that are provided by functors using the method described in [Far90].

#include <CGAL/interpolation_functions.h>

Parameters

RandomAccessIterator::value_type is a pair associating a point to a (non-normalized) barycentric coordinate. See sibson_c1_interpolation for the other parameters.

template < class RandomAccessIterator, class Functor, class GradFunctor, class Traits>
typename Functor::result_type
farin_c1_interpolation ( RandomAccessIterator first,
RandomAccessIterator beyond,
typename std::iterator_traits<RandomAccessIterator>::value_type::second_type norm,
typename std::iterator_traits<ForwardIterator>::value_type::first_type p,
Functor function_value,
GradFunctor function_gradient,
Traits traits)
generates the interpolated function value computed by Farin's interpolant [Far90]. See also sibson_c1_interpolation.
Precondition: norm 0. function_value(p).second == true for all points p of the point/coordinate pairs in the range [.first, beyond.).
Precondition: The range [. first, beyond.) contains either one or more than three elements.

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.

See Also

CGAL::Data_access<Map>
CGAL::linear_interpolation
CGAL::sibson_c1_interpolation
CGAL::sibson_gradient_fitting
CGAL::Interpolation_traits_2<K>
CGAL::natural_neighbor_coordinates_2
CGAL::regular_neighbor_coordinates_2
CGAL::surface_neighbor_coordinates_3