CGAL 4.13  ConeBased Spanners

#include <CGAL/Compute_cone_boundaries_2.h>
The functor for computing the directions of cone boundaries with a given cone number and a given initial direction.
This computation can be either inexact by simply dividing an approximate \( \pi \) by the cone number (which is quick), or exact by using roots of polynomials (requiring number types such as CORE::Expr
or leda_real
, which are slow). The inexact computation is done by the general functor definition, while the exact computation is done by a specialization of this functor.
In the construction of conebased spanners such as Yao graph and Theta graph implemented by this package, this functor is called first to compute the cone boundaries. Of course, this functor can also be used in other applications where the plane needs to be divided into equallyangled cones.
Traits_  Must be either CGAL::Exact_predicates_exact_constructions_kernel_with_root_of or CGAL::Exact_predicates_inexact_constructions_kernel . 
Public Types  
typedef Traits::Direction_2  Direction_2 
the direction type. More...  
Public Member Functions  
template<class DirectionOutputIterator >  
DirectionOutputIterator  operator() (const unsigned int cone_number, const Direction_2 &initial_direction, DirectionOutputIterator result) 
The operator(). More...  
typedef Traits::Direction_2 CGAL::Compute_cone_boundaries_2< Traits_ >::Direction_2 
the direction type.
DirectionOutputIterator CGAL::Compute_cone_boundaries_2< Traits_ >::operator()  (  const unsigned int  cone_number, 
const Direction_2 &  initial_direction,  
DirectionOutputIterator  result  
) 
The operator().
The direction of the first ray can be specified by the parameter initial_direction
, which allows the first ray to start at any direction. This operator first places the initial_direction
at the position pointed by result
. Then, it calculates the remaining directions (cone boundaries) and output them to result
in the counterclockwise order. Finally, the pasttheend iterator for the resulting directions is returned.
\tparam DirectionOutputIterator an `OutputIterator` with value type `Direction_2`.
cone_number  The number of cones 
initial_direction  The direction of the first ray 
result  The output iterator 