![]() |
#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();
}