BWAPI
|
00001 // Copyright (c) 2005, 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/Arr_consolidated_curve_data_traits_2.h $ 00015 // $Id: Arr_consolidated_curve_data_traits_2.h 49772 2009-06-03 21:25:53Z eric $ 00016 // 00017 // 00018 // Author(s) : Ron Wein <wein@post.tau.ac.il> 00019 // Efi Fogel <efif@post.tau.ac.il> 00020 00021 #ifndef CGAL_ARR_CONSOLIDATED_CURVE_DATA_TRAITS_2_H 00022 #define CGAL_ARR_CONSOLIDATED_CURVE_DATA_TRAITS_2_H 00023 00028 #include<CGAL/Arr_curve_data_traits_2.h> 00029 #include<CGAL/Arr_geometry_traits/Consolidated_curve_data_aux.h> 00030 00031 CGAL_BEGIN_NAMESPACE 00032 00047 template <class Traits_, class Data_> 00048 class Arr_consolidated_curve_data_traits_2 : 00049 public Arr_curve_data_traits_2<Traits_, 00050 _Unique_list<Data_>, 00051 _Consolidate_unique_lists<Data_>, 00052 Data_> 00053 { 00054 private: 00055 00056 typedef Arr_curve_data_traits_2<Traits_, 00057 _Unique_list<Data_>, 00058 _Consolidate_unique_lists<Data_>, 00059 Data_> Base; 00060 00061 public: 00062 00063 typedef Traits_ Base_traits_2; 00064 typedef Data_ Data; 00065 typedef _Unique_list<Data_> Data_container; 00066 typedef typename Data_container::const_iterator Data_iterator; 00067 typedef typename Data_container::const_iterator Data_const_iterator; 00068 00069 typedef typename Base::Curve_2 Curve_2; 00070 typedef typename Base_traits_2::Curve_2 Base_curve_2; 00071 typedef typename Base::X_monotone_curve_2 X_monotone_curve_2; 00072 typedef typename Base_traits_2::X_monotone_curve_2 Base_x_monotone_curve_2; 00073 typedef typename Base_traits_2::Point_2 Point_2; 00074 typedef typename Base_traits_2::Multiplicity Multiplicity; 00075 00076 typedef typename Base_traits_2::Has_left_category Has_left_category; 00077 00078 typedef typename Base_traits_2::Has_merge_category Base_has_merge_category; 00079 typedef Tag_true Has_merge_category; 00080 00081 // Base_traits_2 is Arr_curve_data_traits that already completes 00082 // incomplete tags 00083 typedef typename Base_traits_2::Arr_left_side_tag Arr_left_side_tag; 00084 typedef typename Base_traits_2::Arr_bottom_side_tag Arr_bottom_side_tag; 00085 typedef typename Base_traits_2::Arr_top_side_tag Arr_top_side_tag; 00086 typedef typename Base_traits_2::Arr_right_side_tag Arr_right_side_tag; 00087 }; 00088 00089 CGAL_END_NAMESPACE 00090 00091 #endif 00092