// Copyright (c) 1997 Tel-Aviv University (Israel). // All rights reserved. // // This file is part of CGAL (www.cgal.org); you may redistribute it under // the terms of the Q Public License version 1.0. // See the file LICENSE.QPL distributed with CGAL. // // Licensees holding a valid commercial license may use this file in // accordance with the commercial license agreement provided with the software. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. // // $Source$ // $Revision$ $Date$ // $Name$ // // Author(s) : Efi Fogel #ifndef CGAL_PM_DUMMY_POINT_LOCATION_H #define CGAL_PM_DUMMY_POINT_LOCATION_H #include #include CGAL_BEGIN_NAMESPACE template class Pm_dummy_point_location : public Pm_point_location_base { public: typedef Planar_map_ Planar_map; typedef typename Planar_map::Traits Traits; typedef Pm_point_location_base Base; typedef typename Planar_map::Traits_wrap Traits_wrap; typedef typename Planar_map::Locate_type Locate_type; typedef typename Planar_map::Halfedge_handle Halfedge_handle; typedef typename Planar_map::Halfedge_iterator Halfedge_iterator; typedef typename Planar_map::Halfedge Halfedge; typedef typename Planar_map::Vertex_handle Vertex_handle; typedef typename Traits::Point_2 Point_2; typedef typename Traits::X_monotone_curve_2 X_monotone_curve_2; typedef Pm_bounding_box_base Bounding_box; typedef typename Base::Halfedge_handle_iterator Halfedge_handle_iterator; typedef typename Base::Token Token; public: Pm_dummy_point_location() : Pm_point_location_base(), m_traits(0) {} Pm_dummy_point_location(Planar_map *, Traits_wrap * traits) : Pm_point_location_base(), m_traits(traits) {} void init(Planar_map &, Traits & traits) { m_traits = (Traits_wrap*)(&traits); } void insert(Halfedge_handle, const X_monotone_curve_2 &) {} inline const Traits * get_traits() const {return m_traits;} Halfedge_handle locate(const Point_2 &, Locate_type &) const { CGAL_assertion_msg(false, "Dummy point location - locate not allowed"); Halfedge_handle h; return h; } Halfedge_handle locate(const Point_2 &, Locate_type &) { CGAL_assertion_msg(false, "Dummy point location - locate not allowed"); Halfedge_handle h; return h; } Halfedge_handle vertical_ray_shoot(const Point_2 &, Locate_type &, bool) const { CGAL_assertion_msg(false, "Dummy point location - locate not allowed"); Halfedge_handle h; return h; } Halfedge_handle vertical_ray_shoot(const Point_2 &, Locate_type &, bool) { CGAL_assertion_msg(false, "Dummy point location - locate not allowed"); Halfedge_handle h; return h; } void split_edge(const X_monotone_curve_2 &, Halfedge_handle, Halfedge_handle, const X_monotone_curve_2 &, const X_monotone_curve_2 &) {} void merge_edge(const X_monotone_curve_2 &, const X_monotone_curve_2 &, Halfedge_handle, const X_monotone_curve_2 &) {} void remove_edge(Halfedge_handle) {} void remove_edge(const Halfedge_handle_iterator &, const Halfedge_handle_iterator &) {} void clear() {} void update(const Halfedge_handle_iterator &, const Halfedge_handle_iterator &, const Token & token) {} #ifdef CGAL_PM_DEBUG void debug(){} #endif protected: Traits_wrap * m_traits; }; CGAL_END_NAMESPACE #endif