BWAPI
SPAR/AIModule/BWTA/vendors/CGAL/CGAL/Arr_topology_traits/Arr_spherical_batched_pl_helper.h
Go to the documentation of this file.
00001 // Copyright (c) 2006 Tel-Aviv University (Israel).
00002 // All rights reserved.
00003 //
00004 // This file is part of CGAL (www.cgal.org); you may redistribute it under
00005 // the terms of the Q Public License version 1.0.
00006 // See the file LICENSE.QPL distributed with CGAL.
00007 //
00008 // Licensees holding a valid commercial license may use this file in
00009 // accordance with the commercial license agreement provided with the software.
00010 //
00011 // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
00012 // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
00013 //
00014 // $URL: svn+ssh://scm.gforge.inria.fr/svn/cgal/branches/CGAL-3.5-branch/Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_spherical_batched_pl_helper.h $
00015 // $Id: Arr_spherical_batched_pl_helper.h 37392 2007-03-23 12:55:32Z efif $
00016 // 
00017 // Author(s)     : Baruch Zukerman <baruchzu@post.tau.ac.il>
00018 //                 Ron Wein <wein@post.tau.ac.il>
00019 //                 Efi Fogel <efif@post.tau.ac.il>
00020 //
00021 
00022 #ifndef CGAL_ARR_SPHERICAL_BATCHED_PL_HELPER_H
00023 #define CGAL_ARR_SPHERICAL_BATCHED_PL_HELPER_H
00024 
00029 CGAL_BEGIN_NAMESPACE
00030 
00031 #include <CGAL/Sweep_line_empty_visitor.h>
00032 
00038 template <class Traits_, class Arrangement_>
00039 class Arr_spherical_batched_pl_helper
00040 {
00041 public:
00042 
00043   typedef Traits_                                      Traits_2;
00044   typedef Arrangement_                                 Arrangement_2;
00045 
00046   typedef typename Arrangement_2::Face_const_handle    Face_const_handle;
00047 
00048   typedef Sweep_line_empty_visitor<Traits_2>           Base_visitor;
00049   typedef typename Base_visitor::Event                 Event;
00050   typedef typename Base_visitor::Subcurve              Subcurve;
00051 
00052 protected:
00053 
00054   typedef typename Arrangement_2::Topology_traits      Topology_traits;
00055 
00056   // Data members:
00058   const Topology_traits * m_top_traits;
00059 
00061   Face_const_handle m_unb_face;
00062 
00063 public:
00067   Arr_spherical_batched_pl_helper(const Arrangement_2 *arr) :
00068     m_top_traits(arr->topology_traits())
00069   {}
00070 
00072 
00073 
00075   void before_sweep()
00076   {
00077     // Get the unbounded face.
00078     m_unb_face = Face_const_handle(m_top_traits->unbounded_face());
00079   }
00080 
00084   void after_handle_event(Event * event) { return; }
00086 
00088   Face_const_handle top_face() const
00089   {
00090     return m_unb_face;
00091   }
00092 };
00093 
00094 CGAL_END_NAMESPACE
00095 
00096 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines