class mola::MolaViz¶
Overview¶
MOLA GUI and visualization API More…
#include <MolaViz.h> class MolaViz: public mola::ExecutableBase, public mola::VizInterface { public: // typedefs typedef std::string window_name_t; typedef std::string subwindow_name_t; typedef std::function<void(const mrpt::rtti::CObject::Ptr&, nanogui::Window*subWin, window_name_t parentWin, MolaViz*instance)> update_handler_t; typedef std::string class_name_t; // fields static const static window_name_t DEFAULT_WINDOW_NAME = "main"; // methods virtual std::future<nanogui::Window*> create_subwindow( const std::string& subWindowTitle, const std::string& parentWindow = DEFAULT_WINDOW_NAME ); virtual std::future<bool> subwindow_update_visualization( const mrpt::rtti::CObject::Ptr& obj, const std::string& subWindowTitle, const std::string& parentWindow = DEFAULT_WINDOW_NAME ); static bool IsRunning(); static MolaViz* Instance(); static void register_gui_handler( class_name_t name, update_handler_t handler ); virtual void initialize_common(const Yaml&); virtual void initialize(const Yaml& cfg); virtual void spinOnce(); void markWindowForReLayout(const window_name_t& name); };
Inherited Members¶
public: // methods virtual std::future<nanogui::Window*> create_subwindow( const std::string& title, const std::string& parentWindow = "main" ) = 0; virtual std::future<bool> subwindow_update_visualization( const mrpt::rtti::CObject::Ptr& obj, const std::string& subWindowTitle, const std::string& parentWindow = "main" ) = 0;
Detailed Documentation¶
MOLA GUI and visualization API
Methods¶
virtual std::future<nanogui::Window*> create_subwindow( const std::string& subWindowTitle, const std::string& parentWindow = DEFAULT_WINDOW_NAME )
Returned object is owned by the VizInterface, do NOT delete it.
virtual std::future<bool> subwindow_update_visualization( const mrpt::rtti::CObject::Ptr& obj, const std::string& subWindowTitle, const std::string& parentWindow = DEFAULT_WINDOW_NAME )
Updates the contents of a subwindow from a given object, typically a mrpt::obs::CObservation, but custom handlers can be installed for arbitrary classes.
Depending on the object class RTTI, the corresponding handler is called.
Returns:
false if no handler is found for the given object.
See also:
virtual void initialize(const Yaml& cfg)
This should be reimplemented to read all the required parameters