27 #ifndef G2O_HYPER_GRAPH_ACTION_H 28 #define G2O_HYPER_GRAPH_ACTION_H 79 typedef std::map<std::string, HyperGraphElementAction*>
ActionMap;
94 const std::string&
typeName()
const {
return _typeName;}
97 const std::string&
name()
const{
return _name;}
100 void setTypeName(
const std::string& typeName_);
143 static void destroy();
189 void initializeDrawActionsCache() ;
203 #ifdef G2O_DEBUG_ACTIONLIB 204 std::cout << __FUNCTION__ <<
": Registering action of type " <<
typeid(T).name() << std::endl;
212 #ifdef G2O_DEBUG_ACTIONLIB 213 std::cout << __FUNCTION__ <<
": Unregistering action of type " <<
typeid(T).name() << std::endl;
223 #define G2O_REGISTER_ACTION(classname) \ 224 extern "C" void g2o_action_##classname(void) {} \ 225 static g2o::RegisterActionProxy<classname> g_action_proxy_##classname; data packet for a vertex. Extend this class to store in the vertices the potential additional informa...
Abstract action that operates on a graph entity.
Parameters * _previousParams
void applyAction(HyperGraph *graph, HyperGraphElementAction *action, HyperGraphElementAction::Parameters *params, const std::string &typeName)
HyperGraphElementAction::ActionMap & actionMap()
const std::string & name() const
returns the name of an action, e.g "draw"
HyperGraphElementAction * _cacheDrawActions
std::map< std::string, HyperGraphElementAction * > ActionMap
static HyperGraphActionLibrary * instance()
return the single instance of the HyperGraphActionLibrary
bool registerAction(HyperGraphElementAction *action)
const std::string & typeName() const
returns the typeid name of the action
HyperGraphElementAction * _action
HyperGraphElementAction::ActionMap _actionMap
static HyperGraphActionLibrary * actionLibInstance
a collection of properties mapping from name to the property itself
bool unregisterAction(HyperGraphElementAction *action)
Protocol The SLAM executable accepts such as solving the and retrieving or vertices in the graph
Abstract action that operates on an entire graph.
library of actions, indexed by the action name;