|
BWAPI
|
#include <boost/mpl/assert.hpp>#include <CGAL/Arr_tags.h>#include <CGAL/Arr_enums.h>#include <CGAL/HalfedgeDS_iterator.h>#include <CGAL/Arrangement_2/Arrangement_2_iterators.h>#include <CGAL/In_place_list.h>#include <CGAL/Arr_default_dcel.h>#include <CGAL/Arr_observer.h>#include <CGAL/Arr_accessor.h>#include <CGAL/Arrangement_2/Arr_traits_adaptor_2.h>#include <CGAL/function_objects.h>#include <CGAL/Iterator_project.h>#include <CGAL/Iterator_transform.h>#include <map>#include <vector>#include <algorithm>#include <CGAL/Arrangement_2/Arrangement_on_surface_2_impl.h>#include <CGAL/Arrangement_2/Arrangement_on_surface_2_global.h>

Go to the source code of this file.
Classes | |
| class | Arrangement_on_surface_2< GeomTraits_, TopTraits_ > |
| class | Arrangement_on_surface_2< GeomTraits_, TopTraits_ >::_Is_concrete_vertex |
| class | Arrangement_on_surface_2< GeomTraits_, TopTraits_ >::_Is_valid_vertex |
| class | Arrangement_on_surface_2< GeomTraits_, TopTraits_ >::_Is_valid_halfedge |
| class | Arrangement_on_surface_2< GeomTraits_, TopTraits_ >::_Is_valid_face |
| class | Arrangement_on_surface_2< GeomTraits_, TopTraits_ >::_Is_unbounded_face |
| class | Arrangement_on_surface_2< GeomTraits_, TopTraits_ >::Edge_iterator |
| class | Arrangement_on_surface_2< GeomTraits_, TopTraits_ >::Edge_const_iterator |
| class | Arrangement_on_surface_2< GeomTraits_, TopTraits_ >::Unbounded_face_iterator |
| class | Arrangement_on_surface_2< GeomTraits_, TopTraits_ >::Unbounded_face_const_iterator |
| struct | Arrangement_on_surface_2< GeomTraits_, TopTraits_ >::_Halfedge_to_ccb_circulator |
| struct | Arrangement_on_surface_2< GeomTraits_, TopTraits_ >::_Const_halfedge_to_ccb_circulator |
| class | Arrangement_on_surface_2< GeomTraits_, TopTraits_ >::Isolated_vertex_iterator |
| class | Arrangement_on_surface_2< GeomTraits_, TopTraits_ >::Isolated_vertex_const_iterator |
| class | Arrangement_on_surface_2< GeomTraits_, TopTraits_ >::_Valid_vertex_iterator |
| class | Arrangement_on_surface_2< GeomTraits_, TopTraits_ >::Vertex |
| class | Arrangement_on_surface_2< GeomTraits_, TopTraits_ >::Halfedge |
| class | Arrangement_on_surface_2< GeomTraits_, TopTraits_ >::Face |
Functions | |
| 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 *=0) |
| template<class GeomTraits , class TopTraits , class Curve > | |
| void | insert (Arrangement_on_surface_2< GeomTraits, TopTraits > &arr, const Curve &c) |
| 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 > | |
| 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<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 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) |
The header file for the Arrangement_on_surface_2<Traits,Dcel> class.
| 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.

| 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 | ||
| ) |
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. |

| 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 | ||
| ) |
| 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. |

| 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