10 #ifndef CREGISTRATIONDECIDEROROPTIMIZER_H 11 #define CREGISTRATIONDECIDEROROPTIMIZER_H 25 namespace mrpt {
namespace graphslam {
42 template<
class GRAPH_T=
typename mrpt::graphs::CNetworkOfPoses2DInf>
44 public mrpt::utils::COutputLogger
59 mrpt::obs::CActionCollectionPtr action,
60 mrpt::obs::CSensoryFramePtr observations,
61 mrpt::obs::CObservationPtr observation ) = 0;
108 const std::map<std::string, bool>& events_occurred);
virtual void notifyOfWindowEvents(const std::map< std::string, bool > &events_occurred)
Get a list of the window events that happened since the last call.
This class provides simple critical sections functionality.
mrpt::gui::CDisplayWindow3D * m_win
Window to use.
virtual void loadParams(const std::string &source_fname)
Load the necessary for the decider/optimizer configuration parameters.
virtual void printParams() const
Print the problem parameters - relevant to the decider/optimizer to the screen in a unified/compact w...
mrpt::synch::CCriticalSection * m_graph_section
std::string getClassName() const
static const std::string header_sep
Separator string to be used in debugging messages.
mrpt::graphslam::CWindowObserver * m_win_observer
CWindowObserver object for monitoring various visual-oriented events.
bool is_mr_slam_class
Boolean indicating if the current class can be used in multi-robot SLAM operations.
std::string m_class_name
Name of the class instance.
CRegistrationDeciderOrOptimizer()
Ctor
virtual void setGraphPtr(GRAPH_T *graph)
Fetch the graph on which the decider/optimizer will work on.
mrpt::graphslam::CWindowManager * m_win_manager
Pointer to the CWindowManager object used to store visuals-related instances.
virtual void initializeVisuals()
Initialize visual objects in CDisplayWindow (e.g.
static const std::string report_sep
Interface for implementing node/edge registration deciders or optimizer classes.
virtual bool updateState(mrpt::obs::CActionCollectionPtr action, mrpt::obs::CSensoryFramePtr observations, mrpt::obs::CObservationPtr observation)=0
Generic method for fetching the incremental action-observations (or observation-only) measurements...
virtual void getDescriptiveReport(std::string *report_str) const
Fill the provided string with a detailed report of the decider/optimizer state.
virtual void initializeLoggers(const std::string &name)
Initialize the COutputLogger, CTimeLogger instances given the name of the decider/optimizer at hand...
virtual void setWindowManagerPtr(mrpt::graphslam::CWindowManager *win_manager)
Fetch a CWindowManager pointer.
GRAPH_T * m_graph
Pointer to the graph that is under construction.
virtual void assertVisualsVars()
Handy function for making all the visuals assertions in a compact manner.
GLsizei const GLchar ** string
virtual ~CRegistrationDeciderOrOptimizer()
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
mrpt::utils::CTimeLogger m_time_logger
Time logger instance.
Monitor events in the visualization window.
virtual void updateVisuals()
Update the relevant visual features in CDisplayWindow.
GLuint const GLchar * name
A versatile "profiler" that logs the time spent within each pair of calls to enter(X)-leave(X), among other stats.
bool m_initialized_visuals
bool isMultiRobotSlamClass()
Class acts as a container for storing pointers to mrpt::gui::CDisplayWindow3D, mrpt::graphslam::CWind...
virtual void setCriticalSectionPtr(mrpt::synch::CCriticalSection *graph_section)
Fetch a mrpt::synch::CCriticalSection for locking the GRAPH_T resource.
virtual void setClassName(const std::string &name)
A graphical user interface (GUI) for efficiently rendering 3D scenes in real-time.