00001 /* 00002 * ===================================================================================== 00003 * 00004 * Filename: graph.h 00005 * 00006 * Description: 00007 * 00008 * Version: 1.0 00009 * Created: 09/12/2008 10:56:13 AM CEST 00010 * Revision: none 00011 * Compiler: gcc 00012 * 00013 * Author: ARCILA Romain (fl), arcila.romain@free.fr 00014 * Company: none 00015 * 00016 * ===================================================================================== 00017 */ 00018 00019 #ifndef __GRAPH_H__ 00020 #define __GRAPH_H__ 00021 00022 /* #include <boost/graph/graph_traits.hpp> */ 00023 /* #include <boost/graph/adjacency_list.hpp> */ 00024 /* #include <boost/graph/floyd_warshall_shortest.hpp> */ 00025 00026 #include "../mesh/mesh.h" 00027 #include "../utils/utils.h" 00028 00030 00031 namespace GraphNS { 00032 // using namespace boost; 00033 // typedef adjacency_list<setS, setS, undirectedS, 00034 // boost::property<vertex_name_t, Mesh::Polyhedron::SimpleFace>, 00035 // boost::property<edge_weight_t, float> > Graph; 00036 // typedef graph_traits<Graph>::vertex_descriptor GraphVertex; 00037 // typedef property_map < Graph, vertex_name_t >::type face_name_map_t; 00038 // typedef property_map < Graph, edge_weight_t >::type edge_name_map_t; 00039 // typedef graph_traits<Graph>::vertex_iterator vertex_iterator; 00040 // typedef boost::graph_traits<Graph>::edge_iterator edge_iterator; 00041 // typedef std::map<const Mesh::Facet, GraphVertex, Mesh::FaceCompare> FaceVertexMap; 00042 // 00043 // void graphFromPolyhedron(const Mesh::Polyhedron& p, Graph& g, FaceVertexMap &faces ,face_name_map_t& face_name, edge_name_map_t& edge_dist, Utils::Correspondance<GraphVertex>& corr ); 00044 // 00045 // template<class Value> 00046 // inline bool floyd_warshall_all_pairs_shortest_paths(const Graph& g, Utils::MyMat<GraphVertex, Value>& mat, edge_name_map_t& emap) { 00047 // return floyd_warshall_all_pairs_shortest_paths(g, mat, emap, std::less<Value>(), std::plus<Value>() , std::numeric_limits<Value>::max(), 0.f); 00048 // } 00049 } 00050 00051 #endif