Class MolaViz
Defined in File MolaViz.h
Nested Relationships
Nested Types
Inheritance Relationships
Base Types
public mola::ExecutableBase
public mola::VizInterface
Class Documentation
-
class MolaViz : public mola::ExecutableBase, public mola::VizInterface
MOLA GUI and visualization API
mola-viz main API
-
using window_name_t = std::string
-
using subwindow_name_t = std::string
-
static const window_name_t DEFAULT_WINDOW_NAME
-
std::future<nanogui::Window*> create_subwindow(const std::string &subWindowTitle, const std::string &parentWindow = DEFAULT_WINDOW_NAME) override
Returned object is owned by the VizInterface, do NOT delete it. Updates to it must be done via enqueue_custom_nanogui_code()
-
std::future<bool> subwindow_update_visualization(const mrpt::rtti::CObject::Ptr &obj, const std::string &subWindowTitle, const std::string &parentWindow = DEFAULT_WINDOW_NAME) override
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.
See also
- Returns:
false if no handler is found for the given object.
Update (or adds if not found) a 3D object in the main 3D view area.
-
std::future<bool> update_viewport_look_at(const mrpt::math::TPoint3Df &lookAt, const std::string &viewportName = "main", const std::string &parentWindow = DEFAULT_WINDOW_NAME) override
-
std::future<bool> update_viewport_camera_azimuth(const double azimuth, bool absolute_falseForRelative = true, const std::string &viewportName = "main", const std::string &parentWindow = "main") override
-
std::future<bool> output_console_message(const std::string &msg, const std::string &parentWindow = "main") override
-
std::future<void> enqueue_custom_nanogui_code(const std::function<void(void)> &userCode) override
Updates to nanogui window controls must happen via this method to ensure it is run by the correct thread, in the next available time slot.
-
static bool IsRunning()
mola-viz GUI update handlers registry
-
using update_handler_t = std::function<void(const mrpt::rtti::CObject::Ptr&, nanogui::Window *subWin, window_name_t parentWin, MolaViz *instance)>
-
using class_name_t = std::string
-
static void register_gui_handler(class_name_t name, update_handler_t handler)
-
using window_name_t = std::string