\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)
CGAL 4.6 - 2D Regularized Boolean Set-Operations
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
CGAL Namespace Reference

Classes

class  Gps_default_dcel
 The class Gps_default_dcel is the default Dcel class used by the General_polygon_set_2 and Polygon_set_2 class-templates to represent the underlying internal Arrangement_2 data structure. More...
 
class  General_polygon_2
 The class General_polygon_2 models the concept GeneralPolygon_2. More...
 
class  General_polygon_set_2
 An object of the General_polygon_set_2 class-template represents a point set in the plane bounded by \( x\) monotone curves. More...
 
class  General_polygon_with_holes_2
 
class  Gps_circle_segment_traits_2
 The traits class Gps_circle_segment_traits_2 models the GeneralPolygonSetTraits_2 concept. More...
 
class  Gps_segment_traits_2
 
class  Gps_traits_2
 The traits class Gps_traits_2 models the concept GeneralPolygonSetTraits_2. More...
 
class  Polygon_set_2
 The class Polygon_set_2 represents sets of linear polygons with holes. More...
 
class  Polygon_with_holes_2
 The class Polygon_with_holes_2 models the concept GeneralPolygonWithHoles_2. More...
 

Functions

template<class Kernel , class Container >
void complement (const Polygon_2< Kernel, Container > &pgn, Polygon_with_holes_2< Kernel, Container > &res)
 writes the complement of the polygon pgn into the polygon with holes res.
 
template<class Traits >
void complement (const General_polygon_2< Traits > &pgn, General_polygon_with_holes_2< Traits > &res)
 writes the complement of the general polygon pgn into the general polygon with holes res.
 
template<class Traits , class OutputIterator >
OutputIterator complement (const Polygon_with_holes_2< Kernel, Container > &pgn, OutputIterator oi)
 writes the complement of the polygon with holes pgn into the output iterator oi. More...
 
template<class Traits , class OutputIterator >
OutputIterator complement (const General_polygon_with_holes_2< General_polygon_2< Traits > > &pgn, OutputIterator oi)
 writes the complement of the general polygon with holes pgn into the output iterator oi. More...
 
template<class Kernel , class Container , class OutputIterator >
OutputIterator difference (const Polygon_2< Kernel, Container > &p1, const Polygon_2< Kernel, Container > &p2, OutputIterator oi)
 writes the difference of the polygons p1 and p2 into the output iterator oi. More...
 
template<class Kernel , class Container , class OutputIterator >
OutputIterator difference (const Polygon_2< Kernel, Container > &p1, const Polygon_with_holes_2< Kernel, Container > &p2, OutputIterator oi)
 writes the difference of the polygons p1 and p2 into the output iterator oi. More...
 
template<class Kernel , class Container , class OutputIterator >
OutputIterator difference (const Polygon_with_holes_2< Kernel, Container > &p1, const Polygon_2< Kernel, Container > &p2, OutputIterator oi)
 writes the difference of the polygons p1 and p2 into the output iterator oi. More...
 
template<class Kernel , class Container , class OutputIterator >
OutputIterator difference (const Polygon_with_holes_2< Kernel, Container > &p1, const Polygon_with_holes_2< Kernel, Container > &p2, OutputIterator oi)
 writes the difference of the polygons p1 and p2 into the output iterator oi. More...
 
template<class Traits , class OutputIterator >
OutputIterator difference (const General_polygon_2< Traits > &p1, const General_polygon_2< Traits > &p2, OutputIterator oi)
 writes the difference of the general polygons p1 and p2 into the output iterator oi. More...
 
template<class Traits , class OutputIterator >
OutputIterator difference (const General_polygon_with_holes_2< General_polygon_2< Traits > > &p1, const General_polygon_2< Traits > &p2, OutputIterator oi)
 writes the difference of the general polygons p1 and p2 into the output iterator oi. More...
 
template<class Traits , class OutputIterator >
OutputIterator difference (const General_polygon_2< Traits > &p1, const General_polygon_with_holes_2< General_polygon_2< Traits > > &p2, OutputIterator oi)
 writes the difference of the general polygons p1 and p2 into the output iterator oi. More...
 
template<class Polygon , class OutputIterator >
OutputIterator difference (const General_polygon_with_holes_2< Polygon > &p1, const General_polygon_with_holes_2< Polygon > &p2, OutputIterator oi)
 writes the difference of the general polygons p1 and p2 into the output iterator oi. More...
 
template<class Kernel , class Container >
bool do_intersect (const Polygon_2< Kernel, Container > &p1, const Polygon_2< Kernel, Container > &p2)
 returns true if the polygons p1 and p2 intersect in their interior.
 
template<class Kernel , class Container >
bool do_intersect (const Polygon_2< Kernel, Container > &p1, const Polygon_with_holes_2< Kernel, Container > &p2)
 returns true if the polygons p1 and p2 intersect in their interior.
 
template<class Kernel , class Container >
bool do_intersect (const Polygon_with_holes_2< Kernel, Container > &p1, const Polygon_2< Kernel, Container > &p2)
 returns true if the polygons p1 and p2 intersect in their interior. More...
 
template<class Kernel , class Container >
bool do_intersect (const Polygon_with_holes_2< Kernel, Container > &p1, const Polygon_with_holes_2< Kernel, Container > &p2)
 returns true if the polygons p1 and p2 intersect in their interior.
 
template<class Traits >
bool do_intersect (const General_polygon_2< Traits > &p1, const General_polygon_2< Traits > &p2)
 returns true if the general polygons p1 and p2 intersect in their interior.
 
template<class Traits >
bool do_intersect (const General_polygon_2< Traits > &p1, const General_polygon_with_holes_2< General_polygon_2< Traits > > &p2)
 returns true if the general polygons p1 and p2 intersect in their interior.
 
template<class Traits >
bool do_intersect (const General_polygon_with_holes_2< General_polygon_2< Traits > > &p1, const General_polygon_2< Traits > &p2)
 returns true if the general polygons p1 and p2 intersect in their interior.
 
template<class Polygon >
bool do_intersect (const General_polygon_with_holes_2< Polygon > &p1, const General_polygon_with_holes_2< Polygon > &p2)
 returns true if the general polygons p1 and p2 intersect in their interior.
 
template<class InputIterator >
bool do_intersect (InputIterator begin, InputIterator end)
 returns true, if the set of general polygons (or general polygons with holes) in the given range intersect in their interior, and false otherwise. More...
 
template<class InputIterator1 , class InputIterator2 >
bool do_intersect (InputIterator1 pgn_begin1, InputIterator1 pgn_end1, InputIterator2 pgn_begin2, InputIterator2 pgn_end2)
 returns true, if the set of general polygons and general polygons with holes in the given two ranges respectively intersect in their interior, and false otherwise.
 
OutputIterator intersection (const Type1 &p1, const Type2 &p2, OutputIterator oi)
 writes the intersection of the polygons p1 and p2 into the output iterator oi. More...
 
template<class Kernel , class Container , class OutputIterator >
OutputIterator intersection (const Polygon_2< Kernel, Container > &p1, const Polygon_2< Kernel, Container > &p2, OutputIterator oi)
 writes the intersection of the polygons p1 and p2 into the output iterator oi. More...
 
template<class Kernel , class Container , class OutputIterator >
OutputIterator intersection (const Polygon_2< Kernel, Container > &p1, const Polygon_with_holes_2< Kernel, Container > &p2, OutputIterator oi)
 writes the intersection of the polygons p1 and p2 into the output iterator oi. More...
 
template<class Kernel , class Container , class OutputIterator >
OutputIterator intersection (const Polygon_with_holes_2< Kernel, Container > &p1, const Polygon_2< Kernel, Container > &p2, OutputIterator oi)
 writes the intersection of the polygons p1 and p2 into the output iterator oi. More...
 
template<class Kernel , class Container , class OutputIterator >
OutputIterator intersection (const Polygon_with_holes_2< Kernel, Container > &p1, const Polygon_with_holes_2< Kernel, Container > &p2, OutputIterator oi)
 writes the intersection of the polygons p1 and p2 into the output iterator oi. More...
 
template<class Traits , class OutputIterator >
OutputIterator intersection (const General_polygon_2< Traits > &p1, const General_polygon_2< Traits > &p2, OutputIterator oi)
 writes the intersection of the general polygons p1 and p2 into the output iterator oi. More...
 
template<class Traits , class OutputIterator >
OutputIterator intersection (const General_polygon_with_holes_2< General_polygon_2< Traits > > &p1, const General_polygon_2< Traits > &p2, OutputIterator oi)
 writes the intersection of the general polygons p1 and p2 into the output iterator oi. More...
 
template<class Traits , class OutputIterator >
OutputIterator intersection (const General_polygon_2< Traits > &p1, const General_polygon_with_holes_2< General_polygon_2< Traits > > &p2, OutputIterator oi)
 writes the intersection of the general polygons p1 and p2 into the output iterator oi. More...
 
template<class Polygon , class OutputIterator >
OutputIterator intersection (const General_polygon_with_holes_2< Polygon > &p1, const General_polygon_with_holes_2< Polygon > &p2, OutputIterator oi)
 writes the intersection of the general polygons p1 and p2 into the output iterator oi. More...
 
template<class InputIterator , class OutputIterator >
OutputIterator intersection (InputIterator begin, InputIterator end, OutputIterator oi)
 computes the intersection of the general polygons (or general polygons with holes) in the given range. More...
 
template<class InputIterator1 , class InputIterator2 , class OutputIterator >
OutputIterator intersection (InputIterator1 pgn_begin1, InputIterator1 pgn_end1, InputIterator2 pgn_begin2, InputIterator2 pgn_end2, OutputIterator oi)
 computes the intersection of the general polygons and general polygons with holes in the given two ranges. More...
 
template<class Kernel , class Container >
bool join (const Polygon_2< Kernel, Container > &p1, const Polygon_2< Kernel, Container > &p2, General_polygon_with_holes_2< Polygon_2< Kernel, Container > > &res)
 writes the union of the polygons p1 and p2 into the polygon with holes res. More...
 
template<class Kernel , class Container >
bool join (const Polygon_2< Kernel, Container > &p1, const Polygon_with_holes_2< Kernel, Container > &p2, General_polygon_with_holes_2< Polygon_2< Kernel, Container > > &res)
 writes the union of the polygons p1 and p2 into the polygon with holes res. More...
 
template<class Kernel , class Container >
bool join (const Polygon_with_holes_2< Kernel, Container > &p2, const Polygon_2< Kernel, Container > &p1, General_polygon_with_holes_2< Polygon_2< Kernel, Container > > &res)
 writes the union of the polygons p1 and p2 into the polygon with holes res. More...
 
template<class Kernel , class Container >
bool join (const Polygon_with_holes_2< Kernel, Container > &p2, const Polygon_with_holes_2< Kernel, Container > &p1, General_polygon_with_holes_2< Polygon_2< Kernel, Container > > &res)
 writes the union of the polygons p1 and p2 into the polygon with holes res. More...
 
template<class Traits >
bool join (const General_polygon_2< Traits > &p1, const General_polygon_2< Traits > &p2, General_polygon_with_holes_2< General_polygon_2< Traits > > &res)
 writes the union of the general polygons p1 and p2 into the polygon with holes res. More...
 
template<class Traits >
bool join (const General_polygon_2< Traits > &p1, const General_polygon_with_holes_2< General_polygon_2< Traits > > &p2, General_polygon_with_holes_2< General_polygon_2< Traits > > &res)
 writes the union of the polygons p1 and p2 into the polygon with holes res. More...
 
template<class Traits >
bool join (const General_polygon_with_holes_2< General_polygon_2< Traits > > &p2, const General_polygon_2< Traits > &p1, General_polygon_with_holes_2< General_polygon_2< Traits > > &res)
 writes the union of the general polygons p1 and p2 into the polygon with holes res. More...
 
template<class Polygon >
bool join (const General_polygon_with_holes_2< Polygon > &p1, const General_polygon_with_holes_2< Polygon > &p2, Traits::Polygon_with_holes_2 &res)
 writes the union of the general polygons p1 and p2 into the polygon with holes res. More...
 
template<class InputIterator , class OutputIterator >
OutputIterator join (InputIterator begin, InputIterator end, OutputIterator oi)
 computes the union of the general polygons (or general polygons with holes) in the given range. More...
 
template<class InputIterator1 , class InputIterator2 , class OutputIterator >
OutputIterator join (InputIterator1 pgn_begin1, InputIterator1 pgn_end1, InputIterator2 pgn_begin2, InputIterator2 pgn_end2, OutputIterator oi)
 computes the union of the general polygons and general polygons with holes in the given two ranges. More...
 
template<class Kernel , class Container >
Oriented_side oriented_side (const Polygon_2< Kernel, Container > &p1, const Polygon_2< Kernel, Container > &p2)
 
template<class Kernel , class Container >
Oriented_side oriented_side (const Polygon_2< Kernel, Container > &p1, const Polygon_with_holes_2< Kernel, Container > &p2)
 
template<class Kernel , class Container >
Oriented_side oriented_side (const Polygon_with_holes_2< Kernel, Container > &p1, const Polygon_2< Kernel, Container > &p2)
 
template<class Kernel , class Container >
Oriented_side oriented_side (const Polygon_with_holes_2< Kernel, Container > &p1, const Polygon_with_holes_2< Kernel, Container > &p2)
 
template<class Traits >
Oriented_side oriented_side (const General_polygon_2< Traits > &p1, const General_polygon_2< Traits > &p2)
 
template<class Traits >
Oriented_side oriented_side (const General_polygon_2< Traits > &p1, const General_polygon_with_holes_2< General_polygon_2< Traits > > &p2)
 
template<class Traits >
Oriented_side oriented_side (const General_polygon_with_holes_2< General_polygon_2< Traits > > &p1, const General_polygon_2< Traits > &p2)
 
template<class Polygon >
Oriented_side oriented_side (const General_polygon_with_holes_2< Polygon > &p1, const General_polygon_with_holes_2< Polygon > &p2)
 
OutputIterator symmetric_difference (const Type1 &p1, const Type2 &p2, OutputIterator oi)
 
template<class Kernel , class Container , class OutputIterator >
OutputIterator symmetric_difference (const Polygon_2< Kernel, Container > &p1, const Polygon_2< Kernel, Container > &p2, OutputIterator oi)
 
template<class Kernel , class Container , class OutputIterator >
OutputIterator symmetric_difference (const Polygon_2< Kernel, Container > &p1, const Polygon_with_holes_2< Kernel, Container > &p2, OutputIterator oi)
 
template<class Kernel , class Container , class OutputIterator >
OutputIterator symmetric_difference (const Polygon_with_holes_2< Kernel, Container > &p1, const Polygon_2< Kernel, Container > &p2, OutputIterator oi)
 
template<class Kernel , class Container , class OutputIterator >
OutputIterator symmetric_difference (const Polygon_with_holes_2< Kernel, Container > &p1, const Polygon_with_holes_2< Kernel, Container > &p2, OutputIterator oi)
 
template<class Traits , class OutputIterator >
OutputIterator symmetric_difference (const General_polygon_2< Traits > &p1, const General_polygon_2< Traits > &p2, OutputIterator oi)
 
template<class Traits , class OutputIterator >
OutputIterator symmetric_difference (const General_polygon_with_holes_2< General_polygon_2< Traits > > &p1, const General_polygon_2< Traits > &p2, OutputIterator oi)
 
template<class Traits , class OutputIterator >
OutputIterator symmetric_difference (const General_polygon_2< Traits > &p1, const General_polygon_with_holes_2< General_polygon_2< Traits > > &p2, OutputIterator oi)
 
template<class Polygon , class OutputIterator >
OutputIterator symmetric_difference (const General_polygon_with_holes_2< Polygon > &p1, const General_polygon_with_holes_2< Polygon > &p2, OutputIterator oi)
 
template<class InputIterator , class OutputIterator >
OutputIterator symmetric_difference (InputIterator begin, InputIterator end, OutputIterator oi)
 computes the symmetric difference of the general polygons (or general polygons with holes) in the given range. More...
 
template<class InputIterator1 , class InputIterator2 , class OutputIterator >
OutputIterator symmetric_difference (InputIterator1 pgn_begin1, InputIterator1 pgn_end1, InputIterator2 pgn_begin2, InputIterator2 pgn_end2, OutputIterator oi)
 computes the symmetric difference of the general polygons and general polygons with holes in the given two ranges. More...
 
template<class Kernel , class Container , class OutputIterator >
OutputIterator connect_holes (const Polygon_with_holes_2< Kernel, Container > &pwh, OutputIterator oi)
 Connects the holes of pwh with its outer boundary. More...