template class mrpt::graphslam::deciders::CRangeScanEdgeRegistrationDecider
Overview
Edge Registration Decider Interface from which RangeScanner-based ERDs can inherit from.
Holds common vars for the underlying classesand provides methods for accessing and modifying them.
Since the decider inherits from the CRangeScanOps class, it parses the configuration parameters of the latter as well from the “ICP” section. Refer to the CRangeScanOps documentation for its list of configuration parameters
#include <mrpt/graphslam/interfaces/CRangeScanEdgeRegistrationDecider.h> template <class GRAPH_T> class CRangeScanEdgeRegistrationDecider: public mrpt::graphslam::deciders::CEdgeRegistrationDecider, public mrpt::graphslam::deciders::CRangeScanOps { public: // typedefs typedef mrpt::graphslam::deciders::CEdgeRegistrationDecider<GRAPH_T> parent_t; typedef mrpt::graphslam::deciders::CRangeScanOps<GRAPH_T> range_ops_t; typedef std::map<mrpt::graphs::TNodeID, mrpt::obs::CObservation2DRangeScan::Ptr> nodes_to_scans2D_t; // construction CRangeScanEdgeRegistrationDecider(); }; // direct descendants template <class GRAPH_T = typename mrpt::graphs::CNetworkOfPoses2DInf> class CICPCriteriaERD; template <class GRAPH_T = typename mrpt::graphs::CNetworkOfPoses2DInf> class CLoopCloserERD;
Inherited Members
public: // typedefs typedef mrpt::graphslam::CRegistrationDeciderOrOptimizer<GRAPH_T> parent; typedef typename GRAPH_T::constraint_t constraint_t; typedef typename GRAPH_T::constraint_t::type_value pose_t; // structs struct TMsg; struct TParams; // fields bool logging_enable_console_output {true}; bool logging_enable_keep_record {false}; // methods void logStr(const VerbosityLevel level, std::string_view msg_str) const; void logFmt(const VerbosityLevel level, const char* fmt, ...) const; void void logCond(const VerbosityLevel level, bool cond, const std::string& msg_str) const; void setLoggerName(const std::string& name); std::string getLoggerName() const; void setVerbosityLevel(const VerbosityLevel level); void setVerbosityLevelForCallbacks(const VerbosityLevel level); void setMinLoggingLevel(const VerbosityLevel level); VerbosityLevel getMinLoggingLevel() const; VerbosityLevel getMinLoggingLevelForCallbacks() const; bool isLoggingLevelVisible(VerbosityLevel level) const; void getLogAsString(std::string& log_contents) const; std::string getLogAsString() const; void writeLogToFile(const std::optional<std::string>& fname_in = std::nullopt) const; void dumpLogToConsole() const; std::string getLoggerLastMsg() const; void getLoggerLastMsg(std::string& msg_str) const; void loggerReset(); void logRegisterCallback(output_logger_callback_t userFunc); bool logDeregisterCallback(output_logger_callback_t userFunc); COutputLogger& operator = (const COutputLogger&); COutputLogger& operator = (COutputLogger&&); static std::array<mrpt::system::ConsoleForegroundColor, NUMBER_OF_VERBOSITY_LEVELS>& logging_levels_to_colors(); static const std::array<const char*, NUMBER_OF_VERBOSITY_LEVELS>& logging_levels_to_names(); virtual bool updateState(mrpt::obs::CActionCollection::Ptr action, mrpt::obs::CSensoryFrame::Ptr observations, mrpt::obs::CObservation::Ptr observation) = 0; virtual void setWindowManagerPtr(mrpt::graphslam::CWindowManager* win_manager); virtual void setCriticalSectionPtr(std::mutex* graph_section); virtual void initializeVisuals(); virtual void updateVisuals(); virtual void notifyOfWindowEvents(const std::map<std::string, bool>& events_occurred); virtual void loadParams(const std::string& source_fname); virtual void printParams() const; virtual void getDescriptiveReport(std::string* report_str) const; virtual void setGraphPtr(GRAPH_T* graph); virtual void initializeLoggers(const std::string& name); virtual void setClassName(const std::string& name); bool isMultiRobotSlamClass(); std::string getClassName() const; virtual void getEdgesStats(std::map<std::string, int>* edge_type_to_num) const; virtual bool justInsertedLoopClosure() const; virtual void getDescriptiveReport(std::string* report_str) const;
Typedefs
typedef mrpt::graphslam::deciders::CRangeScanOps<GRAPH_T> range_ops_t
Typedef for accessing methods of the RangeScanRegistrationDecider_t parent class.