Commit Graph

773 Commits

Author SHA1 Message Date
Aapo
9266c34498 [TD] Add new non-standard format specifier '%w' that truncates trailing zeros. 2022-01-21 11:24:44 -05:00
edi271
1a8e88eeec [TD] Move Circulation method to DrawUtil 2022-01-21 11:22:40 -05:00
Wanderer Fan
05c7b8e210 [TD]expose Page request paint method to Python 2022-01-11 09:36:48 -05:00
Wanderer Fan
f6653d44af [TD]improve handling of View in multiple Pages 2022-01-11 09:36:48 -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
luz paz
fd3f2b0092 Fix various typos and refinements 2022-01-06 20:22:34 +01:00
Wanderer Fan
74dc5344d4 [TD]prevent touched but must be execute on DrawPage 2022-01-02 09:48:38 -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
Yorik van Havre
24d1a3f054 Merge pull request #5023 from marioalexis84/gui-encoding
Gui:  Harmonize encoding/decoding between view, property editor and command line.
2021-10-14 12:24:49 +02:00
Chris Hennes
547a902a13 Merge pull request #5082 from pavltom/Balloon_Updates
TechDraw - Balloon handling updates
2021-10-09 13:28:48 -05:00
wmayer
a7f9c2f1b9 OCCT: port FreeCAD sources to version 7.6
SMESH is not yet ported
Although FreeCAD code compiles with OCCT 7.6 it doesn't work at the moment
2021-10-09 13:49:02 +02:00
Tomas Pavlicek
b93d049f8e TechDraw - Balloon updates 2021-10-03 13:43:53 +02:00
marioalexis
eb0b3f0b94 TechDraw: Fix Unicode and UTF-8 encoding character behavior 2021-09-23 21:21:24 -03:00
wmayer
8cbd92d874 port to MSYS2/clang 2021-09-19 19:49:44 +02:00
mwganson
cf961d6cca [TechDraw] prevent crash where user duplicates page without also duplicating dependencies 2021-09-06 13:20:29 -05:00
wmayer
5dbf7e93d7 Gui: fix -Winconsistent-missing-override, TD: fix -Wunused-parameter 2021-08-21 12:15:43 +02:00
Tomas Pavlicek
2a1597cded TechDraw - Undo for Cosmetics Vertices and Lines 2021-08-11 10:07:02 +02:00
Uwe
50da5a74d8 Update src/Mod/TechDraw/App/Cosmetic.cpp
Co-authored-by: 0penBrain <48731257+0penBrain@users.noreply.github.com>
2021-08-03 13:23:14 +02:00
donovaly
e9a94d1e78 [TD] comment the new centerline behavior
add missing info to understand the new centerline behavior as introduced with commit d1476c64
2021-08-03 13:23:14 +02:00
luz paz
4d21ffa904 Fix various typos 2021-07-31 09:46:50 +02:00
Tomas Pavlicek
f31988b010 TechDraw - Add edge midpoint cosmetic vertex fix - added comments 2021-06-24 20:47:10 +02:00
Tomas Pavlicek
505a12cb5a TechDraw - Add edge midpoint cosmetic vertex fix 2021-06-21 15:20:52 +02:00
mapeze
c2c4d64704 Fix TechDraw View Spreadsheet with merged cells, 2 2021-05-21 17:26:13 +02:00
donovaly
2bc5ac2e4b [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
wmayer
b831d9d7f2 TD: remove some more deprecated Py2 code 2021-04-26 11:01:59 +02:00
wmayer
9209d35390 TD: fix memory leaks in BaseGeom::baseFactory() and make code more readable 2021-04-23 17:05:13 +02:00
luz paz
738a697d94 [TD] remove Py2 code from TD 2021-04-22 13:08:56 +02:00
Chris Hennes
bd86b4dcfe [TD] Remove deprecated Qt < 5.9 code 2021-04-02 12:02:54 +02:00
Benjamin Nauck
bb5ac30e24 TechDraw: [skip ci] convert source files from iso-8859 to utf-8
All other source files are either plain ascii or utf-8, this converts
the last few to utf-8.
2021-03-25 18:02:12 +01:00
Aapo
505ba2e42f [TD] DrawViewPart.cpp: Fix a crash when user sets the PropertyVector Direction to zero. 2021-02-25 12:40:59 +01:00
wmayer
3ad1d8fccc TD: [skip ci] implement DrawView::recompute to handle all OCC exception types 2021-02-25 12:39:50 +01:00
wmayer
2de6a80bb4 TD: [skip ci] explicitly nullify geometryObject in DrawViewPart::partExec to avoid to leave it a dangling pointer in case makeGeometryForShape raises an exception 2021-02-25 11:34:29 +01:00
Aapo
e39ef22c1b [TD] Hotfix for Dimension label Arbitrary value regression in DrawViewDimension.cpp 2021-02-25 10:28:42 +01:00
wmayer
5c4fcaef1d TD: [skip ci] Fix coverity warning
Coverity warnings fixed:

CID 316559 (#1 of 1): Uninitialized scalar variable (UNINIT)
3. uninit_use_in_call: Using uninitialized value we. Field we.idx is uninitialized when calling push_back

CID 316549 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
4. uninit_member: Non-static class member pageheight is not initialized in this constructor nor in any functions that it calls.

CID 186161 (#1 of 1): Uninitialized pointer field (UNINIT_CTOR)
2. uninit_member: Non-static class member parent is not initialized in this constructor nor in any functions that it calls.

CID 305170 (#1 of 1): Dereference before null check (REVERSE_INULL)
check_after_deref: Null-checking this->m_baseFeat suggests that it may be null, but it has already been dereferenced on all paths leading to the check.

CID 186152 (#2 of 2): Uninitialized pointer field (UNINIT_CTOR)
3. uninit_member: Non-static class member m_mdi is not initialized in this constructor nor in any functions that it calls.

CID 192588 (#1 of 1): Same on both sides (CONSTANT_EXPRESSION_RESULT)
pointless_expression
2021-02-21 16:30:30 +01:00
vosk
100a7ade4c [TD] - Fix geometry object leaking on every exec 2021-02-19 16:50:56 +01:00
Aapo
f0992574bd [TD] ShapeExtractor.cpp: Fix linked View source bug, link targets were translated but not scaled in TD. 2021-02-05 22:41:09 +01:00
Yorik van Havre
e947b9bb3b TechDraw: Exposed GeomHatch functionality to Python in TechDraw.makeGeomHatch() 2021-02-02 17:49:44 +01:00
Aapo
9f49b122f4 [TD] Dimensions: donovaly's minor fixes for TheoreticalExact dimensions. 2021-01-31 15:17:46 +01:00
Aapo
f362930664 [TD] Improve arbitrary tolerance and unit handling for Equal Tolerances. 2021-01-31 15:17:46 +01:00
Aapo
dbef970697 [TD] Add under- and overtolerances for Dimension Task layout, fixes for Dimension tolerance refresh and behavior. 2021-01-31 15:17:46 +01:00
Aapo
5350a2c3d0 [TD] Fix degree sign processing for equilateral angular plusminus dimensions. 2021-01-31 15:17:46 +01:00
Aapo
e6ef62e711 [TD] Fix regression in Dimensions: Setting arbitrary under tolerance was somehow lost. 2021-01-31 15:17:46 +01:00
Chris Hennes
475f7049c5 Add the standard-defined "xml" namespace if it is not specified
The XML standard stipulates:
The prefix xml is by definition bound to the namespace name http://www.w3.org/XML/1998/namespace. It MAY, but need not, be declared, and MUST NOT be bound to any other namespace name. Other prefixes MUST NOT be bound to this namespace name, and it MUST NOT be declared as the default namespace.

If the document does not explicitly include this namespace, it is added. This prevents errors due to the use of the namespace in some imported SVG files. In debug builds those errors emit warning messages, and in Windows debug builds those errors cause an abort() to be called.
2021-01-24 22:35:27 -06:00
Aapo
691051e1df [TD] Fix Dimension unit printing problem for US building units and other multivalueschema. 2021-01-18 21:52:35 +02:00
donovaly
1a296a4006 [TD] add dialog to modify some dimension settings
also fix issue that tolerance could be set despite theoretically exact is true under some circumstances

also some wording improvements

also a minor fix to use 0.0 instead of DBL_MIN
2021-01-15 05:21:49 +01:00
donovaly
81ff5a422f [TD] don't allow tolerances for exact values
as discussed here: https://forum.freecadweb.org/viewtopic.php?f=35&t=54218
when a value is theoretically exact it must not have a tolerance

This PR
* fixes this
* also fixes the bug that OverTolerance must not be negative if the tolerances are equal
2021-01-13 04:05:31 +01:00
donovaly
96eaff8e4e [TD] some fixes
- the setting "Standard and Style" only affects new dimensions, thus it must be italic

- fix bug that the Property 'LockPosition' appears for dimensions -> this is an option for views and thus must be hidden for dimensions

- since tolerances are in the vast majority fractions of a millimeter/inch, set its stepsize to 0.1
(I hope I did it right in handleChangedPropertyType.)

- fix inconsistent newlines in TaskBalloon.h

- improve wording for a heading
2021-01-10 00:29:34 +01:00
donovaly
2232b1d48e [TD] handle equal tolerances correctly
the common rule is that if a dimension has equal over- and undertolerance, they are output on the same line as the dimension concatenated using the ± character.

This PR does this.

Note that this is not just cosmetics, it is even standardized in the GD&T norms.

also:
* use one format specifier for tolerances since the norms don't allow a different format for the over- and the undertolerance
* some code optimizations like a self-explaining function name, remove unnecessary/outdated comments
2021-01-08 15:14:37 +01:00