#include <CGAL/Object.h>
| |
introduces an uninitialized variable.
| |
| |
Copy constructor.
|
Objects of type Object are normally created via the global function make_object.
|
| |
Assignment. |
Assignment of an object of type Object to an object of type T is done using assign.
There is also a member function to check whether an object of type Object contains an object.
|
| returns true, if object does not contain an object. |
{ Point_2< Cartesian<double> > point; Segment_2< Cartesian<double> > segment, segment_1, segment_2; std::cin >> segment_1 >> segment_2; Object obj = intersection(segment_1, segment_2); if (assign(point, obj)) { /* do something with point */ } else if ((assign(segment, obj)) { /* do something with segment*/ }
/* there was no intersection */ }
The
intersection
routine itself looks roughly as follows:
template < class Kernel > Object intersection(Segment_2<Kernel> s1, Segment_2<Kernel> s2) {
if (/* intersection in a point */ ) {
Point_2<Kernel> p = ... ; return make_object(p);
} else if (/* intersection in a segment */ ) {
Segment_2<Kernel> s = ... ; return make_object(s); } return Object(); }