10 #ifndef CREGISTRATIONDECIDEROROPTIMIZER_H
11 #define CREGISTRATIONDECIDEROROPTIMIZER_H
41 template <
class GRAPH_T =
typename mrpt::graphs::CNetworkOfPoses2DInf>
105 const std::map<std::string, bool>& events_occurred);
Interface for implementing node/edge registration deciders or optimizer classes.
virtual void setClassName(const std::string &name)
virtual void updateVisuals()
Update the relevant visual features in CDisplayWindow.
virtual void setCriticalSectionPtr(std::mutex *graph_section)
Fetch a std::mutex for locking the GRAPH_T resource.
mrpt::graphslam::CWindowObserver * m_win_observer
CWindowObserver object for monitoring various visual-oriented events.
virtual bool updateState(mrpt::obs::CActionCollection::Ptr action, mrpt::obs::CSensoryFrame::Ptr observations, mrpt::obs::CObservation::Ptr observation)=0
Generic method for fetching the incremental action-observations (or observation-only) measurements.
std::mutex * m_graph_section
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.
virtual void setWindowManagerPtr(mrpt::graphslam::CWindowManager *win_manager)
Fetch a CWindowManager pointer.
virtual void initializeLoggers(const std::string &name)
Initialize the COutputLogger, CTimeLogger instances given the name of the decider/optimizer at hand.
static const std::string report_sep
virtual void assertVisualsVars()
Handy function for making all the visuals assertions in a compact manner.
virtual void loadParams(const std::string &source_fname)
Load the necessary for the decider/optimizer configuration parameters.
virtual void notifyOfWindowEvents(const std::map< std::string, bool > &events_occurred)
Get a list of the window events that happened since the last call.
mrpt::system::CTimeLogger m_time_logger
Time logger instance.
mrpt::gui::CDisplayWindow3D * m_win
Window to use.
virtual void getDescriptiveReport(std::string *report_str) const
Fill the provided string with a detailed report of the decider/optimizer state.
static const std::string header_sep
Separator string to be used in debugging messages.
bool m_initialized_visuals
std::string getClassName() const
std::string m_class_name
Name of the class instance.
bool isMultiRobotSlamClass()
virtual void setGraphPtr(GRAPH_T *graph)
Fetch the graph on which the decider/optimizer will work on.
virtual ~CRegistrationDeciderOrOptimizer()
\Dtor
bool is_mr_slam_class
Boolean indicating if the current class can be used in multi-robot SLAM operations.
CRegistrationDeciderOrOptimizer()
\Default Ctor
virtual void printParams() const
Print the problem parameters - relevant to the decider/optimizer to the screen in a unified/compact w...
GRAPH_T * m_graph
Pointer to the graph that is under construction.
Class acts as a container for storing pointers to mrpt::gui::CDisplayWindow3D, mrpt::graphslam::CWind...
Monitor events in the visualization window.
A graphical user interface (GUI) for efficiently rendering 3D scenes in real-time.
std::shared_ptr< CActionCollection > Ptr
std::shared_ptr< CObservation > Ptr
std::shared_ptr< CSensoryFrame > Ptr
Versatile class for consistent logging and management of output messages.
A versatile "profiler" that logs the time spent within each pair of calls to enter(X)-leave(X),...
GLuint const GLchar * name
GLsizei const GLchar ** string
SLAM methods related to graphs of pose constraints.