CGAL 6.2 - 3D Spherical Geometry Kernel: SphericalKernel::MakeThetaMonotone_3 Concept Reference

CGAL 6.2 - 3D Spherical Geometry Kernel

Loading...
Searching...
No Matches
List of all members
SphericalKernel::MakeThetaMonotone_3 Concept Reference
Reference Manual » Geometric Concepts

## Definition

See also
  `SphericalKernel::IsThetaMonotone_3`

## Operations
A model of this concept must provide:
template<class OutputIterator >
OutputIterator | operator() (const SphericalKernel::Circular_arc_3 &a, OutputIterator res)
| Copies in the output iterator the results of the split of arc `a` at the \( \theta\)-extremal point(s) of its supporting circle relatively to the context sphere used by the function `SphericalKernel::make_theta_monotone_3_object` (Refer to Section Spherical Kernel Objects for the definition of these points.) The output iterator may contain no arc (if the supporting circle is a bipolar circle), one arc (if `a` is already \( \theta\)-monotone), two arcs (if only one \( \theta\)-extremal point is on `a`), or three arcs (if two \( \theta\)-extremal points are on `a`).
template<class OutputIterator >
OutputIterator | operator() (const SphericalKernel::Circle_3 &c, OutputIterator res)
| Copies in the output iterator the results of the split of circle `c` at its \( \theta\)-extremal point(s) relatively to the context sphere used by the function `SphericalKernel::make_theta_monotone_3_object`.

## Member Function Documentation

## ◆ operator()() [1/2]

template<class OutputIterator >

OutputIterator SphericalKernel::MakeThetaMonotone_3::operator() | ( | const SphericalKernel::Circle_3 & | c,
|  | OutputIterator | res
| ) |  |

Copies in the output iterator the results of the split of circle `c` at its \( \theta\)-extremal point(s) relatively to the context sphere used by the function `SphericalKernel::make_theta_monotone_3_object`.

(Refer to Section Spherical Kernel Objects for the definition of these points.) The output iterator may contain no arc (if the circle is bipolar), one arc (if the circle is polar or threaded), or two arcs (if the circle is normal).

The source and target are such that the circular arc is the set of points of the circle that lie between the source and the target when traversing the circle counterclockwise seen from the positive side of the plane of the circle.

In this definition, we say that a normal vector \( (a,b,c)\) is positive if \( (a>0) || (a==0) \&\& (b>0) || (a==0)\&\&(b==0)\&\&(c>0)\).

For a threaded circle, the arc returned the one built using the full circle.

For a polar circle, the arc returned is the full circle, the source and target correspond to the pole the circle goes through.

Precondition
  `c` lies on the context sphere used by the function `SphericalKernel::make_theta_monotone_3_object`, and `c` is not bipolar.

## ◆ operator()() [2/2]

template<class OutputIterator >

OutputIterator SphericalKernel::MakeThetaMonotone_3::operator() | ( | const SphericalKernel::Circular_arc_3 & | a,
|  | OutputIterator | res
| ) |  |

Copies in the output iterator the results of the split of arc `a` at the \( \theta\)-extremal point(s) of its supporting circle relatively to the context sphere used by the function `SphericalKernel::make_theta_monotone_3_object` (Refer to Section Spherical Kernel Objects for the definition of these points.) The output iterator may contain no arc (if the supporting circle is a bipolar circle), one arc (if `a` is already \( \theta\)-monotone), two arcs (if only one \( \theta\)-extremal point is on `a`), or three arcs (if two \( \theta\)-extremal points are on `a`).

Precondition
  `a` lies on the context sphere used by the function `SphericalKernel::make_theta_monotone_3_object`, and the supporting circle of `a` is not bipolar.