From 41408b411fe420b310058e94e1c96cb5fe9072bc Mon Sep 17 00:00:00 2001 From: Abdullah Tahiri Date: Sun, 19 Mar 2023 08:04:13 +0100 Subject: [PATCH] Encapsulate interface data members --- src/Mod/Sketcher/Gui/SnapManager.cpp | 6 ++++++ src/Mod/Sketcher/Gui/SnapManager.h | 6 ++++-- src/Mod/Sketcher/Gui/ViewProviderSketch.cpp | 3 +-- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/Mod/Sketcher/Gui/SnapManager.cpp b/src/Mod/Sketcher/Gui/SnapManager.cpp index 76927e34e2..ee2a7ec48c 100644 --- a/src/Mod/Sketcher/Gui/SnapManager.cpp +++ b/src/Mod/Sketcher/Gui/SnapManager.cpp @@ -362,3 +362,9 @@ bool SnapManager::snapToArcMiddle(Base::Vector3d& pointToOverride, const Part::G return false; } + +void SnapManager::setAngleSnapping(bool enable, Base::Vector2d referencepoint) +{ + angleSnapEnabled = enable; + referencePoint = referencepoint; +} diff --git a/src/Mod/Sketcher/Gui/SnapManager.h b/src/Mod/Sketcher/Gui/SnapManager.h index 18f2a94ad0..232bdbdf96 100644 --- a/src/Mod/Sketcher/Gui/SnapManager.h +++ b/src/Mod/Sketcher/Gui/SnapManager.h @@ -99,8 +99,7 @@ public: bool snapToLineMiddle(Base::Vector3d& pointToOverride, const Part::GeomLineSegment* line); bool snapToArcMiddle(Base::Vector3d& pointToOverride, const Part::GeomArcOfCircle* arc); - bool angleSnapEnabled; - Base::Vector2d referencePoint; + void setAngleSnapping(bool enable, Base::Vector2d referencepoint); private: double snapAngle; @@ -110,6 +109,9 @@ private: bool snapToObjectsRequested; bool snapToGridRequested; + bool angleSnapEnabled; + Base::Vector2d referencePoint; + /// Reference to ViewProviderSketch in order to access the public and the Attorney Interface ViewProviderSketch & viewProvider; diff --git a/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp b/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp index e74c17b76f..17febf8329 100644 --- a/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp +++ b/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp @@ -556,8 +556,7 @@ bool ViewProviderSketch::keyPressed(bool pressed, int key) void ViewProviderSketch::setAngleSnapping(bool enable, Base::Vector2d referencePoint) { assert(snapManager); - snapManager->angleSnapEnabled = enable; - snapManager->referencePoint = referencePoint; + snapManager->setAngleSnapping(enable, referencePoint); } void ViewProviderSketch::getProjectingLine(const SbVec2s& pnt, const Gui::View3DInventorViewer *viewer, SbLine& line) const