% +------------------------------------------------------------------------+ % | Reference manual page: InterpolationTraits.tex % +------------------------------------------------------------------------+ % | 06.04.2000 Author % | Package: Package % | \RCSdef{\RCSInterpolationtraitsRev}{$Id$} \RCSdefDate{\RCSInterpolationtraitsDate}{$Date$} % | %%RefPage: end of header, begin of main body % +------------------------------------------------------------------------+ \begin{ccRefConcept}{InterpolationTraits} \ccDefinition Most interpolation functions are parameterized by a traits class that defines the primitives used in the interpolation algorithms. The concept \ccRefName\ defines this common set of requirements. \ccTypes \ccNestedType{FT}{The number type must follow the model \ccc{FieldNumberType}.} \ccNestedType{Point_d}{The point type on which the function is defined and interpolated.} \ccNestedType{Vector_d}{The corresponding vector type.} \ccNestedType{Construct_vector_d} {A constructor object for \ccc{Vector_d}. Provides~: \\ \ccc{Vector_d operator() (Point_d a, Point_d b)} which produces the vector \ccc{b - a} and \\ \ccc{Vector_d operator() (Null_vector NULL_VECTOR)} which introduces the null vector.} \ccNestedType{Construct_scaled_vector_d}{Constructor object for \ccc{Vector_d}. Provides~: \\ \ccc{Vector_d operator() (Vector_d v,FT scale)} which produces the vector \ccc{v} scaled by a factor \ccc{scale}.} \ccNestedType{Compute_squared_distance_d} {Constructor object for \ccc{FT}. Provides the operator:\\ \ccc{FT operator() (Point_d a, Point_d b)} returning the squared distance between \ccc{a} and \ccc{b}.} %\ccCreation \ccCreationVariable{traits} %% choose variable name \ccConstructor{InterpolationTraits();}{default constructor.} \ccHeading{Construction objects} The following functions that create instances of the above constructor object types must exist. \ccMethod{Construct_vector_d construct_vector_d_object();}{} \ccGlue \ccMethod{Construct_scaled_vector_d construct_scaled_vector_d_object();}{} \ccGlue \ccMethod{Compute_squared_distance_d compute_squared_distance_d_object();}{} \ccHasModels \ccRefIdfierPage{CGAL::Interpolation_traits_2}\\ \ccRefIdfierPage{CGAL::Interpolation_gradient_fitting_traits_2}\\ \ccSeeAlso \ccRefConceptPage{GradientFittingTraits}\\ \ccRefIdfierPage{CGAL::sibson_c1_interpolation} \\ \ccRefIdfierPage{CGAL::sibson_gradient_fitting} \\ \ccRefIdfierPage{CGAL::farin_c1_interpolation} \\ \ccRefIdfierPage{CGAL::quadratic_interpolation} \\ %\ccRefIdfierPage{CGAL::natural_neighbor_coordinates_2}\\ %\ccRefIdfierPage{CGAL::regular_neighbor_coordinates_2} \\ %\ccRefIdfierPage{CGAL::surface_neighbor_coordinates_3}\\ \end{ccRefConcept}