## 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::Sphere_circle::RT ring type. Nef_polyhedron_S2::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::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::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.