## 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, 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