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

📄 optimisation_ellipse_2_impl.h

📁 很多二维 三维几何计算算法 C++ 类库
💻 H
字号:
// Copyright (c) 1997-2001  Freie Universitaet Berlin (Germany).// 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_ellipse_2/include/CGAL/Min_ellipse_2/Optimisation_ellipse_2_impl.h $// $Id: Optimisation_ellipse_2_impl.h 32391 2006-07-11 12:17:08Z gaertner $// //// Author(s)     : Sven Schoenherr <sven@inf.ethz.ch>, Bernd GaertnerCGAL_BEGIN_NAMESPACE// Class implementation (continued)// ================================// I/O// ---template < class K_ >std::ostream&operator << ( std::ostream& os, const CGAL::Optimisation_ellipse_2<K_>& e){    const char* const  empty       = "";    const char* const  pretty_head = "CGAL::Optimisation_ellipse_2( ";    const char* const  pretty_sep  = ", ";    const char* const  pretty_tail = ")";    const char* const  ascii_sep   = " ";    const char*  head = empty;    const char*  sep  = empty;    const char*  tail = empty;    switch ( CGAL::get_mode( os)) {      case CGAL::IO::PRETTY:        head = pretty_head;        sep  = pretty_sep;        tail = pretty_tail;        break;      case CGAL::IO::ASCII:        sep  = ascii_sep;        break;      case CGAL::IO::BINARY:        break;      default:        CGAL_optimisation_assertion_msg( false,                                         "CGAL::get_mode( os) invalid!");        break; }    os << head << e.n_boundary_points;    switch ( e.n_boundary_points) {      case 0:        break;      case 1:        os << sep << e.boundary_point1;        break;      case 2:        os << sep << e.boundary_point1           << sep << e.boundary_point2;        break;      case 3:      case 5:        os << sep << e.conic1;        break;      case 4:        os << sep << e.conic1           << sep << e.conic2;        break; }    os << tail;    return( os);}template < class K_ >std::istream&operator >> ( std::istream& is, CGAL::Optimisation_ellipse_2<K_>& e){    switch ( CGAL::get_mode( is)) {      case CGAL::IO::PRETTY:        std::cerr << std::endl;        std::cerr << "Stream must be in ascii or binary mode" << std::endl;        break;      case CGAL::IO::ASCII:      case CGAL::IO::BINARY:        CGAL::read( is, e.n_boundary_points);        switch ( e.n_boundary_points) {          case 0:            break;          case 1:            is >> e.boundary_point1;            break;          case 2:            is >> e.boundary_point1               >> e.boundary_point2;            break;          case 3:          case 5:            is >> e.conic1;            break;          case 4:            is >> e.conic1               >> e.conic2;            break; }        break;      default:        CGAL_optimisation_assertion_msg( false,                                         "CGAL::get_mode( is) invalid!");        break; }    return( is);}CGAL_END_NAMESPACE// ===== EOF ==================================================================

⌨️ 快捷键说明

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