Class MolaViz

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<void> subwindow_grid_layout(const std::string &subWindowTitle, bool orientationVertical, int resolution, const std::string &parentWindow = DEFAULT_WINDOW_NAME) override
std::future<void> subwindow_move_resize(const std::string &subWindowTitle, const mrpt::math::TPoint2D_<int> &location, const mrpt::math::TPoint2D_<int> &size, const std::string &parentWindow = DEFAULT_WINDOW_NAME) override
virtual std::future<bool> subwindow_update_visualization(const mrpt::rtti::CObject::Ptr &obj, const std::string &subWindowTitle, const mrpt::containers::yaml *extra_parameters = nullptr, const std::string &parentWindow = DEFAULT_WINDOW_NAME) override
virtual std::future<bool> update_3d_object(const std::string &objName, const std::shared_ptr<mrpt::opengl::CSetOfObjects> &obj, const std::string &viewportName = "main", const std::string &parentWindow = DEFAULT_WINDOW_NAME) override
virtual std::future<bool> insert_point_cloud_with_decay(const std::shared_ptr<mrpt::opengl::CPointCloudColoured> &cloud, double decay_time_seconds, const std::string &viewportName = "main", const std::string &parentWindow = "main") override
virtual std::future<bool> clear_all_point_clouds_with_decay(const std::string &viewportName = "main", const std::string &parentWindow = "main") override
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(double azimuth, bool absolute_falseForRelative = true, const std::string &viewportName = "main", const std::string &parentWindow = "main") override
std::future<bool> update_viewport_camera_orthographic(bool orthographic, const std::string &viewportName = "main", const std::string &parentWindow = "main") override
virtual std::future<bool> execute_custom_code_on_background_scene(const std::function<void(mrpt::opengl::Scene&)> &userCode, const std::string &parentWindow = "main") override
std::future<bool> output_console_message(const std::string &message, 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()
static MolaViz *Instance()

mola-viz GUI update handlers registry

using update_handler_t = std::function<void(const mrpt::rtti::CObject::Ptr&, nanogui::Window *subWin, const window_name_t &parentWin, MolaViz *instance, const mrpt::containers::yaml *extra_parameters)>
using class_name_t = std::string
static void register_gui_handler(const class_name_t &name, const update_handler_t &handler)

mola-viz module parameters

double console_text_font_size_ = 9.0
unsigned int max_console_lines_ = 5
bool show_rgbd_as_point_cloud_ = false
double assumed_sensor_rate_hz_ = 10.0

Assumed sensor rate [Hz] for computing the max number of decaying clouds from the decay_time_seconds API parameter.

Public Functions

MolaViz()
~MolaViz() override
MolaViz(const MolaViz&) = delete
MolaViz &operator=(const MolaViz&) = delete
MolaViz(MolaViz&&) = delete
MolaViz &operator=(MolaViz&&) = delete
virtual void initialize(const Yaml &cfg) override
virtual void spinOnce() override
inline void markWindowForReLayout(const window_name_t &name)