// Copyright (c) 2005-2006 INRIA Sophia-Antipolis (France). // All rights reserved. // // This file is part of CGAL (www.cgal.org); you may redistribute it under // the terms of the Q Public License version 1.0. // See the file LICENSE.QPL distributed with CGAL. // // Licensees holding a valid commercial license may use this file in // accordance with the commercial license agreement provided with the software. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. // // Partially supported by the IST Programme of the EU as a Shared-cost // RTD (FET Open) Project under Contract No IST-2000-26473 // (ECG - Effective Computational Geometry for Curves and Surfaces) // and a STREP (FET Open) Project under Contract No IST-006413 // (ACS -- Algorithms for Complex Shapes) // // $URL: svn+ssh://sloriot@scm.gforge.inria.fr/svn/cgal/trunk/Circular_kernel_3/include/CGAL/Circular_kernel_3/Circular_arc_3.h $ // $Id: Circular_arc_3.h 40627 2007-10-16 15:00:59Z sloriot $ // // Author(s) : Loriot Sebastien // Monique Teillaud // Sylvain Pion // Pedro Machado // Julien Hazebrouck // Damien Leroy #ifndef CGAL_SPHERE_WITH_RADIUS_3_H #define CGAL_SPHERE_WITH_RADIUS_3_H namespace CGAL { template class Sphere_with_radius_3 : public SK::Kernel_base::Sphere_with_radius_3 { typedef typename SK::FT FT; typedef typename SK::Point_3 Point_3; typedef typename SK::Plane_3 Plane_3; typedef typename SK::Kernel_base::Sphere_with_radius_3 RSphere_with_radius_3; public: typedef RSphere_with_radius_3 Repd; typedef SK R; const Repd& rep() const{ return *this; } Repd& rep(){ return *this; } Sphere_with_radius_3(const RSphere_with_radius_3& c) :RSphere_with_radius_3(c){} Sphere_with_radius_3() : RSphere_with_radius_3(typename R::Construct_sphere_with_radius_3()()) {} Sphere_with_radius_3(const FT& _r,const Point_3& _c) : RSphere_with_radius_3(typename R::Construct_sphere_with_radius_3()(_r,_c)) {} Sphere_with_radius_3(const CGAL::Sphere_3& S) : RSphere_with_radius_3(typename R::Construct_sphere_with_radius_3()(S)) {} typename Qualified_result_of ::type //const Sphere_3 & radius() const { return typename R::Compute_radius_sphere_with_radius_3()(*this); } }; } #endif //CGAL_SPHERE_WITH_RADIUS_3_H