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

#include <Arr_lm_specified_points_generator.h>

Inheritance diagram for Arr_landmarks_specified_points_generator< Arrangement_, Nearest_neighbor_ >:
Inheritance graph
[legend]
Collaboration diagram for Arr_landmarks_specified_points_generator< 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
Base
typedef
Arr_landmarks_vertices_generator
< 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::Point_2 Point_2
typedef
Arrangement_2::X_monotone_curve_2 
X_monotone_curve_2
typedef Base::Points_set Points_set
typedef
Nearest_neighbor::NN_Point_2 
NN_Point_2
typedef std::list< NN_Point_2NN_Point_list

Public Member Functions

 Arr_landmarks_specified_points_generator (const Arrangement_2 &arr, const Points_set points)
 Arr_landmarks_specified_points_generator (const Arrangement_2 &arr)
virtual void _create_points_set (Points_set &)
void build_landmark_set ()
void clear_landmark_set ()
virtual Point_2 closest_landmark (const Point_2 &q, Object &obj)

Protected Types

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

Protected Attributes

const Traits_adaptor_2m_traits
Points_set m_points
Pairs_set lm_pairs
int num_landmarks

Detailed Description

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

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


Member Typedef Documentation

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor<typename Arrangement_::Geometry_traits_2>>
typedef Arrangement_ Arr_landmarks_specified_points_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_landmarks_specified_points_generator< Arrangement_, Nearest_neighbor_ >::Base
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor<typename Arrangement_::Geometry_traits_2>>
typedef Arrangement_2::Face_const_handle Arr_landmarks_specified_points_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_landmarks_specified_points_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_landmarks_specified_points_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_landmarks_specified_points_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_landmarks_specified_points_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_landmarks_specified_points_generator< 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_specified_points_generator< 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_specified_points_generator< Arrangement_, Nearest_neighbor_ >::NN_Point_list
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor<typename Arrangement_::Geometry_traits_2>>
typedef std::vector<PL_pair> Arr_landmarks_specified_points_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_landmarks_specified_points_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_landmarks_specified_points_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_landmarks_specified_points_generator< Arrangement_, Nearest_neighbor_ >::Points_set
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor<typename Arrangement_::Geometry_traits_2>>
typedef Arr_landmarks_vertices_generator<Arrangement_2, Nearest_neighbor> Arr_landmarks_specified_points_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_landmarks_specified_points_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_landmarks_specified_points_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_landmarks_specified_points_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_landmarks_specified_points_generator< 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_specified_points_generator< 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_specified_points_generator< Arrangement_, Nearest_neighbor_ >::Arr_landmarks_specified_points_generator ( const Arrangement_2 arr,
const Points_set  points 
) [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_landmarks_specified_points_generator< Arrangement_, Nearest_neighbor_ >::Arr_landmarks_specified_points_generator ( const Arrangement_2 arr) [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_landmarks_specified_points_generator< Arrangement_, Nearest_neighbor_ >::_create_points_set ( Points_set ) [inline, virtual]

This function creates the list of landmarks with their location. This is a pure virtual function, and the class that inherites from this generator must implement it.

Implements Arr_landmarks_generator_base< Arrangement_, Nearest_neighbor_ >.

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

Creates the landmark set, using all arrangement vertices.

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>>
void Arr_landmarks_specified_points_generator< Arrangement_, Nearest_neighbor_ >::clear_landmark_set ( ) [inline, virtual]

Clear the landmark set.

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

Member Data Documentation

template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor<typename Arrangement_::Geometry_traits_2>>
Pairs_set Arr_landmarks_specified_points_generator< Arrangement_, Nearest_neighbor_ >::lm_pairs [protected]
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor<typename Arrangement_::Geometry_traits_2>>
Points_set Arr_landmarks_specified_points_generator< Arrangement_, Nearest_neighbor_ >::m_points [protected]
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor<typename Arrangement_::Geometry_traits_2>>
const Traits_adaptor_2* Arr_landmarks_specified_points_generator< Arrangement_, Nearest_neighbor_ >::m_traits [protected]
template<class Arrangement_ , class Nearest_neighbor_ = Arr_landmarks_nearest_neighbor<typename Arrangement_::Geometry_traits_2>>
int Arr_landmarks_specified_points_generator< Arrangement_, Nearest_neighbor_ >::num_landmarks [protected]

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