|
BWAPI
|
#include <Arr_overlay_sl_visitor.h>


A sweep-line visitor for overlaying a "red" arrangement and a "blue" arrangement, creating a result arrangement. All three arrangements are embedded on the same type of surface and use the same geometry traits.
| typedef Overlay_helper::Arrangement_2 Arr_overlay_sl_visitor< OverlayHelper_, OverlayTraits_ >::Arrangement_2 |
Reimplemented from Arr_construction_sl_visitor< OverlayHelper_::Construction_helper >.
| typedef Overlay_helper::Arrangement_blue_2 Arr_overlay_sl_visitor< OverlayHelper_, OverlayTraits_ >::Arrangement_blue_2 |
| typedef Overlay_helper::Arrangement_red_2 Arr_overlay_sl_visitor< OverlayHelper_, OverlayTraits_ >::Arrangement_red_2 |
| typedef Arr_construction_sl_visitor<Construction_helper> Arr_overlay_sl_visitor< OverlayHelper_, OverlayTraits_ >::Base |
Reimplemented from Arr_construction_sl_visitor< OverlayHelper_::Construction_helper >.
Reimplemented in Arr_spherical_topology_traits_2< GeomTraits, T_Dcel >::Sweep_line_overlay_visitor< ArrangementA_, ArrangementB_, OverlayTraits_ >, Arr_unb_planar_topology_traits_2< GeomTraits_, Dcel_ >::Sweep_line_overlay_visitor< ArrangementA_, ArrangementB_, OverlayTraits_ >, and Arr_bounded_planar_topology_traits_2< GeomTraits_, Dcel_ >::Sweep_line_overlay_visitor< ArrangementA_, ArrangementB_, OverlayTraits_ >.
| typedef Arrangement_2::Ccb_halfedge_circulator Arr_overlay_sl_visitor< OverlayHelper_, OverlayTraits_ >::Ccb_halfedge_circulator |
| typedef Overlay_helper::Construction_helper Arr_overlay_sl_visitor< OverlayHelper_, OverlayTraits_ >::Construction_helper |
| typedef Overlay_helper::Event Arr_overlay_sl_visitor< OverlayHelper_, OverlayTraits_ >::Event |
Reimplemented from Arr_construction_sl_visitor< OverlayHelper_::Construction_helper >.
Reimplemented in Arr_spherical_topology_traits_2< GeomTraits, T_Dcel >::Sweep_line_overlay_visitor< ArrangementA_, ArrangementB_, OverlayTraits_ >, Arr_unb_planar_topology_traits_2< GeomTraits_, Dcel_ >::Sweep_line_overlay_visitor< ArrangementA_, ArrangementB_, OverlayTraits_ >, and Arr_bounded_planar_topology_traits_2< GeomTraits_, Dcel_ >::Sweep_line_overlay_visitor< ArrangementA_, ArrangementB_, OverlayTraits_ >.
| typedef Base::Event_subcurve_iterator Arr_overlay_sl_visitor< OverlayHelper_, OverlayTraits_ >::Event_subcurve_iterator |
Reimplemented from Arr_construction_sl_visitor< OverlayHelper_::Construction_helper >.
| typedef Base::Event_subcurve_reverse_iterator Arr_overlay_sl_visitor< OverlayHelper_, OverlayTraits_ >::Event_subcurve_reverse_iterator |
Reimplemented from Arr_construction_sl_visitor< OverlayHelper_::Construction_helper >.
| typedef Arrangement_2::Face_handle Arr_overlay_sl_visitor< OverlayHelper_, OverlayTraits_ >::Face_handle |
Reimplemented from Arr_construction_sl_visitor< OverlayHelper_::Construction_helper >.
| typedef Arrangement_blue_2::Face_const_handle Arr_overlay_sl_visitor< OverlayHelper_, OverlayTraits_ >::Face_handle_blue |
| typedef Arrangement_red_2::Face_const_handle Arr_overlay_sl_visitor< OverlayHelper_, OverlayTraits_ >::Face_handle_red |
| typedef Arrangement_2::Halfedge_handle Arr_overlay_sl_visitor< OverlayHelper_, OverlayTraits_ >::Halfedge_handle |
Reimplemented from Arr_construction_sl_visitor< OverlayHelper_::Construction_helper >.
| typedef Arrangement_blue_2::Halfedge_const_handle Arr_overlay_sl_visitor< OverlayHelper_, OverlayTraits_ >::Halfedge_handle_blue |
| typedef Arrangement_red_2::Halfedge_const_handle Arr_overlay_sl_visitor< OverlayHelper_, OverlayTraits_ >::Halfedge_handle_red |
typedef Unique_hash_map<Halfedge_handle, Halfedge_info> Arr_overlay_sl_visitor< OverlayHelper_, OverlayTraits_ >::Halfedge_hash_map [protected] |
typedef std::pair<Halfedge_handle_red, Halfedge_handle_blue> Arr_overlay_sl_visitor< OverlayHelper_, OverlayTraits_ >::Halfedge_info [protected] |
| typedef Arrangement_2::Outer_ccb_iterator Arr_overlay_sl_visitor< OverlayHelper_, OverlayTraits_ >::Outer_ccb_iterator |
| typedef OverlayHelper_ Arr_overlay_sl_visitor< OverlayHelper_, OverlayTraits_ >::Overlay_helper |
| typedef OverlayTraits_ Arr_overlay_sl_visitor< OverlayHelper_, OverlayTraits_ >::Overlay_traits |
Reimplemented in Arr_spherical_topology_traits_2< GeomTraits, T_Dcel >::Sweep_line_overlay_visitor< ArrangementA_, ArrangementB_, OverlayTraits_ >, Arr_unb_planar_topology_traits_2< GeomTraits_, Dcel_ >::Sweep_line_overlay_visitor< ArrangementA_, ArrangementB_, OverlayTraits_ >, and Arr_bounded_planar_topology_traits_2< GeomTraits_, Dcel_ >::Sweep_line_overlay_visitor< ArrangementA_, ArrangementB_, OverlayTraits_ >.
| typedef Traits_2::Point_2 Arr_overlay_sl_visitor< OverlayHelper_, OverlayTraits_ >::Point_2 |
Reimplemented from Arr_construction_sl_visitor< OverlayHelper_::Construction_helper >.
| typedef Base::Status_line_iterator Arr_overlay_sl_visitor< OverlayHelper_, OverlayTraits_ >::Status_line_iterator |
Reimplemented from Arr_construction_sl_visitor< OverlayHelper_::Construction_helper >.
| typedef Overlay_helper::Subcurve Arr_overlay_sl_visitor< OverlayHelper_, OverlayTraits_ >::Subcurve |
Reimplemented from Arr_construction_sl_visitor< OverlayHelper_::Construction_helper >.
Reimplemented in Arr_spherical_topology_traits_2< GeomTraits, T_Dcel >::Sweep_line_overlay_visitor< ArrangementA_, ArrangementB_, OverlayTraits_ >, Arr_unb_planar_topology_traits_2< GeomTraits_, Dcel_ >::Sweep_line_overlay_visitor< ArrangementA_, ArrangementB_, OverlayTraits_ >, and Arr_bounded_planar_topology_traits_2< GeomTraits_, Dcel_ >::Sweep_line_overlay_visitor< ArrangementA_, ArrangementB_, OverlayTraits_ >.
| typedef Overlay_helper::Traits_2 Arr_overlay_sl_visitor< OverlayHelper_, OverlayTraits_ >::Traits_2 |
Reimplemented from Arr_construction_sl_visitor< OverlayHelper_::Construction_helper >.
Reimplemented in Arr_spherical_topology_traits_2< GeomTraits, T_Dcel >::Sweep_line_overlay_visitor< ArrangementA_, ArrangementB_, OverlayTraits_ >, Arr_unb_planar_topology_traits_2< GeomTraits_, Dcel_ >::Sweep_line_overlay_visitor< ArrangementA_, ArrangementB_, OverlayTraits_ >, and Arr_bounded_planar_topology_traits_2< GeomTraits_, Dcel_ >::Sweep_line_overlay_visitor< ArrangementA_, ArrangementB_, OverlayTraits_ >.
| typedef Arrangement_2::Vertex_handle Arr_overlay_sl_visitor< OverlayHelper_, OverlayTraits_ >::Vertex_handle |
Reimplemented from Arr_construction_sl_visitor< OverlayHelper_::Construction_helper >.
| typedef Arrangement_blue_2::Vertex_const_handle Arr_overlay_sl_visitor< OverlayHelper_, OverlayTraits_ >::Vertex_handle_blue |
| typedef Arrangement_red_2::Vertex_const_handle Arr_overlay_sl_visitor< OverlayHelper_, OverlayTraits_ >::Vertex_handle_red |
| typedef Traits_2::X_monotone_curve_2 Arr_overlay_sl_visitor< OverlayHelper_, OverlayTraits_ >::X_monotone_curve_2 |
Reimplemented from Arr_construction_sl_visitor< OverlayHelper_::Construction_helper >.
| Arr_overlay_sl_visitor< OverlayHelper_, OverlayTraits_ >::Arr_overlay_sl_visitor | ( | const Arrangement_red_2 * | red_arr, |
| const Arrangement_blue_2 * | blue_arr, | ||
| Arrangement_2 * | res_arr, | ||
| Overlay_traits * | overlay_traits | ||
| ) | [inline] |
Constructor
| virtual Arr_overlay_sl_visitor< OverlayHelper_, OverlayTraits_ >::~Arr_overlay_sl_visitor | ( | ) | [inline, virtual] |
Destructor
| void Arr_overlay_sl_visitor< OvlHlpr, OvlTr >::_create_edge | ( | Subcurve * | sc, |
| Halfedge_handle | res_he | ||
| ) | [protected] |
Update a newly created result edge using the overlay traits.
| sc | The subcurve associated with the new edge. |
| res_he | One of the new halfedges in the overlaid arrangement. |
| void Arr_overlay_sl_visitor< OvlHlpr, OvlTr >::_create_vertex | ( | Event * | event, |
| Vertex_handle | res_v, | ||
| Subcurve * | sc | ||
| ) | [protected] |
| void Arr_overlay_sl_visitor< OvlHlpr, OvlTr >::_map_halfedge_and_twin | ( | Halfedge_handle | he, |
| Halfedge_handle_red | red_he, | ||
| Halfedge_handle_blue | blue_he | ||
| ) | [protected] |
| bool Arr_overlay_sl_visitor< OvlHlpr, OvlTr >::after_handle_event | ( | Event * | event, |
| Status_line_iterator | iter, | ||
| bool | flag | ||
| ) |
A notification invoked after the sweep-line finishes handling the given event.

| void Arr_overlay_sl_visitor< OvlHlpr, OvlTr >::after_sweep | ( | ) |
| void Arr_overlay_sl_visitor< OvlHlpr, OvlTr >::before_handle_event | ( | Event * | event | ) |
A notification invoked before the sweep-line starts handling the given event.
| void Arr_overlay_sl_visitor< OvlHlpr, OvlTr >::before_sweep | ( | ) |
Reimplemented from Arr_construction_sl_visitor< OverlayHelper_::Construction_helper >.
| Arr_overlay_sl_visitor< OvlHlpr, OvlTr >::Halfedge_handle Arr_overlay_sl_visitor< OvlHlpr, OvlTr >::insert_at_vertices | ( | const X_monotone_curve_2 & | cv, |
| Halfedge_handle | prev1, | ||
| Halfedge_handle | prev2, | ||
| Subcurve * | sc, | ||
| bool & | new_face_created | ||
| ) | [virtual] |
Insert the given subcurve given its two end-vertices.
| cv | The geometric subcurve. |
| prev1 | The predecessor halfedge around the left vertex. |
| prev2 | The predecessor halfedge around the right vertex. |
| sc | The sweep-line subcurve information. |
| new_face_created | Output: Whether a new face has been created. |
| Arr_overlay_sl_visitor< OvlHlpr, OvlTr >::Halfedge_handle Arr_overlay_sl_visitor< OvlHlpr, OvlTr >::insert_from_left_vertex | ( | const X_monotone_curve_2 & | cv, |
| Halfedge_handle | prev, | ||
| Subcurve * | sc | ||
| ) | [virtual] |
| Arr_overlay_sl_visitor< OvlHlpr, OvlTr >::Halfedge_handle Arr_overlay_sl_visitor< OvlHlpr, OvlTr >::insert_from_right_vertex | ( | const X_monotone_curve_2 & | cv, |
| Halfedge_handle | prev, | ||
| Subcurve * | sc | ||
| ) | [virtual] |
| Arr_overlay_sl_visitor< OvlHlpr, OvlTr >::Halfedge_handle Arr_overlay_sl_visitor< OvlHlpr, OvlTr >::insert_in_face_interior | ( | const X_monotone_curve_2 & | cv, |
| Subcurve * | sc | ||
| ) | [virtual] |
| Arr_overlay_sl_visitor< OvlHlpr, OvlTr >::Vertex_handle Arr_overlay_sl_visitor< OvlHlpr, OvlTr >::insert_isolated_vertex | ( | const Point_2 & | pt, |
| Status_line_iterator | iter | ||
| ) | [virtual] |
Insert an isolated vertex into the arrangement.
| pt | The point associated with the vertex. |
| iter | The location of the corresponding event in the status line. |
Reimplemented from Arr_construction_sl_visitor< OverlayHelper_::Construction_helper >.

| void Arr_overlay_sl_visitor< OvlHlpr, OvlTr >::update_event | ( | Event * | e, |
| const Point_2 & | end_point, | ||
| const X_monotone_curve_2 & | cv, | ||
| Arr_curve_end | cv_end, | ||
| bool | is_new | ||
| ) |
Update an event that corresponds to a curve endpoint.
| void Arr_overlay_sl_visitor< OverlayHelper_, OverlayTraits_ >::update_event | ( | Event * | , |
| const X_monotone_curve_2 & | , | ||
| Arr_curve_end | , | ||
| bool | |||
| ) | [inline] |
| void Arr_overlay_sl_visitor< OverlayHelper_, OverlayTraits_ >::update_event | ( | Event * | , |
| Subcurve * | , | ||
| Subcurve * | , | ||
| bool | CGAL_assertion_codeis_new | ||
| ) | [inline] |
Update an event that corresponds to an intersection between curves.
| void Arr_overlay_sl_visitor< OvlHlpr, OvlTr >::update_event | ( | Event * | e, |
| Subcurve * | sc | ||
| ) |
Update an event.

| void Arr_overlay_sl_visitor< OvlHlpr, OvlTr >::update_event | ( | Event * | e, |
| const Point_2 & | p, | ||
| bool | is_new | ||
| ) |
Update an event.
Halfedge_hash_map Arr_overlay_sl_visitor< OverlayHelper_, OverlayTraits_ >::m_halfedges_map [protected] |
Overlay_helper Arr_overlay_sl_visitor< OverlayHelper_, OverlayTraits_ >::m_overlay_helper [protected] |
Overlay_traits* Arr_overlay_sl_visitor< OverlayHelper_, OverlayTraits_ >::m_overlay_traits [protected] |
1.7.6.1