From b1fdf659d8bb0e2f7c20ef84a58b4edf48f184c8 Mon Sep 17 00:00:00 2001 From: tetektoza Date: Tue, 6 Jan 2026 20:08:35 +0100 Subject: [PATCH] Sketcher: Disable depth testing for constraint icons Add `SoDepthBuffer` nodes around the constraint group to disable depth testing for constraint icons. This ensures icons render on top of geometry lines regardless of Z position, improving visibility and selectability. --- .../Sketcher/Gui/EditModeConstraintCoinManager.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/Mod/Sketcher/Gui/EditModeConstraintCoinManager.cpp b/src/Mod/Sketcher/Gui/EditModeConstraintCoinManager.cpp index 8c907b3299..84e2a39d09 100644 --- a/src/Mod/Sketcher/Gui/EditModeConstraintCoinManager.cpp +++ b/src/Mod/Sketcher/Gui/EditModeConstraintCoinManager.cpp @@ -33,6 +33,7 @@ #include #include #include +#include #include #include #include @@ -2942,10 +2943,21 @@ void EditModeConstraintCoinManager::createEditModeInventorNodes() editModeScenegraphNodes.EditRoot->addChild(editModeScenegraphNodes.constrGrpSelect); setConstraintSelectability(); // Ensure default value; + // disable depth testing for constraint icons so they render ON TOP of geometry lines + // check issues #25840 and #11603 + SoDepthBuffer* constrDepthOff = new SoDepthBuffer(); + constrDepthOff->test.setValue(false); + editModeScenegraphNodes.EditRoot->addChild(constrDepthOff); + editModeScenegraphNodes.constrGroup = new SmSwitchboard(); editModeScenegraphNodes.constrGroup->setName("ConstraintGroup"); editModeScenegraphNodes.EditRoot->addChild(editModeScenegraphNodes.constrGroup); + // re-enable depth testing for the rest of the nodes + SoDepthBuffer* constrDepthOn = new SoDepthBuffer(); + constrDepthOn->test.setValue(true); + editModeScenegraphNodes.EditRoot->addChild(constrDepthOn); + SoPickStyle* ps = new SoPickStyle(); // used to following nodes aren't impacted ps->style.setValue(SoPickStyle::SHAPE); editModeScenegraphNodes.EditRoot->addChild(ps);