Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages
hugin_base/algorithms/optimizer/ImageGraph.h
Go to the documentation of this file.00001 // -*- c-basic-offset: 4 -*- 00024 #ifndef _PANODATA_IMAGEGRAPH_H 00025 #define _PANODATA_IMAGEGRAPH_H 00026 00027 #include <hugin_shared.h> 00028 00029 #ifdef MAC_OS_X 00030 // In the case boost got error with macro "check()", uncomment following two lines. 00031 //#include <AssertMacros.h> 00032 //#undef check 00033 // Ref. http://lists.boost.org/boost-users/2004/05/6723.php 00034 #endif 00035 #include <boost/graph/graph_traits.hpp> 00036 #include <boost/graph/adjacency_list.hpp> 00037 #include <boost/graph/properties.hpp> 00038 00039 #include <panodata/PanoramaData.h> 00040 00041 00042 namespace HuginBase 00043 { 00044 00050 typedef boost::adjacency_list<boost::vecS, boost::vecS, 00051 boost::undirectedS, 00052 boost::property<boost::vertex_color_t, boost::default_color_type> > CPGraph; 00053 00055 typedef std::vector< std::set<unsigned> > CPComponents; 00056 00057 00062 IMPEX void createCPGraph(const PanoramaData& pano, CPGraph & graph); 00063 00064 IMPEX int findCPComponents(const CPGraph & graph, 00065 CPComponents & comp); 00066 00067 00068 //------------------------------------------------------------------------------ 00069 00071 typedef boost::property<boost::edge_weight_t, float> OverlapEdgeProperty; 00072 00081 typedef boost::adjacency_list<boost::vecS, boost::vecS, 00082 boost::undirectedS, 00083 boost::property<boost::vertex_color_t, boost::default_color_type>, 00084 OverlapEdgeProperty> OverlapGraph; 00085 00086 00091 void createOverlapGraph(const PanoramaData& pano, OverlapGraph & graph); 00092 00093 00094 } // namespace 00095 00096 #endif // _H
1.3.9.1