| |
same as the planar map traits' Point.
| |
| |
same as the planar map traits' X_curve.
| |
| |
curve type, this type should be syntactically
identical to the X_curve type (i.e., it should be the same type).
However, semantically it differs from the X_curve in that it
is not necessarily -monotone. In the following methods when we
require an X_curve as a parameter, we assume that the curve
is -monotone.
|
|
| |||
returns true if is an -monotone curve. | ||||
|
| |||
cuts into -monotone subcurves and stores them in . The order in which they are inserted into defines their order in the hierarchy tree. | ||||
|
| |||
returns the X_curve that is the same as but with opposite orientation. | ||||
|
| |||
splits at split_pt
and assigns the resulting two curves to c1 and c2. Precondition: split_pt is on . Precondition: split_pt is not an endpoint of . | ||||
|
| |||
returns if c1 and c2 intersect to the right of the point pt. Intersection to the right of pt is defined as an intersection which is lexicographically strictly to the right of pt (i.e., an intersection above or to the right of pt but not on pt). | ||||
|
| |||
finds the nearest intersection point to the right of pt. Nearest is defined as the one lexicographically closest to pt not including pt itself. If the intersection of c1 and c2 to the right of pt is an X_curve (i.e., there is an overlapping subcurve to the right of pt), then p1 will hold the source point of the intersection and p2 will hold its target point. Otherwise p1 and p2 are identical. In the case of an overlap we regard the intersection to the right as the open curve between p1 and p2. This means that if the overlapping subcurve contains pt either p1 or p2 will be equal to pt, this is the only case in which this can happen. If c1 and c2 do not intersect to the right of pt the function returns false. | ||||
|
| |||
returns true if cv1 and cv2 overlap in a one-dimensional subcurve (i.e., not in a finite number of points), otherwise returns false. |