Commit Graph

106 Commits

Author SHA1 Message Date
Abdullah Tahiri
ee0c3ad5c1 Console/ILogger: Refactor and extension
=======================================

Refactor:
 - Substitute the use of variadic templates with parameter packs.
 - Use recently incorporated external library "fmt" to handle printf like formating.
 - Extensive cleaning of pragmas and unnecessary forward declarations.
 - Parameter packs and libfmt provide a much stronger type checking now, so
   conversions that are by standard implicit as bool to int need an explicit static_cast
   to avoid compilation warnings.

Extension:
 - Include a notifier field, so that the originator of the message can be provided. E.g. Document#DocumentObject
 - Include a new type of message called CriticalMessage, this message is intended to have
   special behaviour in the future. Namely, it will be used to notify forward compatilibity issues.
   It will be used to substitute the current signal/slot mechanism.
 - Include two new types of messages for user notifications (Notification and TranslatedNotification). This messages
   will be use to convey UI notifications intended for the user (such as non-intrusive message about the usage of a tool). There
   are two versions to mark whether the string provided as a message is already translated or not. When using the console system for
   notifications, these notifications may originate from the App or the Gui. In the former, it is generally the case that the strings
   of messages are not (yet) translated (but they can be marked with QT_TRANSLATE_NOOP). In the latter, often the messages to be provided
   are already translated.

Python support for CriticalMessage, Notification and TranslatedNofification, including shortcuts:

    Crt = FreeCAD.Console.PrintCritical
    Ntf = FreeCAD.Console.PrintNotification
    Tnf = FreeCAD.Console.PrintTranslatedNotification
2023-03-07 16:13:23 +01:00
wandererfan
704fb894a5 [TD]getters and setters for geometry
- make attributes private (or protected) and use
  getters and setters instead of accessing attributes
  directly.
2023-02-28 08:15:06 -05:00
wandererfan
437457e996 [TD]remove obsolete log messages 2023-01-13 12:15:33 -05:00
wandererfan
208104e9e0 [TD]Refactor Dimensions for 3d upgrade
- separate validation, geometry and reference handling into
  individual files
- improve 3d reference geometry handling
- eliminate duplicate dim creation code

- add Dimension reference repair dialog

- Refactor formatting out of DrawViewDimension

- move dimension repaint control to ViewProvider
2023-01-07 16:32:03 -05:00
wandererfan
100d4956c8 [TD]detail of rotated ComplexSection 2022-12-18 09:42:42 -05:00
wandererfan
86e7f36791 [TD]fix missing include for CI 2022-10-28 08:47:45 -04:00
wandererfan
87cc3fe864 [TD]SectionView/ComplexSection - preview, direction selection
- add preview/live update to TaskSectionView & TaskComplexSection
- add view direction selector to uis
- use SectionNormal as Direction.  Make Direction read-only
- simplify section line end point calculation
- section group command in toolbar
- make section and complex section icons consistent
- fix compsolid cutting tool
- terminology: single/piecewise to offset/aligned
2022-10-28 08:47:45 -04:00
wandererfan
0ff473a9b6 [TD]Complex Section - initial implementation 2022-10-28 08:47:45 -04:00
wmayer
d474d2aaa8 TD: [skip ci] may explicitly require gp_Ax3 header depending on OCCT version 2022-10-05 09:36:31 +02:00
Uwe
f04cab01a4 [TD] next attempt to fix CI compiler error
- reported here: https://gitlab.com/freecad/FreeCAD-CI/-/jobs/3127909597
2022-10-05 04:19:50 +02:00
Uwe
934dbef946 [TD] attempt to fix CI compiler error
- reported here: https://gitlab.com/freecad/FreeCAD-CI/-/jobs/3127855862
(compiles fine with Visual Studio, thus I can only guess)
2022-10-05 04:08:20 +02:00
Uwe
d3c70c8740 [TD] E* - L*: remove unused includes
- also sort includes
- also additions to precompiled header
2022-10-05 03:43:42 +02:00
wandererfan
359c808d52 [TD]restore missing isoparameter option 2022-09-11 19:06:02 -04:00
wandererfan
d683ba12d2 [TD]CI clang warnings 2022-09-05 19:52:34 -04:00
wandererfan
aa2b1b8392 [TD]CI clang warnings 2022-09-05 17:48:38 -04:00
wmayer
10d6a90be5 Mod: [skip ci] fix some MSVC warnings 2022-09-05 13:45:22 +02:00
wandererfan
60a230805c [TD]fix perspective projection
- the logic for the perspective option with the precise
  HLR algo was inadvertently removed in the multithread
  modifications.
2022-08-30 19:10:16 -04:00
Wanderer Fan
e97b95341a [TD]code clean ups
- QtConcurrent include and CMake for Win

- include clean up dvp, dvs, dvd

- variable names and nested if clean up

- remove debug code
2022-08-18 09:34:32 -04:00
Wanderer Fan
0babc10a99 [TD]fix projectShape for shape outline 2022-08-18 09:34:32 -04:00
Wanderer Fan
5a92b30f17 [TD]run hlr and extractFaces in threads 2022-08-18 09:34:32 -04:00
Uwe
7b4e5d7522 [TD] remove more superfluous nullptr checks 2022-07-20 02:32:52 +02:00
Uwe
36add10c86 [TD] App: remove some superfluous nullptr checks 2022-07-19 02:03:50 +02:00
Uwe
19c8a76c62 [TD] App Headers: remove unused header - part 3/3 2022-03-25 01:13:34 +01:00
Wanderer Fan
855941d5bb [TD]fix misplaced section line
- BRepBndLib::Add results in wrong bbox center.
- replaced with BRepBndLib::AddOptimal
2022-03-03 09:31:29 -05:00
Wanderer Fan
28c5890bc9 [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
wmayer
27fc40a290 TD: [skip ci] partially fix issue 0004765 2021-12-21 11:39:17 +01:00
wmayer
c944c559b7 TD: [skip ci] partially fix issue 0004765 2021-12-20 10:11:03 +01:00
wmayer
3fa4a321d3 TD: replace usage of raw pointers of Vertex and Face with shared pointers.
This fixes issue 4741: Broken File After Using Landmark Dimension in TechDraw
2021-12-10 14:25:24 +01:00
wmayer
c162037476 LGTM: [skip ci] fix: Large object passed by value 2020-07-24 18:32:31 +02:00
wandererfan
e0c80824de [TD]DPG spacing for oblique views 2020-07-07 15:26:20 -04:00
wandererfan
393cf75276 [TD]minor code clean ups 2020-05-16 07:42:45 -04:00
wandererfan
eaf2f0e8a4 [TD]Simplify Cosmetic List & PyObject handling 2020-05-16 07:42:45 -04:00
wandererfan
a584afcd91 [TD]Coordinate inversion for CosmeticVertex 2020-04-28 09:11:28 -04:00
wandererfan
cb2a3d529c [TD]Landmark Dims initial impl 2020-02-25 17:21:00 -05:00
wandererfan
8cbcd243e6 [TD]Py routines for CenterLines 2019-12-16 20:36:10 -05:00
wandererfan
b54212f82c [TD]Python routines and extension for line formating 2019-12-16 20:36:10 -05:00
wandererfan
a71bc8f734 [TD]Python routines and extension for Cosmetic Edges 2019-12-16 20:36:10 -05:00
wandererfan
f63cd9255a [TD]Python routines & extension for CosmeticVertex 2019-12-16 20:36:10 -05:00
wandererfan
15f180038f [TD]add ability to filter obvious geometry errors
- also add checks for geometry errors
2019-12-10 06:51:09 -05:00
wandererfan
02616b5674 [TD]soft fail on bad geometry error w/ polygon algo 2019-12-10 06:51:09 -05:00
wandererfan
7906c3a684 [TD]fix assembly CS has wrong XDir 2019-11-27 07:31:45 -05:00
wandererfan
a78e4229da [TD]correct face detection to avoid ghost faces 2019-11-27 07:31:45 -05:00
wandererfan
9d9d41bcd0 [TD]correct alignment of Section & Detail with Base 2019-11-27 07:31:45 -05:00
wandererfan
e0a7284135 [TD]Section UI changes 2019-11-27 07:31:45 -05:00
wandererfan
f539a0ea8c [TD]use UUID for CosmeticEdges instead of indices 2019-11-06 20:31:02 -05:00
wandererfan
b34eb9de77 [TD]Implement unique tags for Cosmetic Vertex 2019-11-02 14:59:32 -04:00
wandererfan
88b07896e6 [TD]Extent Dimensions 2019-11-02 14:59:32 -04:00
wandererfan
f4829a5deb [TD]improve handling of Assembly4 Models 2019-10-28 08:39:06 -04:00
wmayer
5746c37b7e fix -Wcatch-value=, fix -Wpedantic 2019-09-18 14:36:23 +02:00
wandererfan
a4577a1e5b [TD]Edge and Vertex center lines 2019-07-15 12:36:48 -04:00