g2o
Loading...
Searching...
No Matches
SlamParser::SlamContextInterface Class Reference

#include <slam_context_interface.h>

Inheritance diagram for SlamParser::SlamContextInterface:
Collaboration diagram for SlamParser::SlamContextInterface:

Public Member Functions

 SlamContextInterface (AbstractSlamInterface *slam)
SlamContextInterface & operator= (const SlamContextInterface &)=delete
 SlamContextInterface (const SlamContextInterface &)=delete
 ~SlamContextInterface ()
bool process (CommandNode *commandNode)
Public Member Functions inherited from SlamParser::SlamContext
 SlamContext ()
virtual ~SlamContext ()

Protected Attributes

AbstractSlamInterface * _slam

Detailed Description

Definition at line 36 of file slam_context_interface.h.

Constructor & Destructor Documentation

◆ SlamContextInterface() [1/2]

SlamParser::SlamContextInterface::SlamContextInterface ( AbstractSlamInterface * slam)
explicit

◆ SlamContextInterface() [2/2]

SlamParser::SlamContextInterface::SlamContextInterface ( const SlamContextInterface & )
delete

◆ ~SlamContextInterface()

SlamParser::SlamContextInterface::~SlamContextInterface ( )

Definition at line 40 of file slam_context_interface.cpp.

40{}

Member Function Documentation

◆ operator=()

SlamContextInterface & SlamParser::SlamContextInterface::operator= ( const SlamContextInterface & )
delete

◆ process()

bool SlamParser::SlamContextInterface::process ( CommandNode * commandNode)
virtual

Reimplemented from SlamParser::SlamContext.

Definition at line 42 of file slam_context_interface.cpp.

42 {
43 if (!_slam) {
44 return true;
45 }
46 switch (commandNode->commandType()) {
47 case CT_ADD_NODE: {
48 AddNode* c = static_cast<AddNode*>(commandNode);
49 return _slam->addNode(c->tag(), c->id(), c->dimension(), c->values());
50 }
51 case CT_ADD_EDGE: {
52 AddEdge* c = static_cast<AddEdge*>(commandNode);
53 return _slam->addEdge(c->tag(), c->id(), c->dimension(), c->id1(),
54 c->id2(), c->values(), c->information());
55 }
56 case CT_SOLVE_STATE: {
57 // SolveState* c = static_cast<SolveState*>(commandNode);
58 return _slam->solveState();
59 }
60 case CT_QUERY_STATE: {
61 QueryState* c = static_cast<QueryState*>(commandNode);
62 return _slam->queryState(c->ids());
63 }
64 case CT_FIX: {
65 FixNode* c = static_cast<FixNode*>(commandNode);
66 return _slam->fixNode(c->ids());
67 }
68 }
69 cerr << "SlamContextInterface::process: Unknown command type" << endl;
70 return false;
71}
@ CT_ADD_EDGE
Definition commands.h:37
@ CT_ADD_NODE
Definition commands.h:36
@ CT_QUERY_STATE
Definition commands.h:39
@ CT_SOLVE_STATE
Definition commands.h:38

References _slam, SlamParser::CommandNode::commandType(), SlamParser::CT_ADD_EDGE, SlamParser::CT_ADD_NODE, SlamParser::CT_FIX, SlamParser::CT_QUERY_STATE, SlamParser::CT_SOLVE_STATE, SlamParser::AddEdge::dimension(), SlamParser::AddNode::dimension(), SlamParser::AddEdge::id(), SlamParser::AddNode::id(), SlamParser::AddEdge::id1(), SlamParser::AddEdge::id2(), SlamParser::FixNode::ids(), SlamParser::QueryState::ids(), SlamParser::AddEdge::information(), SlamParser::CommandNode::tag(), SlamParser::AddEdge::values(), and SlamParser::AddNode::values().

Member Data Documentation

◆ _slam

AbstractSlamInterface* SlamParser::SlamContextInterface::_slam
protected

Definition at line 46 of file slam_context_interface.h.

Referenced by process(), and SlamContextInterface().


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