An object s of type Sphere_segment is a segment in the surface of a unit sphere that is part of a great circle trough the origin. Sphere segments are represented by two sphere points p and q plus an oriented plane h that contains p and q. The plane determines the sphere segment as follows. Let c be the circle in the intersection of h and S2. Then s is that part of c that is swept, when we rotate p into q in counterclockwise rotation around the normal vector of h as seen from the positive halfspace.
Nef_polyhedron_S2<Traits>::Sphere_segment s; | |||
creates some sphere segment.
| |||
Nef_polyhedron_S2<Traits>::Sphere_segment s ( Sphere_point p1, Sphere_point p2, bool shorter_arc=true); | |||
creates a spherical segment spanning
the shorter arc from p1 to p2 if shorter_arc == true. Otherwise the longer arc is created.
| |||
Nef_polyhedron_S2<Traits>::Sphere_segment s ( Sphere_point p1, Sphere_point p2, Sphere_circle c); | |||
creates a spherical segment spanning the
arc from p1 to p2 as part of the oriented circle c
(p1 == p2 or p1 == p2.opposite() are possible.)
| |||
Nef_polyhedron_S2<Traits>::Sphere_segment s ( Sphere_circle c1, Sphere_circle c2); | |||
creates the spherical segment as part of c1 that is part
of the halfsphere left of the oriented circle c2.
|
Sphere_point | s.source () | the source point of s. |
Sphere_point | s.target () | the target point of s. |
Sphere_circle | s.sphere_circle () | the great circle supporting s. |
Sphere_segment | s.opposite () | returns the sperical segment oriented from target() to source() with the same point set as s. |
Sphere_segment | s.complement () | returns the sperical segment oriented from target() to source() with the point set completing s to a full circle. |
bool | s.is_short () | a segment is short iff it is shorter than a half-circle. |
bool | s.is_long () | a segment is long iff it is longer than a half-circle. |
bool | s.is_degenerate () |
return true iff s is
degenerate, i.e. source and target are the same. |
bool | s.is_halfcircle () | return true iff s is a perfect half-circle, i.e. source().antipode == target(). |
bool | s.has_on ( Sphere_point p) | return true iff s contains p. |
bool | s.has_in_relative_interior ( Sphere_point p) | |
return true iff s contains p in its relative interior. |