BWAPI
|
00001 // Copyright (c) 2003-2008 INRIA Sophia-Antipolis (France). 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/Circular_kernel_2/include/CGAL/Circular_kernel_type_equality_wrapper.h $ 00015 // $Id: Circular_kernel_type_equality_wrapper.h 44373 2008-07-23 17:13:44Z pmachado $ 00016 // 00017 // Author(s) : Monique Teillaud, Sylvain Pion, Pedro Machado 00018 00019 // Partially supported by the IST Programme of the EU as a Shared-cost 00020 // RTD (FET Open) Project under Contract No IST-2000-26473 00021 // (ECG - Effective Computational Geometry for Curves and Surfaces) 00022 // and a STREP (FET Open) Project under Contract No IST-006413 00023 // (ACS -- Algorithms for Complex Shapes) 00024 00025 00026 #ifndef CGAL_CIRCULAR_KERNEL_TYPE_EQUALITY_WRAPPER_H 00027 #define CGAL_CIRCULAR_KERNEL_TYPE_EQUALITY_WRAPPER_H 00028 00029 #include <CGAL/user_classes.h> 00030 #include <CGAL/Kernel/Type_equality_wrapper.h> 00031 #include <CGAL/Circular_arc_2.h> 00032 #include <CGAL/Circular_arc_point_2.h> 00033 #include <CGAL/Line_arc_2.h> 00034 #include <CGAL/Root_of_2.h> 00035 00036 00037 CGAL_BEGIN_NAMESPACE 00038 00039 // This is a kernel wrapper which provides the type equality between 00040 // Kernel::Point_2 and CGAL::Point_2<Kernel>, by deriving from 00041 // K_base::Point_2 (and similar for the other types). 00042 00043 template < typename K_base, typename Kernel > 00044 struct Circular_kernel_type_equality_wrapper 00045 : public Type_equality_wrapper<K_base, Kernel> 00046 { 00047 typedef K_base Kernel_base; 00048 typedef CGAL::Circular_arc_2<Kernel> Circular_arc_2; 00049 typedef CGAL::Line_arc_2<Kernel> Line_arc_2; 00050 typedef CGAL::Circular_arc_point_2<Kernel> Circular_arc_point_2; 00051 00052 //typedef CGAL::Root_of_2<typename Kernel_base::FT> Root_of_2; 00053 00054 //Something has to be done with these 3, maybe a lazy Algebraic kernel? 00055 00056 //typedef Polynomial_for_circles_2_2<Kernel> Polynomial_for_circles_2_2; 00057 //typedef Polynomial_1_2<Kernel> Polynomial_1_2; 00058 //typedef Root_of_2<Kernel> Root_of_2; 00059 }; 00060 00061 CGAL_END_NAMESPACE 00062 00063 #endif // CGAL_CIRCULAR_KERNEL_TYPE_EQUALITY_WRAPPER_H