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);