cgal/NewKernel_d/doc_tex/NewKernel_d_ref/Point.tex

28 lines
2.1 KiB
TeX

\begin{ccRefConcept}{Point}
The concept of a {\em Point} is defined by a set of requirements on
the provision of certain types in a \ccc{Kernel}.
\ccRefines
\ccc{Kernel}
\ccNestedType{Object_list}{shall contain at least \ccc{Point_tag} and \ccc{Point_cartesian_const_iterator_tag}.}
\ccNestedType{Type<Point_tag>::type}{shall be CopyConstructible.}
\ccNestedType{Type<Point_cartesian_const_iterator_tag>::type}{shall be a forward iterator (except that it may return an rvalue) whose \ccc{value_type} is \ccc{Kernel::Type<Point_tag>::type}.}
\ccNestedType{Functor<Convert_ttag<Point_tag>>::type}{[Optional] A default converter it available to \ccc{Kernel_converter}, but may be unsuitable if your Point type is too original.}
\ccNestedType{Functor<Construct_ttag<Point_cartesian_const_iterator_tag>>::type}{shall provide \ccc{Type<Point_cartesian_const_iterator_tag>::type operator()(Type<Point_tag>::type const&, Extremity_tag)const} where \ccc{Extemity_tag} is \ccc{Begin_tag} or \ccc{End_tag}.}
\ccNestedType{Functor<Compute_cartesian_coordinate_tag>::type}{shall provide \ccc{FT operator()(Type<Point_tag>::type,int k)const} which returns the $k$th Cartesian coordinate of the point.}
\ccNestedType{Functor<Point_dimension_tag>::type}{shall provide \ccc{int operator()(Type<Point_tag>::type)const} which returns the dimension of a point.}
\ccNestedType{Functor<Construct_ttag<Point_tag>>::type}{shall provide:\\
\ccc{Type<Point_tag>::type operator()(int dim)const} which constructs a point at the origin;\\
\ccc{Type<Point_tag>::type operator()()const} the same, when \ccc{Default_ambient_dimension} is known;\\
\ccc{Type<Point_tag>::type operator()(Type<Point_tag>::type)const} which copies (???);\\
\ccc{Type<Point_tag>::type operator()(Iter, Iter, Cartesian_tag)const} which reads the Cartesian coordinates from the iterators;\\
\ccc{Type<Point_tag>::type operator()(Iter, Iter)const} same as above;\\
\ccc{Type<Point_tag>::type operator()(FT...)const} which reads the Cartesian coordinates from the arguments, when \ccc{Default_ambient_dimension} is known.
}
\end{ccRefConcept}