Commit Graph

17 Commits

Author SHA1 Message Date
Ajinkya Dahale
6a1afdc4e2 [Sketcher] Fix endpoint-to-endpoint/edge tangency substitution
Only substitute if the point(s) involved are `start`/`end`. Centers do
not make sense here.
2024-08-25 07:33:59 +05:30
ppphp
51c6dbd3e3 fix unique ptr usage in sketch (#15008)
* fix unique ptr usage in sketch

* [pre-commit.ci] auto fixes from pre-commit.com hooks
2024-07-08 10:53:49 -05:00
wmayer
1eaf89b485 Sketcher: Handle PyException in createGeneratedAutoConstraints
Command::doCommand may throw an exception that isn't handled by the active sketch handler. This may leave it in an inconsistent state and can cause a crash later.

See #14945
2024-07-08 10:40:04 -05:00
PaddleStroke
177673a056 Sketcher: BSpline DSH: implement OVP/widget 2024-06-17 16:52:24 +02:00
PaddleStroke
6bac37db2e Update DrawSketchDefaultHandler.h 2024-05-17 12:34:28 +02:00
PaddleStroke
c43658ea89 Sketcher: fixes #13999 2024-05-17 12:34:28 +02:00
PaddleStroke
64054d13c4 Sketcher: Add line mid-point auto-constraint 2024-04-01 11:20:02 -05:00
Paddle
e685918ea8 PythonConverter: Extend for Hyperbola/Parabola/BSpline 2023-12-20 06:59:47 +01:00
Abdullah Tahiri
0525cee4ee SketcherGui: DSH Default - return reference in ShapeConstraint helpers 2023-11-13 20:52:04 +01:00
Abdullah Tahiri
8d82835514 Sketcher: DSH Default - improve return value of ShapeGeometry functions
=======================================================================

Previous version return an reference to the smart pointer to generic Part::Geometry.

This version returns a type specific naked pointer, while ShapeGeometry keeps ownership
and memory management, so if an arc is created a Part::ArcOfCircle is returned.
2023-11-12 17:53:36 +01:00
Abdullah Tahiri
373a167d7d Sketcher: DSH - improving geo creation helpers for ShapeGeometry
================================================================

In some DSHs instead of the convenience function, the code is being duplicated because
of the need to access the geometry after pushing it to the std::vector.

This commit leverages emplace_back return reference to improve code reuse.
2023-11-11 21:18:20 +01:00
Abdullah Tahiri
e235a1b795 Sketcher: Handling of right mouse button during handler execution
=================================================================

    Instead of terminating the handler, as mandated before this PR by ViewProviderSketch, ViewProviderSketch
    delegates the action to DrawSketchHandler.

    DrawSketchHandler implements by default this terminating behaviour, but allows to override it.

    DrawSketchDefaultHandler (and all tools deriving from it) implement as default behaviour to cancel if
    in initial state, otherwise to reset.
2023-11-07 16:05:08 +01:00
Abdullah Tahiri
9cb6fa0df7 Sketcher: Handling of ESC keypress during handler execution
===========================================================

Instead of terminating the handler, as mandated before this PR by ViewProviderSketch, ViewProviderSketch
delegates the action to DrawSketchHandler.

DrawSketchHandler implements by default this terminating behaviour, but allows to override it.

DrawSketchDefaultHandler (and all tools deriving from it) implement as default behaviour to cancel if
in initial state, otherwise to reset.
2023-11-07 16:05:08 +01:00
Abdullah Tahiri
882262bfa8 Sketcher Gui: clang-tidy diagnostic errors 2023-11-05 07:11:57 +01:00
Paddle
3483090279 DSDH : add canGoToNextMode() methode in onButtonPressed. So that we can prevent going to the next mode on certain conditions. 2023-11-03 14:02:25 +01:00
Abdullah Tahiri
82fed5bbfc Sketcher: New flexible DSH Architecture
=======================================

Rewrite of the architecture to accomodate on-view parameters and to enable code reuse
between the default widget and custom widgets.
2023-11-03 14:02:25 +01:00
Abdullah Tahiri
677694b0ba Sketcher: New DSH architecture to support multiple input
========================================================

Architecture to support multiple input from a widget and a mouse.
2023-11-03 14:02:25 +01:00