g2o
star.h
Go to the documentation of this file.
1 #ifndef G2O_STAR_
2 #define G2O_STAR_
3 
5 #include "edge_labeler.h"
6 #include <Eigen/Core>
7 #include <vector>
8 #include <set>
9 #include <map>
10 
11 namespace g2o {
26 struct Star{
31 
36  bool labelStarEdges(int iterations, EdgeLabeler* labeler);
37 
39  inline int level() const { return _level; };
41  inline SparseOptimizer* optimizer() { return _optimizer;}
49  inline HyperGraph::VertexSet& gauge() {return _gauge;}
52 
54  int _level;
67 };
68 
69  typedef std::multimap<OptimizableGraph::Vertex*, Star*> VertexStarMultimap;
70  typedef std::map<OptimizableGraph::Vertex*, Star*> VertexStarMap;
71  typedef std::set<Star*> StarSet;
72  typedef std::map<HyperGraph::Edge*, Star*> EdgeStarMap;
73 
74 
75 } // end namespace
76 #endif
SparseOptimizer * optimizer()
returns the optimizer
Definition: star.h:41
HyperGraph::EdgeSet _lowLevelEdges
edges in the lower level
Definition: star.h:58
HyperGraph::EdgeSet _starFrontierEdges
edges in the star that lead to some other star
Definition: star.h:62
std::set< Vertex * > VertexSet
Definition: hyper_graph.h:136
HyperGraph::EdgeSet & starFrontierEdges()
edges in the high level that lead to some node owned by a different star
Definition: star.h:47
HyperGraph::EdgeSet & starEdges()
high level edge set
Definition: star.h:45
int level() const
returns the level of the lower edges in the star
Definition: star.h:39
std::multimap< OptimizableGraph::Vertex *, Star * > VertexStarMultimap
Definition: star.h:69
Star(int level, SparseOptimizer *optimizer)
Definition: star.cpp:7
bool labelStarEdges(int iterations, EdgeLabeler *labeler)
Definition: star.cpp:9
std::set< Edge * > EdgeSet
Definition: hyper_graph.h:135
HyperGraph::EdgeSet _starEdges
edges in the star
Definition: star.h:60
Definition: star.h:26
HyperGraph::VertexSet _lowLevelVertices
vertices that are fixed (center of the star)
Definition: star.h:66
std::set< Star * > StarSet
Definition: star.h:71
HyperGraph::VertexSet _gauge
vertices that are fixed (center of the star)
Definition: star.h:64
std::map< HyperGraph::Edge *, Star * > EdgeStarMap
Definition: star.h:72
HyperGraph::EdgeSet & lowLevelEdges()
low level edge set
Definition: star.h:43
SparseOptimizer * _optimizer
optimizer
Definition: star.h:56
HyperGraph::VertexSet & gauge()
set of nodes to keep fixed in the optimization
Definition: star.h:49
std::map< OptimizableGraph::Vertex *, Star * > VertexStarMap
Definition: star.h:70
HyperGraph::VertexSet & lowLevelVertices()
set of all vertices in the low level
Definition: star.h:51
int _level
level of the star
Definition: star.h:54