CGAL 5.4  2D Arrangements

#include <CGAL/Arrangement_with_history_2.h>
An object arr
of the class Arrangement_with_history_2
represents the planar subdivision induced by a set of input curves \( \cal C\). The arrangement is represented as a doublyconnected edgelist (DCEL). As is the case for the Arrangement_2<Traits,Dcel>
, each DCEL vertex is associated with a point and each edge is associated with an \( x\)monotone curve whose interior is disjoint from all other curves and points. Each such \( x\)monotone curve is a subcurve of some \( C \in \cal C\), or may represent an overlap among several curves in \( \cal C\).
The Arrangement_with_history_2
classtemplate extends the Arrangement_2
classtemplate by keeping an additional container of input curves representing \( \cal C\), and by maintaining a crossmapping between these curves and the arrangement edges they induce. This way it is possible to determine the inducing curve(s) of each arrangement edge. This mapping also allows the traversal of input curves, and the traversal of edges induced by each curve.
The Arrangement_with_history_2
template has two parameters:
Traits
templateparameter should be instantiated with a model of the ArrangementTraits_2
concept. The traits class defines the Curve_2
type, which represents an input curve. It also defines the types of \( x\)monotone curves and twodimensional points, namely ArrangementTraits_2::X_monotone_curve_2
and ArrangementTraits_2::Point_2
, respectively, and supports basic geometric predicates on them. Dcel
templateparameter should be instantiated with a class that is a model of the ArrangementDcelWithRebind
concept. The value of this parameter is by default Arr_default_dcel<Traits>
. ArrangementDcel
Arr_default_dcel<Traits>
ArrangementTraits_2
Arrangement_2<Traits,Dcel>
insertion functions
removal functions
overlaying arrangements
Types  
typedef Traits  Geometry_traits 
the geometry traits class.  
typedef Default_planar_topology< Geometry_traits, Dcel >::Traits  Topology_traits 
The topology traits.  
typedef Arrangement_on_surface_with_history_2< Geometry_traits, Topology_traits >  Base 
The base arrangement on surface type.  
Types inherited from the base Arrangement_on_surface_2_with_history_2.  
typedef Base::Point_2  Point_2 
typedef Base::X_monotone_curve_2  X_monotone_curve_2 
typedef Base::Curve_2  Curve_2 
typedef Base::Size  Size 
typedef Base::Curve_handle  Curve_handle 
typedef Base::Curve_iterator  Curve_iterator 
typedef Base::Induced_edge_iterator  Induced_edge_iterator 
typedef Base::Originating_curve_iterator  Originating_curve_iterator 
Creation  
Arrangement_with_history_2 ()  
constructs an empty arrangement containing one unbounded face, which corresponds to the whole plane.  
Arrangement_with_history_2 (const Arrangement_with_history_2< Traits, Dcel > &other)  
copy constructor. More...  
Arrangement_with_history_2 (const Traits *traits)  
constructs an empty arrangement that uses the given traits instance for performing the geometric predicates.  
Assignment Methods  
Arrangement_with_history_2< Traits, Dcel > &  operator= (other) 
assignment operator. More...  
void  assign (const Arrangement_with_history_2< Traits, Dcel > &other) 
assigns the contents of another arrangement. More...  
void  clear () 
clears the arrangement. More...  
Access Functions  
Traits *  traits () 
obtains the traits object used by the arrangement instance. More...  
CGAL::Arrangement_with_history_2< Traits, Dcel >::Arrangement_with_history_2  (  const Arrangement_with_history_2< Traits, Dcel > &  other  ) 
copy constructor.
void CGAL::Arrangement_with_history_2< Traits, Dcel >::assign  (  const Arrangement_with_history_2< Traits, Dcel > &  other  ) 
assigns the contents of another arrangement.
void CGAL::Arrangement_with_history_2< Traits, Dcel >::clear  (  ) 
clears the arrangement.
Arrangement_with_history_2<Traits, Dcel>& CGAL::Arrangement_with_history_2< Traits, Dcel >::operator=  (  other  ) 
assignment operator.
Traits* CGAL::Arrangement_with_history_2< Traits, Dcel >::traits  (  ) 
obtains the traits object used by the arrangement instance.
A const
version is also available.