CGAL 5.5  2D Polygons

A model of this concept represents a general polygon with holes. The concept requires the ability to access the general polygon that represents the outer boundary and the general polygons that represent the holes.
Types  
typedef unspecified_type  Polygon_2 
the polygon type used to represent the outer boundary and each hole.  
typedef unspecified_type  Hole_const_iterator 
a bidirectional iterator over the polygonal holes. More...  
typedef unspecified_type  Holes_container 
range type for iterating over holes.  
Creation  
template<typename InputIterator >  
GeneralPolygonWithHoles_2 (Polygon_2 &outer, InputIterator begin, InputIterator end)  
constructs a general polygon with holes using a given general polygon outer as the outer boundary and a given range of holes. More...  
Predicates  
bool  is_unbounded () 
returns true if the outer boundary is empty, and false otherwise.  
Access Functions  
const Polygon_2 &  outer_boundary () const 
returns the general polygon that represents the outer boundary. More...  
Hole_const_iterator  holes_begin () const 
returns the begin iterator of the holes.  
Hole_const_iterator  holes_end () const 
returns the pasttheend iterator of the holes.  
const Holes_container &  holes () const 
returns the range of holes.  
a bidirectional iterator over the polygonal holes.
Its value type is Polygon_2
.
GeneralPolygonWithHoles_2::GeneralPolygonWithHoles_2  (  Polygon_2 &  outer, 
InputIterator  begin,  
InputIterator  end  
) 
constructs a general polygon with holes using a given general polygon outer
as the outer boundary and a given range of holes.
If outer
is an empty general polygon, then an unbounded polygon with holes will be created. The holes must be contained inside the outer boundary, and the polygons representing the holes must be simple and pairwise disjoint, except perhaps at the vertices.
const Polygon_2& GeneralPolygonWithHoles_2::outer_boundary  (  )  const 
returns the general polygon that represents the outer boundary.
Note that this polygon is not necessarily a valid (simple) general polygon because it may be relatively simple.