|
Traits<R>::Object;
|
|
A common object type like CGAL_object. The ''real'' objects
(e.g. Output_polygon, Segment, Point, ...) are
mapped into Object using the member function
Make_object (see below to the operations description).
|
|
Traits<R>::Point;
|
|
The point type on which the boolean operations algorithms operate.
It should represent a two dimensional point with coordinates of
type R::NT. The type must provide a copy constructor,
an assignment, and an equality test. Furthermore a constructor for
cartesian coordinates (Point(R::NT,R::NT)), a constructor
for homogeneous coordinates (Point(R::NT,R::NT,R::NT)), and
the operations R::NT Point::x() and R::NT Point::y()
are needed, which returns the value of the x- or y
-coordinate, respectively. This point type represents the vertices
of segments, triangles, iso-oriented rectangles, and polygons,
which occur as possible results of a boolean operation.
|
|
Traits<R>::Segment;
|
|
Line segment type. It should represent a two dimensional segment
defined by the two extremal points of type Point. The type
must provide a copy constructor, an assignment, and an equality
test. Furthermore a constructor by two points (
Segment(Point,Point)) will be needed.
|
|
Traits<R>::Triangle;
|
|
The type of triangles on which boolean operations can be performed.
It should represent a triangle in two dimensional Euclidean space
with vertices of type Point. The type must provide a copy
constructor, an assignment, and an equality test. Furthermore a
constructor by three points (Triangle(Point,Point,Point))
will be needed.
|
|
Traits<R>::Iso_rectangle;
|
|
The type of iso-oriented rectangles on which boolean operations can
be performed. It should represent an iso-oriented rectangle in two
dimensional Euclidean space with vertices of type Point. The
type must provide a copy constructor, an assignment, and an
equality test. Furthermore a constructor by three points (
Iso_rectangle(Point,Point,Point)) will be needed.
|
|
Traits<R>::Polygon;
|
|
The type of polygons on which boolean operations will be performed
(i.e. Input_polygon, there also exists an
Output_polygon). This type should represent a simple polygon
in two dimensional Euclidean space with vertices of type
Point. Usually it is based on Container. The type
must provide a copy constructor, an assignment, and an equality
test.
|
|
Traits<R>::Polygon_vertex_const_iterator;
|
|
A (const) vertex forward iterator for Polygon.
|
|
bool
|
bops_traits.do_overlap ( Bbox a, Bbox b)
|
| |
returns true iff the boxes do overlap.
|
|
bool
|
bops_traits.box_is_contained_in_box ( Bbox a, Bbox b)
|
| |
returns true iff a is contained in b,
entirely.
|
|
bool
|
bops_traits.is_equal ( Point p1, Point p2)
|
| |
returns true iff the value of p1 is equal to the
value of p2.
|
|
bool
|
bops_traits.less_x ( Point p1, Point p2)
|
| |
returns true iff the x-coordinate of p1 is smaller
than that of p2.
|
|
bool
|
|
bops_traits.is_leftturn ( |
Point p0,
Point p1,
Point p2) |
|
| |
returns true iff p2 lies on the left of the oriented
line through p0 and p1.
|
|
Object
|
bops_traits.Make_object ( Point p)
|
| |
maps Point into Object and returns it.
|
|
Object
|
bops_traits.Make_object ( Segment p)
|
| |
maps Segment into Object and returns it.
|
|
Object
|
bops_traits.Make_object ( Output_polygon p)
|
| |
maps Output_polygon into Object and returns it.
|
|
Object
|
bops_traits.Make_object ( Iso_rectangle p)
|
| |
maps Iso_rectangle into Object and returns it.
|
|
Object
|
bops_traits.Make_object ( Triangle p)
|
| |
Maps Triangle into Object and returns it.
|
|
Bbox
|
bops_traits.get_Bbox ( Polygon pgon)
|
| |
returns the bounding box of Polygon.
|
|
bool
|
|
bops_traits.has_on_bounded_side ( |
Polygon pgon,
Point pt) |
|
| |
returns true iff point pt lies on the bounded side of
polygon pgon.
|
|
void
|
bops_traits.reverse_orientation(); ( Polygon& pgon)
|
| |
reverses the orientation of polygon pgon.
|
|
Polygon_vertex_const_iterator
|
|
bops_traits.most_left_vertex ( Polygon pgon)
|
| |
returns the most left vertex of polygon pgon.
|