|
BWAPI
|
00001 // Copyright (c) 2007 GeometryFactory (France). All rights reserved. 00002 // 00003 // This file is part of CGAL (www.cgal.org); you can redistribute it and/or 00004 // modify it under the terms of the GNU Lesser General Public License as 00005 // published by the Free Software Foundation; version 2.1 of the License. 00006 // See the file LICENSE.LGPL distributed with CGAL. 00007 // 00008 // Licensees holding a valid commercial license may use this file in 00009 // accordance with the commercial license agreement provided with the software. 00010 // 00011 // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 00012 // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 00013 // 00014 // $URL: svn+ssh://scm.gforge.inria.fr/svn/cgal/branches/CGAL-3.5-branch/BGL/include/CGAL/boost/graph/halfedge_graph_traits_HalfedgeDS.h $ 00015 // $Id: halfedge_graph_traits_HalfedgeDS.h 43252 2008-05-21 17:13:31Z fcacciola $ 00016 // 00017 // 00018 // Author(s) : Andreas Fabri, Fernando Cacciola 00019 00020 #ifndef CGAL_BOOST_GRAPH_HALFEDGE_GRAPH_TRAITS_HALFEDGEDS_H 00021 #define CGAL_BOOST_GRAPH_HALFEDGE_GRAPH_TRAITS_HALFEDGEDS_H 00022 00023 #include <boost/config.hpp> 00024 #include <boost/iterator_adaptors.hpp> 00025 #include <boost/graph/graph_traits.hpp> 00026 #include <boost/graph/properties.hpp> 00027 00028 #include <CGAL/basic.h> 00029 00030 CGAL_BEGIN_NAMESPACE 00031 00032 template < class HDS > 00033 class HDS_all_undirected_edges_const_iterator 00034 : public HDS_all_edges_iterator_base<HDS,typename HDS::Edge_const_iterator,typename HDS::Halfedge_const_handle> 00035 { 00036 typedef HDS_all_edges_iterator_base<HDS,typename HDS::Edge_const_iterator,typename HDS::Halfedge_const_handle> Base ; 00037 00038 public: 00039 00040 typedef typename HDS::Edge_const_iterator Iterator; 00041 00042 HDS_all_undirected_edges_const_iterator() {} 00043 HDS_all_undirected_edges_const_iterator( Iterator j) : Base(j) {} 00044 }; 00045 00046 template < class HDS > 00047 class HDS_all_undirected_edges_iterator 00048 : public HDS_all_edges_iterator_base<HDS,typename HDS::Edge_iterator,typename HDS::Halfedge_handle> 00049 { 00050 typedef HDS_all_edges_iterator_base<HDS,typename HDS::Edge_iterator,typename HDS::Halfedge_handle> Base ; 00051 00052 public: 00053 00054 typedef typename HDS::Edge_iterator Iterator; 00055 00056 HDS_all_undirected_edges_iterator() {} 00057 HDS_all_undirected_edges_iterator( Iterator j) : Base(j) {} 00058 }; 00059 00060 00061 template <class HDS_> 00062 struct HDS_halfedge_graph_traits 00063 { 00064 public : 00065 00066 typedef HDS_ HDS; 00067 00068 typedef HDS_all_undirected_edges_iterator<HDS> undirected_edge_iterator; 00069 00070 typedef typename HDS::Vertex::Point Point ; 00071 }; 00072 00073 CGAL_END_NAMESPACE 00074 00075 #endif // CGAL_BOOST_GRAPH_HALFEDGE_GRAPH_TRAITS_HALFEDGEDS_H
1.7.6.1