struct mola::LidarOdometry::Parameters::Visualization
Overview
#include <LidarOdometry.h> struct Visualization { // structs struct ModelPart; // fields float current_observation_alpha = 0.20f; float background_color_gray_level = 0.3f; float current_pose_corner_size = 1.5f; float sensor_poses_corner_size = 0.5f; bool show_current_pose_corner = true; bool show_tf_tree = false; std::string tf_tree_root_frame; float tf_tree_corner_size = 0.1f; bool tf_tree_show_links = true; float tf_tree_link_radius = 0.02f; bool tf_tree_show_names = false; std::string tf_tree_exclude_frames; bool show_ground_grid = true; float ground_grid_spacing = 5.0f; bool show_trajectory = true; std::vector<float> trajectory_rgba = {0.1f, 0.1f, 0.1f, 1.0f}; bool show_current_observation = false; float current_observation_point_size = 3.0f; mrpt::img::TColormap current_observation_colormap = mrpt::img::TColormap::cmJET; std::string current_observation_color_by_field = "intensity"; bool show_last_deskewed_observations_decay = true; double observations_decay_seconds = 5.0; float observations_initial_alpha = 0.10f; float last_deskewed_observations_point_size = 1.0f; mrpt::img::TColormap last_deskewed_observations_colormap = mrpt::img::TColormap::cmJET; std::string last_deskewed_observations_color_by_field = "intensity"; bool show_localmap = false; float local_map_point_size = 3.0f; bool local_map_render_voxelmap_free_space = false; mrpt::img::TColormap local_map_colormap = mrpt::img::TColormap::cmJET; std::string local_map_colormap_color_by_field = "intensity"; int map_update_decimation = 10; bool gui_subwindow_starts_hidden = false; bool show_tab_status = true; bool show_tab_control = true; bool show_tab_view = true; bool camera_follows_vehicle = true; bool camera_rotates_with_vehicle = false; bool camera_orthographic = false; bool show_gravity_align_vector = false; bool render_in_movable_frame = true; std::vector<ModelPart> model; // methods void initialize(const Yaml& c); };
Fields
float sensor_poses_corner_size = 0.5f
[m]
bool show_current_pose_corner = true
[m], 0 to disable
Whether to render the current-pose XYZ corner at all (independently of current_pose_corner_size). Useful to turn off from a first-person camera, where the corner ends up filling the whole view. Can also be changed at runtime via setCurrentPoseCornerVisualization().
bool show_tf_tree = false
Draws the subtree of coordinate frames below tf_tree_root_frame (e.g. a legged robot’s joints) as it moves. Opt-in: it requires the data source to implement mola::TransformTreeSource, and costs one subtree snapshot per visualization update.
std::string tf_tree_root_frame
Subtree root. Empty (default) means “ask the data source” (its base_link_frame_id, via TransformTreeSource).
bool tf_tree_show_links = true
[m]
Draws a link from each frame to its parent. Rendered as thin cylinders rather than GL lines, which MRPT cannot draw with a configurable thickness and are barely visible.
float tf_tree_link_radius = 0.02f
Radius of the tf_tree_show_links cylinders.
bool tf_tree_show_names = false
[m]
Draws each frame’s name next to it.
std::string tf_tree_exclude_frames
Comma-separated frame names to leave out, together with their own subtrees. Datasets do publish inverted edges (e.g. “base -> odom” instead of “odom -> base”), which would otherwise drag a whole unrelated, far-away subtree into the robot’s own tree.
std::string current_observation_color_by_field = "intensity"
Can be any pointcloud field name. Will change to “z” for simple XYZ clouds.
bool show_last_deskewed_observations_decay = true
Show a sliding window of decaying past observations to visualize a “dense local map”.
std::string last_deskewed_observations_color_by_field = "intensity"
Can be any pointcloud field name. Will change to “z” for simple XYZ clouds.
bool show_localmap = false
Show the (decimated) underlying local map used to register observations to (less dense than show_last_deskewed_observations_decay).
std::string local_map_colormap_color_by_field = "intensity"
Can be any pointcloud field name. Will change to “z” for simple XYZ clouds.
int map_update_decimation = 10
If show_localmap==true, how many frames to wait to update the visualization of the map, which is a costly operation.
bool render_in_movable_frame = true
If true (and a movable-frame-capable visualizer is present), all 3D objects are drawn as children of a movable scene frame node named publish_reference_frame instead of the viewport root. A central backend such as mola_mapper_3d then repositions that frame as it estimates T_map_to_{odom}, so this odometry’s dense clouds / local map stay correctly placed in {map} without being re-rendered. When no such backend is present the frame stays at the identity pose, so the behavior is identical to drawing at the root (standalone runs).