g2o
Loading...
Searching...
No Matches
g2o::BackBoneTreeAction Struct Reference

#include <backbone_tree_action.h>

Inheritance diagram for g2o::BackBoneTreeAction:
Collaboration diagram for g2o::BackBoneTreeAction:

Public Member Functions

 BackBoneTreeAction (SparseOptimizer *optimizer, const std::string &vertexTag, int level, int step)
void init ()
 initializes the visit and clears the internal structures
VertexStarMap & vertexStarMap ()
 map vertex->star. Contains the most recent vertex assignment
VertexStarMultimap & vertexStarMultiMap ()
 multimap vertex->star. Contains all the vertex assignments to all stars
HyperGraph::EdgeSet & freeEdges ()
 edges that are not yet assigned to any star
virtual double perform (HyperGraph::Vertex *v, HyperGraph::Vertex *vParent, HyperGraph::Edge *e, double distance)
Public Member Functions inherited from g2o::HyperDijkstra::TreeAction
virtual double perform (HyperGraph::Vertex *v, HyperGraph::Vertex *vParent, HyperGraph::Edge *e)

Protected Member Functions

void addToMap (Star *s, HyperGraph::Vertex *v)
Star * getStar (HyperGraph::Vertex *v)
bool fillStar (Star *s, HyperGraph::Edge *e_)
 helper function that adds to a star an edge and all its vertices

Protected Attributes

SparseOptimizer * _optimizer
std::string _vertexTag
int _level
int _step
VertexStarMap _vsMap
VertexStarMultimap _vsMmap
HyperGraph::EdgeSet _freeEdges
Factory * _factory

Detailed Description

Dijkstra traversal action that constructs a backbone skeleton on the graph. It assumes that the traversal contains only edges and vertices belonging to classes that can be used to construct a backbone. After a visit is invoked, it returns vector of stars to which the backbone nodes have been assigned

Definition at line 47 of file backbone_tree_action.h.

Constructor & Destructor Documentation

◆ BackBoneTreeAction()

g2o::BackBoneTreeAction::BackBoneTreeAction ( SparseOptimizer * optimizer,
const std::string & vertexTag,
int level,
int step )

creates a tree action for constructing the backbone

Parameters
optimizerthe optimizer on which the stars are constructed
vertexTagthe tag of the vertices to use as backbone nodes
levelthe level of the lowLevelEdges of the stars in the backbone
stepdepth in tree after which a new star is initialized

Definition at line 37 of file backbone_tree_action.cpp.

References _factory, _level, _optimizer, _step, _vertexTag, init(), g2o::Factory::instance(), and step().

Member Function Documentation

◆ addToMap()

void g2o::BackBoneTreeAction::addToMap ( Star * s,
HyperGraph::Vertex * v )
protected

helper function for adding a vertex to a star. If the vertex is already in _vertexToEdgeMap it replaces the associated star. _vertexStarMultimap is only augmented, thus it contains all associations

Parameters
sthe star
vthe vertex

Definition at line 81 of file backbone_tree_action.cpp.

References g2o::Star::_lowLevelVertices, _vsMap, and _vsMmap.

Referenced by perform().

◆ fillStar()

bool g2o::BackBoneTreeAction::fillStar ( Star * s,
HyperGraph::Edge * e_ )
protected

helper function that adds to a star an edge and all its vertices

Definition at line 99 of file backbone_tree_action.cpp.

References _freeEdges, g2o::Star::_lowLevelEdges, g2o::Star::_lowLevelVertices, and g2o::HyperGraph::Edge::vertices().

Referenced by perform().

◆ freeEdges()

HyperGraph::EdgeSet & g2o::BackBoneTreeAction::freeEdges ( )
inline

edges that are not yet assigned to any star

Definition at line 66 of file backbone_tree_action.h.

References _freeEdges.

Referenced by g2o::computeSimpleStars().

◆ getStar()

Star * g2o::BackBoneTreeAction::getStar ( HyperGraph::Vertex * v)
protected

helper function to retrieve the most recent star of a vertex.

Parameters
vthe vertex

Definition at line 92 of file backbone_tree_action.cpp.

References _vsMap.

Referenced by perform().

◆ init()

void g2o::BackBoneTreeAction::init ( )

initializes the visit and clears the internal structures

Definition at line 45 of file backbone_tree_action.cpp.

References _freeEdges, _level, _optimizer, _vsMap, _vsMmap, and g2o::OptimizableGraph::Edge::level().

Referenced by BackBoneTreeAction(), and g2o::computeSimpleStars().

◆ perform()

double g2o::BackBoneTreeAction::perform ( HyperGraph::Vertex * v,
HyperGraph::Vertex * vParent,
HyperGraph::Edge * e,
double distance )
virtual

action to be performed during the descent of the dijkstra tree. it constructs stars according to the dijkstra tree A new star is created every time the depth increases of _step.

Parameters
vthe vertex
vParentthe parent vertex
ethe edge between v and its parent
distancethe depth in the tree

Reimplemented from g2o::HyperDijkstra::TreeAction.

Definition at line 58 of file backbone_tree_action.cpp.

References _factory, g2o::Star::_gauge, _level, _optimizer, _step, _vertexTag, addToMap(), fillStar(), and getStar().

◆ vertexStarMap()

VertexStarMap & g2o::BackBoneTreeAction::vertexStarMap ( )
inline

map vertex->star. Contains the most recent vertex assignment

Definition at line 62 of file backbone_tree_action.h.

References _vsMap.

◆ vertexStarMultiMap()

VertexStarMultimap & g2o::BackBoneTreeAction::vertexStarMultiMap ( )
inline

multimap vertex->star. Contains all the vertex assignments to all stars

Definition at line 64 of file backbone_tree_action.h.

References _vsMmap.

Referenced by g2o::computeSimpleStars().

Member Data Documentation

◆ _factory

Factory* g2o::BackBoneTreeAction::_factory
protected

Definition at line 104 of file backbone_tree_action.h.

Referenced by BackBoneTreeAction(), and perform().

◆ _freeEdges

HyperGraph::EdgeSet g2o::BackBoneTreeAction::_freeEdges
protected

Definition at line 103 of file backbone_tree_action.h.

Referenced by fillStar(), freeEdges(), and init().

◆ _level

int g2o::BackBoneTreeAction::_level
protected

Definition at line 98 of file backbone_tree_action.h.

Referenced by BackBoneTreeAction(), init(), and perform().

◆ _optimizer

SparseOptimizer* g2o::BackBoneTreeAction::_optimizer
protected

Definition at line 96 of file backbone_tree_action.h.

Referenced by BackBoneTreeAction(), init(), and perform().

◆ _step

int g2o::BackBoneTreeAction::_step
protected

Definition at line 99 of file backbone_tree_action.h.

Referenced by BackBoneTreeAction(), and perform().

◆ _vertexTag

std::string g2o::BackBoneTreeAction::_vertexTag
protected

Definition at line 97 of file backbone_tree_action.h.

Referenced by BackBoneTreeAction(), and perform().

◆ _vsMap

VertexStarMap g2o::BackBoneTreeAction::_vsMap
protected

Definition at line 101 of file backbone_tree_action.h.

Referenced by addToMap(), getStar(), init(), and vertexStarMap().

◆ _vsMmap

VertexStarMultimap g2o::BackBoneTreeAction::_vsMmap
protected

Definition at line 102 of file backbone_tree_action.h.

Referenced by addToMap(), init(), and vertexStarMultiMap().


The documentation for this struct was generated from the following files: