Commit Graph

53 Commits

Author SHA1 Message Date
WandererFan
b71c2a3278 [TD]Cosmetic function overhaul (#14216)
* [TD]Cosmetic geometry and tools update

- all cosmetics to store geometry in same form
- all cosmetics to survive scaling and rotation
- extension functions to survive scaling and rotation

* [TD]overhaul leader point storage and editing

- add py routine makeLeader(points)

* [TD]add leader conversion utility

* [TD]Set Leader RotateWithView default to true

* [TD]fix intersection vertex position

* [TD]add CosmeticEdge::makeLineFromCanonicalPoints

* [TD]fix 2 Extension tools

- positioning in DrawCosmeticCircle
- mishandling of points in execLineParallelPerpendicular

* [TD]Remove duplicate constexpr

* [TD]fix 2x Cosmetic arc tools

* [TD]refactor LineFormat out of Cosmetic

* [TD]move cosmetic appearance settings to LineFormat

* [TD]remove 2 unused methods

* [TD]apply format to blue line & circle tools

* [TD]fix ballon arrowhead does not rotate with view

* [TD]fix CosmeticCircle3Points

* [TD]allow multiple cosmetic object deletions

* [TD]fix extend/shorten centerline
2024-05-23 09:41:42 -04:00
wandererfan
0c1f6138b4 [TD]use standard lines & LineFormat in extensions 2023-12-27 19:46:34 -05:00
wandererfan
e6517089df [TD]fix location of CV on rotated views 2023-12-24 12:27:25 -05:00
wandererfan
8a7e8effb3 [TD]Standard Line Styles - App components 2023-12-01 11:27:29 -05:00
wandererfan
8e52a0baf8 [TD]Rotate CosmeticEdge with View 2023-08-19 17:18:42 -04:00
Benjamin Bræstrup Sayoc
5cb05ce3c1 [TechDraw] Improve Cosmetic.cpp typing
Make type safe by using const keywords when appropriate and improve memory handling by using references when appropriate.
2023-08-19 13:28:53 -04:00
Benjamin Bræstrup Sayoc
a207822ee8 [TechDraw] Move CenterLine into own file 2023-04-06 13:51:35 -04:00
Benjamin Bræstrup Sayoc
124bbcdeb9 [TechDraw] Move CosmeticVertex into own file 2023-04-06 13:51:35 -04:00
Uwe
76ec5de64b [TD] A* - C*: remove unused includes
- also sort includes
- also sort PreCompiled.h
2022-10-03 23:05:36 +02:00
wandererfan
86f61834ce [TD]default LineFormat ctor 2022-09-07 16:06:54 -04:00
wandererfan
acf17905ed [TD]CI clang warnings 2022-09-05 17:48:38 -04:00
berniev
6953310116 Mod: Single arg ctors must be explicit 2022-08-24 16:55:20 +02:00
Wanderer Fan
6677cd4d8f [TD]clazy warnings and duplicate setter/getter
- clazy warning re missing Q_OBJECT

- include TechDrawGlobal.h in headers

- resolve duplicate setter/getters
2022-08-18 09:34:32 -04:00
Wanderer Fan
2f49a93292 [TD]fix LineFormat ctor line color 2022-08-12 13:00:21 -04:00
wmayer
2062f9ce87 clang: fix warnings [-Winconsistent-missing-override] 2022-08-09 17:36:25 +02:00
berniev
ddafb98813 Mod: Use override etc 2 2022-08-09 12:52:26 +02:00
berniev
da9ebc572f Mod: redundant void 2 2022-08-08 10:27:50 +02:00
Benjamin Bræstrup Sayoc
127af5bea4 [TechDraw] Remove deprecated replaceCosmeticVertex 2022-08-02 16:09:54 -04:00
Uwe
a4ec6d4f83 [TD] fix compilation on MSVC
- CLMODE was used before its declaration, therefore it did not compile
forum thread: https://forum.freecadweb.org/viewtopic.php?f=10&t=70316
2022-07-17 00:26:13 +02:00
Benjamin Bræstrup Sayoc
0421d7cc5d [TechDraw] Gather rotation calculations in a single function 2022-07-16 16:00:10 -04:00
Benjamin Bræstrup Sayoc
568cc79186 [TechDraw] Refactor CosmeticEdge constructors
Use constructor delegation and default parameters for CosmeticEdge
2022-07-16 16:00:10 -04:00
Benjamin Bræstrup Sayoc
fac4e72ea4 [TechDraw] Use constructor delegation for CosmeticEdge 2022-07-16 16:00:10 -04:00
Benjamin Bræstrup Sayoc
eb3a04f30e [TechDraw] Use default parameters for LineFormat constructor 2022-07-16 16:00:10 -04:00
Wanderer Fan
d36cbb522a [TD]fix ExtendShorten handling of CenterLine 2022-04-23 18:43:27 -04:00
Uwe
f1a4c703b4 [TD] App Headers: remove unused header - part 1 2022-03-24 23:06:08 +01:00
edi271
c46a4f776b [TD] Move Circulation method to DrawUtil 2022-01-21 11:22:40 -05:00
Wanderer Fan
e91cc8e329 [TD] avoid memory leaks by using shared_ptr
TD geometry objects are sometimes double deleted.  This
change uses shared_ptr instead of raw pointers to manage
deletions.
2022-01-07 13:34:20 -05:00
donovaly
b981f9056c [TD] fix centerline crashes and bugs
the PR fixes the following things:
- change the way centerlines between 2 lines are calculated. The current implementation leads to many bugs and even crashes (e.g. when the 2 selected lines are parallel ones of a square). There are different forum threads from the last 1.5 years.
The new endpoint line sorting is the one described here: https://forum.freecadweb.org/viewtopic.php?f=35&start=20&t=44255&sid=989a668890f954c13ef81e4a04ee6912#p501179

- as consequence the erroneous and misleading line end flipping can go and is removed (only used internally)

- when creating a new centerline, you see it immediately

- when creating a new or editing an existing centerline and press Cancel, the creation/editing is aborted

- fix crash when the 2 selected lines are bot horizontal and one tries to create a vertical centerline

- fix crash when changing the orientation  of an existing centerline and the result would be invalid

- cleanup the code a bit
2021-05-15 05:21:29 +02:00
WandererFan
4183594039 [TD]CosmeticEdge setters and getters 2020-06-09 18:40:59 -04:00
wandererfan
1533ea01ba [TD]Simplify Cosmetic List & PyObject handling 2020-05-16 07:42:45 -04:00
wandererfan
96e8f752be [TD]Landmark Dims initial impl 2020-02-25 17:21:00 -05:00
wandererfan
a04d0f2574 [TD]Py routines for CenterLines 2019-12-16 20:36:10 -05:00
wandererfan
1ad2d35bce [TD]Python routines and extension for line formating 2019-12-16 20:36:10 -05:00
wandererfan
08f23b84f7 [TD]Python routines and extension for Cosmetic Edges 2019-12-16 20:36:10 -05:00
wandererfan
d9e0c2e452 [TD]Python routines & extension for CosmeticVertex 2019-12-16 20:36:10 -05:00
wandererfan
a7ad04ba4a [TD]const-ness for dump function parameter 2019-11-10 15:58:45 -05:00
wandererfan
805d701aa7 [TD]Allow skip restore cosmetics
- temporary work around due to format changes during v019
  devl
2019-11-06 20:31:02 -05:00
wandererfan
fcf5435b43 [TD]Save geometry and tag with centerline 2019-11-06 20:31:02 -05:00
wandererfan
900a7c6bdd [TD]use UUID for CosmeticEdges instead of indices 2019-11-06 20:31:02 -05:00
wandererfan
5cab111a65 [TD]Implement unique tags for Cosmetic Vertex 2019-11-02 14:59:32 -04:00
wandererfan
a7d9661b1d [TD]Extent Dimensions 2019-11-02 14:59:32 -04:00
wandererfan
b5464ccf4d [TD]Add uuid tags for cosmetics 2019-08-22 17:11:55 -04:00
wandererfan
517b11ee3b [TD]Fix crash on same end points 2019-07-19 20:17:20 -04:00
wandererfan
3aa6fa19c6 [TD]Py functions for CenterLines and formatting 2019-07-19 20:17:20 -04:00
wandererfan
941968b37c [TD]Edge and Vertex center lines 2019-07-15 12:36:48 -04:00
wandererfan
621b66be17 [TD]Add Properties for Cosmetic persistence 2019-07-15 12:36:48 -04:00
wandererfan
3d2edd0f7e [TD]Add line appearance editor 2019-07-15 12:36:48 -04:00
wandererfan
11d8aaed61 [TD]Add CenterLine edit function 2019-07-15 12:36:48 -04:00
wandererfan
5970e91ef2 [TD]Py Cosmetic Vertex, Line, Circle Arc 2019-07-15 12:36:48 -04:00
wandererfan
3e0452417b Cosmetic CL for Section and Detail 2019-06-06 19:58:15 -04:00