BWAPI
Public Types
Arr_observer< Arrangement_ > Class Template Reference

#include <Arr_observer.h>

Inheritance diagram for Arr_observer< Arrangement_ >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef Arrangement_ Arrangement_2
typedef Arr_observer
< Arrangement_2
Self
typedef Arrangement_2::Point_2 Point_2
typedef
Arrangement_2::X_monotone_curve_2 
X_monotone_curve_2
typedef
Arrangement_2::Vertex_handle 
Vertex_handle
typedef
Arrangement_2::Halfedge_handle 
Halfedge_handle
typedef Arrangement_2::Face_handle Face_handle
typedef
Arrangement_2::Ccb_halfedge_circulator 
Ccb_halfedge_circulator

Public Member Functions

Construction and destruction functions.
 Arr_observer ()
 Arr_observer (Arrangement_2 &arr)
virtual ~Arr_observer ()
Modifying the associated arrangement.
const Arrangement_2arrangement () const
Arrangement_2arrangement ()
void attach (Arrangement_2 &arr)
void detach ()
Notification functions on global arrangement operations.
virtual void before_assign (const Arrangement_2 &)
virtual void after_assign ()
virtual void before_clear ()
virtual void after_clear ()
virtual void before_global_change ()
virtual void after_global_change ()
Notification functions on observer attachment or detachment.
virtual void before_attach (const Arrangement_2 &)
virtual void after_attach ()
virtual void before_detach ()
virtual void after_detach ()
Notification functions on local changes in the arrangement.
virtual void before_create_vertex (const Point_2 &)
virtual void after_create_vertex (Vertex_handle)
virtual void before_create_boundary_vertex (const X_monotone_curve_2 &, Arr_curve_end, Arr_parameter_space, Arr_parameter_space)
virtual void after_create_boundary_vertex (Vertex_handle)
virtual void before_create_edge (const X_monotone_curve_2 &, Vertex_handle, Vertex_handle)
virtual void after_create_edge (Halfedge_handle)
virtual void before_modify_vertex (Vertex_handle, const Point_2 &)
virtual void after_modify_vertex (Vertex_handle)
virtual void before_modify_edge (Halfedge_handle, const X_monotone_curve_2 &)
virtual void after_modify_edge (Halfedge_handle)
virtual void before_split_edge (Halfedge_handle, Vertex_handle, const X_monotone_curve_2 &, const X_monotone_curve_2 &)
virtual void after_split_edge (Halfedge_handle, Halfedge_handle)
virtual void before_split_fictitious_edge (Halfedge_handle, Vertex_handle)
virtual void after_split_fictitious_edge (Halfedge_handle, Halfedge_handle)
virtual void before_split_face (Face_handle, Halfedge_handle)
virtual void after_split_face (Face_handle, Face_handle, bool)
virtual void before_split_outer_ccb (Face_handle, Ccb_halfedge_circulator, Halfedge_handle)
virtual void after_split_outer_ccb (Face_handle, Ccb_halfedge_circulator, Ccb_halfedge_circulator)
virtual void before_split_inner_ccb (Face_handle, Ccb_halfedge_circulator, Halfedge_handle)
virtual void after_split_inner_ccb (Face_handle, Ccb_halfedge_circulator, Ccb_halfedge_circulator)
virtual void before_add_outer_ccb (Face_handle, Halfedge_handle)
virtual void after_add_outer_ccb (Ccb_halfedge_circulator)
virtual void before_add_inner_ccb (Face_handle, Halfedge_handle)
virtual void after_add_inner_ccb (Ccb_halfedge_circulator)
virtual void before_add_isolated_vertex (Face_handle, Vertex_handle)
virtual void after_add_isolated_vertex (Vertex_handle)
virtual void before_merge_edge (Halfedge_handle, Halfedge_handle, const X_monotone_curve_2 &)
virtual void after_merge_edge (Halfedge_handle)
virtual void before_merge_fictitious_edge (Halfedge_handle, Halfedge_handle)
virtual void after_merge_fictitious_edge (Halfedge_handle)
virtual void before_merge_face (Face_handle, Face_handle, Halfedge_handle)
virtual void after_merge_face (Face_handle)
virtual void before_merge_outer_ccb (Face_handle, Ccb_halfedge_circulator, Ccb_halfedge_circulator, Halfedge_handle)
virtual void after_merge_outer_ccb (Face_handle, Ccb_halfedge_circulator)
virtual void before_merge_inner_ccb (Face_handle, Ccb_halfedge_circulator, Ccb_halfedge_circulator, Halfedge_handle)
virtual void after_merge_inner_ccb (Face_handle, Ccb_halfedge_circulator)
virtual void before_move_outer_ccb (Face_handle, Face_handle, Ccb_halfedge_circulator)
virtual void after_move_outer_ccb (Ccb_halfedge_circulator)
virtual void before_move_inner_ccb (Face_handle, Face_handle, Ccb_halfedge_circulator)
virtual void after_move_inner_ccb (Ccb_halfedge_circulator)
virtual void before_move_isolated_vertex (Face_handle, Face_handle, Vertex_handle)
virtual void after_move_isolated_vertex (Vertex_handle)
virtual void before_remove_vertex (Vertex_handle)
virtual void after_remove_vertex ()
virtual void before_remove_edge (Halfedge_handle)
virtual void after_remove_edge ()
virtual void before_remove_outer_ccb (Face_handle, Ccb_halfedge_circulator)
virtual void after_remove_outer_ccb (Face_handle)
virtual void before_remove_inner_ccb (Face_handle, Ccb_halfedge_circulator)
virtual void after_remove_inner_ccb (Face_handle)

template<class Arrangement_>
class Arr_observer< Arrangement_ >


Member Typedef Documentation

template<class Arrangement_>
typedef Arrangement_ Arr_observer< Arrangement_ >::Arrangement_2
template<class Arrangement_>
typedef Arrangement_2::Ccb_halfedge_circulator Arr_observer< Arrangement_ >::Ccb_halfedge_circulator
template<class Arrangement_>
typedef Arrangement_2::Face_handle Arr_observer< Arrangement_ >::Face_handle
template<class Arrangement_>
typedef Arrangement_2::Halfedge_handle Arr_observer< Arrangement_ >::Halfedge_handle
template<class Arrangement_>
typedef Arrangement_2::Point_2 Arr_observer< Arrangement_ >::Point_2
template<class Arrangement_>
typedef Arr_observer<Arrangement_2> Arr_observer< Arrangement_ >::Self
template<class Arrangement_>
typedef Arrangement_2::Vertex_handle Arr_observer< Arrangement_ >::Vertex_handle
template<class Arrangement_>
typedef Arrangement_2::X_monotone_curve_2 Arr_observer< Arrangement_ >::X_monotone_curve_2

Constructor & Destructor Documentation

template<class Arrangement_>
Arr_observer< Arrangement_ >::Arr_observer ( ) [inline]

Default constructor.

template<class Arrangement_>
Arr_observer< Arrangement_ >::Arr_observer ( Arrangement_2 arr) [inline]

Constructor with an associated arrangement.

template<class Arrangement_>
virtual Arr_observer< Arrangement_ >::~Arr_observer ( ) [inline, virtual]

Destructor.


Member Function Documentation

template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::after_add_inner_ccb ( Ccb_halfedge_circulator  ) [inline, virtual]

Notification after an inner CCB was created inside a face.

Parameters:
hA circulator representing the boundary of the new inner CCB.

Reimplemented in Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >.

template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::after_add_isolated_vertex ( Vertex_handle  ) [inline, virtual]

Notification after an isolated vertex was created inside a face.

Parameters:
vThe isolated vertex.

Reimplemented in Envelope_element_visitor_3< EnvelopeTraits_3, MinimizationDiagram_2 >::Copy_observer, and Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >.

template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::after_add_outer_ccb ( Ccb_halfedge_circulator  ) [inline, virtual]

Notification after an outer CCB was added to a face.

Parameters:
hA circulator representing the boundary of the new outer CCB.

Reimplemented in Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >.

template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::after_assign ( ) [inline, virtual]
template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::after_attach ( ) [inline, virtual]
template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::after_clear ( ) [inline, virtual]
template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::after_create_boundary_vertex ( Vertex_handle  ) [inline, virtual]

Notification after the creation of a new vertex at infinity.

Parameters:
vA handle to the created vertex.

Reimplemented in Envelope_element_visitor_3< EnvelopeTraits_3, MinimizationDiagram_2 >::Copy_observer, and Arr_vertex_index_map< Arrangement_ >.

template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::after_create_edge ( Halfedge_handle  ) [inline, virtual]
template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::after_create_vertex ( Vertex_handle  ) [inline, virtual]
template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::after_detach ( ) [inline, virtual]

Notification after the observer has been detached to the arrangement.

Reimplemented in Arr_vertex_index_map< Arrangement_ >, and Arr_face_index_map< Arrangement_ >.

Here is the caller graph for this function:

template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::after_global_change ( ) [inline, virtual]

Notification after a global operation is completed.

Reimplemented in Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >, and Arr_triangulation_point_location< Arrangement_ >.

template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::after_merge_edge ( Halfedge_handle  ) [inline, virtual]
template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::after_merge_face ( Face_handle  ) [inline, virtual]
template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::after_merge_fictitious_edge ( Halfedge_handle  ) [inline, virtual]

Notification after a fictitious edge was merged.

Parameters:
eA handle to one of the twin halfedges forming the merged edge.
template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::after_merge_inner_ccb ( Face_handle  ,
Ccb_halfedge_circulator   
) [inline, virtual]

Notification after an inner CCB was merged.

Parameters:
fA handle to the face that contains the inner CCBs.
hA circulator representing the boundary of the merged component.

Reimplemented in Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >.

template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::after_merge_outer_ccb ( Face_handle  ,
Ccb_halfedge_circulator   
) [inline, virtual]

Notification after an outer CCB was merged.

Parameters:
fA handle to the face that owns the outer CCBs.
hA circulator representing the boundary of the merged component.

Reimplemented in Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >.

template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::after_modify_edge ( Halfedge_handle  ) [inline, virtual]

Notification after an edge was modified.

Parameters:
eA handle to one of the twin halfedges that were updated.

Reimplemented in Arrangement_on_surface_with_history_2< GeomTraits_, TopTraits_ >::Curve_halfedges_observer.

template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::after_modify_vertex ( Vertex_handle  ) [inline, virtual]

Notification after a vertex was modified.

Parameters:
vA handle to the updated vertex.
template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::after_move_inner_ccb ( Ccb_halfedge_circulator  ) [inline, virtual]

Notification after an inner CCB is moved from one face to another.

Parameters:
hA circulator representing the boundary of the component.

Reimplemented in Envelope_element_visitor_3< EnvelopeTraits_3, MinimizationDiagram_2 >::Copy_observer, and Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >.

template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::after_move_isolated_vertex ( Vertex_handle  ) [inline, virtual]

Notification after an isolated vertex is moved from one face to another.

Parameters:
vThe isolated vertex.

Reimplemented in Envelope_element_visitor_3< EnvelopeTraits_3, MinimizationDiagram_2 >::Copy_observer, and Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >.

template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::after_move_outer_ccb ( Ccb_halfedge_circulator  ) [inline, virtual]

Notification after an outer CCB is moved from one face to another.

Parameters:
hA circulator representing the boundary of the component.

Reimplemented in Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >.

template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::after_remove_edge ( ) [inline, virtual]
template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::after_remove_inner_ccb ( Face_handle  ) [inline, virtual]

Notificaion after the removal of an inner CCB.

Parameters:
fThe face that used to contain the inner CCB.

Reimplemented in Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >.

template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::after_remove_outer_ccb ( Face_handle  ) [inline, virtual]

Notificaion after the removal of an outer CCB.

Parameters:
fThe face that used to own the outer CCB.

Reimplemented in Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >.

template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::after_remove_vertex ( ) [inline, virtual]
template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::after_split_edge ( Halfedge_handle  ,
Halfedge_handle   
) [inline, virtual]
template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::after_split_face ( Face_handle  ,
Face_handle  ,
bool   
) [inline, virtual]
template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::after_split_fictitious_edge ( Halfedge_handle  ,
Halfedge_handle   
) [inline, virtual]

Notification after a fictitious edge was split.

Parameters:
e1A handle to one of the twin halfedges forming the first edge.
e2A handle to one of the twin halfedges forming the second edge.

Reimplemented in Envelope_element_visitor_3< EnvelopeTraits_3, MinimizationDiagram_2 >::Copy_observer.

template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::after_split_inner_ccb ( Face_handle  ,
Ccb_halfedge_circulator  ,
Ccb_halfedge_circulator   
) [inline, virtual]

Notification after an inner CCB was split.

Parameters:
fA handle to the face containing the inner CCBs.
h1A circulator representing the boundary of the first component.
h2A circulator representing the boundary of the second component.

Reimplemented in Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >.

template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::after_split_outer_ccb ( Face_handle  ,
Ccb_halfedge_circulator  ,
Ccb_halfedge_circulator   
) [inline, virtual]

Notification after an outer CCB was split.

Parameters:
fA handle to the face that owns the outer CCBs.
h1A circulator representing the boundary of the first component.
h2A circulator representing the boundary of the second component.

Reimplemented in Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >.

template<class Arrangement_>
const Arrangement_2* Arr_observer< Arrangement_ >::arrangement ( ) const [inline]

Get the associated arrangement (non-const version).

Here is the caller graph for this function:

template<class Arrangement_>
Arrangement_2* Arr_observer< Arrangement_ >::arrangement ( ) [inline]

Get the associated arrangement (non-const version).

template<class Arrangement_>
void Arr_observer< Arrangement_ >::attach ( Arrangement_2 arr) [inline]

Attach the observer to an arrangement.

Precondition:
The observer is not already attached to an arrangement.

Here is the caller graph for this function:

template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::before_add_inner_ccb ( Face_handle  ,
Halfedge_handle   
) [inline, virtual]

Notification before the creation of a new inner CCB inside a face.

Parameters:
fA handle to the face containing the inner CCB.
eThe new halfedge that forms the new inner CCB.
template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::before_add_isolated_vertex ( Face_handle  ,
Vertex_handle   
) [inline, virtual]

Notification before the creation of a new isolated vertex inside a face.

Parameters:
fA handle to the face containing the isolated vertex.
vThe isolated vertex.

Reimplemented in Envelope_element_visitor_3< EnvelopeTraits_3, MinimizationDiagram_2 >::Copy_observer.

template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::before_add_outer_ccb ( Face_handle  ,
Halfedge_handle   
) [inline, virtual]

Notification before the creation of a new outer CCB of a face.

Parameters:
fA handle to the face that owns the outer CCB.
eA halfedge along the new outer CCB.
template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::before_assign ( const Arrangement_2 ) [inline, virtual]

Notification before the arrangement is assigned with another arrangement.

Parameters:
arrThe arrangement to be copied.

Reimplemented in Arr_trapezoid_ric_point_location< Arrangement_ >, and Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >.

template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::before_attach ( const Arrangement_2 ) [inline, virtual]

Notification before the observer is attached to an arrangement.

Parameters:
arrThe arrangement we are about to attach the observer to.

Reimplemented in Arr_trapezoid_ric_point_location< Arrangement_ >, Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >, and Arr_triangulation_point_location< Arrangement_ >.

Here is the caller graph for this function:

template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::before_clear ( ) [inline, virtual]

Notification before the arrangement is cleared.

Reimplemented in Arr_trapezoid_ric_point_location< Arrangement_ >.

template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::before_create_boundary_vertex ( const X_monotone_curve_2 ,
Arr_curve_end  ,
Arr_parameter_space  ,
Arr_parameter_space   
) [inline, virtual]

Notification before the creation of a new boundary vertex.

Parameters:
cvThe curve incident to the surface boundary.
indThe relevant curve-end.
ps_xThe boundary condition of the vertex in x.
ps_yThe boundary condition of the vertex in y.

Reimplemented in Envelope_element_visitor_3< EnvelopeTraits_3, MinimizationDiagram_2 >::Copy_observer.

template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::before_create_edge ( const X_monotone_curve_2 ,
Vertex_handle  ,
Vertex_handle   
) [inline, virtual]

Notification before the creation of a new edge.

Parameters:
cThe x-monotone curve to be associated with the edge.
v1A handle to the first end-vertex of the edge.
v2A handle to the second end-vertex of the edge.

Reimplemented in Envelope_element_visitor_3< EnvelopeTraits_3, MinimizationDiagram_2 >::Copy_observer.

template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::before_create_vertex ( const Point_2 ) [inline, virtual]

Notification before the creation of a new vertex.

Parameters:
pThe point to be associated with the vertex. This point cannot lies on the surface boundaries.
template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::before_detach ( ) [inline, virtual]

Notification before the observer is detached from the arrangement.

Reimplemented in Arr_trapezoid_ric_point_location< Arrangement_ >, Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >, and Arr_triangulation_point_location< Arrangement_ >.

Here is the caller graph for this function:

template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::before_global_change ( ) [inline, virtual]

Notification before a global operation modifies the arrangement.

Reimplemented in Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >, and Arr_triangulation_point_location< Arrangement_ >.

template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::before_merge_edge ( Halfedge_handle  ,
Halfedge_handle  ,
const X_monotone_curve_2  
) [inline, virtual]

Notification before the merging of two edges.

Parameters:
e1A handle to one of the halfedges forming the first edge.
e2A handle to one of the halfedges forming the second edge.
cThe x-monotone curve to be associated with the merged edge.

Reimplemented in Arr_trapezoid_ric_point_location< Arrangement_ >.

template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::before_merge_face ( Face_handle  ,
Face_handle  ,
Halfedge_handle   
) [inline, virtual]

Notification before the merging of two faces.

Parameters:
f1A handle to the first face.
f2A handle to the second face.
eThe edge whose removal causes the faces to merge.
template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::before_merge_fictitious_edge ( Halfedge_handle  ,
Halfedge_handle   
) [inline, virtual]

Notification before the merging of two fictitious edges.

Parameters:
e1A handle to one of the halfedges forming the first edge.
e2A handle to one of the halfedges forming the second edge.
template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::before_merge_inner_ccb ( Face_handle  ,
Ccb_halfedge_circulator  ,
Ccb_halfedge_circulator  ,
Halfedge_handle   
) [inline, virtual]

Notification before the merging of two inner CCBs (holes).

Parameters:
fA handle to the face that contains the inner CCBs.
h1A circulator representing the boundary of the first component.
h2A circulator representing the boundary of the second component.
eThe edge whose insertion causes the inner CCBs to merge.
template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::before_merge_outer_ccb ( Face_handle  ,
Ccb_halfedge_circulator  ,
Ccb_halfedge_circulator  ,
Halfedge_handle   
) [inline, virtual]

Notification before the merging of two outer CCBs.

Parameters:
fA handle to the face that owns the outer CCBs.
h1A circulator representing the boundary of the first component.
h2A circulator representing the boundary of the second component.
eThe edge whose insertion or removal causes the CCBs to merge.
template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::before_modify_edge ( Halfedge_handle  ,
const X_monotone_curve_2  
) [inline, virtual]

Notification before the modification of an existing edge.

Parameters:
eA handle to one of the twin halfedges to be updated.
cThe x-monotone curve to be associated with the edge.
template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::before_modify_vertex ( Vertex_handle  ,
const Point_2  
) [inline, virtual]

Notification before the modification of an existing vertex.

Parameters:
vA handle to the vertex to be updated.
pThe point to be associated with the vertex.
template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::before_move_inner_ccb ( Face_handle  ,
Face_handle  ,
Ccb_halfedge_circulator   
) [inline, virtual]

Notification before an inner CCB is moved from one face to another.

Parameters:
from_fA handle to the face currently containing the inner CCB.
to_fA handle to the face that should contain the inner CCB.
hA circulator representing the boundary of the component.

Reimplemented in Envelope_element_visitor_3< EnvelopeTraits_3, MinimizationDiagram_2 >::Copy_observer.

template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::before_move_isolated_vertex ( Face_handle  ,
Face_handle  ,
Vertex_handle   
) [inline, virtual]

Notification before an isolated vertex is moved from one face to another.

Parameters:
from_fA handle to the face currently containing the vertex.
to_fA handle to the face that should contain the vertex.
vThe isolated vertex.

Reimplemented in Envelope_element_visitor_3< EnvelopeTraits_3, MinimizationDiagram_2 >::Copy_observer.

template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::before_move_outer_ccb ( Face_handle  ,
Face_handle  ,
Ccb_halfedge_circulator   
) [inline, virtual]

Notification before an outer CCB is moved from one face to another.

Parameters:
from_fA handle to the face that currently owns the outer CCB.
to_fA handle to the face that should own the outer CCB.
hA circulator representing the boundary of the component.
template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::before_remove_edge ( Halfedge_handle  ) [inline, virtual]

Notification before the removal of an edge.

Parameters:
eA handle to one of the twin halfedges to be deleted.

Reimplemented in Arrangement_on_surface_with_history_2< GeomTraits_, TopTraits_ >::Curve_halfedges_observer, and Arr_trapezoid_ric_point_location< Arrangement_ >.

template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::before_remove_inner_ccb ( Face_handle  ,
Ccb_halfedge_circulator   
) [inline, virtual]

Notification before the removal of an inner CCB.

Parameters:
fThe face containing the inner CCB.
hA circulator representing the boundary of the component.
template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::before_remove_outer_ccb ( Face_handle  ,
Ccb_halfedge_circulator   
) [inline, virtual]

Notification before the removal of an outer CCB.

Parameters:
fThe face that owns the outer CCB.
hA circulator representing the boundary of the component.
template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::before_remove_vertex ( Vertex_handle  ) [inline, virtual]

Notificaion before the removal of a vertex.

Parameters:
vA handle to the vertex to be deleted.

Reimplemented in Arr_vertex_index_map< Arrangement_ >.

template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::before_split_edge ( Halfedge_handle  ,
Vertex_handle  ,
const X_monotone_curve_2 ,
const X_monotone_curve_2  
) [inline, virtual]

Notification before the splitting of an edge into two.

Parameters:
eA handle to one of the existing halfedges.
vA vertex representing the split point.
c1The x-monotone curve to be associated with the first edge.
c2The x-monotone curve to be associated with the second edge.

Reimplemented in Envelope_element_visitor_3< EnvelopeTraits_3, MinimizationDiagram_2 >::Copy_observer, and Arr_trapezoid_ric_point_location< Arrangement_ >.

template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::before_split_face ( Face_handle  ,
Halfedge_handle   
) [inline, virtual]

Notification before the splitting of a face into two.

Parameters:
fA handle to the existing face.
eThe new edge whose insertion causes the face to split.
template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::before_split_fictitious_edge ( Halfedge_handle  ,
Vertex_handle   
) [inline, virtual]

Notification before the splitting of a fictitious edge into two.

Parameters:
eA handle to one of the existing halfedges.
vA vertex representing the unbounded split point.

Reimplemented in Envelope_element_visitor_3< EnvelopeTraits_3, MinimizationDiagram_2 >::Copy_observer.

template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::before_split_inner_ccb ( Face_handle  ,
Ccb_halfedge_circulator  ,
Halfedge_handle   
) [inline, virtual]

Notification before the splitting of an inner CCB into two.

Parameters:
fA handle to the face containing the inner CCB.
hA circulator representing the component boundary.
eThe new edge whose removal causes the inner CCB to split.
template<class Arrangement_>
virtual void Arr_observer< Arrangement_ >::before_split_outer_ccb ( Face_handle  ,
Ccb_halfedge_circulator  ,
Halfedge_handle   
) [inline, virtual]

Notification before the splitting of an outer CCB into two.

Parameters:
fA handle to the face that owns the outer CCB.
hA circulator representing the component boundary.
eThe new edge whose removal causes the outer CCB to split.
template<class Arrangement_>
void Arr_observer< Arrangement_ >::detach ( ) [inline]

Detach the observer to the arrangement.

Here is the caller graph for this function:


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines