CGAL::Nef_polyhedron_S2<Traits>::Sphere_circle

Definition

An object c of type Sphere_circle is an oriented great circle on the surface of a unit sphere. Such circles correspond to the intersection of an oriented plane (that contains the origin) and the surface of S2. The orientation of the great circle is that of a counterclockwise walk along the circle as seen from the positive halfspace of the oriented plane.

Types

Nef_polyhedron_S2<Traits>::Sphere_circle::RT
ring type.


Nef_polyhedron_S2<Traits>::Sphere_circle::Plane_3
plane a Sphere_circle lies in.

Creation

Nef_polyhedron_S2<Traits>::Sphere_circle c;
creates some great circle.


Nef_polyhedron_S2<Traits>::Sphere_circle c ( Sphere_point p,
Sphere_point q);
If p and q are opposite of each other, then we create the unique great circle on S2 which contains p and q. This circle is oriented such that a walk along c meets p just before the shorter segment between p and q. If p and q are opposite of each other then we create any great circle that contains p and q.


Nef_polyhedron_S2<Traits>::Sphere_circle c ( Plane_3 h);
creates the circle corresponding to the plane h.
Precondition: h contains the origin.


Nef_polyhedron_S2<Traits>::Sphere_circle c ( RT x, RT y, RT z);
creates the circle orthogonal to the vector (x,y,z).


Nef_polyhedron_S2<Traits>::Sphere_circle c ( Sphere_circle c,
Sphere_point p);
creates a great circle orthogonal to c that contains p.
Precondition: p is not part of c.

Operations

Sphere_circle c.opposite () Returns a sphere circle in the oppostie direction of c.

bool c.has_on ( Sphere_point p)
returns true iff c contains p.

Plane_3 c.plane () returns the plane supporting c.

Sphere_point c.orthogonal_pole ()
returns the point that is the pole of the hemisphere left of c.

Global functions

bool equal_as_sets ( const c1, const c2)
returns true iff c1 and c2 are equal as unoriented circles.