BWAPI
SPAR/AIModule/BWTA/vendors/CGAL/CGAL/Circular_kernel_type_equality_wrapper.h
Go to the documentation of this file.
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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines