A model fo of this concept must provide:
template<class OutputIterator>  
OutputIterator  fo ( SphericalKernel::Circular_arc_3 a , OutputIterator res )  
Copies in the output iterator the results of the split of arc a at the 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 14.2 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 monotone), two arcs (if only one extremal point is on a), or
three arcs (if two extremal points are on a).
 
template<class OutputIterator>  
OutputIterator  fo ( SphericalKernel::Circle_3 c , OutputIterator res )  
Copies in the output iterator the results of the split of circle c at its extremal
point(s) relatively to the context sphere used by the function SphericalKernel::make_theta_monotone_3_object.
(Refer to section 14.2 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.

SphericalKernel::IsThetaMonotone_3