Commit Graph

1317 Commits

Author SHA1 Message Date
Uwe
4c101726a8 [Part] remove unused Xerces 2022-03-20 19:37:20 +01:00
wmayer
585bcb8708 lgtm: [skip ci] FIXME comment
Change FIXME or remove it
2022-03-20 16:51:23 +01:00
Uwe
3e1dbde0cf [Part] remove Python.h from headers
seems not to be necessary anymore
2022-03-20 14:16:55 +01:00
wmayer
40ba077f85 Part: [skip ci] print warning only if eof bit is not set, i.e. ignore it for empty files 2022-03-17 20:24:06 +01:00
wmayer
e4d1ed8366 Base: rename BaseExceptionFreeCADError to PyExc_FC_GeneralError 2022-03-17 14:45:48 +01:00
wmayer
1f12dca2b4 Py: replace BaseExceptionFreeCADError with more suitable exception types 2022-03-17 13:54:23 +01:00
wmayer
0f9768fb33 Fix coverity issue:
* CID 332682: Resource leak
* CID 350607: Resource leak
* CID 332677: Resource leak
2022-03-14 11:35:04 +01:00
wmayer
15ee1fdd4e Part: Fix several coverity issues:
* CID 350581: Structurally dead code
* CID 350620: Structurally dead code
* CID 350563: Big parameter passed by value
* CID 350552: Uncaught exception
* CID 305193: Uncaught exception
* CID 350556: Uninitialized scalar field
* CID 350579: Uninitialized pointer read
2022-03-13 16:06:40 +01:00
Uwe
e4777d16f8 [Part] remove unused variable
MSVC complained about it
2022-03-12 15:44:27 +01:00
mwganson
fc617e1524 Part: 2doffset fix crash by chacking for null shape before adding with builder.Add() 2022-03-12 02:48:22 +01:00
wmayer
ec8353ba99 Part: refactor PropertyPartShape::SaveDocFile and PropertyPartShape::RestoreDocFile
Set exception mask of std::istream::failbit | std::istream::badbit to istream to make sure it raises an exception for corrupted input files.
See: https://forum.freecadweb.org/viewtopic.php?p=536747
2022-03-11 22:06:38 +01:00
wmayer
08b77bff08 Core/Mod: modernize C++11
* use nullptr
2022-03-09 21:55:31 +01:00
wmayer
f1f68db55b App: Optimize includes to reduce compile time 2022-03-07 15:53:58 +01:00
wmayer
91e4e468dd Base: move ILogger sub-classes to their own source files in order to reduce including stream classes in client code 2022-03-06 10:13:47 +01:00
wmayer
2a33fe77f6 App/Gui: move template classes (ViewProvider)ExtensionPythonT to their own header files 2022-03-04 18:54:42 +01:00
wmayer
135379e618 Part: issue #6488: Cone surface returns wrong dv derivative
This is a workaround to fix a bug in ElSLib::ConeDN
2022-03-01 14:59:26 +01:00
Uwe
16467d9067 Revert "App: fix property ordering problem when undo/redo (#3255)"
This reverts commit 24d30636e4fb990fdbd67538360846ff09456dfc.
2022-02-22 01:21:49 +01:00
Uwe
39c03863b5 [Part] compile fix for precompiled header
For an unknown reason BRepFill_Generator.hxx must be load explicitly for precompiled headers.
2022-02-21 16:52:41 +01:00
Uwe
933484e387 fix more typos to silence the spellchecker CI 2022-02-21 13:20:06 +01:00
Zheng Lei
170a12089c App: fix property ordering problem when undo/redo (#3255)
* Part: fix Placement/Shape onChanged() handling

* App: fix property ordering problem when undo/redo
See https://tracker.freecadweb.org/view.php?id=4265#c14271

* Gui: fix undo/redo signaling
Make sure to signal after all properties has been restored
2022-02-21 12:29:01 +01:00
Uwe
2b76f1f89e [Part] remove some unused includes and sorting 2022-02-21 04:29:28 +01:00
Uwe
f129bd7da7 [Part] FaceMaker, Command and Extrusion: remove unused includes 2022-02-21 03:33:01 +01:00
wmayer
0c583fb7fa Part: fix typos in make* functions 2022-02-16 12:48:02 +01:00
Uwe
9ef912a49d [Part] Bullseye whitespace fixes 2022-02-16 03:40:07 +01:00
wmayer
0208608b9e Base: fix Matrix4D::hasScale
* If all column vectors of the 3x3 sub-matrix are equal the function incorrectly claims that it's uniform scaling.
* Detect also non-uniform scaling and if was applied from the left or right side
* Replace the int with an enum and expose it to Python
* Add several new unit tests
2022-02-15 21:05:11 +01:00
wmayer
29b940fb66 Part: Circle variable name change to create consistency
Change variable names of the Circle from Angle0 to Angle1 to create consistency with all other named angle variables
2022-02-11 18:28:58 +01:00
wmayer
27c2dc216b Part: handle to load old project files with Part::Ellipse 2022-02-11 17:25:28 +01:00
Sebastian
a48656e5fe Ellipse variable name change to create consistency
Change variable names of the Ellipse from Angle0 to Angle1 to create consistency with all other named angle variables
2022-02-11 17:22:45 +01:00
Sebastian
04f71e02be Update PrimitiveFeature.cpp
Correct upper case words equal to other tool tip hints.
2022-02-08 21:54:20 +01:00
wmayer
92dc997608 Part: fix possible creation of NaN in Geom2dCircle::getCircleCenter 2022-02-05 16:16:59 +01:00
wmayer
2bec14b93a Part: expose Geom2dCircle::getCircleCenter to Python and fix a regression 2022-02-05 16:07:00 +01:00
edi271
7477a9950e Update Geometry2d.cpp
I tested. It works using Precision::Confusion(). Thank you.
2022-02-02 08:35:34 -05:00
edi271
6b9e23d7dd add accuracy to getCircleCenter method 2022-02-02 08:35:34 -05:00
Uwe
12b0e0dd92 [PD] add option to create tapered Pad / Pocket
This PR adds the same functionality as provided by Part Extrude.
The used code parts are sorted out to a new helper function that is used by Part and PartDesign.
2022-02-02 01:04:06 +01:00
Uwe
fd542ecfce [Part] Extrusion: stop if intermediate shape is Null
besides the error message, we need to raise an error

- also fine-tune the wording
2022-01-31 01:07:33 +01:00
Uwe
341a92f08d [Part] Extrusion: fix logic issue
has actually no influence on the output but is important to understand the logic of the code
2022-01-31 00:23:33 +01:00
Uwe
89e623e1b7 [Part] Extrusion: fix CI compiler warning
fixes "warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int'"
2022-01-30 22:46:07 +01:00
Uwe
729cd4a7c0 [Part] Extrusion: code simplification and documentation
- in order for the pending PR to add tapered padding/pocketing
2022-01-30 19:37:41 +01:00
Uwe
2cad24e303 [Part] Extrusion: handle also complex nested structures
- there can be strange cases with structures all intersecting each other. Their extrusion has no practical use case but we must avoid that such structures results either in an infinite loop or in an invalid geometric result.
2022-01-30 18:43:11 +01:00
Uwe
65bf134d43 [Part] Extrude: fix a thinko introduced by previous commit
- the handling of all inner wires must be done within the recursion
2022-01-30 17:41:40 +01:00
Uwe
aa48c2ea44 [Part] Extrusion: simplify code by using full recursion
- the recursion can be done completely by one void
- also add a brief description of this void
2022-01-30 16:53:44 +01:00
Uwe
a3944b8553 [Part] Extrusion: code optimizations
kudos to @marioalexis84
2022-01-30 06:02:37 +01:00
Uwe
b339cd4624 [Part] Extrusion: taper nested wires properly
addendum to commit 2d6bcba90

Now also wires nested by more than one level are supported.
The possible nesting is infinite.
2022-01-30 05:52:43 +01:00
mwganson
d6350d4f33 Part.show() python return the new document object instead of None 2022-01-29 23:50:43 +01:00
Uwe
23c1fb78bf [Part] Extrude: remove unused variable 2022-01-29 23:18:11 +01:00
Uwe
f061a2cd82 [Part] handle inner wires for Extrude (#5367)
* [Part] handle inner wires for Extrude

this is a PR to make Extrude handle inner wires of sketches.
2022-01-29 21:50:55 +01:00
luz paz
501a5e88c0 Part: fix source comment typo 2022-01-22 16:28:41 +01:00
Uwe
4038c6487b [Part] add missing include
needed since PR #5382

- also transfer another include
2022-01-21 01:07:38 +01:00
marioalexis
83b55e577b Part: Use Tools::getNormal to compute normal to surface 2022-01-20 13:01:27 +01:00
marioalexis
ba711886e1 Part: Implement Tools::getNormal function 2022-01-20 13:01:27 +01:00