From 5acc040a89c969ed08b30fee7e36b2e145dd817a Mon Sep 17 00:00:00 2001 From: royjr Date: Sat, 20 Sep 2025 11:24:24 -0400 Subject: [PATCH] overhead --- selfdrive/ui/qt/onroad/model.cc | 11 ++++++++--- .../sunnypilot/qt/offroad/settings/visuals_panel.cc | 4 ++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/selfdrive/ui/qt/onroad/model.cc b/selfdrive/ui/qt/onroad/model.cc index 79e002b92b..707c7c948a 100644 --- a/selfdrive/ui/qt/onroad/model.cc +++ b/selfdrive/ui/qt/onroad/model.cc @@ -494,9 +494,14 @@ void ModelRenderer::drawLead(QPainter &painter, const cereal::RadarState::LeadDa // Projects a point in car to space to the corresponding point in full frame image space. bool ModelRenderer::mapToScreen(float in_x, float in_y, float in_z, QPointF *out) { - Eigen::Vector3f input(in_x, in_y, in_z); - auto pt = car_space_transform * input; - *out = QPointF(pt.x() / pt.z(), pt.y() / pt.z()); + if (QString::fromStdString(Params().get("VisualStyle")).toInt() == 3) { + constexpr float scale = 20.0f; // meters → pixels, tweak to zoom + *out = QPointF(clip_region.center().x() + in_y * scale, clip_region.bottom() - in_x * scale); + } else { + Eigen::Vector3f input(in_x, in_y, in_z); + auto pt = car_space_transform * input; + *out = QPointF(pt.x() / pt.z(), pt.y() / pt.z()); + } return clip_region.contains(*out); } diff --git a/selfdrive/ui/sunnypilot/qt/offroad/settings/visuals_panel.cc b/selfdrive/ui/sunnypilot/qt/offroad/settings/visuals_panel.cc index 73c21b7000..6cf9859a91 100644 --- a/selfdrive/ui/sunnypilot/qt/offroad/settings/visuals_panel.cc +++ b/selfdrive/ui/sunnypilot/qt/offroad/settings/visuals_panel.cc @@ -89,12 +89,12 @@ VisualsPanel::VisualsPanel(QWidget *parent) : QWidget(parent) { list->addItem(dev_ui_settings); // Visuals: Visual Style - std::vector visual_style_settings_texts{tr("Default"), tr("Minimal"), tr("Vision")}; + std::vector visual_style_settings_texts{tr("Default"), tr("Minimal"), tr("Vision"), tr("Overhead")}; visual_style_settings = new ButtonParamControlSP( "VisualStyle", tr("Visual Style"), tr("Controls how the road and driving environment are displayed in the onroad UI."), "", visual_style_settings_texts, - 380); + 250); list->addItem(visual_style_settings); sunnypilotScroller = new ScrollViewSP(list, this);