% begin cgal manual page \begin{ccRefClass}[Nef_polyhedron_S2::]{Sphere_circle} \ccCreationVariable{c} \ccDefinition An object \ccc{c} of type \ccc{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 $S_2$. 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. \ccSetOneOfTwoColumns{6.5cm} \ccTypes \ccNestedType{RT}{ ring type. } \ccNestedType{Plane_3}{ plane a \ccc{Sphere_circle} lies in.} \ccCreation \ccConstructor{Sphere_circle()}{ creates some great circle. } \ccConstructor{Sphere_circle(const Sphere_point& p, const Sphere_point& q)}{ If $p$ and $q$ are opposite of each other, then we create the unique great circle on $S_2$ which contains p and q. This circle is oriented such that a walk along \ccc{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$. } \ccConstructor{Sphere_circle(const Plane_3& h)}{ creates the circle corresponding to the plane \ccc{h}. \ccPrecond \ccc{h} contains the origin. } \ccConstructor{Sphere_circle(const RT& x, const RT& y, const RT& z)} { creates the circle orthogonal to the vector $(x,y,z)$. } \ccConstructor{Sphere_circle(Sphere_circle c, const Sphere_point& p)}{ creates a great circle orthogonal to $c$ that contains $p$. \ccPrecond $p$ is not part of $c$. } \ccSetTwoOfThreeColumns{2.5cm}{3.8cm} \ccOperations \ccMethod{Sphere_circle opposite() ;}{ Returns a sphere circle in the oppostie direction of \ccc{c}. } \ccMethod{bool has_on(const Sphere_point& p) ;}{ returns true iff \ccc{c} contains \ccc{p}. } \ccMethod{Plane_3 plane() ;}{ returns the plane supporting \ccc{c}. } \ccMethod{Sphere_point orthogonal_pole() ;}{ returns the point that is the pole of the hemisphere left of \ccc{c}. } \ccHeading{Global functions} \ccFunction{bool equal_as_sets( const Nef_polyhedron_S2::Sphere_circle c1, const Nef_polyhedron_S2::Sphere_circle c2) ;}{ returns true iff \ccc{c1} and \ccc{c2} are equal as unoriented circles. } \end{ccRefClass}