12 namespace mrpt {
namespace graphslam {
namespace deciders {
15 template<
class GRAPH_T>
21 this->m_override_registered_nodes_check =
true;
23 this->initializeLoggers(
"CLoopCloserERD_MR");
26 template<
class GRAPH_T>
30 mrpt::obs::CObservation2DRangeScan::Ptr>& nodeIDs_to_scans2D) {
31 mr_parent_t::addBatchOfNodeIDsAndScans(nodeIDs_to_scans2D);
33 this->updateMapPartitions(
true,
38 template<
class GRAPH_T>
40 TNodeID curr_nodeID) {
45 bool is_own = this->m_engine->isOwnNodeID(curr_nodeID);
47 lc_parent_t::addScanMatchingEdges(curr_nodeID);
53 template<
class GRAPH_T>
55 const TNodeID& curr_nodeID,
56 std::set<TNodeID>* nodes_set) {
59 size_t fetched_nodeIDs = 0;
60 for (
int nodeID_i = static_cast<int>(curr_nodeID)-1;
61 (fetched_nodeIDs <= static_cast<size_t>(this->m_laser_params.prev_nodes_for_ICP) &&
64 if (this->m_engine->isOwnNodeID(nodeID_i)) {
65 nodes_set->insert(nodeID_i);
72 template<
class GRAPH_T>
74 mrpt::obs::CActionCollection::Ptr action,
75 mrpt::obs::CSensoryFrame::Ptr observations,
76 mrpt::obs::CObservation::Ptr observation ) {
78 bool success = lc_parent_t::updateState(action, observations, observation);
void addScanMatchingEdges(TNodeID curr_nodeID)
bool updateState(mrpt::obs::CActionCollection::Ptr action, mrpt::obs::CSensoryFrame::Ptr observations, mrpt::obs::CObservation::Ptr observation)
void addBatchOfNodeIDsAndScans(const std::map< TNodeID, mrpt::obs::CObservation2DRangeScan::Ptr > &nodeIDs_to_scans2D)
void fetchNodeIDsForScanMatching(const TNodeID &curr_nodeID, std::set< TNodeID > *nodes_set)