CGAL 6.1.1 - 2D and Surface Function Interpolation

Loading...
Searching...
No Matches
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`. More...

## Functions
template<class CoordinateInputIterator , class ValueFunctor >
ValueFunctor::result_type::first_type | linear_interpolation (CoordinateInputIterator first, CoordinateInputIterator beyond, const typename std::iterator_traits< CoordinateInputIterator >::value_type::second_type &norm, ValueFunctor value_function)
| The function `linear_interpolation()` computes the weighted sum of the function values which must be provided via a functor.
template<class CoordinateInputIterator , class ValueFunctor , class GradFunctor , class Traits , class Point >
ValueFunctor::result_type | quadratic_interpolation (CoordinateInputIterator first, CoordinateInputIterator beyond, const typename std::iterator_traits< CoordinateInputIterator >::value_type::second_type &norm, const Point &p, ValueFunctor value_function, GradFunctor gradient_function, 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 entity of the entity/coordinate pairs in the range `[first, beyond)`.
template<class CoordinateInputIterator , class ValueFunctor , class GradFunctor , class Traits , class Point >
std::pair< typename ValueFunctor::result_type, bool > | sibson_c1_interpolation (CoordinateInputIterator first, CoordinateInputIterator beyond, const typename std::iterator_traits< CoordinateInputIterator >::value_type::second_type &norm, const Point &p, ValueFunctor value_function, GradFunctor gradient_function, 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.
template<class CoordinateInputIterator , class ValueFunctor , class GradFunctor , class Traits , class Point >
ValueFunctor::result_type | sibson_c1_interpolation_square (CoordinateInputIterator first, CoordinateInputIterator beyond, const typename std::iterator_traits< CoordinateInputIterator >::value_type::second_type &norm, const Point &p, ValueFunctor value_function, GradFunctor gradient_function, const Traits &traits)
| Same as `sibson_c1_interpolation()`, except that no square root operation is required for the number type `Traits::FT`.
template<class CoordinateInputIterator , class ValueFunctor , class GradFunctor , class Traits , class Point >
ValueFunctor::result_type | farin_c1_interpolation (CoordinateInputIterator first, CoordinateInputIterator beyond, const typename std::iterator_traits< CoordinateInputIterator >::value_type::second_type &norm, const Point &p, ValueFunctor value_function, GradFunctor gradient_function, const Traits &traits)
| Generates the interpolated function value computed by Farin's interpolant.
template<class Dt , class CoordinateOutputIterator , class OutputFunctor >
CGAL::Triple< CoordinateOutputIterator, typename Dt::Geom_traits::FT, bool > | natural_neighbor_coordinates_2 (const Dt &dt, const typename Dt::Geom_traits::Point_2 &p, CoordinateOutputIterator out, OutputFunctor fct, 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`.
template<class Dt , class CoordinateOutputIterator , class OutputFunctor , class EdgeIterator >
CGAL::Triple< CoordinateOutputIterator, typename Dt::Geom_traits::FT, bool > | natural_neighbor_coordinates_2 (const Dt &dt, const typename Dt::Geom_traits::Point_2 &p, CoordinateOutputIterator out, OutputFunctor fct, EdgeIterator hole_begin, EdgeIterator hole_end)
| Computes the natural neighbor coordinates for `p` with respect to the points in the two-dimensional Delaunay triangulation `dt`.
template<class Dt , class CoordinateOutputIterator , class OutputFunctor >
CGAL::Triple< CoordinateOutputIterator, typename Dt::Geom_traits::FT, bool > | natural_neighbor_coordinates_2 (const Dt &dt, typename Dt::Vertex_handle vh, CoordinateOutputIterator out, OutputFunctor fct)
| Computes the natural neighbor coordinates of the point `vh->point()` with respect to the vertices of `dt` excluding `vh->point()`.
template<class Rt , class CoordinateOutputIterator , class OutputFunctor >
CGAL::Triple< CoordinateOutputIterator, typename Rt::Geom_traits::FT, bool > | regular_neighbor_coordinates_2 (const Rt &rt, const typename Rt::Weighted_point &p, CoordinateOutputIterator out, OutputFunctor fct, 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`.
template<class Rt , class CoordinateOutputIterator , class OutputFunctor , class EdgeIterator , class VertexIterator >
CGAL::Triple< CoordinateOutputIterator, typename Traits::FT, bool > | regular_neighbor_coordinates_2 (const Rt &rt, const typename Traits::Weighted_point &p, CoordinateOutputIterator out, OutputFunctor fct, EdgeIterator hole_begin, EdgeIterator hole_end, VertexIterator hidden_vertices_begin, VertexIterator hidden_vertices_end)
| Computes the regular neighbor coordinates for `p` with respect to the weighted points in the two-dimensional regular triangulation `rt`.
template<class Rt , class CoordinateOutputIterator , class OutputFunctor >
CGAL::Triple< CoordinateOutputIterator, typename Rt::Geom_traits::FT, bool > | regular_neighbor_coordinates_2 (const Rt &rt, typename Rt::Vertex_handle vh, CoordinateOutputIterator out, OutputFunctor fct)
| Computes the regular neighbor coordinates of the point `vh->point()` with respect to the vertices of `rt` excluding `vh->point()`.
template<class CoordinateInputIterator , class ValueFunctor , class Traits , class Point >
Traits::Vector_d | sibson_gradient_fitting (CoordinateInputIterator first, CoordinateInputIterator beyond, const typename std::iterator_traits< CoordinateInputIterator >::value_type::second_type &norm, const Point &p, ValueFunctor value_function, const typename ValueFunctor::result_type::first_type fn, const Traits &traits)
| Estimates the gradient of a function at a query point.
template<class Dt , class GradientOutputIterator , class OutputFunctor , class ValueFunctor , class Traits >
GradientOutputIterator | sibson_gradient_fitting_nn_2 (const Dt &dt, GradientOutputIterator out, OutputFunctor fct, ValueFunctor value_function, const Traits &traits)
| Estimates the function gradients at all vertices of the Delaunay triangulation `dt` that lie inside the convex hull, using the coordinates computed by the function CGAL::natural_neighbor_coordinates_2().
template<class Rt , class GradientOutputIterator , class OutputFunctor , class ValueFunctor , class Traits >
GradientOutputIterator | sibson_gradient_fitting_rn_2 (const Rt &rt, GradientOutputIterator out, OutputFunctor fct, ValueFunctor value_function, 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 CGAL::regular_neighbor_coordinates_2().
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)`.
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)
| Same as above only that the traits class must be instantiated by the user.
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.
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)
| 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)
| Same as above only that the traits class must be instantiated by the user and without the parameter `max_distance`.
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)
| 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`.
template<class Dt , class OutputIterator , class ITraits >
CGAL::Triple< OutputIterator, typename Dt::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())
| Same as above only that the parameter traits instantiates the geometric traits class.
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)`.
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)
| Same as above only that the traits class must be instantiated by the user.
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.
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)
| 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)
| Same as above only that the traits class must be instantiated by the user.
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)
| 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`.
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())
| Same as above only that the parameter `traits` instantiates the geometric traits class.