From f16c3f36a9d1c7b9e9b6383bf1f5484246643ddc Mon Sep 17 00:00:00 2001 From: Abdullah Tahiri Date: Sat, 19 Mar 2022 08:04:23 +0100 Subject: [PATCH] DrawSketchHandler: Functions to draw cursor position and direction --- src/Mod/Sketcher/Gui/DrawSketchHandler.cpp | 15 +++++++++++++++ src/Mod/Sketcher/Gui/DrawSketchHandler.h | 3 +++ 2 files changed, 18 insertions(+) diff --git a/src/Mod/Sketcher/Gui/DrawSketchHandler.cpp b/src/Mod/Sketcher/Gui/DrawSketchHandler.cpp index 46bf583c39..d9f9c897a6 100644 --- a/src/Mod/Sketcher/Gui/DrawSketchHandler.cpp +++ b/src/Mod/Sketcher/Gui/DrawSketchHandler.cpp @@ -929,6 +929,21 @@ void DrawSketchHandler::drawEdit(const std::vector &geometries drawEdit(list); } +void DrawSketchHandler::drawPositionAtCursor(const Base::Vector2d & position) +{ + setPositionText(position); +} + +void DrawSketchHandler::drawDirectionAtCursor(const Base::Vector2d & position, const Base::Vector2d & origin) +{ + float length = (position - origin).Length(); + float angle = (position - origin).GetAngle(Base::Vector2d(1.f,0.f)); + + SbString text; + text.sprintf(" (%.1f,%.1fdeg)", length, angle * 180 / M_PI); + setPositionText(position, text); +} + void DrawSketchHandler::drawEditMarkers(const std::vector &EditMarkers, unsigned int augmentationlevel) { ViewProviderSketchDrawSketchHandlerAttorney::drawEditMarkers(*sketchgui, EditMarkers, augmentationlevel); diff --git a/src/Mod/Sketcher/Gui/DrawSketchHandler.h b/src/Mod/Sketcher/Gui/DrawSketchHandler.h index 2357f4f5d4..61d3d55fea 100644 --- a/src/Mod/Sketcher/Gui/DrawSketchHandler.h +++ b/src/Mod/Sketcher/Gui/DrawSketchHandler.h @@ -176,6 +176,9 @@ protected: void drawEditMarkers(const std::vector &EditMarkers, unsigned int augmentationlevel = 0); void setAxisPickStyle(bool on); + void drawPositionAtCursor(const Base::Vector2d & position); + void drawDirectionAtCursor(const Base::Vector2d & position, const Base::Vector2d & origin); + int getPreselectPoint(void) const; int getPreselectCurve(void) const; int getPreselectCross(void) const;