CGAL 6.3 - 2D and 3D Linear Geometry Kernel
Loading...
Searching...
No Matches

template<typename SphericalType1, typename SphericalType1, typename OutputIterator>
OutputIterator CGAL::intersection (const SphericalType1 &obj1, const SphericalType2 &obj2, OutputIterator intersections)
 Constructs the intersection elements between the two input objects and stores them in the OutputIterator in lexicographic order, where both, SphericalType1 and SphericalType2, can be either.
template<typename Type1, typename Type2, typename Type3, typename OutputIterator>
OutputIterator CGAL::intersection (const Type1 &obj1, const Type2 &obj2, const Type3 &obj3, OutputIterator intersections)
 Copies in the output iterator the intersection elements between the three objects.

Function Documentation

◆ intersection() [1/2]

template<typename SphericalType1, typename SphericalType1, typename OutputIterator>
OutputIterator CGAL::intersection ( const SphericalType1 & obj1,
const SphericalType2 & obj2,
OutputIterator intersections )

#include <CGAL/Spherical_kernel_intersections.h>

Constructs the intersection elements between the two input objects and stores them in the OutputIterator in lexicographic order, where both, SphericalType1 and SphericalType2, can be either.

See Chapter Chapter_3D_Spherical_Geometry_Kernel for details on a spherical kernel instantiation.

When using a spherical kernel, in addition to the function overloads documented here, the following function overloads are also available.

The iterator versions of those functions can be used in conjunction with Dispatch_output_iterator.

Since both the number of intersections, if any, and types of the intersection results depend on the arguments, the function expects an output iterator on Kernel::Intersect_3(Type1, Type2) as presented below.

and depending on the types SphericalType1 and SphericalType2, the computed type can be

◆ intersection() [2/2]

template<typename Type1, typename Type2, typename Type3, typename OutputIterator>
OutputIterator CGAL::intersection ( const Type1 & obj1,
const Type2 & obj2,
const Type3 & obj3,
OutputIterator intersections )

#include <CGAL/Spherical_kernel_intersections.h>

Copies in the output iterator the intersection elements between the three objects.

intersections iterates on elements of type std::variant< Circle_3, Plane_3, Sphere_3, std::pair< Circular_arc_point_3, unsigned > >, in lexicographic order when this ordering is defined on the computed objects

where Type1, Type2 and Type3 can be either

and depending of these types, the computed return value