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

📄 delaunay_triangulation_face_base_2.h

📁 很多二维 三维几何计算算法 C++ 类库
💻 H
字号:
// Copyright (c) 2005  Stanford University (USA).// All rights reserved.//// This file is part of CGAL (www.cgal.org); you can redistribute it and/or// modify it under the terms of the GNU Lesser General Public License as// published by the Free Software Foundation; version 2.1 of the License.// See the file LICENSE.LGPL 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/Kinetic_data_structures/include/CGAL/Kinetic/Delaunay_triangulation_face_base_2.h $// $Id: Delaunay_triangulation_face_base_2.h 31246 2006-05-22 06:42:26Z drussel $// //// Author(s)     : Daniel Russel <drussel@alumni.princeton.edu>#ifndef CGAL_KINETIC_KINETIC_DELAUNAY_FACE_BASE_2_H#define CGAL_KINETIC_KINETIC_DELAUNAY_FACE_BASE_2_H#include <CGAL/Kinetic/basic.h>#include <CGAL/Triangulation_face_base_2.h>CGAL_KINETIC_BEGIN_NAMESPACE//! A class to track labels of edges of faces in a triangulationtemplate <class SimulationTraits, class Face_base= CGAL::Triangulation_face_base_2<typename SimulationTraits::Instantaneous_kernel> >class Delaunay_triangulation_face_base_2: public Face_base{private:  typedef typename Face_base::Triangulation_data_structure   TDS;public:  typedef TDS                            Triangulation_data_structure;  typedef typename TDS::Face_handle     Face_handle;  typedef typename TDS::Vertex_handle   Vertex_handle;  typedef typename Face_base::Geom_traits Traits;  typedef typename SimulationTraits::Simulator::Event_key Edge_label;  Delaunay_triangulation_face_base_2(): Face_base() {  }  Delaunay_triangulation_face_base_2(Vertex_handle v0, Vertex_handle v1,				     Vertex_handle v2): Face_base(v0, v1, v2) {  }  Delaunay_triangulation_face_base_2(Vertex_handle v0, Vertex_handle v1,				     Vertex_handle v2,				     Face_handle f0, Face_handle f1,				     Face_handle f2): Face_base(v0,v1,v2, f0,f1,f2) {  }  //! Set the label for edge i  void set_edge_label(int i, const Edge_label l) {    CGAL_assertion(i>=0 && i<3);    _labels[i]=l;  }  //! Get the label  Edge_label get_edge_label(int i) const  {    CGAL_assertion(i>=0 && i<3);    return _labels[i];  }  /*typedef Edge_label* Edge_label_iterator;  typedef const Edge_label* Const_edge_label_iterator;  Edge_label_iterator begin_edge_labels() {    return &_labels[0];  }  Edge_label_iterator end_edge_labels() {    return &_labels[0]+3;  }  Const_edge_label_iterator begin_edge_labels() const  {    return &_labels[0];  }  Const_edge_label_iterator end_edge_labels() const  {    return &_labels[0]+3;    }*/  template < typename TDS2 >  struct Rebind_TDS  {    typedef typename Face_base::template Rebind_TDS<TDS2>::Other Fb2;    typedef Delaunay_triangulation_face_base_2<SimulationTraits, Fb2>  Other;  };protected:  Edge_label _labels[3];};template <class T, class Fb>std::ostream &operator<<(std::ostream &out,			 const Delaunay_triangulation_face_base_2<T, Fb> &f){  out << static_cast<const Fb&>(f);  out << " (" << f.get_edge_label(0) << ", " << f.get_edge_label(1) << ", " << f.get_edge_label(2) << ")";  return out;}CGAL_KINETIC_END_NAMESPACE#endif

⌨️ 快捷键说明

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