00001 /* +---------------------------------------------------------------------------+ 00002 | Mobile Robot Programming Toolkit (MRPT) | 00003 | http://www.mrpt.org/ | 00004 | | 00005 | Copyright (c) 2005-2016, Individual contributors, see AUTHORS file | 00006 | See: http://www.mrpt.org/Authors - All rights reserved. | 00007 | Released under BSD License. See details in http://www.mrpt.org/License | 00008 +---------------------------------------------------------------------------+ */ 00009 #pragma once 00010 00011 #include "mrpt_graphslam_2d/interfaces/CRegistrationDeciderOrOptimizer_MR.h" 00012 #include "mrpt_graphslam_2d/CConnectionManager.h" 00013 #include <mrpt/graphslam/interfaces/CRangeScanEdgeRegistrationDecider.h> 00014 00015 #include <string> 00016 00017 #if MRPT_VERSION>=0x199 00018 #include <mrpt/graphs/TNodeID.h> 00019 using namespace mrpt::graphs; 00020 #else 00021 using namespace mrpt::utils; 00022 #endif 00023 00024 namespace mrpt { namespace graphslam { namespace deciders { 00025 00042 template<class GRAPH_T> 00043 class CEdgeRegistrationDecider_MR : 00044 public virtual mrpt::graphslam::CRegistrationDeciderOrOptimizer_MR<GRAPH_T>, 00045 public virtual mrpt::graphslam::deciders::CRangeScanEdgeRegistrationDecider<GRAPH_T> 00046 { 00047 public: 00048 CEdgeRegistrationDecider_MR (); 00049 ~CEdgeRegistrationDecider_MR (); 00050 virtual void addBatchOfNodeIDsAndScans( 00051 const std::map< 00052 TNodeID, 00053 mrpt::obs::CObservation2DRangeScan::Ptr>& nodeIDs_to_scans2D); 00054 00055 protected: 00056 }; 00057 00058 } } } // end of namespaces 00059 00060 #include "CEdgeRegistrationDecider_MR_impl.h"