planar_map_iostream.h
来自「CGAL is a collaborative effort of severa」· C头文件 代码 · 共 125 行
H
125 行
// Copyright (c) 1997 Tel-Aviv University (Israel).// 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.//// $Source: /CVSROOT/CGAL/Packages/Planar_map/include/CGAL/IO/Planar_map_iostream.h,v $// $Revision: 1.2 $ $Date: 2003/09/18 10:24:40 $// $Name: $//// Author(s) : Iddo Hanniel <hanniel@math.tau.ac.il>// Oren Nechushtan <theoren@math.tau.ac.il>#ifndef CGAL_BASIC_H#include <CGAL/basic.h>#endif#ifndef CGAL_PLANAR_MAP_2_H#include <CGAL/Planar_map_2.h>#endif#include <iostream>CGAL_BEGIN_NAMESPACEtemplate <class Dcel, class Traits>::std::ostream& operator<<(::std::ostream& o, const Planar_map_2<Dcel,Traits>& pm) { o << "Vertices ---------------" << std::endl; typename Planar_map_2<Dcel,Traits>::Vertex_const_iterator vi; for (vi = pm.vertices_begin(); vi != pm.vertices_end(); ++vi) { o << "(" << vi->point() << ")" << std::endl; } o << "Halfedges ------------------" << std::endl; typename Planar_map_2<Dcel,Traits>::Halfedge_const_iterator ei; for (ei = pm.halfedges_begin(); ei != pm.halfedges_end(); ++ei) { o << "{" << ei->curve() << "}" << std::endl; } o << "Faces ------------------" << std::endl; typename Planar_map_2<Dcel,Traits>::Face_const_iterator fi; typename Planar_map_2<Dcel,Traits>::Holes_const_iterator iccbit; //typename Planar_map_2<Dcel,Traits>::Holes_iterator iccbit; typename Planar_map_2<Dcel,Traits>::Ccb_halfedge_const_circulator ccb_circ; //typename Planar_map_2<Dcel,Traits>::Ccb_halfedge_circulator ccb_circ; int ck; int fc_counter; for (fc_counter=0,fi = pm.faces_begin(); fi != pm.faces_end(); ++fi,fc_counter++) { o << "Face " << fc_counter << " :\n"; o << "outer ccb: " ; if (fi->is_unbounded()) { o << "UNBOUNDED" << std::endl; } else { // typename Planar_map_2<Dcel,Traits>::Ccb_halfedge_circulator typename Planar_map_2<Dcel,Traits>::Ccb_halfedge_const_circulator first = fi->outer_ccb(), iter = first; o << "["; do { o << "(" << iter->source()->point() << ")-"; ++iter; } while (iter != first); o << "(" << first->source()->point() << ")]" << std::endl; } for (ck=0, iccbit = (*fi).holes_begin(); iccbit != (*fi).holes_end(); ++iccbit, ck++) { o << "inner ccb " << ck << ": " ; ccb_circ = (*iccbit); typename Planar_map_2<Dcel,Traits>::Ccb_halfedge_const_circulator //typename Planar_map_2<Dcel,Traits>::Ccb_halfedge_circulator iter = ccb_circ; o << "["; do { o << "(" << iter->source()->point() << ")-"; ++iter; } while (iter != ccb_circ); o << "(" << ccb_circ->source()->point() << ")]" ; } o << std::endl; } return o;}CGAL_END_NAMESPACE
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?