\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)
CGAL 4.5 - 2D Boolean Operations on Nef Polygons Embedded on the Sphere
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
CGAL::Nef_polyhedron_S2< Traits >::Sphere_circle Class Reference

#include <CGAL/Nef_polyhedron_S2.h>

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 \( 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.

Related Functions

(Note that these are not member functions.)

bool equal_as_sets (const Nef_polyhedron_S2< Traits >::Sphere_circle c1, const Nef_polyhedron_S2< Traits >::Sphere_circle c2)
 returns true iff c1 and c2 are equal as unoriented circles.
 

Types

typedef unspecified_type RT
 ring type.
 
typedef unspecified_type Plane_3
 plane a Sphere_circle lies in.
 

Creation

 Sphere_circle ()
 creates some great circle.
 
 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. More...
 
 Sphere_circle (const Plane_3 &h)
 creates the circle corresponding to the plane h. More...
 
 Sphere_circle (const RT &x, const RT &y, const RT &z)
 creates the circle orthogonal to the vector \( (x,y,z)\).
 
 Sphere_circle (Sphere_circle c, const Sphere_point &p)
 creates a great circle orthogonal to \( c\) that contains \( p\). More...
 

Operations

Sphere_circle opposite ()
 Returns a sphere circle in the opposite direction of c.
 
bool has_on (const Sphere_point &p)
 returns true iff c contains p.
 
Plane_3 plane ()
 returns the plane supporting c.
 
Sphere_point orthogonal_pole ()
 returns the point that is the pole of the hemisphere left of c.
 

Constructor & Destructor Documentation

template<typename Traits >
CGAL::Nef_polyhedron_S2< Traits >::Sphere_circle::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 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\).

template<typename Traits >
CGAL::Nef_polyhedron_S2< Traits >::Sphere_circle::Sphere_circle ( const Plane_3 h)

creates the circle corresponding to the plane h.

Precondition
h contains the origin.
template<typename Traits >
CGAL::Nef_polyhedron_S2< Traits >::Sphere_circle::Sphere_circle ( Sphere_circle  c,
const Sphere_point p 
)

creates a great circle orthogonal to \( c\) that contains \( p\).

Precondition
\( p\) is not part of \( c\).