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

Namespaces

 cpp11
 
 IO
 
 Scale_space_reconstruction_3
 
 Shape_detection_3
 
 Surface_mesh_parameterization
 

Classes

class  Aff_transformation_2
 
class  Aff_transformation_3
 
class  Identity_transformation
 
class  Reflection
 
class  Rotation
 
class  Scaling
 
class  Translation
 
class  Bbox_2
 
class  Bbox_3
 
class  Cartesian
 
class  Cartesian_converter
 
class  Circle_2
 
class  Circle_3
 
class  Ambient_dimension
 
class  Dimension_tag
 
class  Dynamic_dimension_tag
 
class  Feature_dimension
 
class  Direction_2
 
class  Direction_3
 
class  Exact_predicates_exact_constructions_kernel
 
class  Exact_predicates_exact_constructions_kernel_with_kth_root
 
class  Exact_predicates_exact_constructions_kernel_with_root_of
 
class  Exact_predicates_exact_constructions_kernel_with_sqrt
 
class  Exact_predicates_inexact_constructions_kernel
 
class  Filtered_kernel_adaptor
 
class  Filtered_kernel
 
class  Filtered_predicate
 
class  Homogeneous
 
class  Homogeneous_converter
 
class  Iso_cuboid_3
 
class  Iso_rectangle_2
 
class  Kernel_traits
 
class  Line_2
 
class  Line_3
 
class  Null_vector
 
class  Origin
 
class  Plane_3
 
class  Point_2
 
class  Point_3
 
class  Projection_traits_xy_3
 
class  Projection_traits_xz_3
 
class  Projection_traits_yz_3
 
class  Ray_2
 
class  Ray_3
 
class  Segment_2
 
class  Segment_3
 
class  Simple_cartesian
 
class  Simple_homogeneous
 
class  Sphere_3
 
class  Tetrahedron_3
 
class  Triangle_2
 
class  Triangle_3
 
class  Vector_2
 
class  Vector_3
 
class  Weighted_point_2
 
class  Weighted_point_3
 
struct  Construct_array
 
class  CC_safe_handle
 
class  Compact_container_base
 
class  Compact_container
 
class  Compact_container_traits
 
class  Compact
 
class  Fast
 
class  Concurrent_compact_container_traits
 
class  Concurrent_compact_container
 
class  Default
 
class  Fourtuple
 
class  Cast_function_object
 
class  Compare_to_less
 
class  Creator_1
 
class  Creator_2
 
class  Creator_3
 
class  Creator_4
 
class  Creator_5
 
class  Creator_uniform_2
 
class  Creator_uniform_3
 
class  Creator_uniform_4
 
class  Creator_uniform_5
 
class  Creator_uniform_6
 
class  Creator_uniform_7
 
class  Creator_uniform_8
 
class  Creator_uniform_9
 
class  Creator_uniform_d
 
class  Dereference
 
class  Get_address
 
class  Identity
 
class  Project_facet
 
class  Project_next
 
class  Project_next_opposite
 
class  Project_normal
 
class  Project_opposite_prev
 
class  Project_plane
 
class  Project_point
 
class  Project_prev
 
class  Project_vertex
 
class  In_place_list_base
 
class  In_place_list
 
class  Const_oneset_iterator
 
class  Counting_iterator
 
class  Dispatch_or_drop_output_iterator
 
class  Dispatch_output_iterator
 
class  Emptyset_iterator
 
class  Filter_iterator
 
class  Insert_iterator
 
class  Inverse_index
 
class  Join_input_iterator_1
 
class  Join_input_iterator_2
 
class  Join_input_iterator_3
 
class  N_step_adaptor
 
class  Oneset_iterator
 
class  Random_access_adaptor
 
class  Random_access_value_adaptor
 
class  Iterator_range
 
class  Location_policy
 
class  Multiset
 
class  Object
 
class  Sixtuple
 
class  Spatial_lock_grid_3
 
class  Boolean_tag
 
struct  Null_functor
 
struct  Sequential_tag
 
struct  Parallel_tag
 
class  Null_tag
 
class  Threetuple
 
class  Twotuple
 
class  Uncertain
 
class  Quadruple
 
class  Triple
 
struct  value_type_traits
 
struct  value_type_traits< std::back_insert_iterator< Container > >
 
struct  value_type_traits< std::insert_iterator< Container > >
 
struct  value_type_traits< std::front_insert_iterator< Container > >
 
class  Algebraic_structure_traits
 
class  Euclidean_ring_tag
 
class  Field_tag
 
class  Field_with_kth_root_tag
 
class  Field_with_root_of_tag
 
class  Field_with_sqrt_tag
 
class  Integral_domain_tag
 
class  Integral_domain_without_division_tag
 
class  Unique_factorization_domain_tag
 
class  Coercion_traits
 
class  Fraction_traits
 
class  Real_embeddable_traits
 
class  Circulator_from_container
 
class  Circulator_from_iterator
 
class  Circulator_traits
 
class  Container_from_circulator
 
struct  Circulator_tag
 
struct  Iterator_tag
 
struct  Forward_circulator_tag
 
struct  Bidirectional_circulator_tag
 
struct  Random_access_circulator_tag
 
struct  Circulator_base
 
struct  Forward_circulator_base
 
struct  Bidirectional_circulator_base
 
struct  Random_access_circulator_base
 
class  Forward_circulator_ptrbase
 
class  Bidirectional_circulator_ptrbase
 
class  Random_access_circulator_ptrbase
 
class  Color
 
class  Input_rep
 
class  Output_rep
 
class  Istream_iterator
 
class  Ostream_iterator
 
class  Verbose_ostream
 
class  Constrained_Delaunay_triangulation_2
 
struct  No_intersection_tag
 
struct  Exact_intersections_tag
 
struct  Exact_predicates_tag
 
class  Constrained_triangulation_2
 
class  Constrained_triangulation_face_base_2
 
class  Constrained_triangulation_plus_2
 
class  Delaunay_triangulation_2
 
class  Regular_triangulation_2
 
class  Regular_triangulation_euclidean_traits_2
 
class  Regular_triangulation_face_base_2
 
class  Regular_triangulation_filtered_traits_2
 
class  Regular_triangulation_vertex_base_2
 
class  Triangulation_2
 
class  Triangulation_cw_ccw_2
 
class  Triangulation_euclidean_traits_2
 
class  Triangulation_face_base_2
 
class  Triangulation_face_base_with_info_2
 
class  Triangulation_hierarchy_2
 
class  Triangulation_hierarchy_vertex_base_2
 
class  Triangulation_vertex_base_2
 
class  Triangulation_vertex_base_with_info_2
 
class  Weighted_point
 
class  Delaunay_triangulation_3
 
class  Delaunay_triangulation_cell_base_3
 
class  Delaunay_triangulation_cell_base_with_circumcenter_3
 
class  Regular_triangulation_3
 
class  Regular_triangulation_cell_base_3
 
class  Regular_triangulation_cell_base_with_weighted_circumcenter_3
 
class  Regular_triangulation_euclidean_traits_3
 
class  Regular_triangulation_vertex_base_3
 
class  Robust_weighted_circumcenter_filtered_traits_3
 
class  Triangulation_3
 
class  Triangulation_cell_base_3
 
class  Triangulation_cell_base_with_circumcenter_3
 
class  Triangulation_cell_base_with_info_3
 
class  Triangulation_simplex_3
 
class  Triangulation_vertex_base_3
 
class  Triangulation_vertex_base_with_info_3
 
class  Polygon_2
 
class  Polygon_with_holes_2
 
class  General_polygon_with_holes_2
 
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 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...