|
CGAL 6.0 - 2D Circular Geometry Kernel
|
Kernel::Intersect_2 CGAL::intersection() Operations | |
A model of this concept must provide: | |
| 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. | |
| OutputIterator CircularKernel::Intersect_2::operator() | ( | const Type1 & | obj1, |
| const Type2 & | obj2, | ||
| OutputIterator | intersections | ||
| ) |
Copies in the output iterator the intersection elements between the two objects.
intersections iterates on elements of type CGAL::Object, in lexicographic order.
Type_1 and Type_2 can both be either:
CircularKernel::Line_2CircularKernel::Line_arc_2CircularKernel::Circle_2CircularKernel::Circular_arc_2.Depending on the types Type_1 and Type_2, these elements can be assigned to
std::pair<CircularKernel::Circular_arc_point_2, unsigned>, where the unsigned integer is the multiplicity of the corresponding intersection point between obj_1 and obj_2,CircularKernel::Circular_arc_2 in case of an overlap of two circular arcs,CircularKernel::Line_arc_2 in case of an overlap of two line segments orCircularKernel::Line_2 or CircularKernel::Circle_2 in case of two equal input lines or circles.