BWAPI
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ > Class Template Reference

#include <Arr_lm_generator_base.h>

Inheritance diagram for Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >:
Inheritance graph
[legend]
Collaboration diagram for Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef Arrangement_ Arrangement_2
typedef
Arrangement_2::Geometry_traits_2 
Geometry_traits_2
typedef Nearest_neighbor_ Nearest_neighbor
typedef
Arr_landmarks_generator_base
< Arrangement_2,
Nearest_neighbor
Self
typedef
Arrangement_2::Vertex_const_handle 
Vertex_const_handle
typedef
Arrangement_2::Halfedge_const_handle 
Halfedge_const_handle
typedef
Arrangement_2::Face_const_handle 
Face_const_handle
typedef
Arrangement_2::Vertex_handle 
Vertex_handle
typedef
Arrangement_2::Halfedge_handle 
Halfedge_handle
typedef Arrangement_2::Face_handle Face_handle
typedef
Arrangement_2::Vertex_const_iterator 
Vertex_const_iterator
typedef
Arrangement_2::Ccb_halfedge_circulator 
Ccb_halfedge_circulator
typedef Arrangement_2::Point_2 Point_2
typedef
Arrangement_2::X_monotone_curve_2 
X_monotone_curve_2
typedef
Nearest_neighbor::NN_Point_2 
NN_Point_2
typedef std::list< NN_Point_2NN_Points_set
typedef std::vector< Point_2Points_set
typedef std::pair< Point_2,
CGAL::Object > 
PL_pair
typedef std::vector< PL_pairPairs_set
typedef std::vector< PL_pair >
::iterator 
Pairs_iterator

Public Member Functions

 Arr_landmarks_generator_base (const Arrangement_2 &arr)
virtual void build_landmark_set ()
virtual void clear_landmark_set ()
virtual Point_2 closest_landmark (Point_2 p, Object &obj)
Overloaded observer functions on global changes.
virtual void before_assign (const Arrangement_2 &arr)
virtual void after_assign ()
virtual void before_attach (const Arrangement_2 &arr)
virtual void after_attach ()
virtual void before_detach ()
virtual void after_clear ()
virtual void before_global_change ()
virtual void after_global_change ()
Overloaded observer functions on local changes.
virtual void after_create_vertex (Vertex_handle)
virtual void after_create_edge (Halfedge_handle)
virtual void after_split_edge (Halfedge_handle, Halfedge_handle)
virtual void after_split_face (Face_handle, Face_handle, bool)
virtual void after_split_outer_ccb (Face_handle, Ccb_halfedge_circulator, Ccb_halfedge_circulator)
virtual void after_split_inner_ccb (Face_handle, Ccb_halfedge_circulator, Ccb_halfedge_circulator)
virtual void after_add_outer_ccb (Ccb_halfedge_circulator)
virtual void after_add_inner_ccb (Ccb_halfedge_circulator)
virtual void after_add_isolated_vertex (Vertex_handle)
virtual void after_merge_edge (Halfedge_handle)
virtual void after_merge_face (Face_handle)
virtual void after_merge_outer_ccb (Face_handle, Ccb_halfedge_circulator)
virtual void after_merge_inner_ccb (Face_handle, Ccb_halfedge_circulator)
virtual void after_move_outer_ccb (Ccb_halfedge_circulator)
virtual void after_move_inner_ccb (Ccb_halfedge_circulator)
virtual void after_move_isolated_vertex (Vertex_handle)
virtual void after_remove_vertex ()
virtual void after_remove_edge ()
virtual void after_remove_outer_ccb (Face_handle)
virtual void after_remove_inner_ccb (Face_handle)

Protected Types

typedef
Arr_traits_basic_adaptor_2
< Geometry_traits_2
Traits_adaptor_2

Protected Member Functions

void _handle_local_change_notification ()
virtual void _create_points_set (Points_set &)=0
virtual void _create_nn_points_set (NN_Points_set &nn_points)

Protected Attributes

const Traits_adaptor_2m_traits
Nearest_neighbor nn
bool ignore_notifications
bool updated
int num_small_not_updated_changes

Detailed Description

template<class Arrangement_, class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
class Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >

A pure virtual class that handles the changes in a the arrangement in a generic manner(i.e., it rebuilds the search structure for whenever a small change takes place in the arrangement). It serves as a base class for some of the generator classes. The classes that inherite from it must implement at least one virtual function called "void _create_point_list(Point_list &)" which actually creates the list of landmarks.


Member Typedef Documentation

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
typedef Arrangement_ Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::Arrangement_2
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
typedef Arrangement_2::Ccb_halfedge_circulator Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::Ccb_halfedge_circulator
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
typedef Arrangement_2::Face_const_handle Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::Face_const_handle
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
typedef Arrangement_2::Face_handle Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::Face_handle
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
typedef Arrangement_2::Geometry_traits_2 Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::Geometry_traits_2
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
typedef Arrangement_2::Halfedge_const_handle Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::Halfedge_const_handle
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
typedef Arrangement_2::Halfedge_handle Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::Halfedge_handle
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
typedef Nearest_neighbor_ Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::Nearest_neighbor
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
typedef Nearest_neighbor::NN_Point_2 Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::NN_Point_2
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
typedef std::list<NN_Point_2> Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::NN_Points_set
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
typedef std::vector<PL_pair>::iterator Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::Pairs_iterator
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
typedef std::vector<PL_pair> Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::Pairs_set
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
typedef std::pair<Point_2,CGAL::Object> Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::PL_pair
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
typedef Arrangement_2::Point_2 Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::Point_2
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
typedef std::vector<Point_2> Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::Points_set
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
typedef Arr_landmarks_generator_base<Arrangement_2, Nearest_neighbor> Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::Self
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
typedef Arr_traits_basic_adaptor_2<Geometry_traits_2> Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::Traits_adaptor_2 [protected]
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
typedef Arrangement_2::Vertex_const_handle Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::Vertex_const_handle
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
typedef Arrangement_2::Vertex_const_iterator Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::Vertex_const_iterator
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
typedef Arrangement_2::Vertex_handle Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::Vertex_handle
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
typedef Arrangement_2::X_monotone_curve_2 Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::X_monotone_curve_2

Constructor & Destructor Documentation

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::Arr_landmarks_generator_base ( const Arrangement_2 arr) [inline]

Constructor.


Member Function Documentation

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
virtual void Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::_create_nn_points_set ( NN_Points_set nn_points) [inline, protected, virtual]

Reimplemented in Arr_middle_edges_landmarks_generator< Arrangement_, Nearest_neighbor_ >.

Here is the call graph for this function:

Here is the caller graph for this function:

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
virtual void Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::_create_points_set ( Points_set ) [protected, pure virtual]
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
void Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::_handle_local_change_notification ( ) [inline, protected]

Handle a change notification.

Reimplemented in Arr_landmarks_vertices_generator< Arrangement_, Nearest_neighbor_ >.

Here is the call graph for this function:

Here is the caller graph for this function:

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
virtual void Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::after_add_inner_ccb ( Ccb_halfedge_circulator  ) [inline, virtual]

Notification after an inner CCB was created inside a face.

Reimplemented from Arr_observer< Arrangement_ >.

Here is the call graph for this function:

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
virtual void Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::after_add_isolated_vertex ( Vertex_handle  ) [inline, virtual]

Notification after an isolated vertex was created inside a face.

Reimplemented from Arr_observer< Arrangement_ >.

Here is the call graph for this function:

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
virtual void Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::after_add_outer_ccb ( Ccb_halfedge_circulator  ) [inline, virtual]

Notification after an outer CCB was added to a face.

Reimplemented from Arr_observer< Arrangement_ >.

Here is the call graph for this function:

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
virtual void Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::after_assign ( ) [inline, virtual]

Notification after the arrangement has been assigned with another arrangement.

Reimplemented from Arr_observer< Arrangement_ >.

Here is the call graph for this function:

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
virtual void Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::after_attach ( ) [inline, virtual]

Notification after the observer has been attached to an arrangement.

Reimplemented from Arr_observer< Arrangement_ >.

Here is the call graph for this function:

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
virtual void Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::after_clear ( ) [inline, virtual]

Notification after the arrangement is cleared.

Parameters:
uA handle to the unbounded face.

Reimplemented from Arr_observer< Arrangement_ >.

Here is the call graph for this function:

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
virtual void Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::after_create_edge ( Halfedge_handle  ) [inline, virtual]

Notification after the creation of a new edge.

Reimplemented from Arr_observer< Arrangement_ >.

Here is the call graph for this function:

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
virtual void Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::after_create_vertex ( Vertex_handle  ) [inline, virtual]

Notification after the creation of a new vertex.

Reimplemented from Arr_observer< Arrangement_ >.

Reimplemented in Arr_middle_edges_landmarks_generator< Arrangement_, Nearest_neighbor_ >.

Here is the call graph for this function:

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
virtual void Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::after_global_change ( ) [inline, virtual]

Notification after a global operation is completed.

Reimplemented from Arr_observer< Arrangement_ >.

Here is the call graph for this function:

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
virtual void Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::after_merge_edge ( Halfedge_handle  ) [inline, virtual]

Notification after an edge was merged.

Reimplemented from Arr_observer< Arrangement_ >.

Here is the call graph for this function:

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
virtual void Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::after_merge_face ( Face_handle  ) [inline, virtual]

Notification after a face was merged.

Reimplemented from Arr_observer< Arrangement_ >.

Reimplemented in Arr_middle_edges_landmarks_generator< Arrangement_, Nearest_neighbor_ >.

Here is the call graph for this function:

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
virtual void Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::after_merge_inner_ccb ( Face_handle  ,
Ccb_halfedge_circulator   
) [inline, virtual]

Notification after an inner CCB was merged.

Reimplemented from Arr_observer< Arrangement_ >.

Here is the call graph for this function:

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
virtual void Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::after_merge_outer_ccb ( Face_handle  ,
Ccb_halfedge_circulator   
) [inline, virtual]

Notification after an outer CCB was merged.

Reimplemented from Arr_observer< Arrangement_ >.

Here is the call graph for this function:

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
virtual void Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::after_move_inner_ccb ( Ccb_halfedge_circulator  ) [inline, virtual]

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

Reimplemented from Arr_observer< Arrangement_ >.

Here is the call graph for this function:

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
virtual void Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::after_move_isolated_vertex ( Vertex_handle  ) [inline, virtual]

Notification after an isolated vertex is moved.

Reimplemented from Arr_observer< Arrangement_ >.

Here is the call graph for this function:

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
virtual void Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::after_move_outer_ccb ( Ccb_halfedge_circulator  ) [inline, virtual]

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

Reimplemented from Arr_observer< Arrangement_ >.

Here is the call graph for this function:

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
virtual void Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::after_remove_edge ( ) [inline, virtual]

Notification after the removal of an edge.

Reimplemented from Arr_observer< Arrangement_ >.

Here is the call graph for this function:

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
virtual void Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::after_remove_inner_ccb ( Face_handle  ) [inline, virtual]

Notificaion after the removal of an inner CCB.

Reimplemented from Arr_observer< Arrangement_ >.

Here is the call graph for this function:

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
virtual void Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::after_remove_outer_ccb ( Face_handle  ) [inline, virtual]

Notificaion after the removal of an outer CCB.

Reimplemented from Arr_observer< Arrangement_ >.

Here is the call graph for this function:

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
virtual void Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::after_remove_vertex ( ) [inline, virtual]

Notificaion after the removal of a vertex.

Reimplemented from Arr_observer< Arrangement_ >.

Reimplemented in Arr_middle_edges_landmarks_generator< Arrangement_, Nearest_neighbor_ >.

Here is the call graph for this function:

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
virtual void Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::after_split_edge ( Halfedge_handle  ,
Halfedge_handle   
) [inline, virtual]

Notification after an edge was split.

Reimplemented from Arr_observer< Arrangement_ >.

Here is the call graph for this function:

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
virtual void Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::after_split_face ( Face_handle  ,
Face_handle  ,
bool   
) [inline, virtual]

Notification after a face was split.

Reimplemented from Arr_observer< Arrangement_ >.

Reimplemented in Arr_middle_edges_landmarks_generator< Arrangement_, Nearest_neighbor_ >.

Here is the call graph for this function:

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
virtual void Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::after_split_inner_ccb ( Face_handle  ,
Ccb_halfedge_circulator  ,
Ccb_halfedge_circulator   
) [inline, virtual]

Notification after an inner CCB was split.

Reimplemented from Arr_observer< Arrangement_ >.

Here is the call graph for this function:

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
virtual void Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::after_split_outer_ccb ( Face_handle  ,
Ccb_halfedge_circulator  ,
Ccb_halfedge_circulator   
) [inline, virtual]

Notification after an outer CCB was split.

Reimplemented from Arr_observer< Arrangement_ >.

Here is the call graph for this function:

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
virtual void Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::before_assign ( const Arrangement_2 arr) [inline, virtual]

Notification before the arrangement is assigned with another arrangement.

Parameters:
arrThe arrangement to be copied.

Reimplemented from Arr_observer< Arrangement_ >.

Here is the call graph for this function:

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
virtual void Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::before_attach ( const Arrangement_2 arr) [inline, virtual]

Notification before the observer is attached to an arrangement.

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

Reimplemented from Arr_observer< Arrangement_ >.

Here is the call graph for this function:

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
virtual void Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::before_detach ( ) [inline, virtual]

Notification before the observer is detached from the arrangement.

Reimplemented from Arr_observer< Arrangement_ >.

Here is the call graph for this function:

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
virtual void Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::before_global_change ( ) [inline, virtual]

Notification before a global operation modifies the arrangement.

Reimplemented from Arr_observer< Arrangement_ >.

Here is the call graph for this function:

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
virtual void Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::build_landmark_set ( ) [inline, virtual]

Creates the landmarks set (choosing the landmarks) , and saving them in the nearest-neighbor search structure.

Reimplemented in Arr_grid_landmarks_generator< Arrangement_, Nearest_neighbor_ >, Arr_landmarks_specified_points_generator< Arrangement_, Nearest_neighbor_ >, and Arr_landmarks_vertices_generator< Arrangement_, Nearest_neighbor_ >.

Here is the call graph for this function:

Here is the caller graph for this function:

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
virtual void Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::clear_landmark_set ( ) [inline, virtual]
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
virtual Point_2 Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::closest_landmark ( Point_2  p,
Object obj 
) [inline, virtual]

Get the nearest neighbor (landmark) to the given point.

Parameters:
pThe query point.
objOutput: The location of the nearest landmark point in the arrangement (a vertex, halfedge, or face handle).
Returns:
The nearest landmark point.

Member Data Documentation

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
bool Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::ignore_notifications [protected]
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
const Traits_adaptor_2* Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::m_traits [protected]
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
Nearest_neighbor Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::nn [protected]
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
int Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::num_small_not_updated_changes [protected]
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor <typename Arrangement_::Geometry_traits_2>>
bool Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >::updated [protected]

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