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

#include <Arr_lm_grid_generator.h>

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

List of all members.

Public Types

typedef Arrangement_ Arrangement_2
typedef Nearest_neighbor_ Nearest_neighbor
typedef
Arr_landmarks_generator_base
< Arrangement_2,
Nearest_neighbor
Base
typedef
Arr_grid_landmarks_generator
< Arrangement_2,
Nearest_neighbor
Self
typedef
Arrangement_2::Geometry_traits_2 
Geometry_traits_2
typedef
Arrangement_2::Vertex_const_iterator 
Vertex_const_iterator
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::Ccb_halfedge_circulator 
Ccb_halfedge_circulator
typedef
Geometry_traits_2::Approximate_number_type 
ANT
typedef Arrangement_2::Point_2 Point_2

Public Member Functions

 Arr_grid_landmarks_generator (const Arrangement_2 &arr)
 Arr_grid_landmarks_generator (const Arrangement_2 &arr, unsigned int n_landmarks)
virtual void build_landmark_set ()
virtual void clear_landmark_set ()
virtual Point_2 closest_landmark (const Point_2 &q, Object &obj)

Protected Types

typedef Base::Points_set Points_set
typedef std::pair< Point_2,
CGAL::Object > 
PL_pair
typedef std::vector< PL_pairPairs_set
typedef
Arr_traits_basic_adaptor_2
< Geometry_traits_2
Traits_adaptor_2

Protected Member Functions

virtual void _create_points_set (Points_set &points)

Protected Attributes

const Traits_adaptor_2m_traits
unsigned int num_landmarks
Pairs_set lm_pairs
ANT x_min
ANT y_min
ANT x_max
ANT y_max
ANT step_x
ANT step_y
unsigned int sqrt_n
bool fixed_number_of_lm

Detailed Description

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

A generator for the landmarks point-locatoion class, which uses a set of points on a grid as its set of landmarks.


Member Typedef Documentation

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor<typename Arrangement_::Geometry_traits_2>>
typedef Geometry_traits_2::Approximate_number_type Arr_grid_landmarks_generator< Arrangement_, Nearest_neighbor_ >::ANT
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor<typename Arrangement_::Geometry_traits_2>>
typedef Arrangement_ Arr_grid_landmarks_generator< Arrangement_, Nearest_neighbor_ >::Arrangement_2
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_grid_landmarks_generator< Arrangement_, Nearest_neighbor_ >::Base
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor<typename Arrangement_::Geometry_traits_2>>
typedef Arrangement_2::Ccb_halfedge_circulator Arr_grid_landmarks_generator< 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_grid_landmarks_generator< 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_grid_landmarks_generator< 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_grid_landmarks_generator< 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_grid_landmarks_generator< 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_grid_landmarks_generator< Arrangement_, Nearest_neighbor_ >::Halfedge_handle
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor<typename Arrangement_::Geometry_traits_2>>
typedef Nearest_neighbor_ Arr_grid_landmarks_generator< Arrangement_, Nearest_neighbor_ >::Nearest_neighbor
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor<typename Arrangement_::Geometry_traits_2>>
typedef std::vector<PL_pair> Arr_grid_landmarks_generator< Arrangement_, Nearest_neighbor_ >::Pairs_set [protected]
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor<typename Arrangement_::Geometry_traits_2>>
typedef std::pair<Point_2,CGAL::Object> Arr_grid_landmarks_generator< Arrangement_, Nearest_neighbor_ >::PL_pair [protected]
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor<typename Arrangement_::Geometry_traits_2>>
typedef Arrangement_2::Point_2 Arr_grid_landmarks_generator< Arrangement_, Nearest_neighbor_ >::Point_2
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor<typename Arrangement_::Geometry_traits_2>>
typedef Base::Points_set Arr_grid_landmarks_generator< Arrangement_, Nearest_neighbor_ >::Points_set [protected]
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor<typename Arrangement_::Geometry_traits_2>>
typedef Arr_grid_landmarks_generator<Arrangement_2, Nearest_neighbor> Arr_grid_landmarks_generator< 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_grid_landmarks_generator< 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_grid_landmarks_generator< 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_grid_landmarks_generator< 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_grid_landmarks_generator< Arrangement_, Nearest_neighbor_ >::Vertex_handle

Constructor & Destructor Documentation

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

Constructor.

Here is the call graph for this function:

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

Here is the call graph for this function:


Member Function Documentation

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

Create a set of landmark points on a grid.

Implements Arr_landmarks_generator_base< 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_grid_landmarks_generator< Arrangement_, Nearest_neighbor_ >::build_landmark_set ( ) [inline, virtual]

Create the landmarks set (choosing the landmarks), and store them in the nearest neighbor search structure.

Reimplemented from Arr_landmarks_generator_base< 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_grid_landmarks_generator< Arrangement_, Nearest_neighbor_ >::clear_landmark_set ( ) [inline, virtual]

Clear the set of landmarks.

Reimplemented from Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >.

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor<typename Arrangement_::Geometry_traits_2>>
virtual Point_2 Arr_grid_landmarks_generator< Arrangement_, Nearest_neighbor_ >::closest_landmark ( const Point_2 q,
Object obj 
) [inline, virtual]

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

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

Here is the call graph for this function:


Member Data Documentation

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor<typename Arrangement_::Geometry_traits_2>>
bool Arr_grid_landmarks_generator< Arrangement_, Nearest_neighbor_ >::fixed_number_of_lm [protected]
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor<typename Arrangement_::Geometry_traits_2>>
Pairs_set Arr_grid_landmarks_generator< Arrangement_, Nearest_neighbor_ >::lm_pairs [protected]
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor<typename Arrangement_::Geometry_traits_2>>
const Traits_adaptor_2* Arr_grid_landmarks_generator< Arrangement_, Nearest_neighbor_ >::m_traits [protected]
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor<typename Arrangement_::Geometry_traits_2>>
unsigned int Arr_grid_landmarks_generator< Arrangement_, Nearest_neighbor_ >::num_landmarks [protected]
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor<typename Arrangement_::Geometry_traits_2>>
unsigned int Arr_grid_landmarks_generator< Arrangement_, Nearest_neighbor_ >::sqrt_n [protected]
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor<typename Arrangement_::Geometry_traits_2>>
ANT Arr_grid_landmarks_generator< Arrangement_, Nearest_neighbor_ >::step_x [protected]
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor<typename Arrangement_::Geometry_traits_2>>
ANT Arr_grid_landmarks_generator< Arrangement_, Nearest_neighbor_ >::step_y [protected]
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor<typename Arrangement_::Geometry_traits_2>>
ANT Arr_grid_landmarks_generator< Arrangement_, Nearest_neighbor_ >::x_max [protected]
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor<typename Arrangement_::Geometry_traits_2>>
ANT Arr_grid_landmarks_generator< Arrangement_, Nearest_neighbor_ >::x_min [protected]
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor<typename Arrangement_::Geometry_traits_2>>
ANT Arr_grid_landmarks_generator< Arrangement_, Nearest_neighbor_ >::y_max [protected]
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor<typename Arrangement_::Geometry_traits_2>>
ANT Arr_grid_landmarks_generator< Arrangement_, Nearest_neighbor_ >::y_min [protected]

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