Commit Graph

2170 Commits

Author SHA1 Message Date
mwganson
ed3ff7db5e [CheckGeometry] add new shapecontent builder instead of OCCT's to correct some errors in OCCT's values and to add for some more advanced information, e.g. volume or area, add new method to Base::Interpreter runStringWithKey() -- allows to run a python script and get a string return value 2020-09-03 12:09:38 +02:00
wmayer
2c8f78b299 Part: [skip ci] return std::unique_ptr from Part::makeFromSurface() to avoid memory leaks 2020-08-29 23:56:12 +02:00
tomate44
21562568d6 Edge.curveOnSurface : add placement to the output tuple 2020-08-29 22:22:43 +02:00
tomate44
291050c8d0 Part.EdgePy : get access to stored Pcurves 2020-08-29 22:22:43 +02:00
tomate44
6a1758a867 Part.Curve2d : adjust parameters 2020-08-24 16:09:54 +02:00
tomate44
5ab8ec1c26 Part.Curve2d : fix for toShape sometimes generating wrong BSpline curves 2020-08-24 16:09:54 +02:00
tomate44
849cc77f6e fix long spiral bug similar to #954. Work around OCC bug #23314 2020-08-22 14:29:07 +02:00
carlopav
d1d42e1e46 Part: grouped ViewProviderExt subdivided view properties 2020-08-21 12:36:46 +02:00
vocx-fc
669c304789 Part: rename to uppercase, Part_ProjectionOnSurface
For consistency with all other commands that start with capital letter.
2020-08-17 16:32:28 +02:00
luz paz
85b3b3bbe6 Part: fix typos in source function names and variables
Found via `codespell`
2020-08-17 16:32:28 +02:00
wmayer
53bd9bff6a Part: [skip ci] fixes #0004117: Crash during extrusion 2020-08-13 14:23:16 +02:00
wmayer
fc1a1e3b03 Part: code simplifications and sorting 2020-08-10 12:43:48 +02:00
donovaly
87899a5e05 code simplifications and sorting 2020-08-10 11:12:47 +02:00
donovaly
af47a41b7a TaskFaceColors.cpp: correctly end box selection if necessary 2020-08-10 11:12:23 +02:00
donovaly
0bda7f449f [Part] FaceColors cleanup
- indicate if one is in the Box Selection mode
- get rid on dialog if one really wants to cancel (no other Task dialog does this and it is annoying)
- fix clumsy dialog layout
2020-08-10 11:11:50 +02:00
MA-LAPTOP\apeltauer
b97587cab3 Improve the projection on surface algorithm. For now the first possible solution was taken. If several solution exists, this leads to a miss match.
Now check the distance of the projection shape and the original shape and the take the projection with the smallest distance.
Discussion can be found here: https://forum.freecadweb.org/viewtopic.php?f=8&t=49341&p=422925#p422925
2020-08-10 10:23:06 +02:00
donovaly
5c96cec1c7 [PD] [skip ci] disable keyboardTracking for primitives and attachment
When modifying primitives in complex geometries having a recompute for every keystroke can be annoying. Disabling keyboardTracking fixes this but keeps the immediate preview when using the spin buttons.
2020-08-10 10:14:17 +02:00
luz paz
f0d823eb51 Crowdin: Merge new translations [skip-ci] 2020-08-07 17:17:35 +02:00
wmayer
1d9a59e499 Part: [skip ci] move grid handling from ViewProvider2DObject to ViewProvider2DObjectGrid 2020-08-07 16:48:07 +02:00
wmayer
f3dff3bb82 Part: [skip ci] use of ViewOrthoProjMatrix in ViewProvider2DObject::updateData to compute the grid 2020-08-07 13:32:29 +02:00
0penBrain
4840d60ef2 [GUI/Sketcher] Add option to disable grid auto-sizing based on shape boundbox
Sketcher makes use of this option to self-manage the overall grid size
2020-08-07 13:30:42 +02:00
wmayer
050b20fa30 Part: [skip ci] fix crash when closing document while face colors panel is open 2020-08-06 11:26:24 +02:00
Zheng, Lei
35baa88bfa Part: fix FaceMakerBullseye plane finding
Copy the shape to work around OCC circular edge transformation bug
2020-07-31 17:37:18 +02:00
vocx-fc
0cd118d198 Part: move Shape view properties to Part design preferences 2020-07-30 12:28:28 +02:00
Abdullah Tahiri
ab75a60141 Part: Attacher intersection calculation fix
===========================================

In OCCT 7.4 (and apparently <= 7.4 too):

A GeomAdaptor_Curve obtained directly from BRepAdaptor_Curve will not work because it won't respect the
Location/orientation of the underlying curve.

This commit proposes to create a new GeomAdaptor_Curve from an intermediary curve handle to work around
this issue.
2020-07-29 19:06:59 +02:00
wmayer
adf662b13d remove superfluous includes of iostream, use iosfwd instead 2020-07-28 15:22:23 +02:00
wmayer
19c7fbd096 LGTM: [skip ci] fix: Inconsistent definition of copy constructor and assignment ('Rule of Two') 2020-07-27 14:39:14 +02:00
wmayer
9367e73e92 LGTM: [skip ci] fix: Inconsistent definition of copy constructor and assignment ('Rule of Two')
Remove user-defined copy constructor of Exception classes without assignment operator
2020-07-27 13:47:41 +02:00
wmayer
45e0673645 LGTM: [skip ci] fix: Declaration hides parameter
A local variable hides a parameter. This may be confusing. Consider renaming one of them.
2020-07-27 10:57:34 +02:00
wmayer
e9ce75d544 LGTM: [skip ci] fix: Empty branch of conditional
An empty block after a conditional can be a sign of an omission and can decrease maintainability of the code.
Such blocks should contain an explanatory comment to aid future maintainers.
2020-07-26 15:49:14 +02:00
wmayer
c162037476 LGTM: [skip ci] fix: Large object passed by value 2020-07-24 18:32:31 +02:00
wmayer
b05fb4dceb Part: optimize ViewProviderPartExt::getNormals 2020-07-22 20:33:17 +02:00
wmayer
983939b32d Coverity: Uninitialized scalar/pointer field 2020-07-20 17:34:30 +02:00
wmayer
9b2a6edeb0 Coverity: Uncaught exception 2020-07-20 17:34:29 +02:00
wmayer
f82389d67e Coverity: Useless call 2020-07-20 17:34:28 +02:00
wmayer
2453a50aba Coverity: Structurally/Logically dead code 2020-07-20 17:34:28 +02:00
wmayer
0a6929a122 Coverity: Dereference after null check 2020-07-20 17:34:25 +02:00
wmayer
67a986bb2d PVS: V601 The bool type is implicitly cast to the double type 2020-07-18 10:59:28 +02:00
wmayer
9424395afc PVS: V1004 A pointer was used unsafely after it was verified against nullptr 2020-07-18 10:59:27 +02:00
wmayer
07d2e08920 PVS: V524 It is odd that the body of 'getLastUKnotIndex' function is fully equivalent to the body of 'getFirstUKnotIndex' function 2020-07-18 10:59:27 +02:00
wmayer
8a7b4a145b PVS: V773 The exception was thrown without releasing the pointer. A memory leak is possible. 2020-07-18 10:59:27 +02:00
wmayer
4807fd3b33 PVS: V730 Not all members of a class are initialized inside the constructor 2020-07-18 10:59:27 +02:00
luz paz
e4f6689e0a Merged crowdin translations 2020-07-13 14:49:45 +02:00
wmayer
d2ff5eaebe Part: fix regression of visibility automation in Attachment dialog
If a body is in a Part container and a new primitive is created no preview is shown because the Part container is automatically made invisiible.
The user has to manually make the container visible but this is an error-prone procedure because the Attachment dialog reacts on user-selection and thus
unintended things can happen. So, this is a serious regression of usability.

The regression is caused by commit cd73df745124 but the commit log doesn't explain why the change was even needed.
So, this commit leaves the previous changes but re-adds the old check to filter out container objects.
2020-07-12 16:03:42 +02:00
Zheng, Lei
147b00f2cb Part: fix TaskAttacher::visibilityAutomation()
Rename Python variable 'tv' to avoid potential conflict with others
(PS. I can't reproduce error caused by this. But there is no harm doing
it either).

Handle editing attachment through an App::Link.
2020-07-12 16:03:42 +02:00
Thomas Gimpel
28dcbc5185 Part: fix handling of attachment offset rotation changes in attachment editor 2020-07-04 07:50:58 +02:00
Abdullah Tahiri
7a3e26dc5a PropertyGeometryList: move setValue and refactor 2020-07-01 14:04:25 +02:00
wmayer
4fc5655657 Part: [skip ci] fix regression in ruled surface feature by applying placement of source object twice
See: https://forum.freecadweb.org/viewtopic.php?p=411934
2020-06-27 23:17:32 +02:00
Gabriel Wicke
fb0aa86b6e [part] More robust tessellation angular deflection default
OCC currently does not reliably enforce linear deflection on curved
surfaces, especially curved lofts over nurbs splines. To avoid surprises
when tight tolerances are needed, replace the static default angular
deflection of 0.5 radians (~28 degrees), with a more sensible angular
deflection derived from the provided linear deflection tolerance.

By adding the default heuristic to TopoShape, we can keep typical
tessellate() and STL export functionality users simple, and also avoid
the need to implement similar heuristics in many places. If more
explicit control over angular deflection is needed for some use cases,
then we could still choose to expose the option to override the derived
default explicitly.

The hope is that OCC's linear deflection enforcement will be more
reliable at some point, at which point this heuristic will no longer be
needed.
2020-06-23 12:17:51 +02:00
triplus
38ada85382 Icon themes Part viewproviders 2020-06-22 11:58:06 +02:00