g2o
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
SlamParser::SlamContextInterface Class Reference

#include <slam_context_interface.h>

Inheritance diagram for SlamParser::SlamContextInterface:
Inheritance graph
[legend]
Collaboration diagram for SlamParser::SlamContextInterface:
Collaboration graph
[legend]

Public Member Functions

 SlamContextInterface (AbstractSlamInterface *slam)
 
SlamContextInterfaceoperator= (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

Definition at line 37 of file slam_context_interface.cpp.

◆ 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}
virtual bool fixNode(const std::vector< int > &nodes)=0
virtual bool addEdge(const std::string &tag, int id, int dimension, int v1, int v2, const std::vector< double > &measurement, const std::vector< double > &information)=0
virtual bool queryState(const std::vector< int > &nodes)=0
virtual bool addNode(const std::string &tag, int id, int dimension, const std::vector< double > &values)=0
@ 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::AbstractSlamInterface::addEdge(), SlamParser::AbstractSlamInterface::addNode(), SlamParser::CommandNode::commandType(), SlamParser::CT_ADD_EDGE, SlamParser::CT_ADD_NODE, SlamParser::CT_FIX, SlamParser::CT_QUERY_STATE, SlamParser::CT_SOLVE_STATE, SlamParser::AddNode::dimension(), SlamParser::AddEdge::dimension(), SlamParser::AbstractSlamInterface::fixNode(), SlamParser::AddNode::id(), SlamParser::AddEdge::id(), SlamParser::AddEdge::id1(), SlamParser::AddEdge::id2(), SlamParser::QueryState::ids(), SlamParser::FixNode::ids(), SlamParser::AddEdge::information(), SlamParser::AbstractSlamInterface::queryState(), SlamParser::AbstractSlamInterface::solveState(), SlamParser::CommandNode::tag(), SlamParser::AddNode::values(), and SlamParser::AddEdge::values().

Member Data Documentation

◆ _slam

AbstractSlamInterface* SlamParser::SlamContextInterface::_slam
protected

Definition at line 46 of file slam_context_interface.h.

Referenced by process().


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