mirror of https://github.com/CGAL/cgal
intersect
This commit is contained in:
parent
9280841257
commit
95c6b2d4dd
|
|
@ -0,0 +1,84 @@
|
|||
\begin{ccRefFunctionObjectConcept}{SphericalKernel::Intersect_3}
|
||||
|
||||
\ccRefines
|
||||
|
||||
\ccc{Kernel::Intersect__3}
|
||||
|
||||
\ccCreationVariable{fo}
|
||||
|
||||
A model \ccVar\ of this type must provide:
|
||||
|
||||
\ccMemberFunction{template < class OutputIterator >
|
||||
OutputIterator
|
||||
operator()(const Type1 &obj1, const Type2 &obj2,
|
||||
OutputIterator intersections);}
|
||||
{Copies in the output iterator the intersection elements between the
|
||||
two objects. \ccc{intersections} iterates on
|
||||
elements of type \ccc{CGAL::Object}, in lexicographic order
|
||||
(where appropriate). See below for more precisions.}
|
||||
|
||||
\ccMemberFunction{template < class OutputIterator >
|
||||
OutputIterator
|
||||
operator()(const Type1 &obj1, const Type2 &obj2,
|
||||
const Type3 &obj3,
|
||||
OutputIterator intersections);}
|
||||
{Copies in the output iterator the intersection elements between the
|
||||
two objects. \ccc{intersections} iterates on
|
||||
elements of type \ccc{CGAL::Object}, in lexicographic order
|
||||
(where appropriate). See below for more precisions.}
|
||||
|
||||
For the \textbf{first operator}, \ccc{Type_1} and \ccc{Type_2} can both
|
||||
be either
|
||||
|
||||
\textbf{!!!!!!! we coded here the intersection \ccc{Line_3}-\ccc{Line_3},
|
||||
since it was apparently forgotten in \ccc{CGAL::Kernel}, this code
|
||||
should be moved there}
|
||||
|
||||
\begin{itemize}
|
||||
\item {} \ccc{SphericalKernel::Sphere_3},
|
||||
\item {} \ccc{SphericalKernel::Plane_3},
|
||||
\item {} \ccc{SphericalKernel::Line_3},
|
||||
\item {} \ccc{SphericalKernel::Circle_3},
|
||||
\item {} \ccc{SphericalKernel::Line_arc_3} or
|
||||
\item {} \ccc{SphericalKernel::Circular_arc_3},
|
||||
\end{itemize}
|
||||
|
||||
and depending on the types \ccc{Type_1} and \ccc{Type_2}, the computed
|
||||
\ccc{CGAL::Object}s can be assigned to
|
||||
\begin{itemize}
|
||||
\item {} \ccc{std::pair<SphericalKernel::Circular_arc_point_3, unsigned>},
|
||||
where the unsigned integer is the multiplicity of the corresponding
|
||||
intersection point between \ccc{obj_1} and \ccc{obj_2},
|
||||
\item {} \ccc{Type_1}, when \ccc{Type_1} and \ccc{Type_2} are equal, and
|
||||
if the two objets \ccc{obj1} and \ccc{obj2} are equal,
|
||||
\item {} \ccc{SphericalKernel::Line_3} or \ccc{SphericalKernel::Circle_3}
|
||||
when \ccc{Type_1} and \ccc{Type_2} are two-dimensional objets intersecting
|
||||
along a curve,
|
||||
\item {} \ccc{SphericalKernel::Circular_arc_3} in case of an overlap of
|
||||
two circular arcs or
|
||||
\item {} \ccc{SphericalKernel::Line_arc_3} in case of an overlap of two
|
||||
line segments.
|
||||
\end{itemize}
|
||||
|
||||
For the \textbf{second operator}, \ccc{Type_1}, \ccc{Type_2} and \ccc{Type_3}
|
||||
can be either
|
||||
\textbf{!!!!!!! case of 3 planes is missing, again it should be in Kernel}
|
||||
|
||||
\begin{itemize}
|
||||
\item {} \ccc{SphericalKernel::Sphere_3} or
|
||||
\item {} \ccc{SphericalKernel::Plane_3}
|
||||
\end{itemize}
|
||||
|
||||
and depending of these types, the computed \ccc{CGAL::Object}s can be
|
||||
assigned to
|
||||
\begin{itemize}
|
||||
\item {} \ccc{std::pair<SphericalKernel::Circular_arc_point_3, unsigned>},
|
||||
where the unsigned integer is the multiplicity of the corresponding
|
||||
intersection point,
|
||||
\item {} \ccc{SphericalKernel::Circle_3} or
|
||||
\item {} \ccc{Type_1}, when \ccc{Type_1}, \ccc{Type_2} and \ccc{Type_3}
|
||||
are equal, and if the three objets \ccc{obj1} and \ccc{obj2} and \ccc{obj3}
|
||||
are equal.
|
||||
\end{itemize}
|
||||
|
||||
\end{ccRefFunctionObjectConcept}
|
||||
|
|
@ -11,6 +11,8 @@
|
|||
|
||||
\subsubsection*{Functors}
|
||||
|
||||
\ccRefConceptPage{Intersect_3}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Algebraic Concepts}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +1,25 @@
|
|||
\input{Spherical_kernel_3_ref/intro}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% geometric kernels
|
||||
|
||||
\input{Spherical_kernel_3_ref/SphericalKernel}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% geometric objects
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% geometric functors
|
||||
|
||||
\input{Spherical_kernel_3_ref/Intersect}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% algebraic kernels
|
||||
|
||||
\input{Spherical_kernel_3_ref/AlgebraicKernelForSpheres}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% algebraic objects
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% algebraic functors
|
||||
|
|
|
|||
Loading…
Reference in New Issue