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

📄 intersection_line_2_circle_2_map.h

📁 很多二维 三维几何计算算法 C++ 类库
💻 H
字号:
// Copyright (c) 2003-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.//// $URL: svn+ssh://scm.gforge.inria.fr/svn/cgal/branches/CGAL-3.3-branch/Circular_kernel_2/include/CGAL/Circular_kernel_2/intersection_line_2_circle_2_map.h $// $Id: intersection_line_2_circle_2_map.h 36708 2007-02-28 18:54:33Z spion $//// Author(s)     : Monique Teillaud, Sylvain Pion, Pedro Machado// 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)#ifndef CGAL_INTERSECTION_LINE_2_CIRCLE_2_MAP_H#define CGAL_INTERSECTION_LINE_2_CIRCLE_2_MAP_H#include <map>#include <vector>#include <CGAL/Object.h>namespace CGAL {namespace CGALi {class Intersection_line_2_circle_2_map {typedef struct inter_map_pair {  int x, y;  inter_map_pair(int xx=0, int yy=0) : x(xx), y(yy) {}  inter_map_pair(const inter_map_pair &i) : x(i.x), y(i.y) {}  bool operator<(const inter_map_pair &i) const {    if(x < i.x) return true;    if(x > i.x) return false;     if(y < i.y) return true;    return false;  }} inter_map_pair;typedef std::map< inter_map_pair , CGAL::Object > Table;private:  Table intersection_map;  unsigned int id_gen;public:  Intersection_line_2_circle_2_map() : id_gen(0) { intersection_map.clear(); }  ~Intersection_line_2_circle_2_map() { intersection_map.clear(); }    unsigned int get_new_id() {    return ++id_gen;  }   template < class T >  bool find(int id1, int id2, T& res) const {    Table::const_iterator p = intersection_map.find(      inter_map_pair(id1,id2));    if(p == intersection_map.end()) return false;    assign(res, p->second);    return true;  }  template < class T >  void put(const int id1, const int id2, const T& res) {    intersection_map[inter_map_pair(id1,id2)] = CGAL::make_object(res);  }};} // endof internal cgal namespace} //endof cgal namespace#endif // CGAL_INTERSECTION_LINE_2_CIRCLE_2_MAP_H

⌨️ 快捷键说明

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