⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 min_sphere_d_impl.h

📁 很多二维 三维几何计算算法 C++ 类库
💻 H
字号:
// Copyright (c) 1997  ETH Zurich (Switzerland).// 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.//// $URL: svn+ssh://scm.gforge.inria.fr/svn/cgal/branches/CGAL-3.3-branch/Min_sphere_d/include/CGAL/Min_sphere_d/Min_sphere_d_impl.h $// $Id: Min_sphere_d_impl.h 32393 2006-07-11 12:24:07Z gaertner $// //// Author(s)     : Sven Schoenherr <sven@inf.fu-berlin.de>//                 Bernd Gaertner#include <iterator>CGAL_BEGIN_NAMESPACE// Class implementation (continued)// ================================// I/O// ---template < class Traits >std::ostream&operator << ( std::ostream& os, const Min_sphere_d<Traits>& min_sphere){    typedef typename Min_sphere_d<Traits>::Point  Point;    switch ( get_mode( os)) {      case IO::PRETTY:        os << std::endl;        os << "Min_sphere_d( |P| = " << min_sphere.number_of_points()           << ", |S| = " << min_sphere.number_of_support_points()           << std::endl;        os << "  P = {" << std::endl;        os << "    ";        std::copy( min_sphere.points_begin(), min_sphere.points_end(),              std::ostream_iterator<Point>( os, ",\n    "));        os << "}" << std::endl;        os << "  S = {" << std::endl;        os << "    ";        std::copy( min_sphere.support_points_begin(),              min_sphere.support_points_end(),              std::ostream_iterator<Point>( os, ",\n    "));        os << "}" << std::endl;        os << "  center = " << min_sphere.center() << std::endl;        os << "  squared radius = " << min_sphere.squared_radius()           << std::endl;        os << ")" << std::endl;        break;      case IO::ASCII:        os << min_sphere.number_of_points() << std::endl;        std::copy( min_sphere.points_begin(), min_sphere.points_end(),              std::ostream_iterator<Point>( os, "\n"));        break;      case IO::BINARY:        os << min_sphere.number_of_points() << " ";        std::copy( min_sphere.points_begin(), min_sphere.points_end(),              std::ostream_iterator<Point>( os, " "));        break;      default:        CGAL_optimisation_assertion_msg            ( false, "get_mode( os) invalid!");        break; }    return( os);}template < class Traits >std::istream&operator >> ( std::istream& is, Min_sphere_d<Traits>& min_sphere){    switch ( get_mode( is)) {      case IO::PRETTY:        std::cerr << std::endl;        std::cerr << "Stream must be in ascii or binary mode" << std::endl;        break;      case IO::ASCII:      case IO::BINARY:      {        min_sphere.clear();        int n; is >> n;        typename Min_sphere_d<Traits>::Point p;        for (int i=0; i<n; ++i) {            is >> p;            min_sphere.insert (p);        }      } break;      default:        CGAL_optimisation_assertion_msg( false, "IO::mode invalid!");        break; }    return( is);}CGAL_END_NAMESPACE// ===== EOF ==================================================================

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -