A model of the concept SweepLineTraits_2 aggregates the geometric types and primitive operations used by the Sweep_line_2<CurveInputIterator,SweepLineTraits_2> data structure.
The geometric types defined below must have a default constructor, copy constructor, and assignment operator.
| |
A type that holds an -monotone curve in
the plane.
| |
| |
A type that holds the position of a vertex in
the plane. The type of the end points of X_monotone_curve_2 curves.
| |
| |
A type that holds a general curve in the plane.
Its endpoints must be of type Point_2.
Curves of type either X_monotone_curve_2 or Curve_2 can be
inserted into a Planar_map_with_intersections_2<Dcel,Traits> object.
|
|
| |||
compares the x-coordinates of and . Returns LARGER if ; SMALLER if ; EQUAL otherwise. | ||||
|
| |||
compares the two points and lexigoraphically. First the -coordinates are compared. In case of a tie, the -coordinates are compared. Returns LARGER if , or if and ; SMALLER if , or if and ; EQUAL otherwise. | ||||
|
| |||
returns true if cv is a vertical segment, false otherwise. | ||||
|
| |||
returns true if pnt is in the range of cv, false otherwise. | ||||
|
| |||
compares the -coordinate of and at the -coordinate
of . Returns LARGER if ;
SMALLER if ; EQUAL
otherwise. Precondition: and are defined at 's -coordinate. Precondition: or contain . | ||||
|
| |||
compares the -coordinate of and immediately to the
right of the -coordinate of . Precondition: and meet at -coordinate. Precondition: and are defined to the right of 's -coordinate. | ||||
|
| |||
compares the -coordinates of and the vertical projection of
on . Returns SMALLER if ;
LARGER if ;
EQUAL otherwise (p is on the curve). Precondition: is defined at 's -coordinate. | ||||
|
| |||
returns true if cv1 and cv2 have the same graph, false otherwise. | ||||
|
| |||
returns true if p1 is the same as p2, false otherwise. | ||||
|
| |||
returns true if cv1 and cv2 overlap in a one-dimensional subcurve (i.e., non countable and non infinite number of points), false. otherwise. | ||||
|
| |||
returns the source of cv. | ||||
|
| |||
returns the target of cv. | ||||
| ||||
|
| |||
cuts cv into -monotone subcurves and stores them in a sequence starting at res. The order in which they are stored defines their order in the hierarchy tree. Returns past-the-end iterator of the sequence. | ||||
|
| |||
splits at split_pt into two curves, and assigns them to
c1 and c2 respectively. Precondition: split_pt is on cv but is not one of its endpoint. | ||||
|
| |||
finds the nearest intersection point (or points) of c1 and c2 lexicographically to the right of pt not including pt itself, (with one exception explained below). If the intersection of c1 and c2 is an X_monotone_curve_2, that is, they overlap at infinitely many points, then if the right endpoint and the left endpoint of the overlapping subcurve are strictly to the right of pt, they are returned through the two point references p1 and p2 respectively. If pt is between the overlapping-subcurve endpoints, or pt is its left endpoint, pt and the right endpoint of the subcurve are returned through p1 and p2 respectively. If the intersection of the two curves is a point to the right of pt, it is returned through p1 and p2. Returns true if c1 and c2 do intersect to the right of pt, false otherwise. |
Note that the concept ArrangementTraits_2 is a refinement of the concept SweepLineTraits_2 so each model of the former is a model of the latter.