CGAL 6.1.1 - 2D Boolean Operations on Nef Polygons Embedded on the Sphere

Loading...
Searching...
No Matches
List of all members | Related Functions
CGAL::Nef_polyhedron_S2< Traits >::Sphere_circle Class Reference
Reference Manual

`#include <CGAL/Nef_polyhedron_S2.h>`

## Definition

template<typename Traits>
class CGAL::Nef_polyhedron_S2< Traits >::Sphere_circle

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.
| Sphere_circle (const Plane_3 &h)
| creates the circle corresponding to the plane `h`.
| 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\).

## 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

## ◆ Sphere_circle() [1/3]

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

## ◆ Sphere_circle() [2/3]

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.

## ◆ Sphere_circle() [3/3]

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