From 682ba64c46d2183125d88b03cc530655efea4ba1 Mon Sep 17 00:00:00 2001 From: Kacper Donat Date: Mon, 1 Sep 2025 23:07:53 +0200 Subject: [PATCH] Gui: Show Axis Cross on top --- src/Gui/View3DInventorViewer.cpp | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/Gui/View3DInventorViewer.cpp b/src/Gui/View3DInventorViewer.cpp index 7c5a748e87..f96ac8c28a 100644 --- a/src/Gui/View3DInventorViewer.cpp +++ b/src/Gui/View3DInventorViewer.cpp @@ -22,6 +22,8 @@ #include "PreCompiled.h" +#include + #ifndef _PreComp_ # ifdef FC_OS_WIN32 # include @@ -1425,15 +1427,18 @@ void View3DInventorViewer::setAxisCross(bool on) if (on) { if (!axisGroup) { - axisCross = new Gui::SoShapeScale; - auto axisKit = new Gui::SoAxisCrossKit(); - axisKit->set("xAxis.appearance.drawStyle", "lineWidth 2"); - axisKit->set("yAxis.appearance.drawStyle", "lineWidth 2"); - axisKit->set("zAxis.appearance.drawStyle", "lineWidth 2"); - axisCross->setPart("shape", axisKit); - axisCross->scaleFactor = 1.0F; + using enum SoFCPlacementIndicatorKit::Part; + + constexpr float axisCrossLength = 2.0F; + + auto axisCrossKit = new Gui::SoFCPlacementIndicatorKit(); + axisCrossKit->axisLength = axisCrossLength; + + auto annotation = new So3DAnnotation(); + annotation->addChild(axisCrossKit); + axisGroup = new SoSkipBoundingGroup; - axisGroup->addChild(axisCross); + axisGroup->addChild(annotation); sep->addChild(axisGroup); }