Commit Graph

24056 Commits

Author SHA1 Message Date
wmayer
a79e9bb609 TD: fix undo/redo for balloon objects
* inside mouseReleaseEvent() check if the mouse has been moved and only if yes emit the dragFinished() signal
* improve error handling in mouseDoubleClickEvent
* in mouseDoubleClickEvent start to edit the view provider
2021-02-14 19:30:06 +01:00
wmayer
9b145fc830 TD: fix undo/redo for dimension objects
* do not emit dragFinished() signal inside mousePressEvent as nothing has been done. This avoids to create an empty transaction and doesn't touch the document
* inside mouseReleaseEvent() check if the mouse has been moved and only if yes emit the signal
* improve error handling in mouseDoubleClickEvent
* in mouseDoubleClickEvent start to edit the view provider
2021-02-14 19:03:19 +01:00
wmayer
e83ee7400c Mesh: add unit tests for splitting facets 2021-02-14 12:33:29 +01:00
wmayer
479a1fc9c9 Mesh: [skip ci] expose some mesh evaluation functions to Python 2021-02-14 12:02:45 +01:00
David Osterberg
29cd1049bb Part: Allow helix primitive with negative Angle 2021-02-14 11:53:34 +01:00
wmayer
8616a5615f Mesh: [skip ci] replace tabs with spaces 2021-02-14 11:26:53 +01:00
luz paz
a792e15e5b Path: fix typos in comments [skip ci]
Found via codespell
2021-02-14 10:45:38 +01:00
David Osterberg
9dd96ed107 Draft: Fix regressions in Draft array 2021-02-14 01:20:06 +01:00
wmayer
815333c68e Mesh: [skip ci] implement splitFacet 2021-02-14 00:54:30 +01:00
Abdullah Tahiri
c8f9197bf0 Sketcher: Fix external geometry ellipse projection in parallel plane
====================================================================

When the ellipse to be projected and the sketch plane are parallel, the original code
by shermelin provided for a translation of the original ellipse, which would be the best solution
if it weren't because the Sketcher, internally, works under the assumption of a normal vector to the
sketcher plane being (0,0,1). If the original ellipse is parallel to the sketch plane, but the sketch
plane is not the XY plane, the copy and translation would result in a ellipse not in the XY plane of the
Sketcher. Then the sketcher internals will not properly consider its dimensions.

The solution applied here is to default to the general method for non-parallel planes.

It solves:
https://forum.freecadweb.org/viewtopic.php?f=3&t=55284#p477522
2021-02-13 15:18:34 +01:00
wmayer
ac6d06dd84 Draft: fix syntax errors 2021-02-13 12:14:12 +01:00
Abdullah Tahiri
30a93b648b Sketcher: Coverity fix in Sketch::analyseBlockedGeometry
========================================================

Users chennes and hyarion made me aware of this covereity issue:

Fixes Coverity: geoit can be end() when dereferenced
https://github.com/FreeCAD/FreeCAD/pull/4429/files#

When analysing the block where the dereferrencing appears, it
appears that it is a left-over that no longer makes sense:
- The algorithm classifies block constraints into those that are
not affected by any other driving constraint and those that are
affected by other driving constraints.
- The offending block deals with internal aligned geometry, thus
per definition has a driving internal alignment constraint, for which
the previous block already set the need of post-analysis.
- No matter what, the geometries, the complex one and the internal one
will have at least the driving internal alignment constraint, so they
cannot become "not affected by any other driving constraint".
- If the geometry had a block constraint on it, it was already added for
post-analysis in the previous block. If it did not have one block constraint,
the fact that it is internal aligned geometry is an irrelevant consideration.

Probably there was a point during development when this made sense, but with
the current post-analysis, it does not appear to make sense anymore. So the
block was removed.

This commit adds a unit test for blocked geometry (new block constraint).
2021-02-13 11:44:06 +01:00
Chris Hennes
16b8e02969 Correct minimum distance calculation in SplitFacet
Found via LGTM.
2021-02-12 21:59:50 +01:00
David Osterberg
bff55def04 PartDesign: Fix hardcoded through all distance in ProfileBased
Before the throughall distance was 10 m, which is not enough for
many applications. The fix is to use the bounding box of the base shape
together with the sketch profile to calculate dynamically a large enough
length.
2021-02-12 18:37:56 +01:00
David Carter
20930eaa2e Add rocket workbench addon 2021-02-12 18:12:49 +01:00
0penBrain
aa44e700cd [SpreadSheet] Fixes #4563 exported range issue 2021-02-12 18:06:07 +01:00
David Osterberg
ec51691a43 PartDesign: Fix broken outdated icon filenames
This fixes some cases that were missed in commit 1814270d53afd1c51c
2021-02-12 17:46:27 +01:00
wmayer
a800920791 TD: [skip ci] use setAutoCloseOnTransactionChange for balloon and dimension task dialog 2021-02-12 17:43:31 +01:00
wmayer
20e67c469d Gui: [skip ci] add option to automatically close task dialog if undo/redo was pressed 2021-02-12 17:42:49 +01:00
wmayer
0b0bd8b806 TechDraw: [skip ci] avoid to trigger a slot in constructor of TaskBalloon 2021-02-12 16:55:39 +01:00
wmayer
2824acedda TechDraw: fixes for dimension feature:
* reimplement ViewProviderDimension::setupContextMenu() to show menu item to start editing it
* fix TaskDimension::accept() and TaskDimension::reject()
2021-02-12 15:55:26 +01:00
wmayer
77c6eb91e3 TechDraw: [skip] fixes for balloon feature:
* reimplement ViewProviderBalloon::setupContextMenu() to show item to start editing it
+ fix TaskBalloon::accept() and TaskBalloon::reject()
2021-02-12 15:36:21 +01:00
Yorik van Havre
0de8cceb53 Updated ts files 2021-02-12 14:47:37 +01:00
Yorik van Havre
4232b2120d Tools: Detect and use pyside2-lupdate in ts tools 2021-02-12 14:45:41 +01:00
Yorik van Havre
abee35f38a Draft: Fixed broken translations everywhere 2021-02-12 14:44:58 +01:00
wmayer
0df2105ad8 PD: [skip ci] fix ViewProviderPrimitive::getIcon() after renaming of icon files 2021-02-12 13:20:16 +01:00
wmayer
d50dbf184d Part: [skip ci] code-refactoring in DlgPrimitives class 2021-02-12 12:41:45 +01:00
David Osterberg
7a9ecbdaa9 FEM: Improve Gmsh log, when Gmsh is not installed 2021-02-11 21:03:43 +01:00
Alex Young
7fa21b7319 LGTM: Removes unused import in PathPropertyBagGui.py 2021-02-11 13:12:49 +01:00
Alex Young
5a8c58dc75 Path: Removes unused imports from PathToolBit.py
lgtm.com showed unused imports in PathToolBit.py.  This patch removes them.  The tests in TestPathApp still pass.
2021-02-11 13:10:52 +01:00
Chris Hennes
52e861b181 LGTM: Remove unused Time() function
The ConsoleSingleton::Time() function is flagged by LGTM for using
two different unsafe time-related functions. It is not called anywhere
in the current codebase, and is not exposed in the Python API, so was
removed rather than being repaired.
2021-02-11 12:51:31 +01:00
donovaly
bcadbe3b1b [PD] rename icons to match Wiki files
For the What#s this feature we need to have a uniform naming of the features and its icons. For some PD icons this is not the case and since we are in feature freeze, this is the right time to address this.
(I see the same is already done for Mesh.)
2021-02-11 12:47:25 +01:00
Chris Hennes
0a4ff764e9 LGTM: Move seq->next out of loop control
LGTM points out that the construct use in the loop here "does
nothing" -- that is, it is a conditional whose result is never used.
It is apparently being used simply to ensure that the next() function is
called on each loop iteration, but because sequence may be null, it is
shoehorned into a trinary :? operator. To clarify the intent and ensure
that later readers (including LGTM) do not misunderstand it,
this code is broken out into a more standard conditional construct at
the end of each loop iteration.
2021-02-11 12:31:25 +01:00
bitacovir
78bc6e6ad8 [UI] Replacement of 3 SVG icons for OpenSCAD commands 2021-02-11 12:07:09 +01:00
bitacovir
2349d77832 Fix MeshPart icon names 2021-02-11 11:57:56 +01:00
Chris Hennes
6b11d45e7a LGTM: Minor fixes to FreeCADApp.py
LGTM flagged several redundant imports, and was confused by the else
clause of one loop. This commit removes those imports, and because of
the loop's construction, removes the else entirely and lets the loop
fall through to the error state if it fails to find what it's looking
for.
2021-02-11 11:54:24 +01:00
Chris Hennes
6b16e12d7c [OTHER] Catch only Exception, not BaseException 2021-02-11 11:52:45 +01:00
Chris Hennes
a7522c384e [DRAFT] Catch only Exception, not BaseException 2021-02-11 11:52:45 +01:00
Chris Hennes
9d1958475e [ARCH] Catch only Exception, not BaseException 2021-02-11 11:52:45 +01:00
Benjamin Nauck
92a479bf01 Sketcher: Fix uninitialized scalar field in ctor
Fixes Coverity issue:
CID 316539 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
uninit_member: Non-static class member lastHasPartialRedundancies is not initialized in this constructor nor in any functions that it calls.
2021-02-11 11:48:19 +01:00
Abdullah Tahiri
ab758374a8 Sketcher: Bug fix / improve B-Spline knot support
=================================================

Knot position is not calculated by the solver, but by OCCT when updating the
b-spline to conform to given pole positions, as mandated by the solver. Before
this commit, all constraints driving and non-driving operating on the knots required
and extra solve (from advanced solver dialog, or from the Python console), or a recompute
to be recomputed.

This commit introduces transparently re-solving at Sketch.cpp level if B-Splines are present,
so that when the Sketcher mandated solve returns, the geometry is fully solved.
2021-02-10 18:53:52 +01:00
sliptonic
5baaa08fab Merge pull request #4417 from Schildkroet/adaptive_improve
[0.19][PATH] Added onDocRestore method for adaptive op
2021-02-10 10:08:38 -06:00
Abdullah Tahiri
2be7f8cbcb Sketcher: fix malformed constraint on nurbs conversion
======================================================

Coincident on midpoint cannot be supported by a bspline.

Fixes:
https://forum.freecadweb.org/viewtopic.php?p=476410#p476410
2021-02-10 06:41:16 +01:00
Chris Hennes
3bb03af723 [Part] Coverity: dtors can't throw 2021-02-09 23:58:09 +01:00
Abdullah Tahiri
4c55d91093 Sketcher: Fix geometry state synchronisation routine 2021-02-09 20:22:30 +01:00
UR-0
f79cef0e8a [FEM] Clipping plane: Fix handling of shapeless document objects 2021-02-09 20:20:49 +01:00
Chris Hennes
e7e794753a [PD] Add missing ctor variable init (Coverity)
The "angle" variable was not being initialized in any of the
constructors for the CutDimensionSet, and nothing was being initialized
by the default constructor. This commit adds angle as an optional final
argument to the parameterized constructors, defaulting to 0.0, and adds
default values to the default constructor using the first of each enum
and 0.0 for the angle. The default constructor is required elsewhere in
the code so cannot be trivially removed. Issue identified by Coverity.
2021-02-09 20:19:38 +01:00
luz paz
19e5c1f334 Sketcher: Add 'Sketcher B-spline tools' to translation [skip ci]
Forum thread: https://forum.freecadweb.org/viewtopic.php?f=34&t=55381  
and several whitespace fixes
2021-02-09 20:18:16 +01:00
bitacovir
cc02ebb57f Fix mesh icon names of 3 SVG files 2021-02-09 20:10:24 +01:00
luz paz
7eabc1fce1 TechDraw: expose TechDraw_Decorate function tooltip to translation
Forum thread https://forum.freecadweb.org/viewtopic.php?f=34&t=55382
2021-02-09 20:09:36 +01:00