diff --git a/src/Mod/Sketcher/Gui/EditModeCoinManager.cpp b/src/Mod/Sketcher/Gui/EditModeCoinManager.cpp index e9be7df80a..a86030f569 100644 --- a/src/Mod/Sketcher/Gui/EditModeCoinManager.cpp +++ b/src/Mod/Sketcher/Gui/EditModeCoinManager.cpp @@ -625,7 +625,7 @@ void EditModeCoinManager::processGeometryInformationOverlay(const GeoListFacade Gui::coinRemoveAllChildren(editModeScenegraphNodes.infoGroup); } - auto ioconv = EditModeInformationOverlayCoinConverter(editModeScenegraphNodes.infoGroup, overlayParameters, drawingParameters); + auto ioconv = EditModeInformationOverlayCoinConverter(viewProvider, editModeScenegraphNodes.infoGroup, overlayParameters, drawingParameters); // geometry information layer for bsplines, as they need a second round now that max curvature is known for (auto geoid : analysisResults.bsplineGeoIds) { diff --git a/src/Mod/Sketcher/Gui/EditModeInformationOverlayCoinConverter.cpp b/src/Mod/Sketcher/Gui/EditModeInformationOverlayCoinConverter.cpp index 1c69c28427..4012f41dea 100644 --- a/src/Mod/Sketcher/Gui/EditModeInformationOverlayCoinConverter.cpp +++ b/src/Mod/Sketcher/Gui/EditModeInformationOverlayCoinConverter.cpp @@ -50,9 +50,11 @@ using namespace SketcherGui; EditModeInformationOverlayCoinConverter::EditModeInformationOverlayCoinConverter( + ViewProviderSketch & vp, SoGroup * infogroup, OverlayParameters & overlayparameters, - DrawingParameters & drawingparameters): infoGroup(infogroup), + DrawingParameters & drawingparameters): viewProvider(vp), + infoGroup(infogroup), overlayParameters(overlayparameters), drawingParameters(drawingparameters), nodeId(0){ diff --git a/src/Mod/Sketcher/Gui/EditModeInformationOverlayCoinConverter.h b/src/Mod/Sketcher/Gui/EditModeInformationOverlayCoinConverter.h index 004a9e3531..d24ba11c7e 100644 --- a/src/Mod/Sketcher/Gui/EditModeInformationOverlayCoinConverter.h +++ b/src/Mod/Sketcher/Gui/EditModeInformationOverlayCoinConverter.h @@ -38,6 +38,7 @@ namespace Part { } namespace SketcherGui { + class ViewProviderSketch; struct OverlayParameters; struct DrawingParameters; @@ -139,7 +140,8 @@ public: * @param overlayparameters: Parameters for controlling the overlay * @param drawingparameters: Parameters for drawing the overlay information */ - EditModeInformationOverlayCoinConverter( SoGroup * infogroup, + EditModeInformationOverlayCoinConverter( ViewProviderSketch &vp, + SoGroup * infogroup, OverlayParameters & overlayparameters, DrawingParameters & drawingparameters); @@ -179,6 +181,9 @@ private: void updateNode(const Result & result); private: + /// Reference to ViewProviderSketch in order to access the public and the Attorney Interface + ViewProviderSketch & viewProvider; + SoGroup * infoGroup; OverlayParameters & overlayParameters; DrawingParameters & drawingParameters; diff --git a/src/Mod/Sketcher/Gui/ViewProviderSketchCoinAttorney.h b/src/Mod/Sketcher/Gui/ViewProviderSketchCoinAttorney.h index 28a51e1867..17ea673524 100644 --- a/src/Mod/Sketcher/Gui/ViewProviderSketchCoinAttorney.h +++ b/src/Mod/Sketcher/Gui/ViewProviderSketchCoinAttorney.h @@ -112,6 +112,7 @@ private: friend class EditModeCoinManager; friend class EditModeConstraintCoinManager; friend class EditModeGeometryCoinManager; + friend class EditModeInformationOverlayCoinConverter; }; inline bool ViewProviderSketchCoinAttorney::constraintHasExpression(const ViewProviderSketch & vp, int constrid)