|
BWAPI
|
#include <boost/type_traits.hpp>#include <boost/mpl/if.hpp>#include <CGAL/Arrangement_on_surface_2.h>#include <CGAL/Arr_accessor.h>#include <CGAL/Basic_sweep_line_2.h>#include <CGAL/Sweep_line_2.h>#include <CGAL/Arrangement_zone_2.h>#include <CGAL/Arrangement_2/Arr_compute_zone_visitor.h>#include <CGAL/Arrangement_2/Arr_do_intersect_zone_visitor.h>#include <CGAL/Arrangement_2/Arr_traits_adaptor_2.h>#include <CGAL/Sweep_line_2/Sweep_line_2_utils.h>#include <CGAL/Sweep_line_2/Sweep_line_2_visitors.h>#include <list>

Go to the source code of this file.
Functions | |
| template<class GeomTraits , class TopTraits , class PointLocation , class ZoneVisitor > | |
| CGAL_BEGIN_NAMESPACE void | insert (Arrangement_on_surface_2< GeomTraits, TopTraits > &arr, const typename GeomTraits::Curve_2 &c, const PointLocation &pl, ZoneVisitor &visitor, boost::is_same< int, double >::type) |
| template<class GeomTraits , class TopTraits , class PointLocation , class ZoneVisitor > | |
| void | insert (Arrangement_on_surface_2< GeomTraits, TopTraits > &arr, const typename GeomTraits::X_monotone_curve_2 &c, const PointLocation &pl, ZoneVisitor &visitor, boost::is_same< int, int >::type) |
| template<class GeomTraits , class TopTraits , class Curve , class PointLocation , class ZoneVisitor > | |
| void | insert (Arrangement_on_surface_2< GeomTraits, TopTraits > &arr, const Curve &c, const PointLocation &pl, ZoneVisitor &visitor) |
| template<class GeomTraits , class TopTraits , class Curve , class PointLocation > | |
| void | insert (Arrangement_on_surface_2< GeomTraits, TopTraits > &arr, const Curve &c, const PointLocation &pl, typename PointLocation::Point_2 *) |
| template<class GeomTraits , class TopTraits , class Curve > | |
| void | insert (Arrangement_on_surface_2< GeomTraits, TopTraits > &arr, const Curve &c) |
| template<typename GeomTraits , typename TopTraits , typename InputIterator > | |
| void | insert_empty (Arrangement_on_surface_2< GeomTraits, TopTraits > &arr, InputIterator begin_xcurves, InputIterator end_xcurves) |
| template<typename GeomTraits , typename TopTraits , typename XcInputIterator , typename PInputIterator > | |
| void | insert_empty (Arrangement_on_surface_2< GeomTraits, TopTraits > &arr, XcInputIterator begin_xcurves, XcInputIterator end_xcurves, PInputIterator begin_points, PInputIterator end_points) |
| template<typename GeomTraits , typename TopTraits , typename XcInputIterator , typename PInputIterator > | |
| void | insert_non_empty (Arrangement_on_surface_2< GeomTraits, TopTraits > &arr, XcInputIterator begin_xcurves, XcInputIterator end_xcurves, PInputIterator begin_points, PInputIterator end_points) |
| template<class GeomTraits , class TopTraits , class InputIterator > | |
| void | insert (Arrangement_on_surface_2< GeomTraits, TopTraits > &arr, InputIterator begin, InputIterator end, boost::is_same< int, double >::type) |
| template<class GeomTraits , class TopTraits , class InputIterator > | |
| void | insert (Arrangement_on_surface_2< GeomTraits, TopTraits > &arr, InputIterator begin, InputIterator end, boost::is_same< int, int >::type) |
| template<class GeomTraits , class TopTraits , class InputIterator > | |
| void | insert (Arrangement_on_surface_2< GeomTraits, TopTraits > &arr, InputIterator begin, InputIterator end) |
| template<class GeomTraits , class TopTraits > | |
| void | insert (Arrangement_on_surface_2< GeomTraits, TopTraits > &arr, const typename GeomTraits::X_monotone_curve_2 &c, const Object &obj) |
| template<class GeomTraits , class TopTraits , class PointLocation > | |
| CGAL_DEPRECATED void | insert_x_monotone_curve (Arrangement_on_surface_2< GeomTraits, TopTraits > &arr, const typename GeomTraits::X_monotone_curve_2 &c, const PointLocation &pl) |
| template<class GeomTraits , class TopTraits > | |
| CGAL_DEPRECATED void | insert_x_monotone_curve (Arrangement_on_surface_2< GeomTraits, TopTraits > &arr, const typename GeomTraits::X_monotone_curve_2 &c) |
| template<class GeomTraits , class TopTraits , class InputIterator > | |
| CGAL_DEPRECATED void | insert_x_monotone_curves (Arrangement_on_surface_2< GeomTraits, TopTraits > &arr, InputIterator begin, InputIterator end) |
| template<class GeomTraits , class TopTraits > | |
| CGAL_DEPRECATED void | insert_x_monotone_curve (Arrangement_on_surface_2< GeomTraits, TopTraits > &arr, const typename GeomTraits::X_monotone_curve_2 &c, const Object &obj) |
| template<class GeomTraits , class TopTraits , class PointLocation > | |
| CGAL_DEPRECATED void | insert_curve (Arrangement_on_surface_2< GeomTraits, TopTraits > &arr, const typename GeomTraits::Curve_2 &c, const PointLocation &pl) |
| template<class GeomTraits , class TopTraits > | |
| CGAL_DEPRECATED void | insert_curve (Arrangement_on_surface_2< GeomTraits, TopTraits > &arr, const typename GeomTraits::Curve_2 &c) |
| template<class GeomTraits , class TopTraits , class InputIterator > | |
| CGAL_DEPRECATED void | insert_curves (Arrangement_on_surface_2< GeomTraits, TopTraits > &arr, InputIterator begin, InputIterator end) |
| template<class GeomTraits , class TopTraits , class PointLocation > | |
| Arrangement_on_surface_2 < GeomTraits, TopTraits > ::Halfedge_handle | insert_non_intersecting_curve (Arrangement_on_surface_2< GeomTraits, TopTraits > &arr, const typename GeomTraits::X_monotone_curve_2 &c, const PointLocation &pl) |
| template<class GeomTraits , class TopTraits > | |
| Arrangement_on_surface_2 < GeomTraits, TopTraits > ::Halfedge_handle | insert_non_intersecting_curve (Arrangement_on_surface_2< GeomTraits, TopTraits > &arr, const typename GeomTraits::X_monotone_curve_2 &c) |
| template<typename GeomTraits , typename TopTraits , typename InputIterator > | |
| void | non_intersecting_insert_empty (Arrangement_on_surface_2< GeomTraits, TopTraits > &arr, InputIterator begin_xcurves, InputIterator end_xcurves) |
| template<typename GeomTraits , typename TopTraits , typename XcInputIterator , typename PInputIterator > | |
| void | non_intersecting_insert_empty (Arrangement_on_surface_2< GeomTraits, TopTraits > &arr, XcInputIterator begin_xcurves, XcInputIterator end_xcurves, PInputIterator begin_points, PInputIterator end_points) |
| template<typename GeomTraits , typename TopTraits , typename XcInputIterator , typename PInputIterator > | |
| void | non_intersecting_insert_non_empty (Arrangement_on_surface_2< GeomTraits, TopTraits > &arr, XcInputIterator begin_xcurves, XcInputIterator end_xcurves, PInputIterator begin_points, PInputIterator end_points) |
| template<class GeomTraits , class TopTraits , class InputIterator > | |
| void | insert_non_intersecting_curves (Arrangement_on_surface_2< GeomTraits, TopTraits > &arr, InputIterator begin, InputIterator end) |
| template<class GeomTraits , class TopTraits > | |
| Arrangement_on_surface_2 < GeomTraits, TopTraits > ::Face_handle | remove_edge (Arrangement_on_surface_2< GeomTraits, TopTraits > &arr, typename Arrangement_on_surface_2< GeomTraits, TopTraits >::Halfedge_handle e) |
| template<class GeomTraits , class TopTraits , class PointLocation > | |
| Arrangement_on_surface_2 < GeomTraits, TopTraits > ::Vertex_handle | insert_point (Arrangement_on_surface_2< GeomTraits, TopTraits > &arr, const typename GeomTraits::Point_2 &p, const PointLocation &pl) |
| template<class GeomTraits , class TopTraits > | |
| Arrangement_on_surface_2 < GeomTraits, TopTraits > ::Vertex_handle | insert_point (Arrangement_on_surface_2< GeomTraits, TopTraits > &arr, const typename GeomTraits::Point_2 &p) |
| template<class GeomTraits , class TopTraits > | |
| bool | remove_vertex (Arrangement_on_surface_2< GeomTraits, TopTraits > &arr, typename Arrangement_on_surface_2< GeomTraits, TopTraits >::Vertex_handle v) |
| template<class GeomTraits , class TopTraits > | |
| bool | is_valid (const Arrangement_on_surface_2< GeomTraits, TopTraits > &arr) |
| template<class GeomTraits , class TopTraits , class OutputIterator , class PointLocation > | |
| OutputIterator | zone (Arrangement_on_surface_2< GeomTraits, TopTraits > &arr, const typename GeomTraits::X_monotone_curve_2 &c, OutputIterator oi, const PointLocation &pl) |
| template<class GeomTraits , class TopTraits , class OutputIterator > | |
| OutputIterator | zone (Arrangement_on_surface_2< GeomTraits, TopTraits > &arr, const typename GeomTraits::X_monotone_curve_2 &c, OutputIterator oi) |
| template<class GeomTraits , class TopTraits , class PointLocation > | |
| bool | do_intersect (Arrangement_on_surface_2< GeomTraits, TopTraits > &arr, const typename GeomTraits::X_monotone_curve_2 &c, const PointLocation &pl, boost::is_same< int, int >::type) |
| template<class GeomTraits , class TopTraits , class PointLocation > | |
| bool | do_intersect (Arrangement_on_surface_2< GeomTraits, TopTraits > &arr, const typename GeomTraits::X_monotone_curve_2 &c, const PointLocation &pl, boost::is_same< int, double >::type) |
| template<class GeomTraits , class TopTraits , class Curve , class PointLocation > | |
| bool | do_intersect (Arrangement_on_surface_2< GeomTraits, TopTraits > &arr, const Curve &c, const PointLocation &pl) |
| template<class GeomTraits , class TopTraits , class Curve > | |
| bool | do_intersect (Arrangement_on_surface_2< GeomTraits, TopTraits > &arr, const Curve &c) |
Global insertion functions for the Arrangement_2 class.
| bool do_intersect | ( | Arrangement_on_surface_2< GeomTraits, TopTraits > & | arr, |
| const typename GeomTraits::X_monotone_curve_2 & | c, | ||
| const PointLocation & | pl, | ||
| boost::is_same< int, int >::type | |||
| ) |

| bool do_intersect | ( | Arrangement_on_surface_2< GeomTraits, TopTraits > & | arr, |
| const typename GeomTraits::X_monotone_curve_2 & | c, | ||
| const PointLocation & | pl, | ||
| boost::is_same< int, double >::type | |||
| ) |

| bool do_intersect | ( | Arrangement_on_surface_2< GeomTraits, TopTraits > & | arr, |
| const Curve & | c, | ||
| const PointLocation & | pl | ||
| ) |
Checks if the given curve/x-monotone curve intersects the existing arrangement.
| arr | The arrangement. |
| c | The curve/x-monotone curve. |
| pi | The point location strategy that is used to locate the starting point. |

| bool do_intersect | ( | Arrangement_on_surface_2< GeomTraits, TopTraits > & | arr, |
| const Curve & | c | ||
| ) |
Checks if the given curve/x-monotone curve intersects the existing arrangement. Overloaded version with no point location object - the walk point-location strategy is used as default.

| CGAL_BEGIN_NAMESPACE void insert | ( | Arrangement_on_surface_2< GeomTraits, TopTraits > & | arr, |
| const typename GeomTraits::Curve_2 & | c, | ||
| const PointLocation & | pl, | ||
| ZoneVisitor & | visitor, | ||
| boost::is_same< int, double >::type | |||
| ) |

| void insert | ( | Arrangement_on_surface_2< GeomTraits, TopTraits > & | arr, |
| const typename GeomTraits::X_monotone_curve_2 & | c, | ||
| const PointLocation & | pl, | ||
| ZoneVisitor & | visitor, | ||
| boost::is_same< int, int >::type | |||
| ) |

| void insert | ( | Arrangement_on_surface_2< GeomTraits, TopTraits > & | arr, |
| const Curve & | c, | ||
| const PointLocation & | pl, | ||
| ZoneVisitor & | visitor | ||
| ) |

| void insert | ( | Arrangement_on_surface_2< GeomTraits, TopTraits > & | arr, |
| const Curve & | c, | ||
| const PointLocation & | pl, | ||
| typename PointLocation::Point_2 * | = 0 |
||
| ) |
Insert a curve or x-monotone curve into the arrangement (incremental insertion). The inserted curve can be x-monotone (or not) and may intersect the existing arrangement.
| arr | The arrangement. |
| cv | The curve to be inserted. |
| pl | A point-location object associated with the arrangement. |

| void insert | ( | Arrangement_on_surface_2< GeomTraits, TopTraits > & | arr, |
| const Curve & | c | ||
| ) |
| void insert | ( | Arrangement_on_surface_2< GeomTraits, TopTraits > & | arr, |
| InputIterator | begin, | ||
| InputIterator | end, | ||
| boost::is_same< int, double >::type | |||
| ) |

| void insert | ( | Arrangement_on_surface_2< GeomTraits, TopTraits > & | arr, |
| InputIterator | begin, | ||
| InputIterator | end, | ||
| boost::is_same< int, int >::type | |||
| ) |

| void insert | ( | Arrangement_on_surface_2< GeomTraits, TopTraits > & | arr, |
| InputIterator | begin, | ||
| InputIterator | end | ||
| ) |
Insert a range of curves or x-monotone curves into the arrangement (aggregated insertion). The inserted curves may intersect one another and may also intersect the existing arrangement.
| arr | The arrangement. |
| begin | An iterator for the first curve in the range. |
| end | A past-the-end iterator for the curve range. |

| void insert | ( | Arrangement_on_surface_2< GeomTraits, TopTraits > & | arr, |
| const typename GeomTraits::X_monotone_curve_2 & | c, | ||
| const Object & | obj | ||
| ) |
Insert an x-monotone curve into the arrangement (incremental insertion) when the location of the left endpoint of the curve is known and is given as an isertion hint. The inserted x-monotone curve may intersect the existing arrangement.
| arr | The arrangement. |
| cv | The x-monotone curve to be inserted. |
| obj | An object that represents the location of cv's left endpoint in the arrangement. |

| CGAL_DEPRECATED void insert_curve | ( | Arrangement_on_surface_2< GeomTraits, TopTraits > & | arr, |
| const typename GeomTraits::Curve_2 & | c, | ||
| const PointLocation & | pl | ||
| ) |

| CGAL_DEPRECATED void insert_curve | ( | Arrangement_on_surface_2< GeomTraits, TopTraits > & | arr, |
| const typename GeomTraits::Curve_2 & | c | ||
| ) |

| CGAL_DEPRECATED void insert_curves | ( | Arrangement_on_surface_2< GeomTraits, TopTraits > & | arr, |
| InputIterator | begin, | ||
| InputIterator | end | ||
| ) |

| void insert_empty | ( | Arrangement_on_surface_2< GeomTraits, TopTraits > & | arr, |
| InputIterator | begin_xcurves, | ||
| InputIterator | end_xcurves | ||
| ) |
Insert a range of x-monotone curves into an empty arrangement
| arr | the resulting arrangement |
| begin | the begining of the curve range |
| end | past-the-end curve range |


| void insert_empty | ( | Arrangement_on_surface_2< GeomTraits, TopTraits > & | arr, |
| XcInputIterator | begin_xcurves, | ||
| XcInputIterator | end_xcurves, | ||
| PInputIterator | begin_points, | ||
| PInputIterator | end_points | ||
| ) |
Insert a range of x-monotone curves and a range of isolated points into an empty arrangement
| arr | the resulting arrangement |
| begin_xcurves | the begining of the curve range |
| end_xcurves | past-the-end curve range |
| begin_points | the begining of the point range |
| end_points | past-the-end point range |

| void insert_non_empty | ( | Arrangement_on_surface_2< GeomTraits, TopTraits > & | arr, |
| XcInputIterator | begin_xcurves, | ||
| XcInputIterator | end_xcurves, | ||
| PInputIterator | begin_points, | ||
| PInputIterator | end_points | ||
| ) |
Insert a range of x-monotone curves into a non-empty arrangement
| arr | the resulting arrangement |
| begin | the begining of the curve range |
| end | past-the-end curve range |


| Arrangement_on_surface_2<GeomTraits, TopTraits>::Halfedge_handle insert_non_intersecting_curve | ( | Arrangement_on_surface_2< GeomTraits, TopTraits > & | arr, |
| const typename GeomTraits::X_monotone_curve_2 & | c, | ||
| const PointLocation & | pl | ||
| ) |
Insert an x-monotone curve into the arrangement, such that the curve interior does not intersect with any existing edge or vertex in the arragement (incremental insertion).
| arr | The arrangement. |
| c | The x-monotone curve to be inserted. |
| pl | A point-location object associated with the arrangement. |


| Arrangement_on_surface_2<GeomTraits, TopTraits>::Halfedge_handle insert_non_intersecting_curve | ( | Arrangement_on_surface_2< GeomTraits, TopTraits > & | arr, |
| const typename GeomTraits::X_monotone_curve_2 & | c | ||
| ) |
Insert an x-monotone curve into the arrangement, such that the curve interior does not intersect with any existing edge or vertex in the arragement (incremental insertion). The default point-location strategy is used for the curve insertion.

| void insert_non_intersecting_curves | ( | Arrangement_on_surface_2< GeomTraits, TopTraits > & | arr, |
| InputIterator | begin, | ||
| InputIterator | end | ||
| ) |
Insert a range of pairwise interior-disjoint x-monotone curves into the arrangement, such that the curve interiors do not intersect with any existing edge or vertex in the arragement (aggregated insertion).
| arr | The arrangement. |
| begin | An iterator for the first x-monotone curve in the range. |
| end | A past-the-end iterator for the x-monotone curve range. |


| Arrangement_on_surface_2<GeomTraits, TopTraits>::Vertex_handle insert_point | ( | Arrangement_on_surface_2< GeomTraits, TopTraits > & | arr, |
| const typename GeomTraits::Point_2 & | p, | ||
| const PointLocation & | pl | ||
| ) |
Insert a vertex that corresponds to a given point into the arrangement. The inserted point may lie on any existing arrangement feature.
| arr | The arrangement. |
| p | The point to be inserted. |
| pl | A point-location object associated with the arrangement. |


| Arrangement_on_surface_2<GeomTraits, TopTraits>::Vertex_handle insert_point | ( | Arrangement_on_surface_2< GeomTraits, TopTraits > & | arr, |
| const typename GeomTraits::Point_2 & | p | ||
| ) |
| CGAL_DEPRECATED void insert_x_monotone_curve | ( | Arrangement_on_surface_2< GeomTraits, TopTraits > & | arr, |
| const typename GeomTraits::X_monotone_curve_2 & | c, | ||
| const PointLocation & | pl | ||
| ) |

| CGAL_DEPRECATED void insert_x_monotone_curve | ( | Arrangement_on_surface_2< GeomTraits, TopTraits > & | arr, |
| const typename GeomTraits::X_monotone_curve_2 & | c | ||
| ) |

| CGAL_DEPRECATED void insert_x_monotone_curve | ( | Arrangement_on_surface_2< GeomTraits, TopTraits > & | arr, |
| const typename GeomTraits::X_monotone_curve_2 & | c, | ||
| const Object & | obj | ||
| ) |

| CGAL_DEPRECATED void insert_x_monotone_curves | ( | Arrangement_on_surface_2< GeomTraits, TopTraits > & | arr, |
| InputIterator | begin, | ||
| InputIterator | end | ||
| ) |

| bool is_valid | ( | const Arrangement_on_surface_2< GeomTraits, TopTraits > & | arr | ) |
Check the validity of the arrangement. In particular, check that the edegs are disjoint-interior, and the holes are located in their proper position.
| arr | The arrangement. |

| void non_intersecting_insert_empty | ( | Arrangement_on_surface_2< GeomTraits, TopTraits > & | arr, |
| InputIterator | begin_xcurves, | ||
| InputIterator | end_xcurves | ||
| ) |
Insert a range of x-monotone curves into an empty arrangement
| arr | the resulting arrangement |
| begin | the begining of the curve range |
| end | past-the-end curve range |


| void non_intersecting_insert_empty | ( | Arrangement_on_surface_2< GeomTraits, TopTraits > & | arr, |
| XcInputIterator | begin_xcurves, | ||
| XcInputIterator | end_xcurves, | ||
| PInputIterator | begin_points, | ||
| PInputIterator | end_points | ||
| ) |
Insert a range of x-monotone curves into an empty arrangement
| arr | the resulting arrangement |
| begin | the begining of the curve range |
| end | past-the-end curve range |

| void non_intersecting_insert_non_empty | ( | Arrangement_on_surface_2< GeomTraits, TopTraits > & | arr, |
| XcInputIterator | begin_xcurves, | ||
| XcInputIterator | end_xcurves, | ||
| PInputIterator | begin_points, | ||
| PInputIterator | end_points | ||
| ) |
Insert a range of x-monotone curves into a non-empty arrangement
| arr | the resulting arrangement |
| begin | the begining of the curve range |
| end | past-the-end curve range |


| Arrangement_on_surface_2<GeomTraits, TopTraits>::Face_handle remove_edge | ( | Arrangement_on_surface_2< GeomTraits, TopTraits > & | arr, |
| typename Arrangement_on_surface_2< GeomTraits, TopTraits >::Halfedge_handle | e | ||
| ) |
Remove an edge from the arrangement. In case it is possible to merge the edges incident to the end-vertices of the removed edge after its deletion, the function performs these merges as well.

| bool remove_vertex | ( | Arrangement_on_surface_2< GeomTraits, TopTraits > & | arr, |
| typename Arrangement_on_surface_2< GeomTraits, TopTraits >::Vertex_handle | v | ||
| ) |
| OutputIterator zone | ( | Arrangement_on_surface_2< GeomTraits, TopTraits > & | arr, |
| const typename GeomTraits::X_monotone_curve_2 & | c, | ||
| OutputIterator | oi, | ||
| const PointLocation & | pl | ||
| ) |
Compute the zone of the given x-monotone curve in the existing arrangement. Meaning, it output the arrangment's vertices, edges and faces that the x-monotone curve intersects.
| arr | The arrangement. |
| c | The x-monotone curve that its zone was computed. |
| oi | Output iterator of CGAL::Object to insert the zone elements to. |
| pi | The point location strategy that is used to locate the starting point. |


| OutputIterator zone | ( | Arrangement_on_surface_2< GeomTraits, TopTraits > & | arr, |
| const typename GeomTraits::X_monotone_curve_2 & | c, | ||
| OutputIterator | oi | ||
| ) |
Compute the zone of the given x-monotone curve in the existing arrangement. Overloaded version with no point location object - the walk point-location strategy is used as default.
| arr | The arrangement. |
| c | The x-monotone curve that its zone was computed. |
| oi | Output iterator of CGAL::Object to insert the zone elements to. |

1.7.6.1