BWAPI
|
00001 // Copyright (c) 2006, 2009 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/Arrangement_2/Arr_default_planar_topology.h $ 00015 // $Id: Arr_default_planar_topology.h 49772 2009-06-03 21:25:53Z eric $ 00016 // 00017 // 00018 // Author(s): Ron Wein <wein@post.tau.ac.il> 00019 // Eric Berberich <ericb@post.tau.ac.il> 00020 00021 #ifndef CGAL_ARR_DEFAULT_PLANAR_TOPOLOGY_H 00022 #define CGAL_ARR_DEFAULT_PLANAR_TOPOLOGY_H 00023 00030 #include <CGAL/tags.h> 00031 #include <CGAL/Arr_tags.h> 00032 #include <CGAL/Arr_bounded_planar_topology_traits_2.h> 00033 #include <CGAL/Arr_unb_planar_topology_traits_2.h> 00034 00035 CGAL_BEGIN_NAMESPACE 00036 00037 namespace CGALi { 00038 00039 template <class GeomTraits, class Dcel, class Tag> 00040 struct Default_planar_topology_impl {}; 00041 00042 template <class GeomTraits, class Dcel> 00043 struct Default_planar_topology_impl< GeomTraits, Dcel, 00044 Arr_all_sides_oblivious_tag> 00045 { 00046 // A topology-traits class that supports only bounded curves: 00047 typedef Arr_bounded_planar_topology_traits_2<GeomTraits, Dcel> Traits; 00048 00049 }; 00050 00051 template <class GeomTraits, class Dcel> 00052 struct Default_planar_topology_impl< GeomTraits, Dcel, 00053 Arr_not_all_sides_oblivious_tag> 00054 { 00055 // A topology-traits class that supports unbounded curves: 00056 typedef Arr_unb_planar_topology_traits_2<GeomTraits, Dcel> Traits; 00057 }; 00058 00059 00060 } // namespace CGALi 00061 00062 template < class GeomTraits, class Dcel > 00063 struct Default_planar_topology : 00064 public CGALi::Default_planar_topology_impl < 00065 GeomTraits, Dcel, 00066 typename Arr_are_all_sides_oblivious_tag< 00067 typename CGALi::Arr_complete_left_side_tag< GeomTraits >::Tag, 00068 typename CGALi::Arr_complete_bottom_side_tag< GeomTraits> ::Tag, 00069 typename CGALi::Arr_complete_top_side_tag< GeomTraits >::Tag, 00070 typename CGALi::Arr_complete_right_side_tag< GeomTraits >::Tag >::result 00071 > 00072 {}; 00073 00074 CGAL_END_NAMESPACE 00075 00076 #endif 00077