CGAL 5.6 - 2D and 3D Linear Geometry Kernel
Kernel_23/intersection_get.cpp
#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
#include <CGAL/intersections.h>
typedef K::Point_2 Point_2;
typedef K::Segment_2 Segment_2;
typedef K::Line_2 Line_2;
typedef K::Intersect_2 Intersect_2;
int main()
{
Segment_2 seg(Point_2(0,0), Point_2(2,2));
Line_2 lin(1,-1,0);
const auto result = intersection(seg, lin);
if (result) {
if (const Segment_2* s = boost::get<Segment_2>(&*result)) {
std::cout << *s << std::endl;
} else {
const Point_2* p = boost::get<Point_2 >(&*result);
std::cout << *p << std::endl;
}
}
return 0;
}
CGAL::intersection
OutputIterator intersection(const Type1 &obj1, const Type2 &obj2, OutputIterator intersections)
Constructs the intersection elements between the two input objects and stores them in the OutputItera...
CGAL::Exact_predicates_exact_constructions_kernel
Definition: Exact_predicates_exact_constructions_kernel.h:27