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.
| |||
creates some sphere segment.
| |||
| |||
creates a spherical segment spanning
the shorter arc from p1 to p2 if shorter_arc == true. Otherwise the longer arc is created.
| |||
| |||
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.)
| |||
| |||
creates the spherical segment as part of c1 that is part
of the halfsphere left of the oriented circle c2.
|
|
| the source point of s. |
|
| the target point of s. |
|
| the great circle supporting s. |
|
| returns the sperical segment oriented from target() to source() with the same point set as s. |
|
| returns the sperical segment oriented from target() to source() with the point set completing s to a full circle. |
|
| a segment is short iff it is shorter than a half-circle. |
|
| a segment is long iff it is longer than a half-circle. |
|
|
return true iff s is
degenerate, i.e. source and target are the same. |
|
| return true iff s is a perfect half-circle, i.e. source().antipode == target(). |
|
| return true iff s contains p. |
|
| |
return true iff s contains p in its relative interior. |