BWAPI
|
00001 // Copyright (c) 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_3/include/CGAL/Circular_kernel_3/get_equation_object_on_curved_kernel_3.h $ 00015 // $Id: get_equation_object_on_curved_kernel_3.h 44381 2008-07-24 09:26:28Z pmachado $ 00016 // 00017 // Author(s) : Monique Teillaud, Sylvain Pion, Pedro Machado, 00018 // Julien Hazebrouck, Damien Leroy 00019 00020 // Partially supported by the IST Programme of the EU as a 00021 // STREP (FET Open) Project under Contract No IST-006413 00022 // (ACS -- Algorithms for Complex Shapes) 00023 00024 #ifndef CGAL_SPHERICAL_KERNEL_GET_EQUATION_OBJECT_3_H 00025 #define CGAL_SPHERICAL_KERNEL_GET_EQUATION_OBJECT_3_H 00026 00027 #include <CGAL/Circular_kernel_3/internal_functions_on_sphere_3.h> 00028 #include <CGAL/Circular_kernel_3/internal_functions_on_line_3.h> 00029 #include <CGAL/Circular_kernel_3/internal_functions_on_plane_3.h> 00030 #include <CGAL/Circular_kernel_3/internal_functions_on_circle_3.h> 00031 // to be removed when CGAL::Kernel has a Get_equation 00032 00033 namespace CGAL { 00034 namespace SphericalFunctors { 00035 00036 template < class SK > 00037 class Get_equation //: public LinearFunctors::Get_equation<SK> 00038 { 00039 public: 00040 00041 typedef void result_type; // should we keep this? 00042 00043 typedef typename SK::Polynomial_for_spheres_2_3 result_type_for_sphere; 00044 typedef typename SK::Polynomial_1_3 result_type_for_plane; 00045 typedef typename SK::Polynomials_for_line_3 result_type_for_line; 00046 typedef typename SK::Polynomials_for_circle_3 result_type_for_circle; 00047 //using LinearFunctors::Get_equation<SK>::operator(); 00048 00049 00050 result_type_for_sphere 00051 operator() ( const typename SK::Sphere_3 & s ) 00052 { 00053 return get_equation<SK>(s); 00054 } 00055 00056 result_type_for_plane 00057 operator() ( const typename SK::Plane_3 & p ) 00058 { 00059 return get_equation<SK>(p); 00060 } 00061 00062 result_type_for_line 00063 operator() ( const typename SK::Line_3 & l ) 00064 { 00065 return get_equation<SK>(l); 00066 } 00067 00068 result_type_for_circle 00069 operator() ( const typename SK::Circle_3 & c ) 00070 { 00071 return get_equation<SK>(c); 00072 } 00073 00074 }; 00075 00076 } // namespace SphericalFunctors 00077 } // namespace CGAL 00078 00079 #endif // CGAL_SPHERICAL_KERNEL_GET_EQUATION_OBJECT_3_H