Skip to content

Commit 78b3f45

Browse files
committed
Add basic field to selection panel
1 parent 4505bfe commit 78b3f45

File tree

3 files changed

+42
-2
lines changed

3 files changed

+42
-2
lines changed

crates/viewer/re_view_spatial/src/ui.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,10 @@ pub struct SpatialViewState {
6565
pub pinhole_at_origin: Option<Pinhole>,
6666

6767
pub visual_bounds_2d: Option<VisualBounds2D>,
68+
69+
/// The target frame, i.e., the coordinate frame that transforms are resolved to.
70+
/// Computed from the space origin via the transform tree.
71+
pub target_frame: Option<String>,
6872
}
6973

7074
impl ViewState for SpatialViewState {

crates/viewer/re_view_spatial/src/view_2d.rs

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ use re_viewer_context::{
1515
};
1616

1717
use crate::{
18-
contexts::register_spatial_contexts,
18+
contexts::{register_spatial_contexts, TransformTreeContext},
1919
heuristics::default_visualized_entities_for_visualizer_kind,
2020
max_image_dimension_subscriber::{ImageTypes, MaxDimensions},
2121
shared_fallbacks,
@@ -291,6 +291,19 @@ impl ViewClass for SpatialView2D {
291291
let state = state.downcast_mut::<SpatialViewState>()?;
292292
// TODO(andreas): list_item'ify the rest
293293
ui.selection_grid("spatial_settings_ui").show(ui, |ui| {
294+
if ctx.app_options().experimental_coordinate_frame_display_and_override {
295+
ui.grid_left_hand_label("Target frame")
296+
.on_hover_text("The coordinate frame that transforms are resolved to");
297+
ui.vertical(|ui| {
298+
if let Some(target_frame) = &state.target_frame {
299+
ui.label(target_frame);
300+
} else {
301+
ui.weak("(unknown)");
302+
}
303+
});
304+
ui.end_row();
305+
}
306+
294307
state.bounding_box_ui(ui, SpatialViewKind::TwoD);
295308
});
296309

@@ -318,6 +331,11 @@ impl ViewClass for SpatialView2D {
318331
let state = state.downcast_mut::<SpatialViewState>()?;
319332
state.update_frame_statistics(ui, &system_output, SpatialViewKind::TwoD);
320333

334+
// Store the target frame for display in the selection panel
335+
if let Ok(transforms) = system_output.context_systems.get::<TransformTreeContext>() {
336+
state.target_frame = Some(transforms.format_frame(transforms.target_frame()));
337+
}
338+
321339
self.view_2d(ctx, ui, state, query, system_output)
322340
}
323341
}

crates/viewer/re_view_spatial/src/view_3d.rs

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ use re_viewer_context::{
2828
use re_viewport_blueprint::ViewProperty;
2929

3030
use crate::{
31-
contexts::register_spatial_contexts,
31+
contexts::{register_spatial_contexts, TransformTreeContext},
3232
heuristics::default_visualized_entities_for_visualizer_kind,
3333
spatial_topology::{HeuristicHints, SpatialTopology, SubSpaceConnectionFlags},
3434
ui::SpatialViewState,
@@ -575,6 +575,19 @@ impl ViewClass for SpatialView3D {
575575
});
576576
ui.end_row();
577577

578+
if ctx.app_options().experimental_coordinate_frame_display_and_override {
579+
ui.grid_left_hand_label("Target frame")
580+
.on_hover_text("The coordinate frame that transforms are resolved to");
581+
ui.vertical(|ui| {
582+
if let Some(target_frame) = &state.target_frame {
583+
ui.label(target_frame);
584+
} else {
585+
ui.weak("(unknown)");
586+
}
587+
});
588+
ui.end_row();
589+
}
590+
578591
state.bounding_box_ui(ui, SpatialViewKind::ThreeD);
579592

580593
#[cfg(debug_assertions)]
@@ -606,6 +619,11 @@ impl ViewClass for SpatialView3D {
606619
let state = state.downcast_mut::<SpatialViewState>()?;
607620
state.update_frame_statistics(ui, &system_output, SpatialViewKind::ThreeD);
608621

622+
// Store the target frame for display in the selection panel
623+
if let Ok(transforms) = system_output.context_systems.get::<TransformTreeContext>() {
624+
state.target_frame = Some(transforms.format_frame(transforms.target_frame()));
625+
}
626+
609627
self.view_3d(ctx, ui, state, query, system_output)
610628
}
611629
}

0 commit comments

Comments
 (0)