\( \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.8 - 2D Regularized Boolean Set-Operations

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Classes | Functions
CGAL Namespace Reference

## Classes
class | Gps_face_base
| An instance of this template serves as a basis type for any face record of the Dcel class used by instances of the `General_polygon_set_2` and `General_polygon_with_holes_2` class templates. More...
class | Gps_halfedge_base
| An instance of this teplate serves as a basis type for any halfedge record of the Dcel class used by instances of the General_polygon_set_2 `and`General_polygon_with_holes_2` class templates. More...
class | Gps_default_dcel
| The default Dcel class template used by the `General_polygon_set_2` and `General_polygon_with_holes_2` class templates. 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...