Compare commits

...

4389 Commits

Author SHA1 Message Date
Adrián Insaurralde Avalos b9bfa5c550 Increment point release number in cmake and windows installer 2023-11-13 23:33:39 -03:00
Adrián Insaurralde Avalos e9b426d561 Fix windows uninstaller issue #10971 and #11232 2023-11-13 23:33:39 -03:00
wandererfan 36bde55f05 [TD]fix regression on Links with scale 2023-11-13 15:29:18 -05:00
0penBrain c6c35bd2d3 Fix #9465 - Coin version on Mac Conda builds causes transform crash
with this solution, we have traded a crash for a memory leak. so it is only activated for MAC OS where we have the crash, until we find a better solution.
2023-11-12 18:27:37 -03:00
Roy-043 930079cdcf Arch: Fix multiple issues with ImportOBJ.py
Fixes #6187.

Other fixes:
* Made handling of shapes and global placement more consistent.
* Shapes without curves were also triangulated.
* Polygonal faces could have flipped normals and duplicate points.
2023-11-12 19:20:31 +01:00
Roy-043 b8eb92fdc6 Arch: Read and write object.Label on Wavefront OBJ import and export
Fixes #5635.
Fixes #5636.
2023-11-12 19:18:27 +01:00
Adrián Insaurralde Avalos 9d03a07005 Fix 10545 by using position of array members 2023-11-11 15:12:17 -03:00
wandererfan 47d68ac6a2 [TD]fix selection highlighting from tree 2023-11-11 12:09:12 -03:00
wandererfan 58e3b7200d [TD]fix #10440 Balloon arrow end point 2023-11-11 11:47:44 -03:00
wandererfan 09fb4dba8f [TD]add support for view menu zoom 2023-11-11 11:45:24 -03:00
wandererfan a2a26839ff [TD]fix keyboard zoomIn/zoomOut for Touchpad mode 2023-11-11 11:41:47 -03:00
Syres916 ec5ed6baf1 [Gui] Fix color bar position and text (#10552)
* [Gui] Fix ColorBar position and labelling

* [Gui] Improve formatting

* [Gui] ColorBar adjusts if user squashes window height

* [Gui] Changes following feedback
2023-11-11 11:27:25 -03:00
wmayer 0c0c434575 Gui: filter warning about dead keys
Forum thread: https://forum.freecad.org/viewtopic.php?t=80981
2023-11-11 11:24:41 -03:00
Zheng, Lei f51f9e3c1f Gui: fix selection of nested object in App::Part 2023-11-11 11:15:18 -03:00
Victor Predko 2187c8dc56 Spreadsheet: export CSV file extension by default
Fixes #10829
2023-11-11 11:09:59 -03:00
Florian Foinant-Willig adc26e8031 TechDraw: Fix #10919 crash at geometry deletion 2023-11-11 11:08:16 -03:00
Roy-043 cbfb641436 Merge pull request #11295 from Roy-043/Draft-improved-props_changed_placement_only-function
Draft: improved props_changed_placement_only function
2023-11-11 15:05:35 +01:00
Roy-043 3771ccb75a Merge pull request #11280 from Roy-043/Arch-Fix-issue-with-getSceneGraph
Arch: Fix issue with getSceneGraph
2023-11-11 15:05:35 +01:00
Roy-043 52c82d163b Draft: renaming of anno style could fail
The error occurred if the style was in use.
2023-11-11 15:05:35 +01:00
Roy-043 b291ffc231 Draft: clone IfcType and Subvolume properties
Fixes #11186.
2023-11-11 15:05:35 +01:00
Roy-043 baf37cb1cc Arch: fix Placement multiplication for subvolumes
Fixes #11185.

Same problem as in #6617.
2023-11-11 15:05:35 +01:00
bdieterm cf9ed2b070 Part: allow reduction of Part ViewProvider tesselation resolution
Problem description
To display a shape, the ViewProvider creates a mesh of the shape data. The
resolution depends also on the two parameters "Angular Deflection" and
"Deviation" in the View properties. (The values of these parameters are also
updated for all objects when changing these settings in the Preferences
dialog).
Changing the parameters from a high value to a lower value has an immediate
effect on the displayed shape -- for example a circle will be displayed finer
with more line segments. But changing the parameter back to the higher value
(with less resolution) will keep the finer view-mesh instead of calculating a
coarser one. To get back to the coarse view, the object has to be manually
recomputed or the file re-opened.

Solution
I just set the meshing parameter AllowQualityDecrease to True. I guess that
this was not implemented before because this parameter is quite new (introduced
in OCC v7.5 in the year 2020).
2023-11-11 15:05:35 +01:00
Florian Foinant-Willig a9c9d8ba87 Part: fix crash with null face 2023-11-11 11:04:00 -03:00
Florian Foinant-Willig 198e7ef9b5 Fix #10910 2023-11-11 10:59:19 -03:00
wandererfan 9aebd3fe5a [TD]fix fail on unmeshed shape 2023-11-11 10:57:10 -03:00
0penBrain 1642ebbe58 [Bugfix]Gui: in draggers, remove/detach all callbacks + add checks and asserts, hopefully fixes #9465 2023-11-10 17:58:14 -03:00
xtemp09 c6091324f0 [GUI] Fix memory leak in ViewProviderPlane.cpp 2023-11-10 16:39:02 -03:00
Adrián Insaurralde Avalos fc8980aeb3 File formats: Uppercase file types when importing a file. (#10977)
* Added uppercase extensions for supported formats

In the file App\Application.cpp

* Added file types in upper case

* Adds uppercase file types to the file import filter.

Fixes #10879

* Added filter for *.fcmacro *.fcscript
2023-11-10 16:38:10 -03:00
Adrian Insaurralde Avalos 83c85c79c3 Migrate away from deprecated distutils python package where possible 2023-11-10 16:30:47 -03:00
Adrián Insaurralde Avalos e11d5dff7d Fem: Connect constraint temperature spinboxes to properties and task dialog rework - fixes #11109 2023-11-10 16:29:06 -03:00
Adrián Insaurralde Avalos 381a743295 Import: fixes #10983: Crash when trying to import a DXF file with Polosh letters in the name 2023-11-10 16:19:15 -03:00
pavltom bb88d3b5bb [TechDraw] - Fix issue #10094 2023-11-09 03:06:11 -03:00
Paddle f9950cb1db SplashScreen : Add "ShowSplasherMessages" parameter to disable labels from the splashscreen. 2023-11-09 03:04:54 -03:00
Adrián Insaurralde Avalos 76e1410f53 Gui: fixes issue #9422: Dependency Graph: export to .dot/.gv 2023-11-09 03:01:44 -03:00
didendron 7e0c640c1c Gui: Add cancel button to transform task UI dialog
Fixes #7517
2023-11-09 02:51:33 -03:00
wmayer 27ae66475d Part: fix crash in Geometry::Restore()
If a project contains an unknown geometry extension then the attempt to create it returns a null pointer which isn't checked and causes a segmentation fault.

See also forum: https://forum.freecad.org/viewtopic.php?t=81091
2023-11-09 01:56:26 -03:00
wmayer 4f0e0e6edc Part: fix encoding issue in BOPProgressIndicator::Show 2023-11-09 01:55:47 -03:00
wmayer 239f5a0d98 Gui: fixes #10724: TaskView gets truncated 2023-11-09 01:53:52 -03:00
wmayer ef6c15373e Gui: fix possible memory leak if inappropriate view provider is created
Example code:
doc = App.newDocument()
doc.addObject(type = "Part::Feature", viewType = "MeshGui::ViewProviderMesh")
2023-11-09 01:51:54 -03:00
wmayer fbe2fef66c App: fixes #10460: App::PropertyPythonObject is not saving data
Since Py3.11 the methods names __setstate__ and __getstate__ conflict with the method names added to the object class.
Thus rename them to 'loads' and 'dumps'
2023-11-09 01:45:32 -03:00
wmayer 844c20cfa8 Gui: fixes #10782: Unable to cancel Select module Open obj messagebox 2023-11-09 01:41:36 -03:00
wmayer 6841532641 Gui: Initial save of a document doesn't have the expected thumbnail
When saving the thumbnail there is a check if the 3D window is the active window. This check fails if a document is saved for the first time because
the appearing file dialog causes the 3D window to not be active any more. Thus, no snapshot of the 3D window will be created and the program logo will be
saved instead. A workaround is to save the document twice.

This PR removes the check for the active window so that the snapshot can be created. The issue might be related to #10937.
2023-11-09 01:39:01 -03:00
Adrián Insaurralde Avalos eb07bad7da Start: fixes #10221: /tmp/FreeCADStartThumbnails* directories are not removed when FreeCAD terminates
The commit adds some new functions:

* getThumbnailDir()
  Returns the path to the thumbnail directory which is a sub-directory of the Cache directory.
  There is no need to always create a unique directory after each restart because it doesn't harm
  if the thumbnail directoy contains deprecated files.

* createThumbnailDir()
  Creates the thumbnail directoy if it doesn't exist yet.

* getSha1Hash
  Helper function to compute a SHA-1 hash of a given path. If the same path is passed
  then the hash value will be the same.
  This way it can be avoided to create a different image file from a project file
  after each restart.

* getUniquePNG
  Computes the path of a PNG image file for a given project file. It's also possible
  to pass an arbitrary string as argument.

* useCachedPNG
  If the PNG image exists and if it's newer than the project file True is returned
  and False otherwise.

The changes in detail are:
1. For a given project file it is checked if the thumbnail directory already contains
   a cached image. If it's newer than the project file it will used, otherwise it will
   be re-created.

2. For the system icon to a given file format it is only checked if the icon already exists.
   If yes, it will be used.
2023-11-09 01:37:39 -03:00
Adrián Insaurralde Avalos 621aea2d10 [Start] Fix Python 3.11 Unicode Errors
Example Error :
  File "/home/john/freecad-daily-build/Mod/Start/StartPage/StartPage.py", line 422, in handle
    ALTCSS = f.read()
             ^^^^^^^^
  File "/usr/lib/python3.11/encodings/ascii.py", line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 421: ordinal not in range(128)

    main (FreeCAD/FreeCAD#10535)
2023-11-09 01:21:38 -03:00
wmayer 5f6a5bf6e4 App: the function findLicense() uses the '==' operator to compare two C strings.
This is wrong and leads to failures under Windows.
2023-11-09 01:08:47 -03:00
wmayer 419d53381b fixes #10063: Part_SectionCut does not work if the view is in perspective 2023-11-09 00:48:17 -03:00
wmayer 4f436f7c0c Gui: fix size policy of placement dialog 2023-11-09 00:40:08 -03:00
Adrian Insaurralde Avalos 26af24b711 AddonManager: handle the case of symlinked addon when uninstalling
see #11045
2023-11-09 00:39:23 -03:00
wmayer 916a1146b2 Gui: fixes #11045: Freecad fails to start after uninstalling disabled addon
The PR refactors FindPreferencePacksInPackage() and splits program logic from exception handling. It also handles std::exception to give more
information about a possible failure
2023-11-09 00:38:57 -03:00
wmayer bf765f88d2 Mesh: disable potentially unsafe code in Wm4 library 2023-11-09 00:37:55 -03:00
wmayer cc41382933 TD: fix QGIViewPart::highlightMoved 2023-11-09 00:37:40 -03:00
wmayer ddc2d98f2c TD: fix GeometryMatcher::compareBSplines 2023-11-09 00:37:01 -03:00
wmayer a82f870f6a PD: wrong direction determined for linear pattern
A selected edge of a sketch is not in local coordinates and thus its corresponding axis mustn't be multiplied with the sketch placement as
this will lead to a wrong direction vector.

Forum: https://forum.freecad.org/viewtopic.php?t=82022
2023-11-09 00:35:57 -03:00
Camille 06f62a710c Fix issue #10144 [Problem] FreeCAD freezes when clicking inside spreadsheet - see issue for detailed explanation. 2023-11-09 00:27:11 -03:00
wmayer 20dcef6af0 PD: fixes #11197: If bounding box of Body is activated it will be done for each sub-feature 2023-11-09 00:19:03 -03:00
wmayer dc12da981b Gui: issue #9205: Default settings make it hard to select objects in the 3D window
backported from PR #11187
2023-11-06 16:23:36 -03:00
wmayer f8069ede36 TD: fix possible crash in QGIWeldSymbol::customBoundingRect()
Forum thread: https://forum.freecad.org/viewtopic.php?t=80203
2023-10-22 20:38:40 +02:00
Connor Worrell 5a740cfe68 [GUI] QuantitySpinBox Regex Optimization #10067 Ammendum 2023-10-22 20:37:39 +02:00
Connor Worrell 76fd25f9de [GUI] QuantitySpinBox: Regex optimization. 2023-10-22 20:37:24 +02:00
Roy-043 35a59ac38c Draft: importSVG: handle viewBox in mm (PR10929 fix was not correct) (#11143) 2023-10-22 20:29:08 +02:00
Roy-043 5a4648e581 Draft: importDXF: fix off layer bug (#11090)
* Draft: importDXF fix off layer bug

Fixes #10254.

* Typo

* Typo 2
2023-10-19 18:03:37 +02:00
Roy-043 d0f3d63ef8 Draft: Import DXF: handle arc angles larger than 360 degrees
See #10985.
2023-10-19 18:01:22 +02:00
Roy-043 885343c435 Draft: Use DXF OCS when importing circles and arcs to Part shapes
See #10985.
2023-10-19 18:00:43 +02:00
Roy-043 ddd6f544e5 Arch: ArchFrame typos when checking enum values 2023-10-10 11:27:35 +02:00
Roy-043 a252d1571d Draft: importSVG: handle viewBox in mm
Forum topic:
https://forum.freecad.org/viewtopic.php?t=81696
2023-10-04 12:55:49 +02:00
Roy-043 12af1e764d Draft: get_movable_children: prevent endless loop
Forum topic:
https://forum.freecad.org/viewtopic.php?t=81547
2023-09-29 12:38:58 +02:00
Rexbas 83538ba3cd Gui: Improve accuracy for navigation cube's rotate to nearest feature
(cherry picked from commit c2bf9efc7d)
2023-09-25 12:04:20 +02:00
Rexbas 34e4bf9e44 Gui: Improve object center rotation mode
(cherry picked from commit fcbee3ad49)
2023-09-25 12:03:25 +02:00
wmayer 15def85b29 pre-commit: Avoid automatic commits for backport fixes 2023-09-24 16:02:22 -05:00
Roy-043 4d98082de0 Arch: avoid intersecting solids in windows and doors with openings
With the current code, if you place a simple door and change its Opening property to 50, the door leaf and the frame intersect. This PR fixes that issue.
2023-09-21 14:13:49 +02:00
Yorik van Havre 5b964fa338 Merge pull request #10711 from Roy-043/Arch-Fix-Arch_Fence-section-placement
Arch: Fix Arch_Fence section placement
2023-09-18 19:35:59 +02:00
Yorik van Havre 948ffd940e Merge pull request #10712 from Roy-043/Draft-shape2dview-avoid-issues-with-intersecting-solids
Draft: shape2dview: avoid issues with intersecting solids
2023-09-18 19:35:30 +02:00
Roy-043 b00fa5ea7f Draft: Fix for PR10673 (#10699)
Fixes an issue that was missed in #10673.
2023-09-16 17:19:19 +02:00
Roy-043 0570197f8e Draft: V0.21 version of getPlaneRotation caused a dimension bug (#10673)
`DraftVecUtils.getPlaneRotation` can now return None. The `view_dimension.py` code did not handle that.
2023-09-13 17:04:38 +02:00
Roy-043 083ebf2a0e Draft: importSVG.py: check and fix path faces
Fixes #10659.
2023-09-13 13:06:31 +02:00
wmayer cc93256813 Mesh: fixes issue #10075: 3MF files exported from FreeCAD don't work in PrusaSlicer
Add an option to force to always write a mesh as model type even if it's not a solid

This change is backported from master
2023-09-06 08:15:16 +02:00
wmayer 5ab2894828 Base: fixes #10462: mesh.unite() causes segementaion fault 2023-09-03 15:09:35 +02:00
Chris Hennes f6708547a9 CMake: Increment point release number 2023-08-30 21:32:05 -05:00
Roy-043 21824c7f60 Draft: importDWG.py wrongly assumed that opt directory always exists on Linux (#10447)
Forum topic:
https://forum.freecad.org/viewtopic.php?p=703063#p703061
2023-08-30 18:13:16 +02:00
sliptonic da2bc3ba8b fixes #10113
packaging.version.parse() will raise InvalidVersion in some cases but the error isn't caught.
2023-08-30 10:55:54 -05:00
David Kaufman cc31a0f6ae [Path] Make RampDressup accept other dressups as its base operation 2023-08-30 10:55:54 -05:00
Harald Hartmann 41790d996b add estlcam_post.py 2023-08-30 10:55:54 -05:00
Syres916 4fc6b3d830 [0.21] [Gui] Py311 Initialization of locales... (#3)
* [0.21] [MainGui] Py311add initialization of locales ...

... with native environment setting

* [0.21][Gui] use '%Y-%m-%d %H:%M:%S' as format string for date
2023-08-29 16:26:16 -05:00
bdieterm c64d89507d Core: escape filepath characters in FreeCAD.loadFile 2023-08-28 10:37:37 -05:00
wmayer 3c52ca8cc6 Part: fix possible crash in ViewProviderPartExt::getDetail 2023-08-25 19:11:36 +02:00
wmayer b53e11ad26 App: fix possible crash in ComplexGeoData::getSubElementByName 2023-08-25 19:10:27 +02:00
Roy-043 a7bf4f33f8 [TD]revert change to PdfVersion_A1b
Fixes #10283.
2023-08-21 20:19:18 +02:00
Chris Hennes 7878610a7d Merge pull request #10280 from Syres916/Backport_Sketcher_Profiles_Icon
[0.21][Sketcher] Fix minor icon missing bug...
2023-08-20 10:40:48 -05:00
Syres916 89c28543a2 [0.21][Sketcher] Fix minor icon missing bug...
...icon was moved to obsolete in 2020
Backport of https://github.com/FreeCAD/FreeCAD/commit/fec225ddccc911d3e8d921a26abde183c18bdb76
2023-08-20 11:34:46 +01:00
qewer33 b6c4b0b9fb Fix StartPage javascript error when switching tabs 2023-08-19 21:30:21 +02:00
Jonas Bähr 65ed955565 Fix build of "tests" on macOS
Building the C++ unit tests failed for
 tests/src/Mod/Sketcher/App/SketchObject.cpp
because some XML headers were not found. This was because the XercesC
include dir was not in the search list for headers.

Details:
> In file included from /Users/jonas/src/FreeCAD/FreeCAD-git/tests/src/Mod/Sketcher/App/SketchObject.cpp:7:
> In file included from /Users/jonas/src/FreeCAD/FreeCAD-git/src/App/Application.h:33:
> /Users/jonas/src/FreeCAD/FreeCAD-git/src/Base/Parameter.h:55:10: fatal error: 'xercesc/util/XercesDefs.hpp' file not found
> #include <xercesc/util/XercesDefs.hpp>
>          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This is the same issue as already adresses previously with PR9657 [1] but
the test for SketchObject was added later [2].

[1]: https://github.com/FreeCAD/FreeCAD/pull/9657
[2]: https://github.com/FreeCAD/FreeCAD/commit/532b391b6971c7ce1dee4bbe0e782ce070051db9
2023-08-13 08:17:26 -07:00
Jonas Bähr 561ae14204 minor reformat: break lines, one per item 2023-08-13 08:17:26 -07:00
Roy-043 bf645981dd Draft: make_sketch should not change Autoconstraints of sketch (#10181) 2023-08-13 11:37:18 +02:00
Roy-043 ab97f80507 Draft: Fix SVG "Edges not ordered" issue (#10116) 2023-08-13 11:36:18 +02:00
Chris Hennes 1294cb7ce5 Update translations 2023-08-08 18:55:57 -05:00
Syres916 0bb03bd219 [Import] Dxf Fix regression from https://github.com/FreeCAD/FreeCAD/commit/1f6fd1b
See discussion https://forum.freecad.org/viewtopic.php?t=80040&sid=9937b585c8681fe5a2d27f37dcd3f163
2023-08-04 14:52:05 +02:00
Adrián Insaurralde Avalos 41b058e208 Rename cmake flag for unit tests to ENABLE_DEVELOPER_TESTS
To differentiate from the previously existing BUILD_TEST that controls building the Test WB
2023-08-01 19:51:39 -05:00
Chris Hennes 97319cc665 Tools: commit the actual NSIS settings used for 0.21 2023-08-01 19:44:08 -05:00
Chris Hennes d89d0e26f7 Remove the 'dev' version indicator 2023-08-01 19:43:27 -05:00
Chris Hennes 148fae183c Update the README 2023-08-01 19:43:05 -05:00
Chris Hennes 463fb03ab6 Gui: Clarify message about FCbak 2023-08-01 23:59:16 +00:00
Yorik van Havre 27b446964a Merged crowdin translations 2023-08-01 12:52:38 +00:00
Paddle e5a00e153d Disable notification area by default for now because it's not polished enough for the 0.21 release. 2023-07-30 20:37:56 -05:00
Paddle 92b26354ba QMessage should not be used to notify that. Here we should use the requireRestart functionality. 2023-07-30 19:39:12 -05:00
Paddle 5cd6da6602 Fix bug: ui did not in initialize correctly when you start the pref page with area disabled, the other settings were not disabled as they are when you disable the area. 2023-07-30 19:38:58 -05:00
Paddle f86107758b Simplify code. Changes nothing. 2023-07-30 19:38:38 -05:00
grubertechnic 122c34e2cf [TechDraw] seam line in HLR default false 2023-07-30 12:48:30 -04:00
wandererfan 21e61995fd [TD]fix leader end symbol does not scale 2023-07-30 12:48:30 -04:00
wandererfan 20ee438746 [TD]fix text size & position on Svg export #9968 2023-07-30 12:48:30 -04:00
sliptonic 4c4792a053 Merge pull request #10002 from Ondsel-Development/move_open_recent
Move 'Recent Files' menu entry and rename it 'Open Recent'
2023-07-30 09:38:37 -05:00
sliptonic 9f10c2a3d6 Merge pull request #10016 from Ondsel-Development/thumbnail
[Pref] Change the default of 'Save thumbnail on doc save'
2023-07-30 09:22:17 -05:00
Paddle 00dcb12c0b Change the default of 'Save thumbnail on doc save' 2023-07-30 15:37:18 +02:00
Oliver Oxtoby ba5f7e6d75 Gui: Avoid segfault if window is not an MDIView
Fixes #10003. See also #9758.
2023-07-29 08:10:38 +02:00
Adrián Insaurralde Avalos 2a1d4d4994 fix use ccache by default on most systems 2023-07-27 08:31:04 -04:00
Paddle 618a91eef5 Move 'Recent Files' menu entry and rename it 'Open Recent' 2023-07-27 11:40:33 +02:00
Yorik van Havre 9f1e2c9f37 Merge pull request #9970 from bdieterm/patch-4
fix encoding on StartPage file information
2023-07-26 10:52:00 +02:00
wandererfan cd710bd48d [TD]remove unsupported file type from dialog 2023-07-25 17:02:07 -04:00
wandererfan 13d6615938 [TD]reduce number of tiles for svg hatching
- reduce the size of the overlay area from 200% to an
  adjustable size with a default of 125%.
2023-07-25 12:50:39 -04:00
luzpaz 6c72f80d55 Fix typos 2023-07-25 14:26:30 +02:00
wmayer e5b6690535 Gui: also print category string of Qt messages 2023-07-24 20:34:52 +00:00
wandererfan a3851d4701 [TD]fix handling of multiple pages 2023-07-24 13:47:08 -04:00
wandererfan be6484b150 [TD]use shared renderer for svg tiles 2023-07-24 11:49:14 -04:00
sliptonic 20768ba7f9 Merge pull request #9594 from wwmayer/issue_9549_new
Part: fixes #9549: Part Fuse not working inside Part container
2023-07-24 10:16:51 -05:00
Florian Foinant-Willig 761e807cd5 PartDesign: UpToFace check isnull
The next line crash if upToFace is null.
2023-07-24 14:40:15 +00:00
marioalexis 3d3b5b76f5 Base: Fix warnings -Wredundant-move 2023-07-24 14:39:21 +00:00
wmayer d7c90d3f77 PD: fix out of scope warnings of Clone feature
If the BaseFeature link of the Body of a Clone feature isn't set then do not update it.
Forum thread: https://forum.freecad.org/viewtopic.php?p=675644#p675644
2023-07-24 14:35:04 +00:00
Chris Hennes 6838740153 Update translations 2023-07-24 13:37:52 +00:00
wmayer 736248e408 Draft: add unit test for issue #9912 2023-07-24 13:55:28 +02:00
0penBrain 1580fe7c96 Spreadsheet: update and add tests 2023-07-23 22:11:08 -04:00
0penBrain ee3b777f62 Spreadsheet: fix string save/restore, fixes #6395 2023-07-23 22:11:08 -04:00
wandererfan 195520d4a3 [TD]fix face colour preference ignored 2023-07-23 19:14:06 -04:00
Zheng, Lei a5e350ad46 App: fix removing object while recomputing
Fixes #9912
2023-07-23 19:40:01 +00:00
0penBrain ca09364614 [Bugfix]Gui: detach field sensor of draggers and handle post-call of callbacks, fixes #9465 2023-07-23 19:38:56 +00:00
Chris Hennes 343df86194 App/Toponaming: Fix Python 3.11 compile issue
Need to ensure the Qt 'slots' macro is undefined by including FCConfig.h.
2023-07-23 19:38:20 +00:00
Ajinkya Dahale c3e395f963 [Core] Use FCBak extension with timestamp by default 2023-07-23 19:37:10 +00:00
0penBrain 566ae39519 [Bugfix]Base: fix implementation of isFile() so it is safe to use
Current implementation can freeze the app if called on specific files
2023-07-23 17:19:31 +00:00
bdieterm e992fe291b fix encoding on StartPage file information 2023-07-22 17:37:46 +02:00
Ajinkya Dahale 2167fb6f7e [Sketcher] [gtest] Add gtests for geoIdFromShapeType 2023-07-21 22:43:45 -05:00
Ajinkya Dahale 532b391b69 [Sketcher] [gtest] Add SketchObject test
Create a document and then add a `SketchObject` to it. Does not work without
creating document.

Also `FCConfig.h` is needed for `FC_OS_WIN32`.
2023-07-21 22:43:45 -05:00
Ajinkya Dahale b2840e7a5e [Sketcher] Create SketchObject::buildShape()
Needs changes in TopoShape and creation of ExternalGeometryFacade.

Also contains the squashed ticket:

[Sketcher] Hide unimplemented code

These will eventually be implemented in phase 3 of toponaming.

[Sketcher] Implement trivial `checkSubName` to appease Windows

[Sketcher] Modify `GeoEnum` usage
2023-07-21 22:43:45 -05:00
wandererfan 382832cde2 [TD]add missing command to menu
- 3 point angle was not in menu
- grouped menu items
2023-07-21 18:13:36 -04:00
Jolbas b1e521743b Save all decimals when property is edited 2023-07-20 12:56:21 -05:00
Roy-043 1d7e2c3de0 Draft: Auto workingplane ignored rotation around axis (#9955) 2023-07-20 18:46:10 +02:00
Jed Brown 9e18bd2d00 FEM: fix gmsh relative paths
Relative paths appearing in Gmsh .geo files are relative to the .geo
file, not relative to the cwd when the gmsh executable was invoked. This
is okay when using absolute paths with the default "Temporary
directories" mode, but if one selects (in Preferences -> FEM) "Beside
.FCStd file", then relative paths are written to the .geo file. This
causes a (suppressed in FreeCAD output) warning from Gmsh that the brep
file is missing as well as the error:

Unexpected error when creating mesh: File to load not existing or not readable: partname/FEMMeshGmsh/BaseFeature_Mesh.unv

In this commit we just use relative paths, which is also convenient if
users move these files elsewhere (e.g., to work directly with advanced
features in Gmsh).
2023-07-20 10:46:49 -05:00
Ajinkya Dahale 0e3dce286e [Core] Warn user if using deprecated backup extension 2023-07-20 10:25:34 -05:00
Adrián Insaurralde Avalos 0c8cc49344 Fix boost 1.78 workaround 2023-07-20 10:51:30 -04:00
Pascal de Bruijn 7eebf6d4ff TechDraw: fix black filled logo due to #9958 2023-07-20 10:01:29 -04:00
Pascal de Bruijn c410c483d1 TechDraw: fix FreeCAD logo path issue
In two templates the FreeCAD logo path had a deviation from the other
templates, which resulting in some erratic/weird behaviors presumably
due to some rounding errors on some zoom levels.
2023-07-20 10:01:29 -04:00
wmayer 141b2ecf0a Qt6: fix possible build failure with Qt 6.5
Forum thread: https://forum.freecad.org/viewtopic.php?p=692199#p692199
2023-07-20 08:58:56 -05:00
wmayer 713bc349a5 Qt6: fix possible build failure
* add CMake definitions 'QT_NO_KEYWORDS' to avoid the Qt definition of the 'slots' macro that causes a conflict when including Python headers
* drop QT3_SUPPORT define
2023-07-20 08:58:56 -05:00
wmayer 08e239e9f7 CMake: improve handling of shiboken/PySide
* fix syntax error with message()
* if shiboken/PySide cannot be found print a warning instead of fatal error. Especially for Qt6 builds a self-compiled shiboken6/PySide6 is required that isn't necessarily installed into the system directories so that the (system) Python interpreter may fail to find them
2023-07-20 08:58:56 -05:00
Robbe De Greef ae215724dd fix: Spreadsheet applies content/alias even when focus lost (#9836)
* fix: Spreadsheet applies alias even when focus lost

The original stylesheet behavior was that the alias or content fields
could be edited, but only after enter was pressed the field would
actually update. This change makes the field apply when focus is lost
on top of when enter is pressed. This makes it easier to enter the
alias of a lot of fields at once.
2023-07-19 09:15:54 -05:00
Pascal de Bruijn fdf2d79c4f TechDraw: scour (tidy) template SVGs 2023-07-19 09:21:37 -04:00
Pascal de Bruijn f661e8aa53 TechDraw: fix zh_CN template binding hole duplicate stroke 2023-07-19 09:21:37 -04:00
Pascal de Bruijn 70a47494c8 TechDraw: convert template FreeCAD logos to line art 2023-07-19 09:21:37 -04:00
Chris Hennes 21492b59a4 Merge pull request #9812 from 0penBrain/sketcherBackEdit
Sketcher: bugfixes and improvements in backside edit and section view
2023-07-18 14:24:50 -05:00
Adrián Insaurralde Avalos 1d7fb46f89 Add FREEECAD_USE_CCACHE cmake option
Defaults to ON except for conda compilation on windows
2023-07-18 11:46:04 -04:00
sliptonic 77805b5373 Merge pull request #9930 from jamwaffles/patch-1
Path: Fix undefined variable name in Command.py
2023-07-18 09:04:51 -05:00
sliptonic ffd664725a Merge pull request #9418 from jimzim111/path_maintainposition
PATH: Avoid unnecessary mid-Op tool movements to origin: don't add the end …
2023-07-18 09:02:15 -05:00
sliptonic 2707716152 Merge pull request #9935 from jamwaffles/patch-2
Path: Fix undefined method error in LeadInOut dressup
2023-07-18 08:54:23 -05:00
Roy-043 a04dfded14 Draft: Improve downgrading of PD bodies (#9934) 2023-07-18 10:46:10 +02:00
Roy-043 ba6a45d9db Draft: Fix get_diffuse_color function (#9932) 2023-07-18 10:45:38 +02:00
luzpaz 13f79ab6df Fix typos 2023-07-17 16:08:05 -05:00
Chris Hennes 64b4a5a490 App/Toponaming: Tweak ComplexGeoData destructor 2023-07-17 10:24:29 -05:00
Benjamin Bræstrup Sayoc 370e794d27 [Part] Make tooltip match label
Fixes issue #9941
2023-07-17 09:47:53 -04:00
Chris Hennes 0ad7e38675 Merge pull request #9939 from chennes/toponamingAddMissingFindTagInElementNameTest 2023-07-16 14:06:26 -05:00
Chris Hennes 2ad35ea03e App/Toponaming: Add tests for findTagInElementName
Also apply clang-tidy to that function, and fix an error with the postfix return.
2023-07-15 22:47:08 -05:00
Chris Hennes 15371a04f3 Merge pull request #9780 from chennes/toponamingComplexGeoDataDressing
Toponaming: ComplexGeoData dressing
2023-07-15 16:37:09 -05:00
James Waples 83ec49eb70 Path: Fix undefined method error in LeadInOut dressup
A regression from #9506 where `self.multiply` was removed but not all references to it were updated.

I'm not a Python guy but from what I can see the behaviour is the same - `offsetvector` is still an `App.Vector` which `self.multiply` used to use as well.

Tested with a project that previously didn't work, and now shows a nice `Arc`-type dressup in a circular pocket.
2023-07-15 14:04:30 +01:00
James Waples a56ed9175f Path: Fix undefined variable name in Command.py
This is a rename that got missed in #6637. I ran into this bug when trying to post a job using the `linuxcnc` post processor on a Windows 11 machine, running the weekly build titled `FreeCAD_weekly-builds-33576-2023-07-13-conda-Windows-x86_64-py310.7z`.
2023-07-15 14:03:26 +01:00
Chris Hennes 33600efe80 PD: prevent MSVC from defining min/max 2023-07-15 07:45:38 -05:00
luzpaz 525eacca39 Fix various typos 2023-07-15 11:17:45 +02:00
Chris Hennes e7f8f26bd5 App/Toponaming: Basic tests and linter issues 2023-07-14 23:03:18 -05:00
Chris Hennes 9ea7b6424b App/Toponaming: ComplexGeoData realthunder original
Minor modifications to make it compile with previous refactorings.
The only substantial change to the original is moving the
getElementHistory function from ComplexGeoData to MappedName so
that the dehash function can remain private.
2023-07-14 23:03:18 -05:00
Przemo Firszt e9b87b54fc [COPR] Add flatmesh to plugins 2023-07-14 22:24:07 +02:00
Chris Hennes aefb3584aa Merge pull request #9896 from bdieterm/patch-3
set toolbar icon size when starting FreeCAD GUI from Python
2023-07-14 13:08:24 -05:00
Chris Hennes a2d5e93e2c Merge pull request #9921 from wwmayer/test_for_pr_9905
Part: add a unit test for PR #9905
2023-07-14 13:07:14 -05:00
wmayer 3145dd7bbc Part: add a unit test for PR #9905 2023-07-14 11:29:20 -05:00
Chris Hennes 10e36fcec6 Merge pull request #9905 from Syres916/patch-85
[Part] Fix regression when opening...
2023-07-14 11:29:04 -05:00
wmayer 0c185ad611 Part: delete created document in unit test TopoShapeListTest.testMakeTopoShapeList 2023-07-14 11:04:23 +02:00
wandererfan 4d1fa6d07d [TD]fix lock in Rich Text Anno 2023-07-13 19:50:45 -04:00
Chris Hennes c7d28731bd Addon Manager: Fix #9828, hang on no internet 2023-07-13 14:15:29 -05:00
wandererfan f83a3fbb6a [TD]fix rich text font size in pdf 2023-07-13 14:28:29 -04:00
wmayer 4688582de3 Base: fix bug in CoordinateSystem::setYDirection 2023-07-13 15:12:09 +02:00
wmayer 8e6fbd2886 OpenSCAD: a test internally uses the DXF importer
If not all 3rd party packages are installed the DXF importer opens a modal dialog and blocks the tests
2023-07-12 21:44:27 -05:00
Syres916 d231a25da8 [Part] Fix regression when opening...
project files with linked objects having face colors.
See discussion https://forum.freecad.org/viewtopic.php?t=79558
Regression commit: https://github.com/FreeCAD/FreeCAD/commit/ce56d6516239c3f1636f97fed63879054759df0f
2023-07-11 00:20:27 +01:00
wandererfan 2559d7e7b6 [TD]allow delete of dependents on delete of parent
- deleting a dvp will now delete any hatches, dimensions or
  balloons belonging to it.
- deleting a dvp that is the base view for a section or detail
  is still blocked.
2023-07-10 17:05:57 -04:00
sliptonic 3fe9db304c Merge pull request #9884 from petterreinholdtsen/startpage-no-trailing-space
Removed trailing whitespace discovered by github linter.
2023-07-10 10:44:02 -05:00
sliptonic fecc5d954e Merge pull request #9797 from mosfet80/patch-5
clean FindCoin3DDoc.cmake
2023-07-10 09:59:09 -05:00
sliptonic 127afb981f Merge pull request #9773 from adrianinsaval/defaultEnableFlatMesh
cmake: enable BUILD_FLAT_MESH by default
2023-07-10 09:54:58 -05:00
Petter Reinholdtsen a480e5e225 Skip open_de9b3fb438 s390x to avoid OOM.
The load of the current file in test_open_head is fine, but
open_de9b3fb438 goes into an OOM even in huge (e.g. 10GB) systemd.
This probably needs a proper fix by upstream in regard to the migration
modules that load the old code, but until then (since the rest works on s390x)
this unblocks the package self-test in Debian & Ubuntu.

Patch by Christian Ehrhardt <christian.ehrhardt@canonical.com>.

This is Debian bug https://bugs.debian.org/984952 and Ubuntu bug
https://bugs.launchpad.net/ubuntu/+source/freecad/+bug/1918474.

Been part of the Debian edition of FreeCAD since 2021.
2023-07-10 09:53:20 -05:00
sliptonic e5427983cf Merge pull request #9691 from tomate44/blendiconrename
Surface: Fix Blend Curve icon name
2023-07-10 09:51:13 -05:00
sliptonic 7b75272a75 Merge pull request #9715 from MisterMakerNL/master
Updated stylesheets+preference packs.
2023-07-10 09:43:43 -05:00
Adrián Insaurralde Avalos 1c0351f8ae remove gitlab ci leftover files [skip-ci] 2023-07-10 09:42:44 -05:00
bdieterm bf025720ec fix function name in doxygen annotation 2023-07-10 09:23:59 -05:00
Petter Reinholdtsen 8fe64be7d1 Removed trailing whitespace discovered by github linter.
While working on https://github.com/FreeCAD/FreeCAD/pull/9880,
I discovered a lot of linter issues.  These fixes all of them.
2023-07-10 16:06:52 +02:00
Yorik van Havre 942b8139f7 Merge pull request #9835 from yorikvanhavre/arch-fix-h1
Arch: Fixed error on null window preset creation parameters
2023-07-10 10:52:41 +02:00
Chris Hennes 1a09b8602c Merge pull request #9901 from chennes/translations20230709
Apply translations
2023-07-09 19:45:35 -05:00
Chris Hennes 6f97b74fdb Apply translations 2023-07-09 18:09:53 -05:00
Chris Hennes 3a07cc0c6a Merge pull request #9880 from petterreinholdtsen/no-dial-home
Change Start page to no longer dial home by default.
2023-07-09 17:29:32 -05:00
Amritpal Singh 456a1ea179 Bug: Loaded Reinforcement WB translations along with Arch WB 2023-07-09 17:28:44 -05:00
Chris Hennes b529a0a67c FEM: Add missing translation string 2023-07-09 17:28:04 -05:00
Adrián Insaurralde Avalos c09ef943f7 Fix #9792: PD tasks fail to launch if body is inside Part and activated
introduced by PR #9557
2023-07-09 17:24:26 +02:00
bdieterm 3d179d27de set toolbar icon size when starting FreeCAD GUI from Python import 2023-07-08 22:45:38 +02:00
Roy-043 8d87eaac22 TechDraw: Fix typo in HoleShafFit tooltip 2023-07-08 11:34:12 -04:00
sliptonic d2b6af4b74 Merge pull request #9886 from petterreinholdtsen/path-command-lint-fixes-more
Get rid of more lintian complaints from github Python linter.
2023-07-08 08:26:40 -05:00
sliptonic 11d1c18e96 Merge pull request #9867 from petterreinholdtsen/path-no-g49-move
Avoid dangerous move without tool height compensation while it is supposed to be active
2023-07-08 08:24:31 -05:00
MisterMaker d3c0e58b73 Merge branch 'FreeCAD:master' into master 2023-07-08 13:08:25 +02:00
Petter Reinholdtsen 3d26609e6f Get rid of more lintian complaints from github Python linter.
While working on https://github.com/FreeCAD/FreeCAD/pull/9867 I noticed my patch
showed up with a lot of linting issues in code I did not touch, to a point
where the view was very cluttered by lintian issues.  Here is my second
try to reduce the number of issues discovered by the linter.  Some
issues are still left, as I fail to see how to sensibly reduce the number of
parameters or local variable used.
2023-07-08 10:48:50 +02:00
Petter Reinholdtsen 6e87253bc6 Avoid dagerous move without tool height compensation after setting first fixture
The issue only happen when splitting jobs on tools (orderby == Tool), and when
USE_TLO was active and the preamble include G49.  The first move is then done
before tool height is set, and can cause damage if the existing tool height is set
to more than the gap between the spindle and the table or work piece, when the machine
take a sudden dive straight down.

Removed move between G49 and first G43, to ensure all moves are done after G43
correctly set tool height compensation.

Rewrote code to introduce new method fixtureSetup() to ensure all orderby alternatives
behave the same way.

Fixes #9866.
2023-07-08 09:30:19 +02:00
Petter Reinholdtsen c5f885dfb9 Change Start page to no longer dial home by default.
When starting FreeCAD for the first time, it load the HTML content of
src/Mod/Start/StartPage/StartPage.html and show it as a friendly startup page.
Unfortunately, one of the tabs in the startup page is an iframe loading the content of
https://blog.freecadorg/.  The effect is that every time one start FreeCAD, it dial
home over the Internet with a HTTP request to the mentioned URL.  This is a privacy
problem.  At the moment the blog page in turn will connect to https//i0.wp.com/ and
https//s0.wp.com/, in effect also reporting the startup to Wordpress.  Please do not
dial out without the expressed approval and on request of the user of the program.

This patch change the startup page to instead of putting the blog posts in a tab, it
will link to the blog and the connection is only established when the user click on
'BLOG' in the start page.  It include a link tooltop to make it easier to understand
that this will bring the user to a new page.
2023-07-07 14:37:54 +02:00
Yorik van Havre 7fb1ca55eb Merge pull request #9868 from Syres916/patch-81
[Start] Fix Minor Regression on LoadCustom...
2023-07-07 13:40:57 +02:00
Syres916 37e6e7dbc5 Reduce the number of lines of code 2023-07-07 10:45:22 +01:00
Syres916 696208116b Reduce number of lines of code 2023-07-07 10:44:02 +01:00
wandererfan 6a0d3dedfb [TD]fix pathological centerline for points 2023-07-06 19:20:08 -04:00
sliptonic dbd4fbb460 Merge pull request #9882 from petterreinholdtsen/path-command-lint-fixes
Get rid of some lintian complaints from github Python linter.
2023-07-06 15:58:24 -05:00
wandererfan 584bd77c29 [TD]do not include cosmetics in extent dims 2023-07-06 16:02:28 -04:00
wandererfan 0cfb18f71b [TD]clarify tooltip 2023-07-06 16:02:28 -04:00
Haas 21d5b19fa4 cleaned the cfg files and changed selection color and background. 2023-07-06 21:25:59 +02:00
Petter Reinholdtsen e74450bfc5 Get rid of some lintian complaints from github Python linter.
While working on https://github.com/FreeCAD/FreeCAD/pull/9867 I noticed my patch
showed up with a lot of linting issues in code I did not touch, to a point
where the view was very cluttered by lintian issues.  Here is my
try to reduce the number of issues discovered by the linter.  Some
issues are left, as I fail to see how to sensibly reduce the number of
parameters or local variable used.
2023-07-06 18:18:11 +02:00
Chris Hennes 97771dc673 Update translations 2023-07-06 08:20:59 -05:00
Chris Hennes 20b31ed425 Merge pull request #9878 from petterreinholdtsen/debian-1160-python3-interpreter
Use python3 as the interpreter instead of python (ie v2) more places.
2023-07-06 08:20:13 -05:00
Chris Hennes 209237b8d0 Merge pull request #9849 from petterreinholdtsen/debian-1130-bug-993089-dxf-support-desktop-file
Add several supported MIME types to desktop file.
2023-07-06 08:18:30 -05:00
Petter Reinholdtsen 3a363b538f Use python3 as the interpreter instead of python (ie v2) more places.
This fixes lintian warning "unusual-interpreter".

Part of the Debian edition of FreeCAD since 2023.
2023-07-06 05:19:31 +02:00
Petter Reinholdtsen 40aeee9375 Add several supported MIME types to desktop file.
Patch from Tobias Frost <tobi@debian.org>.

Solves Debian bug <URL: https://bugs.debian.org/993089 >.

Been used in the Debian edition of FreeCAD since 2022.
2023-07-06 05:15:24 +02:00
Maximilian Behm 6e235a4809 Add dependencies qwebengine5-dev and qtwayland5 to Docker install script ubuntu.sh 2023-07-05 18:07:16 -04:00
Yorik van Havre b24a01bee8 Merge pull request #9873 from yorikvanhavre/draft-dxflib-fix
Draft: Bumped dxflib version
2023-07-05 09:17:26 +02:00
Yorik van Havre f6859cbaa4 Merge pull request #9856 from luzpaz/pre-release-typos
Fix various typos
2023-07-05 09:16:15 +02:00
Syres916 07e14ce468 Correct filename variable 2023-07-04 14:36:47 +01:00
Syres916 bc97b93905 Remove Duplicate line 2023-07-04 14:19:47 +01:00
Syres916 93ed55ee40 [Start] LoadMRU Update Conditionals 2023-07-04 14:17:44 +01:00
Syres916 f41b062467 [Start] LoadCustom update conditionals 2023-07-04 14:16:18 +01:00
Yorik van Havre 6b588a8ea6 Draft: Bumped dxflib version - fixes #9817 2023-07-04 14:06:18 +02:00
Yorik van Havre 9c55b0d8ec Update src/Mod/Arch/ArchWindowPresets.py
Use more elegant formatting
2023-07-04 13:49:28 +02:00
Haas 32518d8dc0 Set default shape color back to standard
was white
2023-07-03 19:06:43 +02:00
Syres916 793393cad3 [Start] Fix Minor Regression on LoadCustom
Handle image files using FreeCADGui but all other formats using FreeCAD
2023-07-03 15:47:48 +01:00
Petter Reinholdtsen 3cb5bdcbe4 Adjusted Appstream metadata component type and added launcable tag.
This fixes the following appstream warning and make program show up in the appstream
data set:

asv-desktop-app-launchable-missing

This `desktop-application` component is missing a `desktop-id`
launchable tag. This means that this application can not be launched
and has no association with its desktop-entry file. It also means no
icon data or category information from the desktop-entry file will
be available, which will result in this application being ignored
entirely.

Part of Debian FreeCAD edition since 2023.
2023-07-03 00:20:51 -04:00
wandererfan 6cb8851bf3 [TD]fix missing translations 2023-07-02 09:18:06 -04:00
Adrian Insaurralde Avalos 0ef101d817 Add cmake option FREECAD_USE_EXTERNAL_FMT to turn on/off system fmt use
defaults to ON
2023-07-02 01:38:26 -04:00
Abdullah Tahiri a19e2454be MainWindow: Fix for Automatic WB and edit mode WBs
==================================================

As described here:
https://forum.freecad.org/viewtopic.php?p=687188#p687188
2023-07-01 19:56:52 +02:00
Florian Foinant-Willig 1de0e96467 Sketcher: fix CircleToCircle distance constraint with external
Create c2c distance constraint with one external geometry raised a
malformed constraint error

+ clang format catch by precommit hook
2023-07-01 19:42:09 +02:00
Chris Hennes 3d0fe64c66 Merge pull request #9852 from petterreinholdtsen/debian-1160-python3-interpreter 2023-07-01 07:49:38 -05:00
Chris Hennes ef11ceedc0 Merge pull request #9857 from luzpaz/trailing-whitespace 2023-07-01 07:45:01 -05:00
luzpaz c5dc557579 Fix trailing whitespace
[skip ci]
2023-07-01 10:24:07 +00:00
luzpaz 19d0a11c40 Fix various typos 2023-07-01 10:08:21 +00:00
Petter Reinholdtsen 28ad96b87f Use python3 as the interpreter instead of python (ie v2)
This fixes lintian warning "unusual-interpreter".

Part of the Debian edition of FreeCAD since 2023.
2023-07-01 03:09:19 +02:00
sliptonic 3c7e350a17 Merge pull request #9832 from rmu75/master
Path: fix g-code orientation from Path.Op.Profile in case eff. offset is 0.0
2023-06-30 11:21:15 -05:00
sliptonic 1d02f976c3 Merge pull request #8892 from morganrallen/path_custom_source
Path: add File source to CustomOp
2023-06-30 11:09:12 -05:00
Morgan 'ARR!' Allen bc5755faae Merge pull request #1 from Ondsel-Development/8892fixes
fix bugs
2023-06-30 08:22:56 -07:00
sliptonic 9926e17928 fix bugs
handles malformed gcode commands
Adds properties to existing custom ops
2023-06-30 10:06:18 -05:00
mosfet80 d1130c3120 check correct Eigen3 required version
https://wiki.freecad.org/Third_Party_Libraries say minimum eigen3 are v3.0
2023-06-30 10:14:38 -04:00
mosfet80 af2253f16e Merge branch 'FreeCAD:master' into patch-5 2023-06-30 08:04:30 +02:00
Morgan 'ARR\!' Allen b407a1a36e Migrate to using opPropertyEnumerations to set defaults
This feels a bit heavy but I still feel like it's helpful to inform
the path forward to consolidate these default properties.
2023-06-29 23:01:57 -07:00
Morgan 'ARR\!' Allen 03e1b0e58a Merge branch 'master' of https://github.com/FreeCAD/FreeCAD into path_custom_source 2023-06-29 22:30:02 -07:00
wandererfan 35cedd6270 [TD]fix missing section svg hatch in pdf 2023-06-29 19:50:27 -04:00
Abdullah Tahiri 7633b3ce93 Unused variable 2023-06-29 23:42:28 +02:00
wmayer f44fa7a835 Part: fixes #5967: Weird behavior in Placement dialog when using "center of mass" with Datum Plane 2023-06-29 22:49:39 +02:00
Chris Hennes 8b89dd29d2 Merge pull request #9833 from adrianinsaval/libpackHint 2023-06-28 09:47:14 -05:00
Yorik van Havre 62cae40cb4 Merge pull request #9838 from Pesc0/addtocontributors
Add Pesc0 to contributors
2023-06-28 16:11:09 +02:00
Pesc0 45141df33e Add Pesc0 to contributors 2023-06-28 16:01:46 +02:00
Robert Schöftner 4f20e7013e Merge branch 'master' into master 2023-06-28 11:25:52 +02:00
Robert Schöftner c3b5dd60d0 Hopefully more stable test pattern / path 2023-06-28 11:16:24 +02:00
Yorik van Havre 9f37cf36f9 Arch: Fixed error on null window preset creation parameters - fixes yorikvanhavre/BIM_Workbench#116 2023-06-28 11:04:57 +02:00
Yorik van Havre 095ad1ff4a Merge pull request #9830 from Roy-043/Draft-Add-macOS-paths-to-importDWG.py
Draft: Add macOS paths to importDWG.py
2023-06-28 10:37:25 +02:00
Adrián Insaurralde Avalos 0bd56851ac update libpack download hint [skip ci] 2023-06-27 13:49:16 -04:00
Morgan 'ARR\!' Allen db06472df9 Merge branch 'master' of https://github.com/FreeCAD/FreeCAD into path_custom_source 2023-06-27 09:02:01 -07:00
Morgan 'ARR\!' Allen 55167ef92c Merge branch 'master' into path_custom_source 2023-06-27 08:58:27 -07:00
Robert Schöftner 2a1fc03f82 Path: fix g-code orientation Path.Op.Profile in case effective offset is 0.0 2023-06-27 17:15:04 +02:00
Roy-043 f20ea86d13 Draft: Add macOS paths to importDWG.py 2023-06-27 11:16:02 +02:00
Roy-043 28f8abd300 Arch: Fix encoding error (caused by #9316) (#9827) 2023-06-27 11:10:31 +02:00
Chris Hennes 86d77c2814 Merge pull request #9786 from yorikvanhavre/translations
Translations
2023-06-26 20:53:55 -05:00
wandererfan 3177d23d10 [TD]add ANSI large format templates 2023-06-26 14:02:08 -04:00
luzpaz 090ae4571a Gui: Action.cpp minor code formatting tweak
Utilize the `+=` assignment operator for readability
2023-06-25 19:43:42 -04:00
Adrián Insaurralde Avalos f25e765aa1 [skip-ci] Fix #9775 - incorrect pref. path on hint 2023-06-25 14:54:03 -04:00
luzpaz a3d445e1c9 Path: fix typo in source comments
[skip ci]
2023-06-24 23:49:04 -04:00
luzpaz 1ba3c12472 Part: fix source comment typo
[skip ci]
2023-06-24 23:48:42 -04:00
wandererfan 62a681db8e [TD]fix lost parent on undo 2023-06-24 19:21:25 -04:00
0penBrain 6e6f4bb1eb Sketcher: improve Z layering in edit mode
Especially when using cross section there was cases where sketcher elements ...
 ... wasn't guaranteed to be visible because hidden by other objects
2023-06-24 10:17:47 +02:00
0penBrain 1e130fa9c3 [Bugfix]Sketcher: fix vertex selection from backside not working anymore
Regression introduced with a6adfc58
2023-06-24 10:05:45 +02:00
0penBrain 03a8954f6b [Bugfix]Sketcher: fix cross section side switch not working except for XY plane 2023-06-24 09:45:09 +02:00
Jed Brown d5292d7b0a FEM: let gmsh infer format from file name
I sometimes use the FEM workbench to create meshes for a problem that
I'll solve with an external FE solver that doesn't yet have workbench
integration, or to prepare a Gmsh file for tweaks from directly running
Gmsh. The .unv format is pretty limited on technical grounds so I rename
the file to .msh (can express everything Gmsh can) or a
parallel-friendly format. Explicitly setting Mesh.Format = 2 is
confusing because this line also needs to be fixed (or deleted) when
renaming the output file name.
2023-06-23 21:35:36 +02:00
grubertechnic 45c009dff7 small gmsh panel tweak (#9569)
Co-authored-by: WandererFan <WandererFan@gmail.com>
2023-06-23 21:33:14 +02:00
mosfet80 0ff5cfe0dd Update microsoft / setup-msbuild into sub_buildWindows.yml
microsoft/setup-msbuild from 1.1 to 1.3
2023-06-23 11:49:42 -04:00
sliptonic 976ecb3754 Merge pull request #9769 from sliptonic/heidenhain
fix submitted by Zibibbo84 for proxy error
2023-06-21 07:38:29 -05:00
sliptonic 0d1e64e74a Update src/Mod/Path/Path/Post/scripts/heidenhain_post.py
Co-authored-by: Benjamin Bræstrup Sayoc <benj5378@outlook.com>
2023-06-20 11:46:08 -05:00
Chris Hennes a76105c3d9 Merge pull request #9794 from chennes/licenseCompliance
FEM: Remove improperly licensed files
2023-06-19 19:13:02 -05:00
Chris Hennes d2ee5e3525 FEM: Update license on box.FCStd, per forums discussion 2023-06-19 17:49:24 -05:00
Chris Hennes bdc0077497 FEM: Remove improperly licensed files
The original authors of these files could not be contacted to correct the licensing mistake in the FCStd files, so the test cases are removed.
2023-06-19 17:47:22 -05:00
Chris Hennes a1b44aded1 Merge pull request #9799 from chennes/startFixFrameborder
Start: Remove frameborder attribute from iframe
2023-06-19 17:46:10 -05:00
Chris Hennes cdde1506f8 Start: Remove frameborder attribute from iframe
This attribute is obsolete. CSS should be usesd instead.
2023-06-19 17:10:51 -05:00
mosfet80 c82a0f79c7 clean FindCoin3DDoc.cmake
clean FindCoin3DDoc.cmake
2023-06-20 00:00:58 +02:00
sliptonic 94e787699f Merge pull request #9534 from Ondsel-Development/fix_wb_index_issue
Core: rework WorkbenchGroup & WorkbenchComboBox
2023-06-19 10:27:40 -05:00
Yorik van Havre 16bed237bb Merge pull request #9781 from chennes/splashscreen
GUI: Update Splashscreen for 0.21
2023-06-19 17:12:05 +02:00
sliptonic 0f3ea60ba8 Update src/Mod/Path/Path/Post/scripts/heidenhain_post.py
Co-authored-by: Benjamin Bræstrup Sayoc <benj5378@outlook.com>
2023-06-19 09:09:38 -05:00
sliptonic 8e580e53ef Update src/Mod/Path/Path/Post/scripts/heidenhain_post.py
Co-authored-by: Benjamin Bræstrup Sayoc <benj5378@outlook.com>
2023-06-19 09:09:38 -05:00
sliptonic 97f4681c50 fix submitted by Zibibbo84 2023-06-19 09:09:38 -05:00
Yorik van Havre 2e0e4d722c Merge pull request #9765 from yorikvanhavre/arch-remove-undefined-type
Arch remove undefined type
2023-06-19 10:47:10 +02:00
Yorik van Havre f55c4e53f5 Merge pull request #9738 from yorikvanhavre/arch-nativeifc-provisions
Arch nativeifc provisions
2023-06-19 10:46:51 +02:00
Yorik van Havre 04594ee09e Merge pull request #9777 from Pesc0/addfcblog
Added freecad blog tab to start page
2023-06-19 10:45:53 +02:00
wandererfan fe39810d89 [TD]warn on skewed ComplexSection profile 2023-06-18 19:02:18 -04:00
Tobias Falk 127404d793 Update printAllPDF to print a PDF that complies with PDF/A-1b
More details can be found under: https://www.kdab.com/creating-pdfa-documents-qt/
2023-06-17 10:17:42 -04:00
Haas 00b00a40c0 forgot to rename the cfg files 2023-06-17 08:46:25 +02:00
MisterMaker 2d037d703a Merge branch 'master' into master 2023-06-16 21:51:25 +02:00
Chris Hennes 4b60663ee5 Merge pull request #9785 from chennes/cleanupToponaming9175
App/Toponaming: Compilation cleanup after #9175
2023-06-16 10:10:06 -05:00
Yorik van Havre 0977aac30d merged crowdin translations 2023-06-16 16:42:32 +02:00
Yorik van Havre 2edae8a0ff Updated ts files 2023-06-16 16:37:13 +02:00
Chris Hennes 5c17ecff3f Merge pull request #9783 from Jolbas/patch-4
Navicube: Fix rotation direction on north and south buttons
2023-06-16 09:19:23 -05:00
Chris Hennes 318bc35998 App/Toponaming: Compilation cleanup after #9175
Also fixes some trailing whitespace issues
2023-06-16 09:14:57 -05:00
Jolbas 832b1919ba Navicube: Fix rotation direction north and south buttons 2023-06-16 07:16:39 +02:00
Chris Hennes b472f08f7c Gui: Update splash version position 2023-06-15 13:12:00 -05:00
Chris Hennes 10b4ab204a GUI: Update Splashscreen 2023-06-15 09:57:27 -05:00
Pesc0 4a8d3853ba [Toponaming] create ElementMap class (#9175)
* Copypaste ElementMap
* Add MappedNameRef
* Fix missing include
* Copypaste `findTagInElementName`
* fix error introduced _somewhere_
* refactor toponaming constants
* Move `findTagInElementName` in `MappedName`
* reintroduce workaround to compile ElementMap
* Added missing functions copied from complexgeodata
* fix last compile errors, reorder and format files
* remove recursive refs to ComplexGeoData
* Add more comments
* fixed comments and added tests
* added FIXME, make functions private, misc fixes
* Move static functions from complexGeoData to PostfixStringReferences. Rename to ElementNamingUtils
* Fix broken includes due to previous change
* Revert constants from string to const char*
* added childmap tests and made hasher public
* Make functions private
* Added remaining tests
* removed bool return from `erase` functions
* fix missing appexport

Co-authored-by: John Dupuy <jdupuy98@gmail.com>
2023-06-15 09:05:24 -05:00
Pesc0 9618ce8a9f Added freecad blog tab to start page 2023-06-15 13:58:27 +02:00
Adrián Insaurralde Avalos 32d8029780 Update .gitignore files (vscode + conda integration) [skip-ci] 2023-06-15 00:35:10 -04:00
Adrián Insaurralde Avalos 93f9a34b40 cmake: enable BUILD_FLAT_MESH by default 2023-06-14 12:07:06 -04:00
Yorik van Havre de5e8e1af4 Merge pull request #9712 from Syres916/patch-80
[Import] DXF make codepage case insensitive
2023-06-14 13:24:39 +02:00
Adrián Insaurralde Avalos b2520d489a PartDesign: clean redundant/incorrect length validation for pad & pocket
better validation is  already done for both at FeatureExtrude::generatePrism instead
2023-06-13 22:53:32 -04:00
Haas 04d03e2fde Merge branch 'master' of https://github.com/MisterMakerNL/FreeCAD_MisterMaker 2023-06-13 17:57:34 +02:00
MisterMaker 8c46fb8966 Merge branch 'master' into master 2023-06-13 17:55:40 +02:00
Haas 25720f287d fixed typo 2023-06-13 17:54:38 +02:00
Yorik van Havre f7771f664f Arch: Fixed unit test that depended on user preferences 2023-06-13 14:03:47 +02:00
Yorik van Havre 599b24994d Arch: Removed Undefined IFC type - fixes #8774 2023-06-13 14:03:11 +02:00
Yorik van Havre aed5db5f10 Draft: allow autogroup to add an object to both a layer and an Arch/NativeIFC container 2023-06-13 12:24:14 +02:00
Chris Hennes e724d3e93c Merge pull request #9763 from yorikvanhavre/translations
Translations
2023-06-12 15:39:04 -05:00
Yorik van Havre 23491db16b Merged crowdin translations 2023-06-12 22:34:22 +02:00
Yorik van Havre 62434ea85b Updated ts files 2023-06-12 22:27:56 +02:00
Chris Hennes 59abe48dc7 Merge pull request #9752 from Roy-043/Sketcher-Minor-improvements-for-some-GUI-texts
Sketcher: Minor improvements for some GUI texts
2023-06-12 15:20:18 -05:00
Chris Hennes f733aeeb9b Merge pull request #9561 from luzpaz/FEM_ClippingPlaneAdd-fix
Fix FEM_ClippingPlaneAdd.svg (#9550)
2023-06-12 15:19:29 -05:00
Syres916 ca4bc401f7 Merge branch 'master' into patch-80 2023-06-12 14:24:58 +01:00
Yorik van Havre 85f900d7d0 Merge pull request #9749 from marioalexis84/arch-import_webgl
Arch: Improve performance of WebGL importer
2023-06-12 15:10:51 +02:00
Yorik van Havre 1f6fd1bffc Merge pull request #9761 from kpemartin/Issue8968
Handle long text/mtext on DXF import
2023-06-12 15:00:48 +02:00
Abdullah Tahiri d7aa7bcb85 Sketcher: unused variable fixes 2023-06-11 20:32:39 +02:00
Kevin Martin d8e7340c15 Handle long text/mtext on DXF import
This had previously been corrected using similar code but merging another
fix lost part of the original change for this issue.
2023-06-11 13:44:08 -04:00
Abdullah Tahiri dc7b3bfd66 Sketcher: Expose constraint redundancy information to Python 2023-06-11 18:37:38 +02:00
MisterMaker 2138a69fbf Merge branch 'master' into master 2023-06-11 15:56:15 +02:00
Chris Hennes b6e0cfc52b Merge pull request #9638 from FreeCAD/dependabot/pip/requests-2.31.0 2023-06-10 23:05:04 -05:00
wandererfan e226e78a67 [TD]fix nonstandard representation 2023-06-10 15:33:05 -04:00
Roy-043 faf2142c7a Update CommandCreateGeo.cpp
Additional change: "via" -> "by"
2023-06-10 18:46:37 +02:00
Roy-043 469aae0af5 Sketcher: Minor improvements for some GUI texts
Menu texts for new B-spline tools were inconistent. See https://forum.freecad.org/viewtopic.php?t=78808
2023-06-10 18:39:32 +02:00
marioalexis 2a085e6414 Arch: Improve performance of WebGL importer 2023-06-09 00:53:05 -03:00
MisterMaker 8caef151d8 Merge branch 'master' into master 2023-06-08 20:57:33 +02:00
Haas d5709f2202 Merge branch 'master' of https://github.com/MisterMakerNL/FreeCAD_MisterMaker 2023-06-08 20:56:04 +02:00
Haas 67550cd1aa removed trailing white sapces. 2023-06-08 20:55:56 +02:00
Jolbas 14dd2c60ec Navicube OffsetX and OffsetY fix
The navigation cube didn't load parameters OffsetX and OffsetY on creation of a new 3D view. See https://forum.freecad.org/viewtopic.php?p=686678#p686678
2023-06-08 14:08:25 -04:00
MisterMaker 3d434f688e Merge branch 'master' into master 2023-06-08 19:48:50 +02:00
Haas 9be0f548bb changed names!
Classic to classic theme
Also added some extra tags.
2023-06-08 19:44:58 +02:00
wandererfan f3c44024aa [TD]fix select vertex behind highlight 2023-06-08 13:15:20 -04:00
dependabot[bot] 0f9cda59af Bump requests from 2.28.2 to 2.31.0
Bumps [requests](https://github.com/psf/requests) from 2.28.2 to 2.31.0.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.28.2...v2.31.0)

---
updated-dependencies:
- dependency-name: requests
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-08 14:58:21 +00:00
Jonas Bähr b1782ee3d6 Fix build of "tests" on macOS
Building the C++ unit tests failed for
 tests/src/App/Metadata.cpp
 tests/src/Base/Reader.cpp
because some XML headers were not found. This was because the XercesC
include dir was not in the search list for headers.
I cannot say why only macOS seems to be affected, but it's not the first
time, see e.g https://github.com/FreeCAD/FreeCAD/commit/a1776d3e744075e54cf95c68a9264fa0d937cc2d
2023-06-08 10:57:13 -04:00
Chris Hennes 16b06993e2 Merge pull request #9742 from adrianinsaval/sketcher-toolbar-case
[Sketcher] Fix incorrect toolbar name uppercase
2023-06-07 17:44:41 -05:00
Adrián Insaurralde Avalos 675bea4ffb [Sketcher] Fix incorrect toolbar name uppercase 2023-06-07 16:48:57 -04:00
Roy-043 a723a95aa8 Sketcher: Minor improvements to some GUI texts 2023-06-07 19:51:19 +02:00
wandererfan ef07c3005e [TD]use vp Property for arrow size 2023-06-07 12:38:26 -04:00
grubertechnic 46882287f2 [TechDraw] let arrow size of a dimension change due property task panel 2023-06-07 12:38:26 -04:00
Roy-043 bf8c59ba2a Core: fix navigation cube BaseColor pref tooltip 2023-06-07 08:37:07 -04:00
Yorik van Havre acb05aad15 Draft: Provision for NativeIFC autogrouping 2023-06-07 13:02:49 +02:00
Yorik van Havre cee922bbbd Arch: Export structural nodes to IFC 2023-06-07 10:54:05 +02:00
Yorik van Havre e9936ead80 Arch: Cleaned NativeIFC placeholders code 2023-06-07 10:53:40 +02:00
Jolbas caac68472b Improved font handling Navigation cube
Also adding anisotropy texture mapping for better readability on steep angles.
2023-06-06 22:59:20 -04:00
Haas 3175cce339 Merge branch 'master' of https://github.com/MisterMakerNL/FreeCAD_MisterMaker 2023-06-06 20:08:03 +02:00
Haas a4232ad557 Delete CMakePresets.json
annoying it slipped in
2023-06-06 20:07:58 +02:00
MisterMaker 6931b47167 Delete CMakePresets.json
So annoying this slipped in.
2023-06-06 20:07:03 +02:00
MisterMaker c416d2f463 Merge branch 'master' into master 2023-06-06 19:49:54 +02:00
Haas 2e02bc4a47 removed png files changed the background of Qtableview and Qlistview.
removed png files changed the background of Qtableview and Qlistview.
2023-06-06 19:33:54 +02:00
Chris Hennes e5f6a4edf3 Merge pull request #9736 from chennes/archFixTypo
Arch: Fix typo in UI string
2023-06-06 12:05:55 -05:00
Chris Hennes 1b23635175 Merge pull request #9735 from chennes/femTranslateElectromagneticConstraints
FEM: Add translation for Electromagnetic Constraints
2023-06-06 12:05:32 -05:00
Chris Hennes 8c5c092905 Arch: Fix typo in UI string 2023-06-06 11:36:13 -05:00
Chris Hennes 291b0f3aa6 FEM: Add translation for Electromagnetic Constraints 2023-06-06 11:31:12 -05:00
Chris Hennes 41cc75a410 Merge pull request #9733 from chennes/raytracingBuildOption
CMake: Remove last vestige of raytracing
2023-06-06 10:58:36 -05:00
Chris Hennes 4115613770 Sketcher: Add missing translations 2023-06-06 15:35:12 +02:00
Chris Hennes 67638c3701 CMake: Remove last vestige of raytracing 2023-06-06 07:37:15 -05:00
Haas cd9913502f forgot the modern light 2023-06-05 21:01:39 +02:00
Haas 9960d8024e Update .gitignore 2023-06-05 20:48:32 +02:00
Haas fc1f101882 Removed Freecad and colors from the classic theme.
Otherwise if you keep naming the same you'll get "Freecad Dark colors" and "Freecad light colors" now it is:
Dark
Light
Classic
2023-06-05 20:14:25 +02:00
Haas 88850f9da8 Having a fight with Gitignore. Added CMakePresets.json
CMakePresets.json is used by microsoft visual studio code for storing settings.
2023-06-05 20:03:40 +02:00
Haas ec903e57b0 Create .gitignore 2023-06-05 19:57:36 +02:00
MisterMaker 4d0b3c98cb Merge branch 'master' into master 2023-06-05 13:26:34 +02:00
Roy-043 d8150a9cd9 Draft: fix near snap for meshes (#9719) 2023-06-05 09:58:50 +02:00
MisterMaker 1ca231928c shouldn't be in here. 2023-06-05 09:24:40 +02:00
MisterMaker 61024a4583 Merge branch 'master' into master 2023-06-05 09:23:54 +02:00
Haas 2b31c5d016 tabs 2023-06-05 09:22:55 +02:00
Haas 9472bd2212 updated CmakeLists 2023-06-05 09:22:39 +02:00
Chris Hennes b508ef8c16 Merge pull request #9727 from chennes/UpdateTranslations20230604
Sync translations
2023-06-04 11:38:17 -08:00
Chris Hennes e405a0570a Sync translations 2023-06-04 14:11:21 -05:00
sliptonic eacb389a0b Merge pull request #9697 from Ondsel-Development/tree-headers
Core: Tree : Remove useless root item and hide description by default.
2023-06-04 12:00:35 -05:00
Chris Hennes 703e6edc25 TechDraw: Translate some window titles 2023-06-04 09:59:53 -04:00
Chris Hennes ce62e3d7ea TechDraw: Translate Stacking 2023-06-04 09:58:35 -04:00
Haas 95deb1a1b3 Merge branch 'master' of https://github.com/MisterMakerNL/FreeCAD_MisterMaker 2023-06-03 22:50:13 +02:00
Haas 20fd162828 some fixes 2023-06-03 22:47:40 +02:00
MisterMaker 1f305dc3cb Merge branch 'master' into master 2023-06-03 12:17:50 +02:00
Haas b3acd29259 added modern light 2023-06-03 11:56:51 +02:00
Haas c285fa5a85 spelling mistake also added more stylesheets and 2 preference packs 2023-06-03 11:18:28 +02:00
Roy-043 f0560ac207 Draft: Add TextSpacing to Draft_AnnotationStyleEditor (#9702)
Also reordered the dialog a little.
2023-06-03 10:54:49 +02:00
Chris Hennes cbf5470714 Merge pull request #9717 from chennes/pathFixCompilation
Path: Remove DefaultExtentsColor
2023-06-02 19:43:18 -08:00
Chris Hennes c9655d6441 Path: Remove DefaultExtentsColor 2023-06-02 19:19:09 -08:00
Haas a9bccca750 updated theme's
Added a bunch of extra icons and cleaned up the theme's. Lot of optimization minimize screen usage.
2023-06-02 23:29:43 +02:00
sliptonic 8b4a179a6e Merge pull request #9677 from chennes/pathTranslations20230526
Path: Minor translation fixes
2023-06-02 15:18:35 -05:00
Syres916 5d9273628e [Import] DXF make codepage case insensitive
See discussion https://forum.freecad.org/viewtopic.php?t=78719

I don't believe https://github.com/FreeCAD/FreeCAD/issues/8704 is fixed even after this change, the example file Encoding-error.dxf which can be opened by Varicad Viewer still opens error free but has nothing in the 3D view.
2023-06-02 11:43:16 +01:00
Paddle 9a39b6c185 Add 'Tree settings' menu to the tree contextual menu. Also adds 'Show description column' setting in it. 2023-06-02 10:52:29 +02:00
Paddle 020cd97206 Core: Tree: Change the default of the preference to hide the seldomly used 'Description' colum.
On top of that the headers are now hidden if the description column is hidden.
2023-06-02 10:52:29 +02:00
Paddle eeb02d4db1 Core: Tree: Remove useless "Application" root item. 2023-06-02 10:52:28 +02:00
mosfet80 4ecb622fed Update environment.devenv.yml 2023-06-01 23:37:59 -04:00
Andrew 2975d20eb4 fix library vulnerability (do not merge)
fix CVE-2023-0465
Update ssl environment.devenv.yml

fix:
CVE-2023-0465 Invalid certificate policies in leaf certificates are silently ignored [Low severity] 23 March 2023
CVE-2023-1255 Input buffer over-read in AES-XTS implementation on 64 bit ARM
CVE-2023-0466 Certificate policy check not enabled [Low severity] 
CVE-2023-0464 Excessive Resource Usage Verifying X.509 Policy Constraints [Low severity] 21 March 2023
wait ssl update version
2023-06-01 23:37:59 -04:00
Abdullah Tahiri ec2f74a535 Gui: Command execution output for Developer only
================================================

Problem:
Command execution templates currently are send to Console() error,
which sends messages to both developers and users.

A user sees an error message (for example in the notifications area)
which is just the Python command that FreeCAD executed due to user's
input. This annoys users who do not understand Python and it is not
informative for them.

It is however informative for a developer, who can associate which
command produced which error/exception.

Solution:
To make these messages intended for the Developer only. So that regular
users are not annoyed.

Of course, Developers and power users can always select in preferences,
under Notification Area to be shown debug errors and warnings. In which
case nothing really changes.
2023-06-01 19:25:00 +02:00
Abdullah Tahiri 1307f708c7 Interpreter: Fix lack of notifier in DeveloperError call 2023-06-01 19:25:00 +02:00
Abdullah Tahiri dc08aa8e0f Console: Ensure macros have a notifier string 2023-06-01 19:25:00 +02:00
wmayer a3c4f4bb01 PD: fixes #9538: sometimes can't deselect things in newly created sketches 2023-05-31 21:25:08 -04:00
Jolbas 3b92ebea3a Fix clipping near camera in orthogonal view
Fix #6836
2023-05-31 20:10:28 -04:00
Connor Worrell b75336dad0 [Base] US Building Schema correct sign on fraction 2023-05-31 19:53:49 -04:00
Connor Worrell f552b72539 [App] Expression parser allow multi unit inputs (2'2") 2023-05-31 19:49:28 -04:00
Haas f7d2c43183 update ignore 2023-05-31 22:12:01 +02:00
Roy-043 8a3c8258df Arch: Arch_Reference: task panel layout was added incorrectly (#9700) 2023-05-31 09:27:17 +02:00
wandererfan 568f25ba34 [TD]remove html escape sequences from tooltip 2023-05-30 13:23:52 -04:00
Abdullah Tahiri ef70f2e53d Gui: Unavailable toolbars default to visible when made available
================================================================

https://github.com/FreeCAD/FreeCAD/issues/9208#issuecomment-1567469254

Issue:
- Unavailable toolbars default to not visible (as they are unavailable)
- However, when made available, they remain not visible. There may be
  cases when this is indeed the wanted behaviour, but they are not the
  ones we are facing.
- In the latter, the user expects the toolbars to show (and the
  configuration file to be saved with all toolbars showing.

Solution:
- Change the default behaviour of Unavailable toolbars when forcing
  them to be available, so that they are visible when made available.
- If then the case arises that we have toolbars where we would prefer
  then to be left not visible when making them available (so they are
  listed in the toolbar context menu to make them visible, but not
  visible per default), then we would need to create another toolbar
  policy class "UnavailableHidden".
- I chose not to add it directly (although it is straightforward) in
  fear that we will never need it, and it would make the code more
  complex to understand and thus maintain.
2023-05-30 16:37:53 +02:00
Abdullah Tahiri ee1fcb3f3a Sketcher/Gui: Extend toolbar framework and fix toolbar visibility not preserved
=================================================================================

fixes #9208

Essentially:
- The regular mechanism to save toolbar state when changing from one WB to another
is not designed to support changes within one WB (e.g. from edit mode and back).
- At creation time, toolbars can be initialised with default visible or default hidden
state. Additionally, there is third configuration "Unavailable", which refers to a
toolbar that is hidden, and the control to enable it is also hidden by default.
- The ToolBarManager is extended to enable to set the State of one or more toolbars.
- The State refers to changes to be effected on one or more toolbars by client code:
* ForceHidden allows to hide a toolbar and also hide its control (a toolbar not available
in a mode).
* ForceAvailable allows to make a toolbar available by making its control visible, the
toolbar itself is visible or not depending on user settings.
* RestoreDefault allows to bring the control visibility to the default of the toolbar, the
toolbar itself is visible or not depending on user settings.
* SaveState allows to store the current visibility state of a toolbar. It enables client
code to save the state when appropriate. It provides the only option for default "Unavailable"
toolbars, which are fully managed by client code. It provides additional flexibility to save
other toolbar visibility on request.

For the Sketcher this means:
- That edit mode toolbars are not shown outside edit mode.
- That edit mode toolbars and non-edit mode toolbars can be configured independently.
- that edit mode toolbars' state is saved when leaving edit mode if and only if, the
workbench that is selected when leaving edit mode is the Sketcher WB.
- it won't save the state if the user manually selected another WB and then left edit
mode (why? see limitation above).

Limitation:
- When switching to another WB while in edit mode, the other WB is activated before the
current WB (sketcher WB) is deactivated. This means that at sketcher level, the sketcher
has no chance to save states or do other tidy up actions before the tools of the other WB
are activated.
- This, however, is understood as not relevant enough as to warrant changing the mechanisms
in place.
2023-05-30 16:37:53 +02:00
Yorik van Havre 65b63a7fb4 Merge pull request #9687 from Roy-043/Arch-more-consistent-object-naming-and-labelling
Arch: more consistent object naming and labelling
2023-05-30 15:18:00 +02:00
Yorik van Havre 04d5da5519 Merge pull request #9649 from yorikvanhavre/arch-ifc-rectange
Arch: Fixed wrong IFC export of rectangles
2023-05-30 15:13:11 +02:00
Yorik van Havre 0179c9e693 Merge pull request #9643 from yorikvanhavre/yorikvanhavre-arch-html-tooltips
Arch: Removed html from tooltips (try 2)
2023-05-30 15:12:52 +02:00
Yorik van Havre 88c45c7be3 Merge pull request #9631 from yorikvanhavre/arch-command-texts
Arch: removed 'object' from command tooltips
2023-05-30 15:12:01 +02:00
Roy-043 ad0c41a60e Draft: get_svg: loose edges in obj with faces also received a fill (#9695) 2023-05-30 08:13:47 +02:00
tomate44 6d1e88db07 Surface: Fix Blend Curve icon name
and remove unused BlendSurface code
2023-05-29 10:53:01 +02:00
Roy-043 cca6f4c3e7 Arch: more consistent object naming and labelling
Following the example of Arch_Wall:
- Fixed object name.
- Default label is translatable.
- Name argument should only be used for the label and not be translated.
2023-05-28 15:58:54 +02:00
Roy-043 4a90f6e386 Arch: Fix ArchReference (broken after #9316) (#9685) 2023-05-28 15:26:16 +02:00
wandererfan ab188f6e0b [TD]fix Svg export of template fields 2023-05-28 09:24:14 -04:00
Abdullah Tahiri 5a2c48b593 Sketcher: new toPythonCommand sketcher Python method
====================================================

This commit leverages PythonConverter to produce the Python commands necessary to replicate
a sketch.

The output is a tuple comprising line by line the python commands.

Limitations: Only internal geometry is replicated. No external links.

Usage:
ActiveSketch.toPythonCommands()

Example output:
('geoList = []', 'geoList.append(Part.ArcOfCircle(Part.Circle(App.Vector(0.000000, 0.000000, 0.000000), App.Vector(0.000000, 0.000000, 1.000000), 65.000000), 3.926991, 8.639380))', 'geoList.append(Part.ArcOfCircle(Part.Circle(App.Vector(-70.304056, -14.307964, 0.000000), App.Vector(0.000000, 0.000000, 1.000000), 65.000000), 1.186945, 1.992409))', 'ActiveSketch.addGeometry(geoList,False)', 'del geoList', 'constrGeoList = []', 'constrGeoList.append(Part.LineSegment(App.Vector(-45.961941,45.961941,0.000000),App.Vector(0.000000,0.000000,0.000000)))', 'constrGeoList.append(Part.LineSegment(App.Vector(0.000000,0.000000,0.000000),App.Vector(-45.961941,-45.961941,0.000000)))', 'ActiveSketch.addGeometry(constrGeoList,True)', 'del constrGeoList', 'geoList = []', 'geoList.append(Part.ArcOfCircle(Part.Circle(App.Vector(-70.304056, 14.307964, 0.000000), App.Vector(0.000000, 0.000000, 1.000000), 65.000000), 4.290776, 5.096240))', 'geoList.append(Part.ArcOfCircle(Part.Circle(App.Vector(-50.000000, 0.000000, 0.000000), App.Vector(0.000000, 0.000000, 1.000000), 65.000000), 2.376910, 3.906275))', 'ActiveSketch.addGeometry(geoList,False)', 'del geoList', 'constraintList = []', "constraintList.append(Sketcher.Constraint('Coincident', 0, 3, -1, 1))", "constraintList.append(Sketcher.Constraint('Coincident', 1, 1, 0, 2))", "constraintList.append(Sketcher.Constraint('Coincident', 2, 1, 0, 2))", "constraintList.append(Sketcher.Constraint('Coincident', 2, 2, 0, 3))", "constraintList.append(Sketcher.Constraint('Coincident', 3, 1, 0, 3))", "constraintList.append(Sketcher.Constraint('Coincident', 3, 2, 0, 1))", "constraintList.append(Sketcher.Constraint('Symmetric', 0, 1, 0, 2, -1))", "constraintList.append(Sketcher.Constraint('Coincident', 4, 2, 0, 1))", "constraintList.append(Sketcher.Constraint('Symmetric', 1, 3, 4, 3, -1))", "constraintList.append(Sketcher.Constraint('Symmetric', 4, 1, 1, 2, -1))", "constraintList.append(Sketcher.Constraint('Coincident', 5, 1, 1, 2))", "constraintList.append(Sketcher.Constraint('Coincident', 5, 2, 4, 1))", "constraintList.append(Sketcher.Constraint('DistanceY', 4, 1, 1, 2, 90.000000))", "constraintList.append(Sketcher.Constraint('Radius', 5, 65.000000))", "constraintList.append(Sketcher.Constraint('DistanceX', 5, 3, 0, 3, 50.000000))", "constraintList.append(Sketcher.Constraint('Equal', 5, 4))", "constraintList.append(Sketcher.Constraint('Equal', 4, 0))", "constraintList.append(Sketcher.Constraint('Perpendicular', 2, 3))", 'ActiveSketch.addConstraint(constraintList)', 'del constraintList', '')

A list directly copiable into the console of a new sketch can be obtained, for example:

for i in ActiveSketch.toPythonCommands():
    print(i)

Example output:
geoList = []
geoList.append(Part.ArcOfCircle(Part.Circle(App.Vector(0.000000, 0.000000, 0.000000), App.Vector(0.000000, 0.000000, 1.000000), 65.000000), 3.926991, 8.639380))
geoList.append(Part.ArcOfCircle(Part.Circle(App.Vector(-70.304056, -14.307964, 0.000000), App.Vector(0.000000, 0.000000, 1.000000), 65.000000), 1.186945, 1.992409))
ActiveSketch.addGeometry(geoList,False)
del geoList
constrGeoList = []
constrGeoList.append(Part.LineSegment(App.Vector(-45.961941,45.961941,0.000000),App.Vector(0.000000,0.000000,0.000000)))
constrGeoList.append(Part.LineSegment(App.Vector(0.000000,0.000000,0.000000),App.Vector(-45.961941,-45.961941,0.000000)))
ActiveSketch.addGeometry(constrGeoList,True)
del constrGeoList
geoList = []
geoList.append(Part.ArcOfCircle(Part.Circle(App.Vector(-70.304056, 14.307964, 0.000000), App.Vector(0.000000, 0.000000, 1.000000), 65.000000), 4.290776, 5.096240))
geoList.append(Part.ArcOfCircle(Part.Circle(App.Vector(-50.000000, 0.000000, 0.000000), App.Vector(0.000000, 0.000000, 1.000000), 65.000000), 2.376910, 3.906275))
ActiveSketch.addGeometry(geoList,False)
del geoList
constraintList = []
constraintList.append(Sketcher.Constraint('Coincident', 0, 3, -1, 1))
constraintList.append(Sketcher.Constraint('Coincident', 1, 1, 0, 2))
constraintList.append(Sketcher.Constraint('Coincident', 2, 1, 0, 2))
constraintList.append(Sketcher.Constraint('Coincident', 2, 2, 0, 3))
constraintList.append(Sketcher.Constraint('Coincident', 3, 1, 0, 3))
constraintList.append(Sketcher.Constraint('Coincident', 3, 2, 0, 1))
constraintList.append(Sketcher.Constraint('Symmetric', 0, 1, 0, 2, -1))
constraintList.append(Sketcher.Constraint('Coincident', 4, 2, 0, 1))
constraintList.append(Sketcher.Constraint('Symmetric', 1, 3, 4, 3, -1))
constraintList.append(Sketcher.Constraint('Symmetric', 4, 1, 1, 2, -1))
constraintList.append(Sketcher.Constraint('Coincident', 5, 1, 1, 2))
constraintList.append(Sketcher.Constraint('Coincident', 5, 2, 4, 1))
constraintList.append(Sketcher.Constraint('DistanceY', 4, 1, 1, 2, 90.000000))
constraintList.append(Sketcher.Constraint('Radius', 5, 65.000000))
constraintList.append(Sketcher.Constraint('DistanceX', 5, 3, 0, 3, 50.000000))
constraintList.append(Sketcher.Constraint('Equal', 5, 4))
constraintList.append(Sketcher.Constraint('Equal', 4, 0))
constraintList.append(Sketcher.Constraint('Perpendicular', 2, 3))
ActiveSketch.addConstraint(constraintList)
del constraintList
2023-05-28 14:59:31 +02:00
Abdullah Tahiri 62bda37579 Sketcher: PythonConverter not respecting creation order
=======================================================

The original coding grouped normal and construction geometries together regardless of the actual order.

If construction geometries where interleaved with normal geometries, all normal would be grouped into a single
list and all construction into another.

This causes a problem that indices referenced in constraints may not match.

This commit fixes this behaviour. While still creating as much geometries together as a list, as many lists as
necessary are created to keep the order of creation.
2023-05-28 14:59:31 +02:00
Abdullah Tahiri 1d61ed187c Sketcher: Fix bug angle via point visualisation
===============================================

Issue description:
https://forum.freecad.org/viewtopic.php?f=3&t=70325
https://github.com/FreeCAD/FreeCAD/issues/7520

The general algorithm to calculate normals miserably fails when
the curve is a line segment and the point through which the normal
to a curve is to be drawn is colinear with the line segment.

The solution is to provide specific code for this corner case.

fixes #7520
2023-05-28 06:45:50 +02:00
Chris Hennes 21223c8227 Sketcher: 'B-spline' consistency 2023-05-27 21:47:25 +02:00
Chris Hennes 8a2efda4d6 Path: UI file adjustments 2023-05-26 16:29:27 -06:00
Roy-043 a5c9da55cf Draft: fix getcoords in gui_snapper.py (#9654)
The function did not handle global and relative mode properly
2023-05-26 19:45:31 +02:00
Chris Hennes 655f69a819 Path: Address translator comments 2023-05-26 11:27:37 -05:00
Chris Hennes 8966694a09 Path: Conform 'post processor' 2023-05-26 10:20:16 -05:00
Chris Hennes f556d04cbf Merge pull request #9670 from chennes/UpdateTranslations20230525
Update translations
2023-05-25 21:59:14 -05:00
Chris Hennes a2d457e88f Update translations 2023-05-25 21:32:26 -05:00
Abdullah Tahiri a182c01409 Sketch: add formatting commits to git ignore 2023-05-25 17:14:14 +02:00
Abdullah Tahiri 86eb2b38b3 Sketcher: Full WB to pre-commit
===============================

The hook file applies to subdirectories recursively.
2023-05-25 17:08:03 +02:00
Abdullah Tahiri 2637527e3a Sketcher: SketcherTests - format black 2023-05-25 17:08:03 +02:00
Abdullah Tahiri 9271b6d433 Sketcher: /Mod/Sketcher c++ header clang 2023-05-25 17:08:03 +02:00
Abdullah Tahiri 233a337ca5 Sketcher: /Mod/Sketcher python code black formatted 2023-05-25 17:08:03 +02:00
Abdullah Tahiri 96acbaf252 Sketcher: Add gui directory to pre-commit 2023-05-25 17:08:03 +02:00
Abdullah Tahiri ec899d75c6 SketcherGui: apply clang-format 2023-05-25 17:08:03 +02:00
Chris Hennes fd8b50d23f Merge pull request #9637 from Ondsel-Development/sanitybug
fix label and file size
2023-05-25 07:28:33 -05:00
Roy-043 630afe1e7c Sketcher: fix typo in Refraction constraint menu text 2023-05-25 14:12:06 +02:00
Roy-043 c731955976 Sketcher: Improve grid and snap related GUI texts
- Always use sentence case (as elsewhere in Sketcher)
- 'Toggle grid' instead of 'Activate grid'.
- Some other minor changes.
2023-05-25 14:10:45 +02:00
Abdullah Tahiri fdd3525424 SketcherGui: Separate user and developer errors
===============================================

Revisiting all console calls:
- Using the Notification Framework when the user needs to be notified
- Turning them into DeveloperError/DeveloperWarnings when messages are intended only for developers
2023-05-25 14:09:06 +02:00
Abdullah Tahiri cc091b2703 Console: Update loging macros to only send to developers 2023-05-25 14:09:06 +02:00
Przemo Firszt 5b075a9938 [COPR] Add BuildRequires: qqc2-desktop-style
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2023-05-24 22:44:37 +02:00
Chris Hennes ec8fe448dc Gui: Don't show raw exception to user 2023-05-24 20:57:43 +02:00
Abdullah Tahiri b632355691 Sketcher: add clang formatting commits to git blame ignore 2023-05-24 20:55:50 +02:00
Roy-043 6835eaf702 Draft: Draft_CubicBezCurve: set EnableSelection to False, fixes #6452 (#9640)
While the command is active set EnableSelection to False to correctly detect mouse up events.
2023-05-24 20:35:24 +02:00
Yorik van Havre f68c045ff7 Draft: Fixes continuing dimensions - fixes #9507 (#9632) 2023-05-24 20:34:52 +02:00
Abdullah Tahiri 60d99ca570 Sketcher: Obey non-intrusive preferences for modal pop-ups
==========================================================

This commit turns the remaining blocking pop-ups in which the user can only click "ok"
into non-intrusive notifications, depending on the user preferences in settings.
2023-05-24 18:35:41 +02:00
Abdullah Tahiri 2a3fe4c628 Gui: Notifications Framework - accept more notifier types
=========================================================

Extends notifier types to Gui::Document, App::Document, Gui::ViewProviderDocumentObject.

This allows to pass these objects as notifiers, and the framework gets the right string
from the Label or FullLabel as appropriate.
2023-05-24 18:35:41 +02:00
wandererfan 367a0a7277 [TD]prevent object deletion outside dialog 2023-05-24 10:15:45 -04:00
wandererfan 2737e830b1 [TD]fix fail on object deleted during dialog (#9626) 2023-05-24 10:15:45 -04:00
Yorik van Havre 4a748f4fb3 Arch: Fixed wrong IFC export of rectangles 2023-05-24 10:44:01 +02:00
Jonas Bähr 7356c8d844 Add myself to CONTRIBUTORS 2023-05-23 17:13:56 -04:00
wmayer 12c20003b3 Sketcher: fix crash when creating a parabola or hyperbola or when using Sketcher_Split
Forum: https://forum.freecad.org/viewtopic.php?t=78543
2023-05-23 20:01:41 +02:00
wmayer 812a20b864 MeshPart: Allow to cancel trim by plane 2023-05-23 16:05:49 +02:00
Abdullah Tahiri d7ec60c2b4 Console: Improve the documentation 2023-05-23 14:24:45 +02:00
Abdullah Tahiri 12a7f3b236 NotificationArea/Preferences: Allow Opt-in for Developer warnings and errors
============================================================================

The old preferences had errors and warnings ON by default and allowed to opt-out.
It was not possible to separate errors/warnings intended for users from those intended for developers.

The new version has developer errors and warnings OFF by default. User intended ones are ON.
It is possible to opt-in for developer errors and warnings from the preferences dialog.

As developer errors and warnings are NOT translated, if opting-in, they won't be localised.

User errors and warnings should be translated. If they are not, it is a bug.
2023-05-23 14:24:45 +02:00
Abdullah Tahiri 0e85b24348 Sketcher: Command constraints error handling adaptation
=======================================================

- Better handling for exceptions originating in Python addConstraint.
- Refactor to reuse code for handling of exceptions
2023-05-23 14:24:45 +02:00
Abdullah Tahiri 2338ae633e Sketcher: Make Command Constraints show the severity of warning for typical user mistakes 2023-05-23 14:24:45 +02:00
Abdullah Tahiri c2b2b0c1fa Base: Interpreter - Mark Exception reporting and stack as intended for developers 2023-05-23 14:24:45 +02:00
Abdullah Tahiri cc13da5470 Console: Remove Translated Notification message
===============================================

With the new console extension, the translation state is coded separatedly.

Therefore, it is possible to code a Notification as translated without needing a specific type.

Additionally, any other message, such as Error of Warning can be translated.

It does not make sense to leave this message, if only for reasons of coherence and to simplify
maintainance of code.
2023-05-23 14:24:45 +02:00
Abdullah Tahiri c973033b6c Gui: Adapt Notifications Framework 2023-05-23 14:24:45 +02:00
Abdullah Tahiri 98f3163a7a App: NotificationArea adaptation to the new messages 2023-05-23 14:24:45 +02:00
Abdullah Tahiri 2bcee570da Console: Extend the Python interface 2023-05-23 14:24:45 +02:00
Abdullah Tahiri 45bf89d977 Console: Convenience dedicated functions 2023-05-23 14:24:45 +02:00
Abdullah Tahiri a66e00d2a4 Ilogger - Separate behaviour for user exposed and not exposed loggers 2023-05-23 14:24:45 +02:00
Abdullah Tahiri e3702ac2d8 Console: Extend framework with intended recipient and content type metainformation
==================================================================================

Limitations of the current framework:
- Codes the translated state only for TranslatedNotification as part of the type.
- Does not code the intended recipient (user, developer, ...)

Problems:
- Some errors are intended for developers, some errors may only be intended for users,
if, for example, there is another developer error which already contains all the information.
The current framework may lead to information duplication or to showing to the user developer
information, which is perceived as annoying.
- Logs shall be in English (report view), while every message to the user (UI) shall be translated.
The current framework can only differentiate where to report based on subscription (legacy logs do not
subscribe to notifications), and for notifications, whether it is translated or not depends on the type.
It is not possible to code errors or warnings that are already translated.

Solution:
- To extend the ILogger interface with additional metainformation, indicating the intended recipient
(User, Developer, All), and the content of the message (translated, untranslated, untranslatable). The latter
is useful for dynamic strings that won't find a match in the translation framework.

Bonus:
- This extended version allows to do away with translatednotification, as now any message can be independently
marked as translated or untranslated or untraslatable.
- It is now possible to provide the right icon of severity (error, warning, info), even when it is only user intended
and already translated.
2023-05-23 14:24:45 +02:00
Jonas Bähr dc07897a29 Sketcher: Add tests for Circle to Line distance constraint
Note that support for secants currently only works for reference
constraints but not for driving ones. If and how this should be done
is still under discussion [1].

[1]: https://github.com/FreeCAD/FreeCAD/pull/9044#issuecomment-1548006842
2023-05-23 14:19:51 +02:00
Yorik van Havre 2f222a1242 Arch: Removed leftovers of leftover html escape chars 2023-05-23 14:10:22 +02:00
Yorik van Havre f6c003bdbc Arch: Removed leftover html escape chars 2023-05-23 14:00:49 +02:00
Yorik van Havre 3880f47e17 Merge branch 'arch-html-tooltips' of github.com:yorikvanhavre/FreeCAD into yorikvanhavre-arch-html-tooltips 2023-05-23 13:54:36 +02:00
Yorik van Havre 03450a5684 Merge pull request #9586 from yorikvanhavre/arch-ifc-export-fix
Arch: Minor fix to IFC exporter
2023-05-23 13:53:14 +02:00
Yorik van Havre 1ae23db392 Merge pull request #9585 from yorikvanhavre/arch-svg-fill
Arch: Fixed SVG fill
2023-05-23 13:52:33 +02:00
sliptonic a6b868a358 fix label and file size 2023-05-22 20:25:16 -05:00
Chris Hennes aa3b2f39a6 Merge pull request #9624 from wwmayer/fix_OpenSCAD_cmds
OpenSCAD: Hull/Minkowski also work for a single selected object
2023-05-22 13:45:31 -05:00
Chris Hennes 7a9b25bc6f Merge pull request #9381 from wwmayer/tweak_clang_format
Set BreakConstructorInitializers to BeforeComma
2023-05-22 09:01:12 -05:00
Paddle c3c5f491ef Wb group fixes 2023-05-22 15:21:40 +02:00
Yorik van Havre 6a7b5f754f Arch: removed 'object' from command tooltips - fixes FreeCAD-translations/#221 2023-05-22 15:13:16 +02:00
Paddle d238eb313d Pref: Wb: remove the need to restart on wb activation and order change. 2023-05-22 10:13:13 +02:00
Paddle f3d5b204d2 Core: WorkbenchComboBox and WorkbenchGroup simplification. 2023-05-22 10:13:13 +02:00
Chris Hennes d45356e2b5 Merge pull request #9627 from chennes/addonManagerMiscBugs
Addon Manager: Minor error handling cleanup
2023-05-21 20:37:54 -05:00
Chris Hennes 8ef29190f4 Merge pull request #9629 from chennes/updateTranslations20230521
Update translations
2023-05-21 19:58:00 -05:00
Chris Hennes 20f073e84e Update translations 2023-05-21 19:13:11 -05:00
Chris Hennes 9d34bed01f Merge pull request #9628 from chennes/crowdInScriptTweak
Tools: Modify CrowdIn to only generate QMs when needed
2023-05-21 19:11:18 -05:00
Chris Hennes b54e0d74ff Tools: Modify CrowdIn to only generate QMs when needed 2023-05-21 19:01:42 -05:00
Chris Hennes e90ecc27ff Addon Manager: Minor error handling cleanup 2023-05-21 15:50:29 -05:00
wmayer 722087b32c OpenSCAD: Hull/Minkowski also work for a single selected object 2023-05-21 16:42:09 +02:00
Roy-043 52b41fee06 Draft: fix props_changed_placement_only for attached clones and similar (#9623)
For an attached object whose Shape depends on one or more source objects props_changed_placement_only should always return False.
2023-05-21 16:15:55 +02:00
Chris Hennes 864f99bf98 Merge pull request #9614 from chennes/fixPrefPageContext
Gui: Correct translation context of pref pages
2023-05-20 19:53:32 -05:00
MaxiV 4cfd56a80b Delete A4_IRAM4504.svg
It is included in the AR_IRAM folder
2023-05-20 10:31:00 -04:00
sliptonic 490ed09dc3 Merge pull request #9608 from chennes/pathHTMLRemoval
Path: Remove HTML where not needed
2023-05-20 07:51:57 -05:00
Roy-043 c5bf5d117b Draft: remove obsolete gui_array_simple.py (#9616) 2023-05-20 10:37:31 +02:00
Abdullah Tahiri e7425e8634 Sketcher: Add App directory to pre-commit 2023-05-20 07:55:05 +02:00
Abdullah Tahiri 987b4bda2a Sketcher: App - Clang-format 2023-05-20 07:55:05 +02:00
Abdullah Tahiri c33cdcd68a Sketcher: Add planeGCS directory to pre-commit 2023-05-20 07:55:05 +02:00
Abdullah Tahiri 2ae7cc4a94 Sketcher: PlaneGCS C-lang formatting
====================================

As per:
https://forum.freecad.org/viewtopic.php?t=77205

Please use pre-commit as described in:
https://github.com/FreeCAD/DevelopersHandbook/blob/master/gettingstarted/index.md#setting-up-for-development
2023-05-20 07:55:05 +02:00
Chris Hennes 5f82aa42bb Merge pull request #9215 from marioalexis84/gui-window_parameter
Gui: Add function in WindowParameter class to connect slot to ParameterManager signal
2023-05-19 22:45:48 -05:00
Chris Hennes d30292bece Merge pull request #9603 from chennes/windowsVersionHack
Gui: Hack to get Windows 11 version
2023-05-19 21:12:19 -05:00
Chris Hennes ad8a4376c8 Gui: Move C++ pref pages to QObject context 2023-05-19 20:54:27 -05:00
Chris Hennes 0100e8f843 Gui: Correct translation context of pref pages
Preference page title strings must be in QObject
2023-05-19 20:46:12 -05:00
Chris Hennes 4888a28f7d Merge pull request #9612 from chennes/addonmanagerVersionErrorHandling
Addon Manager: Improve error handling for Version
2023-05-19 18:08:14 -05:00
wandererfan 6a7b04a441 [TD]fix fail on bad selection (#9598) 2023-05-19 19:07:48 -04:00
wandererfan 766a04e26e [TD]cleanup debug messages 2023-05-19 19:07:48 -04:00
Chris Hennes b0090a7890 Addon Manager: Improve error handling for Version 2023-05-19 17:17:29 -05:00
Chris Hennes 68ec11425d Gui: Hack to get Windows 11 version 2023-05-19 10:27:21 -05:00
Chris Hennes e87555bdfb Merge pull request #9610 from chennes/openscadWordingTweak
OpenSCAD: Minor wording tweak in preferences
2023-05-19 10:25:29 -05:00
Chris Hennes e2c85c9649 Merge pull request #9609 from chennes/addonManagerTranslationIssues20230518
Addon Manager: Minor linguistic fixes
2023-05-19 10:25:17 -05:00
Chris Hennes bd1685d107 OpenSCAD: Minor wording tweak in preferences 2023-05-18 21:58:08 -05:00
Chris Hennes ca2be49541 Addon Manager: Minor linguistic fixes 2023-05-18 21:49:41 -05:00
Chris Hennes c78ed2829f Path: Misc. minor string cleanup 2023-05-18 21:33:46 -05:00
Chris Hennes 64041cda6e Merge pull request #9607 from chennes/translations20230518
Update translations
2023-05-18 20:53:47 -05:00
Chris Hennes 89214499d5 Path: Remove HTML where not needed 2023-05-18 20:44:00 -05:00
Chris Hennes 0b41c4a8a8 Update translations 2023-05-18 07:49:08 -05:00
Chris Hennes 55ee18108e Merge pull request #9596 from chennes/macVersionInfoHack
Gui: Mac version info hack
2023-05-17 20:07:46 -05:00
Chris Hennes 1c370eff57 Merge pull request #9601 from chennes/addonmanagerTypo
Addon Manager: Fix typo
2023-05-17 17:48:38 -05:00
Chris Hennes 770b002a1a Addon Manager: Fix typo 2023-05-17 17:01:17 -05:00
Roy-043 a23142881a Draft: Draft_Move continue mode failed with numeric input (#9597) 2023-05-17 18:56:36 +02:00
Roy-043 9a219e03a6 Draft: ShapeString: use FaceMakerBullseye instead of current face algo (#9593) 2023-05-17 18:19:00 +02:00
Chris Hennes c71c36bfa8 Merge pull request #9582 from chennes/translateUnitSchemes
Gui: Translate unit system UI
2023-05-17 11:06:27 -05:00
Chris Hennes 589a1bbaff Merge pull request #9551 from chennes/syncQtTranslations
Gui: Sync translation files with Qt project
2023-05-17 11:04:43 -05:00
Abdullah Tahiri d4d5aaf306 Skecher: Rendering order
========================

Recently the rendering order functionality was temporarely removed, as it interferred with the development of visual layers.

However, the release comes before visual layers are finished and can provide such functionality.

This commit reintroduces the functionality for the release.
2023-05-17 16:29:34 +02:00
Abdullah Tahiri bb5d09ff9b Sketcher: RenderingOrder resources and icons 2023-05-17 16:29:34 +02:00
Abdullah Tahiri 8b9096ede1 Sketcher: New edit tools toolbar
================================

Move Grid and Snap to edit tools
2023-05-17 16:29:34 +02:00
Chris Hennes f90aed491e Sketcher: Translate context menu 2 2023-05-17 14:43:57 +02:00
Chris Hennes ff989512e5 Sketcher: Translate context menu 2023-05-17 14:43:57 +02:00
wmayer cd4ac3c853 fixes #9523: CMake Error at cMake/FreeCAD_Helpers/SetupEigen.cmake 2023-05-17 14:39:11 +02:00
Yorik van Havre d1d73dc3ff Merge pull request #9413 from 0penBrain/sheetCyclic
Sheet: display an error in console when a cyclic dependency is detected
2023-05-17 11:30:09 +02:00
0penBrain 719339657d Sheet: display an error in console when a cyclic dependency is detected 2023-05-17 10:09:41 +02:00
Chris Hennes c98f632cb6 Merge pull request #9495 from chennes/toolsToSubprocess
Tools: switch to subprocess
2023-05-16 21:37:41 -05:00
Chris Hennes d23a89e78e Gui: Hack to ensure good macOS version number 2023-05-16 21:34:07 -05:00
Roy-043 ea35f0f003 Arch: endpoint after Wall length change was not in local sketch coords (#9592) 2023-05-16 21:24:16 +02:00
Chris Hennes d4ee459cf2 Merge pull request #9589 from marioalexis84/base-include_memory_header
Base: Include needed header file
2023-05-16 11:47:51 -05:00
marioalexis f1af39725a Base: Include needed header file 2023-05-16 12:46:34 -03:00
Yorik van Havre b777c12b53 Arch: Minor fix to IFC exporter 2023-05-16 15:25:53 +02:00
Yorik van Havre 22226b31c1 Arch: Fixed SVG fill - fixes #6208 2023-05-16 12:27:59 +02:00
Abdullah Tahiri 2eb7badb1e Fem: Remove Unused variable 2023-05-16 08:29:28 +02:00
Chris Hennes 001c79f459 Gui: Translate unit system UI 2023-05-15 20:16:46 -05:00
Chris Hennes 063df7044d Merge pull request #9148 from chennes/toponamingStringHasher
App/Toponaming: String hasher
2023-05-15 20:14:43 -05:00
wmayer 0460563da0 Part: fixes #9549: Part Fuse not working inside Part container 2023-05-15 23:40:51 +02:00
wmayer 1ade42e634 App: expose function getParent() to Python 2023-05-15 23:40:25 +02:00
wmayer 41e6758bc0 Base: add helper function to quote a string and join a list of strings 2023-05-15 23:40:07 +02:00
sliptonic 4cf73aa37b Merge pull request #9581 from rebeccadee/patch-1
Fix typo in Roles
2023-05-15 11:52:12 -05:00
Rebecca Dodd 97271f90d0 Fix typo in Roles 2023-05-15 17:46:41 +01:00
wandererfan 8eeb095fcc [TD]fix direction precision error #9572 2023-05-15 10:13:42 -04:00
wmayer 01da66f2df [skip ci] Gui: PrintWarning has been moved to Console module 2023-05-15 15:58:48 +02:00
sliptonic 50056462d3 Merge pull request #9554 from wwmayer/issue_9403
Path: fixes #9403: Memory leak in Path
2023-05-15 06:32:11 -05:00
Florian Foinant-Willig e69e9019df Sketcher: fix Circle to Line distance constraint display 2023-05-15 12:14:21 +02:00
Yorik van Havre a892de5fc6 Merge pull request #9530 from yorikvanhavre/draft-svg-dashes
Draft: Better svg linestyle settings - fixes #6733
2023-05-15 11:38:49 +02:00
Yorik van Havre 2b50bb599d Merge pull request #9537 from yorikvanhavre/start-fix
Start: Fixed loading from custom folder
2023-05-15 11:35:46 +02:00
Yorik van Havre 2f84ae9bc3 Merge pull request #9545 from yorikvanhavre/draft-dxf-legacy
Draft: Indicate which DXF pref option is for legacy importer/exporter only
2023-05-15 11:35:15 +02:00
sliptonic c33588be3e Merge pull request #9563 from Ondsel-Development/VariousFixes
Minor bug fixes for path sanity
2023-05-14 19:25:51 -05:00
0penBrain c2fa4793b7 CI: typo + minor improvement 2023-05-14 21:47:40 +02:00
0penBrain f2d2ae20bc CI: report both failed and errored Python tests in summary 2023-05-14 21:47:40 +02:00
Florian Foinant-Willig 6de3c5833f Sketch: Fix Point to Line constraint display 2023-05-14 21:37:21 +02:00
Abdullah Tahiri f4c1a7c3f5 Solver: Fix Circle-To-Line differentials 2023-05-14 21:15:46 +02:00
wmayer 3c8ee2213f Gui: check for QApplication instance to avoid crash 2023-05-14 18:50:35 +02:00
Roy-043 4b358f643c Draft: Draft_SetStyle tooltip tweak (#9564)
The Annotations button applies to labels as well.
2023-05-14 10:20:03 +02:00
Yorik van Havre c4a6b3a017 Draft: Skip SVG import DPI dialog if a unit is specified in the file - fixes #6653 (#9533) 2023-05-13 21:18:59 +02:00
Yorik van Havre d90c81bc7b Draft: Added dim overshoot parameters to Style task dialog (#9514)
* Draft: Added dim overshoot parameters to Style task dialog - fixes issue #9507

* Draft: additional fixes to styles task dialog
2023-05-13 21:01:51 +02:00
Yorik van Havre 7e357513bd Draft: Support group styles in SVG import - fixes #6900 (#9522)
* Draft: Support group styles in SVG import - fixes #6900

* Draft: SVG importer - apply styleto polylines
2023-05-13 21:01:04 +02:00
wmayer 54729bf88a App: add method DocumentObject::getFirstParent() 2023-05-13 17:48:29 +02:00
sliptonic 2bd035f1d3 Make Sanity not experimental 2023-05-13 10:30:37 -05:00
luzpaz 9ce14bd93b Fix FEM_ClippingPlaneAdd.svg (#9550)
SVG was incorrectly edited in a previous commit.  
Fixes #9550
2023-05-13 09:26:45 -04:00
sliptonic 03b34e074b turn off logging 2023-05-13 08:24:34 -05:00
sliptonic 029e20ea40 Merge pull request #9506 from Ondsel-Development/leadinoutwork
[Path] cleanup leadinout
2023-05-13 07:41:19 -05:00
sliptonic 0a28ec652d Merge pull request #9555 from Ondsel-Development/SanityFix
Path: Sanity fix
2023-05-13 07:40:51 -05:00
sliptonic 572b40b972 remove dependency on robot 2023-05-12 13:39:48 -05:00
sliptonic 18c5ac1f09 cleanup leadinout
checkpoint
2023-05-12 11:55:22 -05:00
sliptonic 3375ad530f fix filename generation for Sanity
Move this out as an experimental feature
2023-05-12 09:20:44 -05:00
sliptonic ed961dd834 remove dependency on robot 2023-05-12 09:20:20 -05:00
Chris Hennes 0a755e2b3d Merge pull request #9496 from chennes/pathToolController 2023-05-12 07:59:36 -05:00
wmayer 86e56ec842 fixes #9134: Points Merge doesn't keep Color information 2023-05-12 13:12:14 +02:00
wmayer c242b5de5b Path: fixes #9403: Memory leak in Path 2023-05-12 10:43:29 +02:00
Chris Hennes f90138e737 Gui: Sync translation files with Qt project 2023-05-11 22:06:18 -05:00
Chris Hennes 86128f1de2 Merge pull request #9541 from Ondsel-Development/wb_prevent_duplicates
Pref: Wb: prevent duplicate workbenches in the lists.
2023-05-11 19:33:22 -05:00
Chris Hennes 7397f69860 Merge pull request #9548 from chennes/minorTranslationFixes20230511
Gui: Minor translation fixes
2023-05-11 19:32:32 -05:00
Chris Hennes 80b29d2dbf Gui: Minor translation fixes 2023-05-11 18:31:34 -05:00
Chris Hennes 43abb34698 App/Toponaming: Adjust StringHasher tests 2023-05-11 16:41:52 -05:00
wmayer 18bf753e12 PD: fixes #8161: Clones do not copy colour 2023-05-11 17:06:02 -04:00
wmayer f4a8d94838 PD: replace macros of CmdPartDesignClone 2023-05-11 17:06:02 -04:00
Zheng, Lei ff97747bb7 App: renable StringHasher IndexedName optimization
The benifit of StringHasher optimization for IndexedName is most evident
on boolean operation of primitive/dumb shape array, e.g. those imported
from STEP, because those shape elements are not encoded, henced mapped
in as plain IndexedName. The optimization split the integer from the
IndexedName to only store the type name to reduce redundancy.
2023-05-11 14:34:36 -05:00
Chris Hennes fdeb69800a App/Toponaming: Minor StringHasher cleanup from review 2023-05-11 14:34:36 -05:00
Chris Hennes ec98b5e498 App/Toponaming: StringHasher tests, commenting, and cleanup 2023-05-11 14:34:36 -05:00
Chris Hennes 2ef98bfdc0 App/Toponaming: Stubs of tests for StringHasher 2023-05-11 14:34:36 -05:00
Chris Hennes e461f1bc27 App/Toponaming: Fix Reader tests for Linux 2023-05-11 14:34:35 -05:00
Chris Hennes 0d8cce1be5 App/Toponaming: Unit tests for StringIDRef 2023-05-11 14:34:35 -05:00
Chris Hennes c9f73bda9e App/Toponaming: Minor refactoring and tests for StringID 2023-05-11 14:34:35 -05:00
Chris Hennes 2e5f43e69b App/Toponaming: Add missing include to Writer 2023-05-11 14:34:35 -05:00
Chris Hennes d6b002152d App/Toponaming: Tests for Bitmask 2023-05-11 14:34:35 -05:00
Chris Hennes bb7681810a App/Toponaming: Tests for Reader and Writer 2023-05-11 14:34:35 -05:00
Chris Hennes 0a2eacade2 App/Toponaming: Lint and compilation cleanup 2023-05-11 14:34:35 -05:00
Chris Hennes 1c0cf32b22 App/Toponaming: Add supporting code
Support for reading and writing binary data, and a small tweak to bitmask.
2023-05-11 14:34:35 -05:00
Chris Hennes d9e171e5d0 App/Toponaming: Add original StringHasher
Also includes StringIDPy. This is realthunder's original code, it does not compile in the current codebase yet.
2023-05-11 14:34:35 -05:00
wmayer 0b29d5f338 fixes #9342: Build: 'cmake --install --prefix' no effect to lazy_loader 2023-05-11 18:39:08 +02:00
Yorik van Havre 2c170b35ad Draft: Indicate which DXF pref option is for legacy importer/exporter only - fixes #6001 2023-05-11 15:17:41 +02:00
Paddle 764d3d4b30 Pref: Wb: prevent duplicate workbenches in the lists. 2023-05-11 10:25:29 +02:00
Chris Hennes 4c282fe0df Merge pull request #9497 from wwmayer/generate_qm_files
Generate qm files
2023-05-10 18:18:25 -05:00
Chris Hennes a1a2ca0c39 Merge pull request #9536 from wwmayer/issue_9447
Mesh: fixes #9447: Rename Mesh Design to Mesh workbench
2023-05-10 17:53:08 -05:00
Chris Hennes cf409d5b08 Merge pull request #9511 from chennes/pathRemoveHTML
Path: Remove unnecessary HTML
2023-05-10 17:15:05 -05:00
Yorik van Havre bdab44c923 Start: Fixed loading from custom folder 2023-05-10 14:26:43 +02:00
wmayer b7441e8dc3 Mesh: fixes #9447: Rename Mesh Design to Mesh workbench 2023-05-10 13:28:49 +02:00
wmayer ecb72b8ead Gui: when loading SVG images get default size and keep aspect ratio
See forum: https://forum.freecad.org/viewtopic.php?p=680800#p680800
2023-05-10 11:59:44 +02:00
Yorik van Havre 3c685c556c Draft: Better svg linestyle settings - fixes #6733 2023-05-10 10:14:33 +02:00
Chris Hennes 6c6818fca8 Merge pull request #9509 from chennes/githubIssueCleanup
GitHub: Adjust Issue templates
2023-05-09 23:51:55 -05:00
Chris Hennes 0f5cfe17c1 Path: Remove unnecessary HTML
HTML makes translation more difficult, so should be avoided when it's not needed.
2023-05-09 20:44:52 -05:00
Chris Hennes 6175a87329 Merge pull request #9518 from yorikvanhavre/readme-funding
README: Added funding info + small format fixes
2023-05-09 19:09:00 -05:00
wandererfan a669e4423a [TD]allow bmp as image format 2023-05-09 13:41:11 -04:00
Chris Hennes 87756b4624 Merge pull request #9502 from mosfet80/patch-3
Update .pre-commit-config.yaml
2023-05-09 09:24:56 -05:00
Rexbas 530dd7c219 Fix typo 2023-05-09 10:31:38 +02:00
Rexbas 9415c80a5e Add method to find the nearest orientation 2023-05-09 10:31:38 +02:00
Rexbas e09f729400 Cleanup unused NaviCube methods 2023-05-09 10:31:38 +02:00
Rexbas de2a2f6c6f Apply the rotation that is stored in the NaviCube face 2023-05-09 10:31:38 +02:00
Rexbas f20a0cceaa Determine rotation direction of NaviCube buttons 2023-05-09 10:31:38 +02:00
Rexbas 86d9ded206 Determine standard orientations of NaviCube faces 2023-05-09 10:31:38 +02:00
mosfet80 058b4eab80 Update .pre-commit-config.yaml
update pre-commit external libraries
Update .pre-commit-config.yaml
2023-05-08 21:08:34 +02:00
Yorik van Havre 1f5c6c2d94 README: Added funding info + small format fixes 2023-05-08 11:28:34 +02:00
wmayer 6f8e3f374f Gui: fix NaviCube in split views (fixes #9500)
* initialize base and hilite color with more sensible default values
* handle case if no font name is set
* apply user preferences to NaviCube
2023-05-08 10:05:01 +02:00
Yorik van Havre ccc20b6b11 Arch: Removed html from tooltips 2023-05-08 09:36:17 +02:00
Chris Hennes b30d69d24f GitHub: Adjust Issue templates
As discussed in the developer meeting
2023-05-07 14:53:49 -05:00
Florian Foinant-Willig 6765afd12b Set helper default hidden 2023-05-07 20:14:03 +02:00
Florian Foinant-Willig 36a46faf07 Sketcher: add a circle overlay for arcs 2023-05-07 20:14:03 +02:00
Roy-043 13cf9a9fdb Sketcher: improve context menu text for Sketcher_ToggleConstruction
In the Elements context menu (Sketcher task panel) the menu text for Sketcher_ToggleConstruction is "Toggle construction line", this should be "Toggle construction geometry". It is not just lines that can be toggled, and this is also the menu text in the main Sketcher menu.
2023-05-07 19:52:12 +02:00
Roy-043 ac79d19096 Sketcher: Sketcher_SelectHorizontalAxis before Sketcher_SelectVerticalAxis in menu
The X axis related command should come before the Y axis command.
2023-05-07 19:51:23 +02:00
wandererfan 970fd86705 [TD]fix #9471 - prevent impossible centerline 2023-05-07 10:00:00 -04:00
Roy-043 bd3f71b478 Draft: Std_TransformManip should not be called from setEdit (#9375)
The object then seems to be put into edit mode twice (?) and Esc will not cancel the command.
2023-05-07 09:57:10 +02:00
Roy-043 6d59f9fa78 Draft: improve handling of DWG-converters (#9444)
* Draft: improve handling of DWG-converters

* Lint import statement.
2023-05-07 09:56:01 +02:00
wmayer 8cc0b6ad39 Gui: Create .qm out of .ts files 2023-05-07 08:52:49 +02:00
wmayer 3a78280ed7 Web: Create .qm out of .ts files 2023-05-07 08:51:49 +02:00
wmayer 832abf8c7f Test: Create .qm out of .ts files 2023-05-07 08:51:20 +02:00
wmayer 2dade08e2a TD: Create .qm out of .ts files 2023-05-07 08:51:17 +02:00
wmayer 766034fc9a Start: Create .qm out of .ts files 2023-05-07 08:50:52 +02:00
wmayer 8089e93951 Spreadsheet: Create .qm out of .ts files 2023-05-07 08:50:04 +02:00
wmayer 9540b97633 Sketcher: Create .qm out of .ts files 2023-05-07 08:49:34 +02:00
wmayer 4e49c28ba5 Robot: Create .qm out of .ts files 2023-05-07 08:49:06 +02:00
wmayer 7256323324 RE: Create .qm out of .ts files 2023-05-07 08:48:40 +02:00
wmayer a4048cf827 Points: Create .qm out of .ts files 2023-05-07 08:48:02 +02:00
wmayer 45da284dfd Path: Create .qm out of .ts files 2023-05-07 08:48:01 +02:00
wmayer 74271f5e4a PD: Create .qm out of .ts files 2023-05-07 08:47:38 +02:00
wmayer 6603a2e13f Part: Create .qm out of .ts files 2023-05-07 08:47:14 +02:00
wmayer 9fff0963e4 MeshPart: Create .qm out of .ts files 2023-05-07 08:46:51 +02:00
wmayer 7bb204b790 Fem: Create .qm out of .ts files 2023-05-07 08:46:14 +02:00
wmayer 429a85873f Drawing: Create .qm out of .ts files 2023-05-07 08:45:36 +02:00
wmayer c8add3a40a Mesh: Create .qm out of .ts files 2023-05-07 08:45:33 +02:00
wmayer cdca28fd5a Core: add CMake functions to create .qm out of .ts files 2023-05-07 08:39:55 +02:00
Chris Hennes 773277242b Path: 'ToolController' -> 'Tool Controller' in UI panels 2023-05-06 13:34:55 -05:00
Chris Hennes 18e40941ce Merge pull request #9494 from chennes/mergeCrowdIn_2023_05__06
Merged crowdin translations
2023-05-06 12:32:27 -05:00
Chris Hennes 11caddf7d8 Tools: Switch to subprocess to handle MinGW runs 2023-05-06 12:28:13 -05:00
Chris Hennes 1a4b85121b Merged crowdin translations 2023-05-06 11:56:32 -05:00
Chris Hennes fa0660cada Merge pull request #9486 from chennes/pathTranslations20230505
Path: Minor translation fixes part 2
2023-05-06 11:25:12 -05:00
Chris Hennes 85084f9322 Path: Minor translation fixes part 2 2023-05-06 11:24:46 -05:00
Chris Hennes a8f2a32397 GUI: Don't have report view message tell users to see report view 2023-05-06 18:19:08 +02:00
sliptonic b48f6d68c1 Merge pull request #9488 from cam72cam/fix_pathinspect_9485
Fix #9485: PathInspector broken by #8459
2023-05-06 10:59:45 -05:00
Chris Hennes f7ceeae829 Merge pull request #9493 from chennes/pathUnifyBoundingBoxTerminology
Path: Unify use of 'bounding box' terminology
2023-05-06 09:38:21 -05:00
Chris Hennes 3bf3a9d2c1 Merge pull request #9490 from chennes/addExclusionToUpdatets
Tools: Add exclusion list to lupdate calls
2023-05-06 09:38:10 -05:00
Chris Hennes 2d925d36c9 Merge pull request #9484 from chennes/pathTranslations20230504
Path: Minor translation cleanup
2023-05-06 09:37:50 -05:00
Chris Hennes d2aac77bd1 Path: Unify use of 'bounding box' terminology 2023-05-06 08:57:53 -05:00
wmayer d163114374 Gui: disable lighting for the label of an axis
This way the backside of the label is displayed with the same color as the front side. Otherwise it may be black.
2023-05-05 22:00:55 -04:00
Chris Hennes fe0d61001c Tools: Add exclusion list to lupdate calls 2023-05-05 18:41:51 -05:00
Chris Hennes 6db82dcf8e Merge pull request #9430 from chennes/exceptionsInDialogs
Begin translating user-visible exception strings
2023-05-05 16:47:10 -05:00
Chris Hennes 58de4fd9c6 Merge pull request #9489 from chennes/addonManagerTranslationIssues
Addon Manager: Translation issues
2023-05-05 16:46:39 -05:00
Chris Hennes 93e97c33f0 Addon Manager: Translation issues 2023-05-05 13:54:02 -05:00
Christian Mesh e24347b8fb Fix #9485: PathInspector broken by #8459 2023-05-05 14:28:31 -04:00
Chris Hennes c5748fde7b Merge pull request #9464 from luzpaz/draft-guiselectplane
Draft: Add l10n context for ambiguous string
2023-05-05 09:44:38 -05:00
Chris Hennes c53819d2f0 Merge pull request #9483 from PrzemoF/copr_fix_v64
[COPR] Remove Raytracing
2023-05-05 09:41:08 -05:00
Chris Hennes 94111ec117 Path: Minor translation cleanup 2023-05-05 09:07:50 -05:00
luzpaz b4834dc580 Plot: tweak missing matplotlib warning (#9442)
Close #9407


Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2023-05-05 09:35:32 -04:00
Chris Hennes 3090289286 TechDraw: Add missing translation string 2023-05-05 09:11:57 -04:00
Ronny Standtke 8d1c9c2563 Origin axis: use same colors as axis cross and make bigger than planes
for easier selection and visualization
2023-05-05 03:09:36 -04:00
Ronny Standtke ddb080995b Origin plane: make plane faces unpickable 2023-05-05 03:09:36 -04:00
Ronny Standtke ad5e702366 Origin plane: add semi transparent face 2023-05-05 03:09:36 -04:00
Chris Hennes d30946b4e5 Merge pull request #9456 from chennes/femCalculixCommandName
FEM: Adjust translation context for SolverCalculiX
2023-05-04 19:20:42 -05:00
xtemp09 d21d4c89cb Fixed segmentation fault in PartDesign workbench
Closes #9382.
2023-05-04 18:12:34 -04:00
Jolbas 35b0ea71f9 Compability with OpenGL ES
Replace glPolygonMode() and GL_POLYGON with GL_LINE_LOOP
Replace glDepthRange() with glPolygonOffset()
Some cleanup in configuring openGL
2023-05-04 17:38:48 -04:00
wmayer af12d4bfbd fixes #9364: WM_INPUTLANGCHANGEREQUEST seems to freeze FreeCAD 2023-05-04 23:10:07 +02:00
Przemo Firszt 8967bbcd03 [COPR] Remove Raytracing
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2023-05-04 21:43:05 +01:00
Roy-043 c5bf4ea105 Sketcher: element arc icons have start and end point switched
In the icons arcs are shown as CW when in fact they are CCW
2023-05-04 14:03:27 -04:00
wandererfan 176cdd45fe [TD]fix rotation of App::Link 2023-05-04 13:16:09 -04:00
luzpaz cd6efa23c6 Draft: modfified translate function to allow comments
Also fixed incorrect typos in previous commit
2023-05-04 13:28:10 +00:00
luzpaz c6b2b3fae3 Draft: Add l10n context for ambiguous string
Also tweaked code formatting
Closes #9406
2023-05-04 13:28:10 +00:00
wmayer 2de08f77b7 Use View3DInventorViewer::setSelectionEnabled instead of SoFCUnifiedSelection::selectionRole 2023-05-04 08:03:11 +02:00
wmayer 87749d1bb8 Gui: do not enable lighting when rendering from image or framebuffer 2023-05-04 07:55:05 +02:00
jimzim111 0c7ef7d4c8 Merge branch 'master' into path_maintainposition 2023-05-03 14:17:15 -07:00
sliptonic 703ba9b3cf Merge pull request #9419 from jimzim111/path_importOpBases
PATH: Change GUI Op Base Geometry Import button to support multiple bases
2023-05-03 16:13:39 -05:00
Przemo Firszt 8272355abc [COPR] Restore dynamic release numbering
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2023-05-03 19:16:27 +02:00
Abdullah Tahiri b626caffdc Sketcher: Fixes wrong redundancy reporting
==========================================

fixes #6174

Problem
=======

The popularity contest heuristic was designed to assume that removing one solver constraint from a redundant group would potentially satisfy it.

This means that for sketcher constraints comprising several solver constraints, the sketcher constraint would never be notified as redundant, but
always partially redundant (where the case may be that it is redundant or that it is partially redundant). This happens because after removing one
solver constraint, it may happen:

(a) that no other solver constraint corresponding to the sketcher constraint remains in the redundant group (so it is indeed partially redundant)
(b) that at least one other solver constraint corresponding to the sketcher constraint remains in the redundant group (so if all solver constraints
remain in the redundant group, the sketcher constraint is actually redundant). This happens because solver constraints of a single sketcher constraint
are orthogonal and consequently, a conflict (or redundancy) emanating from removing one of them cannot actually satisfy the group, as it has no effect
on the other.

Solution
========

When popularity constraint decides on one solver constraint, remove any other solver constraint of the same tag (i.e. same sketcher constraint) that is
present in the conflict group (case b). This does not affect case a, because the solver constraint that is not redundant is not present in the conflict
(redundancy) group.
2023-05-03 16:32:50 +02:00
Yorik van Havre 04dd1cb279 Merge pull request #9433 from chennes/fixSerbianLatinMenuEntry
GUI: Transform sr-CS to sr_Latn in menu entry
2023-05-03 11:28:13 +02:00
Yorik van Havre 5c3b5a2405 Merge pull request #9445 from Roy-043/Draft-use-convert_draft_texts-in-importDXF.py
Draft: use convert_draft_texts in importDXF.py
2023-05-03 11:05:43 +02:00
Chris Hennes a0fc6bc727 Sketcher: Tweak wording as suggested by translators 2023-05-02 20:29:36 +02:00
Chris Hennes 6da3d0e6b5 Mods: Remove Raytracing
Deprecated. Replaced by 3rd party addon 'Render'.
2023-05-02 12:49:54 -05:00
Chris Hennes bd4401ba52 Merge pull request #9374 from wwmayer/pd_harmonize
PD: translation of context-menu item
2023-05-02 10:27:41 -05:00
Chris Hennes 6daec8ab34 Merge pull request #9434 from chennes/sketcherTranslateAttachmentDialogTake2
Sketcher: Translate the menu entries in attach dialog
2023-05-02 10:24:36 -05:00
Chris Hennes 3cdb347c72 Merge pull request #9437 from chennes/updateTranslations20230429
Update translations
2023-05-02 10:24:05 -05:00
Chris Hennes 4dbb17f3ac Merge pull request #9440 from chennes/modifyGuiTooltipForTranslation
Gui: Adjust tooltips for improved translation
2023-05-02 10:23:42 -05:00
wmayer bed50951ee Gui: fixes #9086: Disabling the splash screen blocks the startup of Freecad
If no splash screen was shown then windowHandle() returns null and this leads to a segmentation fault.
2023-05-02 16:15:33 +02:00
Chris Hennes 1f78e35916 FEM: Adjust translation context for SolverCalculiX 2023-05-02 09:07:55 -05:00
Florian Foinant-Willig 70eb14ac9c Sketcher : Circle to Line Distance Constraint 2023-05-02 15:41:51 +02:00
Yorik van Havre 691917804f Merge pull request #9412 from yorikvanhavre/arch-ifc-group
Arch - additional prevision for NativeIFC
2023-05-02 10:49:06 +02:00
wmayer dc9c7a3661 Core: do not override sys.stdin when using FreeCAD as Python module 2023-05-02 09:44:09 +02:00
wmayer bc7ad64452 Gui: add comment about troubleshooting OpenGL 2023-05-01 23:32:24 +02:00
wmayer 39fb455af2 Gui: workaround to show content of image plane
This workaround is needed on some platforms after the refactoring of the NaviCube code. For more details see also:
https://github.com/FreeCAD/FreeCAD/pull/9356#issuecomment-1529521654
2023-05-01 23:32:24 +02:00
marioalexis 12c1a82a93 Gui: Change indentation to four spaces in Gui/Window.* files 2023-05-01 13:00:02 -03:00
marioalexis fbc6f50411 Gui: Add function in WindowParameter class to connect slot to ParameterManager signal 2023-05-01 13:00:02 -03:00
Chris Hennes 3fabd940dd Merge pull request #9368 from chennes/sketcherTestsToCI
Tests: Add Sketcher tests to CI
2023-04-30 16:59:22 -05:00
Roy-043 d7e0100d4b Draft: use convert_draft_texts in importDXF.py 2023-04-30 19:22:23 +02:00
wmayer b5a548e3fd Gui: fixes #9306: problem importing image if path contains a single quote 2023-04-30 08:42:42 +02:00
0penBrain db3935b699 CI: improve code separation in C++ tests mechanism 2023-04-29 16:30:52 -05:00
wmayer 1e830a8800 Import: fixes #9438: Crash when loading DXF file with a text element 2023-04-29 22:57:07 +02:00
Chris Hennes f1e57968cd Gui: Adjust tooltips for improved translation
Tooltips should not be identical to the command menu entry, it prevents translators from translating them separately.
2023-04-29 13:03:02 -05:00
Chris Hennes fb60e9a0e6 Update translations 2023-04-29 11:10:27 -05:00
wandererfan 25c86bfc9b [TD]remove Qt5 Svg handling code 2023-04-29 11:13:55 -04:00
jimzim111 c034f2a906 Merge branch 'master' into path_maintainposition 2023-04-28 22:06:22 -07:00
Chris Hennes 6d01ff73fb Sketcher: Translate the menu entries in attach dialog 2023-04-28 19:09:45 -05:00
wandererfan b3b30e951b [TD]fix minimum width in TaskCustomizeFormat 2023-04-28 19:13:39 -04:00
Chris Hennes dbc71090f1 GUI: Transform sr-CS to sr_Latn in menu entry 2023-04-28 17:16:03 -05:00
Chris Hennes 1995d84edd PD: Add translation to error messages 2023-04-28 11:32:56 -05:00
wmayer 4d076a7056 Gui: force a redraw of the 3d view when creating it as otherwise on some systems the bottom and right side of the main window becomes black 2023-04-28 13:15:54 +02:00
Yorik van Havre b028bb1696 Merge pull request #9376 from Roy-043/Draft-Remove-Drawing-WB-related-code-from-DXF-related-files
Draft: Remove Drawing WB related code from DXF related files
2023-04-28 12:48:08 +02:00
Yorik van Havre 86d4511a50 Merge pull request #9242 from 0penBrain/svgColor
Draft: Improve color handling of SVG geometry importer
2023-04-28 12:10:19 +02:00
Chris Hennes b03783f274 PD: Attempt to translate exceptions in dialogs
Relies on the exception text having been added to the translation database in a previous call to QT_TRANSLATE_NOOP, and put in the 'Exception' context.
2023-04-27 17:41:41 -05:00
Chris Hennes bdcd28cf5c Part: Attempt to translate exceptions in dialogs
Relies on the exception text having been added to the translation database in a previous call to QT_TRANSLATE_NOOP, and put in the 'Exception' context.
2023-04-27 17:31:44 -05:00
wandererfan 1b2857c306 [TD]Handle changed xml namespace 2023-04-27 18:06:40 -04:00
jim 9407c99831 Change GUI Op Base Geometry Import button to support multiple bases 2023-04-27 10:26:34 -07:00
wandererfan 245c803fd2 [TD]fix bad property type choices 2023-04-27 13:17:48 -04:00
wandererfan 762b4ebf45 [TD]handle escaped unicode annotation text
- v0.19 (and earlier?) stored annotation text as escaped unicode, but
  v0.20 stores the text as utf8.
- checks for "\x" in text to determine is text is escaped or utf8
2023-04-27 13:17:48 -04:00
jim bfcc5d029f Avoid unnecessary mid-Op tool movements to origin: don't add the end vector of 0-length segments to the Op move list. 2023-04-27 09:53:37 -07:00
Chris Hennes 64ff8aa833 Merge pull request #9416 from Rexbas/gitignore
Add CLion default cmake-build locations to gitignore
2023-04-27 10:43:00 -05:00
Chris Hennes 7015d38f97 Tests: Add Sketcher unit tests to CI
Co-authored-by: 0penBrain <48731257+0penBrain@users.noreply.github.com>
2023-04-27 07:49:42 -05:00
Yorik van Havre 141a473eee Arch - prevision for NativeIFC 2023-04-27 12:07:23 +02:00
Rexbas 922dbb6b61 Add CLion default cmake-build locations to gitignore 2023-04-27 11:34:58 +02:00
Chris Hennes 25157275f0 Merge pull request #9336 from chennes/taskHelixParamtersTranslations
PD: Helix parameters status translation
2023-04-26 21:08:17 -05:00
Chris Hennes b0cdbbf1d8 Merge pull request #9350 from chennes/translateEditModeTooltips
GUI: Translate the tooltip for EditMode menu
2023-04-26 21:00:00 -05:00
Chris Hennes ae284512f6 Merge pull request #9301 from chennes/shaftWizardTranslations
PD/ShaftWizard: Correct some translation issues
2023-04-26 20:59:40 -05:00
0penBrain 760f3d7e42 Draft: Improve color handling of SVG geometry importer
Handle 'none' color => Default to black (+ print message)
 Handle #RRGGBBAA color => Return alpha (+ print, message)
 Handle 'rgba(float, float, float, float) => Return alpha (+ print message)
 Reorganize function to return ASAP + print warning if unknown color format
2023-04-26 21:00:37 +02:00
0penBrain c77b2f33c2 CI: fix failing unit test reported as passed in summary, fixes #9170 2023-04-26 18:05:14 +02:00
sliptonic 9962db4838 Merge pull request #9339 from xtemp09/path-fix
Fixed segmentation fault in Path workbench
2023-04-26 10:27:36 -05:00
sliptonic 156b2c9eca Merge pull request #9399 from luzpaz/path-job-remove-tooltip-whitespace
Path: move trailing whitespace out of l10n string
2023-04-26 09:48:16 -05:00
luzpaz 6bf5e1c2f6 Path: move trailing whitespace out of l10n string
Closes #9383
2023-04-26 13:00:27 +00:00
wandererfan f9413307e7 [TD]add Py method to return QGScene for Page 2023-04-26 08:18:14 -04:00
wandererfan 5df11a1ec3 [TD]add Py methods to add items to scene 2023-04-26 08:18:14 -04:00
Yorik van Havre bc3c2874f3 Merge pull request #9385 from luzpaz/linting-arch1
Arch: remove superfluous semi-colon in importWebGL.py
2023-04-26 10:38:39 +02:00
luzpaz 96ecd57895 Arch: remove superfluous semi-colon in importWebGL.py 2023-04-25 15:27:33 +00:00
luzpaz 8f3e7451dd Fix misc. linting and typos
Trim whitespace; move imports to separate lines, fix typos
2023-04-25 17:14:39 +02:00
sliptonic e422187fc7 Merge pull request #9371 from chennes/translationPathFixture
Path: Correct context for Path_Fixture translations
2023-04-25 09:31:27 -05:00
sliptonic a469803ca0 Merge pull request #9366 from luzpaz/linting-path
Path: general linting and typo fixes
2023-04-25 09:29:14 -05:00
luzpaz a9f73fdc14 Path: general linting and typo fixes 2023-04-25 13:07:10 +00:00
Chris Hennes 5605f43b49 Part: Translate offset toolbar dropdown 2023-04-25 12:12:02 +02:00
Chris Hennes dc21d1917d Gui: Translate manual alignment menu 2023-04-25 11:34:49 +02:00
wmayer 82e40835de Set BreakConstructorInitializers to BeforeComma
The initialization list will be of this form:
Class::Class()
    : var1(...)
    , var2(...)
{}

instead of
Class::Class()
    : var1(...),
      var2(...)
{}
2023-04-25 10:31:21 +02:00
Yorik van Havre bf944220a8 Draft: small optimization in snapper - issue #5761 (#9239) 2023-04-25 10:16:47 +02:00
sliptonic 8c382af744 Merge pull request #9380 from Ondsel-Development/8894copyrightfix
fix copyright on FreeCAD model file
2023-04-24 17:51:35 -05:00
Ronny Standtke 83fd5ba1d6 changed Z-axis rotation so that it is readable by default 2023-04-24 18:40:49 -04:00
sliptonic 9f586ade85 fix copyright on FreeCAD model file
for #8894
2023-04-24 17:07:40 -05:00
Chris Hennes 252c628f90 Merge pull request #9379 from luzpaz/git-blame-ignore
Add domain migration commit to `.git-blame-ignore-revs`
2023-04-24 15:43:49 -05:00
luzpaz 8058c25685 Add domain migration commit to .git-blame-ignore
Adds #9352 related activity to `./git-blame-ignore-revs` file
2023-04-24 20:37:45 +00:00
Chris Hennes 3316a9d1a8 Merge pull request #9356 from Jolbas/Navicube_disable_drag
Refactor Navigation Cube
2023-04-24 15:21:38 -05:00
luzpaz 129d5882a7 Migrate domain name from freecadweb to freecad (#9352)
* Migrate domain name from freecadweb to freecad
* Migrate src/Mod/Material files
* Migrate Stylesheet related files
* Migrate *.svg files
* Migrate miscellaneous files
* Migrate some build files
* Migrate recently added TD AR_IRAM template files

Closes #6415
2023-04-24 15:19:20 -05:00
Roy-043 b5a1c0acfb Draft: Remove Drawing WB related code from DXF related files 2023-04-24 16:01:10 +02:00
wmayer f3d385eced PD: fix translation of context-menu item of transform features 2023-04-24 14:04:04 +02:00
wmayer 8a66c8a520 PD: fix translation of context-menu item of dress-up features 2023-04-24 13:44:47 +02:00
Jolbas 466fc32211 NavCube adjustment
Use enum class and fine change to camel case.
Tuned label positions to make one letter labels align better
2023-04-24 12:59:12 +02:00
wmayer fa8bdfd550 PD: harmonize API of view provider classes
* add virtual method featureName() to ViewProviderTransformed
* add featureIcon() to ViewProviderTransformed and ViewProviderDressUp
2023-04-24 12:25:04 +02:00
Jolbas 8abd6d0870 Refactor Navigation Cube
-Use std commands in menu coming with icons
-Only draggable if activated in menu
-Remove textures except labels and used gl fill instead
-Borders on surrounding buttons
-Fix some openGL issues
-Remove duplicate parameter managment. Kept and improved the one in View3DSettings
-Remove lots of other redundant code
-Replaced FontSize param with FontZoom and enabled auto zoom/size on labels.
-Merged BorderColor and TextColor to single EmphaseColor parameter
-Merged ButtonColor and FrontColor to BaseColor parameter
-Added ChamferSize parameter to control edge and corner size
-Use glDrawArrays() innstead of glBegin() and glEnd()
-Draw butt ends on RGB coordinate system
-Fixe issues where cube switch corner on resize window
2023-04-24 12:19:10 +02:00
Yorik van Havre 0d3ec18044 Merge pull request #9370 from chennes/addInspectionToCrowdIn
Tools: Add Inspection to Updatecrowdin
2023-04-24 11:07:49 +02:00
Chris Hennes b3727d9074 Path: Correct context for Path_Fixture translations 2023-04-23 21:49:37 -05:00
Chris Hennes e995575adc Tools: Add Inspection to Updatecrowdin 2023-04-23 21:40:41 -05:00
Chris Hennes 217f3c22f2 Merge pull request #9357 from chennes/toolsPreCommitFormatNormalization
Tools: pre-commit format normalization
2023-04-23 21:34:28 -05:00
wandererfan 709a2cf23d [TD]fix FreeCAD translate substitution 2023-04-23 10:49:48 -04:00
Chris Hennes 2d8c871873 TechDraw: Fix translations of TaskShareView 2023-04-23 10:49:48 -04:00
wandererfan 7120b57192 [TD]fix FreeCAD translate substitution 2023-04-23 10:49:00 -04:00
Chris Hennes 6a1227cbe0 TechDraw: Fix translations of TaskMoveView 2023-04-23 10:49:00 -04:00
Chris Hennes 2e22df3470 Mesh: Eliminate Alt+O as a shortcut for close 2023-04-23 15:42:30 +02:00
Chris Hennes 5cd377f931 TechDraw: Add a few missing translation strings 2023-04-22 19:16:53 -04:00
Abdullah Tahiri d656d4e959 Sketcher: Change behaviour of toggle of mixed group of edges and vertices
=========================================================================

Forum:
https://forum.freecad.org/viewtopic.php?p=677304#p677304

A common operation is to toggle a group of geometry to/from construction. This happens often
in connection with carbon copy operations.

When this happens, geometry is often selected using box selection.

If there are geometry points (which are generally construction), and selection box is used, this
results in construction points being toggled to normal defining mode. This situation is undesirable
in 99% of the cases. It requires to reselect only the points and toggle them back.

When construction points need be made defining geometry (for example to use them as attachments), the
general workflow is to select only those points and toggle them.

In order to improve the efficiency, it has been decided to provide a special behaviour for construction
toggling:

1. Vertices will only be toggled to/from construction IF ONLY vertices are selected.
2. If there is a mixture of edges and vertices, vertices will be ignored during the toggling operation.
2023-04-22 22:19:41 +02:00
Syres916 562c967082 [Sketcher] Allow experienced users to not have...
...the extra points created on rounded rectangles, it started to become a real pain when box selecting large amounts of geometry and having to keep changing the two points back to construction. New and existing users are completely unaffected.
2023-04-22 21:04:23 +02:00
Chris Hennes 22d8c8f0dd Sketcher: Add gtest unit test framework 2023-04-22 20:56:29 +02:00
Chris Hennes 069b5859e0 Merge pull request #9294 from chennes/tastCheckGeometryTranslation
Gui: TaskCheckGeometry message translation
2023-04-22 13:55:06 -05:00
Chris Hennes b169efdbba Merge pull request #9349 from chennes/translateFemSolverCalculix
FEM: Translate Solver Calculix
2023-04-22 13:53:46 -05:00
Chris Hennes 67e1246d81 Merge pull request #9338 from chennes/partBooleanSplitTranslations
Part: Fix context of Part->Split commands
2023-04-22 13:52:27 -05:00
Chris Hennes 8ad059d603 Tools: Add reformat to git-blame-ignore-revs 2023-04-22 13:08:16 -05:00
Chris Hennes 4a7e1b6d9b Tools: Apply pre-commit autoformatting 2023-04-22 13:07:06 -05:00
wandererfan 6caaea06b7 [TD]handle BSpline "lines" in GeometryMatcher 2023-04-22 13:49:10 -04:00
wandererfan 90c3b3c1ae [TD]make BSpline::isLine a general purpose static method 2023-04-22 13:49:10 -04:00
wandererfan c55a9256e1 [Gui]overload toQGraphicsItem, toQGraphicsObject for PyObject 2023-04-22 13:48:31 -04:00
Chris Hennes 74561536af TechDraw: Translate direction labels 2023-04-22 09:31:40 -04:00
MaxiV cab86d1ecf Add files via upload 2023-04-22 09:30:35 -04:00
MaxiV e3881fe938 Update LEEME 2023-04-22 09:30:35 -04:00
andesfreedesign fd9b89b38c Create LEEME
Creation of folder to store templates of the IRAM standard (Argentina)
2023-04-22 09:30:35 -04:00
Chris Hennes b40eae83f0 TechDraw: Translate leader line arrow shapes 2023-04-22 09:29:09 -04:00
Abdullah Tahiri 04dce2546c Sketcher: Fix typo 2023-04-22 15:21:24 +02:00
Chris Hennes c0b5fb2f8c Sketcher: Translate the attacher GUI dropdown 2023-04-22 15:12:15 +02:00
Abdullah Tahiri a6adfc58b6 Sketcher: Fix overlapped points not selecting/preselecting
=========================================================

Fixes an issue reported directly by Chrisb.

On overlapping points, such as due to coincidence, selection and
preselection (e.g. from the ElementsWidget) is not shown for those
points which are rendered first.

Solution: To raise the points to the highlight height.
2023-04-22 15:07:34 +02:00
Chris Hennes 273943a42c GUI: Translate the tooltip for EditMode menu
The tip text was extracted from the Wiki.
2023-04-21 16:55:05 -05:00
Chris Hennes e9250684db FEM: Translate Solver Calculix 2023-04-21 15:54:51 -05:00
Abdullah Tahiri bfd8e5d334 Sketcher: Tooltips for solver message hyperlinks
================================================

I promised Uwe I would look into improving the information of the solver messages, including the abbreviation DoF.

I wanted to keep the effort by Paddle to reduce the width of the taskbar.

This commit introduces new explanatory tooltips for the hyperlinks, a different tooltip per type of information.

UrlLabel sets the tooltips automatically to the url text on change. This commit modifies the tooltip just after the change,
so that the meaningful tooltip is shown.
2023-04-21 19:45:06 +02:00
xtemp09 59a208e81b Fixed segmentation fault in Path workbench
Closes #6286.
2023-04-21 21:57:52 +07:00
Chris Hennes f5eccb11a1 TechDraw: Preferences wording tweak 2023-04-21 09:19:54 -04:00
wmayer 396a7060ef PD: don't use a static variable as otherwise it won't be translated after changing the language 2023-04-21 12:08:20 +02:00
Yorik van Havre bb3ecb5161 Merge pull request #9332 from chennes/archStairsTranslation
Arch: Fix translation context for Stairs
2023-04-21 10:19:11 +02:00
Chris Hennes 894a3cf505 Part: Fix context of Part->Split commands 2023-04-20 22:44:09 -05:00
Morgan 'ARR\!' Allen ddbfc8ebec Merge branch 'master' into path_custom_source 2023-04-20 18:39:18 -07:00
Chris Hennes 2be234f59b PD: Helix parameters status translation 2023-04-20 16:11:54 -05:00
joha2 bfb3efbc72 FEM: XML/XDMF: removed trailing whitespaces 2023-04-20 22:42:50 +02:00
joha2 1e49852fa8 FEM: XML/XDMF: Console.Print* strings to F-strings (where necessary) and reformated them to avoid long lines 2023-04-20 22:42:50 +02:00
joha2 5d30b30c5e FEM: XML/XDMF: bumped year numbers in license comments 2023-04-20 22:42:50 +02:00
joha2 400048b22d Fem: feminout: XML Fenics format: fixed error in read function 2023-04-20 22:42:50 +02:00
joha2 d10c941d1f Fem: feminout: write XML/XDMF Fenics formats: fixed some errors in written meshs read by meshio library
* XDMF: capital "Version" in tag
* XDMF: capitalizing topology names
* XML: removed data tag throwing a warning in meshio
2023-04-20 22:42:50 +02:00
Bernd Hahnebach 708cbde90e FEM: pep8 code formatting 2023-04-20 22:40:59 +02:00
Chris Hennes 9f1bf040a8 Merge pull request #9311 from ronnystandtke/i18n_origin
added i18n for the origin
2023-04-20 15:40:15 -05:00
Chris Hennes 2815620fa5 FEM: Correct mis-spelled 'Elmer' 2023-04-20 22:39:37 +02:00
Chris Hennes 897c40e902 Merge pull request #9317 from ronnystandtke/i18n_for_axes_and_planes
added i18n for axes and planes
2023-04-20 15:37:46 -05:00
wandererfan 6f535c26a3 [TD]fix null shape in GeometryMatcher 2023-04-20 16:33:58 -04:00
Chris Hennes c34c2fdf17 Arch: Fix translation context for Stairs 2023-04-20 15:28:31 -05:00
Ronny Standtke 1f99ded44d removed test gainst label name (useless because of i18n) 2023-04-20 21:51:18 +02:00
Abdullah Tahiri 11c76c998e Sketcher: Fix double icons not selectable
=========================================

The scaling factor used  was the one of the ViewProviderSketch, however ZoomTranslation uses its own scaling factor.

fixes #6283
2023-04-20 20:45:40 +02:00
Abdullah Tahiri 423ff82409 Sketcher: SoZoomTranslation - expose scaling factor
===================================================

This commit exposes the scale factor used.
2023-04-20 20:45:40 +02:00
wmayer 8b1d094fb4 Gui: Add translations for color bar labels 2023-04-20 18:52:07 +02:00
Chris Hennes 7d2107be23 Merge pull request #9327 from yorikvanhavre/translations
Translations
2023-04-20 10:41:44 -05:00
wmayer 963322876f Gui: fix several pending issues of image scale:
* refactor some functions
* do not use mdi view of active document as parent for spin box because this can be the wrong widget
* fix compiler warnings of unused variables
* fix typo
* handle Qt::Key_Return in event filter
* fix lint error
2023-04-20 16:52:06 +02:00
sliptonic 1f6b257bfa Merge pull request #9295 from FreeCAD/master
Path: mediate JobEdit tool name truncation
2023-04-20 07:10:30 -05:00
Yorik van Havre 33c2e485e3 Merged crowdin translations 2023-04-20 14:04:19 +02:00
Yorik van Havre 0c8e973ff8 Merge pull request #9304 from yorikvanhavre/arch-recycler-fix
Arch: Allow the IFC export recycler to work with other templates
2023-04-20 13:54:53 +02:00
Yorik van Havre d96042fc24 Updated ts files 2023-04-20 13:53:35 +02:00
Yorik van Havre f9d584016d [Tools] fixed encoding error in updatets script 2023-04-20 13:53:21 +02:00
Yorik van Havre c0e754f03c Merge pull request #9323 from berndhahnebach/bhbdev247
ARCH, export ifc, add workaround for placement problem in IfcOS serializer
2023-04-20 12:06:05 +02:00
Roy-043 d19c44a8ac [Draft] Disable Draft_AddConstruction if there is no selection (#9322) 2023-04-20 08:51:44 +02:00
J-Dunn f95b832efa Merge branch 'master' into master 2023-04-20 07:23:44 +02:00
Bernd Hahnebach e75bc1c299 ARCH, export IFC, serializer, workaround for placement problem 2023-04-20 00:17:03 +02:00
J-Dunn da7607fc2d Path: JobEdit setWordWrap(False)
Turn off word wrap on JobEdit Tool tab to prevent TC name truncation. 
Also add translate() to new tooltips.
2023-04-19 23:36:25 +02:00
wmayer 1dcc58c4b1 Gui: declare methods as override 2023-04-19 17:38:56 +02:00
Przemo Firszt 986a0d61eb [COPR] Fix broken builds
Fixes by mr-milky, edited by PrzemoF
2023-04-19 17:38:14 +02:00
Roy-043 3aebe166b4 [Arch] remove obsolete decode code (#9316)
* Update ArchCommands.py

* Update ArchPanel.py

* Update ArchReference.py

* Update ArchWall.py

* Update import3DS.py

* Update importDAE.py

* Update importIFClegacy.py

* Update importOBJ.py

* Update importSHP.py

* Update importSHP.py

Reverted

* Update importSH3D.py
2023-04-19 15:58:06 +02:00
Ronny Standtke 797dde0837 added i18n for axes and planes 2023-04-19 14:43:45 +02:00
luzpaz 78bdc34996 Draft: linting bad indentations, superflous markup (#9313) 2023-04-19 09:48:57 +02:00
luzpaz 1c75bbb48a Arch: lint bad indentation, superfluous formatting (#9310) 2023-04-19 09:40:16 +02:00
Yorik van Havre 5f8c39762b Merge pull request #9314 from chennes/addAppToCrowdIn
Add App to CrowdIn
2023-04-19 09:17:39 +02:00
Chris Hennes 0f9a9e3e56 Tools: Apply Black to updatecrowdin.py 2023-04-18 22:41:19 -05:00
Chris Hennes ff3de42686 Tools: Add App to CrowdIn upload 2023-04-18 22:37:23 -05:00
Chris Hennes 78196e5c18 Gui: TaskCheckGeometry message translation 2023-04-18 19:10:06 -05:00
Ronny Standtke e895ee3675 added i18n for the origin 2023-04-18 20:29:04 +02:00
Chris Hennes cb0b02adf4 Merge pull request #9299 from chennes/translateGeometryCheckResults
Part: translate geometry check results
2023-04-18 10:46:24 -05:00
Chris Hennes cdbb0a9a5e Merge pull request #9305 from chennes/toolbarMenuTranslationStrings
GUI: Add missing toolbar translation strings
2023-04-18 10:45:50 -05:00
Chris Hennes 9f1fe07b51 Merge pull request #9292 from chennes/femGuiToolsTranslation
FEM: Fix translation of long phrase
2023-04-18 09:32:26 -05:00
Chris Hennes 05074de3d2 Merge pull request #9302 from ronnystandtke/i18n_command_body
i18n for CommandBody
2023-04-18 09:29:17 -05:00
luzpaz bc1f217664 Arch: linting multiple imports on one line (#9281) 2023-04-18 16:23:44 +02:00
Chris Hennes 2c78fa6d73 GUI: Add missing toolbar translation strings 2023-04-18 09:21:19 -05:00
Artyom V. Poptsov 8a762a8637 ArchPanel: Remove "utf8_decode=True" from "translate" calls (#9279)
* src/Mod/Arch/ArchPanel.py: Remove deprecated "utf8_decode=True" from
  "translate" calls.
2023-04-18 16:18:01 +02:00
luzpaz b5f2a404f5 Arch: fix linting for ArchStairs.py (#9276)
* Arch: fix linting for ArchStairs.py

Fix bad indentation

* Arch: fix linting for ArchStairs.py (cont.)

Fixed long line, superflous parathesis, and formatting
2023-04-18 16:15:35 +02:00
Yorik van Havre e633024aff Arch: Allow the IFC export recycler to work with other templates
The IFC export recycler always assumes to be used from the Arch builtin
IFC exporter from exportIFC.py. This change allows it to be used with
other templates/input files as well
2023-04-18 15:01:47 +02:00
Ronny Standtke 1199f26401 fixed typo 2023-04-18 12:24:21 +02:00
Ronny Standtke 1be6c076ab added i18n for new body labels 2023-04-18 12:23:37 +02:00
Chris Hennes 3b22ee764f PD/ShaftWizard: Correct some translation issues 2023-04-17 23:48:08 -05:00
Chris Hennes bca50b8001 Merge pull request #8982 from ConnorWorrell/SpinboxFractionInputForMerge
[GUI] QuantitySpinBox: more intuitive parsing
2023-04-17 21:47:48 -05:00
Chris Hennes 73cff0c521 Merge pull request #9291 from chennes/translateToolRemoveBOM
Translate tool remove BOM
2023-04-17 21:33:17 -05:00
Chris Hennes 0729151e45 Merge pull request #9284 from dodomorandi/fix-event-type-ub
Fix wrong downcasting of QEvent
2023-04-17 21:32:34 -05:00
wandererfan 470a9d6911 [TD]make scrubbing count a property of view 2023-04-17 20:43:20 -04:00
Edoardo Morandi e2e1a51790 fix: UB by erroneous event downcasting
When an event type is `QEvent::Wheel`, the event type is `QWheelEvent`,
which is not a `QMouseEvent`. This caused a undefined behavior that can
be cached by ubsan.
2023-04-17 23:42:15 +02:00
Chris Hennes ff8035f1e9 Merge pull request #9298 from Ondsel-Development/fix_wb_autoload
Pref: Wb: disabling wb do not disable auto-load.
2023-04-17 16:13:37 -05:00
Chris Hennes df0054bbf1 Part: translate geometry check results 2023-04-17 16:06:15 -05:00
Paddle ce68ada731 Pref: Wb: disabling wb do not disable auto-load. 2023-04-17 21:37:46 +02:00
Chris Hennes 8fadc2ba05 Merge pull request #9199 from Ondsel-Development/image_task
Image: Merge taskboxes into one 'Image plane Settings'.
2023-04-17 14:24:35 -05:00
Chris Hennes aa95389f18 Merge pull request #9290 from chennes/translateSoFCColorText
Gui: Add translations for color bar labels
2023-04-17 12:25:16 -05:00
Chris Hennes 66cf2e706d Merge pull request #9293 from chennes/translateExportErrorDialog
Gui: Fix translation of Export error dialog
2023-04-17 11:14:38 -05:00
Paddle b3e1d3dc6a TaskImage: Fix segfault when doc closed before taskview is dismissed. 2023-04-17 16:03:11 +02:00
Paddle ba1ed19643 TaskImage: Remove 'outside picture' mode. 2023-04-17 15:10:13 +02:00
J-Dunn a009da1af1 Path : mediate JobEdit tool name truncation
reducing feed-rate column headers to V and H to reduce truncation due to  (Qt.ElideMode) bugginess.
2023-04-17 10:12:24 +02:00
Chris Hennes 078071fe6e Gui: Fix translation of Export error dialog 2023-04-16 21:27:28 -05:00
Chris Hennes c094c88308 FEM: Fix translation of long phrase
The lupdate tool does not correctly parse Python string concatenation. Also, .format() calls should be made on the string returned from tr(), not on the string going into it.
2023-04-16 21:13:54 -05:00
Chris Hennes 9dba7f25e4 Gui: Add translations for color bar labels 2023-04-16 20:58:42 -05:00
Chris Hennes 6d112c565e Tools: Apply Black formatter to updatets.py 2023-04-16 20:54:32 -05:00
Chris Hennes 8d2f98a780 Tools/updatets.py: clean up file formatting issues. 2023-04-16 20:54:22 -05:00
wandererfan 07a6c62aef [TD]fix unwanted inversion in edge scrubbing 2023-04-16 16:34:09 -04:00
Chris Hennes 6b4281883a Merge pull request #9287 from xtemp09/gui-fix2
[GUI] Setting initial color of QColorDialog
2023-04-16 13:19:09 -05:00
Chris Hennes c16e3ab227 Merge pull request #9286 from dodomorandi/fix-uninit-variable
Fix uninitialized member variable
2023-04-16 13:17:16 -05:00
sliptonic b953708995 Merge pull request #9167 from nik570/Fangling_postprocessor
Path: Added post processor for Fangling plasma cutter
2023-04-16 12:23:15 -05:00
Nicklas SB Karlsson fee5c551ff Co-authored-by: Benjamin Bræstrup Sayoc <benj5378@outlook.com> code cleanup. 2023-04-16 18:47:53 +02:00
xtemp09 1e162671a2 Setting initial color of QColorDialog
This commit fixes issue #7322
2023-04-16 13:56:19 +07:00
Edoardo Morandi 28ff8df3f0 fix: uninitialized class variable
This specific boolean variable could be used uninitialized. Assigning it
a default value is cheap and it avoids the issue.
2023-04-16 00:59:16 +02:00
ronnystandtke 89ebbfebcd Removed Image workbench from directories list (#9275) 2023-04-15 15:06:05 -05:00
wandererfan c82cf008f3 [TD]remove overlapping edges from HLR 2023-04-15 15:24:28 -04:00
wandererfan 22aff5852d [TD]Add preference for overlapping edge cleaning 2023-04-15 15:24:28 -04:00
sliptonic 799dd4bf5a Merge pull request #9165 from morganrallen/path_prop_enum_init_reorder
Path: set enumeration default properties after `.initOperation`
2023-04-15 13:27:50 -05:00
Chris Hennes 6ca182565f Merge pull request #9274 from xtemp09/mem-fix2
Fix the typo in #9267
2023-04-15 11:39:53 -05:00
sliptonic 32e187e86f Merge pull request #8459 from cam72cam/gcode_apply_gcode_placement
Path: Apply Placement to simulated/exported GCode
2023-04-15 10:43:37 -05:00
Benjamin Bræstrup Sayoc 098cd44f21 [TechDraw] Add customizability for dimension line spacing 2023-04-15 10:20:38 -04:00
xtemp09 c8f678087f Fix the typo in #9267 2023-04-15 15:41:33 +07:00
Chris Hennes 8e9cf99677 Merge pull request #9260 from Ondsel-Development/pref_general
Pref: general: Re-organize page.
2023-04-14 20:31:36 -05:00
Chris Hennes 0adfa1863a Merge pull request #9259 from ronnystandtke/multiselect_hide_in_tree
added support for multi selection when toggling visibility in tree view
2023-04-14 20:26:41 -05:00
Chris Hennes 3f4fff45a4 Merge pull request #9267 from xtemp09/mem-fix
Fix memory leak when loading a font file
2023-04-14 15:41:21 -05:00
xtemp09 93bdd9dc78 Fix memory leak when loading a font file
- FreeCAD allocated memory to load a font file, but did not deallocate.
std::unique_ptr fixed it.
- Removed unnecessary includes
2023-04-15 01:42:19 +07:00
Nicklas SB Karlsson 224fee8e64 Co-authored-by: Benjamin Bræstrup Sayoc <benj5378@outlook.com> 2023-04-14 18:25:07 +02:00
sliptonic 5533e06466 Merge pull request #9264 from luzpaz/trailing-whitespace-9
Fix trailing whitespace
2023-04-14 10:45:49 -05:00
wmayer c93b5e27c9 PD: fix crash on Windows when loading PD workbench 2023-04-14 16:34:00 +02:00
wandererfan 12e46d7495 [TD]Correct default extension line gaps 2023-04-14 08:44:38 -04:00
Nicklas SB Karlsson fd5a8ff547 Added post processor for Fangling plasma cutter to path workbench.
It have been tried using the engrave operation in demo mode on real hardware and seems to work but not yet tested cutting real metal.
2023-04-14 14:35:31 +02:00
luzpaz 546a6fe9f3 Fix trailing whitespace 2023-04-14 03:26:22 +00:00
Chris Hennes 3977330012 Merge pull request #9244 from ronnystandtke/navicube_i18n
Added translation functionality for Navigation Cube labels
2023-04-13 17:40:14 -05:00
Chris Hennes 3432d8796c Merge pull request #9261 from Roy-043/Gui-CommandView.cpp-Fix-typos-and-more-consistent-WindowTitle
Gui: CommandView.cpp: Fix typos and more consistent WindowTitle
2023-04-13 13:29:12 -05:00
Roy-043 8ee06381fa Gui: CommandView.cpp: Fix typos and more consistent WindowTitle 2023-04-13 18:24:00 +02:00
Paddle beb866efdc Pref: General: revert change from stylesheet to theme. 2023-04-13 18:14:55 +02:00
Paddle 7888608dc3 Pref: General: Rename 'Main Window' groupbox to 'Application' as it has settings unrelated to mainwindow (recent files).
Reorder settings by importance and for the group to look better.
2023-04-13 17:43:01 +02:00
Chris Hennes 40dbe79695 Merge pull request #9254 from 0penBrain/angDeflection
Gui: consistent angular deflection between Part and Preferences
2023-04-13 10:42:58 -05:00
Ronny Standtke 37eb3ba229 use toUtf8() instead of toLocal8Bit() 2023-04-13 17:29:12 +02:00
Paddle 0243295283 Pref: General: Remove '(numpad)' string. It's tooltip stuff. 2023-04-13 17:26:56 +02:00
Ronny Standtke 683dd82fa5 added support for multi selection when toggling visibility in tree view 2023-04-13 17:15:29 +02:00
Paddle b070b2f57c Pref: General: The 'recent file' spinbox was very far away from the name.
And the name missed ':' as others settings.
2023-04-13 16:59:43 +02:00
Paddle 68c76ace3a Pref: General: Remove 'start up' groupbox as it has a single element. 2023-04-13 16:44:14 +02:00
Paddle 9ed796b83a Pref: General: Rename 'Style sheet' to 'Theme' 2023-04-13 16:41:57 +02:00
0penBrain afd6a15f54 Gui: consistent angular deflection between Part and Preferences
Also with docstring just below modified line
2023-04-13 16:04:40 +02:00
Paddle 4a65dcd768 Pref: General: Move pref pack at the end of the page. 2023-04-13 14:59:12 +02:00
Paddle 30c4a694a7 Pref: General: Remove useless and redundant 'General' groupbox. 2023-04-13 14:58:01 +02:00
0penBrain 995bc0392b CI: remove pivy patching on Ubuntu 22.04 workflow
Problems have been fixed upstream
2023-04-13 14:56:38 +02:00
Yorik van Havre 5f0b58449d Merge pull request #9060 from kpemartin/master
Fix encoding error for import from older DXF files
2023-04-13 13:03:13 +02:00
Ronny Standtke a22865bb70 removed redundant "Toggle visibility" menu item from View menu 2023-04-13 10:57:49 +02:00
Ronny Standtke 9e46e4a7d1 use tr() instead of QT_TR_NOOP() 2023-04-13 02:27:16 +02:00
wmayer eaf9d43f37 Gui: mark methods in DemoMode as override 2023-04-13 01:12:56 +02:00
wmayer 40ec5fc5ce Gui: improve whitespaces 2023-04-13 01:12:56 +02:00
wmayer be999ea480 Gui: sort headers according to Qt module and remove deprecated headers 2023-04-13 01:12:56 +02:00
Chris Hennes 2b393d3ec8 Merge pull request #9245 from chennes/addonManagerMacroGitIcon
Addon Manager: Fix git icons on wiki
2023-04-12 16:16:23 -05:00
wandererfan 2c8e67ad6b [TD]add preference for new face finder 2023-04-12 16:38:54 -04:00
Chris Hennes 4d25a9347c Addon Manager: Fix git icons on wiki 2023-04-12 15:21:17 -05:00
Ronny Standtke 69dd7f2949 added i18n for navicube labels 2023-04-12 22:13:58 +02:00
Paddle 7b3069868d TaskImage: Simplify restore & updatePlacement. It will make it easier if we want to enable other planes than XY XZ ZY. 2023-04-12 18:52:04 +02:00
Paddle b10a7a65db TaskImage: finish fixing when imageplane is in transformed part. 2023-04-12 18:23:35 +02:00
Paddle e168be3397 TaskImage: try to fix bug when in Part container. 2023-04-12 17:50:59 +02:00
Paddle 6487c748e6 TaskImage : fix X Y distances that were not taken into account for SoDatumLabel transform. 2023-04-12 17:50:42 +02:00
Paddle 08d87644a9 Task image. replace {} with () in the ctor for consistency 2023-04-12 17:49:54 +02:00
Paddle c90dc541cd TaskImage: fix X,Y distance that were reversed on XZ and ZY. 2023-04-12 17:49:18 +02:00
Paddle c9c9920531 TaskImage: Fix enter doesn't work. 2023-04-12 16:48:08 +02:00
Paddle a8f65156db TaskImage: fix issues 2023-04-12 16:48:08 +02:00
Paddle 46a9d89e4b TaskImage: add missing headers 2023-04-12 16:48:08 +02:00
Paddle 3be327d29e TaskImage: Fix Cancel on Esc and final ui adjustments. 2023-04-12 16:48:08 +02:00
Paddle 33614f4c02 TaskImage : Remove OK and Cancel buttons and others 2023-04-12 16:48:07 +02:00
Paddle 31b2cf68d6 TaskImage : Add OK and Cancel buttons. 2023-04-12 16:48:07 +02:00
Paddle 0acbb881cb TaskImage: rework interactive scaling tool. 2023-04-12 16:48:07 +02:00
Paddle 9172157d40 TaskImage: use SoDatumLabel instead of basic line. 2023-04-12 16:48:07 +02:00
Paddle fc8c1cbed7 Move SoDatumLabel from Sketcher to Core so that it can be reused anywhere. 2023-04-12 16:48:07 +02:00
Paddle 1071fb1cdd Image: Merge taskboxes into one 'Image plane Settings'
- Allow user to position the image with a X / Y distance.
- Allow user to rotate the image on its plane.
- Adds Transparency.
- Image sizes change from PX to System unit as PX don't make sense for the user.
2023-04-12 16:48:07 +02:00
alafr 7a13209a32 Draft: avoid precision loss of SoCoordinate3 (#9202) 2023-04-12 15:32:14 +02:00
Chris Hennes 7486e9bed4 Merge pull request #9237 from Ondsel-Development/pick_radius
Pref: Move pick radius to selection.
2023-04-12 08:31:35 -05:00
Paddle cf0b6b8e93 Pref: Move pick radius to selection. 2023-04-12 14:44:31 +02:00
wmayer a939f918b1 Mesh: [skip ci] restore comment 2023-04-12 13:34:46 +02:00
wmayer b543fe3bfe MSVC: fix build failure related to PCH 2023-04-12 08:30:44 +02:00
wmayer 140657e1cc Part: set an absolute upper limit of the deflection for the shape tessellation to avoid useless results 2023-04-12 08:10:39 +02:00
wandererfan 0146d070e2 [TD]fix ShapeExtractor error
- recent changes caused ShapeExtractor to return only the
  first source shape encountered instead of gathering all
  source shapes.
2023-04-11 22:40:29 -04:00
wandererfan d8b3cdc3fe [TD]mask Balloon properties inherited from DrawView
- Balloons do not use the Scale and ScaleType properties
2023-04-11 22:40:29 -04:00
wandererfan 84aa21329e [TD]clean up from recent preferences/return PRs 2023-04-11 22:40:29 -04:00
Benjamin Bræstrup Sayoc 3f81006ac4 [TechDraw] Simplify return logic
Normal warmup
2023-04-11 13:49:57 -04:00
Benjamin Bræstrup Sayoc 70c9cf0fc0 [TechDraw] Simplify return logic
Easy warmup
2023-04-11 13:00:45 -04:00
wmayer 122ab14d92 Part: add functions to return the number of nodes and triangles of a tessellation 2023-04-11 13:34:44 +02:00
Yorik van Havre 88ee605dd1 Merge pull request #9162 from Roy-043/Arch-Remove-obsolete-code-related-to-the-Drawing-WB
[Arch] Remove obsolete code related to the Drawing WB
2023-04-11 12:13:26 +02:00
Benjamin Bræstrup Sayoc 411122dbb6 [TD]resolve merge conflicts re Preference retrieval #2 2023-04-10 23:34:05 -04:00
Benjamin Bræstrup Sayoc ef5fc4f237 [TechDraw] Simplify return logic 2023-04-10 23:34:05 -04:00
Benjamin Bræstrup Sayoc 15fe52a04b [TechDraw] Simplify retrievement of user preferences
for all TechDraw files
2023-04-10 23:34:05 -04:00
wandererfan 708f5e4930 [TD]fix missing selection guard
- Area dimension extension was not checking that only
  faces were in the selection.
2023-04-10 14:18:34 -04:00
Chris Hennes 72fae51ef4 TechDraw: Fix Windows compilation 2023-04-10 13:26:00 -04:00
wmayer f1ecc9e820 Gui: [skip ci] fix crash in CommandActionPy::getAction() 2023-04-10 17:34:10 +02:00
marioalexis 60ae9f35b6 Gui: Add CommandAction descriptor object to access commands action 2023-04-10 16:53:51 +02:00
marioalexis 6cb9bdd23a src: Add descriptor protocol support for Python C++ extension modules 2023-04-10 16:53:51 +02:00
sliptonic b02b879dd5 Merge pull request #9218 from J-Dunn/master
Path WB: Correct bug causing incorrect feedrate to be used.
2023-04-10 08:38:01 -05:00
0penBrain b6576902d4 CI: move libpack dir instead of copying it 2023-04-10 15:21:49 +02:00
0penBrain 01e0948a2a [Bugfix]Sketcher: edge/point colors in preferences aren't took into account
Regression introduced by 58a9af2 (PR #9151)
2023-04-10 11:13:02 +02:00
wandererfan d3f8132273 [TD]fix error in DPG from bf00a1afc9 2023-04-09 21:43:43 -04:00
Benjamin Bræstrup Sayoc 845a156410 [TechDraw] Improve readability of PreferencesGui.cpp 2023-04-09 11:59:43 -04:00
Benjamin Bræstrup Sayoc 3b2e44a274 [TechDraw] Simplify retrievement of user preferences 2023-04-09 11:59:43 -04:00
J-Dunn f02460ca74 Correct bug causing incorrect feedrate to be used.
Recent changes to had G98/G99, ended up causing horizontal feedrate to be used these drilling operations. 
This fix corrects that and does some fluke8 clean ups.
2023-04-08 23:00:41 +02:00
wmayer 010e2ca377 Gui: [skip ci] fix typo View3DInventorViewer::toQPoint 2023-04-08 14:50:18 +02:00
wmayer 6237a0e67b Gui: rename getPointOnScreen() to getPointOnViewport() 2023-04-08 13:51:32 +02:00
wmayer 7bf0e2e703 Gui: add method to convert between QPoint and SbVec2s considering device pixel ratio 2023-04-08 13:51:32 +02:00
wandererfan f5a7b499ce [TD]fix fail on transform of infinite shape
- passing an infinite shape to TopoShape::transformGeometry
  throws exception GeoConvert::Surface2BSpline() - infinite surface
2023-04-07 17:15:43 -04:00
wandererfan bf582bc760 [TD]add missing namespace 2023-04-07 17:15:43 -04:00
Chris Hennes 9b87c2eb9b Merge pull request #9110 from Pesc0/removecommandstab
Remove "commands" tab in customize dialog
2023-04-07 13:11:43 -05:00
sliptonic f43a041dc8 Merge pull request #9200 from J-Dunn/master
Path: make drilling paths G99 aware and NIST compliant (tidy up)
Please make sure to update the wiki.  It would be nice to include a reference to the NIST spec that the title refers to. That way, if there's a regression or complaint, we have some basis to continue the conversation.
Thank you for the PR.
2023-04-07 08:04:27 -05:00
wmayer 51a2cb9599 App: fix some lint warnings 2023-04-07 12:41:46 +02:00
berniev de1acd926e simplifying a function
Dramatic simplification of legacy code by separating code and data and applying some later C++.
Function removed from Application.cpp as it was in a anonymous namespace and could not easily be subjected to unit testing.
Added ProgramOptionsUtilities.h
2023-04-07 12:37:05 +02:00
wandererfan eba80267ff [TD]use namespace with endl 2023-04-06 13:51:35 -04:00
Benjamin Bræstrup Sayoc a207822ee8 [TechDraw] Move CenterLine into own file 2023-04-06 13:51:35 -04:00
Benjamin Bræstrup Sayoc 124bbcdeb9 [TechDraw] Move CosmeticVertex into own file 2023-04-06 13:51:35 -04:00
Chris Hennes c293e862e7 Merge pull request #9201 from chennes/precommitEnableTest
Precommit: Enable in tests/src
2023-04-06 09:42:41 -05:00
Chris Hennes e9cc54492c Precommit: Enable in tests/src [skip ci] 2023-04-06 09:41:29 -05:00
André Caldas 9d54668d1e Deletes GCS::Constraint directly instead of calling GCS::free(). 2023-04-06 16:29:48 +02:00
J-Dunn 300780846a Path: make grbl_post NIST compliant on G98/G99 2023-04-06 12:08:32 +02:00
J-Dunn 90d691d4c9 Path: G99 aware via keeptooldown 2023-04-06 12:06:14 +02:00
J-Dunn 33eb14ad52 Path: G99 aware via keeptooldown 2023-04-06 12:05:27 +02:00
J-Dunn 06a2a29e86 Path: make 3Dview G99 aware 2023-04-06 12:02:48 +02:00
J-Dunn 27e13078ca Path: G99 aware, ui checkbox 2023-04-06 12:00:22 +02:00
Bernd Hahnebach 8ea5d9bac1 FEM: pep8, more code formatting 2023-04-06 08:13:42 +02:00
Bernd Hahnebach 4fe41c5372 FEM: code formatting, pep8, E265 2023-04-06 08:13:42 +02:00
Bernd Hahnebach 4b71146e5d FEM: code formatting, pep8, E225 2023-04-06 08:13:42 +02:00
Bernd Hahnebach d086faaaf6 FEM: code formatting, pep8, 261 2023-04-06 08:13:42 +02:00
Bernd Hahnebach 5a379ae716 FEM: code formatting, pep8, 226 2023-04-06 08:13:42 +02:00
Bernd Hahnebach df0f132cd9 FEM: code formatting, pep8, 211 2023-04-06 08:13:42 +02:00
Bernd Hahnebach 6464482ba3 FEM: code formatting, pep8, 302 2023-04-06 08:13:42 +02:00
luzpaz 4b12f09b40 Draft: fix typo in importDWG.py 2023-04-06 08:08:32 +02:00
Chris Hennes e04bf47d8d Formatting: Apply pre-commit to tests/src 2023-04-06 08:07:53 +02:00
Chris Hennes 5bbac68676 Merge pull request #9176 from 0penBrain/FCCI_for_PR
CI: initial release of Windows build workflow
2023-04-05 22:53:20 -05:00
WandererFan 31e81a2857 Update DrawViewPart.cpp
missed removing old line
2023-04-05 19:19:52 -04:00
Benjamin Bræstrup Sayoc 0035956e33 [TechDraw] Improve readability of EdgeWalker.cpp 2023-04-05 19:19:52 -04:00
Benjamin Bræstrup Sayoc 4455e40463 [TechDraw] Improve readability of DrawViewSymbol.cpp 2023-04-05 19:19:52 -04:00
Benjamin Bræstrup Sayoc 466b167443 [TechDraw] Improve readability of DrawViewSection.cpp 2023-04-05 19:19:52 -04:00
Benjamin Bræstrup Sayoc fabce4405e [TechDraw] Improve readability of DrawViewPart.cpp 2023-04-05 19:19:52 -04:00
Benjamin Bræstrup Sayoc 4b5eeb351f [TechDraw] Improve readability of DrawTemplatePyImp.cpp 2023-04-05 19:19:52 -04:00
wmayer b9227bc15d PD: fix tab order of dialogs 2023-04-05 22:36:29 +02:00
wmayer 9455924dec Gui: fix warning with Qt6 2023-04-05 22:36:29 +02:00
Chris Hennes 009b7c4886 Merge pull request #9193 from easyw/master
fixing stepZ for exporting
2023-04-05 14:31:53 -05:00
Benjamin Bræstrup Sayoc 1337b656b5 [TechDraw] Improve readability of DrawProjGroupItemPyImp.cpp 2023-04-05 14:35:58 -04:00
Benjamin Bræstrup Sayoc 41bc59cd6a [TechDraw] Improve readability of DrawProjGroupItem.cpp 2023-04-05 14:35:58 -04:00
Benjamin Bræstrup Sayoc bf00a1afc9 [TechDraw] Improve readability of DrawProjGroup.cpp 2023-04-05 14:35:58 -04:00
Benjamin Bræstrup Sayoc 48eded99a6 [TechDraw] Improve readability of DrawProjectSplit.cpp 2023-04-05 14:35:30 -04:00
Benjamin Bræstrup Sayoc 857e4d0dd0 [TechDraw] Improve readability of DrawParametricTemplatePyImp.cpp 2023-04-05 14:35:30 -04:00
Benjamin Bræstrup Sayoc a53d10d63d [TechDraw] Improve readability of DrawParametricTemplate.cpp 2023-04-05 14:35:30 -04:00
Benjamin Bræstrup Sayoc 2e12a8fad2 [TechDraw] Improve readability of DrawPage.cpp 2023-04-05 14:35:30 -04:00
Benjamin Bræstrup Sayoc e34874b591 [TechDraw] Improve readability of DrawLeaderLine.cpp 2023-04-05 14:32:56 -04:00
Benjamin Bræstrup Sayoc b57c7eab12 [TechDraw] Improve readability of DrawHatch.cpp 2023-04-05 14:32:56 -04:00
Benjamin Bræstrup Sayoc 32e56cfc9c [TechDraw] Improve readability of DrawGeomHatch.cpp 2023-04-05 14:32:56 -04:00
0penBrain 96bf29304d Expression: use a precision that ensures no floating point issue 2023-04-05 19:51:51 +02:00
easyw 6d56f3a9ab fixing stepZ for exporting 2023-04-05 18:15:10 +02:00
wmayer ef63a35e0f Gui: fix -Wclazy-connect-by-name 2023-04-05 16:23:15 +02:00
edi271 0c1ad63a49 Manage rotated section views 2023-04-05 08:23:47 -04:00
edi271 28def30592 Move getTrianglePoint to DrawUtil 2023-04-05 08:23:47 -04:00
wmayer 03cf7f05bf [skip ci] Sketcher: disable button fixDegenerated when opening the dialog 2023-04-05 11:22:27 +02:00
Chris Hennes 2e23fcf99e Merge pull request #9109 from chennes/securityPolicy
Project: Add Security Policy
2023-04-04 23:03:50 -05:00
wmayer 457fac38dd Gui: fix -Wclazy-connect-by-name 2023-04-05 00:44:13 +02:00
wmayer ad29f1628a Part: fix -Wclazy-connect-by-name 2023-04-05 00:44:13 +02:00
wmayer 1fc3f52e73 Sketcher: fix -Wclazy-connect-by-name 2023-04-05 00:44:13 +02:00
wmayer a59ea60c4a FEM: fix -Wclazy-connect-by-name 2023-04-05 00:44:13 +02:00
wmayer 0271106b98 RE: fix -Wclazy-connect-by-name 2023-04-05 00:44:13 +02:00
wmayer a4c39e39e5 MeshPart: fix -Wclazy-connect-by-name 2023-04-05 00:44:13 +02:00
wmayer 5163c1a2f4 Surface: fix -Wclazy-connect-by-name 2023-04-05 00:44:13 +02:00
wmayer 633ad41a96 Spreadsheet: fix -Wclazy-connect-by-name 2023-04-05 00:44:13 +02:00
wmayer cd04621bb5 Test: fix -Wclazy-connect-by-name 2023-04-05 00:44:13 +02:00
sliptonic 54ff532900 Merge pull request #9146 from jimzim111/path_drillable_detection
[PATH] Update getDrillableTargets() to evaluate all faces 1..<n>
2023-04-04 16:44:07 -05:00
Chris Hennes fbee0c92b6 Merge pull request #9180 from howie-j/shortcut_pref_pack
[Preference Packs] Add Keyboard Shortcuts Template
2023-04-04 15:01:52 -05:00
Chris Hennes aa670da721 Merge pull request #9173 from Ondsel-Development/python_group
Pref: Create Python group
2023-04-04 14:22:23 -05:00
Chris Hennes 469fe54ec7 Merge pull request #9117 from Ondsel-Development/wb_pref_fixes
Wb pref fixes
2023-04-04 14:05:47 -05:00
wmayer 1f3e35e95c Gui: allow to change background color and gradient from Python 2023-04-04 18:44:27 +02:00
wmayer eb3fd5fe47 Gui: add enum types to handle background gradients
This fixes some API flaws where booleans were used to distinguish between three different types
2023-04-04 18:44:27 +02:00
wmayer 21b2f97ab0 Gui: extend class View3DSettings so that it can be used for AbstractSplitView
AbstractSplitView then no longer needs to be derived from ParameterGrp::ObserverType and reimplement onChange() and thus removes a lot of code duplication
2023-04-04 18:44:27 +02:00
howie-j 81fdac808e Merge branch 'FreeCAD:master' into shortcut_pref_pack 2023-04-04 17:27:13 +02:00
Håvard Jakobsen e99c572d62 Add Keyboard Shortcuts to Preference Packs 2023-04-04 17:20:10 +02:00
wmayer 6ac0de86d2 Gui: by default radial gradient is off 2023-04-04 14:51:41 +02:00
joha2 d870201e3b Points: show now returns an GeoFeature object
* Added one return statement into try-catch block which returns the appropriate object (instead of `None`).
* Behaviour now in line with `Part.show`.

Example:

```Python
>>> import Points
>>> pp = Points.Points()
>>> pp.addPoints([(1,2,3),(4,5,6)])
>>> go = Points.show(pp)
>>> go  # Former behaviour was to return None
<GeoFeature object>
>>> go.ViewObject.ShapeColor = (1,0,0)
>>> go.ViewObject.ShapeColor = (1.,0.,0.)
>>> go.ViewObject.PointSize = 20
```
2023-04-04 11:35:59 +02:00
Paddle ccc558f89b pref: python: replace icon. 2023-04-04 09:36:12 +02:00
Bernd Hahnebach 84808ef7bd Mods: update gitattributes with latest module directories 2023-04-04 08:58:52 +02:00
Chris Hennes d3933fe613 Update with review suggestion. 2023-04-03 21:34:34 -05:00
Chris Hennes 62bc5c7411 Merge pull request #9172 from Ondsel-Development/color_pref_ui
Pref: Colors: Reorganize the ui.
2023-04-03 13:39:53 -05:00
Chris Hennes 0bc7e03ae1 Merge pull request #9140 from chennes/precommitHooks
Git: Add pre-commit configuration
2023-04-03 13:06:05 -05:00
0penBrain dd7af041e2 CI: initial release of Windows build workflow 2023-04-03 19:40:52 +02:00
Paddle e86f73b04a pref: color: change according to adrianinsaval mockup 2023-04-03 18:56:35 +02:00
wmayer 191289a595 Sketcher: fix some lint warnings 2023-04-03 17:36:06 +02:00
wmayer c628c000f5 Sketcher: ignore toolbars if toggle action is invisible or style is FORCE_HIDE
This fully fixes #9135
2023-04-03 17:36:06 +02:00
wmayer 73f5e5ad57 Sketcher: restore toolbars when changing between workbenches in edit mode
This partially fixes issue #9135
2023-04-03 17:36:06 +02:00
Chris Hennes 7410fe6110 Clang-Tidy: Remove readability-qualified-auto 2023-04-03 17:11:19 +02:00
mosfet80 889ad11e02 [Draft] Remove obsolete code related to Drawing WB
* [Draft] Remove obsolete code related to Drawing WB




remove unused elif

* [Draft] Remove obsolete code related to the Drawing WB

* Update preferences-draftvisual.ui

Also remove the template label.

* Update utils.py

Remove reference to "template"

* Remove Draft_Drawing.svg from Draft.qrc

---------

Co-authored-by: Roy-043 <info@b-k-g.nl>
Co-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>
2023-04-03 16:36:23 +02:00
Paddle 1ef367fb7a Pref: Color: change icon to button_switch 2023-04-03 15:49:19 +02:00
Paddle 9f6c65603d Pref: Color: move middle checkbox and just disable mid color instead of hidding 2023-04-03 15:05:54 +02:00
Paddle 527b441b27 Pref: Create Python group 2023-04-03 14:34:40 +02:00
Paddle 56d25172e0 Pref: Colors: Reorganize the ui. 2023-04-03 13:47:26 +02:00
Roy-043 d116f82abc Update Arch.qrc
Added Arch_Panel_Sheet_Tree.svg
2023-04-03 09:19:23 +02:00
Chris Hennes b75d257e80 Merge pull request #9169 from oursland/conda-pin-libcxx
Pin conda package libcxx<16 to build with boost 1.78.0.
2023-04-02 19:06:15 -05:00
Jacob Oursland 69241a6dc3 Pin conda package libcxx<16 to build with boost 1.78.0. 2023-04-02 16:26:29 -07:00
Chris Hennes b66478aca3 Merge pull request #9143 from Ondsel-Development/unit_prefs
Pref: Remove Unit tab and move settings back to main page.
2023-04-02 16:58:05 -05:00
Morgan 'ARR\!' Allen 50d23dfe9a set enumeration default properties after .initOperation
This allows subclasses to override opPropertyEnumerations and have their defaults set by ObjectOp.__init__
2023-04-02 13:05:35 -07:00
Chris Hennes cdf23fc59b Precommit: Add mixed-line-ending
Converts all line endings to Linux linefeed standard.
2023-04-02 13:00:17 -05:00
Roy-043 8a4f234718 [Arch] Remove obsolete code related to the Drawing WB 2023-04-02 19:30:10 +02:00
Chris Hennes 881e131e17 Merge pull request #9149 from xtemp09/gui-fix
[GUI] Radial gradient implementation
2023-04-02 11:26:38 -05:00
luzpaz b279fb364a OpenSCAD: linting importCSG.py 2023-04-02 12:19:02 +02:00
luzpaz f5e58adad2 Fix trailing whitespace 2023-04-02 12:18:13 +02:00
xtemp09 81cfe34085 [GUI] Radial gradient implementation
This commit implements radial gradient as background and adds the option
to settings. It also renames "Color gradient" as "Linear gradient",
keeping Linear gradient default. Internally, it remains unchanged for
compatibility.

Radio gradient is more suitable for CAD, since it gives a more balanced
color distribution across the screen, improving visibility of model and
sketches with a halo-like effect.
2023-04-02 16:33:01 +07:00
Jolbas 3c3800acd0 Draft: fix error in PR #8698 (#9160)
fix for mistake in pr https://github.com/FreeCAD/FreeCAD/pull/8698
see comment https://github.com/FreeCAD/FreeCAD/pull/8698/files/649857b58f7b100242a2e948e07e11ff2fe64f67#r1155160709
2023-04-02 11:23:59 +02:00
Chris Hennes 312fe9b5c8 Merge pull request #9142 from chennes/addonManagerReformat
Addon manager reformat
2023-04-01 19:17:51 -05:00
Chris Hennes d334013177 Merge pull request #9156 from luzpaz/toponaming-whitespace
Toponaming: fix whitespace in App/MappedName.cpp
2023-04-01 17:59:44 -05:00
luzpaz 0f42e9ed09 Toponaming: fix whitespace in App/MappedName.cpp 2023-04-01 15:21:01 +00:00
0penBrain 58a9af212a Sketcher: do not apply line/edge color preference to existing sketches, fixes #8188 2023-04-01 16:31:17 +02:00
Paddle 0a5e85d6c7 pref: general: connect comboBox_UnitSystem manually. Fix System unit tooltip string 2023-04-01 16:30:51 +02:00
Paddle 805745599c Pref: Remove Unit tab and move settings back to main page. 2023-04-01 16:30:51 +02:00
wmayer fa3ee34280 Gui: use an annotation node so that line is always rendered on top of the scene 2023-04-01 14:53:05 +02:00
luzpaz c39dbc93f6 Fem: fix trailing whitespace 2023-04-01 08:39:05 +02:00
jim 8b0361674d [PATH] Update getDrillableTargets() to evaluate all faces 1..<n> 2023-03-31 19:25:59 -07:00
wandererfan 31da3e7ecc [TD]fix oversight in PR9129 2023-03-31 20:14:38 -04:00
Chris Hennes eb0b9b105d Merge pull request #9121 from oursland/conda-devenv-linux
Add conda devenv support for Linux x86-64 and aarch64.
2023-03-31 14:17:14 -05:00
Chris Hennes 13bd536711 Git: ignore formatting rev 2023-03-31 13:48:49 -05:00
Chris Hennes 8b31d7deb0 Addon Manager: Black and lint 2023-03-31 13:46:13 -05:00
Chris Hennes 0f0b316044 Git: Add pre-commit configuration 2023-03-31 13:35:45 -05:00
wmayer 43ee59c82f Gui: interactive image scaling:
* add option to allow points outside of image
* after starting the interactive scaling allow to cancel it immediately
2023-03-31 19:40:50 +02:00
wmayer 607e53453d Gui: implement interactive image scaling 2023-03-31 19:40:50 +02:00
wmayer 8283532911 Gui: fix regression when loading an image file 2023-03-31 19:40:50 +02:00
wmayer 498bdd5d6e Tests: add some more fmt tests 2023-03-31 19:37:26 +02:00
wmayer 1c927bf804 Mesh: fix -Wclazy-connect-by-name 2023-03-31 19:14:54 +02:00
Chris Hennes bb44a307f7 Project: Add Security Policy 2023-03-31 11:30:23 -05:00
PaddleStroke 15ee7d1bb2 Merge pull request #3 from chennes/testsForClassLocator
Tests for class locator, and fixup
2023-03-31 17:37:25 +02:00
Chris Hennes fcfcebea0b Addon Manager: Add test for subdirectory 2023-03-31 10:21:12 -05:00
0penBrain fe39798766 Use qOverload macro instead of QOverload 2023-03-31 17:17:34 +02:00
Chris Hennes e70a360ebe Addon Manager: Modify regex for whitespace 2023-03-31 10:13:47 -05:00
Chris Hennes 6a0decd44a Addon Manager: Tests for classname finder 2023-03-31 10:13:00 -05:00
wmayer f2aa219075 TD: remove deprecation warning 2023-03-31 11:03:10 -04:00
wmayer ed4b09349d TD: implement XMLQuery for Qt6 2023-03-31 11:03:10 -04:00
wmayer 82a1e43e00 TD: use new license header 2023-03-31 11:03:10 -04:00
Chris Hennes d769b9c9f2 Addon Manager: Black and pylint cleanup 2023-03-31 09:40:12 -05:00
0penBrain 8bea52a5bf Gui: prevent crashes on MacOS using boost::format 2023-03-31 15:22:03 +02:00
Benjamin Bræstrup Sayoc 5329cede7f Improve readability of DrawUtil.cpp 2023-03-31 08:45:05 -04:00
Benjamin Bræstrup Sayoc 9bb92be8ba Improve readability of QGIView.cpp 2023-03-31 08:45:05 -04:00
Paddle 184147d513 DlgPreferencesImp::accept : move restartIfRequired in the if. 2023-03-31 14:34:40 +02:00
Paddle 1603720d7a Addon manager: lint and black. 2023-03-31 14:31:55 +02:00
Paddle 31c483587a Addon manager: wb change to ordered + disabled lists. 2023-03-31 14:12:28 +02:00
Paddle 4407387ab4 Pref: wb: change to disabled + ordered lists. 2023-03-31 14:12:27 +02:00
Paddle 4487154c57 Pref: wb: change parameter group to prevent issues between 0.21 and older versions. 2023-03-31 14:12:27 +02:00
Paddle a203012666 Addon manager: Subscribe to core the enabled status of addon workbenches. 2023-03-31 14:12:27 +02:00
Paddle 835b96b724 Pref: make restartIfRequired() private 2023-03-31 14:12:27 +02:00
Paddle 996f4da123 Pref: wb: remove the list of disabled wb.
TODO: Addon Manager should add workbenches to the list of enabled wb on installation. And remove them from the list on uninstall.
TODO: Addon Manager 'disable mode' should be removed.
2023-03-31 14:12:27 +02:00
Paddle 9c02b2bc05 Pref: wb: disable test workbench by default. It still appears and can be activated in the pref page. 2023-03-31 14:12:27 +02:00
Paddle e19e02ce5c Pref: wb: disable none workbench by default. 2023-03-31 14:12:27 +02:00
Paddle ec2e5fe2ac Pref: Wb: remove args first element on restart.
- isRebootRequired is not public but in accept&reject.
- PreferencePage::isRebootRequired changed to const
- Change 2 warnings to log
- remove useless  c_str()
- Change DlgPreferencesImp::isRebootRequired name + reboot by restart everywhere.
- Sort workbenches so that disabled wb are sorted.
2023-03-31 14:12:27 +02:00
Pesc0 876601d34d Remove all PyQt references 2023-03-31 10:36:04 +02:00
Jolbas c001732663 PartDesign: Return directly if occurrences is 1
In LinearPattern and PolarPattern. Skip all checks if occurrences is 1. Allows Expressions on Length/Angle that evaluates to 0 if Occurrences is 1.

Co-Authored-By: 0penBrain <48731257+0penBrain@users.noreply.github.com>
2023-03-30 23:02:03 +02:00
Morgan 'ARR\!' Allen ff4388a610 return useful error message if file is not found 2023-03-29 21:22:47 -07:00
Morgan 'ARR\!' Allen 287e9dbfe9 Merge branch 'master' into path_custom_source 2023-03-29 20:50:07 -07:00
Jacob Oursland ddb632ab86 Add conda devenv support for Linux x86-64 and aarch64. 2023-03-29 17:51:32 -07:00
Kevin Martin 31f3458399 Add GIL locking for Python calls, alter cp mapping
Required GIL locking has been added where Python methods are
called.

The code mapping from codepage names like ansi_nnn to cpnnnn has
been altered a bit to shorten it.
2023-03-29 16:09:35 -04:00
wandererfan 7fa7cb7f0b [Part]handle unicode filename on win 2023-03-29 15:04:57 -04:00
Chris Hennes 9666aac669 Merge pull request #9098 from oursland/conda-devenv
Add Conda Environment and VS Code configuration.
2023-03-29 11:36:15 -05:00
Jacob Oursland 906814a9fe Add Conda Environment and VS Code configuration. 2023-03-29 04:02:05 -07:00
Pesc0 77f922f32f Remove "commands" tab in customize dialog 2023-03-29 00:55:03 +02:00
Roy-043 161e7aca98 [Draft] small DraftGui.py cleanup (#9108) 2023-03-28 23:54:00 +02:00
Chris Hennes 0a2e6dd2b7 Merge pull request #9099 from wwmayer/more_robust_init
Core: make the init scripts more robust against invalid package.xml f…
2023-03-28 16:36:41 -05:00
Roy-043 87b0893044 [Draft] Remove obsolete decode code (#9106) 2023-03-28 21:03:33 +02:00
Roy-043 d65b05c3df [Draft] Remove obsolete ShapeString code from DraftGui.py (#9102) 2023-03-28 17:26:14 +02:00
Chris Hennes 0457c4e794 Merge pull request #9080 from Ondsel-Development/gridNameFix
Sketcher: Grid pref: Change names.
2023-03-28 10:10:47 -05:00
Chris Hennes 405cb8149a Merge pull request #9076 from Pesc0/removesix
remove functions leftover from using six
2023-03-28 10:00:58 -05:00
Chris Hennes a7c4158632 Merge pull request #9026 from Ondsel-Development/wb_prefs
Preferences : Rework Workbench page by merging the 'customize' dialog capability
2023-03-28 09:58:34 -05:00
Chris Hennes 2542be332b Merge pull request #9101 from luzpaz/openscad-linting4
OpenSCAD: linting cont...
2023-03-28 09:45:49 -05:00
Chris Hennes a9d5431629 Merge pull request #8990 from Ondsel-Development/FilletDraftThickness_ui_Consistency
PartDesign: Fillet, Chamfer, Draft, Thickness rework.
2023-03-28 09:44:39 -05:00
Paddle d0bd202293 Pref: Wb : move 'Wb by tab' to wb pref page. 2023-03-28 15:18:28 +02:00
Paddle 0e2bc871e8 Changed copyright texts of modified pages. 2023-03-28 15:18:28 +02:00
Paddle 8d16cf7395 Pref: - add require-reboot capability to PreferencePage.
- Implement this require-reboot in wb pref page
2023-03-28 15:18:23 +02:00
Paddle 12588150c1 PartDesign: Chamfer/fillet/draft/thickness small fixes. 2023-03-28 13:30:13 +02:00
luzpaz 2f593a2613 OpenSCAD: linting cont...
Linting colorcodedshapes.py and prototype.py
2023-03-28 10:57:48 +00:00
Paddle 18a9c164d6 PartDesign: Fillet/chamger/draft/thickness: change the button strings to 'Preview' and 'Select' 2023-03-28 12:52:42 +02:00
Paddle de6038ff9b PartDesign: Fix placement issue with thickness tool when the feature was empty. 2023-03-28 12:52:42 +02:00
Paddle d896d00d48 PartDesign: Fillet Draft Chamfer Thickness : Add warning message on empty feature creation 2023-03-28 12:52:42 +02:00
Paddle 47cc265b4f PartDesign: Fillet, Chamfer, Draft, Thickness : Enable tool to start with no selection. 2023-03-28 12:52:42 +02:00
Paddle 8ada7af302 PartDesign: Fillet/chamfer/draft/thickness: Merge Add & Remove buttons. 2023-03-28 12:52:42 +02:00
Paddle 3f1e6a3c87 Pref: Wb: add shortcuts + reorder when wb toggled. 2023-03-28 12:09:15 +02:00
Paddle 565488bf21 Pref: Wb: add shortcuts. 2023-03-28 12:09:15 +02:00
Paddle d4aca1953a Pref: Wb: lambda to simplify saveSettings() 2023-03-28 12:09:15 +02:00
Paddle 123e83e0a1 Pref: Wb: startup wb has to be autoloading. 2023-03-28 12:09:15 +02:00
Paddle b0d6b758d1 Pref: Wb: remove the dlg pointer from the wbListItem 2023-03-28 12:09:15 +02:00
Paddle a6b69cd395 Pref: Wb: add setters and getters to wbListItem 2023-03-28 12:09:15 +02:00
Paddle 14167b558e Pref: wb: Move wbListItem to cpp. 2023-03-28 12:09:15 +02:00
Paddle cab401eaf3 Preferences: workbench: make a wbListItem qwidget sub class 2023-03-28 12:09:15 +02:00
Paddle 9871aa2b53 Preferences: Workbench: Change the QListWidgetDragBug name to ListWidgetDragBug. Move the wbList setXxx() to ctor. Fix the 'Currently, your...' 2023-03-28 12:09:15 +02:00
Paddle 7eb3386894 Preferences: Workbench: Move the buttons closer to the label. 2023-03-28 12:09:15 +02:00
Paddle 2fe2da2c4e Preferences: Workbench: Move startup workbench to workbench page 2023-03-28 12:09:03 +02:00
Paddle 9f904ae04f Preference: Move workbench selector position to the workbench preference page. 2023-03-28 11:59:32 +02:00
Paddle 4b60df5ced Preference: Replace the name LazyLoaded by Workbenches. 2023-03-28 11:59:32 +02:00
Paddle 6e6194d01c Preferences: Remove Customize Workbenches dialog. 2023-03-28 11:59:32 +02:00
Paddle d7efe5a616 Preferences: Workbench : Replace the functions used to retrieve the list of enabled wb 2023-03-28 11:59:32 +02:00
Paddle f673d1a251 Preferences: Workbench : Change the text of the page to be more informative. Move the sentence "To preserve resources, FreeCAD..." to the load button tooltips. 2023-03-28 11:59:32 +02:00
Paddle 788ea1d3c0 Preferences: Workbench : Enable drag and drop. Replaces the QTable by a QListWidget. 2023-03-28 11:59:32 +02:00
Paddle 4173261899 Preferences: Workbench : Enable reordering workbenches with 2 buttons. 2023-03-28 11:59:32 +02:00
Paddle 3a6e0ebe83 Preferences: Workbench : Add possibility to enable/disable workbench here. 2023-03-28 11:59:32 +02:00
wmayer c26dc2e685 Gui: do not change size properties when loading an image 2023-03-28 11:45:44 +02:00
wmayer 5c3f361077 Core: make the init scripts more robust against invalid package.xml files
See also: https://forum.freecad.org/viewtopic.php?t=77170
2023-03-28 10:49:21 +02:00
Connor Worrell 98b1cbe3e5 [GUI] QuantitySpinBox: more intuitive parsing before handoff to expression parser.
More robust parentheses, multiplication, division, exponent handling.
2023-03-27 21:47:00 -06:00
Uwe 548f9ce072 [FEM] TaskFemConstraintTemperature: remove unused function 2023-03-28 05:42:36 +02:00
Chris Hennes 39c497eb79 Merge pull request #9094 from luzpaz/openscad-linting3
OpenSCAD: linting OpenSCADCommands.py
2023-03-27 21:35:55 -05:00
luzpaz 229518d392 OpenSCAD: linting OpenSCADCommands.py
Fixes bad indentation, seperate import statements, remove py2 syntax
2023-03-28 01:41:55 +00:00
Uwe 642b8b3196 [FEM] Transform constraint overhaul
- fix warning about local scope
- make the angles a PropertyAngle to handle the unit
- also fix some too long code lines
2023-03-28 02:11:36 +02:00
Uwe 5a1bd28631 [PD] FeaturePipe.cpp formatting fixes
- remove commented includes (once mistakenly added by me)
- also fix too long lines
2023-03-28 01:56:30 +02:00
Uwe 49acbb2c65 [FEM] Temperature constraints overhaul
- fix bug that changing constraint type in dialog lost flux value
- accept and not immediately save any changed value
- make the temperatures a PropertyTemperature to get rid of hacks
- also fix some too long code lines
2023-03-28 01:23:47 +02:00
Chris Hennes e3e49230d8 Merge pull request #9090 from luzpaz/openscad-python2-syntax
OpenSCAD: removed deprecated python2 unicode string
2023-03-27 15:47:50 -05:00
luzpaz a68dabbd7f OpenSCAD: removed deprecated python2 unicode string
Removed redundant python2 unicode syntax from `OpenSCADUtils.py`
2023-03-27 19:53:40 +00:00
Uwe 98ed45b3f1 [FEM] ConstraintDisplacement: fix property conversion
- as the comment correctly wrote it was a PropertyFloat before and PropertyDistance after - fox the routine accordingly
2023-03-27 21:29:52 +02:00
0penBrain 741c631333 CI: fix a bug in cleaner when time has no decimal of seconds 2023-03-27 19:59:52 +02:00
Andrew a75f194af7 Remove unused mod complete 2023-03-27 19:45:57 +02:00
luzpaz c2ddf26e14 OpenSCAD: linting OpenSCAD2Dgeom.py
Fix bad indentation and separate import statements
2023-03-27 16:44:26 +02:00
alexneufeld 655066a135 Explicitly use App.Vector in docstrings 2023-03-27 16:34:28 +02:00
alexneufeld 3628c3055c fix incorrect docstring for Part.Shape.extrude method 2023-03-27 16:34:28 +02:00
luzpaz 87154535ed OpenSCAD: linting OpenSCADFeatures.py
Fix bad indentation and separated import statements
2023-03-27 16:31:18 +02:00
wmayer ca935a49f3 Part: make PropertyGeometryList more permissive
Since not all Geometry sub-classes fully implement Save() / Restore() raising an exception instead may invalidate a project. To avoid this
PropertyGeometryList now explicitly handles NotImplementedError exceptions.

See also: https://forum.freecad.org/viewtopic.php?t=77148
2023-03-27 16:09:33 +02:00
Yorik van Havre 3e1528a714 Draft: Better DWG export message - issue #8887 (#8893)
* Draft: Better DWG export message - issue #8887
2023-03-27 16:03:04 +02:00
wmayer 4b982a3dbd Gui: filter category qt.svg 2023-03-27 15:50:34 +02:00
wmayer 64771f3d4d Gui: fix some lint warnings 2023-03-27 15:49:17 +02:00
wmayer 5e257feb65 Gui: add method isEnabledDecimalPointConversion() to Translator
and use it in DlgGeneralImp::setDecimalPointConversion to fix annoying warning in debug builds
2023-03-27 15:49:17 +02:00
Kevin Martin 3f195bb46b Replace "aci" with the lesss cryptic "colorIndex"
The "a" in "aci" refers to a trademark which we want to avoid mentioning
in code. These values are indices into a color table (plus two special
values for BYBLOCK and BYLAYER) so using the term colorIndex seems more
readable.
2023-03-27 09:48:16 -04:00
Chris Hennes 2368d2cc11 Merge pull request #9074 from Pesc0/fixtypo
Fix typo in Mod/OpenSCAD/prototype.py
2023-03-27 08:47:17 -05:00
Chris Hennes 0ebf7cf4fa Merge pull request #9046 from Pesc0/master
Update requirements.txt
2023-03-27 08:44:42 -05:00
Paddle 4dca86c503 Sketcher: Grid pref: Change names. 2023-03-27 15:22:32 +02:00
Kevin Martin c155a9ea9c Remove reference to a trademarked name 2023-03-27 09:11:52 -04:00
Kevin Martin dbf17376b7 Fix encoding error for import from older DXF files
The C++ importer incorrectly treated the contents of all TEXT and MTEXT
objects as beind encoded as UTF-8, but this is not true for DXF files
before AutoCAD 2007, where the encoding is "plain ASCII" plus some in-band
\U+dddd encoding. This would cause errors if the text contained non-ASCII
characters such as the Degree Sign.

This change causes the correct encoding to be used.
2023-03-27 07:14:07 -04:00
Adrian Schröter f91ad00ed2 libE57Format: fix compile using gcc13
Adding missing header file. Also submitted this upstream here:

https://github.com/asmaloney/libE57Format/pull/243
2023-03-27 12:52:18 +02:00
Pesc0 d2ffa221b8 remove functions leftover from using six 2023-03-27 11:36:19 +02:00
wmayer 2801f07221 Material: fix icon path 2023-03-27 11:27:32 +02:00
wmayer 611ed8f56a Mesh: fix -Wclazy-connect-by-name 2023-03-27 11:22:21 +02:00
wmayer f6d9a8a345 Mesh: fix some clang-tidy warnings 2023-03-27 11:22:21 +02:00
Andrew bf57f49a2e clean Mod/Mesh from #if 0 2023-03-27 11:22:21 +02:00
Pesc0 30d85a1d56 Fix typo in Mod/OpenSCAD/prototype.py 2023-03-27 11:14:08 +02:00
Pesc0 e2b2ea0640 Update requirements.txt with pipreqs . --ignore ./build,./src/Mod/Import/App/ 2023-03-27 11:00:08 +02:00
Yorik van Havre 4c1e17aae0 Merge pull request #9021 from chennes/draftDXFImportFix
Draft: Handle wantedLayer is None
2023-03-27 10:12:23 +02:00
Chris Hennes ba835c7b92 Merge pull request #9068 from chennes/addonManagerExtractPysideInterface
Addon Manager: Extract PySide QtCore interface
2023-03-26 20:45:25 -05:00
Chris Hennes a5ddf3d255 Addon Manager: Pylint and Black cleanup 2023-03-26 20:18:05 -05:00
Uwe a5a73aceca [FEM] [skip ci] add tooltip to a preferences option 2023-03-27 02:53:11 +02:00
Chris Hennes fcda1ffc25 Addon Manager: Extract PySide QtCore interface 2023-03-26 18:45:01 -05:00
Chris Hennes 66a738ab1e Merge pull request #9067 from Pesc0/removesix
remove remaining six dependencies
2023-03-26 17:36:47 -05:00
Pesc0 017b2b7f2d add TODO in Mod/Path/Base/Util.py 2023-03-26 23:56:01 +02:00
Pesc0 42cb756522 remove remaining six dependencies 2023-03-26 23:39:00 +02:00
Chris Hennes 6091ad0f42 Merge pull request #9048 from chennes/toponamingIndexedNameTestRefine
App/Toponaming: Add test for EDGE2<EDGE12
2023-03-26 15:26:15 -05:00
Uwe e2b3a5d2f7 [FEM] [skip ci] add tooltip to preferences options 2023-03-26 21:25:33 +02:00
Andrew b916c387fb Clean Mod/Part. remove old OCC <7.3 and #if 0 code. 2023-03-26 21:17:18 +02:00
Uwe b9864e7b0a [Sketch] placecgs: remove unused includes
- also sort includes
- also fix too long lines etc. (done by clang formatter)
2023-03-26 20:27:18 +02:00
Abdullah Tahiri da76caa13e NotificationArea: Correct painting position
===========================================

QT has a open bug regarding filling the contents of a QMenu in aboutShow:
https://bugreports.qt.io/browse/QTBUG-54421

This commit presents a work-around this bug.

The two step procedure of this commit, forces a recalculation of the size
from the slot and then manually moves the widget to the right position.
2023-03-26 20:26:20 +02:00
0penBrain d246f36932 CI: remove trailing whitespace checks in Pylint
As they are already checked globally before
2023-03-26 19:45:19 +02:00
Uwe b08db09cf6 [FEM] fix binary check
- the current implementation only considers explicitly given binaries (with full path) and ignores the setting to check the environment paths
- also remove 2 trailing whitespaces
2023-03-26 19:35:20 +02:00
CarlOlson 7a00359fda add generated code chnages, remove unused file and add bison *.output to gitignore 2023-03-26 18:48:59 +02:00
CarlOlson 926c1253af update expression grammar to handle parens around cond 2023-03-26 18:48:59 +02:00
wmayer 5ba1f1f5d4 Gui: refactor MacroManager 2023-03-26 18:41:56 +02:00
wmayer 5ad97548ca PD: do not record Gui command as Doc command 2023-03-26 18:41:56 +02:00
wmayer 506615042e Sketch: fix trailing whitespaces of recorded sketcher commands 2023-03-26 18:41:56 +02:00
0penBrain 4ddf99fc78 CI: enable CI cleaning for real 2023-03-26 17:53:34 +02:00
wmayer 07cf291516 Core: support to load old project files containing image planes
See forum: https://forum.freecad.org/viewtopic.php?p=670545#p670545
2023-03-26 13:51:07 +02:00
Abdullah Tahiri 251022cfc9 NotificationArea: Preference pages clang-formatting 2023-03-26 11:33:57 +02:00
Abdullah Tahiri ef84d56970 NotificationArea: Preference page to control warnings and errors 2023-03-26 11:33:57 +02:00
Abdullah Tahiri ddd9a97211 NotificationArea: subscription to errors and warnings
=====================================================

Subscription to errors and warnings is controlled by parameters.
2023-03-26 11:33:57 +02:00
Abdullah Tahiri d06e99ae34 Console: wrong alignment 2023-03-26 11:33:57 +02:00
Uwe 4e977be134 [FEM] proper support for transient analyses
- for the first time ever you get now for every time step a result in FreeCAD
- this way also change output filename prefix to "FreeCAD" to avoid we depend on the default name Elmer gives and that was already changed in the past and to distinguish the *.vtu files from those created e.g. directly by ElmerGui
- also remove an unnecessary output to the case.sif file
2023-03-26 10:00:45 +02:00
Uwe 0a38b04c88 [FEM] change example file
- make mesh more coarse to save calculation time
- since it is the example for transient solving, get one more result
2023-03-26 09:52:32 +02:00
Uwe 67c75dad2f [FEM] Elmer: add missing deformation info
- also some formatting changes done by clang
2023-03-26 09:32:56 +02:00
wandererfan 20e44eba50 [TD]fix bad 3d dimensions
- mapToPage was left in place when converting to using
  projectPoint instead of projectToPlane.
2023-03-25 18:14:26 -04:00
Uwe 5aeba7a46f [TD] QGIViewDimension.h: fix compiler warning
- about unused private field
2023-03-25 21:03:40 +01:00
Uwe 37edcf1088 [FEM] App: improve PreCompiled.h
- remove unused includes
- sort entries and remove duplicates
2023-03-25 19:22:57 +01:00
Uwe 0d478cd733 [FEM] Gui: improve PreCompiled.h
- only include necessary Qt files
- remove unused OCC includes
- sort entries and remove duplicates
2023-03-25 18:34:01 +01:00
Chris Hennes f5742a71ad Merge pull request #9012 from wwmayer/fix_from_string
App: in PropertyPythonObject::fromString only assign a dict to __dict…
2023-03-25 12:32:44 -05:00
wmayer 32d0ac6417 Gui: by default restore the last visited page in the preferences dialog
See also: https://forum.freecad.org/viewtopic.php?t=77071
2023-03-25 18:23:09 +01:00
Chris Hennes 71fb0a584a App/Toponaming: Add test for EDGE2<EDGE12 2023-03-25 11:22:12 -05:00
Chris Hennes a0b48c5a4b Merge pull request #9047 from chennes/addonManagerFixRepeatedTests
Addon Manager: Fix tests breaking on second run
2023-03-25 11:02:45 -05:00
Chris Hennes 54ea0108a9 Merge pull request #8974 from chennes/toponamingMappedElement
App/Toponaming: Add MappedElement
2023-03-25 10:56:55 -05:00
0penBrain ca1a63f946 CI: fix bug with codespell returning code being 65 when errors are found 2023-03-25 16:40:00 +01:00
0penBrain c828a9b288 CI: limit to strictly needed when bash command is allowed to fail 2023-03-25 16:40:00 +01:00
Chris Hennes 92a14f9a13 Addon Manager: Fix tests breaking on second run 2023-03-25 10:27:51 -05:00
Uwe 1539573cd9 [FEM] Elmer: fix transient analyses
- different time results were never output, only the final one
  the reason is that the Output Intervals intervals property was missing
- a second reason was that the result scaling solver must be executed every time an output should be generated
- the BDF Order property is a transient-only property
2023-03-25 12:29:10 +01:00
Uwe 48458583a1 [FEM] revert a04c33c40f 2023-03-25 11:38:03 +01:00
marioalexis f1fc505955 Fem: Remove unnecessary type check for active analysis 2023-03-25 08:54:01 +01:00
Uwe 99f15b37c1 [FEM] update transient analysis example file
- get outputs every 25 % and the last one is the final time
2023-03-25 05:48:14 +01:00
Uwe a04c33c40f [FEM] Elmer: fix transient analyses
- different time results were never output, only the final one
  the reason is that the Output Intervals intervals property was missing
- a second reason was that the result scaling solver must be executed every time an output should be generated
- the BDF Order property is a transient-only property
2023-03-25 05:48:02 +01:00
xtemp09 a65a7f6740 [Sketcher] Fix segmentation fault in ViewProviderSketch::setEdit
Closes #8979
2023-03-25 00:02:32 +01:00
Kevin Martin 048b358c01 [Import] DXF: correction to documentation
Correction to documentation comment noticed while addressing these issues.
The comment for readDXF did not document its fourth option_source argument.
2023-03-24 23:03:52 +01:00
Uwe f996b1e50a [FEM] only show toolbar button for available solvers
- if there is e.g. no Z88 solver available, there is no need to pollute the toolbar with an icon for it
2023-03-24 22:41:48 +01:00
wmayer c579db1ee0 Gui: fix failure of QMetaObject::connectSlotsByName
because in Qt6 QSpinBox::valueChanged(QString) and QComboBox::activated(QString) have been removed
2023-03-24 22:11:24 +01:00
Uwe 768bfc1eae [FEM] fine-tune default solver setting
- if the default solver has not yet been set and there is only one solver available, set this as default
2023-03-24 21:46:26 +01:00
wmayer f30a6c634a Gui: fix some lint warnings 2023-03-24 21:19:27 +01:00
Uwe b88c43c89a [FEM] improve new default solver setting
- fix bug if no solver should be default
- only provide solvers that are available to be the default
- also add commit opened transactions
- also remove unused include and correct an include
2023-03-24 20:24:02 +01:00
wmayer 2082329223 Gui: move built-in Python code of DlgProjectUtility to script file 2023-03-24 19:50:49 +01:00
0penBrain 081c23e514 Gui: use QActionGroup signal for dimension indicator change handling 2023-03-24 19:31:41 +01:00
0penBrain 6bd88f64db Gui: add live retranslation to dimension indicator 2023-03-24 19:31:41 +01:00
0penBrain 6a3e6ec46b Gui: dimension indicator moved to custom widget to handle unit schema change in other places 2023-03-24 19:31:41 +01:00
0penBrain 3ed1ce28ee Gui: change dimension indicator from QToolButton to QPushButton for lighter style
Consistency with navigation style indicator

 Also fix typo in function name and remove comment
2023-03-24 19:31:41 +01:00
Uwe 1774455cf3 [FEM] improve recently added addition method
- for the solvers the workflow should be that one can directly after adding a solver child to it via the toolbar
  Therefore select the added solver object
2023-03-24 17:32:53 +01:00
sliptonic 1e5fa5de60 Merge pull request #8941 from chuckwagoncomputing/expression-colors
Path: Don't override style colors
2023-03-24 09:58:46 -06:00
Ajinkya Dahale fc3086a96e [Sketcher] Fix some coincidence issues in B-spline drawing
See https://github.com/FreeCAD/FreeCAD/pull/8530#issuecomment-1474824366.

When there are already existing points and coincidence auto-constraints are
added in the process of making a B-spline (either by control points or
interpolation), unintended behaviour can happen.

Additionally, when creating B-spline by interpolation, if consecutive points are
coincident (or very close to each other), the OCCT algorithm fails. This is also
prevented in this commit.
2023-03-24 16:30:48 +01:00
Ajinkya Dahale 60e79a14e4 [Sketcher] Fix corner-case issue creating periodic b-splines
See: https://github.com/FreeCAD/FreeCAD/pull/8530#issuecomment-1474824366.
2023-03-24 16:30:48 +01:00
Ajinkya Dahale d2d69e274c [Sketcher] Run clang-format on DrawSketchHandlerBSplineByInterpolation.h 2023-03-24 16:30:48 +01:00
Ajinkya Dahale d6060c79aa [Sketcher] Clear out some TODOs and other comments 2023-03-24 16:30:48 +01:00
Ajinkya Dahale 02558f3793 [Sketcher] Fix and support periodic B-spline by interpolation
This commit is part of a project funded by the Open Toolchain Foundation under
the title "Open Toolchain Foundation - Curve drawing tool in Sketcher
Workbench".
2023-03-24 16:30:48 +01:00
Ajinkya Dahale bae30c6bd7 [Sketcher][planegcs] Fix knot position in non-uniform B-spline
The default factors set in `addConstraintInternalAlignmentKnotPoint` does not
work if the knots around a C1 knot are not equally far.
2023-03-24 16:30:48 +01:00
Ajinkya Dahale 176562c60d [Sketcher] Disable degree setting in B-spline by interpolation
This commit is part of a project funded by the Open Toolchain Foundation under the title "Open Toolchain Foundation - Curve drawing tool in Sketcher Workbench"
2023-03-24 16:30:48 +01:00
Ajinkya Dahale ab64e2251d [Sketcher] Add missing GUI elements for B-spline by knots
Commented out the periodic version for now since they don't work completely well.

This commit is part of a project funded by the Open Toolchain Foundation under the title "Open Toolchain Foundation - Curve drawing tool in Sketcher Workbench"
2023-03-24 16:30:48 +01:00
Ajinkya Dahale 944c31cf7b [Sketcher] Add icon for B-Spline by interpolation tool
This commit is part of a project funded by the Open Toolchain Foundation under the title "Open Toolchain Foundation - Curve drawing tool in Sketcher Workbench"

[Sketcher] Add better icons for `CreateBSplineByInterpolation`

Courtesy @paddlestroke.
2023-03-24 16:30:48 +01:00
Ajinkya Dahale 7c1a2d738e [Sketcher] Support variable multiplicities in B-splines
As a side-effect also prevents a segfault possible by providing just 3 points.

[Sketcher] Clarify that mults might not be followed

Some examples when this may be ignored include:
1. A number higher than 3 is given (because cubic B-splines are created)
2. If the knots just before and just after have multiplicities >=3, the piece
between these two is fully continuous, and this (middles) point will only be
constrained with point-on-object.

This commit is part of a project funded by the Open Toolchain Foundation under the title "Open Toolchain Foundation - Curve drawing tool in Sketcher Workbench"
2023-03-24 16:30:48 +01:00
Ajinkya Dahale 3e5f3a9a57 [Sketcher] Constrain first pole weight in exposeInternalGeometry
This commit is part of a project funded by the Open Toolchain Foundation under the title "Open Toolchain Foundation - Curve drawing tool in Sketcher Workbench"
2023-03-24 16:30:48 +01:00
Ajinkya Dahale b8956d3f1b [Sketcher] [WIP] Add periodic B-spline support for interpolation DSH
This commit is part of a project funded by the Open Toolchain Foundation under the title "Open Toolchain Foundation - Curve drawing tool in Sketcher Workbench"
2023-03-24 16:30:48 +01:00
Ajinkya Dahale bc98757da8 [Sketcher] Fix typos caused by copying content in new DSH
Some parts of `DrawSketchHandlerBSplineByInterpolation` were taken from
`DrawSketchHandlerBSpline` but not modified to reflect the differences.

This commit is part of a project funded by the Open Toolchain Foundation under the title "Open Toolchain Foundation - Curve drawing tool in Sketcher Workbench"
2023-03-24 16:30:48 +01:00
Ajinkya Dahale 9c0b75ddf0 [Sketcher] Clarify keyboard input for B-spline DSH
Specifically, when drawing by interpolation, only cubic splines are currently
supported.

Some related "TODO" comments are also removed or modified.

This commit is part of a project funded by the Open Toolchain Foundation under the title "Open Toolchain Foundation - Curve drawing tool in Sketcher Workbench"
2023-03-24 16:30:48 +01:00
Ajinkya Dahale fc05c6bae3 [Sketcher] Create DSH for drawing B-splines by interpolation
Only creates 1-degree splines by describing knots.

This commit is part of a project funded by the Open Toolchain Foundation under the title "Open Toolchain Foundation - Curve drawing tool in Sketcher Workbench"
2023-03-24 16:30:48 +01:00
Chris Hennes 8b74cd3255 App/Toponaming: Add tests to MappedElement 2023-03-24 10:05:09 -05:00
marioalexis 852fd2b5d5 Fem: Add option to select default solver when creating Analysis 2023-03-24 15:40:54 +01:00
wmayer 347729090a App: in PropertyPythonObject::fromString only assign a dict to __dict__ attribute 2023-03-24 14:43:38 +01:00
Uwe 249829913b [FEM] implement further object addition mode
- for e.g. the solver objects it is important that the added equations are visible in the TreeView
- also improve activation of analyses for documents with multiple analyses: one activates one and can then subsequently add an object to it because the activation will also select
2023-03-24 07:22:27 +01:00
Uwe 4acc78844b [TD] GeometryMatcher.cpp: fix compiler warning
about unused variable
2023-03-24 06:16:31 +01:00
Uwe 4c8806765a [FEM] auto-activate Analyses
- this PR addresses a long-standing annoying issue: You are already in the FEM WB and load a file.
  Then you cannot just start but first have to activate the Analysis. But one is in the FEM WB to work with analyses.
2023-03-24 06:05:54 +01:00
Chris Hennes e823990fb5 Draft: Handle wantedLayer==None 2023-03-23 23:02:49 -05:00
Uwe e004c5bab9 [Gui] Application.cpp: fix too long lines
- for better readability (less scrolling in the IDE)
2023-03-24 04:38:45 +01:00
Chris Hennes 4fc730db2b Addon Manager: Fix wiki macro icon cleanup 2023-03-23 21:49:05 -05:00
Uwe e69ddeb036 [FEM] don't add CCX solver by default for new analyses
- if there are other solvers found, we should handle all solvers equally
- also reduce amount of console output on every analysis run
2023-03-24 03:25:02 +01:00
Uwe 474eddf4b6 [FEM] implement new object addition mode
- for e.g. the Elmer equations it is important that one can add several equations subsequently and that the added equations are visible in the TreeView
2023-03-24 02:43:01 +01:00
Uwe d7fbcac4b8 [FEM] remove unused code
- remove commented-out code that is in Python since years
2023-03-24 02:42:19 +01:00
Uwe 76cbba39de [FEM] Elmer: group mechanical equations
- also simplify code to check for existing analysis
2023-03-24 01:59:46 +01:00
sliptonic fd344066c7 Change file license to CC4.0
I have discussed with mlampert via email and he agreed to all changes
2023-03-23 23:55:10 +01:00
Chris Hennes 30e815a69d Merge pull request #9008 from Syres916/patch-73
[App] Urgent Backout commit cb21604
2023-03-23 11:27:51 -05:00
Syres916 2ed96078c5 [App] Urgent Backout commit cb21604
https://github.com/FreeCAD/FreeCAD/commit/cb2160449412b6470996a2b9b4a4a8ed172d6717 Humble apologies, back to the drawing board and more testing required.
2023-03-23 15:04:38 +00:00
Chris Hennes a76ad6bbfe App/Toponaming: clang-tidy cleanup of MappedElement 2023-03-23 09:46:33 -05:00
Chris Hennes 39d2be72d4 App/Toponaming: Add MappedElement class 2023-03-23 09:46:32 -05:00
Chris Hennes c32ee26b8d Merge pull request #8923 from Ondsel-Development/toponaming-p1-4
[Core] Create `ElementMap.h` and tests
2023-03-23 09:40:56 -05:00
0penBrain 814bc2f998 CI: update licencing texts 2023-03-23 15:39:41 +01:00
Chris Hennes 1f2f457737 Addon Manager: Fixes #9001, icon was string 2023-03-23 09:39:20 -05:00
Uwe dfbc6b168e [FEM] activate spring constraint
- the spring constraint is currently unused but it can be used for Elmer mechanical analyses
This PR does so and also overhaul the dialog UI.
- use the spring constraint also in an example file
2023-03-23 15:14:50 +01:00
0penBrain ab01f8e143 Sketcher: use default palette text color for normal solver messages
These messages had a forced black color which is a problem when using
 OS dark themes.
2023-03-23 10:50:01 +01:00
0penBrain de796b6d19 CI: introduce cleanup workflow 2023-03-23 10:49:22 +01:00
Uwe 86a5acbca8 [FEM] add example file for deformation 2023-03-23 06:17:09 +01:00
wandererfan 85216bd127 [TD]Lint/Tidy/Review comments applied 2023-03-22 20:09:35 -04:00
wandererfan 68d739b061 [TD]autocorrect default to true 2023-03-22 20:09:35 -04:00
wandererfan b9fa9cb33e [TD]corrupt dim reference detect and correct 2023-03-22 20:09:35 -04:00
Uwe 7fd12f8454 [FEM] improve displacement constraint
- use a Distance and Angle property to get the unit handling right
2023-03-23 00:50:40 +01:00
Chris Hennes 633eb24f88 Merge pull request #8955 from wwmayer/issue_8556
Move image loading to core
2023-03-22 16:00:43 -05:00
wmayer b0e9c455a6 Fem: fix warning field 'dimension' will be initialized after field 'ui' [-Wreorder-ctor] 2023-03-22 20:37:29 +01:00
wmayer 956a0f2531 Import: issue #8884: C++ DXF importer never imports text (annotations
This reverts commit e1ebcef39e
2023-03-22 20:09:20 +01:00
Uwe 97103b3bf3 [FEM] use std::unique_ptr for all dialog objects
- also fix too long line
- also further clang automatic code style changes
2023-03-22 20:08:13 +01:00
Abdullah Tahiri 48a921d2b7 NotificationBox: Clang format 2023-03-22 19:13:32 +01:00
Abdullah Tahiri 26e48cb63a NotificationArea: Clang format 2023-03-22 19:13:32 +01:00
Abdullah Tahiri 23739bc2d0 NotificationArea: Change Icon color to indicate missed notifications 2023-03-22 19:13:32 +01:00
Abdullah Tahiri c2b48fbe91 Resources: New Intray icon 2023-03-22 19:13:32 +01:00
Abdullah Tahiri 885824f8c8 NotificationArea: Preference dialog add preferences to control inactive window behaviour 2023-03-22 19:13:32 +01:00
Abdullah Tahiri 83eca46308 NotificationArea: Parameters to control inactive notification show behaviour 2023-03-22 19:13:32 +01:00
Abdullah Tahiri 76892d918d NotificationBox: Convert options to enum class 2023-03-22 19:13:32 +01:00
Abdullah Tahiri 49966ac84d NotificationBox: Add option to hide notification if reference widget is deactivated 2023-03-22 19:13:32 +01:00
Abdullah Tahiri f0883512d5 NotificationBox: Enable options to not show if reference widget is not active and refactor restricttoarea 2023-03-22 19:13:32 +01:00
Abdullah Tahiri d9de68334b NotificationBox: Hide notification if FreeCAD is deactivated 2023-03-22 19:13:32 +01:00
wmayer 649e5a673c Gui: fix image handling:
* Change FileHandlder to accepts all image format supported by Qt
* Make sure image object is not touched after accepting or rejecting changes
* Make option 'Keep aspect ratio' the default
* Fix WhatThis text of command
2023-03-22 17:55:55 +01:00
Uwe bdc704eaa0 [PD] revolve: remove unused code
- also come code style unification
2023-03-22 17:46:03 +01:00
Ajinkya Dahale 27a987949f [Part] Add TopoShapeOpCode.h
Constants to be used in the future.

Apply suggestions from code review

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2023-03-22 22:09:13 +05:30
Ajinkya Dahale 43858ce9ba [Core] Create ElementMap and tests
Test is a dummy for now. `ElementMap.h` only contains const values.
2023-03-22 21:53:23 +05:30
luzpaz eb852691df Fix typos and whitespace 2023-03-22 17:10:38 +01:00
luzpaz c3cc964a1f Migrate tabs to spaces in src/Gui/3Dconnexion/* 2023-03-22 17:06:47 +01:00
wmayer 706b259cee Image: remove module 2023-03-22 16:25:19 +01:00
wmayer 788fe1f139 Gui: add function to scale image 2023-03-22 16:24:51 +01:00
wmayer a55ecbff57 Gui: set size of plane from loaded image file 2023-03-22 16:16:30 +01:00
wmayer 3c9392ce8b Gui: allow to change orientation of image plane, implement two-side rendering 2023-03-22 16:15:35 +01:00
wmayer 2aef0cfa61 Gui: move class Camera to own source files 2023-03-22 16:13:38 +01:00
wmayer 03d2479047 Gui: add image icon resources 2023-03-22 16:08:09 +01:00
wmayer 565cf73f1d Gui: send message events for zoom in/out commands to also support the image view 2023-03-22 16:03:14 +01:00
wmayer 63320c752b Gui: improve loading file by drag and drop 2023-03-22 16:02:28 +01:00
wmayer a9bff40914 Gui: fix printing from ImageView 2023-03-22 15:47:25 +01:00
wmayer 965aeb4b6b Gui: add an image view 2023-03-22 15:45:38 +01:00
Uwe dba00d44d0 [FEM] extend displacement constraint
- add fields to specify a formula for the displacement, this is necessary to make transient deformation analyses with Elmer
- add option to set displacement from result of flow equation
- this way also a major overhaul -> simpler dialog logic etc.
2023-03-22 15:23:32 +01:00
wmayer 77ecde6527 Core: use FileHandler in Application::sOpen and Application::sInsert 2023-03-22 15:14:45 +01:00
wmayer f94f844142 Core: implement class FileHandler 2023-03-22 14:06:17 +01:00
wmayer 084f77f8be Core: move image plane to core system 2023-03-22 13:44:00 +01:00
liukaiwen 971785a160 fix: macro WIN32 is deprecated, but is implicit defined by some certain environment including visual studio 2023-03-22 13:29:35 +01:00
wmayer c36843d42f Gui: issue #8939: timers are moved between non-QThreads 2023-03-22 13:27:00 +01:00
wmayer db9d46e4bb C++17: remove workaround for external smesh to fix build failure on Conda 2023-03-22 13:24:21 +01:00
Yorik van Havre 20227aa392 Merge pull request #8973 from kpemartin/Issue8968
Issue 8968: Correct C++ DXF importer to get all of long MTEXT text
2023-03-22 11:09:19 +01:00
Uwe b38533d070 [FEM] several Elmer fixes
- fix whitespace in the SIF writer
- Elmer GUI uses only 20 nonlinear iterations, so we should do the same (500 were also not sensible)
- don't restrict nonlinear-Newton iterations to 100, 500 might be necessary for turbulent flow
- update author
2023-03-22 07:27:20 +01:00
Uwe 4b4effed15 [FEM] fixes for deformation equation
- deformation is a nonlinear equation
- use the default that Elmer GUI uses for this equation
2023-03-22 07:20:51 +01:00
Uwe 2d3953f65f [FEM] Elmer add support for nonlinear elasticity solver
- adds new equation "Deformation" (this name since the stress solver got in FreeCAD the misleading name "elasticity")

- this way change icon of elastic solver to make the difference clear
2023-03-22 03:27:27 +01:00
Syres916 cb21604494 [App] Minor improvment to error handling for...
... a rare event, see https://forum.freecad.org/viewtopic.php?t=76947
2023-03-21 16:43:45 +01:00
luzpaz bd1e29d477 FEM: [skip ci] fix grammar for console message 2023-03-21 01:39:09 +01:00
David Holdeman 6bf0db5d89 Merge branch 'master' into expression-colors 2023-03-20 18:27:55 -05:00
Chris Hennes eec8f3667e Merge pull request #8785 from Pesc0/master
Toponaming: Added MappedName class
2023-03-20 13:09:44 -04:00
Uwe 2cb2063249 [Sketch] Constraints.cpp: formatting fixes
- fix too long lines
- also let clang reformat the file to uniform the formatting
2023-03-20 16:53:41 +01:00
Kevin Martin 67411ec691 Issue 8968: Correct C++ DXF importer to get all of long MTEXT text
If the MTEXT exceeds 250 characters, the contents are broken up into
several records in the DXF file. The C++ importer has been changed
to collect all these pieces into a single string containing all the text.
2023-03-20 11:48:47 -04:00
luzpaz d5a313146f Fix various whitespace issues 2023-03-20 16:38:40 +01:00
Florian Foinant-Willig 27ed6d6349 Fix circles distance constraint for concentrics 2023-03-20 16:02:08 +01:00
Abdullah Tahiri 37eeccf705 NotificationBox/NotificationArea: Restrict rendering area to main frame
========================================================================

The NotificationBox is extended to take the QRect in global coordinates. Then
it will try to dimension the label within this area. If a fixed width is provided, that
is enforced (take precedence).

The NotificationArea passes the QRect of the main window to the NotificationBox.

This is intended to fix:
https://github.com/FreeCAD/FreeCAD/issues/8940
2023-03-20 15:43:42 +01:00
Uwe 431fafc533 [FEM] fine-tune flow examples
- use a more sensible velocity distribution
- change inlet temperature for 2 examples

- also change step size for nonlinear iterations for more convenience for practical usage
2023-03-20 07:17:11 +01:00
Uwe 9007723331 [FEM] rewrite initial velocity constraint
- same as #8963 but for initial velocity

- add an example file that demonstrates the influence of the initial velocity
- some fine-tuning for the existing flow example
2023-03-20 04:58:24 +01:00
Uwe 06061e37dc [FEM] rewrite velocity constraint
- complete revision of the constraint.

This is a breaking change, meaning existing constraints won't work.

This is possible because since 2 days ago the whole flow equation did not work at all. Also the existing constraint implementation if buggy and cannot be used to do the Elmer tutorial. Also, the constraint is only used by Elmer and only be the flow equation.

Since nobody complained about the obvious wrong results, we can assume the flow equation was not yet in practical usage (and for FC 0.20 we known that it does not work at all, first with FC 0.20.1).

It is necessary since it must be possible to either input a velocity or an equation. With an equation, a velocity profile can be specified.

- update the flow examples accordingly:
-- simplify them since an initial and and output velocity is not necessary to specify
-- use a formula as input velocity for the non-turbulent example
2023-03-20 01:57:09 +01:00
Uwe a2fec51923 [FEM] Elmer: support for variable strings
- Elmer offers the "Variable" calls do define variables via math equations. These are for example used to define as constraint a certain velocity profile
2023-03-20 01:14:34 +01:00
Uwe 09fbf45925 [FEM] output less messages
- the message how to use the feature is not useful since it is triggered by the GUI selection and in the GUI has already the info in form of tooltips how to use
2023-03-20 01:13:46 +01:00
Abdullah Tahiri f7f78aa44b Missing overrides 2023-03-19 19:14:22 +01:00
Abdullah Tahiri 6ffd22fa9b Refactor of CmdSketcherSnap and SnapSpaceAction to reduce verbose calls to retrieve preference parameters 2023-03-19 19:14:22 +01:00
Abdullah Tahiri a07630dfb3 Refactor parameter in a single place 2023-03-19 19:14:22 +01:00
Abdullah Tahiri 5ae5d0db87 Prevent unnecessary update of snapAngle, block signals when auto updating 2023-03-19 19:14:22 +01:00
Abdullah Tahiri 8d33a24092 Remove unnecessary ViewProvider retrieving and checking, as it is unused 2023-03-19 19:14:22 +01:00
Abdullah Tahiri 65ec96d12d Rename angleSnapEnabled to angleSnapRequested for consistency with the other snap flags 2023-03-19 19:14:22 +01:00
Abdullah Tahiri 75fd0dbc73 Remov warning -squash group by meaningful groups 2023-03-19 19:14:22 +01:00
Abdullah Tahiri e763fd3d80 Remove warning - SnapManager initialisation order in constructor different from class declaration 2023-03-19 19:14:22 +01:00
Abdullah Tahiri 41408b411f Encapsulate interface data members 2023-03-19 19:14:22 +01:00
Abdullah Tahiri 50b3662535 Rename preference parameter 2023-03-19 19:14:22 +01:00
Abdullah Tahiri af0f4b10f6 Remove left-over code 2023-03-19 19:14:22 +01:00
Paddle de57296576 Sketcher: Snap: Add 'Snap at angle' to Arc of Ellipse DSH. 2023-03-19 19:14:22 +01:00
Paddle 4922a48997 Sketcher: Snap: Add 'Snap at angle' to Ellipse DSH. 2023-03-19 19:14:22 +01:00
Paddle 7b7368b04b Sketcher: Snap: Add 'Snap at angle' to Line DSH. 2023-03-19 19:14:22 +01:00
Paddle e62d6b854b Sketcher: Snap: Add 'Snap at angle' to Arc DSH. 2023-03-19 19:14:22 +01:00
Paddle 7d97a5d8da Sketcher: Snap: Add 'Snap at angle' support to DrawSketchHandler. 2023-03-19 19:14:22 +01:00
Paddle 0f274c2e07 Sketcher: Snap: initial implementation: - creation of SnapManager class. - Move grid snap to this new class. - Add snap to object. - Add snap at angle. 2023-03-19 19:14:22 +01:00
flachyjoe 21c2eb6014 Sketcher: Add circle to circle distance constraint 2023-03-19 14:05:35 +01:00
wmayer 0e64e76514 Gui: fix some lint warnings 2023-03-19 03:19:49 +00:00
Pesc0 dce458d1e8 Added all tests and minor fixes 2023-03-19 02:55:24 +01:00
Chris Hennes 88a06ce6d5 App/Toponaming: Add IndexedName tests for MappedName class 2023-03-19 01:57:54 +01:00
Pesc0 2721a83a08 Improved some tests 2023-03-19 01:32:29 +01:00
Pesc0 86333b210d Remove use of = operator in object construction 2023-03-19 00:41:13 +01:00
wmayer c585a9f430 TD: move all XML query handling to a single function 2023-03-18 19:26:01 -04:00
wmayer 3ed781ce1e Gui: solves #8939: timers are moved between non-QThreads
For more details see: https://github.com/FreeCAD/FreeCAD/issues/8939#issuecomment-1474888902
2023-03-18 22:41:48 +01:00
Pesc0 5e5719a435 Fixed tests 2023-03-18 19:44:18 +01:00
Paddle 13d175e891 Sketcher: Stylesheets: Taskbox buttons revert margin and padding. 2023-03-18 18:22:21 +01:00
Paddle 5090cf3436 Sketcher: Constraint Widget: Change showHideButton from QPushButton to QToolButton to avoid style problems. 2023-03-18 18:22:21 +01:00
Alexander Golubev 57f2f06fe2 Gui: add a tooltip about how to modify shortcuts into DlgKeyboard 2023-03-18 17:59:50 +01:00
Alexander Golubev 992dec2c6b Gui: Prevent UiLoader from loading 3rd-party Qt plugins.
Due to a flaw in the QUiLoader, UiLoader were loading all designer plugins
it can find in QApplication::libraryPaths(). This in general a bad
practice and leads to bugs due to some plugins may perform some unexpected
actions upon load which may interfere with FreeCAD's functionality.

To avoid such problems reset the libraryPaths before creation of a
UiLoader object.

Also move setLanguageChangeEnabled(true) into constructor due to it's
called every time it's being instanced anyway.

See: https://github.com/FreeCAD/FreeCAD/issues/8708
2023-03-18 17:59:50 +01:00
Chris Hennes 376c94f72f App/Toponaming: Finish Doxygen comments 2023-03-18 17:59:35 +01:00
David Holdeman 5b8463469d Path: polish to apply 2023-03-18 09:30:16 -05:00
Abdullah Tahiri 64eb85b1ea ElementWidget: remove unnecesary element pointer
================================================

This should fix this (I cannot reproduce it):
https://forum.freecad.org/viewtopic.php?p=667579#p667579

Lately I added the geometry pointer to the item. This has indeed
the potential for an already deleted pointer being accessed.

This PR removes the geometry pointer from the item and relies on the
ViewProvider to indirectly access an updated pointer.
2023-03-18 11:32:22 +01:00
Abdullah Tahiri 522679321c ElementWidget: reorganise implementation class declarations 2023-03-18 11:32:22 +01:00
Abdullah Tahiri 45401e30ce Notifications: Extend translated notification to include caption
===============================================================

For translated notifications now the caption is included in the
message, as the translation is already done, and this improves
the semantics of existing messages.
2023-03-18 09:07:39 +01:00
Abdullah Tahiri 3f19bcbeef Sketcher: Elements Widget - Fix crash when moving external geometry to another layer
====================================================================================

As reported:
https://forum.freecad.org/viewtopic.php?p=667426#p667426

Support for moving external geometry to another layer will come in the future.
2023-03-18 07:45:04 +01:00
Abdullah Tahiri 5242f6d048 ElementsWidget: Move ElementFilterList to implementation
========================================================

Only moving code from header to implementation.
2023-03-18 07:45:04 +01:00
Abdullah Tahiri 7cc3fe480c ElementsWidget: Move Delegate to implementation
===============================================

Only moving code from header to implementation.
2023-03-18 07:45:04 +01:00
Uwe 25031a74ee [App] [skip ci] register PropertyVelocity
- was forgotten once the property was implemented some days ago
2023-03-18 05:45:45 +01:00
David Holdeman b86d858abc Path: set property for spinbox 2023-03-17 21:49:28 -05:00
David Holdeman e9c4a8b5ce Path: set property 2023-03-17 21:49:17 -05:00
Uwe d23b576c33 [FEM] update a file license
- like in #8933
2023-03-18 01:04:17 +01:00
Uwe 576781363d Merge pull request #8934 from jbaehr/partdesign-ingolutegear-profileshift
PD: Implement Profile Shift for InvoluteGear
2023-03-18 00:48:44 +01:00
Chris Hennes 23182666dc Fem: Fix licensing of Calculix test FCStd files (#8933)
* Fem: Fix licensing of Calculix test FCStd files
2023-03-18 00:47:02 +01:00
wmayer a1689319ce Gui: add missing include for Qt6 build 2023-03-18 00:08:40 +01:00
wwmayer 560752cd80 Base: fixes #8902: Segfault from Part WB functionality in python scripting (#8927) 2023-03-17 22:50:30 +01:00
Jonas Bähr 9404c032f4 PD: Implement Profile Shift for InvoluteGear
This commit adds the ability to shift the involute profile inside or
outside. Profile shift is implemented as coefficient, i.e. normalized by
the module, so that it the whole profile scales with the module without
chaning shape.
To verify the profile, the tests implement an "over pins measurement"
using formulae found in literature.
Backward compatibility with FreeCAD-v0.20 is garanteed by already
existing tests, not touched by this commit.

This addresses issue #5618.
2023-03-17 22:22:34 +01:00
0penBrain c4b63bcf17 CI: minor improvements in texts 2023-03-17 19:50:12 +00:00
Uwe 5dabd5dfff [FEM] add an example for a turbulent flow 2023-03-17 17:57:09 +01:00
Uwe b9398e3fdb [FEM] improve check for fluid material
- it is sufficient if there is a dynamic viscosity defined
2023-03-17 17:56:41 +01:00
Uwe e5caf77009 [FEM] fix 1D thermomech example
- the heat capacity of water was wrong
- also specify just thermal expansion, this make that water is recognized as material and then all water parameters will be available

(that the analysis fail despite CalculiX reports everything went well s is another issue, I will investigate later)
2023-03-17 17:55:50 +01:00
Uwe c38fcf8ed7 [FEM] Elmer: add new default coordinate system
- for new versions of Elmer the default coordinate system is "Cartesian". (if 2D or 3D is determined by the "Variable" setting for the equation)
2023-03-17 16:03:23 +01:00
Paddle db65bb751d Draft: Remove unit selector in status bar as it is now implemented in core's sizeLabel. 2023-03-17 14:04:24 +00:00
Paddle 66ab1e3bf3 Sketcher: Add parameter observer for system unit, such that the view is updated when user change the unit system through the sizeLabel widget. 2023-03-17 14:04:24 +00:00
Paddle 697ca8cb1c Core: Add possibility to change the unit in the sizeLabel. 2023-03-17 14:04:24 +00:00
Abdullah Tahiri 24eb601fb0 NotificationArea: Preferences - width 2023-03-17 11:29:30 +01:00
Abdullah Tahiri f00e6d93dc NotificationArea: Convert plain text to HTML to perserve format 2023-03-17 11:29:30 +01:00
Abdullah Tahiri 2de5076b74 NotificationArea: Use fixed size notifications 2023-03-17 11:29:30 +01:00
Abdullah Tahiri 9920dff37a NotificationBox: Allow to set a fixed notification width 2023-03-17 11:29:30 +01:00
Abdullah Tahiri 6376250ea7 NotificationArea: Allow wrapping of message text to avoid rendering issues with long messages 2023-03-17 11:29:30 +01:00
mosfet80 8bb8f76fac Delete deprecated thumbnailer (#8798)
Remove thumbs
2023-03-17 11:06:21 +01:00
Florian Foinant-Willig a290fe8ae1 Fix missing python addProperty and removeProperty of Document object 2023-03-17 10:34:32 +01:00
Uwe b1c848b8db [FEM] fix flow equation
- the density must be output using the correct units. Due to this bug also the viscosity was written with wrong units-
- if there is a dynamic viscosity given for a material, use it directly
2023-03-17 03:55:23 +01:00
Chris Hennes c02aeafad0 App/Toponaming: Begin adding Doxygen comments 2023-03-17 02:21:29 +01:00
Chris Hennes cd6c70adcc App/Toponaming: MappedName clang-tidy cleanup 2023-03-17 02:21:29 +01:00
Pesc0 6a6cda538f Use AAA pattern in test suite 2023-03-17 01:43:34 +01:00
Pesc0 1562179bdc MappedName unit tests almost complete 2023-03-17 01:43:34 +01:00
Pesc0 62246b951a Added initial tests to MappedName 2023-03-17 01:43:34 +01:00
Pesc0 5600c564be Added MappedName class 2023-03-17 01:42:53 +01:00
Uwe c1751bde4a [FEM] improve deletion warning
- don't popup a warning if all children of an object are selected too when deleting the object
2023-03-16 21:54:09 +01:00
wmayer da38f16320 Gui: set-up a logging category filter to suppress the most annoying Qt warnings 2023-03-16 20:40:00 +01:00
mosfet80 4b053e867f Delete src/Tools/ImageTools/ImageConv directory
ImageConv Tools  are not used in the Freecad project.
2023-03-16 20:17:22 +01:00
sliptonic fc3e1fe70e Path Update license to CC 4.0 2023-03-16 19:49:40 +01:00
marioalexis 20984f866c Fem: Remove unused member node 2023-03-16 17:50:21 +01:00
Russell Johnson ca1312c8ad Path: Update license
Addresses user-specific need in #8894
2023-03-16 17:46:27 +01:00
LarryWoestman 0fcfb2206e Path: Updated the licensing to Creative Commons 4.0 2023-03-16 16:33:47 +01:00
wandererfan 5247b91a63 [TD]add wait for threads to Dimension test script 2023-03-16 10:37:14 -04:00
wandererfan e3dcb24ebe [TD]prevent bleed through on Detail mat 2023-03-16 10:37:14 -04:00
wandererfan 0c5f476ad4 [TD]skip center marks for view frame 2023-03-16 10:37:14 -04:00
wmayer a9694e1878 TD: port to Qt6
* in QtConcurrent::run the order of 1st and 2nd argument are swapped
* QtConcurrent::run asserts that the argument of the passed function pointer is not non-const
* Used methods of QFontDatabase are static in Qt5 and Qt6
* QTextStream::setCodec() has been removed in Qt6
* Argument of enterEvent() has changed from QEvent to QEnterEvent
* QTextCharFormat::setFamily() is deprecated
2023-03-16 09:17:39 -04:00
wandererfan 328cd863a1 [TD]trap bad format spec
- bad format spec can break QString::asprintf
2023-03-16 08:32:57 -04:00
Uwe 5ac308e8a6 [Lint] remove checks for line endings
- there is no need to check for certain OS line endings, git handles them well apparently
2023-03-16 06:24:25 +01:00
Uwe 0e108cba4f [FEM] use unique result mesh name
- it is a long-standing bug that the name of the result mesh object is not unique. For example for a frequency analysis you get for every result the same object "ResultMesh". When now a "ResultMesh" object is deleted because one result mode object should be deleted, all result modes loose their mesh.
To fix this, use a unique name for the mesh object.
2023-03-16 06:19:10 +01:00
Uwe 4ecf74322c [FEM] better pipeline connection for CalculiX
- make the connection also working for frequency and buckling analysis by directly creating/updating the pipeline where the CalculiX results are loaded
2023-03-16 06:12:14 +01:00
berniev 138688d25e Finish #8879 and remove the unwanted files 2023-03-16 03:48:59 +01:00
Chris Hennes fc996571cb CI: Run the C++ test suite as part of the GitHub CI
Refactors the tests to rename them to runPythonTests and runCPPTests.
2023-03-15 18:34:39 +00:00
Chris Hennes 00deb9f7d3 Merge pull request #8819 from galou/empty_identifier_not_allowed
Do not allow an empty identifier in `getIdentifier`
2023-03-15 15:22:42 +00:00
Gaël Écorchard 85420a885b Merge branch 'master' into empty_identifier_not_allowed 2023-03-15 14:14:15 +01:00
Yorik van Havre 45001fa160 Merge pull request #8795 from yorikvanhavre/draft-layermanager
Draft: Added LayerManager command from BIM
2023-03-15 11:59:59 +01:00
Yorik van Havre 23f266f2e2 Merge pull request #8818 from yorikvanhavre/draft-grid-fix
Draft: Fixes grid on/off behaviour - fixes #5878
2023-03-15 11:59:30 +01:00
Morgan 'ARR!' Allen 942a72f32b Merge branch 'master' into path_custom_source 2023-03-15 01:17:35 -07:00
Morgan 'ARR\!' Allen 655dbafd18 WIP add File source to CustomOp
original functionality is the default behavior under Text Source
2023-03-15 00:58:42 -07:00
Chris Hennes 44864bf525 Merge pull request #8776 from chennes/toponamingIndexedName
App: Toponaming indexed name
2023-03-14 19:21:19 -05:00
wmayer 2071971a5d MSYS2: fix creation of ProgressIndicatorPy 2023-03-14 22:24:33 +01:00
wmayer 21d705ad4b Import/Part: [skip ci] restore some comments 2023-03-14 21:47:41 +01:00
Chris Hennes c1e6d516f4 Addon Manager: Pylint cleanup 2023-03-14 13:59:51 -05:00
Chris Hennes 95e1389c41 Addon Manager: Fix #8833 2023-03-14 13:59:51 -05:00
Chris Hennes cc9387aa3f App: Clean up IndexedName and add tests
Fixes the matching algorithm when provided a vector of existing names:
The original algorithm was equivalent to a 'startswith' algorithm, when it should
have been testing for exact and complete string equality. This also does some
refactoring to rename and clarify variables and functions, simplifies some
functions by using standard library calls when possible, and addresses various
linter complaints. It also applies our current clang-format to the files.

Co-authored-by: Ajinkya Dahale <AjinkyaDahale@users.noreply.github.com>
2023-03-14 13:08:23 -05:00
Paddle 9dfeccafd1 Sketcher: Stylesheet, fix manualUpdate button style. 2023-03-14 16:28:14 +01:00
Paddle d09b1e1499 Sketcher: Solver Message simplification 2023-03-14 16:28:14 +01:00
Andrew 0833cbe7cc Clean mod/import folder
Clean mod/import folder

fix code not removed.
2023-03-14 16:02:01 +01:00
berniev de373436cd Remove original proof of concept test files as some fail, and that won't work too well with future possible CI 2023-03-14 16:00:13 +01:00
luzpaz 3f6771ff56 Refine previous fix for #8866 2023-03-14 15:59:33 +01:00
Adrian Insaurralde Avalos 0b2a2a8cf7 fix #8847 sketcher dialog tool buttons bad styling 2023-03-14 13:32:21 +01:00
wandererfan 7ed22cc5f6 [TD]add autocorrect preference 2023-03-13 19:03:32 -04:00
wmayer ac2c09b487 Gui: [skip ci] fix whitespaces 2023-03-13 22:38:54 +01:00
Syres916 8a7945c9f2 [Gui] Add TODO reference hack 2023-03-13 22:34:58 +01:00
Syres916 322c1e4ddb [Gui] Improve comments regarding move of widget 2023-03-13 22:34:58 +01:00
Syres916 48ca8d5269 [Gui] Fix regressions from PR7771...
specifically https://github.com/FreeCAD/FreeCAD/commit/7458912b3340a428cd5fcb763859659ebb8b76ce fixes #7965 #8440
2023-03-13 22:34:58 +01:00
Jonas Bähr 4eafedb20f PD: Harmonize ExternalInvoluteGear and InternalInvoluteGear
There has been lots of duplicated code between those two, and the recent
changed introduced even more copy/paste code. This commit consolidates
both implementations. The two "public" entry points, `CreateExternalGear`
and `CreateInternalGear` have been kept and now call a shared helper.
2023-03-13 22:10:41 +01:00
Jonas Bähr b3ab9c1c3c PD: some cleanup of InvoluteGear
This commit removes obsolete files, gets rid of py2 habits like `xrange`
and fixes some comments and blank lines.
2023-03-13 22:10:41 +01:00
marioalexis b37fe66653 Fem: Remove property name comparison 2023-03-13 22:08:41 +01:00
wmayer 616c72e7e4 CMake: add Qt's WinExtra module 2023-03-13 18:14:11 +01:00
Ronny Standtke b44f82f0f6 use standard Close button for consistency with other task dialogs 2023-03-13 11:56:27 -05:00
Ronny Standtke 0ff5ff37f4 move "Close" button of angular variant also to north 2023-03-13 11:56:27 -05:00
Abdullah Tahiri 5b3c86d8e3 Sketcher: Constraint - notification and internal geometry command clean up
==========================================================================

- Migration of all constraints to the new non-intrusive notification framework.

- Removal of internal geometry command

- Command to create manually internal geometries is removed (deprecated).
2023-03-13 16:21:01 +01:00
luzpaz ff470469f5 Fix misc. grammar and whitespace 2023-03-13 15:01:05 +01:00
wmayer 54009f14ee App: fixes #7833: Python2/3 FIXME code in App/FreeCADInit.py to be reviewed
The workaround was needed for Py2 on Windows. Since with Py3 it works as expected the workaround can be removed
2023-03-13 14:07:59 +01:00
Christian Mesh dd31b7f0db Update Array/Copy to handle placement correctly 2023-03-13 07:49:20 -04:00
wandererfan 5462c9de6f [TD]allow loading SVG item from file 2023-03-12 22:05:16 -04:00
wandererfan fb9b3a9e9e [TD]fix centering of shape
- centering of shape was not affecting the OCC TShape, so
  we now make a deep copy of the original
2023-03-12 19:21:22 -04:00
xtemp09 37d7f7d570 [TechDraw] Minor improvement of TaskLineDecor.cpp 2023-03-12 13:57:45 -04:00
Abdullah Tahiri 492c941395 Gui: Notifications - Convenience functions to send intrusive/non-intrusive notifications
========================================================================================

Functions to transparently send errors, warnings, notifications and translatednotifications, either
as intrusive messages (modal pop-up QMessageBox style) or as non-intrusive messages (notificationarea),
depending on the preferences of the user.

It is intended to substitute calls to QMessageBox with these functions in WBs, including the Sketcher WB.

Example:

QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Wrong selection"),
                      QObject::tr("Cannot add a constraint between two external geometries."));

Can be rewritten as:

 Gui::TranslatedNotification(obj,
               QObject::tr("Wrong selection"),
               QObject::tr("Cannot add a constraint between two external geometries."));

or

 Gui::TranslatedNotification("Sketcher",
               QObject::tr("Wrong selection"),
               QObject::tr("Cannot add a constraint between two external geometries."));

where the first parameter (obj or "Sketcher") is the notifier string. If obj is an App::DocumentObject
(or a derived class of it), internally the function transparently calls getFullLabel() to get the notifier
string.
2023-03-12 18:44:55 +01:00
marioalexis 2143976302 Fem: Remove property name comparison 2023-03-12 18:27:39 +01:00
luzpaz c0b74c7dde libarea: fix whitespace 2023-03-12 18:22:02 +01:00
wmayer 645812b8f7 Tests: suppress warnings C4251 in test module 2023-03-12 17:58:11 +01:00
Chris Hennes f0fe65e769 App: Add IndexedName class
Ported from development/toponaming.
2023-03-12 11:03:52 -05:00
wmayer bcc80ba9aa MSYS2: fix linking error with extern templates 2023-03-12 16:17:38 +01:00
wmayer c8c9f42ae8 MSVC: fix compiler warnings about redefined pre-processor directives
Swapping the order of Qt and Inventor headers fixes them because the latter uses #ifdef/#endif guards
2023-03-12 16:17:38 +01:00
wmayer 8457037f17 clang: fix -Wdeprecated-declarations 2023-03-12 15:05:21 +01:00
wmayer 580b775690 clang: fix -Wunused-parameter, -Wunused-variable, -Wswitch 2023-03-12 15:05:21 +01:00
wmayer 2a970b3045 clang: fix -Wunused-but-set-variable 2023-03-12 15:05:21 +01:00
mosfet80 4cd350d2d0 Removal of unused code due to old <5.2 Qt library (#8842) 2023-03-12 11:08:58 +01:00
Abdullah Tahiri d43f4cd26b Gui: Preference Page for NotificationArea
=========================================

Configuration preference page for controlling the notification area (non-intrusive messages and widget).
2023-03-12 06:06:29 +01:00
Abdullah Tahiri eb7bf5d977 Gui: Remove old signal for critical messages in favour of Notification Area
===========================================================================

The former system of autoclosing messageboxes is removed in favour of the Notification Area.
2023-03-12 06:06:29 +01:00
Abdullah Tahiri 340ccb8ed6 Sketcher: SketchObject using the new notification system
========================================================

- CriticalMessage old signal is reconverted to new notification system. This enables to remove the obsolete old system.

- An example of how common errors can be provided with translation support is added, so that App notifications appear
translated in the NotificationArea.
2023-03-12 06:06:29 +01:00
Abdullah Tahiri b27bd2b4b5 Gui: Add Notification Area to Status bar
========================================

Parameter "NotificationAreaEnabled" can be used to completely disable the Notification Area.

If disabled it won't appear on the UI at all and no non-intrusive notification will be generated.
2023-03-12 06:06:29 +01:00
Abdullah Tahiri 60cb06e20c Gui: Notification Area
======================

A notification area consisting of one area for non-intrusive notifications, and a widget showing previous
errors, warnings, critical messages and notifications.

Notifications being marked with QT_TRANSLATION_NOOP with context "Notifications" are translated.

Messages are shown during a minimum show time, unless pop up (clicked inside). Messages stay until
a maximum show time. Between the minimum and the maximum show times left mouse button events make
the non-intrusive notification disappear.

The widget stores a configurable amount of messages after which old messages are removed to make room for
new ones.

Unread messages are shown in bold.
2023-03-12 06:06:29 +01:00
Abdullah Tahiri a35374d12e Gui: New Icon for Notification Area
Gui: Icon resources - Warning icon

Gui: Icons - squash
2023-03-12 06:06:29 +01:00
Abdullah Tahiri 63f3bdaf77 Base: Observer - fix template instantiation
===========================================

Merit goes to Werner for figuring out the issue and proposing a MSVC/MSYS2 viable solution:
https://github.com/FreeCAD/FreeCAD/pull/8781#issuecomment-1464898566
2023-03-12 06:06:29 +01:00
Abdullah Tahiri 77dc9bba1b NotificationBox: clang-format formatting 2023-03-12 06:06:29 +01:00
Abdullah Tahiri cd79ea5994 NotificationBox: Fixes
======================

QToolTip removed the Windows specific behaviour of passing a screen widget as parent for QLabel
in 44fb925f50471ebc23dcccfaa4e9d9873b05d205. NotificationBox code is simplified not to use a
parent widget at all.

A inappropriate review fix actually causing a bug is fixed.

https://github.com/FreeCAD/FreeCAD/pull/8352#discussion_r1111342024
2023-03-12 06:06:29 +01:00
Daniel-Khodabakhsh 827af464e3 Add various matrix related expression functions (#8603)
Adds a few new Expression functions with the goal to:

- Simplify Placement, Rotation, Vector and Matrix object creation.
- Add new matrix functions for rotation and translation.
2023-03-11 20:13:23 -06:00
Hannu Koivisto 57aac275c7 [Draft] Mitigate crash in Draft_Edit (#8749) (#8750)
This mitigates the crash reported in issue #8749.  The crash happens when
using Draft_Edit and using keyboard to enter a coordinate in Edit node
dialog.  This change partially restores behaviour before commit fc14567,
after which FreeCADGui.Control.closeDialog and showDialog calls during
execution of DraftToolBar.editUi are no longer made using the todo.delay
mechanism.  The crash can still be triggered by artificially slowing down key
event processing, so this is not a proper fix, just a mitigation.
2023-03-11 17:44:04 +01:00
Uwe adb972319f [Sketch] reverse commit 944c02f12b
- as discussed in #8838 (the PR will be improved after the weekend)
2023-03-11 17:26:42 +01:00
Paddle 944c02f12b Sketcher: Solver Message Widget simplification. 2023-03-11 16:08:16 +01:00
BHennen 0f4acc55be Add offset options to Draft PathArray (#8295)
* Add offset options to Draft PathArray

Allows user to specify a starting and ending offset to items in Draft PathArrays.

* [Draft] path array offset

---------

Co-authored-by: Roy-043 <info@b-k-g.nl>
2023-03-11 15:54:25 +01:00
Uwe fff0f535dd [Gui] fix bug on restoring PrefColorButton
- onRestore did not read in transparencies because App::Color::fromPackedRGB was used instead of App::Color::fromPackedRGBA
2023-03-11 15:49:59 +01:00
wandererfan d0c5b7c045 [TD]remove unused override methods 2023-03-11 08:08:58 -05:00
Uwe 3c31007e58 [FEM] BoxWidget: fix duplicate names
- as reported: https://github.com/FreeCAD/FreeCAD/pull/8825#issuecomment-1464876840
2023-03-11 13:55:14 +01:00
Uwe 1e702cdca2 [FEM] adjust initial position of new box filter
- as discussed in #8825
2023-03-11 13:55:14 +01:00
Roy-043 87b63d186e [Draft] fix regression introduced with #8433 (#8840) 2023-03-11 13:35:24 +01:00
mosfet80 218269bdaf Update json (#8830)
* Update json from 3.9.1 to 3.11.2
2023-03-11 13:30:27 +01:00
Uwe 2c6e696c68 [Zipios] fix testing
- after #8807 testing was broken due to a linking error, the fix was proposed in https://github.com/FreeCAD/FreeCAD/pull/8807#issuecomment-1464295791

- the formatting changes were automatically done according to our current clang file
2023-03-11 10:29:55 +01:00
marioalexis 191879b2c6 Fem: Remove property name comparison 2023-03-11 10:29:29 +01:00
wmayer da98cfc4d1 Test: fix license unit test 2023-03-11 03:19:59 +01:00
Uwe 1dc9f5484f [FEM] [skip ci] BoxWidget.ui fix
- was reported and automatically fixed by Qt's Designer that the size in the file is incorrect, (the sum of the widget's widths is wider than the main widget's specified size)
2023-03-11 03:19:03 +01:00
marioalexis a9b167ccbc Fem: Add box filter function 2023-03-11 03:13:57 +01:00
Chris Hennes f1ffaf3ba9 Addon Manager: Handle icons with query strings 2023-03-10 17:30:51 -06:00
Chris Hennes 1f6c364fa6 Addon Manager: Refactor Metadata
Create a Python-native metadata class. Includes unit tests, and some PyLint cleanup.
2023-03-10 14:25:50 -06:00
wmayer 8532c96c20 PD: add unit test for PR #8763 2023-03-10 19:23:03 +01:00
wmayer eb01e31174 PD: add unit test for issue #6156 or PR #8748 2023-03-10 19:05:50 +01:00
Abdullah Tahiri f99e76056e Sketcher: Remove "Show Edit Section" from preferences
=====================================================

In a previous commit the Edit Section and its preferences where removed, however
Adrián Insaurralde realised that the setting for showing or not this section had been left behind:
https://github.com/FreeCAD/FreeCAD/pull/8716#issuecomment-1462364487

This commit just removes that settings.
2023-03-10 18:19:28 +01:00
Abdullah Tahiri 8569a4fb30 Sketcher: Remove references to non-existing icons
=================================================

User Syres realised that some commands that are in use by the solver messages url referenced non-existing icons, which
triggers errors in the report view while customising:
https://forum.freecad.org/viewtopic.php?p=666167&sid=16ac6777c440d632e5f60083fb4327ca#p666167

This commit removes them.
2023-03-10 18:18:58 +01:00
Uwe ab327114c3 [TD] fix compiler warning about code duplication and unused variable 2023-03-10 11:25:16 -05:00
Andrew f00b668bac remove unnecessary include 2023-03-10 16:35:13 +01:00
luzpaz 6802bed99d Fix various typos and whitespace 2023-03-10 14:40:46 +01:00
Gaël Écorchard de42289c12 Do not allow an empty identifier 2023-03-10 13:10:00 +01:00
Yorik van Havre 3585ed46e3 Draft: Fixes grid on/off behaviour - fixes #5878
- If grid is on and auto grid on: Grid always appears
- If grid is on and auto grid off: Grid off at start, on when using a tool, off afterwards
- If grid is off: Grid never appears
2023-03-10 12:19:27 +01:00
Uwe d27e69bdc9 [PD] add tooltip for Hole feature
- tooltip makes clear what the depth means for countersinks
- add comment why a calculation cannot be performed
- shorten some long lines
2023-03-10 05:14:24 +01:00
Zheng, Lei fac0a1740f PartDesign: do not include transform for sub-object in Feature 2023-03-10 02:06:24 +01:00
wmayer 4ed6150231 Tests: add zipios++ unit tests 2023-03-09 23:33:52 +01:00
wandererfan 0adc473d53 [TD]fix error from BSpline.asCircle 2023-03-09 13:40:16 -05:00
wmayer 45e3d0be96 Sketch: export GeoListModel::getGeoListModel to fix linking error with MinGW 2023-03-09 19:38:40 +01:00
wmayer 65a0afdb60 [skip ci] update ThumbnailProvider project 2023-03-09 19:37:01 +01:00
Uwe 1bfaa6965b [FEM] improve cylinder function
- set better initial position and size
- add misting triggering of ViewProvider
- some code style improvements (fix too long lines, consistency etc.)
2023-03-09 17:25:46 +01:00
Uwe bedfd8f743 [MeshPart] fix unwrap feature
- fixes #8741
- in commit d62d41a53b the pybind headers were accidentally removed
2023-03-09 16:57:21 +01:00
Syres916 e0211a5abd [Gui] Fix display names of Recent Macros 2023-03-09 15:08:35 +01:00
Uwe 74388badff [Gui] [skip ci] improve new icon
- remove the Python logo in it (not visible in this size and can be license issue in future)
- save as plain SVG
2023-03-09 15:04:54 +01:00
Syres916 5abe450b0c [Gui] Add an icon for Std_RecentMacros command (#8793)
* [Gui] Add Std_RecentMacros.svg icon
* [Gui] Add Std_RecentMacros icon
* [Gui] Add icon to Std_RecentMacros command
2023-03-09 14:55:30 +01:00
Yorik van Havre 5c471bef37 Draft: Added LayerManager command from BIM 2023-03-09 14:26:09 +01:00
wmayer b7b8113824 Gui: fixes #8501: FreeCAD crashes when constraining a sketch with an expression containing . (dot) 2023-03-09 12:45:16 +01:00
wmayer f70bf280c6 Gui: fix possibly garbled toolbars and menus
See also Debian bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=986821
For now enable this line only for Windows builds
2023-03-09 12:44:45 +01:00
wmayer d0a23a1cd2 App: add CC 3.0 licenses 2023-03-09 12:44:14 +01:00
wmayer 4cf705b9d8 Gui: check for more ExpressionBinding types 2023-03-09 12:43:44 +01:00
wmayer 0efab730c1 Gui: split icon handling from ExpressionBinding 2023-03-09 12:43:44 +01:00
Uwe 0d77da1c81 [FEM] [skip ci] fine-tune FEM function filter
- just for consistency use always the form "x.0"
2023-03-09 02:40:32 +01:00
Alexander Golubev 088f51632b PD: Fix Loft's Closed option
Closes: https://github.com/FreeCAD/FreeCAD/issues/6156
2023-03-09 01:48:32 +01:00
Uwe fe9ebfc4c5 [FEM] [skip ci] CylinderWidget.ui fix
- was reported and automatically fixed by Qt's Designer that the size in the file is incorrect, (the sum of the widget's widths is wider than the main widget's specified size)
2023-03-08 18:02:10 +01:00
Uwe 453b244b55 [FEM] fox compilation of new Cylinder function
- vector must be initialized and vector size requires a const int

- also some sorting
- also some formatting changes to be consistent (either always "x." or "x.0")
2023-03-08 18:02:10 +01:00
Uwe 22db01d7a9 [Gui] NaviCube: don't write font size on loading preferences
- as discussed here: https://github.com/FreeCAD/FreeCAD/pull/8567#issuecomment-1445283127 and following)
2023-03-08 17:18:59 +01:00
marioalexis b1e8de58ea FEM: Add cylinder filter function 2023-03-08 17:16:41 +01:00
xtemp09 61f1310aa5 [Mesh] Minor code update
Removal of unnecessary comparison.
`QThread::idealThreadCount()` returns the ideal number of threads that the process can run in parallel or 1 if it fails to determine it.
2023-03-08 13:20:45 +01:00
berniev 0a5e59adae an example of using constexpr array for data
simplifies code and removes the need for a class.
2023-03-07 23:22:44 +01:00
ronnystandtke 5e77365c0d Bug fixes and improvements for workbenches settings (#8725)
* removed header strings from ui file so that they can be dynamically set from cpp file
* use enum for column numbers
* only replace load button with loaded indicator (much faster and checkboxes no longer get unselected by loading a workbench)
* improved i18n (allows better positioning of argument for translators)
* improved column ordering (buttons and checkboxes much closer to icon and name)
* fixed variable camelCase (checkbox -> checkBox)
* exit for-loop if button was found
* added check for nullptr
2023-03-07 12:42:22 -06:00
xtemp09 27c4b52688 [FEM] Replacement of hardware_concurrency() with idealThreadCount()
I encountered problems with std::thread::hardware_concurrency() with mingw-w64 < v8.1.

QThread::idealThreadCount() is a better alternative.
2023-03-07 17:41:35 +01:00
Abdullah Tahiri c604d1741d 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
Abdullah Tahiri 2dac347526 App: DocumentObject - New full label member function
====================================================

Before this commit there is a function getFullName(), which
produces a string in the form document#objectname. For "document"
the real name of the document is taken, whereas for objectname it
is the initial name (Sketch, Sketch001), not the label.

The new function fo this commit, getFullLabel(), provides a string
documentlabel#documentobjectlabel, that are
probably easier to identify for end users.
2023-03-07 16:13:23 +01:00
Yorik van Havre c8c91c4f8e Merge pull request #8759 from marioalexis84/tools-generate
Tools: Update generateDS.py file to Python3
2023-03-07 14:44:07 +01:00
wmayer 4e5c9515b3 Gui: Add download location to side bar of file dialog 2023-03-07 14:41:26 +01:00
wmayer fde0438603 Data: update CMake file 2023-03-07 14:05:58 +01:00
wmayer 8381ea079d Gui: fix regression with the default visibility of toolbars
If the user e.g. activates the Clipboard toolbar then it should not be hidden any more if the user switches to another workbench.
The way it is now the user has to make this toolbar visible over and over again when changing the workbench. This also has the negative effect that
the workbench selector changes its position
2023-03-07 10:43:12 +01:00
wmayer 76623ad0a5 Part: set minimum angular deflection to 1 deg
See also forum: https://forum.freecad.org/viewtopic.php?t=76614
2023-03-07 10:41:38 +01:00
wmayer f22c391700 [skip ci] Data: set author and update license 2023-03-07 10:41:07 +01:00
Przemo Firszt bcaeecb6b8 [COPR] Fix COPR build
As advised by mr-milky

Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2023-03-07 10:40:08 +01:00
edi271 7dbceaffe6 [TD] Solve two issues in CmdHoleShaftFit 2023-03-06 20:02:21 -05:00
marioalexis 88db92ec24 Tools: Update generateDS.py file to Python3 2023-03-06 17:54:27 -03:00
wmayer 1a0801a23f Qt6: port template and Cloud module to Qt6 2023-03-06 12:25:55 +01:00
Jonas Bähr fb6fffa69f PD: Retranslate InvoluteGear's Task Panel on language change
This makes use of the recent additions to `TaskPanelPython` and
`UiLoader`, cf. #8602, to retranslate the UI without having to close and
reopen it again.
Retranslation of the part from the UI file is now handled by FreeCAD
internally, but the tool tips from the property descriptions still need
to be reassigned with the translated versions.
2023-03-06 00:19:04 +01:00
mosfet80 f51b2156f3 fix commit 2023-03-04 17:51:43 -06:00
mosfet80 b0831f994d Revert addonManager 2023-03-04 17:51:43 -06:00
mosfet80 40229e77fc remove python2 import 2023-03-04 17:51:43 -06:00
mosfet80 3137dea940 remove Python2 code 2023-03-04 17:51:43 -06:00
wmayer d03f287cf4 App: using fmtlib causes a linking failure together with boost's graphviz classes
To fix this failure a workaround is move the graphviz handling from Document.cpp to a separate source file
See also: https://github.com/FreeCAD/FreeCAD/pull/8350
2023-03-04 19:08:11 +01:00
xtemp09 323476a9a4 [TechDraw] Improved readability of DrawViewSpreadsheet.cpp
I was stretching my fingers
2023-03-04 09:59:02 -05:00
wmayer 599b14b430 Part: extend command Part_PointsFromMesh to support any geometric type 2023-03-04 14:44:58 +01:00
Adrian Insaurralde Avalos 57070b2185 [Gui] Split "File" toolbar and add "Clipboard" toolbar
"File" is split into "File", "Edit" and "Help"
"Clipboard" is hidden by default
2023-03-03 22:47:11 -06:00
Adrian Insaurralde Avalos 9e94366f2d [Gui] ToolBarManager: add feature to make toolbars hidden by default 2023-03-03 22:47:11 -06:00
Syres916 5171079cc4 [Gui] Recent macros, improve wording of Hint msg 2023-03-03 20:29:38 -06:00
Syres916 6611f607b4 [Gui] Recent macros, enhance warning msg
See discussion : https://forum.freecadweb.org/viewtopic.php?f=3&t=75350
2023-03-03 20:29:38 -06:00
wmayer afd59cbe82 FEM: implement interface of ComplexGeoData 2023-03-03 18:17:54 +01:00
Chris Hennes 6e7e94e342 OpenSCAD: Improve shape-checking in group action 2023-03-03 10:11:20 -06:00
luzpaz 617611e1f8 Fix typos [skip ci] 2023-03-03 09:09:26 -06:00
wmayer 94d89e53c2 Sketcher: remove unused private field 'form' 2023-03-02 22:44:04 +01:00
berniev 12fabc104c Multiple files under test in one test file
Put Unit into its own test file and rename Units.cpp to Quantity.cpp
2023-03-02 22:12:21 +01:00
Abdullah Tahiri 41a7b146f5 Sketcher: Remove Edit Controls from the TaskBar 2023-03-02 20:42:48 +01:00
Abdullah Tahiri 74f136bbac Sketcher: TaskSketcherElements - Very Basic Layer Management
============================================================

This class needs quite some rework, as it is mixing model-view model and item model.

Eventually, the whole needs to be moved to a QTreeWidget for layers' implementation.

This commit:
1. Moves back implementation only class item to the cpp file.
2. Adds a contextual submenu to change the selection from one layer to another in the
naive fixed 3 layer implementation.
3. Adds checkboxes to hide geometry.

It is the minimal modification to enable a user work with the 3 layer implementation.
2023-03-02 20:42:48 +01:00
Abdullah Tahiri a32a49d2de ViewProvider: 3 fixed visual layers implementation
==================================================

Naive 3 layer implementation to enable the removal of current rendering order.

Layers is conceived to be much more powerful, when combining User Layers, which
work at structural level (conceptually grouping of geometry by the user) and visual
layers (which control the representation of parts of User layers).

However, that implementation will take quite some time and effort to get it right.

This commit enables 3 layers:
1. Normal layer (legacy one)
2. Discontinuous layer (experimental layer which discontinuous edges)
3. Hidden layer (a normal layer which is hidden)

One geometry can be added to one and only one visual layer at a given time.

So this enables to hide geometry (by assigning it to the hidden layer), which is
useful for selection when lines are overlapping, acting as a work-around for the
rendering order. It also allows to rework the rendering order (without the user
being affected), which is also necessary for the final visual layers implementation.
2023-03-02 20:42:48 +01:00
Abdullah Tahiri ddd1ab43d8 Sketcher: Elements Widget - Add Visual Layer metadata 2023-03-02 20:42:48 +01:00
Abdullah Tahiri 0f1e10d0db Utils: setSafeGeomLayerId 2023-03-02 20:42:48 +01:00
Abdullah Tahiri 6e763b678a Utils: getGeoIdsOfEdgesFromNames 2023-03-02 20:42:48 +01:00
Abdullah Tahiri d01edd53a2 EditCoinManager: Refactor and extend layer support to use VisualLayerList property and ViewProviderSketchGeometryExtension 2023-03-02 20:42:48 +01:00
Abdullah Tahiri 9478870d50 EditCoinManager: Apply Visual Configuration configuration 2023-03-02 20:42:48 +01:00
Abdullah Tahiri a8ebeaa27d ViewProviderSketch: update geometry layer configuration on visual layer property change 2023-03-02 20:42:48 +01:00
Abdullah Tahiri 2f34f01c10 Sketcher: EditModeCoinManager - support to update layer configuration
=====================================================================

- Refactor scenograph creation to enable local update
- Support to perform a local update
2023-03-02 20:42:48 +01:00
Abdullah Tahiri c75a7b524b Sketcher: ViewProviderSketch
============================

Adding PropertyVisualLayerList to ViewProviderSketch
2023-03-02 20:42:48 +01:00
Abdullah Tahiri 581327c67d Sketcher: PropertyVisualLayerList
=================================

This is a property (intended for ViewProviderSketch), containing a list of visual layer configurations.

This property enables to define and serialise the configuration of visual layers, as well as reacting to
changes to it.
2023-03-02 20:42:48 +01:00
Abdullah Tahiri a6588536e1 Sketcher: VisualLayer
=====================

New class allowing to define a VisualLayer:
- whether it is visible or not.
- the line width to be used by coin for this layer.
- the line pattern to be used by coin for this layer.
2023-03-02 20:42:48 +01:00
Abdullah Tahiri 8dba7f1ddb Utils: New Function to retrieve the VisualLayerId 2023-03-02 20:42:48 +01:00
Abdullah Tahiri 49586be475 Sketcher: Extend ViewProviderSketchGeometryExtension to hold the VisualLayerId
==============================================================================

In the Layers implementation there are User Layers, which have no direct impact on visualisation,
and allow to group conceptually related geometry into logical entities, and Visual Layers, which
define how geometries are visualised (or even whether they are visualised or not).

For User Layers, SketchObject is responsible for the definition of the layers, and SketcherGeometryExtension
is responsible for indicating the User Layer to which a geometry belongs (via a LayerId field).

For Visual Layers, ViewProviderSketch is responsible for the definition of the visual layers, and
ViewProviderSketchGeometryExtension is responsible for indicating the visual layer to which a geometry belongs.

With this commit, ViewProviderSketchGeometryExtension:
- takes over the responsibility of carrying a visual layer Id.
- is extended to be persistent and serialise the Id.
- is extended to be accesible from Python.
2023-03-02 20:42:48 +01:00
wmayer ebe791649a Part: Compute center of gravity for compounds
* If the compound contains solids then other shape types like faces or edges are ignored
* If the compound contains no solids but faces then edges are ignored
* If the compound contains no faces but edges then vertexes are ignored
2023-03-02 19:34:18 +01:00
berniev b062b22b09 test fmt library is basically working 2023-03-02 11:08:23 +01:00
Chris Hennes 0da14beb27 Addon Manager: Correct typo 2023-03-01 21:21:37 -06:00
Chris Hennes cc574749fa Merge pull request #8585 from mosfet80/removeGZstream
remove unused GZstream library interface files
2023-03-01 13:28:04 -06:00
mosfet80 d73636630a Merge branch 'master' into removeGZstream 2023-03-01 19:43:56 +01:00
Andrew c4e6c0a292 remove unused FDstream file 2023-03-01 12:28:00 -06:00
wmayer ea190ce3c2 Test: expected failure of Rotation::setValue() in unit tests 2023-03-01 18:43:15 +01:00
wmayer d196f8c496 Mod: catch exception raised by Rotation::setValue 2023-03-01 18:43:15 +01:00
wmayer da63fbaacf Base: catch exception raised by Rotation::setValue 2023-03-01 18:43:15 +01:00
wmayer 65a5befe8a Part: fix TopoShapeListTest 2023-03-01 14:51:47 +01:00
wandererfan 20cf02d137 [Part]add test for PropertyTopoShapeList 2023-03-01 14:24:40 +01:00
wandererfan 8cbd69b749 [Part]use sharedptr for Restore 2023-03-01 14:24:40 +01:00
wandererfan 586d482645 [Part]PropertyTopoShapeList changes from review 2023-03-01 14:24:40 +01:00
wandererfan 7c7fcbb33d [Part]add PropertyTopoShapeList 2023-03-01 14:24:40 +01:00
wmayer 04d494cb75 Tests: add test of a matrix without rotation part to raise an exception 2023-02-28 22:28:21 +01:00
wmayer ea866c755b Base: fix/ignore some clang-tidy warnings 2023-02-28 15:17:06 +01:00
wmayer 9b3b4e835e Tests: add test to parse string to get quantity 2023-02-28 15:17:06 +01:00
wmayer 315a1158a9 Base: make static const predefined quantities 2023-02-28 15:17:06 +01:00
wmayer 31a01d3c23 Base: fix Lint warnings in Quantity 2023-02-28 15:17:06 +01:00
wandererfan 01641433c1 [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
Adrian Insaurralde Avalos c6c3c54b74 Improve NaviCube font matching on linux 2023-02-28 10:01:33 +01:00
Yorik van Havre 8f36e48854 Merge pull request #8698 from Jolbas/draftvecutil
Return pure rotation from getPlaneRotation()
2023-02-28 09:45:57 +01:00
Yorik van Havre 3ba1bc590c Merge pull request #8688 from Roy-043/Arch-Arch_SectionPlane-improve-handling-of-non-solids
[Arch] Arch_SectionPlane improve handling of non-solids
2023-02-28 09:43:16 +01:00
Yorik van Havre d3cc52dbab Merge pull request #8686 from yorikvanhavre/translations
Crowdin translations
2023-02-28 09:37:32 +01:00
Yorik van Havre 4abd5be412 Merge pull request #8607 from Roy-043/Arch-fix-Arch_Schedule-recompute-issue
[Arch] fix Arch_Schedule recompute issue
2023-02-28 09:36:57 +01:00
Yorik van Havre b85e27a5e5 Merge pull request #8626 from yorikvanhavre/remove-six
Arch, Draft: Remove use of six module
2023-02-28 09:35:52 +01:00
Jolbas 649857b58f return pure rotation from getPlaneRotation() 2023-02-28 01:07:56 +01:00
Uwe 458e007ef0 [Mesh] [Spread] fix compilation with PCH
- add 2 missing includes to be able to compile with precompiled headers
2023-02-27 23:09:58 +01:00
Chris Hennes 19c7942b90 App: Minor loop cleanup in Property.h
As discussed in PR #8683
2023-02-27 23:07:27 +01:00
Chris Hennes 51eb8ed813 Spreadsheet: Fix unintended copies 2023-02-27 15:58:32 -06:00
wmayer b0b52cda32 Base: fix pow() of Quantity 2023-02-27 22:13:08 +01:00
Roy-043 a7fd11cc28 [Arch] Arch_SectionPlane improve handling of non-solids update 2023-02-27 20:30:31 +01:00
Chris Hennes 30e92860be Spreadsheet: Remove legacy file 2023-02-27 13:23:06 -06:00
wmayer e0d054d6bc Base: handle several Lint warnings 2023-02-27 20:07:01 +01:00
wmayer 06285d2ae9 Tests: add more unit tests 2023-02-27 20:07:01 +01:00
wmayer 7204be47f2 Base: add missing != operator to Quantity 2023-02-27 20:07:01 +01:00
wmayer daa23162a4 Base: fix pow() of Unit 2023-02-27 20:07:01 +01:00
Daniel-Khodabakhsh c815cb8a82 Update CONTRIBUTING.md
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2023-02-27 10:33:24 -06:00
Daniel-Khodabakhsh d4b61af3d3 Improve usage of the term 'platform' in CONTRIBUTING.md
This PR improves `CONTRIBUTING.md` by replacing some instances of the term `Platform` with `GitHub` for the following reasons:

* This was unnecessary legalese which made the document harder to comprehend.
* Fixes a few ambiguous usages of the term:
  * In one usage there is ambiguity if there is a platform called "Platform".
  * Ambiguous with other usages of the word when referring to the runtime platform.
* Fixes one incorrect usage of the term, where reference to `"Platform"` was intended to refer to any other platform OTHER THAN `GitHub` or `"the Platform"`.
2023-02-27 10:33:24 -06:00
Roy-043 5f618763a8 [Arch] Arch_SectionPlane improve handling of non-solids 2023-02-27 16:26:42 +01:00
Yorik van Havre 46653420a6 merged crowdin translations 2023-02-27 16:01:15 +01:00
Yorik van Havre 3ad0e233d5 updated ts files 2023-02-27 15:35:51 +01:00
Uwe 7cab1aa415 [FEM] [skip ci] fixes for flow example
- the heat solver settings were wrong so that the heat was actually not calculated for convection
- also set more realistic temperatures
2023-02-27 15:03:34 +01:00
Bernd Hahnebach 0cea42dfd8 IFC: import helper, add method to convert IFC color to RGB col 2023-02-27 13:38:57 +01:00
Uwe 4f324add9f [App] attempt to fix compiler warnings in Property.h
- "conversion from 'size_t' to 'int', possible loss of data" in for loops by modernizing the for loops
- fix warning about uninitialized variable
2023-02-27 02:20:01 +01:00
Uwe a000dcf60a [App] sort units in FreeCADInit.py 2023-02-27 00:12:06 +01:00
Jonas Bähr d0b5b5fb6c PD: Fix exception from InvoluteGear with zero fillets
While gears without a root fillet may have limited real-live use cases,
during number-input it happens regulary to have a zero fillet radius as
intermediate state. With this commit such a situation is now handled
gracefully.
2023-02-26 23:28:33 +01:00
Uwe de8988049d [App] [skip ci] some comment fixes
- also a sorting fix
2023-02-26 23:19:19 +01:00
Uwe 1032fe4468 [Base] fix issues with new units
- also sort units for better overview
2023-02-26 22:19:31 +01:00
wmayer 4714135880 Plugin: harmonize with FreeCAD widgets 2023-02-26 21:59:19 +01:00
Uwe 35338171f1 [App] register all available unit properties
- was missing in #6717
2023-02-26 19:12:25 +01:00
Uwe 33f336ddd9 [App] sort properties
- to keep better the overview
2023-02-26 18:07:41 +01:00
M G Berberich 6832743262 add cbrt (cube root) to expressions (#8629)
This adds a function cbrt(arg) to the freecad-expressions that computes
the cube root of arg. Instead of arg^(1/3) this handles the units of the
argument, so that one can compute units from p.e. ml to mm.
  cbrt(27 ml) → 30 mm
instead of
  (27 ml)^(1/3) → 30
2023-02-26 17:49:58 +01:00
Christian Mesh feea1340f5 Integrate getPathWithPlacement into Dressup 2023-02-26 11:18:07 -05:00
Uwe 2a098b1471 [Core] add missing velocity property
- fixes compilation because declared in header but no code
- also sort the properties to keep the overview
2023-02-26 16:38:02 +01:00
wmayer bb1de399ad Gui: add function View3DSettings::stopAnimatingIfDeactivated() 2023-02-26 16:20:58 +01:00
Oliver Oxtoby 9d5ab79a4c [App] [Base] Add missing Property classes for all Units (#6717)
- Add missing Property classes for all Units
- Add missing units to unit calculator, as well as some missing string representations
- also change units used for dynamic viscosity to the customary Pa*s
2023-02-26 15:28:28 +01:00
wmayer 94f3a476a9 Gui: refactor View3DInventor and move handling of settings to separate classes 2023-02-26 15:17:39 +01:00
Chris Hennes e8dd1802f6 Sketcher: Silence Coverity warning
Coverity CID 350580: Uninitialized scalar variable. The analyzer doesn't like the incomplete construction of the ConstraintId object (the 'Type' field was uninitialized).
2023-02-26 13:48:48 +01:00
wmayer 1483e28ffd App: fix several Lint warnings:
* ignore bugprone-easily-swappable-parameters
* handle bugprone-narrowing-conversions,cppcoreguidelines-narrowing-conversions
* handle readability-uppercase-literal-suffix
* handle readability-braces-around-statements
2023-02-26 13:30:44 +01:00
wmayer 3fb943864e Gui: use Color::fromPackedRGBA to simplify client code 2023-02-26 13:30:44 +01:00
wmayer c747dbde52 Tests: fix Lint issue cppcoreguidelines-init-variables 2023-02-26 13:30:44 +01:00
wmayer f091ca1d37 App: fix some Lint issues:
* readability-identifier-length
* cppcoreguidelines-pro-type-member-init
2023-02-26 13:30:44 +01:00
wmayer f66ec96a77 Import: enable multi-threading support of RWGltf_CafWriter for OCCT 7.7 2023-02-26 13:30:44 +01:00
Uwe 099de1ae9f modernize usage of connect() 2023-02-26 10:38:28 +01:00
Uwe fc1a6012cf [Widgets] register transparency property of Gui::ColorButton
- at the moment it is not possible to set the property "allowTransparency" in Qt Designer
2023-02-26 10:38:28 +01:00
Chris Hennes d26b84df3f Gui: Eliminate variable reuse
Coverity complains about USE_AFTER_FREE here, and it was difficult to reason about the code. To help address this, use different variables for the different parameter groups.
2023-02-26 10:36:16 +01:00
Uwe c32bf8e99a [TD] fix compiler about a variable redefinition 2023-02-26 10:31:36 +01:00
Chris Hennes db53c46b42 Spreadsheet: Fix possible null dereference
Fixes Coverity CID 184299.
2023-02-26 10:22:37 +01:00
wmayer 0d23594107 Core: add functions setPackedARGB and fromPackedRGBA 2023-02-26 10:11:53 +01:00
wmayer 7c359469ba Gui: use Color::asPackedRGB<QColor>() 2023-02-26 10:11:53 +01:00
wmayer 41e6c17605 Points: use Color::getPackedARGB() for pcl colors 2023-02-26 10:11:53 +01:00
wmayer 7a3bcded06 App: move Color class to its own sources 2023-02-26 10:11:53 +01:00
wmayer 85ad88d101 Import: [skip ci] fix some minor Lint issues 2023-02-26 09:04:26 +01:00
wmayer c3fc619b99 Import: support to export to glTF file in headless mode 2023-02-26 09:04:26 +01:00
wmayer e2c9b32ebe Test: add unit tests for expressions with operator 2023-02-26 09:00:27 +01:00
wmayer b55a5682ad Tests: add unit tests for expression tokenizer 2023-02-26 09:00:27 +01:00
wmayer 972329be99 App: split tokenizer handling of ExpressionCompleter to its own class 2023-02-26 09:00:27 +01:00
wmayer aa04870ea9 Tests: exclude some lint warnings 2023-02-26 08:58:51 +01:00
wmayer 3a589cba11 Tests: add unit tests for Matrix4D and Rotation 2023-02-26 08:58:51 +01:00
Chris Hennes aa788af4bd Part: SectionCutting cutTransparency initialization
Addresses Coverity CID 356563: Uninitialized scalar.
2023-02-26 05:40:32 +01:00
Uwe 53b275a735 [Gui] fix initialization of NaviCube colors
- the color is stored in for RRGGBBAA and must be passed in form AARRGGBB to QColor. In NaviCube.cpp this is already done right and the same is necessary for View3DInventor.cpp
2023-02-26 05:35:39 +01:00
Uwe f3bcdf7f4b [Sketch] [skip ci] fix UI file
- compiler stumbles over inexisting tabstop target
 the fix was automatically done Qt Designer
2023-02-26 04:59:27 +01:00
Chris Hennes e3544117ab App: Add None=0 to enumeration
Addresses Coverity CID 356649, uninitialized scalar.
2023-02-25 21:53:01 -06:00
Uwe de78e9d7ef [Material] add new card to CMake 2023-02-26 04:21:32 +01:00
Vladimir 7c7f8c8c10 [Material] Add Titanium alloy to materials (#8636)
* Add Titanium alloy
2023-02-26 03:53:39 +01:00
Roy-043 6f5cafccca [Arch] Arch_Schedule updated fix 2023-02-25 23:23:35 +01:00
Roy-043 f842000c25 TechDraw::DrawViewSpreadsheet objects were not recomputed 2023-02-25 23:20:41 +01:00
Roy-043 d86369c9b5 [Arch] fix Arch_Schedule recompute issue 2023-02-25 23:20:41 +01:00
Abdullah Tahiri 849f8ced13 Part/Sketcher: Grid - set grid orientation
==========================================

Extend ViewProviderGridExtension so that it is aware of the absolute direction of the XY plane on which the grid is to be drawn.

Fix the calculation of the cam origin.
2023-02-25 23:13:55 +01:00
Abdullah Tahiri b4926c769e Sketcher: Grid - Imperial
=========================

Fix grid calculation in Imperial units in Auto mode (wrong scaling).

Remove observer as unit does not need to be observed.
2023-02-25 23:13:55 +01:00
0penBrain 05a5e7b341 Sketcher/Grid: fix error in parameter function call
Sketcher/Grid: fix algorithm computing the automatic grid spacing

Sketcher/Grid: forcefully redraw grid when one of its parameter is changed

Sketcher/Grid: always authorize user to change grid spacing, even if 'auto spacing' is enabled

Sketcher/Grid: apply a default factor of 10 for 'auto spacing' if number of subdivision is 1
2023-02-25 23:13:55 +01:00
Abdullah Tahiri f9e0c1fd57 Sketcher: Grid - correction of design decisions
===============================================

Removal of ViewProviderGridExtension properties:
-GridStyle
-GridSnap

Improvement of ViewProviderGridExtension API:
- color via App::Color

Toolbar grid command:
- Conversion of Snapping to edit parameter
- Snap gets a class enum to support future Snapping functionalities as edit parameter

Sketcher Settings:
- Removal of snap preference

Behaviour:
- ShowGrid, GridAuto, GridSize preferences do not change any existing VP. They apply to any newly created sketch.
- Do not limit grid to hardcoded values

Snap to grid:
- Code updated to use closestpoint functionality provided by the extension,

Several other fixes
2023-02-25 23:13:55 +01:00
Abdullah Tahiri d586ea6238 Sketcher/Part: Grid - Architecture
==================================

- Move all grid specific code out of ViewProviderSketch and EditModeCoinManager.
- The code in made into a new extension in Part - ViewProviderGridExtension
- ViewProviderSketch starts deriving from this new extension
- ViewProviderSketch configures the extension according to its Grid preferences
- Grid code refactored to remove hardcoded sketcher preference parameters.
- ViewProviderGridExtension handles property name/type changes within its competence.
2023-02-25 23:13:55 +01:00
Abdullah Tahiri 3381d91b82 Sketcher: Add QtAll to PCH 2023-02-25 23:13:55 +01:00
Abdullah Tahiri 4dea0df06c App: Extension/ExtensionContainer - handle property change
==========================================================

Currently changes of name or type of properties in a property container are handled by:
void PropertyContainer::handleChangedPropertyName(Base::XMLReader &reader, const char * TypeName, const char *PropName)
void PropertyContainer::changedPropertyType(Base::XMLReader &reader, const char * TypeName, Property * prop)

There is no mechanism for handling property changes by extensions. Sometimes the solution is to explicitly call the extension
from the container. However, this is a breach of the SRP, as the container should not be in a position to decide whether the
extension needs or not handle property changes. The handling code of the container changes for two different reasons, for
adapting the container to a property change of its own, and for adapting that of a property of the extension.

Illustrating it with an example, following inheritance, it goes like this:
PropertyContainer => ExtensionContainer => TransactionalObject => ViewProvider
App::Extension => ViewProviderExtension

The extension is currently not notified by the ExtensionContainer that a property needs handling. So a change in a property of
a ViewProviderExtension needs code at the ViewProvider it was added to.

This commit provides a mechanism in ExtensionContainer to call the extensions so that they can handle property changes. This
functions:

  virtual bool extensionHandleChangedPropertyName(Base::XMLReader &reader, const char * TypeName, const char *PropName);
  virtual bool extensionHandleChangedPropertyType(Base::XMLReader &reader, const char * TypeName, Property * prop);

Containers should always call the base class for any unhandled property change. If a sub-class container of ExtensionContainer
handles property changes itself, but not the ones of the extensions, this call to the base class ultimately ensures that if the
property was not handled by the container hierarchy, any extension is given an opportunity to handle it.

Some examples:

* A container handles the extension property change or its own:

void ContainerSubClass::handleChangedPropertyType(...)
{
    if (prop == &PropertyOfExt) {

    }
    else if (prop == &PropertyOfCont) {

    }
    else {
        ContainerBaseClass::handleChangedPropertyType(...);
    }
}

* A container and the extension handle their own:

void ContainerSubClass::handleChangedPropertyType(...)
{
    if (prop == &PropertyOfCont) {

    }
    else {
        // This will call ExtensionContainer::handleChangedPropertyType
        ContainerBaseClass::handleChangedPropertyType(...);
    }
}

bool ExtensionSubClass::extensionHandleChangedPropertyType(...)
{
    if (prop == &PropertyOfCont) {

        return true;
    }
    return false;
}
2023-02-25 23:13:55 +01:00
Abdullah Tahiri f1428994b7 Sketcher: Grid settings - disable spacing when auto mode selected and vice versa 2023-02-25 23:13:55 +01:00
Abdullah Tahiri ea3277e5ea Sketcher: Resources - remove unnecessary resources 2023-02-25 23:13:55 +01:00
Abdullah Tahiri 1a6ed6cd76 Sketcher: command - review code improvements 2023-02-25 23:13:55 +01:00
Abdullah Tahiri 52a92e1915 Sketcher: Grid Command - Correct dependencies 2023-02-25 23:13:55 +01:00
Abdullah Tahiri 5a0e7d4ee3 Sketcher: Rewrite grid command
==============================

Fix unresolved issues:
https://github.com/FreeCAD/FreeCAD/pull/7754/files#r1025493443
https://github.com/FreeCAD/FreeCAD/pull/7754/files#r1019077589
https://github.com/FreeCAD/FreeCAD/pull/7754/files#r1025502204

Summary:
- EventFilter unnecessary in light of new implemented signal aboutToshow. The data of the drop-down action is updated only when necessary (when it is going to be shown).
- Structure of individual commands under drop-down simplified to a single action, rendering the need for groupcommands obsolete, while keeping all the grid related controls and
the logic for controlling the grid in a single action class.
- Reduce the complexity and overload of isActive to the bare minimum (determining if it is active and updating the icon to the right icon if so).

Refactor:
- Better name for utils functions, as when a DSH is active, the edit mode VPSketch is a data member of DSH, sketchgui (so this function is not really necessary when the DSH is active).
2023-02-25 23:13:55 +01:00
Abdullah Tahiri 5244e28565 Gui: ActionGroup - aboutToShow and aboutToHide
==============================================

ActionGroup may integrate a drop down menu (internally a QMenu).

QMenu has signals aboutToShow and aboutToHide, which are called just before showing/hiding the menu.

This commit extends ActionGroup by providing corresponding signals.

An ActionGroup can be added to more than one toolbar and thus creates more than one menu. So, it can theoretically
happen that you have opened a menu and click on another menu. For this reason, the menu is passed as argument:

void aboutToHideMenu(QMenu*);
void aboutToShowMenu(QMenu*);
2023-02-25 23:13:55 +01:00
Abdullah Tahiri 816fa3fe3e Sketcher: Refactor miscelaneous command isActive() 2023-02-25 23:13:55 +01:00
Paddle 78333e7eab Sketcher: Grid coin manager: fix includes 2023-02-25 23:13:55 +01:00
Paddle 2cba01586a Sketcher: Grid rework. Include:
- Adding 'auto spacing' option.
    - Drawing grid dynamically on viewer area only.
    - Moving code to coinManager.
    - Adding a 'grid tool' to sketcher-edit-mode toolbar.
2023-02-25 23:13:55 +01:00
Paddle 7f18faae7d Sketcher: Remove grid settings from Edit Control widget. 2023-02-25 23:13:55 +01:00
Paddle 0a78933685 Core: View3DInventorViewer, add 3 functions:
- getDimensions
- getMaxDimension()
- getCenterPointOnFocalPlane()
2023-02-25 23:13:55 +01:00
Uwe faca6b2e40 [Gui] fixes for NaviCube parameters
- add missing routines to save default values

- also fix color read in (transparency was read in wrong order)
2023-02-25 18:56:27 +01:00
Uwe 4adf98e369 [Gui] add UI to change the NaviCube button size
- it was frequently requested and people now even published videos since I documented this hidden feature in the Wiki.
However, for a user it is a nightmare without a UI and users who like a bright background need to change the button color to keep the buttons visible.
2023-02-25 15:28:51 +01:00
wmayer 37fcd2da26 Tests: fix linking error on Windows 2023-02-25 15:27:30 +01:00
luzpaz e5cdd9a80e [Material] fix grammar 2023-02-25 09:59:24 +01:00
luzpaz 5c6ec58709 [Fem] fix grammar 2023-02-25 09:59:24 +01:00
0penBrain 77d50db1bf CI: Install dependencies + run Cmake before Cpp lints (needed for Clang tools)
+ Reorganize tests in logical order
2023-02-25 09:50:23 +01:00
Chris Hennes 543a99acd2 Addon Manager: Linter cleanup of utilities 2023-02-24 21:58:55 -06:00
Chris Hennes 97c873810b OpenSCAD: Linter cleanup 2023-02-24 21:58:39 -06:00
Uwe 77b7af3e60 [Gui] remove unused help button from preferences dialog
- is by default in the title bar of Qt dialogs, has to be removed explicitly when unused

- also fix too long code lines
2023-02-25 04:35:57 +01:00
Jolbas 6c3efbdb3b Fix create Rotation from scaled matrix
Support for creation of Rotation from matrices which is a combination of non uniform scale and a rotation
Fixes according to review
Scale -1 is Uniform, Not NoScaling
Fix hasScale() when negative scale
2023-02-24 20:33:40 -06:00
Roy-043 bdb6e1bd55 [Arch] fix Arch_Stairs stringer code (#8639) 2023-02-25 00:43:46 +01:00
wmayer 22587e360c Tests: add tests for quantities 2023-02-25 00:33:44 +01:00
Adrian Insaurralde Avalos b15391752e Fix NaviCube default font incorrect display in pref. page 2023-02-25 00:00:56 +01:00
luzpaz bf3f859736 OpenSCAD: lint OpenSCADUtils.py 2023-02-24 16:15:13 -06:00
Chris Hennes f0b5cc07ae OpenSCAD: Remove old workaround code
Fixes #8621
2023-02-24 16:13:54 -06:00
0penBrain 09c1b9ce90 [BugFix] Expression: always add space char before unit when converting to string, fixes #8562 2023-02-24 19:44:44 +01:00
Uwe 9bc526c076 [Gui] attempt to fix getting NaviCube font name
- as discussed here: https://forum.freecad.org/viewtopic.php?t=76233 maybe the conversion to ".toLatin1()" is unsafe on some systems for non-ASCII characters on the font names
2023-02-24 16:58:38 +01:00
Uwe cfc08e6dce [FEM] fixes for flow and electrodynamics examples
- define materials so that they are recognized by material handling as existing card
- use "electrodynamics" as equation because this is the common name for the physics of these examples
- fix typos
2023-02-24 16:50:42 +01:00
Uwe d9244d5233 [Material] add heat parameters to aluminum alloys 2023-02-24 16:46:40 +01:00
Uwe 8c66538447 [FEM] fix for electrostatics examples
- define Air so that it is recognized by material handling as existing card
2023-02-24 16:44:49 +01:00
wmayer 4a390ddeb6 PD: refactor the constructor of TaskDialogPython 2023-02-24 16:35:51 +01:00
Uwe 45eff3aaed [FEM] add example for magnetostatics 2023-02-24 16:32:11 +01:00
Roy-043 63cb23d1fd [Draft] increase number spinboxes max in array task panels to 1 million (#8628)
The default max for spinboxes is 99. This PR increases it to 1 million for the number spin boxes of the array task panels.
2023-02-24 16:16:46 +01:00
Yorik van Havre 420636a51c Draft: Removed six module 2023-02-24 13:20:58 +01:00
Yorik van Havre 32bd87ff7d Arch: Removed six module 2023-02-24 13:15:46 +01:00
Roy-043 19813124c3 [Arch] Arch_Stairs TreadDepth was based on unprojected edge (#8613) 2023-02-24 11:01:45 +01:00
0penBrain c24f2fc09b [BugFix] Part: fix XSkew+YSkew editing not took into account for cylinders 2023-02-24 10:06:36 +01:00
0penBrain dfe4c35600 [BugFix] Sketcher: correctly handles angle strings displayed at cursor for all locales, fixes #8611 2023-02-24 10:05:57 +01:00
Chris Hennes 39efbb379b Merge pull request #8623 from chennes/openscadTaskPanelButtons
OpenSCAD: Modify wording of task dialog buttons
2023-02-23 23:48:49 -06:00
Chris Hennes 311a15bc9f OpenSCAD: Modify wording of task dialog buttons
Fixes #8619
2023-02-23 22:59:13 -06:00
Chris Hennes 47e55738ce Merge pull request #8622 from chennes/openscadDialogTranslation
OpenSCAD: Translate file dialogs
2023-02-23 22:44:05 -06:00
Chris Hennes 89e787b5a5 OpenSCAD: Translate file dialogs
Fixes #8618
2023-02-23 22:08:22 -06:00
Chris Hennes a2674f24af OpenSCAD: Support CSG loads from Load button
Fixes #8617.
2023-02-23 21:59:40 -06:00
Uwe ad1f9cd0c4 [Part] fix encoding bug
- fixes the regression by #7255 -> the degree sign cannot be decoded as Latin1
2023-02-24 04:07:21 +01:00
Uwe bb6b1979f6 [Material] remove unused Help button in editor dialog 2023-02-24 03:47:19 +01:00
Uwe a8a646f165 [FEM] improve pvtu file filtering
- catch case of only 2D objects
- use vtkDataSet as input for all filters
2023-02-24 03:46:47 +01:00
sliptonic 5f3e781dbf Merge pull request #8563 from dresco/AdaptiveOutline
[Path] Adaptive - improve 'use outline' logic
2023-02-23 12:33:50 -06:00
sliptonic 359e559320 Fixes #8517
Avoid error in test log
2023-02-23 18:42:52 +01:00
Bernd Hahnebach 65938f9bc2 Arch: building part object, use IFC standard typ as initial IfcType 2023-02-23 16:55:28 +01:00
mosfet80 757b7b6ee3 Merge branch 'FreeCAD:master' into master 2023-02-23 16:51:22 +01:00
Bernd Hahnebach 2e5c518cec Arch: IFC export, fix export break if undefined building part and IFC4 is used 2023-02-23 16:49:17 +01:00
mosfet80 9dcc28c24b Merge branch 'FreeCAD:master' into master 2023-02-23 16:45:50 +01:00
wmayer dd23698cf2 Gui: handle language change events in task dialogs 2023-02-23 16:38:45 +01:00
wmayer d2741d298c Gui: enable language change by default 2023-02-23 16:38:45 +01:00
wmayer 985919c7b4 Gui: expose more methods of UiLoader to Python 2023-02-23 16:38:45 +01:00
mosfet80 48097f48be Merge branch 'FreeCAD:master' into master 2023-02-23 16:11:30 +01:00
0penBrain 569154b73f Base: introduce 'getSafeUserUnit' that fallbacks to full precision and internal unit ...
... in case unit schema would zero a non-zero quantity

 For example, using '1 mil' with UnitsSchemaImperialDecimal schema
2023-02-23 15:22:07 +01:00
0penBrain 257629f9c7 PartDesign: better quantity values handling for primitives 2023-02-23 15:22:07 +01:00
0penBrain 31ecac57af Part: better quantity values handling for primitives 2023-02-23 15:22:07 +01:00
mosfet80 ef045e5703 Merge branch 'FreeCAD:master' into master 2023-02-23 14:00:58 +01:00
0penBrain 5bf522ebcf [Bugfix] Gui: fix bug in expression completer tokenizing, fixes #8590 2023-02-23 13:49:03 +01:00
Chris Hennes 91d553139d Gui: Fix use of undocumented init() function 2023-02-23 13:26:26 +01:00
mosfet80 59cff308a2 Merge branch 'FreeCAD:master' into master 2023-02-23 13:04:24 +01:00
Jonas Bähr 5fa3e021e8 PD: Fix the internal InvoluteGear's root/tip arc directions
The arcs on the tip (around the addendum) and the root (between the
fillets) used to have their bulge in the wrong direction for the internal
gear profile: their center points has been on the outside.
Since this error existed since the very first introcution of the internal
gear I assume this was done by accident: Instead of only the fillets, all
arcs have been inverted when the external profile was copied.
This commit now inverts the tip and root arcs again, to be concentric
with the pitch circle -- same as for the external profile.
2023-02-23 12:49:10 +01:00
Uwe c8305549e2 [FEM] [skip ci] fix typos
- spot by the CI
2023-02-23 12:40:32 +01:00
Uwe 2d5aad845a [FEM] simplify Magnetodynamics 2D example
- thanks to the forum: https://forum.freecad.org/viewtopic.php?p=662830#p662830
2023-02-23 12:37:46 +01:00
Bernd Hahnebach 3a2a308101 Arch: IFC, import, add some comment 2023-02-23 10:55:41 +01:00
Uwe 486970b90d [FEM] add example for magnetodynamic 2D equation 2023-02-23 03:48:31 +01:00
Uwe 21369f227f [FEM] fix annoying material selection bug
- for some materials, just opening the material dialog and pressing OK to close it without any change resulted in a transient material
- for other materials this happened by clicking in the material dialog on a value to edit it, but not changing anything and press OK

The fix is to compare the items item by item and also handle the case that only digits of numbers are different
2023-02-23 03:23:12 +01:00
Uwe c00a2d19ec [Material] fix major bug of wrong decimals
This PR fixes the long-standing major bug that for languages using ',' as decimal separator the material editor was useless. (bug no. 10 in https://forum.freecad.org/viewtopic.php?t=56912)
  the issue was that the value was handled as text. This PR:
- using a spinbox instead if a text edit to modify numbers (has also the advantage to be able to change values by spinning)
- sets min/max properly for all number data types

- also avoid rounding artifacts when changing Float values
2023-02-23 03:06:44 +01:00
luzpaz 57b365f18f Fix misc. typos and whitespace 2023-02-22 23:46:18 +01:00
mosfet80 adc69d21dd Merge branch 'FreeCAD:master' into master 2023-02-22 21:41:47 +01:00
Uwe c0369770bc [Material] [skip ci] fix card for Graphite
- decimal sign was mixed ',' and '.' causing problems
2023-02-22 21:16:05 +01:00
wmayer 3545c55a35 Part: don't restrict width of group boxes in section cutting dialog 2023-02-22 21:06:12 +01:00
Andrew 5293461a65 remove unused GZstream library interface files 2023-02-22 16:01:30 +01:00
Bernd Hahnebach b2ee277a94 Arch: IFC, import, add missing debug print new lines and skip information for 2D objects 2023-02-22 15:25:27 +01:00
Syres916 668ff4baf6 [Part] Fix Geometric Primitives task panel bug
See discussion https://forum.freecad.org/viewtopic.php?t=76218
2023-02-22 14:27:58 +01:00
Yorik van Havre 86cabf595a Merge pull request #8497 from yorikvanhavre/arch-nativeifc
Arch: Placeholder modules to handle files containing NativeIFC objects
2023-02-22 10:33:29 +01:00
Yorik van Havre c8848a7c95 Merge pull request #8496 from yorikvanhavre/Start-default
Start: Allow to change the default import module for a filetype
2023-02-22 10:27:34 +01:00
Jonas Bähr 3c0d63f8b3 PD: Make InvoluteGear's property docs translatable
As the property descriptions are translated at a central place in the
GUI, we have to use the generic "App::Property" category.
For details see https://tracker.freecadweb.org/view.php?id=0002524

As the property docs are also used as tool tips in the InvoluteGear's
task panel, this is also needed to achive a fully translatable GUI.
2023-02-21 23:21:56 -06:00
Jonas Bähr c804549cfe PD: Enhance InvoluteGear's Task Panel with Tool Tips
In order to not maintain the same information in two places, the property
docs are reused as tool tips for their input fields. And for user
convenience, the same tool tip is assigned to the respective label as
well.
2023-02-21 23:21:56 -06:00
Chris Hennes 31799d5f13 OpenSCAD: Make clearing field undoable
Also renames the clear button for clarity. Fixes #8576.
2023-02-21 22:55:04 -06:00
Uwe 9e380a5bf6 [FEM] fix material initialization
- on creating a new material object, don't pollute the console wit wrong error messages (if no material is yet selected, of course nothing can be found)
- fix that for anew fluid materials the material editor was started with solid materials
2023-02-22 05:43:57 +01:00
Uwe c85ed0dee3 [Material] fix bugs for external material files
- handle case that material cards are chosen from folders outside of the standard material folders

- also reduce singleStep size for spin edits for more convenience
2023-02-22 05:25:06 +01:00
Uwe 35725769d9 [FEM] add example for magnetodynamic equation
- also fix description of other recently added examples
2023-02-22 03:51:28 +01:00
Chris Hennes a79b397e85 OpenSCAD: Correct QFileDialog usage
Fixes #8577
2023-02-21 20:50:29 -06:00
Bernd Waibel 8fde3e3cd0 properly report Shiboken and PySide if found
The patch fixes a small issue, with the PrintFinalReport macro, where
Shiboken and PySide where not properly reported.

Closes: https://github.com/FreeCAD/FreeCAD/issues/8573
Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
2023-02-21 14:57:01 -06:00
Chris Hennes eeb481207f Addon Manager: Fix bug in dependency installer 2023-02-21 13:33:20 -06:00
Chris Hennes 3826042529 Addon Manager: pylint cleanup of devmode 2023-02-21 12:11:35 -06:00
Uwe d13926baa8 [FEM] add example for flux equation
- also fine-tune flow example
2023-02-21 13:01:14 +01:00
Chris Hennes 381f534c47 Core: Update Mac Spacemouse calls
The old call was deprecated by 3DConnexion.
2023-02-20 23:48:39 -06:00
Chris Hennes 40e3cc57bf Merge pull request #8568 from chennes/cmakeFixFmt
cMake: Add manual find_package() for fmt
2023-02-20 23:39:56 -06:00
Chris Hennes b3766e5c42 cMake: Add manual find_package() for fmt 2023-02-20 21:42:55 -06:00
Chris Hennes 43cc8b12c1 Addon Manager: Cleanup package_details.py 2023-02-20 21:09:51 -06:00
Chris Hennes 4d6e7cd3a4 Addon Manager: pylint cleanup of package_list.py 2023-02-20 21:09:51 -06:00
Chris Hennes 892c0a95f6 Addon Manager: Remove direct FreeCAD import in tests 2023-02-20 21:09:51 -06:00
Chris Hennes 2e2153813f Addon Manager: Silence linter test setup complaints 2023-02-20 21:09:51 -06:00
Chris Hennes b4ac20b50b Addon Manager: HTML standard compliance 2023-02-20 21:09:51 -06:00
marioalexis 976b0b8d3f Fem: Implement getNodeElements function 2023-02-21 03:13:13 +01:00
Chris Hennes 9c6164bc07 Addon Manager: Add SPDX license ID to all files 2023-02-20 15:39:47 -06:00
Jon Escombe ff74e3cd6c [Path] Adaptive - improve 'use outline' logic
Path_Adaptive attempts to find the outline of a face using
face.Wires[0], change to use face.OuterWire instead
2023-02-20 17:49:24 +00:00
Uwe b6d186ef73 [FEM] [skip ci] Command.cpp: fix loo long line 2023-02-20 03:13:19 +01:00
Uwe 60e089d52a [FEM] fix typo in command
- to be uniform as all other commands begin with "CmdFem..."
2023-02-20 02:45:14 +01:00
Uwe 2bf7ccab68 [FEM] fix reported typos and inconsistencies 2023-02-20 02:07:33 +01:00
Uwe 1f8f2bf6cb [FEM] add new example file for flow and heat
- also extend examples libraries for (more to come) examples with multiphysics (multiple equations)
2023-02-20 02:06:48 +01:00
Uwe cd88d3888c [App] License.h: fix compiler warning
- as discussed here: https://forum.freecad.org/viewtopic.php?t=76184
2023-02-20 00:57:19 +01:00
Chris Hennes b00572548f Addon Manager: Refactor macro
Reduce coupling with FreeCAD core.
2023-02-19 15:49:24 -06:00
Chris Hennes 7b590eace0 Addon Manager: Refactor interface to FreeCAD 2023-02-19 15:49:24 -06:00
wmayer 519d26e13c CMake: fix linking error in test function when linking Python statically 2023-02-19 20:51:44 +01:00
luzpaz c14f58d6f3 Fix various trailing whitespace issues and typos 2023-02-19 10:59:14 -06:00
Uwe 902566c6ce [FEM] improve pvtu file filtering
- only filter when necessary
- avoid unnecessary function calls
- fix bug that objects were not made visible but invisible
2023-02-19 17:37:11 +01:00
Uwe 14de59ec35 [Material] fix card selection bug
- fixes bug number 7 of this list: https://forum.freecad.org/viewtopic.php?style=5&p=489666#p489666

- also fix warning about too short variable name
2023-02-19 07:46:52 +01:00
Uwe 8a16e01e39 [FEM] fix material dialog logic
- when the option "use this task panel" is not checked the edit fields must be disabled.
  This also fixes the often hard to understand issue that while scrolling to the end of the dialog the material suddenly changes to "_transient" because the scroll wheel can trigger to change the edit fields.
2023-02-19 04:44:07 +01:00
Uwe b31d9d1e34 [FEM] fix material handling of fluids
- the material editor failed for Fluid materials because this info was not passed to it. Instead always solid materials were loaded.

- also fix warning about too long variable name and remove unnecessary debug code
2023-02-19 02:57:12 +01:00
Uwe 4b99ce1aac [Material] fix bugs with missing icons
- at the moment you get several warnings about missing icons when starting the Material editor
  The reason is that they are not registered in CMake

- also remove icon from Material icon editor. As it is a child of FreeCAD it should have the same FreeCAD icon as all other FreeCAD widgets.

- also fix warning about too short variable name
2023-02-19 00:47:44 +01:00
Uwe 65195d99b0 [FEM] update Elmer examples
- active already the analysis
- generate the mesh preferably directly, also if this fails, load the rough meshes
- use value for Air is they are in our Air material card
- apply material to the body (not necessary but good practice, the examples are there to teach people and for more complex models setting the material to a body is important)
2023-02-19 00:45:57 +01:00
Uwe 585de7c8a0 [Gui] second hotfix for NotificationBox.cpp
- #include "PreCompiled.h" is missing, see https://github.com/FreeCAD/FreeCAD/pull/8536#issuecomment-1435782841

- also remove unused headers
2023-02-19 00:43:52 +01:00
Pesc0 9d7c8b1326 Cleanup root directory 2023-02-18 16:09:56 -06:00
Uwe a7c5fde0e3 [FEM] fix analysis activation issue
- after activating an analysis the FEM toolbar buttons did not become active
2023-02-18 22:28:35 +01:00
Uwe 043b8cf2d6 [Gui] hotfix for NotificationBox.cpp
- master in uncompilable on Windows, see https://github.com/FreeCAD/FreeCAD/pull/8352#issuecomment-1435769625
 and we already got reports about this. Thus a hotfix for the meantime.

- (the formatting change was automatically done by MSVC according to our clang file)
2023-02-18 22:18:46 +01:00
Chris Hennes 1900613b6f Core: FetchContent zip download instead of git 2023-02-18 12:43:48 -06:00
Chris Hennes 59c95496b4 Core: Add libfmt via FetchContent 2023-02-18 12:43:48 -06:00
Abdullah Tahiri c98022e7fd Gui: NotificationBox - review changes
=====================================

Changes consquence of the review by OpenBrain:
- Use smart pointer for NotificationLabel (QT deleteLater compatible)
- Consistent use of measurement units in parameter naming.
- Consistent wording of code documentation.
- Improvements in branching of QTootTip based code.
- Remove redundant stop on singleshot qtimer.
- Improved filtering of click events.
2023-02-18 16:58:43 +01:00
Abdullah Tahiri 6532098308 Gui: NotificationBox - New non-intrusive auto-closing notification box
======================================================================

In short, a "tooltip" alike notification, where the user can continue working without having
to interact with the notification. If the user is interested in the notification, he or she can
stop to read it. If not interested, the user can ignore it and continue working. The notification
will automatically disappear when the timer lapses or before that time, as described below.

A new widget similar to QToolTip, to have a similar look and feel
and interface, while avoiding early closing on user action.

QToolTip is not intended for notifications, but to provide contextual help. While
QToolTip could have been used for part of the functionality (by filtering out events),
other parts required additional changes to the interface

Gui::NotificationBox is a reimplementation intended to provide user notifications. It
relies on the proven code of QToolTip for the wanted behaviour.

Additional functionality:
- A notification box has a minimum time for which it won't close, unless popped out (click inside
the notification).
- After the minimum time, if left mouse button is clicked (anywhere) it auto-closes, as it is
understood the user has continued working.
- After a maximum time, it will automatically close (even in nothing is clicked).
2023-02-18 16:58:43 +01:00
Uwe 2690118711 [App] sort includes in PreCompiled.h
- also remove a superfluous private: statement
- also remove an unnecessary include
2023-02-18 14:53:11 +01:00
Uwe de95a22eae [FEM] connect CCX solver to results pipeline
- it was often criticized that our default solver CCX is not connected to the results pipeline system. One had to connect it manually, the create the different filter etc. but as soon as one changed a constraint and re-run the solver the whole work was gone and one had to recreate the pipeline.
This PR solves this by creating a pipeline and by reloading new results to it on a solver re-run.
The CCX results dialog feature is not touched, since the pipeline is hidden when the dialog is active.
2023-02-18 04:05:05 +01:00
berniev 124a03f508 AlwaysBreakTemplateDeclarations
Previous setting was not keeping the template<...> on a line by itself which get hard to read.

Changing to Yes.
2023-02-18 03:02:47 +01:00
Przemo Firszt 5d8c247c2a [COPR] tighten grep to avoid catching some random stuff
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2023-02-17 15:41:08 +01:00
luzpaz c48b426182 Fix source comment and documentation typos
[skip ci]
2023-02-17 08:32:03 -06:00
0penBrain a69f656c61 CI: improve tests reporting (extract failed tests + uncaught tracebacks) 2023-02-17 08:08:40 -06:00
0penBrain 3a6c9ffc69 CI: add crash dumps to log artifacts for Linux builds 2023-02-17 08:08:40 -06:00
0penBrain 6316fed5d9 CI: uniformize sed usage 2023-02-17 08:08:40 -06:00
0penBrain 551e70f3bb CI: improve reporting for line endings check 2023-02-17 08:08:40 -06:00
0penBrain c1631e0d03 CI: fix a bug in getting codespell problem count 2023-02-17 08:08:40 -06:00
0penBrain cd9280cd08 CI: improve Prepare reporting by using 'continue-on-error' for silent failing 2023-02-17 08:08:40 -06:00
0penBrain 2a1422e453 CI: improve Lint reporting by using 'continue-on-error' for silent failing 2023-02-17 08:08:40 -06:00
0penBrain fb818a81cf CI: Improve Cmake build reporting, print built targets (and only this) 2023-02-17 08:08:40 -06:00
0penBrain 6cb194e461 CI: Improve Cmake configure reporting, print full config (and only this) 2023-02-17 08:08:40 -06:00
0penBrain 72de402e46 CI: print Cmake configure error log only in case it failed 2023-02-17 08:08:40 -06:00
0penBrain 7b2428a1f1 CI: add specific timeouts to test actions 2023-02-17 08:08:40 -06:00
Bernd Hahnebach 5888edef05 Arch: IFC, export, improve debug messages if axis object has not been exported 2023-02-17 15:02:18 +01:00
Bernd Hahnebach dc580dd6b5 Arch: IFC, import, fix import break because of a missing variable 2023-02-17 13:18:32 +01:00
Christian Mesh be6bd4c95d Merge branch 'master' into gcode_apply_gcode_placement 2023-02-17 07:09:59 -05:00
Bernd Hahnebach acb78e8e88 Arch: IFC export, fix because one malformed geometry can break the whole export 2023-02-17 10:51:58 +01:00
Roy-043 b8a7ba0c2e [Arch] Arch_Site did not handle movable children (#8510) 2023-02-17 10:09:53 +01:00
Uwe 7534c6748c [FEM] fix possible crash on changing the VectorMode
- if pvtu file filtering is on, there is by design not on every call of WriteColorData() data
  (on other occasions of GetArray(array) the result is checked, for two calls is was forgotten)

- also some automatic code formatting according to our current clang file
2023-02-17 02:32:54 +01:00
Roy-043 29cebe45c0 [Arch] Arch_Stairs fix for #8444 (#8518)
- Recompute should not be called from onDocumentRestored. It causes issues when updating complex stairs.
2023-02-16 21:09:06 +01:00
Roy-043 dfc57aa80e [Arch] Allow Arch_stairs with 2 steps (#8515)
- Fixes #7050
2023-02-16 20:56:22 +01:00
luzpaz 08b3bf4462 Fix various trailing whitespace issues 2023-02-16 09:30:22 -05:00
berniev 08214d9ec3 clang-format enable reflow comments 2023-02-16 09:29:51 -05:00
Uwe ef29cc7657 [Gui] font setting fixes for NaviCube
- it turned out that the current check for default font failed because of wrong check for the hinting
- fix bug that when the FontSize is not yet stored in the parameters, the dialog shows a wrong size value
2023-02-16 14:11:54 +01:00
Yorik van Havre b88fb1bcfd Merge pull request #8506 from Roy-043/Arch-children-of-Component-did-not-rotate-with-Host
[Arch] children of Component did not rotate with Host
2023-02-16 09:28:32 +01:00
Uwe 4639283b45 [FEM] make pvtu file filtering optional
- it is sensible to filter by default, however, it turned out that on some complex models Elmer fails to compute if the mesh volume regions are too small (in most cases) or at a certain mesh region. By disabling the filtering, one gets at least for the latter case a visual feedback where the mesh volume of the different CPU are (by also setting a transparency to the result pipeline).
2023-02-16 02:32:40 +01:00
Roy-043 1474f36b74 [Arch] children of Component did not rotate with Host 2023-02-16 00:07:07 +01:00
wmayer 684e9fd425 Gui: fix removing item from recent files list 2023-02-16 00:06:33 +01:00
wmayer ffd9ca6e69 Gui: [skip ci] set object name to tabbar of MDI area 2023-02-15 19:12:37 +01:00
Abdullah Tahiri e566daa1af Sketcher: Correct font sizes and updates
========================================

Fonts:
- SoDatumLabel internally uses QFont and thus points. It was being fed pixels, for which the configured size in preferences did not match the actual on screen size. This is corrected.
- Font sizes fed directly from parameters to the coin nodes skeleton were not being updated, as the parameter observer is initialised after the nodes are created, and the parameter
observer was not configured to update this nodes. This is corrected.

Colors:
- Some color parameters were not being being updated by the parameter observer. This is corrected.
2023-02-15 17:29:46 +01:00
Yorik van Havre 39f4b8c091 Merge pull request #8495 from luzpaz/fem-trailing-newlines
FEM: fix trailing newlines
2023-02-15 17:02:16 +01:00
Yorik van Havre 2bcde04bfe Merge pull request #8491 from luzpaz/draft-typos
Draft: fix typos
2023-02-15 17:01:30 +01:00
Yorik van Havre f095f73b31 Arch: Placeholder modules to handle files containing NativeIFC objects 2023-02-15 15:01:15 +01:00
Yorik van Havre 79ea979eb1 Start: Allow to change the default import module for a filetype
By setting a DefaultImportXXX preferences parameter under Mod/Start,
one can specify a default import module to use when clicking a .XXX
file on the Start page. This is specially useful for filetypes that
have several importers, and the Start page would not let users
choose which importer to use.

Later on if this proves useful we can set up an UI to let the user
set their preferences better.
2023-02-15 14:53:15 +01:00
wmayer a2928cf0f6 Fem: fixes #8485: transparency of pipeline objects is visually lost 2023-02-15 14:52:44 +01:00
luzpaz d4796dd1d4 FEM: fix trailing newlines 2023-02-15 13:41:38 +00:00
Uwe b0e50b8eb2 [FEM] Contours: disable keyboard tracking
- otherwise the contour creating algorithm would be invoked on every keystroke
- also improve a code comment
2023-02-15 14:31:10 +01:00
Uwe a84d6d19e6 [FEM] improve visualization of pvtu files
- To speed up analyses one calculates on several CPU cores. The result is a partial VTU file.
Unfortunately when applying a transparency the boundaries of the volumes computed by each CPU core are always visible. This makes it often unusable for visualizations.
The solution is to filter the results the same way a clip filter does.
2023-02-15 14:22:45 +01:00
luzpaz e033dd6ba5 Draft: fix typos 2023-02-15 13:13:29 +00:00
Uwe 99a7262e60 [FEM] improve checks for datasets
- check if datasets exists before we access them
- speed up the check for the datatype by testing after the downcast
2023-02-15 10:54:45 +01:00
luzpaz 3b67713b24 FEM: fix trailing whitespace
Fix trailing whitespace in `Fem/App/FemPostFilter.cpp`
2023-02-15 10:45:00 +01:00
Uwe ee59d2ce58 [FEM] [skip ci] add missing header for precompiled headers 2023-02-15 00:42:54 +01:00
wmayer 61d24dedf7 Part: add integration tests 2023-02-14 22:56:42 +01:00
wmayer 3f72e247ff Part: creating a NURBS of a circle or ellipse doesn't respect any transformation
Example:

mat = App.Matrix()
mat.rotateX(1)
mat.rotateY(1)
mat.rotateZ(1)

circle = Part.Circle()
circle.Radius = 5
circle.transform(mat)

circle.transform(mat)
Part.show(circle.toShape())

nurbs = circle.toNurbs()
Part.show(nurbs.toShape())

arc = circle.trim(0, 2)
nurbs = arc.toNurbs()
Part.show(nurbs.toShape())

spline = circle.toBSpline()
Part.show(spline.toShape())

#-------------------------

ellipse = Part.Ellipse()
ellipse.MajorRadius = 5
ellipse.MinorRadius = 3
ellipse.transform(mat)

ellipse.transform(mat)
Part.show(ellipse.toShape())

nurbs = ellipse.toNurbs()
Part.show(nurbs.toShape())

arc = ellipse.trim(0, 2)
nurbs = arc.toNurbs()
Part.show(nurbs.toShape())

spline = ellipse.toBSpline()
Part.show(spline.toShape())
2023-02-14 22:56:42 +01:00
Roy-043 f34cce97a0 [Draft] typo: object name should be capitalized (#8484) 2023-02-14 15:44:26 +01:00
Syres916 f6b3399848 [Sketcher] Fix cursor coordinates text size...
...to stay in proportion to the constraint text size. Fixes https://github.com/FreeCAD/FreeCAD/issues/7080
2023-02-14 15:07:01 +01:00
Uwe af68a0618b [FEM] [skip ci] Countours: remove unused code
- also fix a trailing whitespace
2023-02-14 13:48:03 +01:00
Uwe a6d1dc7fc0 [FEM] Contours: fix task panel logic
- the ViewProvider sorting of the field can be different from the sorting in the dialog

- also hide a Contours property (I forgot this when the contours filter was added)
2023-02-14 13:30:58 +01:00
wmayer 212bbc7fa0 App: define an enum to be used as the retType argument of DocumentObject.getSubObject()
This is to avoid to use magic numbers in client code
2023-02-14 12:02:33 +01:00
luzpaz ae00eec442 Arch: fix incorrect indentation in ArchStairs.py (#8475) 2023-02-14 11:22:04 +01:00
Chris Hennes d6fc29f057 Addon Manager: Refactor Macro parser 2023-02-13 23:46:57 -06:00
Chris Hennes 377c1564d1 Test(Metadata): Remove catch from Setup()
If an exception occurs while setting up Xerces-C, make the test framework handle it.
Also add a copyright header, and try to quiet down the clang-tidy linter.
2023-02-13 23:46:37 -06:00
VM4Dim e85cf5df1f [Gui] Sort Add Property Types 2023-02-14 02:40:08 +01:00
Roy-043 889feae7d7 [Arch] fix Arch_Stairs recompute issue (#8444)
* [Arch] fix Arch_Stairs recompute issue

* Fixed the tooltips for the updated properties.

* Added warnings to the functions that updated the properties.

* Fixed a typo makeCurvedStairsWithLandings -> makeCurvedStairsWithLanding
2023-02-13 21:11:52 +01:00
edi271 2cf1f64000 [TD] solve reported issues 2023-02-13 14:45:04 -05:00
edi271 28fb8b7153 Changed files 2023-02-13 14:45:04 -05:00
edi271 b461f6343f Combo View dialog source hole / shaft fit 2023-02-13 14:45:04 -05:00
edi271 cee126660e [TD] Command source hole /shaft fit 2023-02-13 14:45:04 -05:00
edi271 333bd1a545 [TD] ui file hole /shaft fit 2023-02-13 14:45:04 -05:00
edi271 bd4219951b [TD] Icon file hole/shaft fit 2023-02-13 14:45:04 -05:00
Uwe 592da198c5 [FEM] sort code of result filters
- sort the functions alphabetically to know where to scroll to - eases the reading at least a bit
- some automatic reformatting according to our current clang file
- split too long lines
2023-02-13 19:52:54 +01:00
Uwe eecf57ffe9 [FEM] improve messages in mesh generation
- no longer output an error on mesh from a BooleanFragments. There are cases when this fails, but other cases where one must use a BoopleanFragments compound and this works well, see https://forum.freecad.org/viewtopic.php?t=71070. Therefore a warning is sufficient.
- disable log messages not important for the average users.
- avoid code duplication
2023-02-13 16:55:00 +01:00
Uwe fa780e8b5b [FEM] add new filter to display iso contours
- very valuable to display for example electromagnetic field lines
2023-02-13 16:53:21 +01:00
Christian Mesh e74559097b Allow XYZ rotation in placement applied to path
Also fixes an issue with path export where _TempObject (no Placement)
would throw an exception.
2023-02-13 10:41:41 -05:00
Christian Mesh 55f9e4d1dd Apply Placement to simulated/exported GCode
This changed is inspired by (and slightly refactors) the Array Path modifier.

It currently takes the Placement XYZ and Z Angle into consideration.
Future work could also implement rotating the path around the X and Y
axes.
2023-02-13 10:41:41 -05:00
Chris Hennes 3937a746b8 CI: Tweaks to pylintrc 2023-02-13 15:46:28 +01:00
Yorik van Havre 50fb6d6b46 merged crowdin translations 2023-02-13 15:45:26 +01:00
Yorik van Havre d74c9f0188 updated ts files 2023-02-13 15:45:26 +01:00
luzpaz 50413a1ca1 FEM: fix trailing newlines 2023-02-13 15:41:31 +01:00
Yorik van Havre 190ade8fd7 Merge pull request #8409 from Roy-043/Arch-fix-Arch_Site
[Arch] fix Arch_Site
2023-02-13 14:40:23 +01:00
Uwe 0100a24135 [FEM] fix wrong name in cut filter
- it is the cut, not the clip filter, was probably a copy/paste mistake
- also some automatic code-reformatting according to our current clang file
2023-02-13 14:13:09 +01:00
Uwe b6ff2ad9fd [FEM] add missing registration of magnetodynamics equation 2023-02-13 14:12:43 +01:00
0penBrain f31e5066ea CI: improve logging for configure, build and install steps
* Line buffering for stdout and stderr to better preserve log order
 * Full log now contains both stdout and stderr to keep errors in context
2023-02-13 11:27:26 +01:00
0penBrain c83b530c6e CI: factorize CMake install step in Linux builds 2023-02-13 11:27:26 +01:00
0penBrain 5d107d6762 CI: factorize CMake build step in Linux builds 2023-02-13 11:27:26 +01:00
0penBrain 75db9af607 CI: factorize CMake configuration in Linux builds 2023-02-13 11:27:26 +01:00
0penBrain b4a57d510b CI: fix typo in runTests action name 2023-02-13 11:27:26 +01:00
0penBrain 9480c98ccc CI: spell checker silently fails 2023-02-13 11:27:26 +01:00
0penBrain ad9afb6173 CI: deleting used artifacts in wrapup is allowed to silently fail 2023-02-13 11:27:26 +01:00
0penBrain ed5b4ecd23 CI: rename Ubuntu jobs in master workflow to clarify 2023-02-13 11:27:26 +01:00
Uwe bdc23a5b02 [FEM] register new result values to DataAtPoint filter
- also sorting to keep the overview
2023-02-13 02:50:34 +01:00
Jonas Bähr 4a77843845 PD: Improve InvoluteGear's fillet generatrion
Previously, the fillet started at a fixed value, tailored at 20° pressure
angle, a fillet radius of 0.375 and a dedendum of 1.25. With PR #8184
those values became user-adjustable and thus the assumptions of the
original code are not fullfilled any more. This resulted in significant
artefacts, especially for higher pressure angles or smaller dedendums as
commonly found in splines.

This commit actually calculates the junction between fillet and involute
so that the tangents of the both curves match.
The mathematical approach is described in source code comments.

The change in the fillet calculation also affects compatibility with
files generated by earlier versions of FreeCAD. Those changes are way
below 0.1% per tooth, however the earlier test required absolute equality
down to the micron. This was relaxed and also changed to a relative, per
tooth, tolerance.

There is one particular case where the new algorithm performs slightly
worse, though. That is when the fillet radius is too large to the
dedendum, i.e. resulting in a single arc instead of two fillets, and
effectively cannibalizes some of the clearance. This happens with internal
gears having less than 25 teeth. At about 15 teeth it becomes visible
that the fillet is not 100% tanget any more. However, as such a low
number of teeth is highly unusual for internal gears and the effect,
although noticeable, is minor, the overall benefits of the new algorithm
outweighs the drawbacks. And now with the fillet radius being adjustable
it is easy to fix, too.
The technical reason is that the tangency is calculated correctly, but
the fillet circle is displaced aferwards to avoid an overlap of the two
fillets. For the new fillet position, the tangents do not align any more.
2023-02-13 02:31:28 +01:00
Jonas Bähr 4f56b2654e PD: Expose new gear properties to the SVG generator
This little script has proven to be a vauable debugging aid, so it got
some love. All the new properties from #8184 can now be set, together
with the option to generate internal gears.
2023-02-13 02:31:28 +01:00
Uwe 4382bd199a [Part] extend SectionCutting feature for intersecting objects
- it is a well-known and often feed-backed missing feature that SectionCuttings fails for intersecting objects.
To resolve this, the objects must be put int a BooleanFragments object.
- this PR adds this functionality as option.
- since a BooleanFragments objects has a specific color, the different colors of the objects cannot be preserved. Because of this disadvantage, the BooleanFragments option will not be the default.

- this PR also modernize all for loops
2023-02-13 00:46:37 +01:00
Roy-043 72849c53d5 [Arch] fix Arch_Site: fix transform issue 2023-02-12 22:21:03 +01:00
Uwe 1bcaaec26c [App] License.cpp: add missing include
- does otherwise not compile on Windows
2023-02-12 21:25:08 +01:00
wmayer 38e02e6f36 App: support of method unsetupObject in Python feature classes 2023-02-12 20:01:09 +01:00
wmayer 3623dbd862 tests: add unit tests for License 2023-02-12 19:57:41 +01:00
wmayer 4036613fd2 App: refactor license handling to reduce code duplication 2023-02-12 19:57:41 +01:00
wmayer 91048d7900 Part: fixes to create a NURBS for the arc of a conic
See forum: https://forum.freecad.org/viewtopic.php?t=75846
2023-02-12 19:45:00 +01:00
0penBrain ba25e9a82f [Core] Add possibility to set color with tuple of integers, fixes #8344 2023-02-12 18:16:59 +01:00
wandererfan 4dff7db187 [TD]fix face hatch location inSvg export 2023-02-12 11:50:20 -05:00
Roy-043 b6af6c9330 [Draft] fix #8433 regression (#8452) 2023-02-12 14:22:52 +01:00
Adrien GUICHARD 87c5403b69 Add TaackPLM_workbench_icon.svg in resources 2023-02-12 10:38:47 +01:00
alexneufeld 8f06403537 Gui: Add CERN OHL to default licenses list 2023-02-12 10:31:59 +01:00
ieternalleo bececf6384 Mesh: Update error message to inform of missing mesh file format upon export 2023-02-12 10:29:35 +01:00
marioalexis d8d3bb8120 App: Fix warnings -Wignored-qualifiers 2023-02-11 14:16:46 -08:00
luzpaz 516509dbf0 Draft: [skip ci] fix typo in source comment (#8434)
Fixed typo in `draftutils/gui_utils.py`
2023-02-11 21:02:27 +01:00
paul 6c76637a10 [Arch Component] Fix placement multiplication problem (re-PR) (#6617)
* [Arch Component] Fix placement multiplication problem (re-PR)

- see forum discussion : https://forum.freecadweb.org/viewtopic.php?f=23&t=67008

* Update ArchComponent.py

Manual edit to avoid merge conflicts.

---------

Co-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>
2023-02-11 20:43:28 +01:00
wandererfan 502ef8c9ba [TD]fix validation of hybrid dimension 2023-02-11 13:30:15 -05:00
wandererfan cd79b8744f [TD]centralize balloon prefs 2023-02-11 13:30:15 -05:00
Roy-043 7f2f5e9414 [Draft] fix diffuse color issue when creating arrays (#8436) 2023-02-11 18:57:28 +01:00
wmayer c7a21ecbee Fixes #8206: FreeCAD segfaults being run with parameters (e.g .desktop file has /usr/bin/freecad --single-instance) 2023-02-11 17:49:52 +01:00
Roy-043 5d6b447149 [Draft] some arrays did not have a Count property (#8433) 2023-02-11 17:09:02 +01:00
Roy-043 c437b79ada [Draft] update of Draft_Clone related to gui_utils.get_diffuse_color (#8430) 2023-02-11 16:21:18 +01:00
Roy-043 6cc22f2a54 [Draft] fix Draft_Mirror diffuse color issue. (#8427) 2023-02-11 11:18:00 +01:00
Uwe ee4beba619 [FEM] fix bug in potential constraint task panel
- fix logic of a checkbox
2023-02-11 04:41:15 +01:00
berniev 6e67ec9cc0 Still more improvements to Report Summary
Final Report doesn't distinguish system settings

Added ability to have 'sections' to group stuff
Added value function to display options as ON / OFF / value / -undefined-
Added sections System, Config, Libraries
Added a bunch of data to System and Config. Moved some out of Libraries as appropriate.
2023-02-10 20:29:16 -07:00
Uwe 7fb40b1d70 [Material] editor: improve float input
- it is very annoying to get a dozen decimals on editing floats. 6 do the job for all cases and a spinBox is preferred.
2023-02-11 04:14:30 +01:00
Chris Hennes eeb4dbdcf0 Addon Manager: Add data for integration tests 2023-02-10 16:19:17 -07:00
Chris Hennes d53ece025a Addon Manager: Prep Addon for refactoring 2023-02-10 15:31:06 -07:00
Chris Hennes b2d06f18c7 Addon Manager: Add more unit test mocks 2023-02-10 14:37:16 -07:00
wmayer 8f7a275bf1 FEM: raise an exception if no valid object is selected 2023-02-10 21:10:25 +01:00
Chris Hennes b75c7c8388 App: Add basic test for new Metadata code 2023-02-10 12:40:55 -07:00
Chris Hennes 6db8887983 App: Cleanup Metadata 2023-02-10 12:40:55 -07:00
Chris Hennes 65513b48d0 App: Add support for in-memory Metadata creation 2023-02-10 12:40:55 -07:00
Chris Hennes c8b65c91ce Addon Manager: Reload page when following links
Partially addresses #8361 by ensuring that when an external link is followed, the internal page gets reloaded instead of showing an error page.
2023-02-10 12:19:44 -07:00
Uwe 95a6d1e208 [FEM] Elmer: add support for 3D magnetodynamics
- adds the corresponding Elmer equation (it is now possible to do Elmer's tutorial example no. 14)
2023-02-10 19:48:31 +01:00
Uwe f26481ca20 [FEM] change hiding logic on calling task panels
- the typical workflow is to change e.g. a constraint setting or material property and to check how and if this change changes the simulation result. it is therefore very annoying that on every call of a task panel the results are hidden.
This PR changes this to hide only meshes and the filter functions but to keep the results. If a user don't like to see results for example to select faces, he hides results anyway.
2023-02-10 16:47:52 +01:00
Uwe 67d73f31a8 [FEM] ViewProviderFemPostObject: fix a typo 2023-02-10 16:08:03 +01:00
wmayer c0bbff3f28 Spreadsheet: fix some warnings and issues reported by GH actions 2023-02-10 16:06:46 +01:00
wmayer 108e30d8ba smesh: std::iterator<> is deprecated in C++17 2023-02-10 14:18:01 +01:00
Uwe 3f29b469a4 [FEM] Elmer: fixes for Magneto2D writer
- assure a 2D coordinate system is used
- get rid of annoying numerical artifacts
2023-02-10 02:21:21 +01:00
Chris Hennes 30e464d82a cMake: Clean up old Mac Python search 2023-02-09 17:57:47 -07:00
Uwe b3e8add2e4 [FEM] use extended current density constraint for 2D
-also a fix bug that for 2D there is no z-component of magnetization
2023-02-10 01:30:14 +01:00
Uwe aca9e15f66 [FEM] extend current density to 3D
- to be used for magnetodynamic 3D equation
2023-02-10 01:30:14 +01:00
sliptonic 16cacfb3fb Merge pull request #8307 from LarryWoestman/staging
Path:  Refactored the add_parameters function into individual functions.
2023-02-10 00:37:09 +01:00
Roy-043 a7b3fabac0 [Arch] fix Arch_Site 2023-02-09 15:51:17 +01:00
Uwe 04f0b66ef7 [FEM] use magnetization constraint for 2D
- uses the constraint for 2D magnetodynamics to perform e.g. Elmer's tutorial non. 15

- modify the Material manager to get rid of magnetization but keep the vectorial functionality because in future there will be support for e.g. birefringence materials etc.
2023-02-09 15:43:42 +01:00
Uwe 04915b694b [FEM] add new constraint for magnetization 2023-02-09 14:41:25 +01:00
Uwe c59a10be77 [FEM] add support to show absolute value result fields
- for harmonically driven forces, the results of course also have an imaginary part. Elmer outputs the real and the imaginary parts as separate result field. However, for several applications one needs the absolute (sqrt(Re^2+Im^2)
- therefore offer also absolute field if there are real/imaginary results
2023-02-09 14:36:26 +01:00
Uwe aa4700f12b [FEM] Elmer: magneto 2D use magnetization
- take magnetization into account for the magnetodynamic2D equation
2023-02-09 07:27:44 +01:00
Uwe cbe634719d [Material] allow to use vectorial properties
- for electromagnetics we have vector fields and thus need to specify components
- as first step use the new material "Magnetization"

- also get rid of annoying debug messages output on normal use in the material dialog
2023-02-09 07:26:22 +01:00
Uwe 436703e8ce [Material] new card for Iron 2023-02-09 06:25:43 +01:00
Uwe c074fe1c95 [App] fixes for Magnetization property 2023-02-09 05:32:20 +01:00
Chris Hennes e5587cd935 Addon Manager: Fix GUI tests on macOS 2023-02-08 19:28:50 -07:00
Uwe fe1c09f841 [FEM] [skic ci] fix arrows in CurrentDensity icon
- Qt 5.x is not SVG-2 ready
2023-02-08 21:19:42 +01:00
Uwe 201b95a5b2 [Core] add quantity Magnetization
- needed for FEM and Material
2023-02-08 20:33:58 +01:00
Uwe b41776d077 [Core] disable the the unit Oersted
- is not feasible for practical usage and (was up to now not used, thus no consequence)
  moreover, Oersted is a cgs unit while we use SI units, thus also not suitable for FEM, only makes problems for magnetization
2023-02-08 19:59:36 +01:00
Uwe ac694dea1e [FEM] [skip ci] Elmer write: move a check function 2023-02-08 17:04:37 +01:00
luzpaz 30e3abde15 Fix trailing newlines 2023-02-08 15:08:42 +01:00
Uwe ddfdce612e [FEM] Elmer: extent potential constraint
- it is now possible to specify a an electric potential vector field
2023-02-08 07:02:35 +01:00
Uwe 0a4b860d66 [App] [skip ci] add info for expression lexer generation 2023-02-08 06:34:59 +01:00
Uwe 78a988ba27 [FEM] [skip ci] constraint_currentdensity.py: fix a typo 2023-02-08 06:27:27 +01:00
Roy-043 7352512f6c [Draft] fix Draft_Clone DiffuseColor delay issue during unit test (#8386) 2023-02-07 22:40:29 +01:00
wmayer 961bef36c0 Gui: fix regression that NaviCube cannot be switched off any more 2023-02-07 22:16:09 +01:00
wmayer 39502e8c57 Gui: recreate NaviCubes of all 3D views 2023-02-07 22:16:09 +01:00
wmayer e50dd7d2d2 Gui: remove Q_SLOTS decorator and use connect() to bind the signal 2023-02-07 22:16:09 +01:00
wmayer 0ba20f3f1d Gui: fix and harmonize tool tips 2023-02-07 22:16:09 +01:00
wmayer 2ffa1d546f Gui: use QString::fromStdString for std::string 2023-02-07 22:16:09 +01:00
wmayer d24bb7195a Gui: move calls of OnChange to separate method
and explicitly call the class' method to fix warning about bypassing virtual dispatch during construction
2023-02-07 22:16:09 +01:00
wmayer 9906c63b32 Gui: move calls of OnChange to separate method
and explicitly call the class' method to fix warning about bypassing virtual dispatch during construction
2023-02-07 22:16:09 +01:00
Adrian Popescu 3f3a548b22 Disabled Accessibility on SheetTableView 2023-02-07 16:42:54 +01:00
Yorik van Havre c71e551556 Merged crowdin translations 2023-02-07 15:55:31 +01:00
Yorik van Havre f51a6f2cf9 updated ts files 2023-02-07 15:55:31 +01:00
Uwe 06100d97dd [FEM] Elmer: better sorting of equations
- the elctricforce equation is actually a postprocessor and thus should not be first in the list, but after the electrostatics equation (where it belongs to technically)
- also change menu name to be consistent with the other FEM menus
2023-02-07 14:19:56 +01:00
Uwe 23e240e017 [FEM] Elmer writer: correct copyrights 2023-02-07 11:52:18 +01:00
Uwe d5ac0758cf [FEM] Elmer: add support for 2D magnetodynamics
- adds the corresponding Elmer equation (it is now possible to do Elmer's tutorial example no. 16)
2023-02-07 11:06:22 +01:00
Uwe c8e25bf4d4 [FEM] Elmer writer: sort out elasticity equation
- sort out elasticity equation - last step to refactor writer.py
2023-02-07 04:33:20 +01:00
Uwe bc275eb772 [FEM] Elmer writer: sort out electricforce equation
- sort out electricforce equation - next step to refactor writer.py
2023-02-07 03:59:59 +01:00
Uwe 8d0d38911f [FEM] Elmer writer: sort out flow equation
- sort out flow equation - next step to refactor writer.py
2023-02-07 03:21:25 +01:00
Uwe 53452cfec3 [FEM] Elmer writer: sort out flux equation
- sort out flux equation - next step to refactor writer.py
2023-02-07 02:40:59 +01:00
Uwe 5b2f99c5ea [FEM] Elmer writer: sort out heat equation
- sort out heat equation - next step to refactor writer.py
2023-02-07 02:03:53 +01:00
Uwe e90102ba4f [FEM] Elmer electrostatic improvements
- output only a reasonable number of digits for vacuum permittivity
- output the FC label of potential constraints as comment (helps a lot when having several constraints)
2023-02-07 00:38:50 +01:00
Uwe 3d3313546a [FEM] Elmer: refactor writer for electrostatics
- the writer.py is to large to keep the overview, thus sort out the handling of the different equations (also since more equations will be added)
- This PR sorts out the electrostatic equation handling as first step (more equations will follow once this is merged)
2023-02-07 00:38:50 +01:00
Uwe 41bafb2bc0 [FEM] Elmer: add permeability of vacuum 2023-02-07 00:16:52 +01:00
Uwe c8630fec0a [FEM] shorten too long lines
- reformatting was done by the MSVC formatter according to our current clang file
2023-02-06 23:12:53 +01:00
Roy-043 e7d757de3d [Draft] fix ang dim arrows alignment issue related to asin (#8368) 2023-02-06 14:01:08 +01:00
luzpaz 69e5359bfa Gui: [skip ci] fix typo 2023-02-06 06:23:27 +01:00
edi271 2c931a88b0 [TD] Add Command Axo Length Dimension
Co-authored-by: Benjamin Bræstrup Sayoc <benj5378@outlook.com>
2023-02-05 14:50:44 -08:00
Roy-043 f09d038ff5 Draft: add delay in the Draft_Clone unit test (#8363) 2023-02-05 21:59:39 +01:00
Uwe 82b6e03625 [FEM] add current density constraint
- also add corresponding App::PropertyCurrentDensity

- also fix a typo in test_object.py
2023-02-05 21:10:15 +01:00
luzpaz b4780be1d1 Fix whitespace issues 2023-02-05 16:39:58 +01:00
Yorik van Havre 2a4e87b64d Fixes startpage css - fixes #8330 2023-02-05 15:09:23 +01:00
Uwe 87c5b89135 [Material] fix conductivity of Copper
- the conductivity was by a factor 10 too low, use a common value as fix
2023-02-05 05:21:14 +01:00
Uwe 68d478aa6e [FEM] [skip ci] Elmer write: some cleanup
- fix also a typo
2023-02-05 03:20:56 +01:00
Uwe 3be4744647 [Start] set sensible size for DlgStartPreferences.ui
- as mentioned in #8330, new size set by QtDesigner
2023-02-05 00:21:26 +01:00
Yorik van Havre 6a6442b0a3 Start: Added option to hide start page scrollbars 2023-02-04 22:50:23 +01:00
Uwe d2ec8a85cc [FEM] Elmer output material name
- when looking at the Elmer input file 'case.sif' it is extremely helpful to thee also the name of the material
  Since the name is only form info, this does not change the actual simulation
2023-02-04 22:11:30 +01:00
luzpaz a38b2ffbf7 Fix various trailing newlines, typos and grammar 2023-02-04 18:29:07 +01:00
Uwe 2880a5ca2a [Core] add current density
- necessary to implement electromagnetic features to the FEM WB
2023-02-04 03:22:24 -06:00
Uwe d33005d14e [Material] add support for magnetic permeability
- also rename property group to "electromagnetic" (this change has no influence on any existing simulation, is only the name in the material editor)
2023-02-03 14:17:17 -06:00
Uwe 49a7a60311 [Part] [skip ci] update a tooltip
- since FC 0.20 we require OCC 7.4
2023-02-03 12:15:28 -06:00
Pascal de Bruijn 181c7991e2 Increase mesh generation output quality 2023-02-03 12:08:10 -06:00
Pascal de Bruijn 20933f9c07 Tools: tweak mesh generation
Mesh generation parameters are taken from PrusaSlicer's STEP importer,
which does a just-in-time STEP->STL conversion in memory.

Resulting meshes have better geometry, but are a little larger as a result.
2023-02-03 12:08:10 -06:00
Uwe 1a51e03b2f [FEM] Elmer: revert wrong change from #8336
- I mixed the normal stress solver with the elastic stress solver. For the normal stress solver plane stress is possible in all coordinate systems
2023-02-03 18:41:06 +01:00
Uwe 28c8addf5a [FEM] Elmer: don't hardcode the coordinate system
- Elmer allows for all currently supported equations several coordinate systems
- also remove an unused variable
2023-02-03 17:49:58 +01:00
Uwe 51185e1c06 [FEM] Elmer: fix error on wrong material settings
- if user set no material for a body, we must raise an error
- also fix annoying output of permittivity in case.sif file
2023-02-03 15:45:25 +01:00
Roy-043 a891d5c766 Draft: fix normal calculation for angular dims 2023-02-03 15:44:27 +01:00
Uwe 0e17989707 [Material] add new card for carbon dioxide 2023-02-03 02:37:27 +01:00
wmayer 7f8b136dae Sketcher: replace slots with member function pointers 2023-02-03 00:21:38 +01:00
wmayer 4b3fb1c079 TD: replace slots with member function pointers 2023-02-03 00:21:38 +01:00
wmayer 0363ebdf8f Surface: replace slots with member function pointers 2023-02-03 00:21:38 +01:00
wmayer 9aede79ef8 Mesh: replace slots with member function pointers 2023-02-03 00:21:38 +01:00
wmayer 9a5d9880d5 PD: replace slots with member function pointers 2023-02-03 00:21:38 +01:00
wmayer 84aa8155ce Part: replace slots with member function pointers 2023-02-03 00:21:38 +01:00
wmayer 9b29c3a683 Gui: replace slots with member function pointers 2023-02-03 00:21:38 +01:00
Roy-043 ec0182b915 Draft: housekeeping: remove obsolete code (uiMode and DraftGui.py) (#8327) 2023-02-02 23:24:27 +01:00
Uwe 932abebca9 [Gui] register NaviCube parameters to view
- there is a bug: when deleting any NaviCube parameter in the parameters dialog, the background color suddenly changes
the fix is to register the NaviCube parameters to the view

- the PR also fixes the issue that the default font size was not properly calculated but hardcoded
2023-02-02 19:02:51 +01:00
Uwe f14dea3226 [FEM] solver_taskpanel: fix bug with Edit button
- when an error occurred during the Write process, the Edit button must not be enabled
  In this case the machine state is still at femsolver.run.PREPARE. If no error occurred it went one step up.
2023-02-02 18:58:07 +01:00
0penBrain 62a2c33a05 CI: re-enable 20.04 build and test 2023-02-02 16:57:12 +01:00
wmayer 681b8091ad CMake: make sure to add RPATH to area-native library 2023-02-02 16:56:15 +01:00
wandererfan 951520a5c1 [TD]use correct shape for section of section 2023-02-02 05:55:32 -08:00
wandererfan bd25c86973 [TD]fix handling of perforated section faces 2023-02-02 05:55:32 -08:00
wandererfan d9afb06676 [TD]allow section line when base is section 2023-02-02 05:55:32 -08:00
Roy-043 693ec401f7 Draft: subelement mode ignored nesting (#8319) 2023-02-02 11:49:55 +01:00
Uwe 802a220d2d [FEM] equationbase: sort equations alphabetically
- to ease readability a bit
2023-02-02 06:30:22 +01:00
Uwe 37dc6e8a29 [FEM] sort equations alphabetically
- to ease readability a bit
2023-02-02 05:35:15 +01:00
LarryWoestman 89e7e29a08 Path: Refactored add_parameters into individual functions.
Replace the "add_parameters" routine by an array of individual
functions (one for each parameter letter) and a simple piece of
code that calls the appropriate parameter passing functions in
the specified parameter order.  Some of the parameter letters
can share the same parameter passing function in the default
configuration.
This not only simplifies the code but opens up the possibility
of replacing the code processing a given parameter letter
("Q", for example) with new code in the postprocessor file
without having to modify the shared postprocessor functionality
(in the three Util*.py files).
2023-02-01 11:55:18 -08:00
wmayer 2da2ee5044 Gui: fix regression of 8801836321:
Commands are not shown any more when selecting a category
2023-02-01 20:21:34 +01:00
wmayer 2e5cb03261 Gui: move to new style connect() 2023-02-01 13:49:35 +01:00
wmayer 25a63f8750 TD: move to new style connect() 2023-02-01 01:33:34 +01:00
Uwe 900ad81b49 [Gui] modernize some UI connections 2023-01-31 22:24:45 +01:00
Roy-043 25c4792690 Draft: fix issue with undo (#8267) 2023-01-31 21:38:19 +01:00
wmayer 049056a99a Part: put instantiation of BRepAdaptor_Surface into try/catch block as for some broken faces it may fail 2023-01-31 11:04:38 -06:00
Adrian Popescu b75142850d Build graph fix (#8311) - Fixed Constraints' value not being updated 2023-01-31 11:00:33 -06:00
Yorik van Havre c5c3077f8f Merge pull request #8282 from Roy-043/Arch-update-Arch.pruneIncluded-to-include-cloned-PD-Bodies
Arch: update Arch.pruneIncluded to include cloned PD Bodies
2023-01-31 13:16:23 +01:00
Yorik van Havre fefa7cc40c Merge pull request #8287 from Roy-043/Arch-Fix-ArchPrecast.py-issues
Arch: Fix ArchPrecast.py issues
2023-01-31 13:15:46 +01:00
Uwe 0bfa983a89 [Gui] FreeCADGuiInit.py: address some GH action reports
- superfluous parens and loo long lines
2023-01-30 18:14:27 -07:00
Uwe 8801836321 [Gui] modernize some UI connections 2023-01-30 18:11:37 -07:00
berniev d5e1b3f441 Further efficiencies to Summary Report
Changed existing function to macro to access list of lines
Added conditional macro to save most of the if() else() endif()
Output sorted for improved comprehension
Moved build message out (nothing to do with report)
SLOC -~30%
2023-01-30 18:10:52 -07:00
mosfet80 0754201b8d Delete .circleci directory
the config.yml file calls the non-existent file ./package/conda/run_docker_build.sh
2023-01-30 18:09:10 -07:00
wandererfan a810fa68b4 [Sketcher]fix cursor display of angles 2023-01-30 11:04:42 -08:00
mosfet80 27012bb23c Delete vagrant directory
Vagrant configuration are obsolete (freecad 0.17) using python V2, qt4 and boost v. 1.55
2023-01-30 10:44:59 -07:00
Chris Hennes 53aedb17f4 cMake: Correct PySideTools paths on Windows 2023-01-30 10:36:33 -07:00
sliptonic f80edaa9ed Merge pull request #8205 from LarryWoestman/staging
Path:  Refactored PostUtilsParse.parse a lot.
2023-01-30 08:37:15 -06:00
berniev 9a05a04dad Improve unit testing directory structure
Separate Qt tests and gtest tests
Add a basic shadow of the project structure
Add a few simple tests to demonstrate usage
2023-01-30 07:15:09 -07:00
Yorik van Havre 4eca103469 Merged crowdin translations 2023-01-30 10:04:15 +01:00
Yorik van Havre 31b89be95f update ts files 2023-01-30 09:55:26 +01:00
berniev b0ae66b94c Remove obsolete cmake code (<3.16.3) 2023-01-29 17:29:08 -07:00
0penBrain 0a5c64239a CI: allow Build2004 to fail because of PathAdaptative bug with GCC 2023-01-29 11:48:50 -07:00
0penBrain eef8054383 CI: remove current CI workflow 2023-01-29 11:48:50 -07:00
0penBrain 87f60104ee CI: global refactoring of build/test CI 2023-01-29 11:48:50 -07:00
ShuffleWire 2ca167f8c3 SpreadSheet: Display alias
Add an option to display in the cell the alias of the cell.
In preference, add a custom field to format this display.
2023-01-29 10:11:50 -07:00
Uwe 18fdd3f708 [Gui] View3DInventorViewer: fix a GH action report
- use sizeof instead of the hardcoded number
2023-01-29 09:38:16 -07:00
Chris Hennes e188802ca6 Addon Manager: Update license headers 2023-01-28 13:07:29 -07:00
wmayer cd2a35061d Part: add integration test for SectionCut command 2023-01-28 19:51:20 +01:00
sliptonic 73e2bad373 Merge pull request #8193 from haraldhartmann/origin/PathAddEstlcamPP
Path: add Estlcam postprocessor fix #8192
2023-01-28 11:52:33 -06:00
berniev 243ad94fb2 Simplify usage in Final Report and move Libpack copy stuff out
Added report function to separate logic from presentation and automate layout
Removed Libpack stuff to its own cmake file CopyLibpackDirectories.cmake
Added call in main CMakeLists.txt to libpack stuff
2023-01-28 08:41:34 -07:00
wandererfan c318bc08cb [Part][Draft]fix #8271 temporary files on windows 2023-01-28 07:13:05 -08:00
Roy-043 c0910a7e5b Arch: Fix ArchPrecast.py issues 2023-01-28 11:28:38 +01:00
wmayer 633a6e825c Fem: move from string based connect() to overloaded variant based on meta methods 2023-01-27 21:13:35 +01:00
Roy-043 e10d92a76f Arch: update Arch.pruneIncluded to include cloned PD Bodies 2023-01-27 19:29:47 +01:00
Uwe b39e1f2fc8 [Gui] NaviCube: improve default font
- it turned out that DejaVu Sans is not the best font since its letters are wide. Bahnschrift was designed to run narrow and it at least on all Win 10 since 2017. Therefore use this, if possible
2023-01-27 15:44:01 +01:00
Roy-043 0a8ea55509 Draft: Update test_modification.py (#8273) 2023-01-27 14:21:55 +01:00
Uwe 588f2d50e4 [Gui] allow to specify font for NaviCube
- the problem is that depending on the OS, the font of the NaviCube is hardly readable. For example under Windows 11, there is no Helvetica font and therefore an ugly replacement font is used. On some laptop screens the font is too large or too small etc.
- as solution this PR add the change the NaviCube's font and font size

- the PR also fixes an issue that the position (corner) of the NaviCube was not respected when the NaviCube is recreated. This fix is necessary for the PR therefore included

- as by-product the PR fixes #8082 since every change in the preferences now properly recreates the NaviCube

- the PR also removes the strange and unused class "HuuhaaClassPy"
2023-01-27 02:23:46 +01:00
Uwe e07af014e6 [Gui] ExpressionCompleter: fix some GitHub Action reports (#8264)
* [Gui] ExpressionCompleter: fix some GitHub Action reports

- too long lines
- too short variable names
- use .empty()

- also some reformatting according to our current clang file
2023-01-27 00:37:54 +01:00
wmayer db6d44b1da Part: fix crash in SectionCutting dialog
It segfauls when executing the script below:
doc = App.ActiveDocument
box = doc.addObject("Part::Box", "SectionCutBoxX")
comp = doc.addObject("Part::Compound", "SectionCutCompound")
comp.Links = box
grp = doc.addObject("App::DocumentObjectGroup", "SectionCutX")
grp.addObject(comp)
doc.recompute()
2023-01-26 09:29:01 -07:00
Yorik van Havre 20695da6f7 Arch: Small fix in IFC exporter to adapt to post-0.20 changes 2023-01-26 15:17:29 +01:00
Uwe 64caea2073 modernize a for loop 2023-01-25 17:48:08 -07:00
Uwe 5f91493d49 [Part] SectionCutting: avoid to recompute all cuts on color change
- it is not necessary and speeds up the workflow for large assemblies
2023-01-25 17:48:08 -07:00
Uwe 1f6c1fcd0f [Part] fixes for the section cutting feature
- a typical use-case is to open a document with an existing cut and only this cut is visible. When now opening the section cutting tool, the user got the fault message that there were no visible objects to be cut.
- the transparency for the cut was not explicitly set. Therefore the default transparency for new objects was used instead of the transparency of the objects to be cut.
- workaround for a graphics issue: when cutting objects intersection each other (only then), the transparency setting might be ignored. The fix is simply to change the default color slightly (By the way, this issue is independent on the color that is set in the Part preferences as color for new objects, seems to be a graphics driver or OCC issue.)

- besides this, avoid code duplication by using a lambda function
2023-01-25 17:48:08 -07:00
Adrian Popescu f727945f1e Fix8228 warnings (#8262)
* Cleaned up Expression Completer
2023-01-26 00:19:05 +01:00
wmayer 0f694c3ae7 Gui: fix several compiler warnings 2023-01-25 23:05:29 +01:00
wmayer 9374155cfe Gui: improve formatation and use of curly braces 2023-01-25 23:05:29 +01:00
luzpaz 8d861e6abd Gui: fix trailing whitespace 2023-01-25 15:23:47 +01:00
mosfet80 144cdc9cb9 Delete src/Tools/encode directory
remove unused file and folder
2023-01-25 13:25:48 +01:00
Uwe 3ff301cd10 [CMake] improve comment about CMake limit 2023-01-24 21:44:19 -07:00
berniev 8c36e83ff2 Update minimum python version
https://wiki.freecadweb.org/FreeCAD_1.0_Development_Cycle
2023-01-24 21:43:45 -07:00
Adrian Popescu b853278296 Expressions: path auto-completion fixes (#8228)
PR #8228 consisted of the following:
* Added Documentation for the expression completer
* Working PATH completion
* Allow completes on trailing separator
* Fixed paths appearing with a . at first
* Chaining completions on enter
* Fixed Missing Separator and Document Completions
- fixed missing separator for contextual Properties (ConstraintsHeight instead of Constraints.Height)
- fixed retries on filename#objectname so that they work better
2023-01-24 14:57:59 -06:00
Andrew 15dad4542f remove deleted files in CMakeList 2023-01-24 08:40:43 -07:00
Andrew 61f9257034 remove unused dircoll.* files 2023-01-24 08:40:43 -07:00
mosfet80 bdc9c03597 Revert "Update CMakeLists.txt"
This reverts commit 10e8c98a189a4ecfb5a43b61d6c076682b324499.
2023-01-24 08:40:43 -07:00
mosfet80 7419a16690 Update CMakeLists.txt
Remove unused old files
2023-01-24 08:40:43 -07:00
mosfet80 21644f82aa Delete directory.h 2023-01-24 08:40:43 -07:00
mosfet80 07bbeb28c2 Delete directory.cpp 2023-01-24 08:40:43 -07:00
mosfet80 570250011b Delete basicentry.h 2023-01-24 08:40:43 -07:00
mosfet80 48dccfd004 Delete basicentry.cpp 2023-01-24 08:40:43 -07:00
Roy-043 b2e7d20795 Draft: fix gui_offset.py issue caused by PR8207 2023-01-24 15:02:38 +01:00
luzpaz 324dcc758e README: fix bugtracker link 2023-01-24 15:01:21 +01:00
berniev fef3e11326 bump cmake min version to 3.16.3 2023-01-23 22:02:27 -07:00
mosfet80 25acfeec62 Delete src/Tools/embedded/wxWidgets directory
Remove unused library
2023-01-23 21:59:46 -07:00
mosfet80 d47193f2a7 Delete zlib.CMakeLists.txt
remove unused Cmake file
2023-01-23 21:58:31 -07:00
luzpaz ca4adfa67d Stylesheets: convert indentations to spaces 2023-01-23 21:20:57 -07:00
Ajinkya Dahale 862bc58809 [Sketcher] Substitute knot tangent related constraints 2023-01-23 20:43:51 +01:00
luzpaz 23af228b87 Fix various indentation issues (tabs->spaces) 2023-01-23 16:59:28 +01:00
luzpaz 836835074e Navicube: convert indentations to spaces 2023-01-23 16:57:58 +01:00
luzpaz 50a0fd6777 Gui: convert indentations to spaces 2023-01-23 16:06:40 +01:00
luzpaz 62974cd4d5 PartDesign: convert indentations to spaces 2023-01-23 15:47:22 +01:00
luzpaz 2c3e6bd70a Sketcher: convert indentations to spaces 2023-01-23 15:46:49 +01:00
Uwe 600ce01ad3 [Draft] fix compilation after #8234 2023-01-23 15:29:04 +01:00
Roy-043 4c4972339f Draft: V0.18 VisGroups were not handled (#8234) 2023-01-23 11:27:52 +01:00
Yorik van Havre 166183e788 Merged crowdin translations 2023-01-23 11:25:49 +01:00
Yorik van Havre d3149de589 Updated ts files 2023-01-23 10:41:33 +01:00
luzpaz a42c526eec Arch: fix whitespace in ArchStructure.py 2023-01-22 20:27:55 -06:00
luzpaz edfc993b7f Fix various typos 2023-01-22 20:27:47 -06:00
luzpaz 729685316e Fix trailing whitespace, typos, headers
Fix trailing whitespace, typos, and header uniformity.
2023-01-23 00:34:37 +01:00
Uwe d6cccf2f96 [Sketch] Constraints.h: fix 2 compiler warnings
- the type change fixes this error: \src\Mod\Sketcher\App\planegcs\Constraints.cpp(509,54): warning C4267: '=': conversion from 'size_t' to 'unsigned int', possible loss of data
- the scone change removes a non-existing definition
2023-01-22 22:30:42 +01:00
luzpaz d8146c1db8 Spreadsheet: fix header uniformity
+ trailing whitespace
2023-01-22 21:46:17 +01:00
Jonas Bähr 2226d3a01b PD: Cleanup InvoluteGear's Task Panel Code
Use new-style connect syntax and drop a lot of copy&paste code by
generating the value-assigning signal handlers on the fly.
2023-01-22 21:44:03 +01:00
Jonas Bähr 4094e34ff2 PD: Add new props to InvoluteGear's task panel 2023-01-22 21:44:03 +01:00
Jonas Bähr 464c512e83 PD: Make involute gear's root fillet radius configurable
The original implementation always took 150% of the addendum/dedendum
difference as fillet radius. For a standard full-depth system this
results in a normalized value 0f 0.375, which is pretty close to the 0.38
definded by the basic ISO rack. However, when using much shorter teeth as
e.g. required for a splined shaft, the fillet becomes way too large.

In addition, I don't understand the approximation to calculate the
distance between the gear's center and the top of the fillet yet. It was
only refactored to allow the custom fillet radii, but it retuns the same
values as the original implementation.
However, with high pressure angles, up to 45° used for splines, this
approximation comes to its limits.
2023-01-22 21:44:03 +01:00
Jonas Bähr 37595da316 PD: Make the involute gear's toogh length configurable
Exposing the addednum and dedendum coefficients as properties allows to
change the tooth length above and below the pitch circle. This makes it
possible to use the profile beyond standard full-depth systems, e.g. for
stub tooths and most importantly: involute splined shafts and hubs.

Gear objets created with earlier versions automatically get the
additional properties on document restore. Its values match the hard-
coded values used in earlier versions.

There is a change when creating *new* internal gear profiles, though:
Previously, an addendum coefficient of 0.6 was used, presumably to reduce
the tip length beyond the base circle in order to avoid a non-involute
edge. This method is one proposal from the "Handbook of Gear Design" by
Gitin M. Maitra, as referenced in the original source code comments.

However, Maitra also states that this reduction of the anual gear's tip
in turn requires an enlagement of the mating gear of 1.25 instead of the
ordinary 1.0. And it is only required for a low numer of teeth and/or the
mating gear being quite large (less than 10 teeth in difference, to avoid
interferences).
Because those additional requirements and conditions have not been
implemented, the previously used values have been incomplete anyway. Thus
I decided to not implemented this special case and use the standard
values of 1.0/1.25 for newly created external and internal gears alike.
Internal gears need special care for other kind of interference anyway
and the newly exposed properties now allow to do so.

There is no entry in the task panel for those advanced properties yet.
2023-01-22 21:44:03 +01:00
Jonas Bähr d8118a4b11 PD: Refactor InvoluteGear's property creation
This is a pure refactor, without any change in visibile functionality.
However, the new structure allows easy addition of new properties without
breaking existing documents.
2023-01-22 21:44:03 +01:00
Jonas Bähr 647a2356b7 PD: Refactor InvoluteGear's Bezier Approximation
The goal of this refactor is to get rid of gear-specific knowledge from
the implementation and argument list. This is to remove the duplicate
definition of addenddum and dedendum that was hidden there.
2023-01-22 21:44:03 +01:00
Jonas Bähr 3933825840 PD: Add tests loading InvoluteGears created with v0.20
This is in preparation for new features, to ensure we don't break
existing documents created with FreeCAD-0.20.
The fixtures have been created with the official mac build of
FreeCAD-0.20.1 using mostly default parametrization -- only the number
of teeth has been reduced in order to keep the file size low.
2023-01-22 21:44:03 +01:00
Uwe d08e97a377 [Draft] attempt to fix CI error after 6173d48da7 2023-01-22 21:24:49 +01:00
luzpaz 937d226f4f ShowWB: fix header uniformity
Make headers uniform + remote trailing whitespace
2023-01-22 20:33:10 +01:00
luzpaz 0e67943ea3 Surface: fix header uniformity 2023-01-22 20:31:45 +01:00
luzpaz 5fa4482504 Draft: fix trailing whitespace 2023-01-22 20:26:40 +01:00
Roy-043 6173d48da7 Draft: housekeeping: remove temporary DraftFillet module (#8233) 2023-01-22 20:03:58 +01:00
Roy-043 d81f1f015e Draft: rotate.py: remove Placement.rotate() workaround (#8230) 2023-01-22 16:29:15 +01:00
Roy-043 6cf6299254 Draft: improve color handling in gui_setstyle.py (#8219)
Alhpa values of colors were not correct.
2023-01-22 11:18:17 +01:00
luzpaz d28d63b87b TechDraw: header uniformity + trailing whitespace 2023-01-21 20:11:08 -05:00
Ajinkya Dahale 40627b3ab2 [Sketcher] Do not filter out point-on-B-spline when trimming
Fixes #7770.

Until Point-on-B-spline is actually merged this will result in a malformed
constraint. It will however still allow a trim of the B-spline to result in a
coincident constraint.
2023-01-21 21:42:57 +01:00
Ajinkya Dahale dcd869bb5d [Sketcher][planegcs] Dynamically change piece in point-on-BSpline 2023-01-21 21:41:27 +01:00
Ajinkya Dahale 55334bbbc7 [Sketcher][planegcs] Refactor ConstraintPointOnBSpline 2023-01-21 21:41:27 +01:00
Ajinkya Dahale 038ce9ddba [Sketcher] [planegcs] Support point on NURBS
This change adds support for rational B-splines. Non-uniform b-splines already
supported.
2023-01-21 21:41:27 +01:00
Ajinkya Dahale 41d240c515 [Sketcher] Auto-constrain point on B-spline 2023-01-21 21:41:27 +01:00
Ajinkya Dahale 05295be7cd [Sketcher] Enable point-on-B-spline in Sketcher and GUI
Also squashes:

[Sketcher] Allow point on external B-spline
2023-01-21 21:41:27 +01:00
Ajinkya Dahale a034c40c38 [Sketcher] [planegcs] Add point-on-bspline constraint in planegcs
Only non-rational B-spline for now
2023-01-21 21:41:27 +01:00
Roy-043 e6eb208639 Draft: Fix and improve Draft_AnnotationStyleEditor (#8207)
* Draft: Fix and improve Draft_AnnotationStyleEditor

* Draft: Fix and improve Draft_AnnotationStyleEditor 2
2023-01-21 10:28:47 +01:00
luzpaz c4fa2e4a32 Fix trailing whitespace 2023-01-20 23:26:04 -06:00
luzpaz d765405bce README: remove lgtm badges
lgtm was sunset in Dec 2022. https://github.blog/2022-08-15-the-next-step-for-lgtm-com-github-code-scanning/
2023-01-20 23:24:07 -06:00
Roy-043 fb65b58007 Draft: Improvements related to #8081 (#8211)
DisplayMode of Text was not updated. Some houskeeping
2023-01-20 20:33:35 +01:00
Bernd Hahnebach 7e76bb4ab7 Arch: import ifc, workaround for merge materials if material colors have not been found on import 2023-01-20 15:52:55 +01:00
Bernd Hahnebach 57dae362e1 Arch: add missing import, fixes regression added with commit c7d0cf044c 2023-01-20 14:45:06 +01:00
Uwe 2b7de83150 .clang-format: revert two recent changes
- the option 'InsertBraces' might be helpful, however under MSVC it makes much more troubles as it helps: All the time the braces are either inserted in a wrong way or often only the opening brace.
Since we did not use this setting previously, this recent change can be safely reverted for now.

- the 'BeforeElse' change was obviously a mistake in the previous change. All the time we used a linebreak before an else
2023-01-20 03:24:02 +01:00
wandererfan 7fc59a68a0 [TD]fix crash on dim create on Mac 2023-01-19 13:21:12 -05:00
wandererfan 72df799770 [TD]apply tester feedback on DimRepair 2023-01-18 17:48:22 -05:00
wandererfan 79c5f417ab [TD]Ungroup dimension commands 2023-01-18 17:48:22 -05:00
LarryWoestman 58193d1e2f Path: Refactored PostUtilsParse.parse a lot. 2023-01-17 11:54:52 -08:00
Ajinkya Dahale 982152c332 [Sketcher] Add line tangent at knot through endpoint 2023-01-17 16:02:23 +01:00
Yorik van Havre 199ef42f62 Merged crowdin translations 2023-01-17 09:40:31 +01:00
Yorik van Havre 499bcd8f25 Merge pull request #8199 from Roy-043/Arch-ArchWindow.py-improve-invertHinge
Arch: ArchWindow.py improve invertHinge
2023-01-17 09:31:22 +01:00
Yorik van Havre 6662684e81 Merge pull request #8187 from paullee0/ArchStructure_1_Select-ArchSketch-Edges
[ArchStructure] ArchSketch Feature : Select Edges to build shape
2023-01-17 09:28:43 +01:00
Yorik van Havre 4641218403 Updated ts files 2023-01-17 09:24:46 +01:00
sliptonic a51026413d Merge pull request #8182 from vespakoen/opencamlib-support
Update opencamlib imports to support latest version
2023-01-16 16:50:59 -06:00
sliptonic 49e1f8a531 Merge pull request #8151 from LarryWoestman/staging
Path:  Added more tests and fixed some parameter handling, refactored axis and feed number formatting.
2023-01-16 16:33:47 -06:00
sliptonic f3bbd8ddce Merge pull request #8186 from mlampert/bugfix/issue-8185-deburr-offset-calculation
[Path] Bugfix/issue 8185 deburr offset calculation
2023-01-16 16:14:25 -06:00
sliptonic 22d03e7cea Merge pull request #8189 from 0penBrain/PathAdapTest
Path: fix bug in Path Gui tests
Thanks OpenBrain!
2023-01-16 15:11:08 -06:00
wandererfan 6f6315ac4c [TD]adjust font to prevent clipping of tall glyphs 2023-01-16 15:08:40 -05:00
wandererfan a4d824a9dd [TD]ANSI A&B templates 2023-01-16 15:08:40 -05:00
wandererfan 5800d9155b [TD]add ANSI Y14.5 compatible font
- also add osifont-italic
- update osifont to latest version
2023-01-16 15:08:40 -05:00
Ajinkya Dahale bbce4cb4c4 [Sketcher] Do not allow B-spline degree to be too high
...depending on number of poles (and periodic status).

NOTE: It is still possible to run the command in console with a higher degree.
2023-01-16 16:45:17 +01:00
Ajinkya Dahale acb42e4109 [Part] Limit periodic B-spline degree to number of poles
This leads to issues down the line in Sketcher. If there is a reason this should
be permitted within Part, then Sketcher needs to be adjusted.
2023-01-16 16:45:17 +01:00
Markus Lampert 96faf9fb5c Remove translation for h=/W= labels 2023-01-15 17:18:25 -08:00
Markus Lampert 39646e39e0 Fixed offset and depth calculation for Deburr op 2023-01-15 17:18:25 -08:00
Markus Lampert dfb08cda3f Renamed Deburr test suite 2023-01-15 17:18:25 -08:00
wmayer 32bbdb0ab2 FEM: move to new style connect() 2023-01-15 22:23:53 +01:00
Roy-043 ed8705088b Arch: ArchWindow.py improve invertHinge 2023-01-15 21:31:04 +01:00
wmayer a9b9899846 FEM: move to new style connect() 2023-01-15 19:50:46 +01:00
wmayer 12ed13ddbe PD: move to new style connect() 2023-01-15 14:27:33 +01:00
Roy-043 f7db685a28 Draft: gui_setstyle.py onApplyAnnot should check for doc (#8196) 2023-01-15 00:20:34 +01:00
Roy-043 0c1994e749 Draft: Update gui_setstyle.py and gui_utils.py (#8195) 2023-01-14 20:07:59 +01:00
Harald Hartmann f29109ea04 Merge branch 'master' into origin/PathAddEstlcamPP 2023-01-14 13:57:30 +01:00
Roy-043 ff80575244 Draft: Update Draft_SetStyle (#8190) 2023-01-14 13:54:16 +01:00
Roy-043 b9542289c5 Draft: Update gui_utils.py (#8191) 2023-01-14 13:53:38 +01:00
Harald Hartmann b7c55d355a add Estlcam postprocessor 2023-01-14 13:51:56 +01:00
0penBrain 81543911d4 Path: fix bug in Path Gui tests 2023-01-14 12:01:26 +01:00
Paul Lee 895ef542b7 [ArchStructure] ArchSketch Feature : Select Edges to build shape
Forum Discussion : [ArchSketch - Feature Preview] - Slab, Curtain Wall, ArchWall etc. on Same ArchSketch
- https://forum.freecadweb.org/viewtopic.php?f=23&t=73018
2023-01-14 17:37:39 +08:00
Uwe a9ed294765 [TD] remove unused Console include
- no longer used since #8180
2023-01-14 02:39:43 +01:00
Chris Hennes dc14285a4f CI: Don't encourage docstring on trivial functions
If a function is three or fewer lines long, it should be assumed to be self-explanatory (hopefully it has a good name!).
2023-01-13 14:06:03 -06:00
Koen Schmeets 9dd7fbe835 Update opencamlib imports to support latest version 2023-01-13 20:46:59 +01:00
wmayer 7ccee344c7 Sketcher: move to new style connect() 2023-01-13 20:17:53 +01:00
wmayer 3818dec66a Spreadsheet: move to new style connect() 2023-01-13 20:02:46 +01:00
Chris Hennes d6b3efc7a8 Addon Manager: Fix GUI unit tests
Eliminate all calls to terminate() when dealing with QThread.
2023-01-13 12:13:17 -06:00
Chris Hennes b933d46dcd Addon Manager: Set parent for most modals 2023-01-13 12:13:17 -06:00
wandererfan e1dc7bd94b [TD]reset sceneRect on Template change 2023-01-13 12:15:33 -05:00
wandererfan 271e3c6b8a [TD]Allow balloons to be attached to non-part views 2023-01-13 12:15:33 -05:00
wandererfan 12db3618df [TD]remove obsolete log messages 2023-01-13 12:15:33 -05:00
wmayer b57e5646f6 Part: move to new style connect() 2023-01-13 17:14:07 +01:00
wmayer 880d05cf3c Mesh: move to new style connect() 2023-01-13 16:30:58 +01:00
wmayer 7d65afdf59 Image: move to new style connect() 2023-01-13 16:03:16 +01:00
wmayer 2ff9ff02d7 Import: move to new style connect() 2023-01-13 15:58:56 +01:00
wmayer 70061abf77 Inspection: move to new style connect() 2023-01-13 15:57:18 +01:00
wmayer a621ad81f4 Robot: move to new style connect() 2023-01-13 15:46:45 +01:00
wmayer 9b5505fb34 Surface: move to new style connect() 2023-01-13 15:21:37 +01:00
wmayer 507a1f82bc Web: move to new style connect() 2023-01-13 15:14:29 +01:00
Ajinkya Dahale e47147ea37 [Sketcher] Prevent dereferencing nullptr in ConstraintView
Fixes #8104.

As described in that issue, a crash happens under the following
conditions:
1. A `DrawSketchHandler` is active.
2. No constraint is selected.
3. Context menu on the `ConstraintView` is triggered.
2023-01-13 15:06:39 +01:00
wmayer 8466b68400 Arch: [skip ci] fix typos 2023-01-13 13:30:59 +01:00
Yorik van Havre ca4d093f4c Merge pull request #8122 from Roy-043/Arch-improve-context-menus
Arch: improve context menus
2023-01-13 11:48:57 +01:00
Yorik van Havre e49d30a327 Merge pull request #8081 from Roy-043/Draft-Fix-inconsistent-properties-of-Draft-annotations
Draft: Fix inconsistent properties of Draft annotations
2023-01-13 11:47:00 +01:00
Yorik van Havre a653108bba [Draft] Add Units Selector to Status Bar 2023-01-13 11:41:55 +01:00
Roy-043 117b53d6ea Arch: improve context menus (rebase 2) 2023-01-12 23:10:43 +01:00
Roy-043 42a74daa19 Arch: improve context menus (rebase) 2023-01-12 22:54:09 +01:00
LarryWoestman 49249b8ed4 Path: Added more tests and fixed some parameter handling.
Refactored axis and feed number formatting.
       Used "with" for file writes, removed "pythonopen".
2023-01-12 13:33:43 -08:00
Roy-043 3388854cbc Arch: ArchSectionPlane should update SVG in execute (#8175) 2023-01-12 20:23:54 +01:00
wmayer ac81fad372 Gui: refactor TreeWidget::dropEvent 2023-01-12 19:40:59 +01:00
wmayer 5b1c781b8d Gui: [skip ci] fix some warnings reported by GH actions 2023-01-12 17:51:50 +01:00
wmayer ac94fb4a33 Gui: move to new style connect() 2023-01-12 17:40:20 +01:00
0penBrain ee00271d83 AddonMgr: switch pref entry/path to const string 2023-01-12 09:24:03 -07:00
wmayer 103de43a4e Gui: fix possible problems with new style connect
* In UIntSpinBox rename the signal to not overwrite the signal of the base class
* In UIntSpinBox use the (ambiguous) signal 'valueChanged' of the base class QSpinBox
* To avoid that connect() fails use the function pointer of the Qt class where the signal is defined
2023-01-12 17:02:59 +01:00
Roy-043 19d624396f Draft: housekeeping: indentation gui_snapper.py
As mentioned here: #8172
2023-01-12 16:04:31 +01:00
Roy-043 dec88420bf Draft: Properly remove Snap toolbar when switching workbenches (#8172) 2023-01-12 15:29:21 +01:00
Roy-043 d9144213c2 Arch: fix ArchSectionPlane getSceneGraph problem (#8171) 2023-01-12 15:28:00 +01:00
Uwe ed995b5a15 [Gui] modernize some connect() settings
- addresses #6166
2023-01-12 15:13:16 +01:00
luzpaz 92398f94e3 Spreadsheet: [skip ci] convert tabs to spaces
Minor housekeeping fix
2023-01-12 14:08:33 +01:00
Roy-043 69efdc016f Draft: improve wires.isReallyClosed (#8167) 2023-01-12 10:25:48 +01:00
Roy-043 fb1ed8f5e4 Draft: improve offsets.offsetWire (#8166) 2023-01-12 10:25:11 +01:00
Uwe 4091db4739 [skip ci] [Gui] ExpressionCompleter: fix a typo
- found by the CI
2023-01-12 04:20:40 +01:00
wmayer 079bdc64b1 Gui: change custom message handler to show Qt warnings and errors also in Release mode 2023-01-11 17:48:13 +01:00
wmayer 28c757bc12 Gui: [skip ci] print warning in getViewProviderByPath, getViewProviderByPathFromTail, getViewProvidersOfType if for View3DInventorViewer no document is set
This gives the client programmer a clue if one of the mentioned methods fails
2023-01-10 17:46:05 +01:00
wmayer 406034f3ca Gui: add method setDocumentOfViewers and set documents of viewers in constructor of SplitView3DInventor 2023-01-10 17:23:48 +01:00
sliptonic 5284d9c886 Merge pull request #8146 from sliptonic/bug/threadmilling
[Path] fix bug with threadmilling collision
2023-01-10 08:05:42 -06:00
Jakub Świerk a334206ca7 Updated ts files 2023-01-10 13:46:33 +01:00
Jakub Świerk 09c00c5155 Gui: Removed unused method. 2023-01-10 13:46:33 +01:00
Jakub Świerk d3300d1fc0 GUI: Removed Std_ArrangeIcons command. 2023-01-10 13:46:33 +01:00
luzpaz 2d6a768a6b README: update bugtracker related links and info
Link to github instead of mantis.  
Update links on how to submit bugs + feature requests  
Add link to CONTRIBUTING.md
2023-01-10 13:08:54 +01:00
Chris Hennes 8e38c47d7a Addon Manager: Fix bug in ZIP isntallation 2023-01-09 19:35:18 -06:00
sliptonic eb4bf66425 Remove check for internal as well 2023-01-09 10:46:55 -06:00
sliptonic 297389acae Merge pull request #8145 from sliptonic/bug/7600
[Path] use correct widgets in task panel Fix #7600
2023-01-09 10:28:50 -06:00
Abdullah Tahiri 7fcee31c07 Part/Sketcher: Geometry/Geometry facade pass by const-reference instead of by value 2023-01-09 17:13:26 +01:00
Abdullah Tahiri b7945b6a15 Sketcher: Do not mark as fully constrained sketches that do not converge
=======================================================================

In uncommon situations, the analysis of QR decomposition leads to full rank, but the result does not converge.

We avoid marking a sketch as fully constrained when no convergence is achieved.
2023-01-09 17:11:14 +01:00
Uwe 1ddd8b8a92 [skip ci] [TD] fix a typo as reported by the CI 2023-01-09 15:47:40 +01:00
berniev ae1911e038 improved clang-format 2023-01-09 09:17:47 -05:00
luzpaz 1476fdcece Increment year in copyright notice (2023) (#8156)
* Increment year in copyright notice
2023-01-09 14:59:37 +01:00
Uwe f8db7e9187 [TD] remove unused headers (#8155)
* [TD] remove unused headers

- also some sorting
- also improve readability by not using an abbreviation (we consistently don't abbreviate class names)
2023-01-09 14:55:22 +01:00
Yorik van Havre 3a8fcb53ec Merged crowdin translations 2023-01-09 14:06:28 +01:00
Yorik van Havre 0439b4dca9 Updated ts files 2023-01-09 13:24:16 +01:00
Uwe 3c610a6c61 [TD] final fix of compilation after #8141
- in DimensionValidators.h the declarations must not be with TechDrawExport
- add missing precompiled headers

- also fix too long lines (fixed by clang)
- also some re-sorting
- also remove unused headers
2023-01-09 12:48:15 +01:00
Uwe ce4a916875 [TD] minor fixes
- typos and code formatting as reported by the CI
- some more re-sorting
2023-01-09 12:02:50 +01:00
wmayer a963ca5f8c TD: fixes #8144: TD crash 2023-01-09 11:43:14 +01:00
wmayer d159b97cae CMake: fix linking error in test function when linking Python statically 2023-01-09 11:41:22 +01:00
Uwe e42f46a47b [TD] attempt to fix compilation with PCH after #8141
- also resort includes
2023-01-09 11:26:51 +01:00
wandererfan a1e295e92d [TD]fix loss of precision in view direction 2023-01-08 17:50:49 -05:00
wandererfan e82cf08991 [TD]fix dimension retains light on dark colour 2023-01-08 17:50:49 -05:00
sliptonic 777ebad2d0 fix bug with collision 2023-01-08 14:02:33 -06:00
sliptonic 65006d1f47 use correct widgets in task panel 2023-01-08 12:05:34 -06:00
wandererfan 664b2560ad [TD]fix wrong calculation of 3d two edge angle 2023-01-07 16:32:03 -05:00
wandererfan 63be8da664 [TD]fix exception on empty list during restore 2023-01-07 16:32:03 -05:00
wandererfan 17554e29f1 [TD]fix issues reported by 3d dimension testers
- correct interpretation of True vs Projected

- handle long subelement names in references

- fix "too small" value condition

- better error messages for bad dimension geometry
2023-01-07 16:32:03 -05:00
wandererfan 1b547dff72 [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 aeeb62d204 [Measure]fix angle returns supplementary value 2023-01-07 16:32:03 -05:00
luzpaz e5b258610b Crowdin: [skip ci] fix string in Arch/ArchSite.py
Props to david69 https://crowdin.com/translate/freecad/6766/en-fr#6604817
2023-01-07 20:08:28 +01:00
luzpaz 077f5bdd40 Crowdin: fix string in Arch/ArchStairs.py
Props to david69 in https://crowdin.com/translate/freecad/6766/en-fr#6605247:drl:44875:david69
2023-01-07 20:07:57 +01:00
Abdullah Tahiri aa67808f24 GCS: Improvements to popularity contest and conflicting identification
======================================================================

1. Instead of excluding internal alignment constraints from popularity candidate selection, exclude them from the group altogether. This
ensures no group is non-empty with uneligible candidates, which prevents an infinite loop in uncommon circumnstances (when DoFs collapse).

2. Ensure no internal alignment constraint is identified when conflict ensues.
2023-01-06 13:49:56 -06:00
wmayer 5995556b08 [skip ci] fix typos 2023-01-06 18:16:50 +01:00
Zheng, Lei 7164674cb4 Base/App/Gui: force using Base::Handle for ParameterManager
For reference counting
2023-01-06 09:14:41 -06:00
sliptonic 8133e9157e Merge pull request #8133 from sliptonic/feature/partialedgedrilling
Fix for Partial edge drilling Fixes 8131
2023-01-06 08:19:29 -06:00
wmayer c18adc2cee Gui: fix activating of MDI views via menu commands 2023-01-06 14:42:29 +01:00
sliptonic 2428520b9a Fix for Partial edge drilling Fixes 8131 2023-01-05 17:35:08 -06:00
wmayer 620aaac90d TD: [skip ci] fix -Winconsistent-missing-override 2023-01-05 11:14:30 +01:00
Uwe b2ab8edba4 [TD] fix compilation with PCH after d63ac0f7
- also add includes to QtAll
2023-01-05 00:50:32 +01:00
Ajinkya Dahale c6b4e5cfe8 [Sketcher] Delete check for OCC >= 6.9.0
The oldest version we plan to support is 7.0.0. See
https://forum.freecadweb.org/viewtopic.php?f=10&p=650487#p650487.
2023-01-05 00:27:01 +01:00
wmayer 8715297c1b Part: move to new-style connect of DlgPrimitives dialog 2023-01-04 13:06:26 +01:00
Chris Hennes 5de57b4cc5 Addon Manager: Fix macro installer bug
Also some minor tweaks to the GUI unit testing.
2023-01-03 20:19:41 -06:00
wandererfan d63ac0f7f6 [TD]add light text on dark page mode
- some visually impaired users need white graphics on
  dark page.

- revise Annotation dialog to respect dark style
2023-01-03 17:41:33 -05:00
wmayer ed8e45ac9b Part: move to new-style connect of DlgPrimitives dialog to make it also working with Qt6 2023-01-03 17:09:49 +01:00
sliptonic 3cb3c04fc1 Merge pull request #7826 from LarryWoestman/staging
Path:  Incorporating feedback from code reviews
2023-01-03 09:18:51 -06:00
wmayer 589bcd16f1 Part: refactor DlgPrimitives dialog 2023-01-03 15:53:12 +01:00
wmayer bb566c7777 Base: add overloaded method isIdentity() to Rotation and Placement that accepts a tolerance 2023-01-03 10:54:47 +01:00
Chris Hennes 2f3baa0336 Addon Manager: Modify dialog closing during tests 2023-01-02 15:09:01 -06:00
wandererfan d1cf5f9c88 [TD]fix Win link error in ViewProvider extensions 2023-01-02 13:49:50 -05:00
wmayer 9498691ea8 App: fix failure to detect cyclic dependencies on expressions
See also forum thread: https://forum.freecadweb.org/viewtopic.php?f=3&t=74331
2023-01-02 16:36:10 +01:00
wmayer 0566ba0a9e Core: fixes #8119: Make axis values in Property view persistent 2023-01-02 12:48:40 +01:00
wmayer 0c841d8074 Gui: [skip ci] move to new-style connect in Placement dialog 2023-01-02 10:42:12 +01:00
wmayer f8827198ee PD: fix crash in TaskRevolutionParameters::fillAxisCombo
* Replacing the static_cast with a dynamic_cast in 2aa232bef9 is a regression because it cannot be guaranteed that the linked object is a sketch.
  In fact it can also be a shape binder which is explicitly allowed.
  Forum: https://forum.freecadweb.org/viewtopic.php?f=19&t=74939
* Move initialization of some variables into the if-statement
2023-01-02 09:49:27 +01:00
wmayer fe499642ca Web: switch to new-style connect in order to find failures with Qt6 2023-01-02 00:35:37 +01:00
wmayer fd7c7f35cf Gui: Use shiboken6 & PySide6 API 2023-01-01 19:06:06 +01:00
wmayer f565fa2f7a Gui: refactor PythonWrapper 2023-01-01 17:42:25 +01:00
Yorik van Havre 780d8416e2 Adding info to hand over the copyright to the FPA 2023-01-01 11:01:06 -05:00
wmayer 6358ad1717 Gui: refactor PythonWrapper 2023-01-01 16:35:12 +01:00
wmayer 102e89988a Gui: switch to new-style connect in order to find build failures with Qt6 2023-01-01 12:40:07 +01:00
wmayer f53d635f20 Addon-Manager: [skip ci] get rid of some explicit PySide2 imports 2023-01-01 11:42:39 +01:00
wmayer ad1663245b PySide: [skip ci] fix typo 2023-01-01 11:01:13 +01:00
wmayer f26bf54876 PySide: in PySide6 QWebEnginePage has been moved to QtWebEngineCore 2023-01-01 10:31:13 +01:00
wmayer 3e58513c24 Mod: fix some compiler warnings:
* QString::indexOf() is now marked as [[nodiscard]]
* QApplication::fontMetrics() is deprecated, use the constructor of QFontMetricsF
* fix -Wunused-result
* fix -Wunused-but-set-variable
2022-12-31 21:54:45 +01:00
wmayer fec35dfdc5 Gui: QVariant::Type is deprecated, use QMetaType::Type 2022-12-31 21:54:45 +01:00
wmayer 315ddaf75d Image: fix deprecation warnings 2022-12-31 21:54:45 +01:00
wmayer 4bd0d20812 Raytracing: QString::indexOf is now marked as [[nodiscard]] 2022-12-31 21:54:45 +01:00
wmayer 81d2361d9f Gui: Qt6 port
* QString::indexOf() is now marked as [[nodiscard]]
* Replace deprecated methods of QMessageBox
* QMouseEvent::globalPos() is deprecated, use globalPosition().toPoint()
* QWidget::enterEvent() requires a QEnterEvent as argument
* QLibraryInfo::location() is deprecated, use path()
* QVariant::Type is deprecated, use QMetaType::Type
* QVariant::canConvert(int) is deprecated, use QVariant::canConvert(QMetaType) or QVariant::canConvert<T>()
* QMessageBox::standardIcon is deprecated, use QStyle::standardIcon()
* Replace deprecated method QMessageBox::question(), ...
* QApplication::fontMetrics() is deprecated
* QDropEvent::mouseButtons() is deprecated, use buttons()
* QDropEvent::keyboardModifiers() is deprecated, use modifiers()
* Constructor of QFontDatabase is deprecated, use static methods instead
* Qt::AA_DisableHighDpiScaling is deprecated
* Qt::AA_EnableHighDpiScaling is deprecated
* Qt::AA_UseHighDpiPixmaps is deprecated
2022-12-31 21:54:45 +01:00
LarryWoestman b5a41d9a68 Path: Reformatted to a line length of 88 using black.
Incorporating feedback; now using f-strings all over.
           Incorporating changes from feedback.
           Incorporated more refactoring feedback.
           Changes for Path refactoring.
2022-12-31 09:20:51 -08:00
sliptonic 588620fd9f Merge pull request #7962 from luvtofish/master
path: dynapath delta 40-60 post processor add
2022-12-31 10:26:44 -06:00
sliptonic 529ac7bb33 Merge pull request #8088 from mlampert/bugfix/8087-dont-load-project-files-unless-tests-are-run
[Path] bugfix/8087-dont-load-project-files-unless-tests-are-run fixes #8087
2022-12-31 10:24:29 -06:00
wmayer 5e408445be Gui: expose Document::save()/saveAs() to Python 2022-12-31 13:01:20 +01:00
wmayer 178eb1dd84 Base: fix and refactor Tools::getUniqueName 2022-12-31 00:18:59 +01:00
wmayer 2e022d8e0b Test: [skip ci] simplify and add more tests 2022-12-31 00:17:37 +01:00
wmayer 9ab8685508 Base: [skip ci] if array of reserved names is empty then return the suggested name in Base::Tools::getUniqueName 2022-12-30 16:35:52 +01:00
wmayer a89d7b7355 Test: [skip ci] add tests for Base::Tools::getUniqueName 2022-12-30 16:07:26 +01:00
Roy-043 fe02d63c8c Draft: update inspect.getargspec to inspect.getfullargspec (#8101) 2022-12-29 23:20:38 +01:00
Chris Hennes 092be23d89 OpenSCAD: Minor translation issue [skip ci] 2022-12-28 23:33:54 -06:00
Chris Hennes f7783ea409 Addon Manager: Minor translation issue [skip ci] 2022-12-28 23:33:27 -06:00
wmayer e69e7ef08a TD: [skip ci] fix possible crash in ViewProviderViewPart::onChanged 2022-12-28 21:17:23 +01:00
wandererfan af3c057f99 [TD]make detail highlight interactive
- drag detail highlight to change detail anchor point
- change detail reference position using HighlightAdjust property
2022-12-28 09:41:44 -05:00
lorenz 8b0df1dc93 FEM: femmesh: fix AttributeError: module 'numpy' has no attribute 'int' 2022-12-28 12:07:51 +01:00
Chris Hennes 8997802ce9 GUI: Minor translation issues 2022-12-27 21:44:11 -06:00
Chris Hennes dfb5cf006d Image: Minor translation issue [skip ci] 2022-12-27 21:34:20 -06:00
Chris Hennes cc086782b5 OpenSCAD: Minor translation fixes 2022-12-27 21:30:34 -06:00
Chris Hennes 6bad9eda59 Addon Manager: Minor translation fixes 2022-12-27 21:04:32 -06:00
wandererfan da06fc45a2 [TD]add extensions for drag and drop 2022-12-27 19:43:44 -05:00
Yorik van Havre 7ce5c2dcf4 Merge pull request #8090 from jimzim111/master
DRAFT: Make "draftify" type upgrades return the new object
2022-12-27 16:05:42 +01:00
wmayer c26a4c7978 PD: fixes #7791: Linear Pattern With Single Occurrence Fails 2022-12-27 14:29:16 +01:00
jim e88b2cbead Make upgrades of type "draftify" return the new object (like the other
upgrade types do)
2022-12-26 13:32:26 -08:00
wandererfan 14994bd9f7 [TD]remove debug statements 2022-12-26 12:13:34 -05:00
wandererfan d7a9f44f20 [TD]fix startup exception on empty compound 2022-12-26 12:13:34 -05:00
Markus Lampert 6074bbdf86 Moved test file opening into instance methods so they don't get loaded unless used. 2022-12-25 17:43:00 -08:00
Adrián Insaurralde Avalos 8b85903dff Adjust Startpage version info to new format
due to the changes from 9869a2c3d7
2022-12-25 14:52:45 +01:00
wmayer c9b5cc20ec Test: [skip ci] write results to stdout 2022-12-25 14:28:42 +01:00
Ajinkya Dahale 63a2855751 [Sketcher] Disallow tangent-at-knot for non-line in solver
This is already stopped in the GUI, but this is still possible by passing the
curve IDs through the console.
2022-12-24 18:22:16 -06:00
Ajinkya Dahale e8838b8ef5 [Sketcher] Disallow tangent at knot with non-line in GUI 2022-12-24 18:22:16 -06:00
Abdullah Tahiri 8d33584eee Sketcher: Avoid trying to lock tangency for tangency at knot point constraint 2022-12-24 18:22:16 -06:00
Abdullah Tahiri 442851f308 Sketcher: Add convenience method to check for internal alignment type 2022-12-24 18:22:16 -06:00
Ajinkya Dahale 3bccd6686a [Sketcher] Do not use TangentViaPoint for tangent-at-knot 2022-12-24 18:22:16 -06:00
Abdullah Tahiri 389aaeb138 [Sketcher] Separate line-tangent-at-knot from angle-at-point
The latter is intended for a specific solver constraint.

[Sketcher] Make further changes for tangent-at-knot separation

1. Remove code for tangent-at-knot from `addAngleAtPointConstraint`.
2. Use correct order of input.
3. Separate internal C0 knot vs end knots. The latter can still be constrained
but the user must use endpoints of the spline instead of knots.
2022-12-24 18:22:16 -06:00
Abdullah Tahiri a199afad5f Sketcher: Solver - add map for Internal Alignment geometry 2022-12-24 18:22:16 -06:00
Ajinkya Dahale dd64ab8ea0 [Sketcher][planegcs] Make changes as per review on #7484
Similar to 2715a66ff02a46f94ae3fc6527fd446e666b8e58.

Added some comments and removed some TODO's.

Return grad values directly rather than doing summation.
2022-12-24 18:22:16 -06:00
Ajinkya Dahale 58b26788be [Sketcher][planegcs] Use only line direction in tangent-at-knot
This discourages reducing the size of the line when it is more normal than
tangent.
2022-12-24 18:22:16 -06:00
Ajinkya Dahale 83a9ea78a7 [Sketcher][planegcs] Fix tangent at knot for C1 knots 2022-12-24 18:22:16 -06:00
Ajinkya Dahale dd02c7a6f3 [Sketcher][planegcs] Handle type issues with int and size_t
... and `unsigned int`

Suggestions thanks to @abdullahtahiriyo
2022-12-24 18:22:16 -06:00
Ajinkya Dahale a609bce527 [Sketcher] Use tangent at B-spline knot constraint
Also squashes:

[Sketcher] Make tangent-at-knot with just knot and line

[Sketcher] Disallow tangent at C0 knot

If passed on to planegcs can cause segmentation fault.

[Sketcher] (Re-)Support tangent at B-spline end-knots

New code had introduced problems for non-periodic spline end-points, and
periodic spline "end-points" were not supported anyway.

(here end-points mean star/end points)
2022-12-24 18:22:16 -06:00
Ajinkya Dahale 56b19515b6 [Sketcher] [planegcs] Add "tangent at b-spline knot" constraint
Also squashes:

[Sketcher] [planegcs] Support tangent at NURBS knot

...which means support rational B-splines
2022-12-24 18:22:16 -06:00
Ajinkya Dahale 076232a67a [Sketcher] [planegcs] Calculate value at general b-spline 2022-12-24 18:22:16 -06:00
Ajinkya Dahale d68ac06b01 [Sketcher] [planegcs] Evaluate lower degree B-spline factors 2022-12-24 18:22:16 -06:00
wmayer 3c709f31df Gui: make unit tests working from command line if Gui is up 2022-12-24 19:13:40 +01:00
Ajinkya Dahale 1e7edb46e4 [Sketcher] Fix typo 2022-12-24 16:02:52 +01:00
luvtofish 0289e3ae52 Fixed some misspelling in comments. 2022-12-23 18:13:01 -06:00
Roy-043 6995af39bf MeshPart: Fix translation issues 2022-12-23 19:07:46 +01:00
wmayer 1e49c84f6c App: [skip ci] reduce code duplication 2022-12-23 18:39:59 +01:00
wmayer aff217b214 App: remove dead code and simplify code 2022-12-23 17:02:04 +01:00
Roy-043 34f43a245c Draft: Fix inconsistent properties of Draft annotations 2022-12-23 16:49:56 +01:00
wmayer f9718ded22 Gui: [skip ci] fix incorrect tool tip 2022-12-23 14:35:58 +01:00
wmayer af33cdabe5 Surface: fix crash when canceling filling dialog 2022-12-23 11:56:00 +01:00
Yorik van Havre 5915e75204 Merge pull request #7970 from Roy-043/Draft-improve-context-menus
Draft: improve context menus
2022-12-23 11:23:33 +01:00
Uwe 46927fa897 [Part] ViewProvider.cpp: add include needed for Qt 6
- as reported in #8053, QObject has to be included to be able to compile with Qt 6
2022-12-23 01:54:36 +01:00
wmayer b8d2a88102 Gui: fix several warnings reported by GH actions 2022-12-22 20:26:39 +01:00
wmayer a58ede8b9a Points: support of surface normals and fix handling with intensity 2022-12-22 20:17:49 +01:00
wmayer 3e576c3bca Points: refactor E57Reader 2022-12-22 19:14:38 +01:00
luvtofish 660f63557b Added multiple comments 2022-12-22 12:13:44 -06:00
wmayer eb31752998 Gui: [skip ci] move widget() handling to MDIViewPyWrapImp 2022-12-22 16:48:41 +01:00
wmayer 53e93c4363 Gui: include header for QPrinter 2022-12-22 16:28:01 +01:00
wmayer c1d77ee7c6 Gui: support of MDI views written in Python that implements onMsg() or onHasMsg(): fixes #8071 2022-12-22 16:20:37 +01:00
wmayer caa7eb36f9 Gui: support of QPrintSupport module in PythonWrapper 2022-12-22 16:18:18 +01:00
wmayer 1e02e70d38 Gui: default implementation of MDIView::print(), MDIView::printPdf() and MDIView::printPreview() 2022-12-22 16:17:29 +01:00
Yorik van Havre 8890f229ba Regenerated ts files using lupdate6.6 2022-12-22 15:39:42 +01:00
Yorik van Havre ec12763278 Fixed ts files 2022-12-22 13:34:31 +01:00
Yorik van Havre 0aee65e465 Tools: Fixed updatets script not picking py files 2022-12-22 13:34:31 +01:00
wmayer 7d221f10c1 Gui: [skip ci] fix build failure due to missing include 2022-12-22 11:01:23 +01:00
Yorik van Havre 7081615c29 Tools: Fixed minor bug in updatets 2022-12-22 10:34:34 +01:00
Yorik van Havre 2ed5291a48 Merge pull request #8073 from chennes/startMacroIcon
Start: Add icon for FCMacro files
2022-12-22 10:21:54 +01:00
Abdullah Tahiri 90f1f4732e Solver: Pass map by const reference to avoid performance penalty
================================================================

Credit goes for forum user acolomitchi:

https://forum.freecadweb.org/viewtopic.php?p=648807#p648807
2022-12-22 06:26:17 +01:00
Chris Hennes 9a0e50fbad Start: Add icon for FCMacro files
Closes #7709
2022-12-21 22:51:02 -06:00
Uwe 0ab2608a42 [Tux] fix orbit style display
- calling GetInt several times makes problems - on some PCs there is no orbit selected, on some always the same
- furthermore the action order matters
- also remove an unnecessary function call
2022-12-22 03:07:03 +01:00
Abdullah Tahiri a01d336ac3 Sketcher: Split - remove unnecessary return after exception 2022-12-21 16:01:23 +01:00
Ajinkya Dahale 13a64d60ea [Sketcher] Handle exception in Python while splitting
`SketchObject::split` only appears to throw `ValueError`.
2022-12-21 16:01:23 +01:00
Ajinkya Dahale 82633fb5df [Sketcher] Handle split curve corner case
It is possible to ask for splitting at an end point of the curve. This leads to
a `CADKernelError` and leaves us with a "hanging" clone. This check prevents that.
2022-12-21 16:01:23 +01:00
Abdullah Tahiri 7d8e31041c Sketcher: Split functionality fixes
===================================

Changes from naked pointers to smart pointers are motivated to the use of functions that can reasonably throw under certain circumnstances (such as trim).

When introducing smart pointers, it is not necessary to explicitly delete the new geometry array at the end of the function.

When using the new facility to add a smart pointer geometry (previous commit), the copies generated in the split algorithm can be reused, which renders
keeping track of the new geometry for memory management unnecessary.

As geometry is added to the property which each call to addGeometry, the stored newIds can be reused if access is necessary to geometry pointers afterwards
(e.g. for constraint management).
2022-12-21 16:01:23 +01:00
Abdullah Tahiri 863d53ab88 Sketcher: SketchObject new addGeometry method for smart pointers
================================================================

This new facility avoids to have to create a new copy() when a user copy is already created.

As the user copy is reused via move semantics, memory management is simplified.

CAVEAT: When this facility is used, the client code has to ensure whether a copy() or a clone() of the Part::Geometry
should be undertaken. The different between both is that the former creates a new uuid (tag), whereas the latter does not.
2022-12-21 16:01:23 +01:00
Abdullah Tahiri c6a1644c1c Part: Geometry
==============

End parameter must be strictly higher to require a wrap.

Settling discussion:
https://github.com/FreeCAD/FreeCAD/pull/6971#discussion_r917295684
2022-12-21 16:01:23 +01:00
Ajinkya Dahale cbf40d528b [Sketcher] Support splitting B-splines at knots 2022-12-21 16:01:23 +01:00
Ajinkya Dahale 6c8cb8e58d [Sketcher] Refactor SketchObject::split() for code reuse
This provides some manageability with increasing supported curves.
2022-12-21 16:01:23 +01:00
Ajinkya Dahale 87f5cc327a [Sketcher] Support splitting ellipses 2022-12-21 16:01:23 +01:00
Ajinkya Dahale 9034a37aa7 [Sketcher] Support splitting arcs of conics
This commit also squashes:

[Sketcher] Remove redundant geometry type check

(Arc of) a circle is (an arc of) a conic.
2022-12-21 16:01:23 +01:00
Ajinkya Dahale 5d32faedae [Sketcher] Support splitting arcs of ellipses 2022-12-21 16:01:23 +01:00
Ajinkya Dahale 062450be1b [Sketcher] Support splitting b-splines 2022-12-21 16:01:23 +01:00
Ajinkya Dahale b937ca35d4 [Part] Fix periodic b-spline trim
When `v == u` we want to "break" the b-spline at `u` (also OCC will raise an
exception if same parameter is provided).

The range of parameter can in general be different than 1.0, so use a general term.
2022-12-21 16:01:23 +01:00
Abdullah Tahiri ff598a058a Sketcher: Use new critical message mechanism to notify parabola migration
=========================================================================

A migrated parabola cannot be openned with a previous version of FreeCAD. The user is notified upfront.
2022-12-21 16:01:23 +01:00
Abdullah Tahiri bcc65d2fbb Gui: Handle user notifications
==============================

This commit provides specific behaviour on how to handle user messages signalled by App::Document for the different types of notifications.

For critical messages DURING a user initiated restore (i.e. only if the user clicked in the UI, not applicable for macros or Python initiated):
- The first critical message during restore requires user confirmation by clicking a button in a modal dialog box. The user has the choice to
request to be asked for confirmation for any subsequent critical message during restore or to forgo confirmation.
- If he chooses to forgo confirmation, subsequent critical messages are shown as auto-closing non-modal dialogs in a non-intrusive way. The user
can continue working while this information is shown. There is a maximum of auto-closing non-modal dialgos that can be enqueued. Over this maximum,
A warning pop up indicates this situation, referring to the Report View. No further auto-closing messages are enqueued until all existing messages
have disappeared. This is done to prevent overwhelming the user with notifications in cases where malfunction causes too many notifications to be
generated.

For any type of message OUTSIDE a user initiated restore:
- Messages are shown as non-intrusive non-modal auto-closing messages (it is not possible to generate modal/blocking messages outside a user
initiated restore).
- Messages are enqueued respecting a limit as above.
2022-12-21 16:01:23 +01:00
Abdullah Tahiri 8b36a2780b App: New signal to notify user messages
=======================================

Document provides a new functionality, to signal subscribed user code of messages intended for the user.

The main motivation is critical messages of broken forward compatibility during restoring a document into a new version of FreeCAD.
However, the framework may be used in many other ways.
2022-12-21 16:01:23 +01:00
Abdullah Tahiri 793a70b0e2 Gui: Set status bit when restoring is initiated by the user from the UI 2022-12-21 16:01:23 +01:00
Abdullah Tahiri 6cb616aeb8 Gui:: Application - user initiated restore status bit
=====================================================

Add Status bits. Currently only to mark whether an UI operation of restore was initiated by the user (via click in the open dialog or in the hyperlink of the shortcuts of the home page).
2022-12-21 16:01:23 +01:00
Abdullah Tahiri b2d42ba5f2 Sketcher: Automatic migration of parabola axis to internal geometry 2022-12-21 16:01:23 +01:00
Abdullah Tahiri 01013bc411 Sketcher: Make parabola axis to be internal alignment 2022-12-21 16:01:23 +01:00
wmayer f0a4ec8240 Points: fixes #7924: Pointcloud import anomalies 2022-12-21 13:05:16 +01:00
wandererfan d91edafa62 [TD]fix expression in Scale fails to propagate 2022-12-20 19:08:36 -05:00
wmayer 6d535f834d Surface: use a single button group for all task boxes 2022-12-20 19:17:10 +01:00
wmayer e8cba4dda9 Surface: add external enumerators 2022-12-20 19:17:10 +01:00
Chris Hennes 4db688771a Addon Manager: Fix test language dependency
Fixes #8065
2022-12-20 10:34:16 -06:00
sliptonic fd35950ec8 Merge pull request #8063 from sliptonic/py27cleanup
Fixes #7834  Removes deprecated py2.7 try/except block
2022-12-20 09:34:28 -06:00
wmayer c8dd58fc20 Surface: remove unneeded includes 2022-12-20 16:22:59 +01:00
Ajinkya Dahale f0f72d9ce3 [Surface] Allow modal adding/removal of geometric entities 2022-12-20 15:42:46 +01:00
Yorik van Havre b5c5d0af95 Merged crowdin translations 2022-12-20 10:01:00 +01:00
Yorik van Havre a95b7dc4b5 Updated ts files 2022-12-20 09:31:25 +01:00
Uwe 8b6797e1d6 [Gui] fix bug from #8048
- the submenu ordering must be coherent to the one in the preferences combobox otherwise one gets the wrong orbit style displayed in the preferences dialog
2022-12-20 03:43:33 +01:00
Uwe 83a7c57b68 [skip ci] [Gui] change default navigation orbit style back to trackball 2022-12-20 03:35:24 +01:00
Nabos 9cda82cf20 Gui: Added FreeTurntable orbit style (#8048)
* Added FreeTurntable orbit style
2022-12-20 03:21:46 +01:00
Uwe 6b5e015f94 [skip ci] [Mesh] add comment for boost 2022-12-20 02:56:10 +01:00
wmayer 12a05747c4 MeshPart: [skip ci] fix some issues reported by GH actions 2022-12-19 22:28:34 +01:00
sliptonic 9a6bb7aaa6 Fixes #7834
remove deprecated python 2.7 code
2022-12-19 15:07:14 -06:00
wmayer 70a85872a9 MeshPart: include boost python headers only where required 2022-12-19 21:49:42 +01:00
wmayer 5df04f51ce Win: [skip ci] define NOMINMAX before including Windows.h to avoid name collision with std::min/std::max 2022-12-19 20:17:08 +01:00
wmayer 8897cb2f79 App: [skip ci] improve error message 2022-12-19 17:08:26 +01:00
wmayer ae39b31813 App: when using Yaw, Pitch or Roll angle in expressions make sure that they are in range 2022-12-19 14:48:30 +01:00
wmayer e171a1f6e1 Gui: enable range check in QuantitySpinBox when opening expression editor 2022-12-19 14:46:31 +01:00
wmayer d7957531f2 Gui: enable range check in QuantitySpinBox when opening expression editor 2022-12-19 13:48:26 +01:00
wmayer 9cc78c4d9e Gui: support of range checks in DlgExpressionInput 2022-12-19 13:47:15 +01:00
Chris Hennes 5f45b00078 AddonManager: Refactor uninstaller GUI
Offload uninstaller GUI into its own class, add tests for that class, and do
some additional minor cleanup of AddonManager.py.
2022-12-18 22:15:40 -06:00
Chris Hennes 02b4a762b0 Addon Manager: Create new uninstaller 2022-12-18 22:15:40 -06:00
Roy-043 de20241452 Draft: Draft_SetStyle wrongly handled LineSpacing as an int (#8052) 2022-12-18 20:29:13 +01:00
wandererfan 47ef35047b [TD]detail of rotated ComplexSection 2022-12-18 09:42:42 -05:00
wandererfan 23dc64365b [TD]move makeAlignedPieces to separate thread
- correct ComplexSection rotation

- fix fail to load CS for some profiles and directions
2022-12-18 09:42:42 -05:00
wandererfan e059e32d40 [TD]dialog fixes from user testing
- fix jumping direction field in dialogs

- apply default rotation to simple sections

- fix rounding error in vector widget

- remove "enter" button on CompassWidget

- add lost focus trap in event filter.

[TD]prevent recompute on cancel without change
2022-12-18 09:42:42 -05:00
wandererfan 5f3c61762c [TD]fix parent page counting
- was returning inflated counts of owning page
2022-12-18 09:42:42 -05:00
Chris Hennes 856af2a122 Addon Manager: Simplify API 2022-12-17 20:23:32 -06:00
Chris Hennes 95f474a86a Addon Manager: Update to Python 3.8 2022-12-17 20:05:32 -06:00
Chris Hennes 89c191e160 Addon Manager: Refactor installation code
Improve testability of installation code by refactoring it to completely
separate the GUI and non-GUI code, and to provide more robust support
for non-GUI access to some type of Addon Manager activity.
2022-12-17 17:49:13 -06:00
Chris Hennes 403e0dc477 Addon Manager: Correct func names on disconnect
Fixes #8029.
2022-12-17 16:53:12 -06:00
sliptonic 0dc48ff85c Merge pull request #8012 from LarryWoestman/bugfix
Path:  Fixed regression in import statement.
2022-12-17 12:02:22 -06:00
wandererfan 50cdc60b08 [TD]remove problematic boost check for planarity
- boost check for planar graph was consuming memory until
  crashing.
- since all our edges have been projected onto a plane, we
  don't require this check
2022-12-17 08:07:05 -05:00
wmayer 9c8b255660 Gui: simplify logic of Placement dialog 2022-12-16 17:49:22 +01:00
wmayer d6d3369856 Gui: refactor Placement dialog 2022-12-16 15:33:52 +01:00
wmayer 36aae6f24e Gui: refactor Placement dialog 2022-12-16 12:00:56 +01:00
Roy-043 3998f3af8d Draft: fix move AngularDimension bug (#8047) 2022-12-15 12:04:12 +01:00
Roy-043 8da2f363b8 Draft: fix make_sketch bugs (#7969) 2022-12-15 10:10:24 +01:00
wmayer 9e702c016b App: handle sub-components in PropertyRotation 2022-12-14 21:21:02 +01:00
wmayer 7948181a4d App: handle sub-components in PropertyPlacement 2022-12-14 15:41:49 +01:00
Ajinkya Dahale 82afba7459 [GUI] Add missing include
This `memory` header is needed for `unique_ptr`, at least on Manjaro/Arch Linux with GCC.
2022-12-14 14:37:42 +01:00
Uwe c1ed520bb4 [Path] App: remove unused files from PreCompiled.h 2022-12-14 05:32:44 +01:00
Uwe 05cd301edf [Path] Gui: remove unused files from PreCompiled.h 2022-12-14 05:19:50 +01:00
Uwe c1d3468f67 [Start] remove unused Windows include 2022-12-14 04:32:59 +01:00
Uwe 5dee971689 [Web] Gui: enable precompiled headers 2022-12-14 04:31:01 +01:00
Uwe 29a8f742af [Web] App: enable precompiled headers
- also remove a unused header
2022-12-14 04:28:21 +01:00
Uwe ff247f84bf [Test] enable precompiled headers
- also remove unused headers
2022-12-14 04:25:52 +01:00
Uwe 6ef4e8155f [Start] Gui: enable precompiled headers
- also some whitespace changes
2022-12-14 04:02:05 +01:00
Uwe 561bb7f747 [Measure] : remove unused headers 2022-12-14 03:53:30 +01:00
Uwe 4d06111699 [Draft] : remove unused headers
- also some sorting
2022-12-14 03:48:56 +01:00
Uwe a912e8aa95 [Sketch] Gui:Task*: remove unused headers
- also some sorting
2022-12-14 03:48:40 +01:00
luvtofish d8b6474e6d Merge branch 'FreeCAD:master' into master 2022-12-13 18:47:29 -06:00
wmayer f68fc67e99 Tests: add more tests 2022-12-13 17:49:17 +01:00
wmayer 2fa8fb45d8 Base: refactor InventorBuilder 2022-12-13 17:48:51 +01:00
wmayer 12091cceab Mesh: Refactor MeshOutput::SaveInventor 2022-12-13 13:59:33 +01:00
Yorik van Havre 309718bde8 Fixed donation link 2022-12-13 13:29:02 +01:00
wmayer 6e71964d4e Base: set values in constructor of NormalItem 2022-12-13 12:47:42 +01:00
Uwe 0533550f95 remove some unnecessary Boolean checks
- checks for true/false and nullptr
2022-12-12 21:17:49 -06:00
Uwe 0e062212b5 [Sketch] Gui: U - End: remove unused headers
- also some sorting
2022-12-13 04:02:20 +01:00
Uwe 44d464251b [Sketch] Gui: Sketch - So: remove unused headers
- also some sorting
2022-12-13 02:45:17 +01:00
wmayer 2e1ec82930 Base: remove deprecated methods of InventorBuilder 2022-12-12 20:50:59 +01:00
wmayer cfc97b80b1 Mod: use new API of InventorBuilder 2022-12-12 20:50:32 +01:00
wmayer 787a37be82 Gui: fix View3DInventorViewer's getViewProviderByPath, getViewProviderByPathFromTail, getViewProvidersOfType
The View3DInventorViewer only contains the top-level view providers which caused unexpected behaviour when using the three methods above. Thus, in client code they haven't been used any more.
Now the methods internally invoke the corresponding methods of the document. This allows it in client code to directly call the appropriate methods again (LoD).
2022-12-12 16:41:58 +01:00
Uwe 94787e8afa [PD] enable padding to touching planes
- this patch is from @@FlachyJoe
- as reported here: https://forum.freecadweb.org/viewtopic.php?p=646231#p646231
it was impossible to pad to a face which is touching the sketch despite is is no parallel to the extrusion Direction
2022-12-12 13:04:05 +01:00
MrBlock 2f575a3c91 Fix bug #7563 where menus and tooltips are not visible in fullscreen mode on windows systems. (#8027)
* Fix bug where menus and tooltips are not visible in fullscreen mode on windows systems.
2022-12-12 12:44:36 +01:00
luz paz 7637d58df0 Add missing brackets + change indentation to spaces 2022-12-12 11:38:06 +01:00
luz paz 80efe8191e Cleanup: move return statement to new line + trailing
Follow-up to #6497
2022-12-12 11:38:06 +01:00
Uwe ce8816685b [Sketch] Gui: E - Short*: remove unused headers
- also some sorting
2022-12-12 02:52:33 +01:00
Uwe e92034a187 [skip ci] [TD] only whitespace and sorting 2022-12-12 02:23:22 +01:00
wandererfan cb06952a79 [TD]fix wrong error message on load
- also improve temp file name generation
2022-12-11 19:11:28 -05:00
Uwe 1f91409aa9 [Mesh] Gui: fix compilation on Windows
- I accidentally removed a necessary Windows header in commit b4bd8d9f
2022-12-12 00:34:59 +01:00
Uwe 035546b05c [Sketch] Gui: improve precompiled headers 2022-12-11 23:59:28 +01:00
wmayer f4f60d4737 Base: refactor InventorBuilder 2022-12-11 23:52:18 +01:00
Uwe 08932bd92d [Sketch] Gui: A - D: remove unused headers
- also some sorting
2022-12-11 23:47:03 +01:00
Uwe 170cf81fd5 [Sketch] App P - End: remove unused headers
- also some sorting
2022-12-11 22:36:00 +01:00
Uwe a139a35d24 [Sketch] App A - G: remove unused headers
- also some sorting
2022-12-11 18:53:45 +01:00
luvtofish db01062242 code cleanup 2022-12-11 11:21:22 -06:00
luvtofish 21c4b2dcce Merge branch 'FreeCAD:master' into master 2022-12-11 11:14:57 -06:00
wmayer 7b3d759ea1 RE: [skip ci] fix build failure 2022-12-11 11:32:56 +01:00
Uwe 8faf86e2b5 [Reverse Eng] Gui: remove unused headers
- also enable precompiled headers
- also some sorting
2022-12-11 04:22:59 +01:00
Uwe bea2f9be2c [Reverse Eng] App: enable precompiled headers
- also some sorting
2022-12-11 04:10:58 +01:00
LarryWoestman c684b1a399 Path: Fixed regression in input statement. 2022-12-10 13:26:05 -08:00
Uwe ec9b2c0966 [Inspection] enable precompiled headers 2022-12-10 06:08:21 +01:00
Uwe 20a3d4b7ed [Drawing] Gui: remove unused headers
- also some sorting
- also enable precompiled header
2022-12-10 05:59:51 +01:00
Uwe b2a3c5e22c [Drawing] App: remove unused headers
- also some sorting
- also enable precompiled header
2022-12-10 05:22:34 +01:00
Uwe 60d43eb0b5 [Raytracing] remove unused headers from PreCompiled
- just a preparation since enabling precompiled headers do not yet compile
2022-12-10 02:27:33 +01:00
Uwe b4bd8d9f6c [Mesh] Gui: enable precompiled header 2022-12-10 01:35:55 +01:00
Uwe 7acc1eca60 [Mesh] App: remove unused/unnecessary headers 2022-12-10 00:33:40 +01:00
wwmayer 1046bd14a8 Revert "[PD] App: precompiled header fixes" 2022-12-10 00:22:55 +01:00
Uwe d159af0202 Merge pull request #8000 from donovaly/PD-PCH-fix
[PD] App: precomnpiled header fixes
2022-12-09 20:07:32 +01:00
Uwe 454dddb8ba [PD] App: precompiled header fixes
- use same naming scheme ans CMakeLists structure as for all other WBs
2022-12-09 19:26:38 +01:00
Uwe 13b0b89160 [Image] App: enable precompiled header
- despite there are actually no header, this is nevertheless sensible, see the discussion in #7990
2022-12-09 19:21:07 +01:00
wmayer 8d6255b0e8 Base: refactor InventorBuilder 2022-12-09 14:43:59 +01:00
Uwe 0d92058fb8 [Robot] App: enable precompiled header 2022-12-09 03:29:30 +01:00
Uwe 3f7ea7bb27 [Robot] Gui: enable precompiled header 2022-12-09 03:16:32 +01:00
Uwe f709f39ce7 [Iamge] Gui: enable precompiled header 2022-12-09 02:11:44 +01:00
Uwe 3c5243035f [Spread] fix compilation issues with qtcolorpicker.cpp
- "signals" is no longer accepted by Qt
- in QColorDialog::getColor the third argument must not be a nullptr
2022-12-09 01:57:25 +01:00
Uwe e63b0cbc04 [Win installer] update file deletion list
- ported from the 0-20 branch
2022-12-09 00:16:44 +01:00
wmayer 3c4375986e TD: [skip ci] fix build failure with boost >= 1.78 on Windows 2022-12-08 22:11:33 +01:00
luvtofish c7bbac501e updated comment 2022-12-08 09:18:04 -06:00
luvtofish 3ac6bc8ea6 Merge branch 'master' of https://github.com/luvtofish/FreeCAD 2022-12-08 08:53:55 -06:00
luvtofish 0d8aacae49 tool tip changes 2022-12-08 08:50:59 -06:00
luvtofish f608438339 Updated tooltip details 2022-12-08 08:50:59 -06:00
luvtofish b52d5a9038 removed print post processor print statement. 2022-12-08 08:50:59 -06:00
luvtofish 5553b6ca9c Removed TLO since not used. 2022-12-08 08:50:59 -06:00
luvtofish 4342251c44 Add files via upload
Fixed format string on print statement.
2022-12-08 08:50:59 -06:00
luvtofish 7b671210e7 Add files via upload
Initial upload
2022-12-08 08:50:59 -06:00
luvtofish 5261f00ca1 Merge branch 'master' of https://github.com/luvtofish/FreeCAD 2022-12-08 08:47:41 -06:00
luvtofish 97c1ba7358 tool tip changes 2022-12-08 08:47:10 -06:00
Przemo Firszt 1189be75d0 [COPR] fedora: force built-in zipios, disable test 2022-12-08 10:17:52 +01:00
Uwe af58f804d4 [Points] enable precompiled headers 2022-12-08 05:04:58 +01:00
luvtofish 54f748ea29 Updated tooltip details 2022-12-07 20:49:40 -06:00
Uwe 5b7670a449 [MeshPart] enable precompiled headers
- also some sorting
2022-12-08 03:42:55 +01:00
Uwe 91efe220a5 [skip ci] [Gui] QtAll.h: whitespace 2022-12-08 03:29:28 +01:00
Uwe 97ee8b847f [Surface] enable precompiled headers
- also remove double code
2022-12-08 03:26:59 +01:00
Uwe d6978106ea [Spread] App: remove unnecessary Windows headers
- I added this earlier today, but it is not necessary at all, tested on 2 different Win PCs
2022-12-08 02:46:36 +01:00
Uwe ee7e19fac0 [Spread] App: enable precompiled headers 2022-12-08 02:10:46 +01:00
Uwe ffe5c754af [Sketch] App: improve PreCompiled.h handling 2022-12-08 01:33:24 +01:00
Uwe 58d8b36dfd [Surface] Gui:: remove unused includes
- also some sorting
2022-12-08 01:32:38 +01:00
Uwe 3b1580136b [Surface] App:: remove unused includes
- also some sorting
2022-12-08 00:34:08 +01:00
wmayer df1e0b5be8 PD: [skip ci] Single-parameter constructors should be marked explicit 2022-12-08 00:26:35 +01:00
wmayer 3e33a91aa9 PD: fixes #6000: auto-generated Body not placed under existing Part 2022-12-08 00:09:48 +01:00
Uwe 8d6ea90cee [MeshPart] improve PreCompiled.h handling 2022-12-07 23:35:52 +01:00
wmayer b8c83a1c62 PD: refactor CmdPartDesignNewSketch::activated 2022-12-07 23:31:20 +01:00
Uwe 6e5be52325 [Part] improve PreCompiled.h handling 2022-12-07 23:20:46 +01:00
Uwe 378184f8ea [Points] re-add a header 2022-12-07 23:19:38 +01:00
Uwe e6b3d5aded [PD] improve PreCompiled.h handling 2022-12-07 21:31:16 +01:00
Uwe 960ace8034 [Path] improve PreCompiled.h handling 2022-12-07 19:51:19 +01:00
Uwe 423c330534 [Path] improve PreCompiled.h handling 2022-12-07 19:51:19 +01:00
Uwe cbd0140dcd [TD] Task*, part 2/2: remove unused includes
- also some sorting
- also take care of PreCompiled.h
2022-12-07 19:49:05 +01:00
luvtofish 42d2d54508 Merge branch 'master' into master 2022-12-07 12:20:44 -06:00
Uwe 987314b9d8 [Points] improve PreCompiled.h handling 2022-12-07 18:22:00 +01:00
Uwe 059b441ebc [Spread] remove unused includes from PreCompiled.h 2022-12-07 18:18:04 +01:00
luvtofish efce625a8d removed print post processor print statement. 2022-12-07 10:24:01 -06:00
luvtofish 5e05f753ff Removed TLO since not used. 2022-12-07 10:19:24 -06:00
luvtofish f611cc66b4 Merge branch 'FreeCAD:master' into master 2022-12-07 09:58:55 -06:00
Uwe 023a37b92c [TD] Task*, part 1: remove unused includes
- also some sorting
2022-12-07 16:15:40 +01:00
wmayer 19411d6a9b Part: add method TopoShape::isPlanar() 2022-12-07 15:18:04 +01:00
wmayer ae0ee09a09 Mesh: [skip ci] use new API of InventorBuilder 2022-12-07 15:17:14 +01:00
wmayer 302d3f5b95 Core: allow to set file filter from PropertyFileIncluded 2022-12-07 12:58:07 +01:00
Roy-043 0fdb4949c3 Draft: improve context menus 2022-12-07 11:21:06 +01:00
Uwe ace6d5a9ce [Web] remove unused includes
- also some sorting
2022-12-07 05:24:20 +01:00
Uwe e5cb1b24cd [Start] remove unused includes
- also some sorting
2022-12-07 05:09:18 +01:00
Uwe 30c5f71413 [Robot] Gui: remove unused includes
- also some sorting
2022-12-07 05:08:56 +01:00
luvtofish 60b5d819b6 Merge branch 'master' into master 2022-12-06 21:53:58 -06:00
Uwe c9f42ebcd7 [Robot] App: remove unused includes
- also some sorting
2022-12-07 03:27:09 +01:00
Uwe 1844f2e084 [Raytracing] remove unnecessary include 2022-12-07 03:10:29 +01:00
luvtofish e0ad54dece Add files via upload
Fixed format string on print statement.
2022-12-06 15:05:52 -06:00
luvtofish 51f43db5e1 Merge branch 'master' into master 2022-12-06 14:51:27 -06:00
Ajinkya Dahale d08ccbfb77 (Attempt to) fix compile issue in Raytracing
Currently in Manjaro/Arch/Linux there's this issue:
```
/.../src/Mod/Raytracing/App/LuxProject.cpp: In member function ‘virtual App::DocumentObjectExecReturn* Raytracing::LuxProject::execute()’:
/.../src/Mod/Raytracing/App/LuxProject.cpp:85:20: error: variable ‘std::ifstream file’ has initializer but incomplete type
   85 |     ifstream file (fi.filePath().c_str());
      |                    ^~
/.../src/Mod/Raytracing/App/LuxProject.cpp:89:20: error: variable ‘std::ofstream ofile’ has initializer but incomplete type
   89 |     ofstream ofile(tempName.c_str());
      |                    ^~~~~~~~
```

See https://stackoverflow.com/questions/50355130/variable-stdofstream-outfile-has-initializer-but-incomplete-type.

Also edit `Precompiled.h` as compile fix
2022-12-06 21:41:53 +01:00
luvtofish 09830ae195 Merge branch 'master' into master 2022-12-06 12:26:29 -06:00
Uwe c6c273eddf [Raytracing] attempt to fix compilation on Arch linux
by adding all used STL headers

- also uniform std handling (either using namespace and then omit or use it always and no namespace
2022-12-06 19:04:38 +01:00
luvtofish 8b9af206ab Add files via upload
Initial upload
2022-12-06 11:58:39 -06:00
Uwe 6f0afb4d0b [Raytracing] Gui: remove unused includes
- also some sorting
2022-12-06 02:26:00 +01:00
Uwe 10d6e4b892 [Raytracing] App: remove unused includes
- also some sorting
2022-12-06 02:00:57 +01:00
wmayer ffb97abfbe Base: refactor NodeItem 2022-12-05 18:35:50 +01:00
wmayer 7bd0394f13 Test: [skip ci] fix build failure when linking Python statically 2022-12-05 15:34:58 +01:00
wmayer 60ae885471 Base: Remove redundant 'else' and return Py::None() instead of Py::Object() to make it explicit that Python's 'None' is meant 2022-12-05 12:51:38 +01:00
wmayer 69aba3abe1 PD: remove parameter 'supportface' from ProfileBased::getUpToFace as it's not used any more 2022-12-05 12:46:52 +01:00
wmayer 633fb4488a Gui: [skip ci] fix several warnings:
* -Wunused-variable
* -Wunused-lambda-capture
2022-12-05 12:22:22 +01:00
wmayer ab41f7d091 Gui: [skip ci] fix warnings: [-Winconsistent-missing-override] 2022-12-05 12:02:45 +01:00
wmayer 313525a012 Core: [skip ci] ignore some code spell checks and filter all '_rc_.py' files 2022-12-05 10:12:49 +01:00
Yorik van Havre f948e5db4d Merge pull request #7956 from adrianinsaval/unifyIcons
Unify application icon
2022-12-05 09:51:59 +01:00
Yorik van Havre faf2360cf9 Merge pull request #7927 from Roy-043/Arch-add-unit-test
Arch: add BuildingPart unit test
2022-12-05 09:47:23 +01:00
Uwe 1cec428e0e [Mesh] remove unused file
- unused since a while and also don't compile when adding them to CMake
2022-12-05 09:37:19 +01:00
Uwe 1cfa8b5366 [Win installer] some uninstaller improvements
- remove two registry path deletions that were never performed since the paths do not exist
- remove registry key that stores the main window parameters (size and position) when the option to remove also the user settings is on (because this affects all FreeCAD installations)
- also change a name to uppercase (does not matter but Win 10 uses uppercase, so we should do the same to avoid confusions)
2022-12-05 03:39:46 +01:00
Adrian Insaurralde Avalos c9455541ee Unify application icon
was different in the windows executable, windows installer and WB templates
2022-12-04 21:21:47 -03:00
Uwe 9869a2c3d7 [Build] output point release version
- to Splashscreen, About, MainWindow and Console
2022-12-05 00:26:43 +01:00
Adrian Insaurralde Avalos a482e2421e remove unused files 2022-12-05 00:26:43 +01:00
Adrian Insaurralde Avalos 95fcf171b8 Unify version patch number management in cmake 2022-12-05 00:26:43 +01:00
Uwe 75dc8f9410 [Path] A-F: remove unused includes
- also some sorting
2022-12-04 19:48:46 +01:00
berniev 87c3b58f44 Simplify switch statement (modded) 2022-12-04 19:37:04 +01:00
Uwe feeb479641 [Path] Gui: remove unused includes
- also some sorting
2022-12-04 19:35:52 +01:00
Uwe 836c1be75d [Path] P-End: remove unused includes
- also some sorting
2022-12-04 18:47:50 +01:00
Uwe 113dce72d7 [Mesh] Gui: ViewProvider*: remove unused includes
- also some sorting
2022-12-04 17:25:24 +01:00
Uwe 10aff43462 [Mesh] Gui: So*: remove unused includes
- also some sorting
2022-12-04 16:38:28 +01:00
Uwe e3ee7d549a [Mesh] Gui: R-Se: remove unused includes
- also some sorting
2022-12-04 15:34:05 +01:00
Ajinkya Dahale 4d2837a6c2 [Part] Add/change some methods in GeomBSplineCurve
Add `setPeriodic` to turn a b-spline periodic.
Allow `join` to join any bounded curve not just b-spline.
2022-12-04 08:17:20 +01:00
Ajinkya Dahale 36ff50088e [Sketcher] Convert curves to splines before joining 2022-12-04 08:17:20 +01:00
Ajinkya Dahale deea97e654 [Sketcher] Join curves at common point 2022-12-04 08:17:20 +01:00
Ajinkya Dahale c5aceb0182 [Sketcher] Add methods and tools for joining curves
Algorithm to join b-splines:
The code simple concatenates the knots, poles, weights, and knot multiplicities
together, removing data on the connection point of the second curve. Some
further study is needed to see if/when it will give an exact/good connection.

Icon courtesy @bitacovir.
2022-12-04 08:17:20 +01:00
Uwe 59c1741559 [PD] Pad/pocket: fix wrong error message
- the error can also occur when the mode it not UpToFace (ToFirst or ToLast)
- also add note when Reversed checkbox is enabled since this is no obvious (as discussed in the forum)
- also some whitespace unification and include sorting
2022-12-04 05:37:11 +01:00
Uwe 3ded221646 [PD] FeatureSketchBased: fix orthogonal check
- same fix as #7879
- also fix wording on an error message and improve a variable name
2022-12-04 05:31:51 +01:00
Uwe 69d4d284e8 [Mesh] Gui: A-P: remove unused includes
- also some sorting
2022-12-04 05:24:24 +01:00
Uwe 020ced9859 [TD] QGIView*: remove unused includes
- also some sorting
2022-12-04 04:21:01 +01:00
Uwe 98a0172700 [TD] QGIL - QGIVE:remove unused includes
- also some sorting
2022-12-04 03:29:19 +01:00
Uwe 8b5fc633a9 [TD] QGIA - QGIH:remove unused includes
- also some sorting
2022-12-04 03:10:56 +01:00
Uwe 20ae6041e8 [TD] QGV*:remove unused includes
- also some sorting
2022-12-04 02:29:20 +01:00
Uwe 8231c77cb3 [TD] QGC* - QGE:remove unused includes
- also some sorting
2022-12-04 02:16:43 +01:00
Uwe b18668e615 [TD] QGIW* - QGT:remove unused includes
- also some sorting
2022-12-04 01:45:12 +01:00
luz paz d46e2b3569 Path: remove leftover .zip archive in PathSimulator directory
Closes #7816
2022-12-03 18:10:34 -06:00
Chris Hennes 848e6cc2f3 Gui: Temporarily disable tree icon height call 2022-12-03 17:08:17 -06:00
Zheng, Lei 7dc14634cd Base: fix Windows build issue 2022-12-03 17:08:17 -06:00
Zheng, Lei 26e38309c8 Gui: fix transparency saving in PrefColorButton 2022-12-03 17:08:17 -06:00
Zheng, Lei 61a4bf5719 Gui: support more parameter types in PrefComboBox
Using a user defined property 'prefType'
2022-12-03 17:08:17 -06:00
Zheng, Lei 41dcee396d Gui: split out TreeParams into its own source files
Auto generated using TreeParams.py
2022-12-03 17:08:17 -06:00
Zheng, Lei ea4405eaaa Tools: add utility script for code generation using cog 2022-12-03 17:08:17 -06:00
Zheng, Lei d3c063f88c Base/App: add new signal interface to Parameter
Added new signal interface using boost::signals2 signalParamChanged.

Exposed to Python as ParameterGrpPy.AttachManager() to monitor changes
to all parameters, sub groups under the referring group.

Added new attribute for ParameterGrp(Py) to query the Parent and Manager
of the referring group.
2022-12-03 17:08:17 -06:00
wandererfan 276e6c45b9 [TD]allow rotation of hatch directions
- faces can have their svg and bitmap hatches rotated to match
  the view rotation or special situations
- section cut face can have svg hatch rotated
2022-12-03 15:15:25 -05:00
0penBrain 53804d7e4d [CrashFix]Sketcher: prevent crash at FC closure when edit control panel is disabled, fixes #7931
Introduced by bf04c0e
2022-12-03 16:59:06 +01:00
wmayer 19437bd7be Base: refactor testInventorBuilder 2022-12-03 12:17:53 +01:00
luz paz 2131a4732b [Spreadsheet] fix header uniformity 2022-12-02 19:19:56 -06:00
luz paz 0e08b51a58 App: fix trailing whitespace 2022-12-02 19:19:17 -06:00
luz paz c16e88845b Gui: fix trailing whitespace 2022-12-02 19:18:54 -06:00
Roy-043 28746f4ba6 Arch: add BuildingPart unit test 2022-12-02 21:22:21 +01:00
wandererfan ad2de02d0c [Meas]handle long subElement names in reference 2022-12-02 14:19:53 -05:00
wmayer 4dc1fc8f01 Base: refactor InventorBuilder 2022-12-02 19:06:27 +01:00
wmayer 663a9e665b Base: refactor InventorBuilder and add more unit tests 2022-12-02 18:53:47 +01:00
wmayer f6cf0e7f3d Test: [skip ci] fix linking errors of Google tests with MSVC 2022-12-02 14:49:36 +01:00
luz paz 3148ea6651 L10N: Don't translate strings that dont contain any alphabetic character
Per 0penBrain's suggestion
2022-12-02 11:57:34 +01:00
luz paz e7490c9ee1 L10N: Don't translate "..." string
Follow-up to db18325a39
2022-12-02 11:57:34 +01:00
Adrian Insaurralde Avalos c10330f705 [fixes #5965] CarbonCopy: if existing use constraint name in expressions 2022-12-02 10:47:26 +01:00
Chris Hennes b3817cc3a6 OpenSCAD: Remove extra lines imported with DXF 2022-12-01 20:30:56 -06:00
Chris Hennes db18325a39 Gui: Don't translate "..."
With no context, translators can't figure out what to do with it.
2022-12-01 19:47:49 -06:00
Chris Hennes 2e0f3f9e35 Addon Manager: Don't translate prefPath strings 2022-12-01 19:42:28 -06:00
Roy-043 adfdbf7cd7 Arch: Fix missing Windows in Arch Reference of BuildingPart 2022-12-02 00:51:03 +01:00
berniev a4693a2748 cast max 2022-12-02 00:50:00 +01:00
luzpaz 654d82d91c JtReader: Fix header uniformity and trailing whitespace (#7919)
* also remove unused boolean
2022-12-02 00:47:00 +01:00
wmayer e00a5243ec Test: [skip ci] make sure tests pass in any order 2022-12-01 22:11:49 +01:00
wmayer d8e0b73357 Revert "Test: [skip ci] make all example tests pass"
This reverts commit cc8a30929a.
2022-12-01 22:04:48 +01:00
wmayer 97ab7714fe Base: fix InventorBuilder and add more unit tests 2022-12-01 18:05:57 +01:00
0penBrain 5337812e23 Sketcher: TaskSketcherConstraints: defensive support of nested signal blocking 2022-12-01 16:21:50 +01:00
0penBrain 317eee4eb2 Sketcher: correctly restore constraints display according filters 2022-12-01 16:21:50 +01:00
0penBrain 875385ee9d Sketcher: cleanup TaskSketcherConstraints 2022-12-01 16:21:50 +01:00
0penBrain 087ff75340 Sketcher: also save advanced filters + minor fix 2022-12-01 16:21:50 +01:00
0penBrain f1f9dcfc05 Sketcher: constraint settings are kept in sync with user parameters 2022-12-01 16:21:50 +01:00
0penBrain 7088930dba Sketcher: 'HideInternalAlignment' also has effect when constraint filter is disabled 2022-12-01 16:21:50 +01:00
0penBrain 293edba342 Sketcher: settings in Task Constraint are translatable 2022-12-01 16:21:50 +01:00
0penBrain 17144272c7 Sketcher: fix basic issues in Task Constraint 2022-12-01 16:21:50 +01:00
wmayer cc8a30929a Test: [skip ci] make all example tests pass 2022-12-01 16:10:19 +01:00
wmayer 1d7369e321 QtTest: [skip ci] enable Qt testing framework 2022-12-01 13:57:00 +01:00
berniev 92e77ce1df fix invalid unicode 2022-12-01 12:56:58 +01:00
wmayer 63d46325fe Codespell: [skip ci] ignore Google test framework 2022-12-01 12:38:21 +01:00
berniev b3274122e3 Introduce GoogleTest C++ unit testing framework 2022-12-01 12:33:14 +01:00
Roy-043 baa485d573 Arch: Fix Arch_Space text position 2022-12-01 12:27:15 +01:00
berniev 34f41572b2 QString.midRef is removed in Qt6 2022-12-01 12:17:49 +01:00
Bruno Bigras 6f1b29769b fix typo: 'instead if' -> 'instead of' 2022-11-30 21:52:10 -06:00
luz paz dda171f427 OpenSCAD: remove indentations from test_importCSG.py
Follow-up to 3f118b52b
2022-11-30 20:57:34 -06:00
Chris Hennes 3f118b52bc OpenSCAD: Ensure complex fuse has no extra placement 2022-11-30 18:30:06 -06:00
luz paz 7310ff4bb8 FEM: remove trailing whitespace 2022-11-30 16:24:06 +01:00
luz paz 1803cc0c7e Addon Manager: tweak markdown 2022-11-30 12:46:02 +01:00
luz paz 21eddcb15e Addon Manager: Fix trailing whitespace 2022-11-30 12:46:02 +01:00
luz paz fa98553775 Fix various typos and grammatical issues 2022-11-30 12:45:29 +01:00
luz paz 5b63289c5b Part: Fix header uniformity + superfluous whitespace 2022-11-30 12:44:31 +01:00
wmayer e18cb45673 Base: refactoring of InventorBuilder 2022-11-30 12:29:09 +01:00
Zheng, Lei ebe71e90c0 Gui: hiding detail dependency information in DlgObjectSelection 2022-11-30 01:36:01 +01:00
luz paz 5847c4e95e Path: fix header uniformity 2022-11-30 01:30:09 +01:00
luz paz 674bd3d6ec PartDesign: fix header uniformity 2022-11-30 01:28:56 +01:00
wmayer da7006b889 Points: [skip ci] fix build failure 2022-11-29 18:50:24 +01:00
wmayer c16b94c669 Base: fix build failure with MSVC, overloaded operator << must be in header file 2022-11-29 18:21:12 +01:00
wmayer c16e4670fd Base: refactoring of InventorBuilder 2022-11-29 15:20:43 +01:00
wmayer b325ab93dc Base: refactoring of InventorBuilder 2022-11-29 13:28:00 +01:00
Yorik van Havre c0846e36b4 Start: Set minimum height for notes panel 2022-11-29 12:03:55 +01:00
wmayer 9388cea9c7 Sketcher: [skip ci] don't mix QCheckBox::setChecked() with tristate API 2022-11-29 11:03:29 +01:00
wmayer ad1cccdd27 Gui/Mod: handle several compiler warnings:
* ignore -Wfree-nonheap-object for generated code
* replace 0 with Qt::NoModifier when creating a QKeyEvent
* in Qt 5.14 QCombobox::activated(QString) is deprecated, use textActivated
* don't mix QCheckBox::setChecked() with tristate API
2022-11-29 10:36:02 +01:00
luz paz 95d89622de Fix header uniformity for various workbenches/directories
Also includes some trailing whitespace fixes
2022-11-29 04:48:57 +01:00
Uwe 95f647b9ed [Points] remove unused includes (#7900)
- also some sorting
2022-11-29 04:44:35 +01:00
Adrián Insaurralde Avalos 695d156535 [github ci] run build in parallel 2022-11-29 03:57:20 +01:00
Uwe 967cc57350 [Inspection] remove unused includes
- also some sorting
2022-11-29 03:34:22 +01:00
Uwe 3e58ada046 [skip ci] [Gui] NaviCube: remove tabs
- as detected by the CI
2022-11-29 01:38:34 +01:00
Adrian Insaurralde Avalos dfaecfa187 [fixes #7875] Gui: use hexagon shape in NaviCube corners
makes the corners bigger and therefore easier to click

fix inconsistent NaviCube borders


Co-authored-by: Rexbas <rexbasie@gmail.com>
2022-11-29 01:31:48 +01:00
luz paz b17c0cce46 Gui: fix header uniformity
Make uniform all Gui/ directory headers.
2022-11-28 08:39:38 -06:00
luz paz aecddeedcc Image: fix header uniformity
Make uniform all Image workbench headers.
2022-11-28 07:42:15 -06:00
Roy-043 78b46891e7 Arch: fix cutplane color (#7859)
* Arch: fix cutplane color

* Update ArchCutPlane.py
2022-11-28 12:29:13 +01:00
Yorik van Havre 8cd2900dc0 Merge pull request #7866 from Roy-043/Draft-test_creation.py-add-3-tests
Draft: test_creation.py add 3 tests
2022-11-28 12:04:00 +01:00
Yorik van Havre 5db3bc29fd Merge pull request #7885 from Roy-043/Draft-fix-clone-DiffuseColor
Draft: fix clone DiffuseColor
2022-11-28 11:46:38 +01:00
Uwe 7b635cda5c [Image] Gui: remove unused includes
- also some sorting
2022-11-28 03:39:34 +01:00
Chris Hennes 1f1abe56b4 Addon Manager: Add unit tests for _fetch_raw_code 2022-11-27 19:38:04 -06:00
Chris Hennes dfef3be2d8 Addon Manager: Refactor Macro for testing
Pull out the network manager code so it is easier to mock.
2022-11-27 19:38:04 -06:00
Chris Hennes 5419bcb6e4 Addon Manager: Fix bad formatting in error handler 2022-11-27 19:38:04 -06:00
Uwe 625d291f50 [Import] Gui: remove unused includes
- also some sorting
- also put some includes to precompiled headers
2022-11-28 02:11:30 +01:00
Chris Hennes 6d9b287e7c Spreadsheet: Add unit test for #7841
Ensure that aliases can be set on empty cells.
2022-11-27 18:54:56 -06:00
flachyjoe cba90dd97c [Spreadsheet] Fix alias setting for empty cells
Fix #7841
2022-11-27 18:54:56 -06:00
wmayer 567e0434e6 Base: refactoring of Builder3D/InventorBuilder 2022-11-27 20:06:00 +01:00
wmayer 16e80093c4 Base: refactoring of Builder3D/InventorBuilder 2022-11-27 18:29:58 +01:00
wmayer 9c191c1246 Base: change return type of Line3::SqrLength() and Line3::Length() 2022-11-27 17:58:37 +01:00
wmayer 88510213d9 TD: [skip ci] fix warnings reported by GH actions 2022-11-27 16:51:15 +01:00
wmayer c988f1d472 Base: start of refactoring of InventorBuilder 2022-11-27 16:45:16 +01:00
wmayer 8f136f60c6 Base: start of refactoring of Builder3D 2022-11-27 15:02:44 +01:00
wandererfan 13acca7504 [TD]fix ComplexSection null cut shape 2022-11-27 08:21:40 -05:00
Roy-043 cc8d6afee7 Draft: fix clone DiffuseColor 2022-11-27 11:11:24 +01:00
sliptonic c23ee7ad88 Merge pull request #7848 from mlampert/bugfix/thread-milling-task-panel
[PATH] - Save and restore ThreadFit attribute - fixes #7847
2022-11-25 09:33:12 -06:00
wmayer b44d70f646 Import: [skip ci] fix warning about trailing whitespaces, fix parsing errors 2022-11-25 11:55:51 +01:00
wmayer 88bde4e0f9 Import: fix build failure 2022-11-25 10:28:13 +01:00
Uwe 838d99636b [Import] remove unused includes
- also some sorting
2022-11-25 04:34:44 +01:00
wmayer a6b9a53bed Sketcher: [skip ci] refactor SoDatumLabel 2022-11-24 12:59:01 +01:00
wmayer 599d0d1d7d Sketcher: [skip ci] refactor SoDatumLabel 2022-11-24 12:38:28 +01:00
wmayer a3971bfcfd Sketcher: [skip ci] refactor SoDatumLabel 2022-11-24 11:51:26 +01:00
Adrian Insaurralde Avalos 3f29b6cfd3 [skip ci] Add kdevelop project files to .gitignore 2022-11-24 11:18:59 +01:00
wmayer 10895e18ff Sketcher: [skip ci] fix compiler warning 2022-11-24 10:55:24 +01:00
wmayer 8a0816ff40 Sketch: use the focal distance to determine a correct scale factor for SoDatumLabel
This fixes #7860: Dimensions get unreadable (small) if a 2nd sketch is visible
and fixes #7082: Dimension size on perspective view scales "backwards"
2022-11-24 10:21:59 +01:00
Adrian Insaurralde Avalos ccf0740087 Sketcher: Element widget - fix toolbuttons height 2022-11-24 02:21:49 +01:00
Uwe 7d04bf015c [MeshPart] Gui: remove unused includes
- also some sorting
2022-11-24 02:21:38 +01:00
Paddle 33f81cd0e1 Sketcher: Element widget: - FilterBox and filter state is now registered as preference to be cross-session. 2022-11-24 01:14:43 +01:00
Paddle 142f6d8843 Sketcher: Constraint widget: Add 'Auto constraints' and 'auto remove redundant' to the setting button. 2022-11-24 01:09:38 +01:00
Paddle 13e71c0533 Sketcher: Constraint widget: Improve the filter such that the filter state and checkboxe state is cross-cession. Enabling user to 'save' filter state. 2022-11-24 01:09:38 +01:00
Paddle 22271deb2d Sketcher: Constraint widget: - Fix eye button
- move 'Internal alignment' to Geometric.
    - Fix another bug.
2022-11-24 01:09:38 +01:00
Paddle 7788ef185b Sketcher: filter list strings are updated at language change. By @0penBrain 2022-11-24 01:09:38 +01:00
Paddle 378463de03 SKETCHER: Constraint widget rework (issue 7518)
see https://forum.freecadweb.org/viewtopic.php?f=34&t=71595&start=20
2022-11-24 01:09:38 +01:00
wmayer d955e0f108 MeshPart: [skip ci] fix build failure 2022-11-23 19:44:42 +01:00
Uwe d1431f405c [Mesh] remove GTSAlgos
- unused since a while
2022-11-23 17:35:06 +01:00
Roy-043 6fe9bafb03 Draft: test_creation.py add 3 tests 2022-11-23 11:35:39 +01:00
Uwe 424cd1d319 [Measure] remove a unused include
- also some sorting
2022-11-23 03:50:45 +01:00
Uwe d62d41a53b [MeshPart] remove unused includes
- also some sorting
2022-11-23 03:35:31 +01:00
wandererfan cdda6f2c38 [TD]fix fail on missing base view (#7856) 2022-11-22 20:38:46 -05:00
wmayer 52398d8f58 Sketch: add missing header 2022-11-22 15:53:50 +01:00
wmayer 924e7fc484 Gui: move class SelectionObserverPython to its own source files 2022-11-22 15:44:26 +01:00
wmayer 2252696828 Base: move class ProgressIndicatorPy to its own files 2022-11-22 15:07:33 +01:00
Uwe 69dd6ea965 [Mesh] Core P-end: remove unused includes
- also some sorting
2022-11-22 03:10:47 +01:00
Uwe 43463077f1 [skip ci] [Part] TopoShapePyImp.cpp: clang formatting fixes 2022-11-22 03:09:43 +01:00
Uwe 3c855f475d [skip ci] .clang-format: shorthand loops
- disallow as we did before we had this format file
2022-11-22 02:58:47 +01:00
wandererfan 5f9afef268 [TD]Separate test scripts which require QApplication 2022-11-21 18:24:57 -05:00
wandererfan c8a0172df8 [TD]Add tests for geometry creation
- check that edge geometry count is correct
- handle delay waiting for threads to complete
- add test for DrawViewDetail
2022-11-21 18:24:57 -05:00
wmayer 205c6e8931 Base: restore ConsoleSingleton::IsMsgTypeEnabled
For more details see comments on #7457
2022-11-21 23:18:37 +01:00
Yorik van Havre 8659c5a149 Merge pull request #7821 from Roy-043/Draft-fix-arcFromSpline
Draft: fix arcFromSpline midpoint bug
2022-11-21 13:30:46 +01:00
Yorik van Havre 2f27bf18bf Merge pull request #7840 from Roy-043/Draft-add-test_draft_to_techdraw
Draft: replace test_draft_to_drawing with test_draft_to_techdraw
2022-11-21 13:30:14 +01:00
0penBrain 80308c0105 Sketcher: fix warning about QStringLiteral used without argument 2022-11-21 09:57:54 +01:00
0penBrain 6e65e77915 Gui: ActionGroup also get its tooltip title updated 2022-11-21 04:06:20 +01:00
Rexbas 14f56c4e1c Gui: Stop Revit rotation and zoom on scroll release
- Stops the rotation when scroll is released but SHIFT is still pressed
- Stops zooming when scroll is released but CTRL is still pressed
2022-11-21 04:01:52 +01:00
luz paz 1559683684 Image: remove trailing whitespace 2022-11-21 03:59:51 +01:00
Uwe 3b7189f6af [Mesh] Core E-M: remove unused includes
- also some sorting
2022-11-21 03:59:13 +01:00
Uwe 577ba5ba58 [Mesh] Core A-D: remove unused includes
- also some sorting
2022-11-21 03:24:27 +01:00
Uwe 3283107f38 [Mesh] Core/IO: remove unused includes
- also some sorting
2022-11-21 02:49:26 +01:00
mlampert b940267220 Merge branch 'master' into bugfix/thread-milling-task-panel 2022-11-20 14:58:08 -08:00
Markus Lampert 36391eab68 Save and restore ThreadFit attribute 2022-11-20 14:31:40 -08:00
Roy-043 3cdaf8b8bc Update test_modification.py
Added check if view is in page.OutList.
2022-11-20 22:09:04 +01:00
0penBrain 7b2a6a3bf7 Sketcher: filter list strings are updated at language change (include fix commits) 2022-11-20 15:14:19 +01:00
Paddle 15dd77512e Sketcher: Element widget: Improve filter widget. 2022-11-20 15:14:19 +01:00
berniev ab7644441f cmake: correct usage of ifdefined (PR #7829) 2022-11-20 14:16:18 +01:00
Aapo 1f6ec0469a [TD] DrawViewPart: Fix Dimension attachment for Coarse Views and faceless Views 2022-11-20 08:08:33 -05:00
berniev aafdb8134d remove unused code in find pyside 2022-11-20 13:43:10 +01:00
Roy-043 193d284c42 Draft: unit tests: replace test_draft_to_drawing with test_draft_to_techdraw 2022-11-20 11:47:43 +01:00
Uwe e6c53d8642 [sketch] Geo.cpp: fix compiler warning
- as reported here: https://forum.freecadweb.org/viewtopic.php?f=10&t=73647
2022-11-20 00:38:21 +01:00
wmayer 0c2fdd64f4 Base: [skip ci] fix readability-identifier-length 2022-11-19 16:54:08 +01:00
wandererfan 7745a5aca0 [Units]Allow querying schema for unit of measure 2022-11-19 16:49:46 +01:00
luz paz c9829a312f [Sketcher] fix header uniformity
Make uniform all Sketcher headers.
2022-11-19 16:04:55 +01:00
berniev d2e5a12190 change ALL_UPPER_CASE constexpr definitions to camelCase 2022-11-19 16:00:36 +01:00
wmayer 09dccb70c7 Part: [skip ci] fix some warnings reported by GH actions 2022-11-19 15:57:54 +01:00
marioalexis f0deeaed00 Part: Fix endless-loop in TopoShapePy::proximity function 2022-11-19 15:31:13 +01:00
luz paz 98d29647e6 [Arch] fix header uniformity
Make uniforum all Arch headers
2022-11-18 20:22:24 +01:00
luz paz 1b41844acb [skip ci] Add commits to .git-blame-ignore-revs
Added:  
dc5b3cb495  
875f9eaad6  
7a8a453746
2022-11-18 16:21:24 +01:00
Bernd Hahnebach f0b151dc09 FEM: gmsh binary location on osx, add comment 2022-11-18 12:05:36 +01:00
Bernd Hahnebach c0a45ec61e FEM: add standard path for gmsh on osx 2022-11-18 12:02:22 +01:00
wmayer 5adcfd1dd4 Arch: replace tabs with spaces 2022-11-18 11:47:17 +01:00
0penBrain 862c092c0b Sketcher: disable auto-constraint in Copy/Clone/Move commands 2022-11-18 08:18:58 +01:00
0penBrain f6884b307c Sketcher: Clone: do not apply parallel constraint if angle constraint is applied on arc 2022-11-18 08:18:58 +01:00
Aapo 2e19e5f6fb [TD] DrawViewPart: Fix Dimension attachment on Cosmetic CenterLines upon document restore 2022-11-17 19:25:43 -05:00
luz paz 7a8a453746 Path: remove trailing whitespace 2022-11-18 00:01:25 +01:00
luz paz 875f9eaad6 Sketcher: remove trailing whitespace 2022-11-17 23:56:13 +01:00
luz paz dc5b3cb495 Arch: remove trailing whitespace 2022-11-17 23:54:03 +01:00
wmayer c3b38bda08 App: [skip ci] fix warnings reported by GH actions 2022-11-17 23:50:34 +01:00
wmayer 2614a1cec6 App: [skip ci] fix typo 2022-11-17 20:00:00 +01:00
wmayer 1f83094b44 App: fix endless-loop in DocumentObject::getParents 2022-11-17 19:05:32 +01:00
wmayer e10b23ca70 App: replace boolean with enum 2022-11-17 17:38:31 +01:00
wmayer 07711bb8a8 App: fix endless-loop when recursively determining placement of an object 2022-11-17 15:46:06 +01:00
Roy-043 91319b21d9 Draft: fix arcFromSpline midpoint bug 2022-11-17 11:04:25 +01:00
sliptonic c8074a972e Merge pull request #7759 from LarryWoestman/staging
Path:  Changes for Path refactoring to fix regressions.
2022-11-16 18:09:38 -06:00
wmayer d793a182c4 App: fix possible stack overflow in GroupExtension::hasObject() 2022-11-17 00:30:44 +01:00
wmayer 955eeb4775 Gui: [skip ci] use full namespace of AccelLineEdit 2022-11-16 23:26:08 +01:00
wmayer 4067cc158f Gui: fix endless-loop in View3DInventorSelection::checkGroupOnTop 2022-11-16 21:02:49 +01:00
wmayer 4b17636c5e Gui: code-refactoring
Split selection handling from View3DInventorViewer and move to View3DInventorSelection
2022-11-16 20:27:14 +01:00
Ajinkya Dahale 249ee72333 [Sketcher][planegcs] Make changes as per comments on #7484
Comments by @abdullahtahiriyo.

Remove default values and smaller constructor for `CenterOfGravity` and
`WeightedLinearCombination` constraints.

Clarify comments.

Improve readability of `CenterOfGravity` and `WeightedLinearCombination`
constraints.
2022-11-16 15:35:37 +01:00
Ajinkya Dahale 2537ea883f [Sketcher][planegcs] Set knot constraint as internal alignment 2022-11-16 15:35:37 +01:00
Ajinkya Dahale 19810fac2a [Sketcher] Do not make knots construction points 2022-11-16 15:35:37 +01:00
Ajinkya Dahale 430b0baa00 [Sketcher] Stop treating knots as fixed in GUI commands
This stops constraints from becoming non-driving when not set.

Follow 0penbrain's comments

typo
2022-11-16 15:35:37 +01:00
Ajinkya Dahale 7cd2cbd29c [Sketcher] Constrain B-spline knots as linear combination of poles
Also squashes:

[Sketcher] Create center of gravity constraint in planegcs

[Sketcher] typo

[Sketcher] Use accurate "weights" for knots

By weights we mean the linear combination factor B_i(x) such that
spline(x) = sum(pole_i * B_i(x)) for _non-rational_ splines.

[Sketcher] Use more appropriate weights for knots

These are relevant for knots _away_ from any ends (and possibly other high
multiplicity knots).

[Sketcher] Make COG constraint weights user-definable

[Sketcher] Make `flattenedknots` for periodic B-Splines

[Sketcher] Fix incorrect setup of `flattenedknots`

Without ensuring enough space, iterators become invalid. These iterators are
needed because for periodic B-splines we need to pad flattenedknots with offset
values within flattenedknots.

Apparently there is still some iterator issues even after the reserve. Just use
fresh vectors instead.

[Sketcher] Apply knot constraints by parameter

Hopefully this will allow directly applying constraints on knots.

[Sketcher] Disable some knot updating

[Sketcher] Use center of gravity constraint on knots

[Sketcher] Fix knot COG constraint for periodic splines

[Sketcher] Add start/end point of periodic spline to solver

This removes the trouble of transferring constraints to the underlying knot.

[Sketcher] Support knot constraints on rational B-splines

[Sketcher] Remove virtual from overridden methods in planegcs

Follow 0penbrain's comments

[Sketcher][planegcs] Use `unsigned int` in signatures

Also `size_t` at places

Suggestions by @abdullahtahiriyo
2022-11-16 15:35:37 +01:00
Ajinkya Dahale 027504ce16 [Sketcher] Reformat some if-else for readability
Weren't folding right in spacemacs.
This commit can be omitted if undesired.
2022-11-16 15:35:37 +01:00
wandererfan 4f96b1bf60 [TD]fix alignment of section line marks on rotated base view 2022-11-16 08:56:00 -05:00
0penBrain e3cd132af7 [Typo]Sketcher: 'Clone' is the first command of CompCopy, match the tooltip 2022-11-16 14:48:39 +01:00
wmayer 4483c77530 Gui: MSVC requires a user-defined destructor of RecentFilesAction
otherwise the class declaration of Private is needed in the header file
2022-11-16 12:46:47 +01:00
Yorik van Havre e1aa6f58e3 Merge pull request #7526 from paullee0/ArchWall_15_UseAndCreate-ArchSketch-If-Present
[ArchWall]  Use and Create ArchSketch if add-on is present
2022-11-16 11:08:11 +01:00
Yorik van Havre f6b70cce41 Merge pull request #7786 from Roy-043/Draft-housekeeping-rename-snap-icons
Draft: housekeeping: rename snap icons
2022-11-16 09:58:47 +01:00
wmayer 9e9c784041 TD: fix memory leaks with raw pointers of GeometryObject
Replacing the use of raw pointers of GeometryObject with shared pointers fixes the observed memory leaks when running the unit tests of TechDraw
2022-11-15 16:16:08 -05:00
luz paz a9283c9945 [skip ci] Add commits to .git-blame-ignore-revs
Added:  
b389f6e602  
48365a1df5286c7a5608cd3a5cce0def5e4d5380
2022-11-15 14:30:28 -06:00
luz paz 6e542b6fad Part: remove trailing whitespace 2022-11-15 14:19:30 -06:00
luz paz a6133a583a [skip ci] Add commits to .git-blame-ignore-revs
Added: 
390e09db32  
57d0c2000a
2022-11-15 16:17:47 +01:00
luz paz b389f6e602 TechDraw: remove trailing whitespace 2022-11-15 16:17:22 +01:00
luz paz 57d0c2000a MeshPart: remove trailing whitespace 2022-11-15 12:45:52 +01:00
wmayer 61dee6b8ad App: fix memory leak and consistently use Py::asObject() in DocumentObserverPython 2022-11-15 11:04:41 +01:00
wmayer 6298a3a339 Gui: [skip ci] consistently use Py::asObject() in DocumentObserverPython 2022-11-15 11:04:07 +01:00
luz paz 390e09db32 Mesh: remove trailing whitespace 2022-11-14 21:37:03 -06:00
wandererfan 0c83a17ce8 [TD]prevent Complex Section with no Base View 2022-11-14 19:41:12 -05:00
wandererfan 26d7fe14e1 [TD]add section line marks for simple section 2022-11-14 19:41:12 -05:00
marioalexis 93133040e8 TechDraw: Improve and clean up code in some Python classes 2022-11-14 16:40:07 -05:00
wandererfan 53f5883ea1 [TD]fix handling of multiple pages
- the routines for retrieving a view's parent page
  did not correctly deal with duplicate page entries
2022-11-14 16:38:27 -05:00
wandererfan 075cbb64f0 [Measurement]apply globalPlacement to geometry 2022-11-14 16:38:06 -05:00
wmayer de04434d1f Test: [skip ci] add method clear() to document observers 2022-11-14 19:53:35 +01:00
wmayer 6e7ee14062 App: [skip ci] fix memory leak 2022-11-14 19:42:33 +01:00
Paddle f9ba739e70 Sketcher: Coincidence constraint: fix error introduced by concentric capability. 2022-11-14 17:39:09 +01:00
wmayer 3d7b116358 App: implement option to set config key 2022-11-13 19:54:30 +01:00
wmayer dacf04c835 Gui: fix some clang-tidy warnings:
* modernize-return-braced-init-list
* modernize-use-equals-default
* modernize-loop-convert
* readability-implicit-bool-conversion
* readability-named-parameter
2022-11-13 18:43:39 +01:00
wmayer 756e081a78 Gui: fix some clang-tidy warnings:
* readability-braces-around-statements
2022-11-13 17:42:08 +01:00
wmayer 904f92d747 Gui: [skip ci] fix some clang-tidy warnings:
* cppcoreguidelines-non-private-member-variables-in-classes
2022-11-13 17:16:03 +01:00
wmayer a62da05d5c clang-tidy: disable 'readability-redundant-access-specifiers' because clang-tidy fails to distinguish between 'public' vs. 'public Q_SLOTS' 2022-11-13 16:50:15 +01:00
wmayer bbb3697b77 Gui: [skip ci] fix some clang-tidy warnings:
* cppcoreguidelines-special-member-functions
* cppcoreguidelines-explicit-virtual-functions
* readability-inconsistent-declaration-parameter-name
2022-11-13 16:35:11 +01:00
wmayer 951ea0a768 Gui: fix clazy warnings:
* Wclazy-connect-by-name
* Wclazy-connect-3arg-lambda
2022-11-13 16:08:46 +01:00
wmayer fce59ca723 Sketcher: fix clazy warnings:
* Wclazy-connect-by-name
* Wclazy-unused-non-trivial-variable
* Wclazy-detaching-temporary
2022-11-13 15:39:27 +01:00
Paddle 0a5358c24f Sketcher: Fix element widget repaint delay bug
Related to https://github.com/FreeCAD/FreeCAD/pull/7567#issuecomment-1304724547
2022-11-13 07:13:06 +01:00
wmayer 0679c40d26 Gui: fix readability-identifier-length 2022-11-12 23:57:14 +01:00
wmayer 182aa2ac4c Gui: replace old-style with new-style connect 2022-11-12 21:57:26 +01:00
wmayer ad8974e9d8 Gui: improve usability of QuantitySpinBox when used as menu item 2022-11-12 18:24:27 +01:00
wandererfan 2a6bd73fc0 [TD]apply review comments from @chennes
- also delete empty execute method
2022-11-12 11:35:22 -05:00
wandererfan fe4a402b04 [TD]simplify section hatch file handling 2022-11-12 11:35:22 -05:00
wandererfan 3ce218d1d7 [TD]simplify embedded image handling 2022-11-12 11:35:22 -05:00
wandererfan 199fd11623 [TD]simplify embedded file handling 2022-11-12 11:35:22 -05:00
wandererfan 75e163213a [TD]simplify embedded hatch file handling 2022-11-12 11:35:22 -05:00
wandererfan 9c9013810e [TD]fix embedded template file handling 2022-11-12 11:35:22 -05:00
Chris Hennes eed9b6480f Addon Manager: Refactor to extract metadata checker 2022-11-11 21:50:16 -06:00
wandererfan d7ace29c75 [TD]fix vertical alignment of section pieces 2022-11-11 19:37:42 -05:00
wmayer 6a8468f5bd Gui: implement WorkbenchSwitcher class to encapsulate the parameter details 2022-11-11 22:53:02 +01:00
wmayer c966c98614 Gui: simplify code to handle workbench selector
+ replace three boolean parameters with a single string parameter
+ refactor DlgGeneralImp::saveSettings/loadSettings
+ handle visibility of corner widgets
2022-11-11 22:53:02 +01:00
wmayer 2390ed8c8f Gui: [skip ci] fix several warnings reported by GH actions 2022-11-11 22:53:02 +01:00
wmayer ceb1c83a35 Gui: replace old-style connect() with new-style 2022-11-11 22:53:02 +01:00
Roy-043 e920410607 Draft: housekeeping: rename snap icons 2022-11-11 17:33:09 +01:00
wandererfan a4fbb2d802 [TD]Section dialog gui tweaks 2022-11-11 08:53:29 -05:00
Uwe dbff8faef6 [Mesh] Feature*: remove unused includes
- also some sorting
2022-11-11 14:02:49 +01:00
wmayer 21f47cf2ec Gui: fix warnings reported by GH Actions:
* Fix trailing spaces
* Replace tabs
* Mark constructors with one argument explicit
* Fix typos
* Include FCGlobal.h to fix parsing errors
2022-11-11 09:56:43 +01:00
vernzimm 5f4dbf7b4c Gui: Add default JPEG save quality (#7737)
* Update SoFCOffscreenRenderer.cpp

Set jpg screenshot capture to 100% quality vs qimage defaulting to -1

* Add default quality to JPG export

Fixed original version and use quality 90% as compromise between file size and fidelity.
2022-11-10 22:49:28 -06:00
Uwe 7869b443db [skip ci] [Gui] NaviCube: fix warning about too short variable name
- also some whitespace unification
2022-11-11 05:16:18 +01:00
Uwe 70b9db569b [skip ci] [.clang] set pointer style to left
- since we added the .clang-format file we used Left for the pointer asterisk. It is annoying to get now all the time automatic diffs because the -clang file uses Right.
2022-11-11 05:12:47 +01:00
Uwe 60d536bdf2 [Gui] NaviCube: fix rotation to backside
- when pressing the "dot" besides the NaviCube, the rotation to the backside was not in the center thus the view jumped
2022-11-11 04:58:20 +01:00
Chris Hennes 33f671c6c1 Addon Manager: Ensure check message closes 2022-11-10 21:35:46 -06:00
Chris Hennes 103f8b77bf Addon Manager: Refactor to extract connection check GUI 2022-11-10 21:09:47 -06:00
Uwe 818ab2b3ff [.clang] use line break after case
- we used in the past line breaks after a case statements to better overview. This should be kept.
2022-11-11 04:06:21 +01:00
Uwe 8f2720b8b7 [Path] PathSimulator: remove unused includes
- also some sorting
2022-11-11 04:04:33 +01:00
Uwe bc4a5fa006 [skip ci] [Github] add file endings 2022-11-11 03:47:00 +01:00
Uwe 7e7b046041 [Mesh] Imp* - end: remove unused includes
- also some sorting
2022-11-11 03:34:31 +01:00
wmayer 3ee47be1e0 Gui: don't use '_tooltip' as argument name because it's already used for a class member 2022-11-11 01:25:33 +01:00
wandererfan 1a9637a384 [TD]fix XDirection rotation of simple sections 2022-11-10 19:19:22 -05:00
wandererfan 94c5888921 [TD]fix oblique section line ends 2022-11-10 19:19:22 -05:00
wandererfan 0ebf61184a [TD]Section dialogs minor fixes
- make simple and complex dialogs consistent
- fix translation contexts
2022-11-10 19:19:22 -05:00
wandererfan 674b341af6 [TD]fix fail in calculating section line length 2022-11-10 19:19:22 -05:00
wmayer 1139e209a8 Gui: [skip ci] fix several warnings reported by GH actions 2022-11-10 23:52:29 +01:00
wmayer 84d0f4fb6f Gui: fix regression: show commands of selected category in Toolbar tab 2022-11-10 23:20:18 +01:00
wmayer a95aefdb18 Gui: use new-style connect and add curly braces to improve readability 2022-11-10 23:20:18 +01:00
wmayer 1147758787 Gui: restore fixes of DlgKeyboard.ui and DlgToolbars.ui and fix build failure 2022-11-10 23:20:18 +01:00
Zheng, Lei 1611724d39 Gui: do not remove ending puncuation when clean action title 2022-11-10 23:20:18 +01:00
Zheng, Lei 7458912b33 Gui: fix shortcut context handling in ShortcutManager
Related #6097

Qt ignores shortcut of actions in invisible toolbar, but not for actions
in a hidden menu action of menu bar, which is likely a Qt bug. The
desired behavior should be that of toolbar actions, so that actions
belong to different workbenches can have the same shortcut without
conflict.

This commit works around this inconsistency by ensuring only the active
actions are added in menu bar. In addition, all active actions will be
added to a zero sized child widget of the main window, which ensures the
shortcuts of these actions being active regardless whether the action is
in toolbar or menu bar, visible or not.
2022-11-10 23:20:18 +01:00
Zheng, Lei b48458673c Gu: fix readonly AccelLineEdit 2022-11-10 23:20:18 +01:00
Zheng, Lei 4b377e2c31 Gui: fix command completer selection on item activate 2022-11-10 23:20:18 +01:00
Zheng, Lei 362c781553 Gui: fix Customize -> Keyboard shortcut priroity list
Add API Command::initAction() to force create action for all commands
with shortcut in order to register with ShortcutManager to obtain a
complete list of actions with the same shortcut.
2022-11-10 23:20:18 +01:00
Zheng, Lei 93c4c0884e Gui: remove command description label in Customize -> Keyboard
Because long description may cause undesired dialog layout changes. The
description is available through tool tip of the command tree widget.
2022-11-10 23:20:18 +01:00
Zheng, Lei 64bddb0d88 Gui: change Command::getRevision() to const 2022-11-10 23:20:18 +01:00
Zheng, Lei a067f477fd Gui: fix missing separator item in Customize -> Toolbar 2022-11-10 23:20:18 +01:00
Zheng, Lei 039d1a0193 Gui: fix macro command sync in Customize -> Keyboard/Toolbar 2022-11-10 23:20:18 +01:00
Zheng, Lei 2a5190f67f Gui: move CommandCompleter into its own source file 2022-11-10 23:20:18 +01:00
Zheng, Lei 02e0af2f1d Gui: fix GroupCommand icon setup 2022-11-10 23:20:18 +01:00
Zheng, Lei aba01ca182 Gui: fix ShortcutManager modifier detection 2022-11-10 23:20:18 +01:00
Zheng, Lei d94953ef91 Fix build warning 2022-11-10 23:20:18 +01:00
Zheng, Lei 3f0f5cff99 Minor code change according to suggestions 2022-11-10 23:20:18 +01:00
Zheng, Lei 31d77a954b Gui: fix action title processing 2022-11-10 23:20:18 +01:00
Zheng, Lei 3e508dd7ed Fix comment typo 2022-11-10 23:20:18 +01:00
Zheng, Lei af920dd625 Gui: fix shortcut editor 2022-11-10 23:20:18 +01:00
Zheng, Lei 1341eb635b Gui: refactor 'Customize -> Toolbars' command list handling
By reusing code in DlgCustomKeyboardImp
2022-11-10 23:20:18 +01:00
Zheng, Lei 2328284884 Gui: add ShortcutManager to unify shortcut handling
Support longest key sequence match with user defined delay (configurable
through 'Customize -> Keyboard -> Key sequence delay').

Support user defined priority to resolve shortcut conflict through
'Customize -> Keyboard')

Add 'All' category in 'Customize -> Keyboard' to list all command and
showing their shortcuts

Unify macro command shortcut setting (BaseApp/Preferences/Shortcut).
2022-11-10 23:20:18 +01:00
sliptonic 1d1679ea3e Merge pull request #7763 from mlampert/bugfix/fix-merge-issue-by-mangling-pr-7428
[PATH] bugfix/fix-merge-issue-by-mangling-pr-7428
2022-11-10 15:50:22 -06:00
Chris Hennes 6c35427952 Spreadsheet: Ensure no args to Python calls 2022-11-10 14:36:54 -06:00
Chris Hennes 4adf5836c7 Spreadsheet: Add getUsedRange() and getNonEmptyRange() 2022-11-10 14:36:54 -06:00
Chris Hennes 11dd7fc5f9 Spreadsheet: Add Python API for getUsedCells
Also adds access to getNonEmptyCells, and unit tests for both. Designed
to fix #7587.
2022-11-10 14:36:54 -06:00
Chris Hennes b444ae94d5 Addon Manager: Refactor to extract first run dialog 2022-11-10 09:42:59 -06:00
luz paz 3720ab5ed7 Add previous commit to .git-blame-ignore-revs
Adds c726b6 (PD: remove trailing whitespace) to list
2022-11-10 14:01:32 +01:00
wmayer 45dc6d3a49 Gui: determine the view size of the focal plane in perspective mode 2022-11-10 13:34:59 +01:00
luz paz c726b69d7e PD: remove trailing whitespace 2022-11-10 10:32:04 +01:00
wmayer e4b1aa7494 Mesh: [skip ci] add export macro to Wm4 constants 2022-11-10 10:23:25 +01:00
Markus Lampert 2e383f6b88 Fixed merge issue 2022-11-09 20:57:17 -08:00
Uwe 8ec1279ea8 [Mesh] App-Facet: remove unused includes
- also some sorting
2022-11-10 04:18:59 +01:00
LarryWoestman 2a0e865bbd Path: Changes for Path refactoring to fix regressions. 2022-11-09 14:33:25 -08:00
wmayer 7acc67ea43 PD: fix crash in TaskRevolutionParameters::addAxisToCombo
and some warnings reported by GH actions
2022-11-09 18:56:11 +01:00
wmayer 1911fe50ff PD: [skip ci] improve the exception text 2022-11-09 17:46:46 +01:00
Uwe 2aa232bef9 [PD] TaskDlgRevolutionParameters: fix some CI warnings
- reported here: https://github.com/FreeCAD/FreeCAD/pull/7667/commits/f0a0e563
- and here: https://github.com/FreeCAD/FreeCAD/pull/7719/commits/8f3f17f8
2022-11-09 17:33:33 +01:00
wandererfan eb407feb60 [TD]fix rotation of complex section 2022-11-09 10:05:23 -05:00
wandererfan 5cedb9ea4e [TD]fix rotation of cut face hatch 2022-11-09 10:05:23 -05:00
luz paz cd0cd182c9 Arch: remove trailing whitespace in importWebGL.py 2022-11-09 08:49:17 -06:00
wmayer f503c061fc Gui: fix warnings in DlgDisplayPropertiesImp reported by GH actions 2022-11-09 14:39:00 +01:00
Chris Hennes 7b9acb012c Draft: Remove py2 references 2022-11-09 14:08:54 +01:00
Chris Hennes f6f1928cf8 Arch: Remove Py2 code 2022-11-09 14:08:54 +01:00
Chris Hennes c355810538 Start: Remove Py2 code 2022-11-09 14:08:54 +01:00
Chris Hennes 3fe026f3c9 Remove various sys.version_info >= 3 checks 2022-11-09 14:08:54 +01:00
Chris Hennes ad18a2dc75 Update the PR template to link to CONTRIBUTING.md
Use a much shorter PR template format, preferring to link to CONTRIBUTING.md instead of spelling out each requirement here.
2022-11-09 14:07:56 +01:00
Roy-043 fc21d597a9 Draft: test_modification.py: modified test and added test (#7741)
The old test_offset_closed function was renamed to test_offset_rectangle_with_face.
It is now also a regression test for: #7670

The added test_offset_closed_with_reversed_edge function is a regression test for: #5496
2022-11-09 13:31:23 +01:00
wmayer b26fec66b1 Gui: use new-style connect() in DlgDisplayPropertiesImp 2022-11-09 10:20:49 +01:00
wmayer 5ab37d8cc2 Gui: use QSignalBlocker in DlgDisplayPropertiesImp 2022-11-09 09:36:43 +01:00
wmayer 4a27fa4ed5 Gui: refactor DlgDisplayPropertiesImp to avoid code duplication 2022-11-09 09:33:31 +01:00
Uwe 78c86711eb [skip ci] [Gui] DlgDisplayProperties: fix dialog height
- further changes done by Qt Designer
2022-11-09 02:14:58 +01:00
Adrian Insaurralde Avalos fc76d37d6f Add button to set point color in Appearance task dialog 2022-11-09 02:12:20 +01:00
marioalexis e9782bfe38 TechDraw: Fix reference counting in format attribute of CenterLinePy and CosmeticEdgePy 2022-11-08 19:46:00 -05:00
sliptonic 91a254a0fc Update PROBLEM_REPORT.yml 2022-11-08 18:43:48 -06:00
sliptonic 9068459898 Create PROBLEM_REPORT.yml 2022-11-08 18:38:49 -06:00
wandererfan c6615a1af5 [TD]fix read only scale property in DraftView
- also affects DrawViewSymbol and derivatives
2022-11-08 19:31:29 -05:00
sliptonic 5759733650 Merge pull request #7728 from arduent/master
[PATH] add OCC header/libdir to Path/libarea
2022-11-08 12:37:42 -06:00
Chris Hennes 7d4bb806ad GUI: Remove references to MS Shell DLG2 font 2022-11-08 17:54:59 +01:00
Chris Hennes 49229576fd GUI: Limit editor fonts to fixed-width 2022-11-08 17:54:59 +01:00
Chris Hennes afeaebe6de GUI: Default editor font to monospaced 2022-11-08 17:54:59 +01:00
Chris Hennes d767a923a3 Addon Manager: Add try/except to integer conversion 2022-11-08 17:01:30 +01:00
wmayer 5225a5f904 Fem: [skip ci] include Python.h before vtk headers to fix a warning with clang/MSYS2 2022-11-08 10:45:23 +01:00
wmayer 1694f1e0db Mesh: [skip ci] remove unused header 2022-11-08 10:44:15 +01:00
luz paz 30b918dac8 Gui: Rename 'Output window' to 'Report view'
Closes #7659
2022-11-07 22:51:23 -06:00
wmayer 549774e953 Spreadsheet: restore fix for multi-screen management of QtColorPicker 2022-11-07 21:43:14 +01:00
luz paz 648065f1de [PATH] add OCC header/libdir to Path/libarea
This update adds the OCC headers and lib path to src/Mod/Path/libarea/CMakeLists.txt to fix a linker error.
2022-11-07 14:03:36 -05:00
Chris Hennes 952f7adbad Correct contents of empty title string
Not allowed to be empty
2022-11-07 12:57:35 -06:00
Chris Hennes 832d479ee9 GitHub: Remove forums requirement from issue template
Fixes #7687.
2022-11-07 12:04:24 -05:00
Paddle 8d346f1bf5 Gui: Add setting enabling workbench selector to be on the menubar. Restart required. 2022-11-07 11:57:53 -05:00
luz paz 7c5557b3cb Fix typos in TD and FEM source comments/documentation [skip ci] 2022-11-07 08:03:39 -05:00
marioalexis 1a27202b69 TechDraw: Improve code in Python CosmeticEdgePy class 2022-11-07 08:01:45 -05:00
wandererfan c5a263bdd8 [TD]Prevent ComplexSection creation without valid direction 2022-11-07 07:57:37 -05:00
wandererfan 38f1906ae0 [TD]fix exception on empty compound
- if the intersection of the segment tool and
  source shape is empty, processing should
  continue with next segment
2022-11-07 07:57:37 -05:00
wandererfan 4ea2cb4cc0 [TD]fix hatch test script
- test was erroneously adding hatch to page. Hatches only
  belong to DrawViewPart.
2022-11-07 07:56:43 -05:00
Yorik van Havre 3ac40a3778 Merge pull request #7656 from Roy-043/Draft-Change-Snap-toolbar-to-standard-toolbar
Draft: Change Snap toolbar to standard toolbar
2022-11-07 10:49:26 +01:00
Yorik van Havre d68f5fe88a Merge pull request #7662 from Overruler/draft_patharray
Draft: Make tangent vector affect ExtraTranslation
2022-11-07 10:48:16 +01:00
Yorik van Havre df240315a3 Merge pull request #7661 from Roy-043/Draft-Use-DefaultShapeTransparency-in-gui_setstyle.py
Draft: Use DefaultShapeTransparency in gui_setstyle.py
2022-11-07 10:47:26 +01:00
Yorik van Havre 401f1cfe97 Merge pull request #7670 from Roy-043/Draft-Fix-rectangle-with-face-offset-bug
Draft: Fix rectangle with face offset bug
2022-11-07 10:45:25 +01:00
marioalexis 5b015b7022 TechDraw: Improve code in Python DrawPagePy class 2022-11-06 19:37:55 -05:00
wmayer 5c02a7c0e8 Gui: use braced-init-list to create LibraryInfo objects 2022-11-06 21:11:15 +01:00
wmayer 0c7c427b7e + fix build failure if SMESH support is disabled 2022-11-06 20:23:13 +01:00
wmayer b3372a5205 Gui: [skip ci] fix several warnings reported by GH Actions 2022-11-06 15:53:18 +01:00
Uwe 6a68da4871 [Gui][Mod]: uniform spin button step size to 5%
- as discussed here: https://github.com/FreeCAD/FreeCAD/pull/7103 we have different transparency spin button step sizes. This PR uniforms them all to 5%.
2022-11-06 14:27:55 +01:00
wmayer d6a7b282d5 Core: Qt6 migration, use PySide 2022-11-06 14:09:18 +01:00
Chris Hennes b407332475 Addon Manager: Qt6 migration part 1, use PySide
Migrate all uses of "import PySide 2" to use "import PySide" so that the
FreeCAD-provided wrappers can switch between Qt versions.
2022-11-06 13:19:36 +01:00
wmayer 06922ae093 Gui: [skip ci] fix several warnings reported by GH Actions 2022-11-06 13:07:34 +01:00
Uwe d20d97d6c5 [Gui] SplashScreen: modernize Qt connection
- was reported as warning by our CI
2022-11-06 12:50:23 +01:00
Uwe e31cd499b0 [PD] Helix: assure source Sketch is visible when in selection mode
- same as https://github.com/FreeCAD/FreeCAD/commit/18781bcf6 but for Helices (fixes #7629 also for helices)
- also modernize Qt connection
2022-11-06 12:48:11 +01:00
Roy-043 432e6b3bf4 Part: TestPartApp.py add tolerance to PartTestShapeRotate 2022-11-06 11:42:35 +01:00
Roy-043 ddff8dd4a9 Part: Fix typo in regression_tests.py 2022-11-06 11:40:19 +01:00
Uwe 6091c89947 [Sketch] change polyline icon
- the same intention as https://github.com/FreeCAD/FreeCAD/pull/7588 but proposal with less strokes
2022-11-06 08:09:45 +01:00
Uwe 7a5019b262 [skip ci] [Gui] DlgMaterialPropertiesImp: Clang formatting 2022-11-06 03:36:53 +01:00
Uwe e6b968397c [FEM] better safe Elmer executable path handling
- simplify and correct non-Windows case
2022-11-05 23:00:14 +01:00
wmayer d119c1c7a5 Gui/Sketcher: disable geometry deselection when user holds Ctrl or additionally Shift or Alt 2022-11-05 22:56:38 +01:00
Uwe 04fc0deb06 [Part] SectionCutting: cut long lines
- following our latest Clang coding style
2022-11-05 20:40:18 +01:00
wmayer a76dc0ade2 PD: use Base::StateLocker to simplify handling of blockUpdate and make it exception-safe 2022-11-05 19:29:20 +01:00
wmayer 18781bcf63 PD: fixes #7629: Keep sketch visible during revolution tasks 2022-11-05 19:09:54 +01:00
Uwe f3c0cfbd59 output SMESH version number in about dialog
- in order to get this info when user reports bugs
2022-11-05 17:46:34 +01:00
Chris Hennes 9e481f1ac1 Addon Manager: use versioned Python package dirs 2022-11-05 11:45:02 -05:00
Uwe 14953f66c8 [FEM] more safe Elmer executable path handling
- handle the case of mangles user.fcg file
2022-11-05 17:42:19 +01:00
wmayer 63e74c848f PD: unit test to check offset of sub-shape binder (PR #7445) 2022-11-05 16:58:51 +01:00
wmayer 927b342fbe Gui: handle std::exception and Base::Exception inside DlgPreferencesImp::createPageInGroup to avoid that the preferences dialog won't be shown at all 2022-11-05 15:47:08 +01:00
Chris Hennes ea2f757a7b Addon Manager: Handle UTF-8 decode failures
When processing downloaded text-based metadata files, catch any decode
exceptions that get thrown and translate them into a useful error
message for developers.
2022-11-05 08:47:58 -05:00
wmayer 4a4c4dad6c Gui: [skip ci] fix build failure if shiboken support is disabled 2022-11-05 13:38:39 +01:00
wmayer 9efb942e12 Qt6 port: [skip ci] set helper variable Qt6Core_MOC_EXECUTABLE pointing to the moc tool 2022-11-05 13:36:36 +01:00
wmayer 2411f1a1a1 Gui: [skip ci] fix possible crash in FilterStatusBar::eventFilter() 2022-11-05 13:33:18 +01:00
fandaL f9dfec020d FEM: femmesh2mesh add disp scale factor 2022-11-05 12:27:04 +01:00
Uwe 161be27191 [FEM] safer Elmer executable path handling
- the code already assured that the number of used CPU cores for Elmer can only be > 1 if a valid path to the '_mpi' executable is specified. However, we can have the case that Elmer was uninstalled, then the path validity checker returns an empty path and then the check for the number of cores but handle this case. THis PR does exactly this.
- also fix typos and improve error message
- also add missing save guard for hardware check
2022-11-05 02:20:30 +01:00
Uwe abb12aed2a [skip ci] [FEM] DlgSettingsFemCcx.ui: omit already set default values 2022-11-05 01:45:31 +01:00
Paddle 22f2cae70d PartDesign: Remove unusable 'Leave sketch' 'viewSketch' commands from menu.
Add 'EditSketch' 'MergeSketches' and 'mirrorSketch' usable commands to menu.
Add 'ValidateSketch' to toolbar.
2022-11-04 16:18:41 -05:00
Uwe 62c3627e1a [Gui] DlgGeneral.ui
- add newlines to very long tooltip
2022-11-04 21:29:11 +01:00
wmayer fda1b18b1a Gui: fix possible crash when running the garbage collector after creating a shiboken wrapper 2022-11-04 21:00:49 +01:00
Paddle caa953ac55 Sketcher: Add concentric capabilities to coincidence constraint. 2022-11-04 13:21:01 -05:00
wmayer 0ff55c69bf Drawing: [skip ci] remove errorneous call of macro qt_wrap_ui 2022-11-04 18:55:49 +01:00
Matthias Melcher f33be68703 [macOS] Adding QuickLook feature (#7491)
* [macOS] Adding QuickLook feature
* [macOS] Adding QuickLook support for Conda and Homebrew.
* [macOS] Support non-square app icons in thumbnails.
* [macOS] adding icon for .FCScript files
2022-11-04 12:32:19 -05:00
Paddle c9aadeec4c Gui: Allow to hide toolbars that are not needed.
In particular this hides edit-mode sketcher toolbars when in non-edit-mode.
    And hides non-edit-mode toolbar when in edit-mode.
    It also hides the structure toolbar when in edit-mode (as it is completely deactivated)
2022-11-04 12:02:16 -05:00
Paddle f2bc69647f Sketcher: Split sketcher toolbar in sketcher-edit-mode and sketcher-non-edit-mode. 2022-11-04 12:02:16 -05:00
Paddle eeddcfd2aa Base: + Sketcher: disable deselection when user holds Ctrl. 2022-11-04 10:44:52 -05:00
0penBrain 7c3e5d3b34 [Typo]Gui: fix file indentation + improve tootip 2022-11-04 08:57:53 -04:00
marioalexis 9923afe13e Base: Check sequence size in getVectorFromTuple function 2022-11-04 08:55:30 -04:00
wandererfan 92819be7fd [Measurement]support for 3 point angle 2022-11-04 08:28:13 -04:00
Adrián Insaurralde Avalos 860ce0a78e Move "Close" button to north in measure dialog
for consistency with other task dialogs
2022-11-03 20:29:15 -04:00
Adrián Insaurralde Avalos 3003d660f0 Move "Close" button to north in appearance dialog
for consistency with other task dialogs
2022-11-03 20:29:15 -04:00
wmayer 94f1534350 PyCXX: remove export macro from iterator classes to fix linking error with MSVC 2022-11-03 17:48:15 +01:00
sliptonic 71689a790f Merge pull request #7685 from sliptonic/littlefixes
Small fixes including preferences dialog
2022-11-03 09:28:34 -05:00
wandererfan 36d0a67a4a [TD]fix tooltip for Equal Tolerance 2022-11-03 10:11:50 -04:00
wandererfan 19a5301e24 [TD]fix view drag and drop to page 2022-11-03 10:10:41 -04:00
wmayer 50ee7afe4d Qt6 port: QLocale::decimalPoint() now returns a QString 2022-11-03 14:19:43 +01:00
wmayer b1343cc13c Gui: fix some minor warnings reported by GH Actions 2022-11-03 13:58:07 +01:00
0penBrain 27bea474cc Gui: decimal point converter: numpad separator always send Period to Python Console & Macro Editor 2022-11-03 13:41:06 +01:00
0penBrain 9ade306af4 Gui: improve decimal point converter algorithm
Fix a bug in key code for forged key event
 Only process spontaneous events
2022-11-03 13:41:06 +01:00
0penBrain 3bea52c4c4 Gui: modernize management of decimal converter event filter
Use unique_ptr with custom deleter to be more defensive
2022-11-03 13:41:06 +01:00
0penBrain 3eadba2b21 Gui: add decimal point converter to Translator 2022-11-03 13:41:06 +01:00
wmayer d8bd6f1fb4 Qt6 port: port WebGui module 2022-11-03 12:54:34 +01:00
wmayer 09550656c2 Qt6 port:
* Constructor of QFontDatabase is deprecated, use static functions instead
* Fix QuantitySpinBox::selectNumber()
* Fix InputField::selectNumber()
* Make InputField::fixup() compatible with Qt6
* QFont::setWeight requires an enum now
* QInputEvent reuires a pointing device now
* QAbstractItemView::viewOptions() has been renamed to QAbstractItemView::initViewItemOption()
2022-11-03 12:38:11 +01:00
wmayer d4f53c2412 Qt: replace deprecated methods of QMessageBox 2022-11-03 09:54:00 +01:00
sliptonic c490b93173 Update CONTRIBUTING.md
Updating 8.1 policy for inviting maintainers
2022-11-02 17:08:10 -04:00
sliptonic 5c946c0e8f Update CONTRIBUTING.md
split 5.1
2022-11-02 17:08:10 -04:00
sliptonic 7019e3d218 Update CONTRIBUTING.md
Typo 1.1
Remove explicit time frame in 6.11.1
change capitalization in 6.11.2  "Primary Developer" is intentionally not defined.
Remove unnecessary "User" 6.11.17
2022-11-02 17:08:10 -04:00
sliptonic 68f9f62af2 Update CONTRIBUTING.md
Clarify 5.6
Change 2.4 to redirect users to forum for help/general discussion
Change 1.2 to strike 'useful'
2022-11-02 17:08:10 -04:00
sliptonic a4443de5fa Update CONTRIBUTING.md
Revise the policy for contributors to be included in the "About" dialog
2022-11-02 17:08:10 -04:00
sliptonic 0f3d3a2821 Update CONTRIBUTING.md
Change 'patch' to 'contribution'
2022-11-02 17:08:10 -04:00
sliptonic a6d67a701f Update CONTRIBUTING.md
typos
2022-11-02 17:08:10 -04:00
sliptonic 1fc85e07c2 Update CONTRIBUTING.md
remove redefinition of 'user'
2022-11-02 17:08:10 -04:00
sliptonic 2cacd85047 More markdown formatting 2022-11-02 17:08:10 -04:00
sliptonic 3022eb3a37 Moving to markdown format 2022-11-02 17:08:10 -04:00
sliptonic fa1ac67e20 Update CONTRIBUTING.txt 2022-11-02 17:08:10 -04:00
sliptonic 805a636781 Update CONTRIBUTING.txt
Co-authored-by: Adrián Insaurralde Avalos <36372335+adrianinsaval@users.noreply.github.com>
2022-11-02 17:08:10 -04:00
sliptonic 55eeed197b Update CONTRIBUTING.txt
Co-authored-by: Adrián Insaurralde Avalos <36372335+adrianinsaval@users.noreply.github.com>
2022-11-02 17:08:10 -04:00
sliptonic 58ebbf4acc Update CONTRIBUTING.txt
Standardize capitalization.
Add refernence to RFC 2119
2022-11-02 17:08:10 -04:00
Uwe 9a50e26309 test commit from Firefox for @sliptonic
remove an empty line
2022-11-02 17:08:10 -04:00
sliptonic 270bb80e79 Fix verb forms
Gerunds and infinitive verbs.
2022-11-02 17:08:10 -04:00
sliptonic e344af118a Update CONTRIBUTING.txt
Co-authored-by: Ajinkya Dahale <AjinkyaDahale@users.noreply.github.com>
2022-11-02 17:08:10 -04:00
sliptonic 9e1a52379b Update CONTRIBUTING.txt
Co-authored-by: Ajinkya Dahale <AjinkyaDahale@users.noreply.github.com>
2022-11-02 17:08:10 -04:00
sliptonic e3303b594e Update CONTRIBUTING.txt
Co-authored-by: Ajinkya Dahale <AjinkyaDahale@users.noreply.github.com>
2022-11-02 17:08:10 -04:00
sliptonic 1e4d4948af Update CONTRIBUTING.txt
Co-authored-by: Ajinkya Dahale <AjinkyaDahale@users.noreply.github.com>
2022-11-02 17:08:10 -04:00
Chris Hennes 0cdc7602d0 Add periods to the end of all points 2022-11-02 17:08:10 -04:00
sliptonic 5df13524bf Update CONTRIBUTING.txt
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2022-11-02 17:08:10 -04:00
sliptonic 1e024f888d first draft of a process for formalizing the contribution process. 2022-11-02 17:08:10 -04:00
sliptonic f295e99e0f Panel tabs fix 2022-11-02 15:50:13 -05:00
sliptonic 35a30fe942 minor fixes 2022-11-02 15:50:13 -05:00
Roy-043 ec3a1838ca TechDraw: "Alternate Decimals" label in prefs should be italic 2022-11-02 16:26:50 -04:00
mlampert 1c530b2634 PATH: Feature/dogbone ii (#7660)
* Start of new dogbone dressup

* Added Instruction and tangents support for G2/3 moves

* Added Maneuver class to represent a set of moves and process them coherently

* Created kinks and verify their creation.

* Added dogbone detection and verification

* Simplified gcode strings

* Added horizontal t-bones generation

* Added support for vertical t-bone

* Consolidated t-bone creation

* Added support for pathLength

* Added support for tbone on short edge

* Added support for long edges

* Added support for dogbones

* Fixed dogbone for non-horizontal lead-in

* Horizontal bone adaptive length tests

* Fixed dogbone angle and adaptive length

* Some code cleanup

* Added adaptive length tests for dogbones

* Split base data classes into their own PathLanguage module.

* Splitting dogboneII implementation into its constituents

* Moved adaptive length into DogbonII module

* Separate dogboneII generator test cases and changed interface to allow for dynamic length calculations

* Unit tests for length calculation

* Initial DogboneII unit test

* Unit tests and fixes for plunge move handling

* Unit tests for the remaining styles and incision strategies

* Basic DogboneII gui

* Added support for markers

* Better color and selection scheme for markers

* Cleaned up import statements

* Added DogboneII to Path WB init

* Support for dogbone on dogbone and fixed t-bone generation

* Fixed t-bone on short leg bones

* Fixed tbone on short edge when short edge is m1

* Fixed t-bone on long edge for m0/m1 and CW/CCW

* Removed redundant code

* Removed redundant 'Dress-up' from menu entries

* black code formatting

* added generator to cmake

* Fixed typos
2022-11-02 15:25:09 -05:00
wmayer ec553a9292 Qt6 port:
* Explicitly include some missing headers
* Use 'static const char*' for XPM icon
* Skip template parameters for qMakePair
* Constructor of QFileInfo is marked as 'explicit' now
* QString::fromLatin1() also accepts a QByteArray
* QDateTime::fromTime_t() is deprecated in Qt5 and has been removed in Qt6. Use QDateTime::fromSecsSinceEpoch()
* QDateTime::toTime_t() is deprecated in Qt5 and has been removed in Qt6. Use QDateTime::toSecsSinceEpoch()
* QApplication::globalStrut() is deprecated. Don't use it any more.
* QWidget::isTopLevel() is deprecated, use QWidget::isWindow()
2022-11-02 15:16:41 +01:00
wmayer a334bc4f0a cmake: [skip ci] build with Qt6 requires the module QtSvgWidgets 2022-11-02 14:40:40 +01:00
wmayer 8365f90c09 Sketcher: [skip ci] fix constraint dialogs to use QDialog instead of QWidget
With Qt6 this fixes a compilation error because uic uses the modern style of connect()
2022-11-02 13:49:14 +01:00
wmayer 356794a646 Gui: [skip ci] fix Conda build failure 2022-11-01 22:57:47 +01:00
wmayer af0a014cf2 Qt6 port:
* QApplication::setFallbackSessionManagementEnabled has been removed
* QString::medRef() has been removed. Use QString::mid() again.
* QTextStream::setCodec has been removed
* Use operator QVariant of the QFont class to make code Qt5 and Qt6 compatible
* Signature of QTreeWidget::mimeData() has changed in Qt6. Remove TreeWidget::mimeData() because it doesn't change the implementation
* QLayout::setMargin() is deprecated in Qt5 and has been removed in Qt6. Use QLayout::setContentsMargins()
* QDateTime::toTime_t() is deprecated in Qt5 and has been removed in Qt6. Use QDateTime::toSecsSinceEpoch()
* QDesktopWidget is deprecated in Qt5 and has been removed in Qt6. Use QScreen
2022-11-01 16:55:40 +01:00
Bernd Waibel 1337203415 Core: Add additional CMake code for building with Qt6
We missed adding CMake code to also build the designer plugin against
Qt6. See https://github.com/FreeCAD/FreeCAD/pull/7647#issuecomment-1297202448

This patch adds the code to enable this.

Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
2022-11-01 08:44:53 -05:00
Flachy Joe b2eb67e806 [PartDesign] Improve Helix calculation for straight shape (#7674) 2022-10-31 23:26:10 +01:00
Uwe 4ff19f343e Revert "[Gui] background default colors"
This reverts commit 1efb0503d2.
2022-10-31 23:18:33 +01:00
wmayer 790e785dc0 Gui: do not allow to remove selected text with drag and drop 2022-10-31 18:48:52 +01:00
wmayer 64ffaa681c Gui: [skip ci] improve whitespace and use curly braces 2022-10-31 18:37:45 +01:00
Chris Hennes 2f7be9e782 cMake: Add support for compiling against Qt6 (#7647)
Removes the BUILD_QT5 flag and adds a new FREECAD_QT_VERSION option,
which can be set to either "Auto" (default), 5, or 6. Auto detects which
version of Qt is installed on the system and chooses it. If both version
are installed, Qt5 is used.

Note that this DOES NOT implement compiling against Qt6, it only adds
the necessary cMake infrastructure to begin work on the source code
changes that will be required.
2022-10-31 09:24:09 -05:00
marioalexis 7c6684a821 TechDraw: Improve code in Python CenterLinePy class 2022-10-31 09:08:52 -04:00
wmayer 37d94bb4f9 Gui: include needed header 2022-10-31 11:32:06 +01:00
wmayer 58d227570d Gui: clear the list of Python wrapper when quitting the application 2022-10-31 11:17:41 +01:00
0penBrain 2630df6edd Gui: remove forcefully jumping to Python Console bottom line on single LMB click 2022-10-30 21:30:40 -05:00
kaktus Jacek 9d91cb17a2 comment in polish (#7672)
A comment line in Polish was added.
2022-10-30 21:27:23 -05:00
JungHee Lee 27faff5dcd Update org.freecadweb.FreeCAD.desktop with Korean localisation [skip ci] 2022-10-30 20:51:03 -05:00
Roy-043 b15da84454 Draft: Fix rectangle with face offset bug 2022-10-30 16:10:04 +01:00
Roy-043 c9233ecdce Draft: fix rectangle with face offset bug 2022-10-30 12:49:28 +01:00
wandererfan 1282fdb7e8 [TD]remove export macros from PreCompiled.h 2022-10-29 19:19:54 -04:00
wandererfan 3c8ee7725b [TD]fix windows compile warnings 2022-10-29 19:19:54 -04:00
Paddle f91d41f743 Optional : Point icon color fix. From green to red. This way internal points are yellow. Construction points are blue. The issue is that all normal points are construction. So they appear blue and not red. Not sure if that's a problem. 2022-10-29 20:25:34 +02:00
Paddle d22e049930 Fix issues raised by OpenBrain. 2022-10-29 20:25:34 +02:00
Paddle deff1f42e4 ElementWidget: Fix extended naming settings not initializing. Adds 'Collapse filter' option. 2022-10-29 20:25:34 +02:00
Abdullah Tahiri 1104a84587 Sketcher: ElementWidget - Rename ElementType to SubElementType - make SubElementType nested to ElementItem 2022-10-29 20:25:34 +02:00
Abdullah Tahiri 6ff553fa5d Sketcher: ElementItem - do not select/preselect invalid 2022-10-29 20:25:34 +02:00
Paddle a656ffbd53 SKETCHER: Element widget rework see https://forum.freecadweb.org/viewtopic.php?f=8&t=72239&sid=b7787fadb4c2a7e9682d28f31ede5eb8 2022-10-29 20:25:34 +02:00
Abdullah Tahiri bad35fe26c Sketcher: GeometryFacade - new static function to check for internal alignment 2022-10-29 20:25:34 +02:00
marioalexis 5fe254e6f1 TechDraw: Improve code in Python DrawViewPartPy class 2022-10-29 09:01:52 -04:00
Chris Hennes 51f54bd3a0 TechDraw: Windows compilation fix 2022-10-29 08:49:16 -04:00
Chris Hennes c6c1c46ca0 CI: Switch to QtWebEngine instead of QtWebKit 2022-10-28 15:03:14 -05:00
Timo Kinnunen 39d469d4eb Merge branch 'FreeCAD:master' into draft_patharray 2022-10-28 16:23:14 +02:00
Timo Kinnunen e5c95b33f5 Draft: make tangent vector affect ExtraTranslation
Changes as per discussion in the PR to fix issue #7506 with @Roy-043.

Co-Authored-By: Roy-043 <70520633+Roy-043@users.noreply.github.com>
2022-10-28 16:21:39 +02:00
wandererfan 86b5000451 [TD]fix missing include for CI 2022-10-28 08:47:45 -04:00
wandererfan 99f67b8a40 [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 5ddc6ce789 [TD]Complex Section - initial implementation 2022-10-28 08:47:45 -04:00
Roy-043 dab714563d Draft: Use DefaultShapeTransparency in gui_setstyle.py 2022-10-28 10:43:55 +02:00
wmayer 9d32c892f0 Gui: [skip ci] refactor QuantitySpinBox::apply 2022-10-28 00:46:37 +02:00
mosfet80 8c6e02ac90 Delete fc.sh
Delete unused file
2022-10-27 23:51:46 +02:00
Connor Worrell 7cd01505fc Gui: Quantity Spin Box changed to use the expression parser (PR #7124) 2022-10-27 23:17:02 +02:00
wmayer 5cc9bae455 Gui: bind spin boxes of Placement dialog when opening it via menu 2022-10-27 19:30:24 +02:00
sliptonic 39b28c8a27 Merge pull request #7653 from sliptonic/bug/tagdressup
Fixes #7652  Tag creation bug
2022-10-27 09:55:46 -05:00
Uwe 978642d03e [PD] remove deprecated holes
- as discussed in https://github.com/FreeCAD/FreeCAD/pull/7642 the backwards compatibility for deprecated holes was already lost since FC 0.19
- this PR removes the deprecated types and transform holes created with FC 0.19 or 0.20 to the corresponding countersinks/counterbores.

- also add Counterdrill for translations
2022-10-27 14:24:32 +02:00
Roy-043 1eee16e9f3 Draft: Change Snap toolbar to standard toolbar 2022-10-27 10:45:48 +02:00
wmayer 4e643dcec3 Gui: refactor and modernize code of Placement dialog 2022-10-27 00:28:55 +02:00
sliptonic e196490c4c Fixes #7652 2022-10-26 17:04:54 -05:00
Paul Lee 9c19ded42d [ArchWall] Use and Create ArchSketch if add-on is present: Add 'dummy' ArchSketchObject.py
FreeCAD forum discussion - https://forum.freecadweb.org/viewtopic.php?f=23&t=71917&start=20#p636252
2022-10-27 00:59:02 +08:00
wmayer 4d8e61549d Gui: if an expression is set for Euler angles in the placement dialog then evaluate the expression instead of determining the angles from the rotation
See forum thread: https://forum.freecadweb.org/viewtopic.php?f=3&t=72522
2022-10-26 11:27:46 +02:00
wmayer bcc9c6654c Gui: don't make QuantitySpinBox dependent on implementation details of its base class 2022-10-26 10:54:07 +02:00
Yorik van Havre 784b25b590 Merge pull request #7635 from Jolbas/master
Draft: Accept 1 in NumberPolar parameter
2022-10-26 09:23:25 +02:00
Yorik van Havre 51d777718b Merge pull request #7616 from Roy-043/Draft-Make-Std_TransformManip-work-for-Draft_Point
Draft: Make Std_TransformManip work for Draft_Point
2022-10-26 09:21:53 +02:00
wmayer 71d0490dab Gui: don't make QuantitySpinBox dependent on implementation details of its base class 2022-10-26 00:43:33 +02:00
luz paz 219d1edd6a Spreadsheet: [skip ci] fix doxygen typo 2022-10-25 23:54:35 +02:00
wmayer dad0c36612 Gui: in placement dialog use spin boxes for rotation axis 2022-10-25 22:56:56 +02:00
wmayer 1143275cec Gui: [skip ci] include header 2022-10-25 22:21:19 +02:00
wmayer 7c51aa9749 Gui: [skip ci] Missing reference in range-for with non trivial type (Py::Object) [-Wclazy-range-loop-reference] 2022-10-25 13:36:39 +02:00
wmayer 51698f6a4c Gui: fix possible crash in WrapperManager 2022-10-25 12:48:55 +02:00
Uwe f1c03bc233 [PD] FeatureHole.cpp: sort counterdrill
- will be necessary to push deprecated entries to the end of the combobox in the dialog (in a coming PR)
- also fix too long code line
2022-10-25 01:09:37 +02:00
Roy-043 55510f33c5 Sketcher: Correct icon for Sketcher_CreatePointFillet 2022-10-25 00:33:28 +02:00
wmayer 7a77549ed7 Gui: cppcoreguidelines-pro-type-reinterpret-cast
Replace an unsafe reinterpret_cast with the safer static_cast
2022-10-24 17:09:53 +02:00
wmayer 845ee29a44 CMake: [skip ci] fix deprecation warning about policy CMP0072 2022-10-24 17:08:04 +02:00
wmayer c98545b6ca PD: [skip ci] disable undo/redo for the tmp. document created by the SubShapeBinder 2022-10-24 16:50:50 +02:00
wmayer 72af60c22e App: fixes issue #7628: Crash after creating Sketch for Body
The problem is that inside Transaction::addObjectNew() a transaction object is deleted before removing it from the container. When deleting the corresponding transactional object (i.e. a DocumentObject or ViewProvider)
it can happen that it e.g. calls Transaction::addOrRemoveProperty() that now finds the dangling pointer in the container.

The safe way is to first remove the object from the container before deleting it.
2022-10-24 16:49:29 +02:00
Uwe a346884c90 [skip CI] [FEM] equation.py: fix a tooltip
- the highest priority is computed first, the Wiki page is already correct
2022-10-24 15:21:54 +02:00
Stefan Klug 60d7b1d834 PartDesign: Add HoleCuteType "Counterdrill" 2022-10-24 15:19:24 +02:00
Stefan Klug c7f64b12bd PartDesign: Refactor geometry creation of counersink/counterbore
The counterbore is basically a special case of the countersink
with a countersink angle of 180 degrees and applied depth.
Handling it that way elimintaes some duplicate code and adds the ability to
combine countersinks and counterbore to form a counterdrill.

The sanity check on countersinkAngle can be safely dropped as it is ensured
by a constraint on the property itself.
2022-10-24 03:42:02 +02:00
wmayer c7b427e697 Mesh: use PropertyMaterial in view provider 2022-10-23 23:31:04 +02:00
Chris Hennes ce74f16649 Addon Manager: Clean up tests for pip 2022-10-23 15:24:42 -05:00
Jolbas 84d6656398 Accept 1 in NumberPolar parameter
Setting the NumberPolar parameter to 1 resulted in a ZeroDivisionError.
2022-10-23 21:44:57 +02:00
Bernd Hahnebach c5d9b8e4ed FEM: get LGTM silent 2022-10-23 21:43:04 +02:00
wmayer e90005572b Mesh: implement PropertyMaterial 2022-10-23 19:49:46 +02:00
Haas b7747cce26 Added 2 missing dark icons for stylesheets. 2022-10-23 12:33:15 -05:00
wmayer 25d25a0bc2 Mesh: [skip ci] add Python module with enum types 2022-10-23 18:52:33 +02:00
Stefan Klug 7ed0c36aa3 PartDesign: Remove duplicate comment 2022-10-23 09:15:17 -05:00
luz paz 2d4482cdf3 Fix source comment typo 2022-10-23 09:14:44 -05:00
Paul Lee c24004e130 [ArchWall] Use and Create ArchSketch if add-on is present: following Yorik's comment
(~ 17.10.2022) https://github.com/FreeCAD/FreeCAD/pull/7526#discussion_r997010867
2022-10-23 11:33:24 +08:00
Stefan Klug cbd1963142 [Bugfix] PartDesign: Fix HoleCutDepth not being recalculated correctly
HoleCutDepth is reset to 0 to force a recalculation of te depth when
HoleCutType is set to a new value.
But the line
	pcHole->HoleCutCustomValues.setValue(false)
also forces a recalculation. So the depth was recalculated with the old
value in HoleCutType which was not expected behaviour.
2022-10-23 04:10:18 +02:00
wmayer f88305e93b Mesh: support to add transparencies to a mesh 2022-10-22 23:31:12 +02:00
Bernd Hahnebach 062f9f6616 FEM: Python pep8 code formatting 2022-10-22 23:05:51 +02:00
wmayer 4c6e123c00 Gui: create modal color dialog on the heap if its parent widget is used in the property editor
For more details see: https://forum.freecadweb.org/viewtopic.php?f=23&t=70655
2022-10-22 21:42:21 +02:00
wmayer c5a7654285 Gui: create modal dialog on the heap if its parent widget is used in the property editor
For more details see: https://forum.freecadweb.org/viewtopic.php?f=23&t=70655
2022-10-22 18:36:52 +02:00
wmayer 916891c3fc App: simplify code in Application::newDocument 2022-10-21 21:15:21 +02:00
Abdullah Tahiri bffb82d531 Sketcher: Solver - Improvement of popularity contest and bug fix
================================================================

Master has a problem in that internal alignment constraints are suggested to the user for removal.

This is fundamentally wrong, as an internal alignment constraint are an inherent part of the geometry. They cannot be the ones suggested for removal.

The popularity contest algorithm is an heuristic algorithm that determines which redundant/conflicting constraints should be proposed for removal.

Basically, the algorithm works on groups of redundant/conflicting constraints detected via the QR decomposition. A constraint may belong to more than one group.

The algorithm runs some heuristics, each constraint scoring a value, the one constraint from each group scoring the highest is proposed (is more popular and wins the contest).

This PR documents the algorithm, and adds a further condition, that internal alignment constraints are never proposed.

As the solver works with solver constraints as opposed to the sketcher, which works with sketcher constraints, information about whether a solver constraint originated from a
sketcher constraint that is internal alignment is necessary. So the solver constraint is extended to accomodate this piece of information.

As a bonus, it fixes a bug. Solver constraints carry information of the ID of the corresponding sketcher constraint in their tag. Knots are not currently implemented as constraints.
However, the tag index was not being update. This caused the popularity contest to provide wrong suggestions despite good detection.
2022-10-21 19:54:51 +02:00
wmayer 804d0426a4 Gui: fix crash when accessing PySide wrapper after the underlying QObject has been destroyed 2022-10-21 17:05:55 +02:00
Paddle a46bed1a78 Sketcher: remove select DOF. 2022-10-21 09:47:07 -05:00
0penBrain 4c6ba8ed4d Sketcher: remove unneeded flag 2022-10-21 15:15:43 +02:00
wmayer 4fff36b550 App: [skip ci] fix string literal 2022-10-21 13:43:26 +02:00
wmayer dc02c3f1dd Part: [skip ci] fix German translation 2022-10-21 13:31:36 +02:00
wmayer ee0a0817f9 Sketcher: fix possible crash when closing the sketcher
For more details see the forum thread: https://forum.freecadweb.org/viewtopic.php?f=13&t=72774
2022-10-21 10:23:53 +02:00
Kuzemko Alexsandr 63174d487f [App] Fix of untranslated first document's name (#7156)
* Change no need function newDocument("Unnamed") call to variant without parameter. "Unnamed" set in App newDocument function instead.
* Refactor New Document command to run without parameter.
* Translate new document's userName. Internal name = "Unnamed".
* Crowdin Add to updatets.py App.ts. Create new file App.ts
* Fix error where document name is set with one function parameter. In this situation set internal and user name to string variable. For default function call (without parameter) set internal name to Unnamed, userName = translate ("Unnamed")
2022-10-20 21:35:09 -05:00
wandererfan 02fbf1334d [TD]fix check of wrong variable
- replace check of pages in selection with check of
  pages in document
- fix mixed {} conventions
- fix fail to exit on user cancel
2022-10-20 21:28:04 -04:00
adrianinsaval ceab81593d Use Std_New for new document creation at startup
so it uses the translated string
2022-10-20 19:58:16 -05:00
wmayer 4f6f600a1f Gui: [skip ci] refactor PropertyModel::buildUp 2022-10-21 02:24:42 +02:00
0penBrain 0a12d435a2 [Bugfix]Spreadsheet: fix multi-screen management of QtColorPicker
+ set parent when instantiating
2022-10-20 16:08:01 -05:00
Zheng, Lei 5fcc1c3d03 Spreadsheet: fix cell span handling
When undo/redo, copy/paste, and removing row/column
2022-10-20 16:03:20 -05:00
Zheng, Lei 05e0aba701 Spreadsheet: fix cell span synchronization with SheetTableView
Also, allow merge cell with overlaps, by auto split overlapped cells
first
2022-10-20 16:03:20 -05:00
wmayer 9ba9599629 Gui: ignore recursive call of PropertyView::onTimer() 2022-10-20 23:00:50 +02:00
wmayer fba6a718eb Gui: [skip ci] whitespace improvements 2022-10-20 21:26:53 +02:00
wandererfan 16c52bb18c [TD]expose DVP projectPoint to Python 2022-10-19 20:00:27 -04:00
luz paz 57090a43f7 [Sketcher] [Part] Fix typos and whitespace 2022-10-19 11:36:56 +02:00
0penBrain 525c05fae5 [Bugfix]Sketcher/BackEdit : Backedit lost if user changed camera mode
- in current implementation, backedit feature is lost if user changes camera mode (for example from orthographic to
   perspective, or oppositely). This happens because when changing camera mode, Coin actually do not just change a
   parameter of the camera node, but delete the current camera node and add a new one to the scenegraph. Thus the
   SoFieldSensor currently used (attached to camera orientation) is just detached and sensing is left -- notice is would
   be same with a SoNodeSensor attached to camera node --. The solution is to attach the sensor at scenegraph root node
   so it isn't lost when camera mode changed. No pre-check (such as checking if camera node changed since last call) has
   been added currently because it would not actually reduce callback execution time (and even worsen it).
2022-10-19 11:34:17 +02:00
wandererfan ce4ba703d9 [TD]ActiveView from different document 2022-10-18 09:04:28 -04:00
Roy-043 9c397cb387 Update point.py 2022-10-18 12:36:29 +02:00
Roy-043 cea60b4463 Draft: Make Std_TransformManip work for Draft_Point 2022-10-17 19:48:05 +02:00
sliptonic 9ae1432c3d Merge pull request #7605 from mlampert/bugfix/loading-path-wb-error
[PATH]: bugfix/loading-path-wb-error
2022-10-17 10:35:42 -05:00
sliptonic 38710ecf5f Merge pull request #7599 from sliptonic/codespell
fix codespell warnings
2022-10-17 10:35:00 -05:00
jim f79055c1e5 fix whitespace and add comments 2022-10-17 11:15:09 -04:00
jim d4e368a1d1 increase the height FreeType uses to draw glyphs in order to preserve precision of very fine features when converted to FC wires. scale the result back down appropriately. 2022-10-17 11:15:09 -04:00
Yorik van Havre d8d55a0e88 Merged crowdin translations 2022-10-17 15:12:16 +02:00
Yorik van Havre 27d853c619 Merge pull request #7611 from Roy-043/Draft-Escape-should-not-switch-off-continue-mode
Draft: Escape should not switch off continueMode
2022-10-17 14:47:41 +02:00
Yorik van Havre 9ff670f273 Merge pull request #7608 from Roy-043/Draft-fix-path-array-float-math-issue
Draft: Fix path array float math issue
2022-10-17 14:44:04 +02:00
Yorik van Havre dd7b589ff1 Updated ts files 2022-10-17 11:18:07 +02:00
Uwe 81143c17a1 [FEM] HypothesisPy: add inclusion comment
- add comments to avoid in future cases like this: https://github.com/FreeCAD/FreeCAD/issues/7585#issuecomment-1280170176
- also include explicitly SMESH_Version.h as safe guard in case HypothesisPy.h might in future be included in a different position
2022-10-17 04:12:07 +02:00
Uwe 85b0fcf66d [Sketch] TaskSketcherGeneral.ui: add missing stdset
- were strangely removed by out sort_ui.py script but are of course important
2022-10-17 02:51:25 +02:00
Uwe 1bfbba320b [Sketch] TaskSketcherGeneral.ui: fix compiler warning
- problem was the customwidget declaration
- the other changes were made by Qt's designer and our sort_ui.py script
2022-10-17 02:36:33 +02:00
Uwe c3e4d3c258 Revert "[Sketch] TaskSketcherGeneral: restore wording of FC 0.20"
This reverts commit 354cffe559.
2022-10-17 02:31:08 +02:00
wandererfan a22b0c89d3 [TD]update export icons 2022-10-16 07:55:35 -04:00
Ajinkya Dahale 3d7871fca5 [Sketcher] Allow driving constraint on construction geometry
Fixes issue #7442.

Also, the following commits are squashed into this one:

[Sketcher] Remove unnecessary variables

[Sketcher] Use `setDriving` within `toggleDriving`

Suggestion courtesy @0penbrain.

[Sketcher] Remove redundant check: `SketchObject::testDrivingChange`

`GeoEnum::GeoUndef = -2000` so checking if it's `< 0` is redundant.
2022-10-16 11:20:15 +02:00
Uwe f50d1c39da [Part] remove now obsolete code for Visual Studio compiler
- see the discussion in https://github.com/FreeCAD/FreeCAD/pull/7241
2022-10-16 11:17:01 +02:00
flachyjoe 48b4eed55c [Start] Fix New document name translation
Fix FreeCAD-translations/issues/198
2022-10-16 02:55:01 +02:00
Markus Lampert d784cffe3f Fixed typo in UI test case 2022-10-15 11:19:30 -07:00
Markus Lampert dae3722d71 Fixed recursive import 2022-10-15 11:19:30 -07:00
Uwe 63cc042299 [FEM] HypothesisPy.cpp: fox compiler warning
- see https://forum.freecadweb.org/viewtopic.php?p=633192#p633192
2022-10-15 19:11:06 +02:00
Roy-043 ee872dbc76 Draft: Escape should not switch off continue mode 2022-10-15 12:14:51 +02:00
Uwe 354cffe559 [Sketch] TaskSketcherGeneral: restore wording of FC 0.20
- see https://forum.freecadweb.org/viewtopic.php?p=633198#p633198
- also fix problem with wrong custom widget definition (kindly automatically fixed by Qt's designer)
2022-10-15 04:50:50 +02:00
Roy-043 b74a1b0708 Draft: Fix path array float math issue 2022-10-14 21:08:29 +02:00
wmayer 67679b8a0f App: [skip ci] use curly braces for if/else-statements and for loops 2022-10-14 13:55:11 +02:00
Uwe 459f6bd476 [FEM] commands.py: reformat a string
- just to be consistent with other strings (found by reviewing https://github.com/FreeCAD/FreeCAD-translations/issues/197)
2022-10-14 02:12:00 +02:00
sliptonic cdc3e5466f Typo in Adaptive test 2022-10-13 14:09:51 -05:00
wmayer 9282fffa07 App: add tests for cell rows and absolute cells 2022-10-13 20:16:48 +02:00
sliptonic 126c8a48db fix codespell warnings 2022-10-12 10:00:33 -05:00
Yorik van Havre d5b0dac635 Merge pull request #7598 from luzpaz/README-logo-fix
[skip ci] README: fix broken link to FC logo
2022-10-12 16:21:26 +02:00
sliptonic 62a4503fa2 Merge pull request #7440 from mlampert/refactor/path-module-naming-cleanup
[PATH]: Refactor/path module naming cleanup
2022-10-12 09:14:39 -05:00
luz paz b3ffcf72a7 [skip ci] README: fix broken link to FC logo
Closes #7595  
Migrated from markdown link to HTML. Added a hyperlink to homepage as well.
2022-10-12 09:18:35 -04:00
Yorik van Havre eaff3963bb Merge pull request #7597 from Roy-043/Draft-Point-array-Take-placement-of-point-object-into-account-and-accept-more-point-object-types
Draft: Point array: Take placement of point object into account and accept more point object types
2022-10-12 15:03:46 +02:00
Yorik van Havre bbae0ec5f1 Merge pull request #7590 from Roy-043/Draft-Fix-alignment-of-angular-dimension-arrows-in-svg.py
Draft: Fix alignment of angular dimension arrows in svg.py
2022-10-12 15:02:15 +02:00
Roy-043 a4a11a42d3 Draft: Point array: Take placement of point object into account and accept more point object types 2022-10-12 11:18:12 +02:00
Markus Lampert c74a0ad3e5 Skip legacy tools in job templates and emit error msg 2022-10-11 21:43:09 -07:00
Markus Lampert 19473a9391 Added property details if value assignment fails 2022-10-11 21:43:09 -07:00
Markus Lampert b4bfefbd56 Full recompute on test file 2022-10-11 21:43:09 -07:00
Markus Lampert 917c287e93 Fixed property bag editor to cancel if no name is given and OK is pressed 2022-10-11 21:43:09 -07:00
Markus Lampert b25d1a2db0 Fixed refactor import issue 2022-10-11 21:43:09 -07:00
Markus Lampert a9230c1f00 Convert usage of PathStop to Path.Op.Gui.Stop 2022-10-11 21:43:09 -07:00
Markus Lampert 847d54bbfd Fix Path::Feature object check 2022-10-11 21:43:09 -07:00
Markus Lampert 40864ee2d5 Fixed unit test files by re-creating the appropriate jobs 2022-10-11 21:43:09 -07:00
Markus Lampert f99c822472 Fixed merge issues 2022-10-11 21:43:09 -07:00
Markus Lampert 4645b12589 Fix SurfaceSupport for new Path source structure 2022-10-11 21:43:09 -07:00
Markus Lampert c0851a5131 Added missing diversion entries to cmake 2022-10-11 21:43:09 -07:00
Markus Lampert 039cab4d38 Removing obsolete and unused files 2022-10-11 21:43:09 -07:00
Markus Lampert 6b55f34abe Moved remaing files out of PathScripts 2022-10-11 21:43:09 -07:00
Markus Lampert 68238ccdff Added PropertyBagGui again for backwards compatibility 2022-10-11 21:43:09 -07:00
Markus Lampert a1b3319bdf Moved generators into Path.Base.Generator module 2022-10-11 21:43:09 -07:00
Markus Lampert d6293308b4 Moved the rest of the operations into Path.Op (.Gui) module 2022-10-11 21:43:09 -07:00
Markus Lampert 3f068108a8 Fixed refactor issues breaking unit tests 2022-10-11 21:43:09 -07:00
Markus Lampert 16c969c5a3 Move Path.Base and Path.Base.Gui refactoring 2022-10-11 21:43:09 -07:00
Markus Lampert 5f3acd04fe Added PropertyBag compatibility layer to support existing ToolBits 2022-10-11 21:43:09 -07:00
Markus Lampert 998347e97f Started moving base classes into Path.Base module 2022-10-11 21:43:09 -07:00
Markus Lampert 9925c71d36 Renamed Path.Tools module to Path.Tool 2022-10-11 21:43:08 -07:00
Markus Lampert 29a7dc144e Removed deprecated and obsolete Path.Tool and Path.Tooltable 2022-10-11 21:43:08 -07:00
Markus Lampert 2b36448575 Removed obsolete path profile implementations 2022-10-11 21:43:08 -07:00
Markus Lampert 6da2c338df Moved all Path operations with model and gui into Path.Op module 2022-10-11 21:43:08 -07:00
Markus Lampert 4b205943bc Moved dressups into Path.Dressup module 2022-10-11 21:43:08 -07:00
Markus Lampert 05aa36f8de Fixed PathPost when post processing is cancelled 2022-10-11 21:43:08 -07:00
Markus Lampert 8cfe5d7d7d Moved Path ToolBit and Controller into Path.Tools module 2022-10-11 21:43:08 -07:00
Markus Lampert 9037e497db Moved post processing files into new Path python module 2022-10-11 21:43:08 -07:00
Markus Lampert 253d494f17 Moved PathAdaptive into new Path.Op module 2022-10-11 21:43:08 -07:00
Markus Lampert 19a7d85595 Fixed path log unit tests 2022-10-11 21:43:08 -07:00
Markus Lampert a5a284b148 Moved PathLog to Path.Log and import it by default 2022-10-11 21:43:08 -07:00
Markus Lampert 079c0f3908 Added python based Path module and pull in PathApp namespace 2022-10-11 21:43:08 -07:00
Markus Lampert 4fe2058081 Renamed Path c++ python module to PathApp 2022-10-11 21:43:08 -07:00
Yorik van Havre 27f08f38b1 Merge pull request #7591 from Roy-043/Arch-Improve-handling-of-window-hosts
Arch: Improve handling of window hosts
2022-10-11 14:25:24 +02:00
Yorik van Havre 0d0bf39422 Merge pull request #7593 from AjinkyaDahale/techdraw-fix-snap-issue
[TD] Explicitly call `std::signbit`
2022-10-11 14:21:39 +02:00
Ajinkya Dahale 5847d86017 [TD] Explicitly call std::signbit
Snaps are failing because `signbit` isn't declared. Probably because of
e29d1d0332.
2022-10-11 11:56:40 +05:30
Ajinkya Dahale b179ad385b [Sketcher] [planegcs] Add references for equations
Some equations were mentioned by just the number without telling the resource they were from. The book was found couple years ago but not mentioned here.
2022-10-11 08:07:47 +02:00
Uwe 0ee980ca1f [salome] StdMeshers_CartesianParameters3D: fix a typo
- found by the spell-checker CI
2022-10-11 02:37:46 +02:00
Uwe a96a3a505f use explicit prefix std:: for vectors
- also add potentially missing include
- this commit is an attempt to fix #7585
2022-10-11 01:44:24 +02:00
Roy-043 b540e734f9 Arch: Improve handling of window hosts 2022-10-10 21:19:54 +02:00
Roy-043 7fe184dcc1 Draft: Fix alignment of angular dimension arrows in svg.py 2022-10-10 21:07:43 +02:00
Paddle 767ff373ee Sketcher: Control edit, change the text of 'Show grid' checkbox to 'Grid. 2022-10-10 08:50:56 -07:00
Paddle 2da9caece2 Sketcher: Remove 'Edit controls' widget 'Grid Size' LABEL. 2022-10-10 08:50:56 -07:00
0penBrain 5bb041deaa Gui: use default app text color for Python code instuctions highlighting
This allows to deal with OS native dark themes
 In such cases, Python instructions were black on a dark background
2022-10-10 07:33:41 -07:00
0penBrain c168aec824 Gui: fix default color of report view messages in preferences 2022-10-10 07:33:41 -07:00
Yorik van Havre fce72e46c8 Merged crowdin translations 2022-10-10 11:06:08 +02:00
Yorik van Havre df52f32c87 Updated ts files 2022-10-10 10:19:30 +02:00
Uwe d8d9e21d23 [TD] Gui, PreCompiled.h: add missing OCC files 2022-10-10 03:00:57 +02:00
Uwe 9ff9d589a2 [Base, Sketcher] remove redundant boolean checks 2022-10-10 02:49:17 +02:00
Uwe 57044db084 [Spread] Gui: remove unused includes
- also sort includes
2022-10-10 01:04:07 +02:00
Chris Hennes 222afe455c Gui: Add spreadsheet colors to prefererence pack 2022-10-09 16:32:01 -05:00
Uwe 2d50fd36df [Spread] remove unused includes
- also sort includes
- also additions to precompiled header
2022-10-09 20:31:31 +02:00
Uwe 32ead51360 [Spread] remove unused file
- not used, not commented and no copyright
2022-10-09 20:18:12 +02:00
Uwe a4f5518497 [TD] [skip CI] PreCompiled.h: add comments 2022-10-09 20:05:45 +02:00
Uwe 4a2aff82a6 [TD] Gui, Dlg*: remove unused includes
- also sort includes
- also two whitespace changes
2022-10-09 19:14:31 +02:00
Uwe 1b7e53acbc [TD] Gui, everything but Q*, Task* and ViewP*: remove unused includes
- also sort includes
2022-10-09 17:20:00 +02:00
wmayer ff6f04dcc2 Gui: add class TaskDialogPy 2022-10-09 14:26:42 +02:00
Uwe e29d1d0332 [TD] Gui, A*-C*: remove unused includes
- also sort includes
- also an addition to precompiled header
- TaskCenterLine: remove unused code that interferes with used code with the same name
2022-10-09 03:34:53 +02:00
luz paz 4904ab503f [skip ci] codespell: correct ignore list entry
All codespell ignore words should be lowercase.
2022-10-08 20:56:22 +02:00
wmayer ab7b147066 TD: [skip ci] adding missing Qt header to PCH 2022-10-08 19:06:34 +02:00
wmayer 841044a00a Gui: [skip ci] do not change link property when canceling dialog 2022-10-08 18:57:59 +02:00
Uwe 03a3ae8cd8 [TD] DrawD* - DrawT*: remove unused includes - part 2/2
- also sort includes
- also additions to precompiled header
2022-10-08 17:21:26 +02:00
Uwe 5b33b09a6e [TD] TaskSurfaceFinishSymbols.cpp: add missing include
- (I will not understand why this compiles for me without any warning also without this include)
2022-10-08 16:51:47 +02:00
Uwe 08a0c07479 [TD] DrawD* - DrawT*: remove unused includes - part 1
- also sort includes
2022-10-08 16:33:16 +02:00
wmayer ea5a5ff363 App: [skip ci] for the dependency graph use orange color to indicate links that go out of scope 2022-10-08 16:29:36 +02:00
chris 69c95e3fc0 macos fix for #7550 2022-10-08 06:14:18 -07:00
wmayer 16f688e933 Path: [skip ci] replace QRegExp with QRegularExpression 2022-10-08 14:07:22 +02:00
wmayer c38e522101 TD: replace QRegExp with QRegularExpression 2022-10-08 13:33:10 +02:00
wmayer 3867897edd Gui: replace QRegExp with QRegularExpression 2022-10-08 13:32:50 +02:00
Uwe 55a8b5917c [TD] [skip CI] DrawSVGTemplate.cpp: uniform whitespace 2022-10-08 12:33:12 +02:00
Uwe edba5ac85c [TD] DrawR* - DrawT*: remove unused includes
- also sort includes
2022-10-08 12:21:25 +02:00
wmayer 71e841fbe5 Tools: extend RegExp utility 2022-10-08 11:07:42 +02:00
Uwe 6188d3ed68 [TD] Draw*Imp: remove unused includes
- also some sorting
2022-10-08 04:06:10 +02:00
Uwe 753c8e3423 [TD] TaskRichAnno.cpp: add missing include
- also some sorting and removal of unused includes
2022-10-08 04:05:17 +02:00
Uwe 16abb8d548 [TD] DrawUtil: remove unused includes
- also sort includes
- also move a definition to it
- also adapt two Gui files accordingly
2022-10-08 03:35:59 +02:00
Uwe 5dc30b159c [TD] DrawView*: remove unused includes - part 2
- also sort includes
- also additions to precompiled header
2022-10-08 02:10:26 +02:00
wmayer bc9897caf8 Gui: depending on parameter settings open a transaction when changing visibility or selectability 2022-10-07 22:06:01 +02:00
0penBrain 4a9725854f Remove some trailing whitespaces 2022-10-07 12:40:17 -07:00
0penBrain 39b47185f4 [Bugfix]Base: Python method 'isEqual' of Vector shall be Const 2022-10-07 12:40:17 -07:00
Paddle bf04c0ea93 Sketcher: Make 'Edit control' widget optional. ENABLED by default. 2022-10-07 12:32:55 -07:00
Chris Hennes ea9a04e46d Gui: Remove Print from toolbar
Inadvertently left by previous commit.
2022-10-07 14:20:40 -05:00
0penBrain ccbc9612ed Gui: optionally disable wheel event when Gui::InputField doesn't have focus
Reuse "ComboBoxWheelEventFilter" switch that already acts on combo and spin boxes
2022-10-07 10:40:57 -07:00
PaddleStroke 3b7350d378 GUI: Remove copy cut print paste from File toolbar (#7571)
As discussed in the forums poll at https://forum.freecadweb.org/viewtopic.php?f=8&t=71924

Co-authored-by: Paddle <PaddleStroke@users.noreply.github.com>
2022-10-07 11:43:41 -05:00
PaddleStroke 0f29e914bd GUI: Remove Edit Mode from File toolbar (#7570)
See poll at https://forum.freecadweb.org/viewtopic.php?f=8&t=71925

Co-authored-by: Paddle <PaddleStroke@users.noreply.github.com>
2022-10-07 11:06:01 -05:00
PaddleStroke 8ef96bb9fe Sketcher: Remove StopOperation from toolbar (#7569)
Rarely used, see poll at https://forum.freecadweb.org/viewtopic.php?f=8&t=71922

Co-authored-by: Paddle <PaddleStroke@users.noreply.github.com>
2022-10-07 11:03:44 -05:00
PaddleStroke d20f2af95f Sketcher: Remove two tools from toolbar (#7568)
Removes "Select conflicting constraints" and "Select redundant constraints", as discussed in https://forum.freecadweb.org/viewtopic.php?f=8&t=71923

Co-authored-by: Paddle <PaddleStroke@users.noreply.github.com>
2022-10-07 11:01:23 -05:00
wmayer 3b5bce32b1 Tools: replace QRegExp with QRegularExpression 2022-10-07 16:31:20 +02:00
wmayer c054aca8ae [skip ci] extend codespellignore list 2022-10-07 14:59:34 +02:00
wmayer 82866db0ca Mod: replace QRegExp with QRegularExpression 2022-10-07 14:03:53 +02:00
Yorik van Havre 3774ff789c Merge pull request #7558 from Roy-043/Draft-Fix-handling-of-double-quote-in-shapestring
Draft: Fix handling of double quotes in shapestrings
2022-10-07 11:11:18 +02:00
Yorik van Havre 2e5118b47d Merge pull request #7541 from Roy-043/Draft-Improve-Draft_Edit-task-panel
Draft: Improve Draft_Edit task panel
2022-10-07 11:10:24 +02:00
Yorik van Havre 481f5f6177 Merge pull request #7528 from Roy-043/Draft-Fix-crash-when-opening-file-with-only-dimensions
Draft+Arch: Fix crash related to SoBrepEdgeSet
2022-10-07 11:09:53 +02:00
Uwe 061bf91e84 [TD] DrawView*: remove unused includes - part 1
- also sort includes
- also additions to precompiled header
2022-10-07 01:08:38 +02:00
wmayer 88702425aa Part: [skip ci] fix build failure 2022-10-06 16:50:46 +02:00
0penBrain 1793014ddf [Bugfix]CI: disable line-ending conversion as it damages .FCStd files 2022-10-06 06:06:51 -07:00
wmayer a5e2a5ace9 Fem: [skip ci] remove QRegExp 2022-10-06 13:55:21 +02:00
wmayer 807fa281a8 Core: replace QRegExp with QRegularExpression 2022-10-06 13:54:20 +02:00
Yorik van Havre 8b7c61277a Merged crowdin translations 2022-10-06 12:48:05 +02:00
Yorik van Havre d87fd4d97e Updated ts files 2022-10-06 12:16:32 +02:00
Yorik van Havre 87185f0911 Tools: Added support for pylupdate6 in translation handling scripts 2022-10-06 12:16:14 +02:00
Uwe 7a7cb8184e [Part] Step import: remove unused includes
- also sort includes
2022-10-06 02:58:23 +02:00
Uwe 60e3084d42 [TD] [skip CI] TechDrawExport.cpp: whitespace fixes 2022-10-06 02:56:35 +02:00
Uwe 5eae33e4e8 [TD] ShapeExtractor.cpp: fix whitespace 2022-10-06 02:45:00 +02:00
Uwe a6c6344c6b [TD] P* - T*: remove unused includes
- also sort includes
- also additions to precompiled header
2022-10-06 02:36:48 +02:00
wmayer e9aa0a7d9a Gui: [skip ci] add QRegularExpression to QtAll.h 2022-10-06 00:46:42 +02:00
Uwe 920468a88e [Part] fix CMake for MSVC
- as reported here: https://forum.freecadweb.org/viewtopic.php?p=630921#p630921
2022-10-06 00:41:11 +02:00
wmayer 96606c557c Base: fix build failure with MSVC 2022-10-05 21:47:47 +02:00
wmayer 6d33a969bf Gui: replace some places of deprecated QRegExp 2022-10-05 19:10:29 +02:00
wmayer e6798c53cf Base: add helper function to convert a string of a triple of floats into Vector3f 2022-10-05 18:58:51 +02:00
wmayer 3433520a74 Gui: open and commit a transaction after renaming an object in the tree view
For more details see: https://forum.freecadweb.org/viewtopic.php?f=3&t=72351
2022-10-05 11:45:18 +02:00
Roy-043 47f70013c2 Draft: Fix handling of double quote in shapestring 2022-10-05 10:57:48 +02:00
wmayer 7bc369932e Gui: [skip ci] remove DlgImportExportStep.ui resource 2022-10-05 10:31:41 +02:00
wmayer d9d8134313 Part: split DlgImportExportStep into sub-widgets in order to be used independently 2022-10-05 09:39:04 +02:00
wmayer e0aa2378a6 TD: [skip ci] may explicitly require gp_Ax3 header depending on OCCT version 2022-10-05 09:36:31 +02:00
wmayer 74b534f479 Part: [skip ci] use correct export macro 2022-10-05 08:25:24 +02:00
Uwe 5e546ee582 [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 96550e3908 [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 6cfe77719e [TD] E* - L*: remove unused includes
- also sort includes
- also additions to precompiled header
2022-10-05 03:43:42 +02:00
Uwe 7825dbdbce [skip CI] [Part] some minor whitespaces and sorting 2022-10-05 03:05:48 +02:00
Chris Hennes c7805e922c Addon Manager: Make sure metadata gets parsed 2022-10-04 14:05:43 -07:00
wmayer 5ee0f0a8cf Part: add dialog for STEP export 2022-10-04 20:30:03 +02:00
wmayer 5af6521377 Import: implement exportOptions() 2022-10-04 17:20:04 +02:00
wmayer 4d719d516e Gui: add support to get exporting options before writing a file 2022-10-04 16:23:01 +02:00
wmayer 359ec600eb Part: [skip ci] fix compiler warnings 2022-10-04 16:12:39 +02:00
Chris Hennes 0963860dd6 Addon Manager: Improve failed pip behavior (#7552)
* Addon Manager: Improve failed pip behavior
* Addon Manager: pylint cleanup
* Addon Manager: Use subprocess.CREATE_NO_WINDOW when possible
* Addon Manager: Put pip calls in QThread
* Addon Manager: Remove Py package check from startup
2022-10-04 08:58:19 -05:00
wandererfan a85f751668 [TD]encode Xml characters in spreadsheet 2022-10-04 08:16:36 -04:00
wmayer 2575f082d9 Part: [skip ci] list all used parameters for reading/writing shapes 2022-10-04 13:29:26 +02:00
wmayer 5dcaa8e5bf Part: use ImportExportSettings in client code 2022-10-04 12:32:47 +02:00
wmayer 1635e7cd91 Part: use separate setting classes for IGES, STEP and OCAF handling 2022-10-04 11:26:33 +02:00
Chris Hennes 3871af1388 Test: Add more tag testing to Metadata tests 2022-10-03 19:13:48 -07:00
Uwe d1e72dcafa [Part] remove code for < GCC 4.8
we don't support such old GCC versions anymore so I think this can be removed
2022-10-03 23:07:41 +02:00
Uwe 76ec5de64b [TD] A* - C*: remove unused includes
- also sort includes
- also sort PreCompiled.h
2022-10-03 23:05:36 +02:00
Uwe 567e53c6ea [Part] OpenCascadeAll.h: sort entries and remove duplicates
- to keep the overview (several duplicates where found this way)
- also move the few includes from TechDraw to the file
2022-10-03 22:50:55 +02:00
0penBrain 26aaf0af45 Sketcher : optimize code that was present for Qt4 compatibility
Was introduced by 634e47f31, new code only supported by Qt5
2022-10-03 11:12:35 -07:00
Chris Hennes 9b4183581f Addon Manager: Fix undeclared variable in error handling 2022-10-03 12:54:25 -05:00
Chris Hennes 14cf777aab Addon Manager: Error checking when Python can't be found 2022-10-03 12:52:57 -05:00
wmayer 8cbf978a7c Part: [skip ci] fix typo 2022-10-03 19:45:38 +02:00
wmayer 8db7ee1051 Part: implement wrapper class around Interface_Static 2022-10-03 19:03:32 +02:00
Uwe 33031555e5 [FEM] ViewProviderFemConstrain*: remove unused includes - part 2/2
- also sort includes
- also fix warnings about too long lines
2022-10-03 18:14:51 +02:00
wmayer f827de4d4d Import: make API more flexible 2022-10-03 17:26:32 +02:00
Uwe 79d17d13bf [FEM] ViewProviderFemConstrain*: remove unused includes - part 1
- also sort includes
- also fix warnings about too long lines
2022-10-03 17:10:36 +02:00
Chris Hennes ef62fc3530 Sketcher: Remove Snell's Law from toolbar
Leave menu item intact so it is still accessible, but does not use up toolbar space.
2022-10-03 09:25:42 -05:00
Uwe 30dd4af0c3 [Part] ImportStep: rename enum to fix compilation
- because the name "IN" is already defined for the Visual Studio compiler, see https://github.com/FreeCAD/FreeCAD/commit/d4e734282c534b9cf44a880db35cc4147b3e7695#r85690207
2022-10-03 15:05:50 +02:00
Uwe 1527a731e7 [FEM] ViewProviderFem*: remove unused includes
- also sort includes
2022-10-03 15:01:37 +02:00
wmayer bc1baa6808 Part: set default STEP import settings
according to https://forum.freecadweb.org/viewtopic.php?p=629883#p629883
2022-10-03 14:43:40 +02:00
wmayer d4e734282c Part: add getter/setter to ImportExportSettings and simplify DlgImportExportStep 2022-10-03 14:27:42 +02:00
Uwe 8a77ea8c98 [FEM] ViewProvider*: remove unused includes
- also sort includes
2022-10-03 06:07:55 +02:00
Uwe 1a32e6ad9c [FEM] TaskFemConstrain*: remove unused includes
- also sort includes
2022-10-03 05:20:52 +02:00
Uwe 4b79b9ff56 [FEM] TaskPostBoxes.cpp: re-add an include
- (strange that it compiled on MSVC without even a warning)
2022-10-03 05:10:07 +02:00
Uwe d067502a3b [FEM] Task*: remove unused includes
- also sort includes
2022-10-03 04:41:35 +02:00
Uwe e3bf7027a6 [TD] remove redundant nullptr checks 2022-10-03 04:25:33 +02:00
Uwe 880757c04c [Path] Area.cpp: remove redundant nullptr check 2022-10-03 04:22:40 +02:00
Uwe 10e71da57f [FEM] Dlg* etc.: remove unused includes
- also sort includes
2022-10-03 03:57:21 +02:00
Uwe 1705e8b9d0 [FEM] FemResult* to end: remove unused includes
- also sort includes
2022-10-03 03:42:22 +02:00
Uwe 447cc015f0 [FEM] FemPost*: remove unused includes
- also sort includes
2022-10-03 03:15:04 +02:00
Uwe 3b4cbbb943 [FEM] FemMesh*: remove unused includes
- also sort includes
2022-10-03 00:47:24 +02:00
Uwe f982d776fb [skip CI] [Sketcher] ViewProviderSketch.cpp: Clang formatting
- to please the CI (too long lines etc.)
2022-10-02 20:34:12 +02:00
Uwe 75702b9d28 [Gui] GuiNativeEventWin32.cpp: Clang formatting
- to fix some Ci warnings about too long lines, white spaces etc.
2022-10-02 20:29:53 +02:00
Uwe 6b36ba4bf8 [.clang] change a setting back to our "default"
- we used (since I am at FreeCAD) a line break after an if statement for better readability. I noticed that this rule on not in our .clang format causing unwanted diffs when using it (e.g. when coding using the Visual Studio IDE:)
2022-10-02 20:20:41 +02:00
Uwe 02d5c6288c [FEM] App, FemConstraint*: remove unused includes - part 2/2
- also sort includes
2022-10-02 19:36:38 +02:00
Uwe 449d52ffa8 [FEM] App, FemConstraint*: remove unused includes - part 1
- also sort includes
2022-10-02 18:51:28 +02:00
looooo c35bf58a43 add_definitions(-DSALOME_USE_64BIT_IDS) for smesh via config 2022-10-02 18:19:58 +02:00
Stanislav 23d8e7a9a4 i18n: Manually update language files from Crowdin (#7540)
* Manual update from Crowdin
2022-10-02 18:18:25 +02:00
Roy-043 d6fd0e2ef5 Draft: Improve Draft_Edit task panel 2022-10-01 11:51:53 +02:00
0penBrain b4578fb3ea [Bugfix]Gui: TinkerCAD mouse mode was always stopping RMB propagation 2022-10-01 04:38:12 +02:00
fandaL bfa9825080 FEM:fix remaining result object in memory in femmesh2mesh 2022-10-01 04:29:00 +02:00
wmayer 7669bd8adb Gui: [skip ci] use string version of QTextStream::setCodec 2022-09-30 15:11:34 +02:00
wmayer f9f201373f Qt6: remove or replace QTextCodec 2022-09-30 14:52:11 +02:00
wmayer 10e9e3b9b5 Gui: change Selection.getCompleteSelection() to return a list of SelectionObject instead of DocumentObject 2022-09-29 17:13:56 +02:00
wmayer f4b4aabc32 App: add option '--pass' to ignore arguments by the application and handle them by a script 2022-09-29 12:30:31 +02:00
0penBrain eb546e25d3 Gui: do not detach parameter observer from PythonEditor
Parameter observing (including observer deletion) is 100% managed by TextEditor superclass
2022-09-28 20:59:12 -05:00
Roy-043 093368a6ad Draft+Arch: Fix crash related to SoBrepEdgeSet 2022-09-28 17:32:12 +02:00
0penBrain 8924e265c0 Gui: add 2 commands to store and recall working view in 3D viewport 2022-09-28 17:29:11 +02:00
0penBrain 0ca641f0d7 Gui: add getter about home position to QuarterAdaptor 2022-09-28 17:29:11 +02:00
0penBrain 63c7e62c79 Gui: remove hardcoded functions from NavigationStyle 2022-09-28 17:29:11 +02:00
berniev 448ce085f4 Remove redundant reference to C++14 2022-09-28 17:03:54 +02:00
Matthias Melcher cfe9b1a70c Updating oversampling call to keep bold line style. 2022-09-28 16:49:57 +02:00
Matthias Melcher c656abe21d Better Thumbnails by oversampling hires screenshot 2022-09-28 16:49:57 +02:00
Yorik van Havre 5a14ff96f4 Merge pull request #7519 from Hubhubhurra/master
Issue #7510 - rectified transparency in importOBJ.py
2022-09-27 10:54:43 +02:00
Yorik van Havre 0715f8cff4 Merge pull request #7527 from Roy-043/Draft-Improve-Draft_Edit-context-menus
Draft: Improve Draft_Edit context menus
2022-09-27 10:53:01 +02:00
wmayer c1e7057dbb CMake: fix compiler warnings about macro redefinition 2022-09-27 08:17:31 +02:00
Chris Hennes b5e29c20dc App: Reformat Metadata per clang-tidy 2022-09-26 11:04:42 -05:00
Chris Hennes 66766282fa Addon Manager: Use Vermin to detect min Python 2022-09-26 11:04:42 -05:00
Chris Hennes 552d6ab895 Addon Manager: Add support for <pythonmin> tag 2022-09-26 11:04:42 -05:00
Chris Hennes 1d11c5805a App: Add support for <pythonmin> XML tag in metadata 2022-09-26 11:04:42 -05:00
wmayer 50bd4d8428 Mesh: move Extension3MFFactory outside Exporter3MF 2022-09-26 11:05:01 +02:00
Roy-043 fc14567d34 Draft: Improve Draft_Edit context menus 2022-09-26 10:03:50 +02:00
wmayer cbc5cf8ee0 Part: [skip ci] cppcoreguidelines-prefer-member-initializer / cppcoreguidelines-owning-memory 2022-09-26 08:05:54 +02:00
Uwe 6f74903c3d [skip CI] [Part] TaskFaceColors.cpp: whitespace 2022-09-26 03:39:10 +02:00
Uwe 24e992e97d [Part] Task*: remove unused includes - part 2/2
- also some sorting
2022-09-26 03:37:33 +02:00
Uwe 998056364d [Part] Task*: remove unused includes - part 1
- also some sorting
2022-09-26 03:05:23 +02:00
Uwe 42a19ab883 [Part] So*: remove unused includes
- also some sorting
2022-09-26 00:33:53 +02:00
Uwe 412a5a982b [Part] Dlg*: remove unused includes - part 2/2
- also some sorting
2022-09-26 00:04:46 +02:00
Uwe 219ddd0ec5 [Part] Dlg*: remove unused includes - part 1
- also some sorting
2022-09-25 21:42:37 +02:00
Paul Lee 72bca3193d [ArchWall] Use and Create ArchSketch if add-on is present 2022-09-26 00:46:04 +08:00
wmayer 73f885a37d Addon Manager: [skip ci] fix typo 2022-09-25 12:37:32 +02:00
wmayer 608fb15d40 CMske: move define 'BOOST_NO_CXX98_FUNCTION_BASE' to CompilerChecksAndSetups macro and support CMake < 3.12 2022-09-25 12:18:05 +02:00
berniev bd88f7275c Fix for Boost with C++20 2022-09-25 11:58:23 +02:00
wmayer 198ce19e46 App: Consider using getpwuid_r(...) instead of getpwuid(...) for improved thread safety. [runtime/threadsafe_fn] 2022-09-25 11:43:15 +02:00
wmayer e2a552a9c6 Sketcher: [skip ci] remove unused includes 2022-09-25 11:09:29 +02:00
wmayer 686eb74f5f Gui: fix cppcoreguidelines-non-private-member-variables-in-classes 2022-09-25 11:08:48 +02:00
wmayer bf81c8035f Gui: fix regression of 2ef4b7a06 2022-09-25 10:36:08 +02:00
Uwe 5df9546907 [App] Application.cpp: silence some CI warnings
about whitespace, line length etc.
2022-09-24 20:44:07 +02:00
berniev 94a686f348 redundant 2022-09-24 20:36:21 +02:00
Uwe 2ef4b7a06b [Gui] fix some CI warnings
- narrowing conversion from 'unsigned long' to signed type 'int' is implementation-defined
- floating point literal has suffix 'f', which is not uppercase
- narrowing conversion from 'double' to 'float'
- Slots named on_foo_bar are error prone
- also tome Clang style fixes

(see here for the reports: https://github.com/FreeCAD/FreeCAD/pull/7522/commits/d9c2efcc)
2022-09-24 19:58:11 +02:00
Chris Hennes 2849d7bec3 Addon Manager: Manually convert property to binary data 2022-09-24 11:45:15 -05:00
wmayer 414ff3fb35 App: [skip ci] improve whitespaces 2022-09-24 17:02:23 +02:00
berniev bf1c7eb345 play 2022-09-24 16:35:01 +02:00
0penBrain 5cd2160bf5 Sketcher/constraints: improve command opening management
TODO : do same in CmdSketcherConstrainTangent::substituteConstraintCombinations
2022-09-24 16:05:23 +02:00
0penBrain e4916d8057 Sketcher: fix misleading indentation 2022-09-24 16:05:23 +02:00
0penBrain 189875b769 [Bugfix]Sketcher/Point-on-object: do not substitute constraint if conditions are not OK 2022-09-24 16:05:23 +02:00
wandererfan 74c1fed8a6 [TD]fix StackTop and StackBottom 2022-09-24 08:18:38 -04:00
marioalexis 14db1b7c98 Spreadsheet: Check Python types using Base::PyTypeCheck 2022-09-24 05:10:34 +02:00
marioalexis fa6cf56020 Gui: Check Python types using Base::PyTypeCheck 2022-09-24 05:10:34 +02:00
marioalexis 5cb31ece93 App: Check Python types using Base::PyTypeCheck 2022-09-24 05:10:34 +02:00
marioalexis 2185b8086d Base: Add helper function to check Python types 2022-09-24 05:10:34 +02:00
Uwe 1636997745 [.github] disable another check
- whitespace/semicolon is not very useful for us but clutters the PRs
2022-09-24 05:06:44 +02:00
Uwe 3eb9207639 [App] silence some CI whitespace warnings 2022-09-24 04:59:38 +02:00
Uwe 598889b227 [.github] disable a check
- runtime/indentation_namespace is not very useful for us but clutters the PRs
2022-09-24 04:58:08 +02:00
Uwe 6013781b23 [Addon] fix typo
spotted by the CI spellchecker
2022-09-23 14:44:41 +02:00
Roy-043 faef448019 Part: Measure preferences: Improve UI texts 2022-09-23 14:41:54 +02:00
Adrian Insaurralde Avalos af198507f5 [Sketcher] adjust some icons to better follow art style guide [skip-ci] 2022-09-23 14:40:24 +02:00
Hubhubhurra bfbb86ccff Merge branch 'master' into master 2022-09-23 06:51:53 +02:00
Chris Hennes 94498816bd Addon Manager: Support setting min Python version 2022-09-22 20:45:39 -05:00
Andreas Matthus a4fb515d9e transparency 2022-09-22 19:13:30 +02:00
Chris Hennes cc17bd4335 App: Add support for 'discussion' URL attribute 2022-09-22 10:53:59 -05:00
Chris Hennes 4f51123626 App: Add support for <date> metadata element 2022-09-22 10:27:47 -05:00
wmayer a6c061715f Base: fix const-correctness and include required header 2022-09-22 15:58:58 +02:00
Chris Hennes 9e1ed4a68a Addon Manager: Show package dependencies 2022-09-21 14:44:35 -05:00
Chris Hennes 49e37dd611 Core: Add missing xml namespace property to metadata output 2022-09-21 08:44:38 -05:00
Yorik van Havre 3c7782b127 Merge pull request #7506 from Roy-043/Draft-Fix-several-path-array-issues
Draft: Fix several path array issues
2022-09-21 10:21:55 +02:00
Yorik van Havre f26260e658 Merge pull request #7359 from Roy-043/Draft-Improve-In-Command-shortcut-Undo-implementation
Draft: Improve In-Command-shortcut Undo implementation
2022-09-21 10:20:23 +02:00
Chris Hennes 8ce0e325cd Mesh: Add boost/regex.hpp to Mesh's PreCompiled.h 2022-09-20 16:47:27 -05:00
Chris Hennes 7f6116cf17 Addon Manager: Switch custom repo prefs to a table 2022-09-20 15:59:17 -05:00
Chris Hennes 78a4033929 Addon Manager: Migrate to managed pref page class 2022-09-20 15:59:17 -05:00
wmayer 6cb454354b Mesh: split OBJ reader and writer from MeshIO 2022-09-20 20:22:30 +02:00
Chris Hennes bf7732cbca Addon Manager: Fix macro missing warings 2022-09-20 09:05:05 -05:00
Chris Hennes 73c586ba52 Sketcher: Remove unnecessary translations
Several of the strings in TaskSketcherSolverAdvanced.ui should not be translated as they are later replaced in code.
2022-09-19 22:32:02 -05:00
wmayer 891637f00e Spreadsheet: Handle language change event for context-menu 2022-09-18 19:36:24 +02:00
marioalexis 1972dfe5a3 Base: Replace C cast 2022-09-18 11:06:51 -05:00
marioalexis 544d5a27b8 Web: Replace C cast 2022-09-18 11:06:51 -05:00
marioalexis d206116c3d TechDraw: Replace C cast 2022-09-18 11:06:51 -05:00
marioalexis 734dfc47c6 Sketcher: Replace C cast 2022-09-18 11:06:51 -05:00
marioalexis 03cba01da4 Raytracing: Replace C cast 2022-09-18 11:06:51 -05:00
marioalexis 4bf23b89b7 Points: Replace C cast 2022-09-18 11:06:51 -05:00
marioalexis f4423cfabe Path: Replace C cast 2022-09-18 11:06:51 -05:00
marioalexis 34f070cf9b Part: Replace C cast 2022-09-18 11:06:51 -05:00
marioalexis 9eadb9fbc5 Mesh: Replace C cast 2022-09-18 11:06:51 -05:00
marioalexis d239f94c3f Inspection: Replace C cast 2022-09-18 11:06:51 -05:00
marioalexis 816ce9063d Import: Replace C cast 2022-09-18 11:06:51 -05:00
marioalexis 72962ed923 Fem: Replace C cast 2022-09-18 11:06:51 -05:00
marioalexis 0382f276a2 Gui: Replace C cast 2022-09-18 11:06:51 -05:00
marioalexis 9ccb9eecb2 App: Replace C cast 2022-09-18 11:06:51 -05:00
Uwe 78cc184d50 [Part/PD] few clang formatting fixes 2022-09-18 13:33:41 +02:00
Uwe 884c11b4e9 Revert "[PD] simplify code for wedges"
This reverts commit dd574d5c68.

On MSVC this compiled and works. I have no clue why not also with Clang. Reverting for now.
2022-09-18 13:31:09 +02:00
Uwe dd574d5c68 [PD] simplify code for wedges 2022-09-18 12:32:14 +02:00
Ethan Chappel e4259cd851 Gui: Add format parameter for wedgeXmin 2022-09-18 12:06:39 +02:00
wandererfan b3dfdc568a [TD]position view within clip group 2022-09-17 09:07:30 -04:00
Roy-043 9142d4ac5e Draft: Fix several path array issues 2022-09-17 10:08:41 +02:00
wandererfan 541025b938 [TD]limit zoom out 2022-09-16 13:18:52 -04:00
Chris Hennes 3396265c42 Addon Manager: Update language for success message 2022-09-16 09:21:20 -05:00
Chris Hennes 489fc140a2 Addon Manager: Implement browse for icon 2022-09-16 09:20:46 -05:00
Chris Hennes dc2bf6c754 Gui: Add importing CFG to PrefPack dialog 2022-09-15 22:44:18 -05:00
luzpaz 277ad4f7c4 [FEM] tweak function docstrings in resulttools.py
- migrate to pep8 compatible docstrings
- tweak source comment whitespace
2022-09-16 03:12:50 +02:00
0penBrain 9f8f38faef CI: allow manual launch of CI 2022-09-16 03:11:40 +02:00
Uwe 2d61e15112 [Part] fix bold italic measurement text
- bold and italic font did not work for measurement text, see https://github.com/FreeCAD/FreeCAD/pull/7148#issuecomment-1247989284
2022-09-16 03:09:24 +02:00
wandererfan 5d0549aa7f [TD]fix handling of high precision mice/touchpads 2022-09-15 18:21:07 -04:00
wandererfan 3996a537a9 [TD]use QGraphicsView anchor for zoom 2022-09-15 18:21:07 -04:00
Chris Hennes ebb32633d8 Addon Manager: Fix bug when pip call fails 2022-09-15 16:39:13 -05:00
Chris Hennes 36332ff9a3 Core: Add QPdfWriter to QtAll PCH on Windows 2022-09-15 16:37:38 -05:00
Chris Hennes 9c9a7f035c Addon Manager: Spelling 2022-09-15 14:06:15 -05:00
Chris Hennes 5ce07933e9 Addon Manager: Clean up backup directories 2022-09-15 13:12:54 -05:00
Chris Hennes d6289e3211 Addon Manager: Fix bug with missing git in devmode 2022-09-15 13:12:54 -05:00
wmayer 860e50b589 Gui: code refactoring of dock window setup 2022-09-15 16:03:41 +02:00
Yorik van Havre b5842966c1 Merge remote-tracking branch 'gitlab/master' 2022-09-15 15:40:33 +02:00
Yorik van Havre 5472d71855 Arch: Allow to override IFC importer with the BIM WB version 2022-09-15 15:30:03 +02:00
Yorik van Havre c7d0cf044c Arch: Housecleaning - Moving IFC getPreferences() to helper module 2022-09-15 14:22:07 +02:00
wandererfan 3cb442b1c3 [TD]fix printall banner page 2022-09-15 07:48:03 -04:00
wmayer 48aafc3f8b Inspection: support display of lines, avoid explicit type checks 2022-09-15 11:46:20 +02:00
wmayer 2462f4c7a0 App: move from float to double for accuracy parameter, add a virtual method to determine a default accuracy 2022-09-15 09:52:14 +02:00
0penBrain 718be391f7 Gui: when customizing shortcuts, warn user if command isn't in use with message box 2022-09-14 15:01:54 -05:00
berniev 75acacd1b7 Gui: Use auto and range-based for (#7481)
* On lines where the variable type is obvious from inspection, avoid repeating the type using auto. 
* When possible use a ranged for loop instead of begin() and end() iterators
2022-09-14 13:25:13 -05:00
berniev d7792826b4 column limit 2022-09-14 13:21:04 -05:00
Yorik van Havre 8ed0ba5e45 Merge pull request #7483 from adrianinsaval/fcinfo-patch
[tools] fix `fcinfo -g` script
2022-09-14 13:00:08 +02:00
wmayer b5e8a2c28d Mesh: implemment mechanism to load MeshGui module when exporting to 3MF file 2022-09-14 12:05:32 +02:00
Uwe d6afbb5718 [Sketcher] rename a variable to please spellchecker
- also some code style improvements
2022-09-14 09:54:07 +02:00
Ajinkya Dahale 655e8b6504 [Sketcher] Fix Typo in comment
threated -> treated
2022-09-14 00:34:57 -05:00
0penBrain b76da40885 [Bugfix]Sketcher: prevent dangling state of Shift key if key released out of Quarter 2022-09-13 22:20:15 -05:00
Chris Hennes 1059dd4f9f OpenSCAD: Remove aux spline when no twist 2022-09-13 19:59:30 -05:00
Adrian Insaurralde Avalos 51167dfd7d [tools] fix fcinfo -g script [skip-ci]
ZipFile.read returns a bytes-like object so re.sub must be passed byte-like objects arguments when operating on those read files.
2022-09-13 19:38:43 -04:00
HarryvL 9dc9d6735a [FEM] added critical strain ratio functionality (#7467)
* added critical strain ratio functionality
2022-09-14 01:30:17 +02:00
wmayer db7d615cb0 Inspection: [skip ci] code-refactoring 2022-09-14 00:50:32 +02:00
berniev 05058e9708 space before initializer 2022-09-13 16:39:14 -05:00
wmayer b605c40449 Part: implement TopoShape::getLines 2022-09-13 23:14:17 +02:00
wmayer 061ec7f7b4 Inspection: support of shape with edges only 2022-09-13 17:05:21 +02:00
wandererfan 92294c448e [TD]fix active view on windows 2022-09-13 08:38:32 -04:00
wandererfan f337a0f9d4 [TD]fix PrintAll output to printer 2022-09-12 19:20:07 -04:00
wandererfan 1ac102e1d0 [TD]fix missing "= true" 2022-09-12 19:20:07 -04:00
wmayer 32db6656f3 OpenSCAD: add unit test to check for empty 'union' 2022-09-12 14:48:01 +02:00
wmayer 64784232ab App: [skip ci] fix -Wsometimes-uninitialized 2022-09-12 14:20:41 +02:00
Chris Hennes a70e37c20e Addon Manager: Clean up extra import 2022-09-11 20:40:23 -05:00
wandererfan ef7261e8e8 [TD]restore missing isoparameter option 2022-09-11 19:06:02 -04:00
Chris Hennes df831d8cbd Addon Manager: Protect refs to QRegularExpressionValidator 2022-09-11 17:00:44 -05:00
Chris Hennes 88ee6bb47f OpenSCAD: Support empty unions and SVG import 2022-09-11 16:48:50 -05:00
0penBrain 3d7fa720e6 [Bugfix]Sketcher: some user colors aren't taken into account 2022-09-11 22:04:38 +02:00
0penBrain 285fc1065f [Bugfix]Gui: allow set up expression even if property value is currently being edited 2022-09-11 22:01:26 +02:00
0penBrain 4bfc6a082a PartDesign: improve offset handling of SubShapeBinder 2022-09-11 21:17:22 +02:00
Uwe 4d6f7bd8b0 [github] disable 2 more checks
they are not super useful but clutter the PRs
2022-09-11 21:15:45 +02:00
looooo 628e994f5a extend find_package(SMESH) 2022-09-11 21:07:57 +02:00
Scott Mudge fac841a0b7 Fixed external SMESH cmake scripts, allowing netgen and gmsh compatibility with VTK 9
- moved base SMESH cmake logic to respective cmake script.
- allow BUILD_SMESH, regardless of external SMESH usage, for testing and so on.
2022-09-11 21:07:57 +02:00
Chris Hennes 317d489932 Addon Manager: Support older PySide2 QRegExp 2022-09-11 13:51:26 -05:00
Roy-043 6da561e995 Merge branch 'FreeCAD:master' into Draft-Improve-In-Command-shortcut-Undo-implementation 2022-09-11 15:02:37 +02:00
sliptonic f42a47aa0f Merge pull request #7469 from LarryWoestman/bugfix
Path:  Fixed test00010 sensitivity to terminal column count.
2022-09-10 18:14:16 -05:00
LarryWoestman 9b322be497 Path: Allow error diff's to be as long as necessary. 2022-09-10 09:29:58 -07:00
LarryWoestman 3ee55aa2e7 Path: Fixed test00010 sensitivity to terminal column count. 2022-09-10 09:29:58 -07:00
wandererfan ec9d256d0e [TD]space secondary views by row/columns 2022-09-10 12:00:31 -04:00
wandererfan 41944b2e2f [TD]fix PrintAll context menu entry 2022-09-10 12:00:31 -04:00
wandererfan 85734ceb54 [TD]Latin script templates to plain SVG
- batch conversion of all latin script template to plain SVG
2022-09-10 08:19:31 -04:00
Chris Hennes 01d9ff8958 Addon Manager: Fix bug in dep installation 2022-09-09 23:41:25 -05:00
Wanderer Fan b97c93008e [TD]simplify ActiveView
- remove copyActiveViewToSvgFile
- use bitmap image instead of Svg
- upgrade Task with crop options
2022-09-09 19:58:40 -04:00
Chris Hennes 6347f90b15 Addon Manager: Fix disabling addon 2022-09-09 13:00:11 -05:00
Chris Hennes 96cfa1b0d3 Addon Manager: Add note about Other... deps 2022-09-09 13:00:11 -05:00
Chris Hennes e0b181e9b1 Addon Manager: Fix macro other file copy 2022-09-09 13:00:11 -05:00
Chris Hennes 139b99d371 Addon Manager: Cleanup 2022-09-09 13:00:11 -05:00
Chris Hennes 354a29d98a Addon Manager: Refactor Licenses and People tables 2022-09-09 13:00:11 -05:00
Chris Hennes cb1f6bffa8 Addon Manager: DevMode content implementation 2022-09-09 13:00:10 -05:00
Chris Hennes 7a17106776 Addon Manager: Implement content addition dialogs 2022-09-09 13:00:10 -05:00
Chris Hennes aabf887e1e Addon Manager: Add person editor 2022-09-09 13:00:10 -05:00
Chris Hennes ea45af3a80 Addon Manager: Add license selector 2022-09-09 13:00:10 -05:00
Chris Hennes b6827b3621 Addon Manager: Sketch out basics of Developer Mode 2022-09-09 13:00:10 -05:00
wandererfan e28317f772 [TD]fix misspelled preference key 2022-09-09 13:02:08 -04:00
wandererfan 20f5db1ad1 [TD]fix extent dimension 2022-09-09 13:02:08 -04:00
0penBrain 968fb5be34 Sketcher/BackEdit: makes clip plane switch side according to view side 2022-09-09 16:09:42 +02:00
0penBrain 77f83ce716 TempoVis : makes clip plane able to revert + some improvements 2022-09-09 16:09:42 +02:00
0penBrain 7928a8c3a0 Sketcher: makes TempoVis properties read only
as they are not intended to be manually modified
2022-09-09 16:09:42 +02:00
0penBrain 3f220f1dd8 Sketcher/BackEdit: makes sketch elements render on -Z if sketch viewed from back side 2022-09-09 16:09:42 +02:00
0penBrain a6a8f27125 Sketcher/BackEdit: makes EditModeGeometryCoinConverter class VP & attorneys aware 2022-09-09 16:09:42 +02:00
0penBrain 7d1e4186cc Sketcher/BackEdit: makes EditModeInformationOverlayCoinConverter class VP & attorneys aware 2022-09-09 16:09:42 +02:00
0penBrain b40d800550 Sketcher/BackEdit: makes view orientation factor accessible to coin managers 2022-09-09 16:09:42 +02:00
0penBrain 36fccfdd08 Sketcher/BackEdit: Add camera sensor to VP that detects side and redraw if side changed 2022-09-09 16:09:42 +02:00
Yorik van Havre 028517323c Merge pull request #7462 from Roy-043/Draft-Improve-drag-and-drop-behavior-for-Layers
Draft: Improve drag-and-drop behavior for Layers
2022-09-09 11:25:25 +02:00
wmayer 975140614d Mesh: [skip ci] remove xerces2 stuff 2022-09-09 08:25:15 +02:00
berniev 58cb977c3b remove xcerces2 2022-09-09 08:02:35 +02:00
berniev fe9daff383 disable nodiscard 2022-09-09 07:32:41 +02:00
wmayer 14ee13a0a5 Part: remove duplicated wires from cross-section 2022-09-08 19:19:07 +02:00
Yorik van Havre 789a15c787 Merge pull request #7447 from VM4Dim/StartPage_Fix_Wiki_Link_to_Reverse_Engineering
[StartPage] Fix Wiki Link to Reverse_Engineering WB
2022-09-08 11:48:33 +02:00
Yorik van Havre 220c8c1259 Merge pull request #7453 from Roy-043/Draft-Fix-alignment-of-angular-dimension-arrows
Draft: Fix alignment of angular dimension arrows
2022-09-08 11:47:51 +02:00
Roy-043 333fc6448c Draft: Improve drag-and-drop behavior for Layers 2022-09-08 11:38:45 +02:00
wmayer 6d7d154c0e TD: remove unused member variables to fix -Wunused-private-field 2022-09-08 08:15:19 +02:00
sliptonic 5ffc2e10b6 Merge pull request #7455 from mlampert/bugfix/setup-sheet-stepover
[PATH]: bugfix/setup-sheet-stepover
2022-09-07 16:39:46 -05:00
wandererfan 967d4eb92e [TD]remove white matting around detail view 2022-09-07 16:06:54 -04:00
wandererfan fcef1cb174 [TD]implement view stacking 2022-09-07 16:06:54 -04:00
wandererfan d6330b7103 [TD]add PrintAll command 2022-09-07 16:06:54 -04:00
wandererfan 86f61834ce [TD]default LineFormat ctor 2022-09-07 16:06:54 -04:00
Wanderer Fan d14f8cda92 [TD]propagate X,Y changes 2022-09-07 16:06:54 -04:00
Wanderer Fan 71426aa467 [TD]fix Text sizes not exact 2022-09-07 16:06:54 -04:00
Roy-043 a71a06291b Update view_dimension.py
The FlipArrows property for angular dimensions is handled differently.
2022-09-07 19:20:49 +02:00
wmayer 8b4e114b9d TD: [skip ci] fix build failure with MSVC
The compiler requires the class declaration of LineSet in order to determine its size
2022-09-07 18:33:53 +02:00
wmayer be686c3be5 zipios: [skip ci] fix Windows build failure 2022-09-07 17:21:32 +02:00
Benjamin Bræstrup Sayoc 9c911dd1b5 [TechDraw] Microimprove new Face Finder Algorithm 2022-09-07 09:48:17 -04:00
Benjamin Bræstrup Sayoc 1d4c607bff [TechDraw] Fix bug in DrawUtil::isZeroEdge
Bug originating from e80e8bf731
2022-09-07 09:44:09 -04:00
Markus Lampert d22a880fc9 Fixed handling of App::PropertyPercent in SetupSheet save/load 2022-09-06 21:23:12 -07:00
sliptonic f5f618cd17 Merge pull request #7454 from sliptonic/PathFeedRateBug
Fix bug when testing verticallity during PathFeedRate generation
2022-09-06 16:29:48 -05:00
sliptonic ac0f0acc17 Merge pull request #7185 from LarryWoestman/post_refactor
Path:  Added G73 decomposition and more refactored tests
2022-09-06 16:29:14 -05:00
sliptonic 9b2d39ae0d Fix bug when testing verticallity during PathFeedRate generation 2022-09-06 15:50:06 -05:00
Benjamin Bræstrup Sayoc e641232899 [TechDraw] Improve readability of Geometry.cpp 2022-09-06 14:16:25 -04:00
Roy-043 c5a79d3909 Draft: Fix alignment of angular dimension arrows 2022-09-06 15:37:15 +02:00
wmayer de7949a3b7 [skip ci] Debian patches:
* Fix FTBFS on armhf/armel, undefined GL_PROJECTION (issue 1014875)
* Disable syntax checks for some Python modules
2022-09-06 14:40:10 +02:00
wmayer 5244d9663e zipios: [skip ci] remove deprecated header 2022-09-06 11:57:26 +02:00
wmayer 84ea2f10e6 zipios: Make local copy compatible with external package 2022-09-06 10:19:33 +02:00
Chris Hennes dcf2bc4fc9 Addon Manager: Safer removal of macro cache 2022-09-05 18:56:01 -05:00
wandererfan 96dae36596 [TD]dvAnnotation default dtor 2022-09-05 19:52:34 -04:00
wandererfan 2f363e4f17 [TD]New face finder algo 2022-09-05 19:52:34 -04:00
wandererfan abfd9da579 [TD]CI clang warnings 2022-09-05 19:52:34 -04:00
wandererfan acf17905ed [TD]CI clang warnings 2022-09-05 17:48:38 -04:00
wmayer 181b5af6a6 Mesh: use class ZipHeader to directly access the model file of a 3MF file 2022-09-05 18:55:43 +02:00
wmayer 1789c957df Base: [skip ci] Add function to read the CD of a zip file from a std::istream 2022-09-05 18:53:37 +02:00
VM4Dim cd6ea30d31 [StartPage] Fix Wiki Link to Reverse_Engineering WB Page 2022-09-05 15:34:06 +03:00
wmayer f35f77e98e Mod: [skip ci] fix some MSVC warnings 2022-09-05 13:45:22 +02:00
wmayer ded6b7234b Mesh: [skip ci] add missing headers to PCH 2022-09-05 12:31:16 +02:00
Yorik van Havre 6b7771d0fa Merge pull request #7437 from luzpaz/codespell-ignore
codespell: add 3 more words to codespellignore list
2022-09-05 11:23:20 +02:00
Yorik van Havre 460f33a1be Merge pull request #7441 from Roy-043/Draft-Fix-flatten-wire
Draft: Fix flatten wire
2022-09-05 11:22:49 +02:00
Yorik van Havre 0c8b50d591 Merge pull request #7436 from Roy-043/Arch-Fix-baseface-generation-for-walls-with-a-trace-that-self-intersects,-has-T-connections-or-that-overlaps
Arch: Fix wall baseface generation for overlapping and self-intersecting traces
2022-09-05 11:18:44 +02:00
Yorik van Havre f99bf376b0 Merge pull request #7267 from Roy-043/Draft-Avoid-faulty-Base.Placement.rotate()
Draft: Avoid faulty Base.Placement.rotate() in draftobjects.array.py
2022-09-05 11:16:13 +02:00
0penBrain b687e2ce0c [Bugfix]Gui: ensure message boxes appear and stay on top of main window 2022-09-05 11:09:41 +02:00
LarryWoestman 0f698bb9ac Path: Removed the comparison-style postprocessor tests.
Added the ability to output possible arguments to a file.
       Added more tests and fixed some parameter handling.
       Added 4 refactored postprocessors and postprocessor tests.
       Refactored to reduce copyitis, added G73 support
       Re-ordered parameter parsing to better match all postprocessors
2022-09-04 15:22:57 -07:00
Roy-043 39c2ff4e45 Draft: Fix flatten wire 2022-09-04 09:45:39 +02:00
sliptonic c35244e74f Merge pull request #7438 from Syres916/patch-54
[Path] Change Default Drilling Retraction from G99 to G98
2022-09-03 16:54:57 -05:00
sliptonic f50505ae42 Merge pull request #7428 from dresco/PathNaming
Path: Fix for gcode output file naming issues.
2022-09-03 16:53:41 -05:00
luz paz 7d5f208ae7 codespell: add 3 more words to codespellignore list
[skip ci]
2022-09-03 12:45:55 -04:00
wmayer 61f14dcf2c Mesh: [skip ci] fix several minor issues 2022-09-03 18:30:49 +02:00
wmayer 324e4ca33f Mesh: [skip ci] remove superfluous function call 2022-09-03 16:47:11 +02:00
wmayer 253ddde069 Mesh: support to read 3MF format 2022-09-03 16:43:56 +02:00
wandererfan 3b29cf18be [Part]fix makeWireString for Win & Py > 3.09 2022-09-03 09:23:44 -04:00
Roy-043 8aaa36a013 Arch: Fix baseface generation for walls with a trace that self-intersects, has T-connections or that overlaps 2022-09-03 09:06:51 +02:00
Chris Hennes 46b70c73fe Addon Manager: Add missing GitFailed import 2022-09-02 11:02:22 -05:00
wmayer 55866fd622 Clang: [skip ci] set minimum name length to 2 2022-09-02 13:42:42 +02:00
wmayer 01c3f1b636 Mesh: [skip ci] fix minor issues 2022-09-02 13:37:24 +02:00
Yorik van Havre 4a9559c580 Merge pull request #7424 from Roy-043/Draft-Fix-workingplane-auto-alignment-to-Front-view
Draft: Fix workingplane auto alignment to Front view
2022-09-02 12:39:07 +02:00
Jon Escombe 794a51eecc Fix for Path output file naming issues.
Use the fullPath name when opening dialog, handle cancel cleanly.

These changes fixes the output file file naming for me. Without it,
I just get the unprocessed substitution strings in the current working directory.
2022-09-02 09:11:23 +01:00
wmayer af18a9ea3b Sketch: fix build failure 2022-09-01 17:07:53 +02:00
wmayer 9381a8b2fb Base: make isMultiUnitLength() and isMultiUnitAngle() const 2022-09-01 17:07:30 +02:00
wmayer 086ce2d34c Mesh: add support of thumbnails of 3MF format 2022-09-01 16:49:00 +02:00
Syres916 9ff0ae58da [Path] Change Default Retraction from G99 to G98
See discussion https://forum.freecadweb.org/viewtopic.php?f=15&p=622670#p622670
2022-09-01 10:56:13 +01:00
Roy-043 0179afbe8a Draft: Fix workingplane auto alignment to Front view 2022-09-01 09:54:09 +02:00
wandererfan fbfac41c82 [TD]fix face centerline
- centerlines were being added to geometry in postHlrTasks,
  but some CL depend on faces and so we move to
  onFacesFinished.
2022-08-31 17:18:48 -04:00
wandererfan dd14b42829 [Sketcher]make cursor coord display unit aware 2022-08-31 16:31:27 -04:00
wandererfan 16ff6dfbbb [Base]identify schemas which use multiple units
- allow querying a schema to determine if it uses multiple
  units for length (ex ft/in) or angles (ex DMS).
2022-08-31 16:31:27 -04:00
wmayer ea8cf94991 Mesh: [skip ci] include header in source file 2022-08-31 17:37:06 +02:00
wmayer fcc9d1fc84 Mesh: avoid to create an extra tmp. copy of MeshObject 2022-08-31 17:13:15 +02:00
wmayer 16c73780b9 Mesh: add exporter class for 3MF format 2022-08-31 17:11:15 +02:00
wmayer 580c124b22 Mesh: improve 3MF support 2022-08-31 17:07:44 +02:00
wmayer 88ce83b68c zipios: unicode handling in ZipOutputStream 2022-08-31 17:05:31 +02:00
luz paz 818a8add04 github: Update PULL_REQUEST_TEMPLATE.md to v1.0 Changelog thread
Substitute the v0.20 changelog thread for the v1.0 thread. Ref: https://forum.freecad.org/viewtopic.php?p=621016#p621016  
[skip ci]
2022-08-31 16:21:39 +05:00
Yorik van Havre 9b5cf1537d Merge pull request #7354 from Roy-043/Draft-add-tolerance-to-boundbox-check-in-intersections.py
Draft: add tolerance to BoundBox check in intersections.py
2022-08-31 11:47:24 +02:00
Yorik van Havre 97ff522bb4 Merge pull request #7368 from ebrahimraeyat/master
Arch: removing unnecessary 'if' conditional check
2022-08-31 11:29:21 +02:00
wmayer 61b92666e1 Mesh: refactor mesh exporter classes 2022-08-31 10:07:57 +02:00
wandererfan 2b5452d19d [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
wandererfan 5ea33e9c4b [TD]fix too large page on print 2022-08-30 12:20:56 -04:00
wmayer d371abf6f5 Mesh: move 3MF writer to its own class 2022-08-30 12:00:23 +02:00
wmayer b277ef36c1 Misc: modernize C++: replace 'typedef' with 'using' 2022-08-30 11:10:02 +02:00
wmayer 97967743a4 TD: modernize C++: replace 'typedef' with 'using' 2022-08-30 10:59:39 +02:00
wmayer c3279b82b4 Mod: modernize C++: replace 'typedef' with 'using' 2022-08-29 23:21:15 +02:00
wmayer a7bf7869ae Sketcher: modernize C++: replace 'typedef' with 'using' 2022-08-29 23:13:16 +02:00
wmayer 2ae40e006c Points: modernize C++: replace 'typedef' with 'using' 2022-08-29 22:57:24 +02:00
wmayer 55bfdfb6d7 Path: modernize C++: replace 'typedef' with 'using' 2022-08-29 22:21:01 +02:00
wmayer 6d4f95650c PD: modernize C++: replace 'typedef' with 'using' 2022-08-29 22:20:49 +02:00
wmayer c6a208bb18 Part: modernize C++: replace 'typedef' with 'using' 2022-08-29 19:31:50 +02:00
wmayer 7eb30ca5c7 MeshPart: modernize C++: replace 'typedef' with 'using' 2022-08-29 18:36:52 +02:00
wmayer fd4e2c967b Mesh: modernize C++: replace 'typedef' with 'using' 2022-08-29 18:30:53 +02:00
wmayer e205daa43d Mod: modernize C++: replace 'typedef' with 'using' 2022-08-29 16:21:46 +02:00
wmayer ba8d5ab055 Gui: modernize C++: replace 'typedef' with 'using' 2022-08-29 14:09:18 +02:00
wmayer 5240a30431 App: modernize C++: replace 'typedef' with 'using' 2022-08-29 12:58:39 +02:00
wmayer d2168f51b9 Base: modernize C++: replace 'typedef' with 'using' 2022-08-29 11:42:09 +02:00
wandererfan 4310b49a8b [TD]replace GeometryObject only after all changes are done 2022-08-28 15:52:23 -04:00
wandererfan 4bdbacda75 [TD]clazy warning re 3 parameter QObject::connect 2022-08-28 15:52:23 -04:00
Chris Hennes 9ab037b581 Addon Manager: pylint cleanup of Macro class 2022-08-28 13:50:09 -05:00
wandererfan 3e7a22daef [TD]cosmetic vertex size consistency 2022-08-28 13:13:20 -04:00
wmayer cf399afe87 App: minor improvements:
* use 'using' instead of 'typedef' [modernize-use-using]
* fix bugprone-reserved-identifier
* fix whitespace/comma
2022-08-28 16:15:57 +02:00
wmayer e809295342 App: replace some while loops with range-based for loops to increase readability 2022-08-28 15:42:57 +02:00
berniev 2a2062ec46 App: use auto - strange iterator (PR #7405) 2022-08-28 15:29:52 +02:00
wmayer 196983cf95 Base: [skip ci] optimize writing Inventor file 2022-08-28 13:01:12 +02:00
wmayer 47f69d1389 Base: [skip ci] whitespace improvements 2022-08-28 12:20:49 +02:00
marioalexis 4cd8e2e93f Base: Fix warning -Wrange-loop-construct 2022-08-28 12:04:21 +02:00
wandererfan dd95969695 [TD]fix crash in Preferences
- QGVPage was not detaching the parameter observer when
  deleted, leaving a stale pointer in the list of observers.
2022-08-27 15:50:48 -04:00
sliptonic 51678cc8ab Merge pull request #7207 from agren/remove-dead-code
Path: Remove dead code
2022-08-27 10:18:24 -05:00
agren 90ffdda622 Merge branch 'master' into remove-dead-code 2022-08-26 20:29:39 +02:00
wmayer 1e865c6312 Part: [skip ci] remove support of Py < 3.5 2022-08-26 16:37:35 +02:00
FreeCAD-Tools 752511a9f1 fix translation issue
fix issue https://github.com/FreeCAD/FreeCAD-translations/issues/190
2022-08-26 15:01:45 +02:00
wmayer 89ad254b7c Base: support of SoFaceSet in InventorLoader 2022-08-26 14:51:43 +02:00
wmayer 6fa3a50149 Mesh: use Base::InventorLoader to load mesh files in .iv format 2022-08-26 12:39:52 +02:00
wmayer 8b7f721cd0 Base: implement loading of OpenInventor files (currently only SoIndexedFaceSet is supported) 2022-08-26 12:39:04 +02:00
Chris Hennes 283fec68f8 Addon Manager: Fix bug in updater 2022-08-25 15:57:11 -05:00
Chris Hennes 6ef7ae0404 Addon Manager: Support older git versions 2022-08-25 09:50:12 -05:00
Chris Hennes 3a47916d9b Addon Manager: Pylint cleanup of utilities 2022-08-25 09:50:12 -05:00
berniev 85ec32c60e App use explicit 2022-08-25 15:56:23 +02:00
Chris Hennes a8cb4e7444 Addon Manager: Fix bug in dependency resolver 2022-08-24 12:24:38 -05:00
Chris Hennes f8567b0975 AddonManager: Refactoring of installer 2022-08-24 12:24:38 -05:00
wmayer 65b22c2f51 Surface: [skip ci] fix minor issues found by code checkers 2022-08-24 18:47:48 +02:00
wmayer c38d8479bc Clang: fix clang-diagnostic-error 2022-08-24 17:02:17 +02:00
berniev 6953310116 Mod: Single arg ctors must be explicit 2022-08-24 16:55:20 +02:00
berniev a909df7f39 Gui: Single arg ctors must be explicit (PR #7369) 2022-08-24 15:06:03 +02:00
luz paz 4faf443883 stepZ.py: remove remaining mention of gzip_utf8
Leftover from 97ec620ff  
[skip ci]
2022-08-24 14:40:43 +02:00
wmayer 52845b8c4c Surface: add unit test for blend curve 2022-08-24 14:37:10 +02:00
wmayer 1ce78efb29 Import: [skip ci] whitespace improvements 2022-08-24 11:55:39 +02:00
andrea 97ec620ff8 remove unused gzip_utf8 2022-08-24 11:48:46 +02:00
IFo Hancroft bfa7a6687c Update org.freecadweb.FreeCAD.xml 2022-08-24 11:41:07 +02:00
IFo Hancroft f79f1dd066 Fixes filetype icon not showing
Fixes the icon of .FCStd files not showing because the xml element was
called icon instead of generic-icon
2022-08-24 11:41:07 +02:00
wmayer c538824309 Base: [skip ci] fix scale factor in unit schemes 2022-08-24 11:24:52 +02:00
wmayer b74148fdd0 Clang-tidy: [skip ci] set value of parameter readability-implicit-bool-conversion.AllowPointerConditions to true
Forum discussion: https://forum.freecadweb.org/viewtopic.php?f=10&t=71355
2022-08-24 11:15:06 +02:00
wmayer 949b43aabb App: [skip ci] whitespace improvements 2022-08-24 10:43:56 +02:00
wmayer a899f078bd CMake: [skip ci] remove trailing whitespaces 2022-08-24 07:46:07 +02:00
Jonas Bähr a1776d3e74 Fix build on MacOS-X 10.14: missing Xerces include dir
This undoes most of the Xerces related part of the commits listed below.
The issue resolved here is that the Xerces include dir *is* set in the
CMakeLists.txt of src/Base, but it got removed from various App and Gui
dirs in src/Mod. If those now include a header from src/Base, which
itself includes xercesc, the build fails using Apple clang version 11.0.0
(clang-1100.0.33.17) on Mojave, configured using cmake 3.22.1, with
errors like the following:

In file included from .../src/Mod/Part/App/FeaturePartBoolean.cpp:34:
In file included from .../src/App/Application.h:33:
.../src/Base/Parameter.h:54:10: fatal error: 'xercesc/util/XercesDefs.hpp' file not found
 #include <xercesc/util/XercesDefs.hpp>
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

Finally, a full list of the commits that introduced this spurious include
dir optimization for reference:
- Drawing: commit 96ad045b91
- Image: commit dde71a21d5
- Import: commit c9d28b542f
- Inspection: commit d41f55f382
- Mesh: commit 19072b0538
- Part: commit fe213a48f0
- PartDesign: commit b037d8e240
- Path: commit f23fa31f42
- Points: commit bec723ba17
- Raytracing: commit 08d4ac63a3
- ReverseEnginering: commit 5ca787cb0e
- Robot: commit bad4809a1c
- Sketcher: commit 3c96daf105
- Spreadsheet: commit 66e8a2bef3
- Start: commit c9dee5e70a
- Surface: commit 6b04215be6
- TechDraw: commit 5e6699e48d
- Test: commit ea5b45b92c
- Web: commit ee6d631531
2022-08-24 07:40:04 +02:00
Jonas Bähr 983e13c3b7 Fix build on MacOS-X 10.14: missing cmath header
This undoes a small part of commit 9ec0bcdcf2,
which seems a bit too agressive. Without the cmath header the build fails
using Apple clang version 11.0.0 (clang-1100.0.33.17) on Mojave with the
following error:

.../FreeCAD-git/src/Base/UnitsSchemaInternal.cpp:39:24: error: call to 'abs' is ambiguous
    double UnitValue = std::abs(quant.getValue());
                       ^~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/stdlib.h:132:6: note: candidate function
int      abs(int) __pure2;
         ^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/stdlib.h:111:44: note: candidate function
inline _LIBCPP_INLINE_VISIBILITY long      abs(     long __x) _NOEXCEPT {return  labs(__x);}
                                           ^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/stdlib.h:113:44: note: candidate function
inline _LIBCPP_INLINE_VISIBILITY long long abs(long long __x) _NOEXCEPT {return llabs(__x);}
                                           ^
1 error generated.
2022-08-24 07:40:04 +02:00
wmayer 3c8a268355 App: [skip ci] improve whitespaces 2022-08-24 07:37:41 +02:00
berniev d66df602ad App: Single arg ctors must be explicit 2022-08-24 07:20:57 +02:00
ebrahimraeyat 216ab71ade Arch: removing unnecessary 'if' conditional check
Fix for ArchRebar.py
2022-08-24 00:30:41 +04:30
luz paz ded17b7543 Follow-up typo fixes 2022-08-23 18:49:47 +02:00
luz paz 1a7ddfdc24 Fix typos and whitespace
Found via `codespell -q 3 -L aci,ake,aline,alle,alledges,alocation,als,ang,anid,anormal,apoints,ba,beginn,behaviour,bloaded,bottome,byteorder,calculater,cancelled,cancelling,cas,cascade,centimetre,childrens,childs,colour,colours,commen,connexion,currenty,dof,doubleclick,dum,eiter,elemente,ende,feld,finde,findf,freez,hist,iff,indicies,initialisation,initialise,initialised,initialises,initialisiert,inout,ist,itsel,kilometre,lod,mantatory,methode,metres,millimetre,modell,nd,noe,normale,normaly,nto,numer,oce,oder,ontop,orgin,orginx,orginy,ot,pard,parm,parms,pres,programm,que,rady,recurrance,ro,rougly,seperator,serie,sinc,siz,strack,substraction,te,technic,thist,thru,tread,uint,unter,uptodate,vertexes,wallthickness,whitespaces -S ./.git,*.po,*.ts,./ChangeLog.txt,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./src/CXX,./src/zipios++,./src/Base/swig*,./src/Mod/Robot/App/kdl_cp,./src/Mod/Import/App/SCL,./src/WindowsInstaller,./src/Doc/FreeCAD.uml,./src/Base/StackWalker.cpp,./build/doc/SourceDocu`
2022-08-23 18:49:47 +02:00
wmayer eb1f30d327 Surface: several improvements
* fix crash because of incomplete inheritance of BlendPoint and BlendCurve -> do not inherit from BaseClass
  as consequebce make destructor non-virtual and remove getPyObject
* pass std::vector by const reference
* remove unneeded includes
* use more suitable Python exception types
* when returning with null from Python handler then set an exception
* harmonize file guards
* several optimizations or simplifications
* use modern C++
* harmonize command name
* fix copyright note
2022-08-23 16:51:55 +02:00
Matteo-Grellier 27bf1dff0e [Surface]: Change to BaseClass 2022-08-23 16:51:16 +02:00
Matteo-Grellier c85c8cfb33 [Surface]: Implementation of BlenCurve. 2022-08-23 16:51:16 +02:00
tomate44 7e69d7e38b Surface: Various fixes 2022-08-23 16:51:16 +02:00
wmayer a783d5bbfc Part: fix test failure and add setBounds for backward compatibility 2022-08-23 14:06:47 +02:00
wmayer df8e661ddf Part: [skip ci] improve whitespaces 2022-08-23 13:07:10 +02:00
tomate44 c86490eb15 [Part] Change BSplineCurve/Surface setBounds() method name to scaleKnotsToBounds() 2022-08-23 12:41:55 +02:00
tomate44 e3dd67ad9f [Part] Add setBounds method to BSplineCurve
and change BSplineSurface.setBounds() to use dedicated OCCT function
2022-08-23 12:41:55 +02:00
wmayer a5ecf97092 Gui: [skip ci] fix readability-identifier-length, whitespace/comma 2022-08-23 11:14:27 +02:00
marioalexis f4b01a5568 Gui: Prevent crash when trying to create ExpressionBinding without arguments 2022-08-23 11:01:05 +02:00
ebrahimraeyat 51860063f8 Merge branch 'master' of https://github.com/FreeCAD/FreeCAD 2022-08-23 02:11:33 +04:30
Uwe 0e24ed6342 [FEM] pipelines: distinguish stresses (#7246)
- it seems using the same Field name for a vector and a scalar result causes problems with ParaView, see https://forum.freecadweb.org/viewtopic.php?p=601775#p601775
 therefore rename the vectors
2022-08-23 02:22:52 +05:00
wmayer 8efe30c8a9 Test: add test feature for unit tests 2022-08-22 15:46:40 +02:00
wmayer 71015d23d0 App: fix possible dangling pointer in Document::removeObject() 2022-08-22 11:15:14 +02:00
Christian Meusel 00204dd6d4 Tools: Use Python 3 as interpreter for fcinfo
Since Python 2 support has been dropped with #6143, let's have Python 3
as default interpreter on the platforms caring for it.
2022-08-22 12:21:55 +05:00
wmayer 91830933d7 TD: [skip ci] fix warnings of checkers about whitespaces 2022-08-22 08:37:08 +02:00
Chris Hennes 67d0679643 Addon Manager: Fix subproces call on Linux 2022-08-21 20:37:02 -05:00
Wanderer Fan 4ad52a5778 [TD]use Label in waiting for thread message 2022-08-21 21:18:26 -04:00
Wanderer Fan 1494b8288a [TD]use new style QObject::connect 2022-08-21 21:18:26 -04:00
Chris Hennes 5ea9627231 Addon Manager: Update preferences for new git 2022-08-21 15:18:14 -05:00
Chris Hennes 3c191331a2 AddonManager: pylint cleanup, git 2022-08-21 14:32:15 -05:00
Chris Hennes 46fc605fca Addon Manager: Refactoring and pylint cleanup 2022-08-21 14:32:15 -05:00
Chris Hennes ee162ff3a8 Addon Manager: Refactor to test git and eliminate GitPython 2022-08-21 14:32:15 -05:00
Chris Hennes b6da08ef8b Addon Manager: Create new git handling mechanism 2022-08-21 14:32:15 -05:00
Chris Hennes f0d5d716a7 Part: Add missing include to PCH 2022-08-21 14:23:26 -05:00
wmayer 0a96f088d1 Part: add Part.makeFilledSurface() that internally uses GeomFill_Generator 2022-08-21 18:21:13 +02:00
wmayer 5014bab534 Mod: replace std::ifstream/std::ofstream with Base::ifstream/Base::ofstream 2022-08-21 12:46:53 +02:00
wmayer 5be214b885 Base: implement default constructor and open() function for Base::ifstream and Base::ofstream 2022-08-21 11:23:04 +02:00
wmayer 145c3bf7c5 PD: [skip ci] fix UTF-8 handling in Hole feature 2022-08-21 11:07:15 +02:00
Chris Hennes a72bf218f9 Sketcher: Tweak tip language for ConstrainRadiam
Based on a question in CrowdIn.
2022-08-20 18:11:11 -05:00
Chris Hennes 84253f4b4f GUI: Remove unnecessary translation calls 2022-08-20 17:48:39 -05:00
wmayer ff01905f0b TD: fix UTF-8 handling in LineGroup 2022-08-20 16:00:36 +02:00
wmayer ea5a0371a3 Gui: [skip ci] fix UTF-8 handling of icon resources 2022-08-20 15:47:07 +02:00
Benjamin Bræstrup Sayoc 8f067e02f3 [TechDraw] Remove uneeded redefinitions of inherited functions 2022-08-19 09:14:10 -04:00
Wanderer Fan f5c5eec3bb [TD]code review changes for Gui 2022-08-18 19:43:04 -04:00
Wanderer Fan f9d62da307 [TD]code review changes for dvp, dvs 2022-08-18 19:43:04 -04:00
Wanderer Fan e8a25a8fdf [TD]code review changes for dgh, dpg, dpgi, dra 2022-08-18 19:43:04 -04:00
Wanderer Fan 644b4991e2 [TD]code review changes for dvp and dvd 2022-08-18 19:43:04 -04:00
Wanderer Fan d6806167e1 [TD]fix typo in message 2022-08-18 13:02:50 -04:00
Wanderer Fan 2d7d882235 [TD]prevent running threads on object delete 2022-08-18 09:34:32 -04:00
Wanderer Fan 74cdc6db61 [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 b1dd0bd2d0 [TD]add preference for progress reporting 2022-08-18 09:34:32 -04:00
Wanderer Fan f12846599d [TD]fix detail of section not displayed on restore 2022-08-18 09:34:32 -04:00
Wanderer Fan 00b671e370 [TD]fix projectShape for shape outline 2022-08-18 09:34:32 -04:00
Wanderer Fan 6677cd4d8f [TD]clazy warnings and duplicate setter/getter
- clazy warning re missing Q_OBJECT

- include TechDrawGlobal.h in headers

- resolve duplicate setter/getters
2022-08-18 09:34:32 -04:00
Wanderer Fan 006cf78c7a [TD]fix segfault on repeated open/close
[TD]fix memory leak in ViewProviderPage

[TD]fix QGView redraws at idle
2022-08-18 09:34:32 -04:00
Wanderer Fan 6df801ed96 [TD]respect AutoDistribute on load 2022-08-18 09:34:32 -04:00
Wanderer Fan a2b09d37c5 [TD]move section cut and detail common to thread 2022-08-18 09:34:32 -04:00
Wanderer Fan ac63550122 [TD]add progress reporting framework 2022-08-18 09:34:32 -04:00
Wanderer Fan 7e701969af [TD]run hlr and extractFaces in threads 2022-08-18 09:34:32 -04:00
Wanderer Fan bdf4cea14e [TD]refactor scene/view/mdi
- move scene related functions out of mdiViewPage
  and QGVPage.
- route requests for scene/view/mdi through
  ViewProviderPage
2022-08-18 09:34:32 -04:00
Uwe 9c929897ac [Netgen] fix typos found by codespell 2022-08-18 02:39:47 +02:00
Uwe 1efb0503d2 [Gui] background default colors
- for better contrast and "fresher" look, see developers forum
2022-08-18 02:38:45 +02:00
Uwe 8b056f156f [Netgen] add headers to support recent Netgen
- as reported here: https://forum.freecadweb.org/viewtopic.php?p=618174#p618174
- also fix compiler warnings about unsafe bool handling
2022-08-17 12:32:02 +02:00
Uwe ee68391bc8 [FEM] point filter: add units for flux results 2022-08-17 00:10:22 +02:00
Uwe 876b4ebb8e [FEM] Elmer: fix flux equation
- the Flux solver must be executed before Heat and Electrostatic
- the analysis can have multiple Flux equations -> write a unique solver name to case.sif
- the Flux equation can currently only take 2 possible values. Therefore provide them as enum
2022-08-16 03:49:26 +02:00
wmayer 68053e4f4d ReverseEngineering: [skip ci] improve doc string of approxSurface 2022-08-15 15:23:39 +02:00
Uwe baf294a5a6 [FEM] initial pressure: bind expression to QuantitySpinBox 2022-08-15 11:54:33 +02:00
wmayer bc2f04889b Base: [skip ci] improve whitespaces 2022-08-15 11:42:26 +02:00
wmayer 020bf1789a Base: expose enum NumberFormat to Python 2022-08-15 11:12:53 +02:00
ebrahimraeyat c3e724d78d Removing Unnecessary if conditional check 2022-08-15 07:15:05 +04:30
Uwe 040f86c4d5 [FEM] fix body heat source constraint
- as the name implies, it must be possible to set the heat to different bodies
- for this a selection dialog is necessary
- check that heat is not zero
2022-08-15 02:47:01 +02:00
Uwe 0a18346767 [FEM] potential constraint: change default value
- in practice one wants to apply potentials to faces via this constraint, therefore enable to set a potential by default, also assure that the initial unit is V
2022-08-15 02:41:35 +02:00
Uwe 9b56412856 [FEM] potential constraint: allow to set expression for value 2022-08-15 01:33:35 +02:00
Uwe 517fde7881 [Base] [skip CI] fix a typo in QuantityPy.xml 2022-08-15 01:22:02 +02:00
Uwe 26c04ab136 [FEM] [skip CI] sorting in Fem.qrc 2022-08-14 23:02:05 +02:00
Uwe 262658685a [Gui] revert the revert of setting unit factor for F/m
- see https://github.com/FreeCAD/FreeCAD/commit/9db5dff7#r81159352
2022-08-14 22:58:12 +02:00
Uwe f7c3989a2f [FEM] move initial pressure to fluid constraints group
- this is a fluid-specific constraint
2022-08-14 22:32:29 +02:00
Uwe 37a3338537 [Gui] revert setting unit factor for F/m
- see https://github.com/FreeCAD/FreeCAD/commit/9db5dff7#r81159352
2022-08-14 20:49:58 +02:00
Uwe a598398a0b [FEM] [skip CI] Elmer writer: fix indentation mistake
- found by Pylint checker
2022-08-14 20:41:29 +02:00
Uwe b177a8d6b2 [.github] disable too many lines check
- we are aware of that some modules are too long but bothering us every time is not very helpful. However, the preset 1000 lines is a relatively small number. (Personally I prefer for better overview more in a single file since then search & replace, comparing code etc. is easier than having 10 files with each 100 lines opened.)
2022-08-14 20:40:12 +02:00
wmayer 43b6c65311 Test: unit test for handling of the factor of F/m
This test is supposed to cause a failure because of the wrong factor of F/m for SI1 and SI2 in commit 9db5dff7
2022-08-14 20:17:13 +02:00
Uwe 27f50ad131 [FEM] add initial pressure constraint (#7364)
* [FEM] add initial pressure constraint

- this is needed for fluids
2022-08-14 20:00:36 +02:00
Uwe 32d7663e46 [FEM] permittivity: improve code
- in commit 9db5dff7 I hard-coded the permittivity incorrectly
2022-08-14 19:12:59 +02:00
wmayer 7ed74fa63d Test: [skip ci] failUnless is deprecated, replace it with assertTrue 2022-08-14 19:06:39 +02:00
andrea 10a78d91af remove unused CXX standards. change boost min version to 1.65
reintroduce c++14
2022-08-14 18:11:14 +02:00
Uwe 9db5dff744 [FEM] fix handling of vacuum permittivity
- fix message that permittivity object was not handled
- set an expression, otherwise the user gets only "0.000" for the default of 8.8e-12
- use as unit the common "F/m" (this is also more user-friendly than "s^4*A^2 / (m^3*kg)")
- fix a ToDo
2022-08-14 17:59:42 +02:00
Uwe e2636b2926 [FEM] Elmer example: remove wrong permittivity
- a permittivity of 1 F/m is not physical, also not for testing. In fact overwriting a constant is not good practice for an example
2022-08-14 17:54:15 +02:00
Uwe e0585a328b [FEM] Elmer: writer: get rid of unnecessary function
- fixes the ToDo
- also remove unnecessary comment
2022-08-14 17:12:48 +02:00
Wanderer Fan 99120c2c74 [TD]include clean up continued 2022-08-14 10:29:25 -04:00
Uwe dce15245fa [FEM] Elmer: handle pressure for fluids
- Elmer allows external pressure on fluid boundaries as well as for solids
2022-08-14 16:08:14 +02:00
Wanderer Fan f2ba030ebb [TD]remove precompiled from *.h 2022-08-14 09:20:38 -04:00
Benjamin Bræstrup Sayoc aa9a667506 [TechDraw] Clean up precompile in Gui 2022-08-14 09:20:38 -04:00
Uwe 52b3c75eb4 [FEM] change default pressure
- a default of 1 GPa for a pressure onto a face is not suitable. use 1 bar (100 kPa) instead
2022-08-14 07:16:25 +02:00
Uwe 335196a468 [FEM] [skip CI] remove an obsolete comment
- since a while there is no green hook but a QuantitySpinBox
2022-08-14 05:46:17 +02:00
Uwe dd370b9643 [FEM] Elmer: fix initial flow velocity
- we must allow must be several velocities because there can be several fluid bodies
- don't output flow velocity for solid bodies
2022-08-14 04:39:43 +02:00
Uwe d7d49aa1a0 [FEM] [skip CI] Elmer: add copyright
-  heavily edited these files so I am to blame now too ;-)
2022-08-14 03:46:49 +02:00
Uwe 5779040107 [FEM] [skip CI] fix non-Unicode character
- made problems with text editors -> change file to UTF-8
2022-08-14 03:44:28 +02:00
Uwe 08f02885a4 [FEM] Elmer: sort solver methods for better overview 2022-08-14 03:18:35 +02:00
Uwe f0590d1b2f Merge branch 'master' of github.com:FreeCAD/FreeCAD 2022-08-14 01:48:34 +02:00
Uwe d8784b7ac9 [FEM] Elmer: fix for the Idrs method
- while adding support for the IDRS method I forgot to implement its mandatory parameter
2022-08-14 01:48:20 +02:00
Wanderer Fan 4407dde179 [TD]hatch file default handling 2022-08-13 19:45:56 -04:00
Uwe a2e473c5b7 [FEM] Elmer: set constraints for solver systems
- set constraints according to the Elmer docs (no conversion necessary, existing properties just stay integers)
2022-08-14 01:45:34 +02:00
Uwe d985525893 [FEM] Elmer: just sorting to keep the overview 2022-08-14 01:07:11 +02:00
luz paz 0beefe7c5d [FEM] Substitute underscore for whitespace in CalculiX solver output
Fixes #7360  
Forum thread: forum.freecadweb.org/viewtopic.php?p=617376#p617376
2022-08-13 16:41:59 +02:00
Uwe b6cb5ffe4a [FEM] Elmer: fixes for multi-threading
- load the results depending on the used cores, not always the multi-thread results
- avoid unnecessary console output - this info is already output in tasks.py
- handle number of cores as int to save in total 2 conversions
2022-08-13 16:27:56 +02:00
Uwe d1ffbc0ae9 [Gui] [skip CI] NaviCube: fix indentation mistake from previous commit 2022-08-13 15:11:32 +02:00
Uwe d78d1bbe58 [Gui] fix NaviCube step handling
- as reported in https://forum.freecadweb.org/viewtopic.php?f=3&t=71050
2022-08-13 15:02:26 +02:00
Uwe 128877a7b7 [FEM] Elmer: only output a property if necessary 2022-08-13 14:39:06 +02:00
Roy-043 2ca31f5c1d Draft: Improve In-Command-shortcut Undo implementation 2022-08-13 14:10:43 +02:00
Uwe 08af39c1a8 [FEM] Elmer: fix heat flux handling
- the heat flux in the temperature constraint is not the heat flux from the heatflux constraint. The latter is in W/m² while the first one is W/mesh node
2022-08-13 05:54:34 +02:00
Uwe 2edf6abb2f [FEM] Elmer: add support to turn off solvers
- with this property the linear solver is turned off. As consequence one can this way also disable the execution of an equation without the need to delete the equation object

- also add missing preconditioners
2022-08-13 05:51:26 +02:00
Uwe 278598083d [FEM] Elmer: add tooltips 2022-08-13 03:45:42 +02:00
Uwe 5a72f2d1fa [FEM] Flow constraints: fix wrong tooltips 2022-08-13 03:35:22 +02:00
Wanderer Fan 4962c3da15 [TD]fix merge conflicts 2022-08-12 18:13:52 -04:00
Benjamin Bræstrup Sayoc 9905e17ba1 [TechDraw] Remove uneeded redefinitions of inherited functions 2022-08-12 18:13:52 -04:00
Wanderer Fan 2f49a93292 [TD]fix LineFormat ctor line color 2022-08-12 13:00:21 -04:00
wmayer 11849808a1 Gui: remove redundant void 2022-08-12 17:59:59 +02:00
grubertechnic 2a434e3b2e [TechDraw] fix up button in TaskProjGroup 2022-08-12 10:40:33 -04:00
wmayer ff876bf72c Gui: clear combo boxes before re-filling them, fix handling of icon size in preferences pack 2022-08-12 14:08:04 +02:00
Roy-043 f22de4cfd2 Update array.py
Oops... removed to print() statements.
2022-08-12 12:38:13 +02:00
Roy-043 2647c37289 Update array.py
Updated to use the new implementation of  Base.Placement.rotate().
2022-08-12 12:34:46 +02:00
Uwe b716644e27 [FEM] Elmer: fix handling if fluids + solid materials
- as already reported in the forum, it was not possible to make a flow simulation when there is also solid material.
2022-08-12 05:29:42 +02:00
Uwe bd796c9197 [FEM] Selection: fix error for 2D shapes
- 2D shapes have no "Shape" attribute. This attribute was accessed before checked it it exists
2022-08-12 05:26:56 +02:00
Uwe ed3625a0e0 [FEM] Elmer: allow lower relaxation factor
- despite the Elmer docs say 0.01 is the lover limit, for fluids like water, one might need down to 1e-4
2022-08-12 05:24:55 +02:00
Roy-043 eb6b3f35ed Draft: add tolerance to boundbox check in intersections.py 2022-08-11 17:50:43 +02:00
wmayer 746a56f5d3 Gui: don't show non-existing and unusual directories in file dialog 2022-08-11 17:46:13 +02:00
Tobias Frost 9311e2913e Replace edit-cut.svg
Replace 2 instances of edit-cut.svg with the version from the tango icon
library to reslove license issue. Closes #7347.

Tango Icon Library used: http://tango.freedesktop.org/releases/tango-icon-theme-0.8.90.tar.gz
Location within the tarball:
./tango-icon-theme-0.8.90/scalable/actions/edit-cut.svg
2022-08-11 10:23:02 -04:00
wmayer 2b5b7cd607 Draft: fix snapper icons
* Add convenience function to get 3D views from MDI area
* Use 'inherits' instead of 'QMetaObject.className()' to check more reliably for sub-classes
2022-08-11 11:50:53 +02:00
Wanderer Fan cb96332a64 [TD]fix multiple dimension drag 2022-08-10 14:09:08 -04:00
Chris Hennes 730b14353c Addon Manager: Finish pylint cleanup of startup workers 2022-08-10 10:53:54 -05:00
Chris Hennes 9250850c9c Addon Manager: pylint cleanup in startup workers 2022-08-10 09:17:02 -05:00
Uwe 20047c94cd [FEM] [skip CI] formatting fix for potential 2022-08-10 13:42:29 +02:00
Uwe ad2042e3cb [FEM] electric Potential: add missing conversion
- add missing conversion of property change that was already done before FC 0.20
2022-08-10 13:32:32 +02:00
Uwe c219134a1e [FEM] Elmer: fix material bug and improve material handling
- for fluid material writing the elasticity solver failed with unknown Young Modulus
- fix regression with checking for fluid material. Checking the material of the bodies is not sufficient. One can e.g. have a solid without bodies defined, then it applied to all bodies and there might be a fluid defined for only one body. Checking the body's material would then deliver there is no fluid
2022-08-10 06:16:38 +02:00
Uwe 7910bd14e6 [FEM] update a bimetal testfile 2022-08-10 04:26:19 +02:00
Uwe baaa5f8dd1 [FEM] Elmer: set constraints for relaxation factor
- the relaxation factor is crucial for nonlinear systems thus help the user by setting constraints and convenient steps.
Since the property stays a float no update is necessary, existing properties just stay a normal float
2022-08-10 04:10:47 +02:00
Uwe 48a206e3e4 [FEM] Elmer: notify users about missing fluid material
- it was often unclear when no flow equation was written to the case.sif (was a regression FC0.20)
2022-08-10 03:29:34 +02:00
Uwe 5cd06b6148 [FEM] fix bimetall example
- add missing density
- set a second temperature to make the heat solver actually working
- adapt to new defaults
2022-08-10 02:27:27 +02:00
Uwe 9c50b541a5 [Material] add materials used by our examples
- add generic copper and invar
- also extend the generic aluminum card
2022-08-10 02:08:35 +02:00
Uwe 69efa37e49 [FEM] Elmer: automatic update for BiCGstablDegree
- up to last week we used the invalid BiCGstablDegree 0 thus update to the default of 2
2022-08-10 01:50:19 +02:00
Uwe 4b2a486d51 [FEM] fix selection issues with flow velocity constraint
- same fix as commit 7e071623 for flow velocity constraint
- the used selection widget did not highlight the selected faces. This made it very hard to work with when one has an existing document where e.g. 5 faces have a certain velocity and you cannot figure out which ones.
To fix this use another selection widget
2022-08-10 01:17:53 +02:00
wmayer 8acce95ebb Gui: revert changes of 0c70d45c83 for GestureNavigationStyle 2022-08-09 23:50:05 +02:00
wmayer 735eecc42b Part: fix build failures with OCC >= 7.6 2022-08-09 18:42:38 +02:00
wmayer 2062f9ce87 clang: fix warnings [-Winconsistent-missing-override] 2022-08-09 17:36:25 +02:00
Chris Hennes 4638bbf8ed Addon Manager: Unit tests for cache loading 2022-08-09 10:23:27 -05:00
Chris Hennes 54e06a759b Addon Manager: Improve unit tests for utlility 2022-08-09 10:23:27 -05:00
Chris Hennes 44cbd88830 Addon Manager: Refactor to improve testability 2022-08-09 10:23:27 -05:00
Chris Hennes 99084f1a62 Addon Manager: Add unit test for addon fetch 2022-08-09 10:23:27 -05:00
Chris Hennes 616a343973 Addon Manager: Fix macro-loading bug from refactoring 2022-08-09 10:23:27 -05:00
Chris Hennes 4c63094331 Addon Manager: Worker refactor (round 1) 2022-08-09 10:23:26 -05:00
berniev ddafb98813 Mod: Use override etc 2 2022-08-09 12:52:26 +02:00
berniev 0c70d45c83 Gui: Use override etc 2 2022-08-09 12:43:23 +02:00
berniev 3891e85c32 App: Use override etc 2 2022-08-09 12:42:02 +02:00
wmayer 91ea39a5c0 Base: extend Placement/Rotation API
* Add Placement::isSame() and expose to Python
* Add Placement::multRight/Placement::multLeft
* Fix PlacementPy::rotate
* Add Rotation::multRight/Rotation::multLeft
* Add a test feature FeatureTestPlacement for uni tests
* Add unit tests
2022-08-09 11:54:05 +02:00
wmayer 6067b18774 Base: [skip ci] improve whitespaces 2022-08-09 08:25:59 +02:00
Markus Fröschle 4b538a38ab Fix Placement.rotate() to match documentation
Documentation for Placement.rotate() claims this function would be
compatible to TopoShape.rotate() which isn't exactly correct as the
generated placements differ because of backwards multiplication.

This commit adds a "comp" (as in "compatible") keyword argument that -
when "True" (default is False) - produces a Placement that is interchangable with the one
that is generated from TopoShape.rotate().
2022-08-09 07:22:46 +02:00
Uwe 4571206be5 [FEM] Elmer: fix broken example
- (a regression to FC 0.20.0), use new settings ("direct" is already the default, iterative solving takes here about 5 times longer, DisplaceMesh must be False)
2022-08-09 05:38:02 +02:00
Uwe 7f23e793eb [FEM] increase size of generic solver task panel
- increase it to size of CCX panel to create more room for the log output
2022-08-09 03:23:12 +02:00
sliptonic 4b861b1083 Merge pull request #7333 from mlampert/bugfix/external-thread-issues
PATH: Bugfix/external thread issues
2022-08-08 10:11:23 -05:00
berniev 915369d8a2 Mod: Redundant_string_initialization 2022-08-08 16:52:42 +02:00
berniev 50ee321fa8 Gui: Redundant_string_initialization 2022-08-08 16:51:32 +02:00
berniev e5d4c09ce2 App: Redundant_string_initialization 2022-08-08 16:50:25 +02:00
Uwe 6f546de8f0 [Gui] fix typos
- fix a typo found by codespell
- rename variables to please codespell
2022-08-08 14:14:23 +02:00
Uwe a32e927227 [FEM] Elmer: scale EigenMode results
- for an not yet known reason the result from Elmer are only for eigen analyses a factor 1000 (we send the mesh scaled to Elmer and it seems the eigen solver does not notice this)
Therefore scale these results
2022-08-08 12:33:57 +02:00
Uwe 515584c81b [FEM] fix warp filter factor
- since our mesh is in mm, we must multiply the set factor by 1000 to get the real factor. This applies also for pipelines from CCX results.
Now the factor fits with the factor one can set in the CCX results dialog
2022-08-08 12:20:47 +02:00
wmayer 617f213d2f TD: [skip ci] help code analyzers with export macro 2022-08-08 12:03:25 +02:00
wmayer 0c7e521ff5 Gui: set width of list box according to text length 2022-08-08 11:36:35 +02:00
wmayer 55fa3d8a77 Mod: [skip ci] improve whitespace 2022-08-08 10:46:04 +02:00
berniev da9ebc572f Mod: redundant void 2 2022-08-08 10:27:50 +02:00
wmayer 311abcc43e Gui: [skip ci] include header with export macros 2022-08-08 10:22:59 +02:00
berniev 656ef8961f Gui: redundant void 2 2022-08-08 10:21:44 +02:00
wmayer ec72d96038 App: [skip ci] improve whitespace 2022-08-08 10:11:22 +02:00
berniev 7f699c3dad App: redundant void 2 2022-08-08 09:45:36 +02:00
Markus Lampert 0200c8d70a Fixed radii calculations and their processing for external threads 2022-08-07 18:01:07 -07:00
Markus Lampert 1e8d1c621c Fixed external thread milling orientation and direction 2022-08-07 18:01:07 -07:00
Markus Lampert 38e34758c7 Fixed logic error in path selection drill gate. 2022-08-07 18:01:07 -07:00
Markus Lampert ffe0961853 Added check to deal with float nan as cycle time result 2022-08-07 18:01:07 -07:00
Roy-043 2e646c9147 Sketcher: Fix sWhatsThis for Sketcher_CompConstrainRadDia (#7324) 2022-08-08 02:11:06 +02:00
luz paz d02f6330fc FEM: remove trailing whitespace from various FEM files 2022-08-08 02:10:17 +02:00
Uwe d438514d9f [FEM] fix pipeline recompute issue
- after a simulation was run, the pipelines and its childs are recomputed but its shape coloring is not updated.

- also update XML documentation
- also remove comment in tasks.py for now
2022-08-08 02:04:07 +02:00
Uwe 8b06680eb8 [FEM] add framework to scale result mesh values
- it seems that we will need to scale result values (probably for the Elmer Eigen solver)
  This PR adds the framework to do this. It is meant for Elmer but designed versatile.
2022-08-08 01:48:08 +02:00
Uwe 90afc19382 [FEM] fix pipeline recompute bug
- on recomputing scalar or warp filters the information about the field was lost.
  This is because the validity of an array was tested before it is actually filled

- also fix MSVC warning of using a C++ keyword as variable
- also avoid an unnecessary recompute after Elmer solver was run
2022-08-08 00:06:54 +02:00
wmayer c4547c03e1 Gui: improve integrated Python console:
* correctly handle the case that Py_BuildValue() can return a null pointer
* fix a latin1 <-> UTF-8 conversion problem
2022-08-07 17:50:28 +02:00
Uwe 460efa3a72 [FEM] Elmer: use defaults of ElmerGUI
- use also for the linear solver the defaults of ElmerGUI
2022-08-07 16:19:20 +02:00
Uwe 753a034708 [FEM] Elmer: fix for electricforce
- the default is to execute this solver after previous solution converged. This has to be output via the Exec Solver parameter
2022-08-07 16:17:55 +02:00
Uwe bcc25f9bc7 [FEM] pipeline fix when there is no field
- for the case that pipeline with a field is active, then another pipeline that does not display any field, we cannot just return because the pipeline cannot have the color bar range of the prevision pipeline
2022-08-07 15:17:50 +02:00
Uwe 678fc54358 [FEM] [skip CI] set unit for potential loads 2022-08-07 15:15:23 +02:00
wmayer 3783e629c6 CMake: if module search mode for Coin3D failed try config search mode, restore the variable COIN3D_VERSION 2022-08-07 13:49:27 +02:00
Bernd Hahnebach 7a1c9303d3 FEM: Python pep8 code formatting 2022-08-07 09:56:52 +02:00
Uwe b52967d52a [FEM] update Elmer test files 2022-08-07 06:54:16 +02:00
Uwe 38aaf9bfb3 [FEM] Elmer: fix pipeline update issue
- the existing result pipeline can have several children. They must all be updated.
2022-08-07 06:22:42 +02:00
Uwe f6e0d37264 Merge branch 'master' of github.com:FreeCAD/FreeCAD 2022-08-07 05:33:16 +02:00
Uwe e4e34affac [FEM] Elmer: resale the mesh using Elmer
- according to Peter from the Elmer team, we can use Elmer for both, scaling in and scaling back just for consistency
2022-08-07 05:32:54 +02:00
berniev 71c720efc8 give success message normal prominence 2022-08-06 23:27:23 -04:00
Uwe 42b3b8daed [FEM] [skip CI] fix a typo for nonlinear solving 2022-08-07 05:24:37 +02:00
Uwe dcdbf6dcaa [Fem] Elmer: change default nonlinear tolerance
- ElmerGUI uses 1e-7 as default, so we should do too
2022-08-07 04:33:21 +02:00
Uwe df257416a5 [FEM] make point filter aware of force density 2022-08-07 04:32:12 +02:00
Uwe 3d0def93cd [FEM] Elmer: fix default for heat
- revert change from comm it commit f3933016 - "None" is the correct default. (I mixed this up with Navier-Stokes)
2022-08-07 02:45:08 +02:00
Uwe 7e071623d5 [FEM] fix selection issues with electrostatic constraint
- the used selection widget did not highlight the selected faces. This made it very hard to work with when one has an existing document where e.g. 5 faces have a certain voltage and you cannot figure out which ones.
To fix this use another selection widget
2022-08-07 02:33:09 +02:00
Uwe 7f27c23bfb [FEM] [skip CI] ViewProviderAnalysis.cpp: .clang formatting fixes
- done automatically by MSVC
2022-08-07 02:28:40 +02:00
Bernd Hahnebach a7c24ccd49 FEM: Python pep8 code formatting 2022-08-07 01:39:52 +02:00
Uwe 81836aae11 [FEM] Elmer: polishing for nonlinear system
- add tooltips
- relaxation factor is usually not below 0.1 thus no expression is necessary
- sorting
2022-08-07 01:21:42 +02:00
Uwe 84db9d4baa [FEM] Elmer: fixes for electrostatics
- one needs to specify a file when calculating the capacitance matrix
- add electric flux to point filter results
- add missing parameters
- also some sorting
2022-08-07 01:11:07 +02:00
Uwe ef4366a20d [FEM] Elmer: add missing parameters for Navier-Stokes solver 2022-08-06 23:36:40 +02:00
Bernd Hahnebach 3369aa4eca FEM: Python pep8 code formatting 2022-08-06 22:29:12 +02:00
Uwe f39330163d [FEM] Elmer: code improvements
- don't redefine lists twice
- also fix mistake for heat - the default is computed convection
2022-08-06 22:20:44 +02:00
Uwe b5faecea99 [FEM] Elmer: output the equation-specific settings for Navier-Stokes 2022-08-06 22:01:25 +02:00
Uwe 7600855f26 [Fem] Elmer: output the equation-specific settings
- equation-specific things were not set at all. This is the first step for the heat and Stress equation
2022-08-06 21:26:23 +02:00
wmayer f2cbd9ebb4 Mod: [skip ci] minor improvements 2022-08-06 20:32:37 +02:00
Bernd Hahnebach 09c1b5a274 FEM: Python pep8 code formatting 2022-08-06 20:16:10 +02:00
Uwe 2b375f2dc6 [Fem] Elmer: writer: remove unused variable 2022-08-06 20:05:23 +02:00
Uwe b621e6c253 [Fem] Elmer: update tolerances
- update tolerances also for existing analyses to fix the bug that users see e.g. "0.001" and not the actual used tolerance
- also a fix for new stress analyses
- also a formatting fix
2022-08-06 20:01:24 +02:00
Uwe 6f9a4ebc7f [App] [Spreadsheet] fix compilation errors
- introduced by #7318 and #7319
2022-08-06 19:59:06 +02:00
berniev b796a0d376 Mod: use empty 2022-08-06 19:30:13 +02:00
berniev 1cc6329eab App: use empty 2022-08-06 19:29:59 +02:00
Uwe 29197f503d [FEM] Elmer: next step to fix eigenfrequency analysis
- add missing parameters to perform modal analyses
- set mandatory complex statement
2022-08-06 18:27:51 +02:00
berniev d88729d2c4 Gui: use empty 2022-08-06 16:35:45 +02:00
wmayer a00faca147 Mesh: implement smoothing based on median filter 2022-08-06 16:08:20 +02:00
Uwe b5a34817db [FEM] Elmer: fix mistake with transient solving
- there is proper info, just in another Elmer manual. This unveiled my mistake - the timestepping parameters are a list
2022-08-06 16:01:55 +02:00
Bernd Hahnebach 43dcbe4a31 FEM: Python pep8 code formatting 2022-08-06 13:33:01 +02:00
Uwe 3818534cd6 [FEM] Elmer: fixes for the simulation parameters
- output equation-specific values only if this equation is used
- use Elmer's default for BDF order as default for FC too and allow to change it
- don't hardcode to Steady State. Transient must be possible too, this way add parameters to run a transient analysis
2022-08-06 04:32:18 +02:00
Uwe 550ef7ca80 [FEM] Elmer: update test files 2022-08-06 04:22:08 +02:00
Uwe cd03ef3d78 [Fem] Elmer: don't output unused parameters
- many of the new parameters don't have to be output if they are not used

- also some sorting
2022-08-06 04:06:10 +02:00
berniev 2d4c5a4cfb Mod: use emplace_back 2022-08-05 10:36:16 +02:00
berniev 6ac4d8392e Gui: use emplace_back 2022-08-05 10:33:41 +02:00
berniev e7357c1a99 App: use emplace_back 2022-08-05 10:31:51 +02:00
Uwe b20060bcd0 [FEM] Elmer: add missing parameters for flux equation
- also add tooltips
2022-08-05 05:09:54 +02:00
Uwe 96ba47e80f [Fem] Elmer: add missing settings for the stress solver
- the usually mandatory setting DisplaceMesh was missing leading to imprecise results. Now the calculated faceload is almost the exact same as with CCX
- also add most of the other settings Elmer 9 provides
- also add tooltips
2022-08-05 04:17:39 +02:00
Uwe bd42524548 [Fem] Elmer: update test files 2022-08-05 02:39:55 +02:00
Uwe 18d1941a79 [FEM] Elmer: push mesh scaled to Elmer
- reverts commit d296732d - the scaling it correct
- there is a bug in Elmer that the heat source is not aware of the scaling
- write the scaling directly to the solver, not to the mesh itself. (make in principal no difference but we are closer to the solver)
2022-08-05 02:13:04 +02:00
wmayer 869ab8d26c Mesh: consider placement in MeshPy::foraminate 2022-08-05 00:46:48 +02:00
wmayer 828c64a4c9 Mesh: consider placement in MeshPy::nearestFacetOnRay 2022-08-04 20:47:33 +02:00
wmayer 14451f7ec4 Mesh: consider placement in MeshPy::cut/trim/trimByPlane 2022-08-04 18:49:10 +02:00
sliptonic f7a0586625 Merge pull request #7278 from mlampert/bugfix/vcarve-c++-exception
PATH: Bugfix/vcarve c++ exception
2022-08-04 11:37:47 -05:00
Yorik van Havre 5a9201d2c5 Draft: Enabled shortcut for undo segment - fixes #6181
That shortcut had apparently been left out last time the system was recoded..
I used the default shortcut '/' because Ctrl doesn't really work with the
current system, and Z is already taken
2022-08-04 17:40:05 +02:00
Benjamin Bræstrup Sayoc 953625d74b [TechDraw] Use inherited isShow
Remove uneeded redefinitions of inherited functions
2022-08-04 10:02:47 -04:00
Benjamin Bræstrup Sayoc fda3fd731f [TechDraw] Use inherited unsetEdit
Remove uneeded redefinitions of inherited functions
2022-08-04 10:02:47 -04:00
Benjamin Bræstrup Sayoc 23966513c7 [TechDraw] Remove uneeded redefinitions of inherited functions 2022-08-04 10:02:47 -04:00
Yorik van Havre 42fbc0f58d Merge pull request #7309 from donovaly/Arch-code-cleanup
[Arch] further code cleanup after Py2 check removal
2022-08-04 12:41:18 +02:00
wmayer b4305c7b46 Base: add Transform/Transformed to Line3<> and Polygon3<> 2022-08-04 11:46:38 +02:00
wmayer 4d00faeceb Base: add methods to transform a Vector3f with a Rotation or Placement 2022-08-04 11:45:39 +02:00
wmayer d542185ba2 Mesh: consider placement in MeshPy::getCurvaturePerVertex 2022-08-04 11:09:47 +02:00
wmayer 9b8cf02aaf Mesh: refactor MeshPy::getSelfIntersections 2022-08-04 10:34:49 +02:00
Uwe 3db79c907c [FEM] Elmer: update test files 2022-08-04 04:50:00 +02:00
Uwe 70b8f13c7c [Arch] further code cleanup after Py2 check removal 2022-08-04 04:37:22 +02:00
Uwe 357989c552 [FEM] fix enable editing for all solvers
- currently for Z88 nothing happens when clicking the Edit button in the solver task dialog. The reason is that opening *.txt files was never implemented
- also do this for Elmer
- for Z88 we need to open several file for a proper editing because the solver info is distributed over these files
2022-08-04 04:19:55 +02:00
Uwe 0549a47b09 [FEM] Elmer: more work on Stabilize
- it turned out that despite not mentioned in the manual, ElmerGUI adds the Stabilize setting for all setups
-> bring "Stabilize" back for all equations
(for "Bubbles" it is correct that this is an equation-specific setting)
2022-08-04 03:57:46 +02:00
Uwe 82f41ce220 [FEM] Elmer: setup new pipelines like we do for CCX
and manually new created ones
2022-08-04 03:25:26 +02:00
Uwe d455ba378e [FEM] Elmer: use different default linear solver
- BiCGStabl is as robust as BiCGStab but in all tested cases it converges faster
2022-08-04 03:24:03 +02:00
Uwe ba858175fe [FEM] Elmer: use direct solving as default for stresses
- direct solving is sometimes even 10 times faster (as fast as CCX) and as accurate as CCX
2022-08-04 03:22:07 +02:00
Uwe 6af8a84a3c [FEM] pipeline: minor highlighting fix
- if a pipeline is invisible the highlighting must not be triggered
2022-08-04 03:11:02 +02:00
Uwe 846d39ba54 [Arch] minor code cleanup after Py2 check removal 2022-08-04 02:26:50 +02:00
wmayer c49854b47b Base: implement Line3 Polygon3 class 2022-08-04 02:17:22 +02:00
Uwe 20dc9d0a61 [Arch] remove unneeded checks for Python 3
since we only support Python >=3, these checks can go
2022-08-04 01:32:06 +02:00
Günter Neiß 109721fb0d OpenSCAD: remove SCAD-Import error in importCSG.py
Signed-off-by: Günter Neiß <gneiss@web.de>
2022-08-03 12:42:43 -04:00
wmayer 322080d4f1 Mesh: refactor MeshPy::writeInventor 2022-08-03 17:56:24 +02:00
wmayer 88e32eba9b App: changes in ComplexGeoData:
* rename some methods
* distinguish between Point and Vector
* support of arrays of Point or Vector
2022-08-03 16:18:14 +02:00
wmayer 30cb46cc5f Fem: [skip ci] fix possible crash in PropertyPostDataObject::getMemSize 2022-08-03 10:55:31 +02:00
mlampert 79a9b29304 Merge branch 'master' into bugfix/vcarve-c++-exception 2022-08-02 20:57:37 -07:00
Uwe db3e28418d [FEM] Elmer: update .sif files
- because of solver default settings change
2022-08-03 04:29:27 +02:00
Uwe 1f89f6eca7 [FEM] Elmer: fix solver stabilize settings
- according to https://www.nic.funet.fi/index/elmer/doc/ElmerModelsManual.pdf
the stabilization methods are equation-specific and only available for some solvers
This commits changes these settings according to the manual
2022-08-03 02:32:01 +02:00
Uwe 30d9efe691 [FEM] Elmer: Flux: add missing settings
- enable the disabled options. They work and are according to the Elmer manual. The user is free to use them or not and since they are all False by default, existing analyses won't be affected.
- add two missing settings
- for new equations, enable at least one calculation, otherwise nothing will happen when an inexperienced user uses the default
2022-08-03 01:50:12 +02:00
Uwe 6edf0cc5ba [Gui] QSint: missing piece to fix QGroupBox visibility
- also the freecadscheme must be adapted (e.g. for PartDesign dialogs)
- fixes now #6102 completely
2022-08-03 01:05:37 +02:00
luz paz 8ee6e78f7d AddonManager: Fix source comment typos
[skip ci]
2022-08-02 16:35:03 -04:00
Markus Lampert 3408d7c2ca Enabled exception handling again 2022-08-02 13:32:25 -07:00
Markus Lampert 729c24b0f1 Moved voronoi classes into Path.Voronoi module. 2022-08-02 13:32:25 -07:00
Markus Lampert 79021f4913 Renamed python class Voronoi to VoronoiDiagram 2022-08-02 13:32:25 -07:00
Markus Lampert 9cc1d277fa vcarve to color all borderline edges and ignore them for path generation 2022-08-02 13:32:25 -07:00
Markus Lampert 2ea498874f Added borderline interface to voronoi edge 2022-08-02 13:32:25 -07:00
Benjamin Bræstrup Sayoc 86dfd0a862 [TechDraw] Simplify code getting default line weights 2022-08-02 16:13:01 -04:00
Benjamin Bræstrup Sayoc 750fa24b2e [TechDraw] Remove deprecated replaceGeomFormat 2022-08-02 16:09:54 -04:00
Benjamin Bræstrup Sayoc 8719b71e39 [TechDraw] Remove deprecated replaceCenterLine 2022-08-02 16:09:54 -04:00
Benjamin Bræstrup Sayoc 0bb56ad93f [TechDraw] Remove deprecated replaceCosmeticEdge 2022-08-02 16:09:54 -04:00
Benjamin Bræstrup Sayoc 127af5bea4 [TechDraw] Remove deprecated replaceCosmeticVertex 2022-08-02 16:09:54 -04:00
wmayer ede18d20b9 Fem: [skip ci] replace the SoAnnotation with an SoSeparator to fix rendering artifacts for non-convex objects 2022-08-02 19:09:05 +02:00
wmayer 38b34fb26a PyCXX: [skip ci] fix linking error with MinGW/MSYS 2022-08-02 17:25:40 +02:00
wmayer 60112e7618 PyCXX: change typedef of PyCxx_ssize_t to fix compiler warnings with MSVC 2022-08-02 16:58:25 +02:00
wmayer 8690630495 CMake: re-add workaround for MINGW to find Coin3D 2022-08-02 16:57:36 +02:00
wmayer 7824d7b1df Base: fix several warnings reported by code analyzers 2022-08-02 13:04:50 +02:00
wmayer c6de515b20 Base: [skip ci] fix -Winconsistent-missing-override 2022-08-02 12:43:54 +02:00
wmayer 34432c09f7 Base: fix build failure because number_long() has been removed in PyCXX 2022-08-02 12:41:04 +02:00
berniev 8aff4a7503 Base: Modernise ctors dtors defs etc 2022-08-02 12:37:46 +02:00
wmayer 3e9c2ff155 clang-tidy: [skip ci] Disable modernize-use-trailing-return-type 2022-08-02 12:12:58 +02:00
Yorik van Havre 0c427dc57b Merge pull request #7295 from carlopav/DraftFixEditBSpline
[Draft] Fix Draft Edit AddPoint with BSpline
2022-08-02 10:56:57 +02:00
Uwe adfffb688c [FEM] remove some unused includes 2022-08-02 05:15:31 +02:00
Uwe 360d1336b8 - fixes #6102
- the point is that we don't set any style for the group boxes, therefore the Windows style is applied as nothing was set yet. The default Windows style is the color #dddddd which is hardly visible on our blue default style.
as solution set an explicit color.
2022-08-02 01:00:03 +02:00
carlopav d37a1a2440 [Draft] Fix Draft Edit AddPoint with BSpline
ref. https://forum.freecadweb.org/viewtopic.php?p=613622#p613622

Fix Bug when adding point to a BSpline.
2022-08-01 22:15:51 +02:00
wmayer 5b83b15b63 PyCXX: update to version 7.1.7 2022-08-01 18:55:51 +02:00
wmayer 114b5be981 PyCXX: update to version 7.1.0 2022-08-01 17:28:23 +02:00
Yorik van Havre cfc8fb9fb4 Merge pull request #7259 from Roy-043/Draft-Fix-handling-of-groups-on-move-copy-and-rotate-copy
Draft: Fix handling of groups on move-copy and rotate-copy
2022-08-01 17:06:09 +02:00
wmayer a2f509087e PyCXX: update to version 7.0.0 2022-08-01 16:39:26 +02:00
wmayer 04615798ab PyCXX: update to version 6.3.0 2022-08-01 14:53:23 +02:00
wmayer c6ddc47733 PyCXX: [skip ci] harmonize whitespaces with upstream 2022-08-01 12:36:07 +02:00
wmayer 2f197d65ec Spreadsheet: fixes #7285: [Bug] FreeCAD crashes if cell value ' is set in Spreadsheet 2022-08-01 08:09:34 +02:00
Uwe 89f34f562a [FEM] Elmer: fixes for the point filter
- use correct names and support all possible outputs
2022-08-01 04:33:06 +02:00
Uwe 59b4726698 [FEM] Elmer: update .sif files
- because of solver default settings change
2022-08-01 04:27:38 +02:00
Uwe d296732de6 [FEM] Elmer: don't push mesh scaled to Elmer
- the mesh scaling was a hack to work around the fact that FC's mesh is in mm while all input units are in SI. It turned out that this made more problems than it solved because Elmer checks the length unit and makes internal recalculations. So the mesh must not be scaled when send to Elmer (despite the ElmerGrid docs doesn't state this).
forum thread: https://forum.freecadweb.org/viewtopic.php?p=614162#p614162
2022-08-01 03:58:09 +02:00
Uwe e07c696b1e [FEM] Elmer: set sensible defaults for elasticity equation
- for BiCGstabl the minimal degree is 2, but 3 is recommended
- when adding the equation, it should do something, therefore enable the calculation of the principal stresses (as it was, nothing was calculated except of the displacement)
2022-08-01 03:42:57 +02:00
wmayer 632e167ed8 App: improve whitespaces 2022-08-01 01:29:47 +02:00
wmayer 7c6b6a3942 App: fix -Winconsistent-missing-override 2022-08-01 01:14:19 +02:00
berniev 65a356835b App: Modernise ctors dtors defs etc 2022-08-01 00:34:46 +02:00
Bernd Hahnebach ffd51eda61 FEM: python code formatting 2022-07-31 23:47:45 +02:00
Uwe 244beb4e92 [.github] [skip CI] checks.yml: disable a whitespace check
- todo whitespace is not important
2022-07-31 22:52:09 +02:00
Chris Hennes 19f07586c9 Addon Manager: pylint cleanup of list diplay 2022-07-31 15:38:42 -05:00
Uwe ab11797f22 [FEM] importVTKResults: assure user gets a visible object
- on importing a .vtu/.vtk file the new created should be a visible one. Therefore set its display to surface like we do when a new pipeline is created from within FC by the user
2022-07-31 22:32:04 +02:00
Uwe a285c3cd16 [FEM] [skip CI] PropertyPostDataObject: some .clang changes 2022-07-31 22:08:43 +02:00
Uwe aa7408f4c6 [FEM] Constraint: BodeHeat: fix regression from commit 22c64ef8
- a simple indentation mistake
2022-07-31 21:17:52 +02:00
Chris Hennes 0865b97459 Addon Manager: fix thread termination bug 2022-07-31 13:02:14 -05:00
wmayer 8bb85d2b7c Fem: use SoAnnotation to highlight result pipeline objects 2022-07-31 17:51:31 +02:00
Uwe 47c2e77ebf [App] [skip CI] Document: some .clang style fixes
- for better readability
2022-07-31 17:14:43 +02:00
berniev 4028a1dda5 App: Use https 2022-07-31 17:11:14 +02:00
Uwe 529c48cca4 [FEM] remove unneeded checks for Python 3
since we only support Python >=3, these checks can go
2022-07-31 15:36:54 +02:00
Uwe eabffee3a5 [Part] ViewProvider: 2 to M: remove unused includes 2022-07-31 15:36:20 +02:00
Uwe 4b5062c0d3 [Part] ViewProvider: P to T: remove unused includes 2022-07-31 14:55:19 +02:00
luz paz 786741c0c0 Fix various 'testing inequality to None' syntax issues
Substitute `is not None` for `!= None`
2022-07-31 14:11:48 +02:00
berniev 4043d049bc remove redundant void from Base 2022-07-31 14:10:34 +02:00
wmayer e2805adb1b Fem: implement a selection observer to notify a ViewProviderFemPostObject when its selection status has changed 2022-07-31 14:01:23 +02:00
wmayer 60c2157e54 Gui: [skip ci] modernize QuantitySpinBox class 2022-07-31 13:59:28 +02:00
berniev b40de7a509 remove redundant void 2022-07-31 10:27:44 +02:00
Uwe fb5c731847 [Test] remove unnecessary Python check
we only support Python 3
2022-07-31 05:28:47 +02:00
Uwe f4636e826e [Spreadsheet] remove unnecessary Python check
we only support Python 3
2022-07-31 05:28:19 +02:00
Uwe 0788b2c0a2 [PD] remove unnecessary Python check
we only support Python 3
2022-07-31 05:27:45 +02:00
Uwe e61874be5a [Path] remove unnecessary Python check
we only support Python 3
2022-07-31 05:27:03 +02:00
Uwe ae2b73567d [SCAD] remove unnecessary Python 3 check
we only support Python 3
2022-07-31 05:26:03 +02:00
Uwe 00f1360773 [FEM] Elmer: fix small number property handling
- use an expression as discussed: https://forum.freecadweb.org/viewtopic.php?p=613897#p613897
2022-07-31 05:19:45 +02:00
luz paz c457f3bfbd Fix various 'testing inequality to None' syntax issues
Substitute `is not None` for `!= None`
2022-07-30 22:41:31 -04:00
Chris Hennes 119a402c66 Addon Manager: Add other_files download for wiki macros 2022-07-30 21:31:26 -05:00
Uwe 7c382f7c09 [FEM] Elmer: fix eigenmode results for point filter
Elmers' eigenmode results have a different result name
2022-07-31 04:30:31 +02:00
Uwe a6fbd74cae [FEM] add missing eigenfrequcy calculation for Elmer
- while for CCX we output the eigenfrequency, for Elmer the user had to perform the calculation of a sqrt of the complex result.
This is inconvenient and error-prone and also requires the knowledge where the result is output by Elmer and in what format. (cast me more than an hour to find this out)
Therefore perform the calculation for the user and output the result.
2022-07-31 02:31:26 +02:00
Uwe 6a3a308fe7 [FEM] utils: remove unused import 2022-07-31 02:08:16 +02:00
Floriansimmer 4662503d42 Ci v2 (#7282)
* Github: Build and Test

Build and Test:
- ccache
- build
- Unittest
- install
- Unittest of install
- report

misc:
- use .clang-tidy file to configure Clang-tidy checks
- use use .pylintrc to configure Pylint checks
- Update changed-files Action
- better regex for file extension filter
- show enabled clang-tidy checks in Step Report
- show enabled Pylint Checks
- cpplint filter documentation
- modified cpplint filters recomended by https://github.com/sider/runners/blob/HEAD/images/cpplint/sider_recommended_CPPLINT.cfg
- fixed Branch filter for Clazy QT6 checks --> has only worked on pull requests
- fail the CI only on Build  errors, Unittest errors and misspellings

* Github: remove Codespell action as it is now integrated into the check workflow
2022-07-30 22:29:29 +02:00
Adrian Insaurralde Avalos ecbd151b11 Remove unused conda files and PKGBUILD [skip ci] 2022-07-30 19:26:33 +02:00
Zheng, Lei 181d3f5536 Gui: fix ViewProviderLink transform with scale
Fixes FreeCAD/FreeCAD#7113
2022-07-30 19:12:03 +02:00
Uwe a4708192b0 [App] Application: add a comment
- also some style fixes by MSVC
2022-07-30 19:09:32 +02:00
Uwe e7dd0528ae [App] Application: revert init sorting
- apparently the order of initialization matters.
2022-07-30 18:59:51 +02:00
Uwe 790bf5363e [App] sort properties
- to quickly get an overview
2022-07-30 17:34:36 +02:00
wmayer 2e3f3bab7e Base: [skip ci] use Precision class in Rotation::makeRotationByAxes 2022-07-30 17:21:59 +02:00
wmayer 923de19044 Base: add Precision class 2022-07-30 17:16:28 +02:00
wmayer bd5ef26536 Base: add Precision class
and move the Python binding from Part to Base module
2022-07-30 17:10:56 +02:00
Uwe 3811685826 [Gui] [skip CI] PropertyItem: some .clang spacing uniformication
- automatically done by MSVC
2022-07-30 15:32:08 +02:00
Uwe 548cab1fd8 [FEM] Elmer: add missing direct variant MUMPS
- also use capitalized wording to Umfpack as Elmer does
2022-07-30 14:40:10 +02:00
luz paz 69a4a49f3d PD: Remove unnecessary semicolons in FeatureHole.py
Discovered through github action check.  
[skip ci]
2022-07-30 13:17:18 +02:00
wmayer 84eb5fe9e2 App: fixes #7277: Write to network drive fails on Windows 2022-07-30 12:11:14 +02:00
luzpaz 82cdbebe97 PD: Fix 'testing inequality to None' syntax (#7279)
* PD: Fix 'testing inequality to None' syntax

- Substitute `is not None` for `!= None`
- Fix trailing whitespace
2022-07-30 04:01:40 +02:00
Uwe 1b5285bebd [Gui] move a NaviCube parameter to the NaviCube parameter group
- at the moment some NaviCube parameters are in the general View group, some in the dedicated NaviCube group
2022-07-30 00:50:12 +02:00
luzpaz d35400aae3 Arch: Fix 'testing inequality to None' syntax (#7274)
* Arch: Fix 'testing inequality to None' syntax 

- Substitute `is not None` for `!= None`
-Trim trailing whitespace on touched files
2022-07-30 00:28:20 +02:00
luzpaz 1ef31f40f5 Draft: Fix 'testing inequality to None' syntax (#7275)
* Draft: Fix 'testing inequality to None' syntax 

- Substitute `is not None` for `!= None`
- Trim trailing whitespace on touched files
2022-07-30 00:26:56 +02:00
Uwe 6ea36b25ae [Part] [skip CI] SectionCutting: silence MSVC compiler warning
- also fix a typo
2022-07-30 00:20:30 +02:00
Benjamin Bræstrup Sayoc 79d4c1556f [TechDraw] Improve readability of DrawWeldSymbol.cpp 2022-07-29 14:39:21 -04:00
Benjamin Bræstrup Sayoc 811b85caeb [TechDraw] Improve readability of DrawViewSpreadsheet.cpp 2022-07-29 14:39:21 -04:00
wmayer e48a3a8cea Mod: [skip ci] fix warning: [-Wreturn-std-move] 2022-07-29 18:55:10 +02:00
wmayer 54076efb64 Part: [skip ci] fix typo 2022-07-29 18:50:35 +02:00
Yorik van Havre 042d6df669 Arch: Removed leftover debug messages 2022-07-29 14:01:56 +02:00
wmayer 9b165e6fca App: fixes #7112: Addon manager does not work on windows with special characters in the username 2022-07-29 12:43:05 +02:00
mosfet80 d67ebd7058 Delete .log_errors
remove unused file
2022-07-29 10:53:31 +02:00
Uwe 505387d6fa [Travis] remove Travis
we are not using it anymore
2022-07-29 02:23:15 +02:00
Uwe 666fab995e [TD] silence a MSVC compiler warning
- as suggested here: https://forum.freecadweb.org/viewtopic.php?p=613409#p613409
2022-07-29 02:21:21 +02:00
Uwe d4c60abf70 [Sketcher] fix icon name
- fix a FIXME, Sketcher_CreateEllipse depicts already the right thing, it just has to be renamed
2022-07-29 01:26:00 +02:00
Chris Hennes 700d282301 Addon Manager: pylint cleanup for install_to_toolbar 2022-07-28 15:58:33 -05:00
Chris Hennes 574bf49c61 Addon Manager: pylint cleanup of NetworkManager 2022-07-28 15:29:53 -05:00
Benjamin Bræstrup Sayoc e8e1050620 [TechDraw] Make projection group test a unittest 2022-07-28 14:51:50 -04:00
Benjamin Bræstrup Sayoc 48661cd3c7 [TechDraw] Fix making template bug for tests 2022-07-28 14:51:50 -04:00
Benjamin Bræstrup Sayoc 6893938f2a [TechDraw] Make balloon test a unittest 2022-07-28 14:51:50 -04:00
Benjamin Bræstrup Sayoc 36f50665fe [TechDraw] Make section view test a unittest 2022-07-28 14:51:50 -04:00
Benjamin Bræstrup Sayoc 337b40f846 [TechDraw] Make view test a unittest 2022-07-28 14:51:50 -04:00
Benjamin Bræstrup Sayoc cf8e3f8eda [TechDraw] Make dimension test a unittest 2022-07-28 14:51:50 -04:00
wmayer b43784c6e2 Gui: [skip ci] mkae sure the tooltip in ActionGroup::onActivated() disappears again 2022-07-28 16:33:27 +02:00
Wanderer Fan 54ce3d0fc3 [TD]fix redraw does not paint all views 2022-07-28 09:16:03 -04:00
Wanderer Fan 0805d284d5 [TD]fix Symbol update on property change 2022-07-28 09:16:03 -04:00
wmayer 91cffca077 App: use namespace prefix for classes in Base 2022-07-28 14:18:12 +02:00
Yorik van Havre 76aeaab4b0 Arch: added ExclusionNames property to Shape2DViews 2022-07-28 14:09:41 +02:00
Roy-043 f2b05b2986 Draft: Avoid faulty Base.Placement.rotate() in draftobjects.array.py 2022-07-28 13:56:05 +02:00
wmayer 9ad8486a25 Base: replace C macro with function and lambda expressions 2022-07-28 13:49:03 +02:00
Roy-043 7bb485e6b7 Update rotate.py
Workaround for `faulty` implementation of Base.Placement.rotate(center, axis, angle).
See: https://forum.freecadweb.org/viewtopic.php?p=613196#p613196
2022-07-28 13:46:26 +02:00
marioalexis eccf4fed96 Base: Clean up code and improve docstrings in Python Console module 2022-07-28 13:30:01 +02:00
Uwe c14347ce41 * [.github] extend cpplintFilters with -readability/todo
The formatting of a Todo can be ignored
2022-07-28 03:07:06 +02:00
andrea b420901697 Remove 2 deprecate PyCFunction 2022-07-28 01:50:15 +02:00
Chris Hennes be2a8a679c Addon Manager: pylint cleanup of manage_python_dependcies.py 2022-07-27 15:58:12 -05:00
Chris Hennes 802993dc5d Addon Manager: Clean up Addon.py based on pylint 2022-07-27 15:40:03 -05:00
wmayer b1856f3603 [.github] extend cpplintFilters with -build/include_order 2022-07-27 19:18:12 +02:00
wmayer fc8842aea4 Fem: use 'using' instead of 'typedef' [modernize-use-using] 2022-07-27 19:11:05 +02:00
wmayer d0791a9494 Base: help clazy with export macro 2022-07-27 19:09:56 +02:00
Chris Hennes 4a4bb34a87 Addon Manager; Silence some pylint errors 2022-07-27 12:04:38 -05:00
Chris Hennes b9224cd14b Addon Manager: Utilities pylint cleanup 2022-07-27 11:52:57 -05:00
Chris Hennes 0e2508cca9 Addon Manager: Fix get_zip_url for non-github URLs 2022-07-27 11:46:30 -05:00
Chris Hennes 71285f4266 Addon Manager: Cleanup 2022-07-27 10:49:00 -05:00
wmayer 97d28d689e Part: if fillet/chamfer object has set transparency then override the values of the input shape 2022-07-27 17:32:39 +02:00
wmayer 62dbfc5290 Part: if boolean/compound object has set transparency then override the values of the input shape 2022-07-27 17:03:47 +02:00
Chris Hennes f1ce218955 Switch to Boost regex
In some circumstances Boost regex is substantially faster than std::regex, so we currently standardize on using Boost. This also fixes a compilation error on Windows, since std::regex is not included in our precompiled headers.
2022-07-27 09:59:25 -05:00
Chris Hennes e415f38fe6 Addon Manager: Add dialog to manage Python deps 2022-07-27 09:59:25 -05:00
Uwe 66ff55a2aa [FEM] fix PostObject hiding issue
- when a PostObject is hidden the FemPostDataAtPointFilter must not be taken into account
2022-07-27 16:56:06 +02:00
Uwe 95df4d665e [FEM] save icons as plain SVG - part 2/2 2022-07-27 16:42:46 +02:00
Uwe 97eafab6d3 [FEM] PostDataAtPoint: remove unnecessary style setting
- PostDataAtPoint is a point therefore setting a filling style is not necessary

- also fix a typo in a comment
2022-07-27 16:15:04 +02:00
Uwe 03041f0aff [Sketcher] [skip CI] CommandCreateGeo: code style fix
- the MSVC IDE had problems with this, thus apply our .clang style
2022-07-27 16:05:39 +02:00
wmayer 054dd44315 Part: [skip ci] add unit test for PR #7258 2022-07-27 14:44:29 +02:00
0penBrain dbe8f47d93 [BUGFIX] Sketcher: fix icon normal/construction toggling when commands used in custom toolbar
Fixes #7064
2022-07-27 14:28:54 +02:00
luz paz ac6a730076 Trim trailing whitespace for Part/App/BSplineSurfacePyImp.cpp 2022-07-27 14:27:08 +02:00
tomate44 7328f2f302 [Part] BSplineSurface: add setBounds method 2022-07-27 14:27:08 +02:00
wmayer b330552337 Part: [skip ci] add unit test for PR #7260 2022-07-27 14:18:27 +02:00
tomate44 3ddfa5ce09 [Part] BSplineSurface: fix KnotSequence for periodic BSpline surfaces 2022-07-27 14:14:01 +02:00
Uwe a035d650b6 [FEM] remove checks for Python 2 2022-07-27 14:09:23 +02:00
berniev 5f82cfb39f Fix column number calc
(cherry picked from commit 0a8b875751c9469a52548730539dfd4b4fc51acc)
2022-07-27 13:45:33 +02:00
wmayer 79de5318cb Test: [skip ci] fix typo 2022-07-27 13:35:34 +02:00
wmayer 0dddd3336e App/Test: implement unit test for PR #7250 2022-07-27 13:22:00 +02:00
wmayer 7a198ca32e CMake: use system version of FindCoin3D.cmake 2022-07-27 09:56:50 +02:00
wmayer 39a473176a Gui: help clazy with missing include 2022-07-27 07:43:24 +02:00
wmayer 213ca948a6 Spreadsheet: Returning data of temporary QByteArray [-Wclazy-returning-data-from-temporary] 2022-07-27 07:42:55 +02:00
wmayer 469e4f1655 Spreadsheet: fix several memory leaks 2022-07-27 07:37:23 +02:00
Uwe ceed599beb [FEM] skip CI] update a comment 2022-07-27 03:54:26 +02:00
Uwe 16c89568b8 [FEM] update ViewProvider selection code
as suggested in
https://github.com/FreeCAD/FreeCAD/commit/67e836b7e953cf5901a337a6f56df34a0446cd6a#r79459854
2022-07-27 03:51:46 +02:00
Uwe 0b6a5e63fa [FEM] save icons as plain SVG - part 1/2 2022-07-27 03:34:04 +02:00
Uwe 369bb48c90 [FEM] BodyHeat constraint: use unique icon
- it was not possible to distinguish the constraint from the heatFlux constraint
2022-07-27 03:09:15 +02:00
Uwe d3066617bd [FEM] BodyHeat constraint: hide unused property
- the constraint does not take a references and when trying to set one as user because one thinks this empty property must be set, one gets a recompute error
2022-07-27 02:55:29 +02:00
Uwe b7b82489ab [FEM] update Elmer tests after commit bc69cfd1 2022-07-27 02:33:42 +02:00
Uwe 2eceb004e0 [App] remove check for Python 2 2022-07-27 01:55:52 +02:00
Uwe bc69cfd19b [FEM] Elmer: a fix for keywords
- according to the Elmer solver manual, check keywords have to be quoted
2022-07-27 01:48:10 +02:00
Uwe 5b25c97589 [Gui] fix unreferenced local variable warning
- fixes: warning C4101: 'e': unreferenced local variable
2022-07-27 01:35:08 +02:00
wmayer 4f1fbb5a0e Gui: help clazy checker with export macro 2022-07-27 01:19:43 +02:00
wmayer e0bd6d7e2a Part: move initialization of STEP/IGES reader/writer to ImportExportSettings::initialize() 2022-07-26 22:34:20 +02:00
wmayer 70c18c8017 Part: [skip ci] change some default parameters for STEP export 2022-07-26 19:34:55 +02:00
wmayer 1faf86c3da Gui: Use new-style syntax of connect()
When fixing clazy issues -Wclazy-fully-qualified-moc-types then old-style syntax of connect() may fail. Thus, replace it with the new-style syntax
2022-07-26 16:32:18 +02:00
wmayer c4e4b5cf02 TD: Use new-style syntax of connect()
When fixing clazy issues -Wclazy-fully-qualified-moc-types then old-style syntax of connect() may fail. Thus, replace it with the new-style syntax
2022-07-26 16:10:45 +02:00
Benjamin Bræstrup Sayoc a1dfe2465f [TechDraw] Make image test a unittest 2022-07-26 09:40:19 -04:00
Benjamin Bræstrup Sayoc 4fc8596d7b [TechDraw] Make symbol test a unittest 2022-07-26 09:40:19 -04:00
Benjamin Bræstrup Sayoc 906618c0b6 [TechDraw] Make annotation test a unittest 2022-07-26 09:40:19 -04:00
Benjamin Bræstrup Sayoc d1f107f656 [TechDraw] Make hatch test a unittest 2022-07-26 09:40:19 -04:00
andrea 5a9ffe468c Remove deprecated function 2022-07-26 08:52:04 -04:00
Roy-043 1188423beb Draft: Fix handling of groups on move-copy and rotate-copy 2022-07-26 11:26:50 +02:00
Yorik van Havre c6a91b4ff3 Merge pull request #7249 from Roy-043/Draft-Improve-alignToFace-in-WorkingPlane.py
Draft: Improve alignToFace in WorkingPlane.py
2022-07-26 10:27:53 +02:00
Yorik van Havre a187c506ee Merge pull request #7243 from Roy-043/Draft-Housekeeping-import-translate-from-correct-file
Draft: Housekeeping: import translate from correct file
2022-07-26 10:25:21 +02:00
Uwe 67e836b7e9 [FEM] PostObject: improve color bar refreshing
- for data point filters the color bar must not be updated
2022-07-26 04:00:02 +02:00
Uwe c4b8983a27 [FEM] Elmer writer: fix errors on missing material properties
- we must in this case raise an error and stop the writer script
2022-07-26 03:37:55 +02:00
Uwe c7a2ddbaa3 [FEM] add generic Aluminum material
- with full thermal info
2022-07-26 03:20:27 +02:00
Uwe 22c64ef8be [FEM] update bodyHeatSource
- to the state of the other constraints

(this constraint is currently completely broken by the way)
2022-07-26 01:47:09 +02:00
Uwe c9b709d814 [TD] remove unnecessary nullptr checks 2022-07-26 00:28:57 +02:00
Uwe f73321b788 [Part] ReferenceHighlighter: re-add necessary include 2022-07-26 00:15:06 +02:00
Uwe 9a821604e5 [Part] Gui: M to S: remove unused includes
- also sort includes
2022-07-26 00:10:47 +02:00
Uwe fbd0665a77 [Part] A to C: remove unused includes
- also sort includes
2022-07-25 23:52:02 +02:00
Uwe d7074f88b4 [PD] AppPartDesignGui: sort includes 2022-07-25 23:36:39 +02:00
0penBrain 38473f24be Make image scaling command aware of user units (#7222)
* Image: image scaling command is user unit aware ; fixes #6118

- if unitless value entered, InputField uses user choosen base unit
 Before change, always used FC core base unit
 Only applies to GUI user entered values, value changed programmatically still ...
 ... considered in core base unit if applied unitless
2022-07-25 21:17:02 +02:00
adrianinsaval 3bacbf312d Improve grid maxNumberOfLines warning message 2022-07-25 21:01:12 +02:00
wmayer e7edda9679 TD: [skip ci] Fix several clazy issues:
* Using copy-ctor but class TechDraw::anglePoints has a trivial copy-ctor but non trivial assign operator [-Wclazy-rule-of-two-soft]
* Using copy-ctor but class TechDraw::arcPoints has a trivial copy-ctor but non trivial assign operator [-Wclazy-rule-of-two-soft]
* Missing reference in range-for with non trivial type [-Wclazy-range-loop-reference]
* C++11 range-loop might detach Qt container (QList) [-Wclazy-range-loop-detach]
* signal arguments need to be fully-qualified (TechDrawGui::QGIView instead of QGIView) [-Wclazy-fully-qualified-moc-types]
* Use multi-arg instead [-Wclazy-qstring-arg]
* Use midRef() instead [-Wclazy-qstring-ref]
2022-07-25 17:00:48 +02:00
wmayer 88accdb421 PD: [skip ci] Fix several clazy issues:
* Maybe you meant to call base method instead [-Wclazy-skipped-base-method]
* Missing reference in range-for with non trivial type [-Wclazy-range-loop-reference]
* Mixing iterators with const_iterators [-Wclazy-strict-iterators]
* Unused QByteArray [-Wclazy-unused-non-trivial-variable]
* C++11 range-loop might detach Qt container (QList) [-Wclazy-range-loop-detach]
2022-07-25 13:40:19 +02:00
wmayer d344ccc4eb Sketcher: [skip ci] Fix several clazy issues:
* Missing reference in range-for with non trivial type [-Wclazy-range-loop-reference]
* Unused QString [-Wclazy-unused-non-trivial-variable]
* Missing emit keyword on signal call [-Wclazy-incorrect-emit]
* Don't call QList::operator[]() on temporary [-Wclazy-detaching-temporary]
* Use multi-arg instead [-Wclazy-qstring-arg]
* Maybe you meant to call ViewProvider2DObjectGrid::onChanged() instead [-Wclazy-skipped-base-method]
2022-07-25 12:56:09 +02:00
wmayer 832717e446 Path: [skip ci] Fix several clazy issues:
* Missing reference in range-for with non trivial type [-Wclazy-range-loop-reference]
2022-07-25 12:21:32 +02:00
wmayer e403b9ce55 Fem: [skip ci] Fix several clazy issues:
* Maybe you meant to call base method instead [-Wclazy-skipped-base-method]
* Using copy-ctor but class SbMatrix has a trivial copy-ctor but non trivial assign operator [-Wclazy-rule-of-two-soft]
* Missing emit keyword on signal call FemGui::PointMarker::PointsChanged [-Wclazy-incorrect-emit]
2022-07-25 12:11:47 +02:00
wmayer 51ecdbdabe Drawing: [skip ci] Fix several clazy issues:
* Missing reference in range-for with non trivial type [-Wclazy-range-loop-reference]
* Don't call QList::operator[]() on temporary [-Wclazy-detaching-temporary]
* Use multi-arg instead [-Wclazy-qstring-arg]
2022-07-25 11:31:37 +02:00
wmayer 6ad47111ab Spreadsheet: [skip ci] Fix several clazy issues:
* Mixing iterators with const_iterators [-Wclazy-strict-iterators]
* Q_PROPERTY should have either NOTIFY or CONSTANT [-Wclazy-qproperty-without-notify]
* Missing reference in range-for with non trivial type [-Wclazy-range-loop-reference]
* Missing emit keyword on signal call SpreadsheetGui::SheetViewHeader::resizeFinished [-Wclazy-incorrect-emit]
* Missing emit keyword on signal call QAbstractItemModel::dataChanged [-Wclazy-incorrect-emit]
* c++11 range-loop might detach Qt container (QStringList) [-Wclazy-range-loop-detach]
2022-07-25 11:23:27 +02:00
wmayer bbe617614b Robot: [skip ci] Fix several clazy issues:
* Using copy-ctor but class KDL::Rotation has a trivial copy-ctor but non trivial assign operator [-Wclazy-rule-of-two-soft]
* Maybe you meant to call ViewProviderGeometryObject::attach() instead [-Wclazy-skipped-base-method]
* Missing emit keyword on signal call RobotGui::TaskTrajectory::axisChanged [-Wclazy-incorrect-emit]
2022-07-25 11:02:30 +02:00
wmayer 56730b0a2f Raytracing: [skip ci] Fix several clazy issues:
* Don't call QList::operator[]() on temporary [-Wclazy-detaching-temporary]
2022-07-25 10:50:50 +02:00
wmayer 1c3f496d0f Import: [skip ci] Fix several clazy issues:
* Use multi-arg instead [-Wclazy-qstring-arg]
2022-07-25 10:43:46 +02:00
wmayer 1e3ee7ccb1 ReverseEngineering: [skip ci] Fix several clazy issues:
* Missing reference in range-for with non trivial type [-Wclazy-range-loop-reference]
* Use multi-arg instead [-Wclazy-qstring-arg]
2022-07-25 10:40:30 +02:00
wmayer d152d6dd0e MeshPart: [skip ci] Fix several clazy issues:
* Missing reference in range-for with non trivial type [-Wclazy-range-loop-reference]
* Use multi-arg instead [-Wclazy-qstring-arg]
2022-07-25 10:34:51 +02:00
wmayer 05d2f5957d Web: [skip ci] Fix several clazy issues:
* Missing reference in range-for with non trivial type [-Wclazy-range-loop-reference]
* Missing emit keyword on signal call [-Wclazy-incorrect-emit]
* Unused QFileInfo [-Wclazy-unused-non-trivial-variable]
2022-07-25 10:25:29 +02:00
wmayer cea60a2cb4 Surface: Fix several clazy issues:
* Missing reference in range-for with non trivial type [-Wclazy-range-loop-reference]
* Use multi-arg instead [-Wclazy-qstring-arg]
2022-07-25 10:01:49 +02:00
wmayer 8444484677 Part: Fix several clazy issues:
* Maybe you meant to call Primitive::onChanged() instead [-Wclazy-skipped-base-method]
* Maybe you meant to call Primitive::mustExecute() instead [-Wclazy-skipped-base-method]
* Missing reference in range-for with non trivial type [-Wclazy-range-loop-reference]
* Use multi-arg instead [-Wclazy-qstring-arg]
* Use midRef() instead [-Wclazy-qstring-ref]
2022-07-25 08:31:18 +02:00
Adrian Insaurralde Avalos 43ae3c0b16 [python init] Prepend install prefix if libdir is not absolute
For python init script so it can work by default
2022-07-25 03:49:24 +02:00
Uwe 12440921bb [FEM] Elmer: fix python error when solver failed
we must then stop the execution of the script
2022-07-25 02:54:12 +02:00
wmayer a399f044c0 Image: [skip ci] Fix several clazy issues:
* Missing emit keyword on signal call ImageGui::ImageView::closeEventIgnored [-Wclazy-incorrect-emit]
2022-07-25 01:21:23 +02:00
wmayer 45f534bc32 Mesh: Fix several clazy issues:
* Use multi-arg instead [-Wclazy-qstring-arg]
* Q_PROPERTY should have either NOTIFY or CONSTANT [-Wclazy-qproperty-without-notify]
* Using copy-ctor but class SbMatrix has a trivial copy-ctor but non trivial assign operator [-Wclazy-rule-of-two-soft]
2022-07-25 01:14:40 +02:00
wmayer 6becbc3b72 Fix several clazy issues:
* Returning data of temporary QByteArray [-Wclazy-returning-data-from-temporary]
2022-07-25 00:19:41 +02:00
wmayer 0ebdf4743a Fix several clazy issues:
* Don't call ... on temporary [-Wclazy-detaching-temporary]
2022-07-25 00:18:42 +02:00
wmayer 5354632bfb Fix several clazy issues:
* Mixing iterators with const_iterators [-Wclazy-strict-iterators]
2022-07-25 00:04:04 +02:00
wmayer 6ee2c7f865 Fix several clazy issues:
* C++11 range-loop might detach Qt container [-Wclazy-range-loop-detach]
2022-07-24 23:48:37 +02:00
wmayer 0bef4e82f2 Fix several clazy issue:
* Missing reference in range-for with non trivial type [-Wclazy-range-loop-reference]
2022-07-24 22:29:06 +02:00
wmayer bf7e6aac4a Fix several clazy issue:
* Suppress non-POD static [-Wclazy-non-pod-global-static]
* Call to temporary is a no-op: [-Wclazy-writing-to-temporary]
* Unused QString [-Wclazy-unused-non-trivial-variable]
2022-07-24 21:39:59 +02:00
wmayer 36a6f9e2fc Fix several clazy issue:
* Use multi-arg instead [-Wclazy-qstring-arg]
* Use an empty QLatin1String instead of an empty QStringLiteral [-Wclazy-empty-qstringliteral]
* getter Gui::ProgressBar::canAbort possibly mismarked as a slot [-Wclazy-const-signal-or-slot]
* Missing emit keyword on signal call [-Wclazy-incorrect-emit]
2022-07-24 20:07:04 +02:00
wmayer 54506e12bf Fix several clazy issue:
* Using copy-ctor but class SbMatrix/SbViewportRegion has a trivial copy-ctor but non trivial assign operator [-Wclazy-rule-of-two-soft]
2022-07-24 19:38:59 +02:00
Uwe 20c770c899 [FEM] ViewProviderDocumentObject: fix parenthesis mistake
(I don't know how this happened)
2022-07-24 19:25:53 +02:00
Uwe 8e7e057430 [FEM] fix color bar handling on hiding post objects
- fixed the remaining part of #7230: on hiding an object, refresh the color bar of the new visible object (if there is any)
2022-07-24 19:17:24 +02:00
wmayer 3b0b7775f4 Fix several clazy issues:
* Q_PROPERTY should have either NOTIFY or CONSTANT [-Wclazy-qproperty-without-notify]
* Use Q_ENUM instead of Q_ENUMS [-Wclazy-qenums]
* Add missing a Q_OBJECT macro [-Wclazy-missing-qobject-macro]
* Signal/Slot arguments need to be fully-qualified [-Wclazy-fully-qualified-moc-types]
2022-07-24 19:03:30 +02:00
Roy-043 75d6804555 Draft: Improve alignToFace in WorkingPlane.py 2022-07-24 18:52:41 +02:00
Uwe 864c9ecac5 [FEM] set default selection mode to BoundBox for post objects
- this fixes a long-standing annoyance that popped up also from time to time in the forum:
  the post objects deliver information via its coloring but a selection in the tree changed the shape color

Even experienced users like me did not know about the SelectionStyle property and always had to click into the model to see the real color, not the selection color.
Therefore SelectionStyle set to BoundBox is sensible as default settings for post objects since this assures that the users always see the right coloring.
2022-07-24 16:24:01 +02:00
Uwe 4efbc146ec [.github] try to get the checks also for the 0-20 branch 2022-07-24 06:01:52 +02:00
Uwe c1946884d8 [FEM] fix regression of missing stress results
- fixes the regression that went in short as "last minute fix": commit 3af54a7dda -> fixes #7242

- also remove a doubled entry in an IF
2022-07-24 05:41:33 +02:00
Uwe be90374f4e [.github] disable tidy checks for now
- as requested in https://github.com/FreeCAD/FreeCAD/pull/7152#issuecomment-1193176866
2022-07-24 02:58:39 +02:00
wmayer fed9f20f48 Import: use Part::ImportExportSettings to access parameters 2022-07-23 21:58:51 +02:00
wmayer b00044c656 Part: initialize controls of DlgImportExportStep with ImportExportSettings 2022-07-23 21:16:04 +02:00
wmayer 710e16b340 Part: implement class ImportExportSettings for consistent parameter access 2022-07-23 21:15:22 +02:00
Uwe 2dbc92d399 [.github] disable clang checks for now
see https://github.com/FreeCAD/FreeCAD/pull/7152#issuecomment-1193167296
2022-07-23 20:25:21 +02:00
Roy-043 7d14bef0f5 Draft: Housekeeping: import translate from correct file 2022-07-23 19:51:03 +02:00
Uwe 057e90bf29 [FEM] TaskBoxes: add missing info about transparency
The user had no info about the current transparency nor the value he will be selecting.
2022-07-23 19:41:18 +02:00
Floriansimmer ed82bd1280 Github: basic check CI Run (#7152)
* Github: basic check CI Run

- trailing Whitespace
- tab
- string based QT connections
- Cpplint
- pylint
- Black
- clang-format
- Codespell
- clang-tidy
- clazy (+QT6 Checks)
- Report
2022-07-23 18:53:50 +02:00
Uwe 689737b443 [FEM] better fix for missing colorbar update for FemPostObject
- better fix for #7230 because we can call the direct paint method and because the bar is now also updated when the object is shown

- also add a ToDo note
2022-07-23 16:57:16 +02:00
Uwe cce5de8087 [Path] remove check for python 2 2022-07-23 15:12:35 +02:00
mosfet80 cf96b23b3e Git ignore hidden files with defined exceptions (#7108)
* git ignore all hidden files

* Removal file with non-existent link

* git Ignore all hidden files except .gitignore

* Set exceptions in gitignore
2022-07-23 14:47:53 +02:00
andrea dc34a04d1e fix warning :unused variables 2022-07-23 14:27:50 +02:00
andrea 0c4c3cc786 Remove unused code into App 2022-07-23 14:27:50 +02:00
Uwe adff3da37a [FEM] task_material_common: add a comment 2022-07-23 14:22:48 +02:00
Uwe 1f7374edf1 [FEM] fix material task dialog for fluids
- this fixes a mistake from commit ef088674
- it also consistently use the thermal expansion coefficient
- add code comments

now the material task dialog works with all fluid materials without errors or warnings
2022-07-23 04:59:10 +02:00
Syres916 44a3582923 [Part] Bugfix Primitives correction of decimal..
...places on creation
See https://forum.freecadweb.org/viewtopic.php?f=3&t=70339
2022-07-23 03:27:32 +02:00
wmayer 639ff927de Part: fix TopoShape.isInside() for faces 2022-07-22 15:32:30 +02:00
Yorik van Havre c30f21446d Merge pull request #7233 from Roy-043/Arch-Housekeeping-import-translate-from-correct-file
Arch: Housekeeping: import translate from correct file
2022-07-22 12:55:06 +02:00
Uwe b4b53a865e [Gui] [skip CI] Selection: a formatting style fix 2022-07-22 02:09:25 +02:00
Uwe b22e5737a5 [FEM] [skipCI] ViewProviderFemPostPipeline: remove unused include
- also sorting
2022-07-22 02:08:11 +02:00
Chrismettal 2add334167 [Stylesheets] Remove whitespace and add "checked" icon style 2022-07-22 02:05:49 +02:00
Uwe 9f9a874247 [FEM] fix missing colorbar update for FemPostObject
- fixes issue #7230

- to update the color bar for post objects, the Field property has to be reset to trigger this. This PR does this.
2022-07-22 01:20:18 +02:00
luz paz a55f5eb1ae Fix typos in Part and TechDraw workbenches
[skip ci]
2022-07-21 15:15:35 +02:00
Roy-043 bafe141745 Arch: Housekeeping: import translate from correct file 2022-07-21 10:17:03 +02:00
Uwe 98b9ba20fe [FEM] [skip CI] fix UI file height entry
- was automatically done by QT designer
2022-07-21 03:43:26 +02:00
Benjamin Bræstrup Sayoc 6ed38eeb99 [TechDraw] Improve readability of DrawViewDetail.cpp
[TechDraw] Improve readability of DrawViewDimension.cpp

[TechDraw] Improve readability of DrawViewDimExtent.cpp

[TechDraw] Improve readability of DrawViewDraft.cpp

[TechDraw] Improve readability of DrawViewImage.cpp

[TechDraw] Improve readability of DrawViewMulti.cpp
2022-07-20 16:44:26 -04:00
edi271 a203b1ae30 [TD] Add SurfaceFinishSymbol command
Co-authored-by: Benjamin Bræstrup Sayoc <benj5378@outlook.com>
2022-07-20 16:13:56 -04:00
Wanderer Fan 111aef4866 [TD]review comments and rebase for PR7197 2022-07-20 12:59:12 -04:00
Benjamin Bræstrup Sayoc e326f9bd99 [TechDraw] Improve readability of DrawViewClip.cpp 2022-07-20 12:59:12 -04:00
Benjamin Bræstrup Sayoc 3979d589a3 [TechDraw] Improve readability of DrawViewBalloon.cpp 2022-07-20 12:59:12 -04:00
Benjamin Bræstrup Sayoc b349d02496 [TechDraw] Improve readability of DrawViewArch.cpp 2022-07-20 12:59:12 -04:00
Benjamin Bræstrup Sayoc fa27525021 [TechDraw] Improve readability of DrawViewAnnotation.cpp 2022-07-20 12:59:12 -04:00
Benjamin Bræstrup Sayoc 6aef122551 [TechDraw] Improve readability of DrawTile.cpp 2022-07-20 12:59:12 -04:00
Benjamin Bræstrup Sayoc 380219ad7f [TechDraw] Improve readability of DrawRichAnno.cpp 2022-07-20 12:59:12 -04:00
Uwe 7ab531c51a [TD] last part of removal of superfluous nullptr checks 2022-07-20 12:17:16 +02:00
Uwe 40d8ebb372 [TD] remove some more superfluous nullptr checks 2022-07-20 11:54:28 +02:00
Uwe 1819aa9c0c [PD] TaskExtrudeParameters: add missing simplification
forgot this change in commit 98dae1b2
2022-07-20 11:35:46 +02:00
Yorik van Havre d665c9b8d0 Merge pull request #7215 from Roy-043/Draft-Remove-unnecessary-DisplayStatusbar-preference
Draft: Remove unnecessary DisplayStatusbar preference
2022-07-20 10:45:36 +02:00
Yorik van Havre e8fd473072 Merge pull request #7217 from manuvarkey/dev_branch_1
Arch: Add support for editing profile type, add L and T sections
2022-07-20 10:38:03 +02:00
Uwe 98dae1b217 [PD] TaskExtrudeParameters: simplify code
to avoid several time the same translatable string
2022-07-20 03:16:56 +02:00
adrianinsaval 0e22ada9dd [PD Pad/Pocket] Fix bug with midplane usage in TwoLengths mode (#7216)
* [PD Pad/Pocket] Fix bug with midplane usage in TwoLengths mode
2022-07-20 03:13:01 +02:00
Uwe 31bc9f3913 [TD] remove some more superfluous nullptr checks 2022-07-20 02:53:48 +02:00
Uwe 8304a0942e [TD] remove more superfluous nullptr checks 2022-07-20 02:32:52 +02:00
wmayer fba4663baa Part: add instruction how to adjust the maximum number of grid lines 2022-07-19 11:50:56 +02:00
wmayer 3f8dc1a5a8 Gui: fix crash in ViewProviderLink::currentDraggingPlacement() if there is no active dragger 2022-07-19 10:40:32 +02:00
Uwe af18a97913 [TD] Gui: remove more superfluous nullptr checks 2022-07-19 03:40:32 +02:00
Uwe 43f289f27a [PD] [skip CI] FeatureExtrude.cpp: fix a comment 2022-07-19 03:30:48 +02:00
Uwe b3ee50a749 [zipios] remove superfluous nullptr checks 2022-07-19 03:00:01 +02:00
Uwe 2e5e4dced8 [TD] Gui: remove some superfluous nullptr checks 2022-07-19 02:49:46 +02:00
Uwe 003757176c Mod: remove some more superfluous Boolean checks 2022-07-19 02:40:59 +02:00
Uwe 93796e2d92 [TD] App: remove some superfluous nullptr checks 2022-07-19 02:03:50 +02:00
Uwe 3a50f95be4 Mod: remove some superfluous Boolean checks (#7213)
* Mod: remove some superfluous Python Boolean checks
2022-07-19 01:35:12 +02:00
Uwe fadd455d16 [Part] add missing part from: cleanup new preferences Feature 2022-07-19 01:16:47 +02:00
Manu Varkey a0bea6b24f Arch: Add support for editing profile type, add L and T sections 2022-07-19 01:18:04 +05:30
Roy-043 1e5055a86b Draft: Remove unnecessary DisplayStatusbar preference 2022-07-18 16:28:44 +02:00
Uwe 3e99d39d05 [Gui] remove some more superfluous nullptr checks 2022-07-18 13:15:38 +02:00
Uwe 2d60c3a682 [libE57] remove more superfluous nullptr checks 2022-07-18 13:14:51 +02:00
Uwe 90abdf2752 [Base] remove some more superfluous nullptr checks 2022-07-18 13:07:16 +02:00
Uwe 142cfce9f7 [App] code style fixes by MSVC
- automatic .clang fixes while checking for nullptr, no actual code change
2022-07-18 13:03:42 +02:00
Uwe 88a06f8f10 Mod: remove some unnecessary nullptr checks 2022-07-18 12:58:12 +02:00
Uwe a5eb40a9a6 [Part] cleanup new preferences Feature
- correct preferences location
- handle preferences packs
- remove unused code
2022-07-18 12:42:26 +02:00
Uwe 69bb354f28 [Part] DlgSettingsMeasure.ui: change wording style
to match the style used be the other Part preferences tabs
2022-07-18 12:16:31 +02:00
VM4Dim 53d9b1899f [PartGui] Add Font and Color Preferences to Measure dimensions (#7148)
* [Part] Add Font and Color Preferences to Measure dimensions v4

authored-by: VM4Dim <vm4dim@users.noreply.github.com>
Co-authored-by: Uwe <donovaly@users.noreply.github.com>
2022-07-18 11:52:00 +02:00
Yorik van Havre 217b1e82cb Merge pull request #7141 from Roy-043/Draft-make_hatch.py-should-return-the-object
Draft: make_hatch.py should return the object
2022-07-18 10:48:07 +02:00
Yorik van Havre 4555878c10 Merge pull request #7173 from Roy-043/Draft_Fix_setEdit_in_view_text.py
Draft: Fix setEdit in view_text.py
2022-07-18 10:44:31 +02:00
Yorik van Havre 87d9a43117 Merge pull request #7176 from Roy-043/Draft_Add_resetEdit_to_gui_hatch.py
Draft: Add resetEdit to gui_hatch.py
2022-07-18 10:44:06 +02:00
Yorik van Havre e08d394752 Merge pull request #7200 from Roy-043/Draft-Fix-color-handling-in-make_point.py
Draft: Fix color handling in make_point.py
2022-07-18 10:43:29 +02:00
Yorik van Havre 952a10e756 Merge pull request #7212 from Roy-043/Arch-Fix-getCutVolume-in-ArchCommands.py
Arch: Fix getCutVolume in ArchCommands.py
2022-07-18 10:41:58 +02:00
Yorik van Havre caea150716 Merge pull request #7192 from benj5378/docs
[Doc] Migrate WebDoc to doxygen 1.9.4 and improve layout
2022-07-18 10:41:14 +02:00
Yorik van Havre a9a67d8854 Merge pull request #7181 from manuvarkey/bug_fix_1
Fix bug #6679, add new profiles
2022-07-18 10:36:28 +02:00
Roy-043 2316809038 Arch: Fix getCutVolume in ArchCommands.py 2022-07-18 08:52:39 +02:00
Uwe 1d95c26e2e [Gui] remove more superfluous nullptr checks 2022-07-18 03:34:22 +02:00
Uwe bd6ffcc7e0 [Base] remove more superfluous nullptr checks 2022-07-18 03:29:03 +02:00
Uwe 316a869b26 [Gui] remove superfluous nullptr checks 2022-07-18 03:17:42 +02:00
Uwe 53571f7196 [Base] remove superfluous nullptr checks 2022-07-18 03:16:22 +02:00
Uwe fa36a57724 [App] remove superfluous nullptr checks 2022-07-18 03:12:01 +02:00
Uwe 615b1b9b00 [libE57] remove superfluous nullptr checks 2022-07-18 02:59:14 +02:00
Uwe 1823439195 [Robot etc.] remove superfluous nullptr checks 2022-07-18 02:54:09 +02:00
Uwe c35579227b [Path] remove superfluous nullptr checks 2022-07-18 02:52:48 +02:00
Uwe 16c86a6d08 [Sketch] remove superfluous nullptr checks 2022-07-18 02:51:49 +02:00
Uwe 2d2ad11e14 [Mesh] remove superfluous nullptr checks 2022-07-18 02:37:33 +02:00
Uwe 48af573746 [FEM] remove more superfluous nullptr checks 2022-07-18 02:34:57 +02:00
Uwe 5d76afe0a5 re-add some nullptr
to be safe since their removal within assert() or bools might have some impact I don't know
2022-07-18 02:32:36 +02:00
Uwe 1f04880da9 [Image] [Inspection] remove superfluous nullptr checks 2022-07-18 01:54:09 +02:00
Uwe ce86b03e0a [Spreadsheet] remove superfluous nullptr checks 2022-07-18 01:49:41 +02:00
Uwe fc548a4b34 [FEM] remove superfluous nullptr checks 2022-07-18 01:45:19 +02:00
Uwe 5f8e0c46ee [Part] remove more superfluous nullptr checks 2022-07-18 01:36:27 +02:00
Uwe 697e88aed6 [PD] remove more superfluous nullptr checks 2022-07-18 01:33:28 +02:00
Uwe 5048f14d60 .clang-format: change a style
as discussed here: https://github.com/FreeCAD/FreeCAD/pull/6918#issuecomment-1186529217
2022-07-18 00:48:46 +02:00
Uwe a8d01fa6c6 [PD] add parameter enabling logic for pad/pocket
- currently all parameters are always enabled and thus can lead to errors like the one reported here:
https://forum.freecadweb.org/viewtopic.php?f=3&t=70266
2022-07-18 00:26:15 +02:00
Uwe e4dfc42f33 [PD] improve face selection for Pad/Pocket
- this PR extends PR #7191 as described in this forum thread: https://forum.freecadweb.org/viewtopic.php?f=3&t=70327
2022-07-17 18:35:34 +02:00
Uwe 35f75064a0 [PD] remove superfluous nullptr checks 2022-07-17 18:12:41 +02:00
Uwe 07ddfc88de [PD] App: remove superfluous nullptr checks
- also Body: get rid of some nasty single-letter variables
2022-07-17 18:07:00 +02:00
Uwe e491ba8d12 [Part] remove superfluous nullptr checks 2022-07-17 18:06:21 +02:00
Mikael Ågren 81d29884fc Remove dead code 2022-07-17 17:39:20 +02:00
sliptonic ef04487cd1 Merge pull request #7168 from sliptonic/feature/camoticstooltable
[Path] export a camotics tooltable
2022-07-17 08:42:43 -05:00
wmayer 5820618091 Import: do not export the entire class but only its public methods.
This fixes the warning C4251 for the template classes std::string or std::vector
Forum thread: https://forum.freecadweb.org/viewtopic.php?f=10&t=70317
2022-07-17 13:49:27 +02:00
Roy-043 d6b3942ad1 Draft: Fix color handling in make_point.py 2022-07-17 12:32:08 +02:00
wmayer b548d3b1ef Partially revert "Remove unused code into GUI" 2022-07-17 12:32:03 +02:00
andrea 3018985f80 Remove unused code into GUI 2022-07-17 03:53:11 +02:00
Uwe 094ae93678 [PD] fix Pad/Pocket logic issue
- fixes the bug reported in https://forum.freecadweb.org/viewtopic.php?f=3&t=70266
  as Method #2
  -> When switching to two dimensions, symmetric must be unchecked if it is checked
2022-07-17 02:03:35 +02:00
Uwe faa1f96f08 [FEM] check if Gmsh, CCX and Mystran solver binaries exist
- adds the check like we have already for Z88 and Elmer
- also remove an unnecessary return statement
2022-07-17 01:43:58 +02:00
Uwe da104f63b7 [FEM] fix CCX (new framework) binary handling
- when the binary was not found, the function called the non-existing binary
- also push error message to the status info so that user gets feedback also when report view console is not shown
2022-07-17 01:28:54 +02:00
Uwe 3a993abfb4 [FEM] fix Z88 binary handling
- when the binary was not found, the function called the non-existing binary
- also push error message for Elmer and Z88 to the status info so that user gets feedback also when report view console is not shown
- uniform wording to 'binary'
- avoid unnecessary console output
2022-07-17 01:18:21 +02:00
Uwe a4ec6d4f83 [TD] fix compilation on MSVC
- CLMODE was used before its declaration, therefore it did not compile
forum thread: https://forum.freecadweb.org/viewtopic.php?f=10&t=70316
2022-07-17 00:26:13 +02:00
Benjamin Bræstrup Sayoc e80e8bf731 [TechDraw] Improve readability of DrawUtil.cpp 2022-07-16 16:00:43 -04:00
Benjamin Bræstrup Sayoc 0421d7cc5d [TechDraw] Gather rotation calculations in a single function 2022-07-16 16:00:10 -04:00
Benjamin Bræstrup Sayoc 137a4e0ee6 [TechDraw] Improve readability of Cosmetic.cpp 2022-07-16 16:00:10 -04:00
Benjamin Bræstrup Sayoc 568cc79186 [TechDraw] Refactor CosmeticEdge constructors
Use constructor delegation and default parameters for CosmeticEdge
2022-07-16 16:00:10 -04:00
Benjamin Bræstrup Sayoc fac4e72ea4 [TechDraw] Use constructor delegation for CosmeticEdge 2022-07-16 16:00:10 -04:00
Benjamin Bræstrup Sayoc eb3a04f30e [TechDraw] Use default parameters for LineFormat constructor 2022-07-16 16:00:10 -04:00
Uwe 4a5bf895ed [FEM] [skip CI] inform user about used CPU cores for Elmer
Since the number of used cores can for Elmer have the impact that a solver run converges or not, output this info prominently
2022-07-16 19:46:46 +02:00
Uwe 3542c73966 [FEM] [skip CI] tell user when Elmer write succeeded
At the moment the user gets no feedback, while for Z88 and CCX he gets a result
2022-07-16 19:41:43 +02:00
Uwe 146e5508aa [FEM] [skip CI] fix wording
Calculix will not be broken, but stopped. After clicking the button your will also get a message that it has been 'stopped'
2022-07-16 19:33:02 +02:00
wmayer 2a41f359f7 Gui: implement mechanism to set a custom icon name or tooltip of a preferences group 2022-07-16 19:27:22 +02:00
Uwe 2782d09dee [FEM] [skip CI] fix a typo 2022-07-16 19:21:25 +02:00
sliptonic fa49c07840 Update src/Mod/Path/PathScripts/PathToolBitLibraryGui.py
Co-authored-by: Benjamin Bræstrup Sayoc <benj5378@outlook.com>
2022-07-16 12:16:14 -05:00
sliptonic 1a8a7959e5 Merge pull request #7127 from sliptonic/feature/chipbreak
[Path] Feature/chipbreak
2022-07-16 12:02:38 -05:00
Uwe 32ac6fa9fd [FEM] [skip CI] fix a string 2022-07-16 18:54:11 +02:00
sliptonic 9f7c699fb8 GUI panel for chipbreaking 2022-07-16 11:30:16 -05:00
sliptonic 6d81f31f11 Additional changes to support G73 2022-07-16 11:30:16 -05:00
sliptonic ff1e995f30 Generator can produce G73 (chipbreak) commands instead of G83.
Add tests
2022-07-16 11:30:16 -05:00
wmayer 2dd9d69112 Gui: fix crash in ExpressionCompleter::slotUpdate
Forum thread: https://forum.freecadweb.org/viewtopic.php?f=3&t=69931
2022-07-16 18:23:42 +02:00
Wanderer Fan 3137a81604 [TD]check for spline on linear Dims 2022-07-16 11:28:38 -04:00
Wanderer Fan 5d93fbe0bb [TD]fix ext line gap preference 2022-07-16 11:28:38 -04:00
Uwe 6d54ca4df4 [Gui] preferences: clarify Part/PD page
- users are confused that we have a preferences page named "Part design" that also defines things for the Part WB. The Wiki is clear that the preferences page is for both, Part and PD, however the UI is not.
This PR makes this clear.
2022-07-16 16:20:36 +02:00
wmayer 656408615a PD: fix ProfileBased::getSupportFace() to also handle the case where a support face is selected 2022-07-16 16:08:09 +02:00
Uwe fcd5394864 [Gui] preferences: add button to switch gradient colors
- when finding a suitable background color gradient, it is annoying that there is no button to switch the begin/end color of the gradient. With the button one can quickly see the the changes and find a suitable gradient much quicker
2022-07-16 16:05:54 +02:00
Uwe 10301e7f75 [FEM] [skip CI] fix a typo 2022-07-16 16:01:38 +02:00
wmayer 882125c1c6 PD: rename getUpToFaceFromLinkSub to getFaceFromLinkSub 2022-07-16 15:59:54 +02:00
Uwe 6625281986 [FEM] enable to run Elmer multi-threaded
- this needs proper testing, especially on a non-Windows system

- note that for some tasks multi-threading requires non-standard additional solvers like MUMPS. Ideally the user should be informed about this, depending on the equations he uses. But this should not block this PR, meaning to use multi-threading in general.
2022-07-16 14:59:25 +02:00
wmayer f34a814ead Part: replace PyObject_Not with Base::asBoolean 2022-07-16 14:10:34 +02:00
wmayer 201f4c9a5a Core: replace PyObject_IsTrue with Base::asBoolean 2022-07-16 14:04:05 +02:00
wmayer d1ef818f39 Fem: replace PyObject_IsTrue with Base::asBoolean 2022-07-16 13:37:55 +02:00
wmayer 76330db700 Import: replace PyObject_IsTrue with Base::asBoolean 2022-07-16 13:37:12 +02:00
wmayer aea58ace37 Mesh: replace PyObject_IsTrue with Base::asBoolean 2022-07-16 13:33:18 +02:00
wmayer 8ae3185e3b Part: replace PyObject_IsTrue with Base::asBoolean 2022-07-16 13:31:10 +02:00
wmayer 343aadf02b Path: replace PyObject_IsTrue with Base::asBoolean 2022-07-16 12:44:38 +02:00
wmayer b48f7229a3 Sketch: replace PyObject_IsTrue with Base::asBoolean 2022-07-16 12:41:53 +02:00
wmayer 231de30c2f Base: add convenience function to convert PyObject_IsTrue to a boolean 2022-07-16 12:41:01 +02:00
wmayer b42e994ec9 Path: fixes -Woverloaded-virtual 2022-07-16 12:15:41 +02:00
wmayer 780ccceccf Draft: [skip ci] fix -Wunused-parameter 2022-07-16 11:26:58 +02:00
wmayer 2041eca74c Import: if PyArg_ParseTuple() returns false PyErr_Clear() must be called first before calling PyArg_ParseTuple() again 2022-07-16 11:19:13 +02:00
wmayer e1ebcef39e Import: [skip ci] change path to user config in Import.readDXF() 2022-07-16 10:59:06 +02:00
Benjamin Alterauge c50e7a29fe Remove duplicate source code 2022-07-16 10:55:24 +02:00
Benjamin Alterauge d15da0ef96 PreCompiled fix
Preventive action to avoid problems with MSVC.
2022-07-16 10:55:24 +02:00
Benjamin Alterauge 3ef8a641c6 Remove DraftUtils.readDXF 2022-07-16 10:55:24 +02:00
Benjamin Alterauge a980b08719 Code Cleaning - pragma
#pragma once or define. Not both.
2022-07-16 10:55:24 +02:00
Benjamin Alterauge 83203153cd Group dxf relevant files in one folder 2022-07-16 10:55:24 +02:00
wmayer 42b519a90a Mesh: [skip ci] unit test for Mesh.foraminate() 2022-07-15 18:53:56 +02:00
sliptonic 68ade24c78 Merge pull request #7187 from sliptonic/bug/sectiontolerance
[Path] set PathArea section tolerance to 1e-07.
2022-07-15 11:39:12 -05:00
Benjamin Bræstrup Sayoc 99c9cd9bca [Doc] Clean up footer and header for WebDoc 2022-07-15 17:43:40 +02:00
wmayer e2e58f7bff Mesh: [skip ci] allow to set third parameter in Python wrapper 2022-07-15 17:39:33 +02:00
Benjamin Bræstrup Sayoc 619c7942aa [TechDraw] Improve readability of ViewProviderWeld.cpp 2022-07-15 11:31:11 -04:00
Benjamin Bræstrup Sayoc bb44c9ece4 [TechDraw] Improve readability of ViewProviderViewSection.cpp 2022-07-15 11:31:11 -04:00
Benjamin Bræstrup Sayoc 700a0217b4 [TechDraw] Improve readability of ViewProviderViewPart.cpp 2022-07-15 11:31:11 -04:00
Benjamin Bræstrup Sayoc 87d4c8e237 [TechDraw] Improve readability of ViewProviderTemplate.cpp 2022-07-15 11:31:11 -04:00
Benjamin Bræstrup Sayoc cd1cc2e6e9 [TechDraw] Improve readability of ViewProviderRichAnno.cpp 2022-07-15 11:31:11 -04:00
Benjamin Bræstrup Sayoc 46ab6b7534 [TechDraw] Improve readability of ViewProviderProjGroupItem.cpp 2022-07-15 11:31:11 -04:00
Benjamin Bræstrup Sayoc 0bf9f1de93 [TechDraw] Improve readability of ViewProviderPage.cpp 2022-07-15 11:31:11 -04:00
Benjamin Bræstrup Sayoc 0001965476 [TechDraw] Improve readability of ViewProviderLeader.cpp 2022-07-15 11:31:11 -04:00
Benjamin Bræstrup Sayoc 4203420b02 [TechDraw] Improve readability of ViewProviderHatch.cpp 2022-07-15 11:31:11 -04:00
Benjamin Bræstrup Sayoc 60e6a0e73e [TechDraw] Improve readability of ViewProviderGeomHatch.cpp 2022-07-15 11:31:11 -04:00
Benjamin Bræstrup Sayoc 886f4fe1b9 [TechDraw] Improve readability of ViewProviderGeomHatch.cpp 2022-07-15 11:31:11 -04:00
Benjamin Bræstrup Sayoc c90fc4fe49 [TechDraw] Improve readability of ViewProviderBalloon.cpp 2022-07-15 11:31:11 -04:00
Benjamin Bræstrup Sayoc 23c3cf76be [TechDraw] Improve readability of TaskWeldingSymbol.cpp 2022-07-15 11:31:11 -04:00
Benjamin Bræstrup Sayoc 9830cabb33 [TechDraw] Improve readability of TaskSelectLineAttributes.cpp 2022-07-15 11:31:11 -04:00
Benjamin Bræstrup Sayoc 8d7cb491f7 [TechDraw] Improve readability of TaskSectionView.cpp 2022-07-15 11:31:11 -04:00
Benjamin Bræstrup Sayoc 93700c81e4 [TechDraw] Improve readability of TaskRichAnno.cpp 2022-07-15 11:31:11 -04:00
Benjamin Bræstrup Sayoc 7c1c31e10e [TechDraw] Improve readability of TaskProjGroup.cpp 2022-07-15 11:31:11 -04:00
Benjamin Bræstrup Sayoc c85e6d2d73 [TechDraw] Improve readability of TaskLineDim.cpp 2022-07-15 11:31:11 -04:00
Benjamin Bræstrup Sayoc 9976280027 [TechDraw] Improve readability of TaskLeaderLine.cpp 2022-07-15 11:31:11 -04:00
Benjamin Bræstrup Sayoc 6a2aa14edd [TechDraw] Improve readability of TaskDetail.cpp 2022-07-15 11:31:11 -04:00
Benjamin Bræstrup Sayoc 1ae137aeba [TechDraw] Improve readability of TaskCenterLine.cpp 2022-07-15 11:31:11 -04:00
Benjamin Bræstrup Sayoc 0d61c6a72b [Doc] Migrate BuildWebDoc.cfg.in to doxygen 1.9.4 2022-07-15 16:16:14 +02:00
wmayer c2667384bd Replace std::ignore with boost::ignore_unused()
According to https://isocpp.org/blog/2016/09/quick-q-stdignore-for-ignoring-unused-variable std::ignore is not supposed to be used for this
2022-07-15 13:15:47 +02:00
Przemo Firszt 1bb9699c9a Update fedora spec to v0.21
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2022-07-14 17:17:50 +02:00
wmayer 94223d4afe Gui: [skip ci] print debug information in GuiNativeEvent::tdx_drv_handler 2022-07-14 16:00:02 +02:00
sliptonic acf2a186e5 set PathArea section tolerance to 1e-07. 2022-07-14 08:53:26 -05:00
wmayer 2003cb7506 Gui: [skip ci] improve whitespaces in GuiNativeEvent::tdx_drv_handler 2022-07-14 15:49:36 +02:00
wmayer 339bb73e9f Base: add convenience classes/functions that are marked as deprecated in Qt 5.15 and removed in Qt 6 2022-07-14 14:52:23 +02:00
wmayer 657b144128 Gui: move QuiLoader for MinGW to global namespace 2022-07-14 14:44:56 +02:00
wmayer e8476868dc Main: simplify MainPy.cpp 2022-07-14 14:35:03 +02:00
wmayer 761ff7bab4 Base: [skip ci] fix regression in ~ILoggerBlocker caused by ea0c3e8598 2022-07-14 14:32:52 +02:00
Yorik van Havre 3f986ecce4 Merge pull request #7174 from Roy-043/Draft-Fix-EditMode-for-hatch,-facebinder-and-shapestring
Draft: Fix EditMode for hatch, facebinder and shapestring
2022-07-14 12:02:01 +02:00
Yorik van Havre 84417b5e3a Merge pull request #7186 from Roy-043/Draft_Fix_Hatch_task_panel_title
Draft: Fix Hatch task panel title
2022-07-14 11:58:34 +02:00
Roy-043 d0c5345998 Update view_hatch.py
There is no need for `Gui.Control.closeDialog()` in `setEdit`
`Set colors` removed from the context menu.
2022-07-14 09:20:25 +02:00
Roy-043 081cf4c783 Update view_facebinder.py
There is no need for `Gui.Control.closeDialog()` in `setEdit`
2022-07-14 09:17:08 +02:00
Roy-043 2886559fda Draft: Fix Hatch task panel title
Form -> Hatch
2022-07-14 09:07:12 +02:00
sliptonic c126a8cced Merge pull request #7137 from Russ4262/fix/path_array_polar
Path: Fix Type=Polar regression in PathArray
2022-07-13 18:40:24 -05:00
Marshal Horn cf27c91a2e Replaced python2 usage of next()
iterator.next() is deprecated in python3.
next(iterator) is the direct replacement.
In some cases a for() loop makes more sense
2022-07-14 01:28:10 +02:00
Uwe d48fe836ca [FEM] femutils.py: style changes
- as requested
2022-07-14 01:21:54 +02:00
sliptonic bd7e5c210b Merge pull request #7178 from sliptonic/bug/misc
[Path]  Several small bug fixes
2022-07-13 17:34:21 -05:00
Wanderer Fan 5abbfd7087 [TD]fix crash on body with no shape 2022-07-13 14:31:16 -04:00
Manu Varkey f14132ab71 Merge branch 'master' into bug_fix_1 2022-07-13 20:41:21 +05:30
Manu Varkey dd0bb33a01 Fix bug #6679, add new profiles
Reclassify profile sections by type to fix bug #6679.
Add IS RHS & IS SHS profiles.
2022-07-13 18:02:02 +05:30
Bernd Hahnebach edcd16afaf FEM: Python code formatting 2022-07-13 12:04:52 +02:00
Uwe c76913454a [Gui] ViewProviderGeometryObject: fix color and transparency
- fixes the issue reported in
https://forum.freecadweb.org/viewtopic.php?p=609353#p609353
the color and transparency are childs of the material and have to be set as such.

- also some code style fixes done automatically by MSVC
2022-07-13 05:42:21 +02:00
Uwe c7aca5b5d2 [FEM] [skip CI] electrostatic: remove unused code 2022-07-13 03:23:19 +02:00
Uwe c8064ed059 [FEM] fix solver console bugs
- for Elmer and Z88 on Windows several windows pop up (console windows). This is maybe annoying and the user is wondering what is going on, but the main problem is that when you close them, you break the solving process.
Therefore, on Windows only, hide the empty popup windows.
2022-07-13 02:51:31 +02:00
Roy-043 16ec7d02c0 Update view_text.py
Oops: import DraftGui instead of import Draft
2022-07-12 21:58:34 +02:00
sliptonic e141910597 Fixes #7164 2022-07-12 14:15:52 -05:00
sliptonic a78d504ea4 remove G53 from fixture list 2022-07-12 13:24:05 -05:00
sliptonic ea1236664c Avoid python 3.6 error.
subprocess doesn't have capture_output.
Use subprocess.PIPE instead.
2022-07-12 12:23:06 -05:00
sliptonic f4f37ecdd1 G38 fixes for probe visualization per mlampert 2022-07-12 12:22:36 -05:00
sliptonic c4c553617f minor black fixes 2022-07-12 12:22:36 -05:00
sliptonic 792cb05473 export a camotics tooltable 2022-07-12 09:52:59 -05:00
sliptonic 842fd4772b Merge pull request #7007 from LarryWoestman/post_refactor
Path:  (WIP) Add some refactored postprocessors along with some tests.
2022-07-12 09:29:12 -05:00
Roy-043 7413a3a999 Draft: Add resetEdit to gui_hatch.py 2022-07-12 16:27:22 +02:00
Bernd Hahnebach 99262f6356 FEM: extend codespell command in code conventions 2022-07-12 15:04:26 +02:00
Bernd Hahnebach bbbd4d07bf FEM: typos, found with:
codespell -q 2 -S *.ts -S *.dyn -S *.svg  -L childs,dof,dum,freez,methode,nd,normaly,programm,som,uint,vertexes,inout  src/Mod/Fem/
2022-07-12 15:04:26 +02:00
Bernd Hahnebach e49abfb350 FEM: python code formatting 2022-07-12 15:04:26 +02:00
Roy-043 202f4fdc7f Draft: Fix EditMode for hatch, facebinder and shapestring 2022-07-12 13:30:01 +02:00
Roy-043 2f9c0713b2 Draft: Fix setEdit in view_text.py
The setEdit function should import the Draft module to make sure draftToolBar is available.
2022-07-12 13:14:37 +02:00
Bernd Hahnebach ff802c7274 FEM: elmer solver writer, add some comment in the regard of units 2022-07-12 11:35:45 +02:00
Wanderer Fan 452c2ce7e7 [TD]fixes for 8c0ab46b4d 2022-07-11 22:57:46 -04:00
Peter Marquardt 5267658651 Draft: fix spacing of ToolTip text 2022-07-12 02:59:30 +02:00
LarryWoestman e7a8fd18e0 Path: Reformatted to a line lenght of 88 using black. 2022-07-11 15:09:15 -07:00
LarryWoestman 62d8d8b993 Path: Added 4 refactored postprocessors and postprocessor tests. 2022-07-11 15:09:15 -07:00
LarryWoestman 8265de7b55 Path: Moved all of the global values to a dictionary named "values". 2022-07-11 15:09:14 -07:00
sliptonic ff5e3734da Lower level discrete tests for Linuxcnc post 2022-07-11 15:09:14 -07:00
wmayer e24cd8f03c Part: [skip ci] fix possible build failure 2022-07-11 11:12:45 +02:00
wmayer 732e6d9cee Sketch: [skip ci] fix -Wsign-compare 2022-07-11 11:08:52 +02:00
Uwe 5d389e3835 [FEM] check if solver executables exist
- currently one can enter any path for the solver executables, a check is missing

- moreover for Z88 the executable name is error-prone (just happened to me and cost me half an hour to find out what is wrong), therefore check also the correct filename. For Elmer this cannot be done since there are different executables one can choose of (e.g. for multi-threading etc.)
2022-07-11 02:23:14 +02:00
Uwe 07fab3e4f8 [FEM] fix CCX multi-threading bug
- in the preferences one could specify more CPU cores than available

- also correct a label sine the number of cores are since FC 0.20 used for all CCX solver runs

- also remove unnecessary (doubled) slots from the UI file
2022-07-10 17:33:33 +02:00
Uwe 713e160731 [FEM] remove doubled slots from preferences UI files 2022-07-10 17:25:19 +02:00
wehrle a236ca843f correction 2022-07-10 13:43:46 +02:00
Uwe 4de0e6fb19 Revert "[Gui] preferences: add button to switch gradient colors"
This reverts commit 25ffc89063.
2022-07-10 02:20:58 +02:00
Uwe 25ffc89063 [Gui] preferences: add button to switch gradient colors
- when finding a suitable background color gradient, it is annoying that there is no button to switch the begin/end color of the gradient. With the button one can quickly see the the changes and find a suitable gradient much quicker
2022-07-10 02:19:01 +02:00
Uwe b3c0e7bc5a [Gui] [skip CI] DlgPreferencesImp: a code style improvement 2022-07-10 00:14:34 +02:00
Uwe 19530b337f [Part] [PD] add preferences setting for transparency
- allow to specify the default transparency for new shapes
2022-07-09 23:24:17 +02:00
Benjamin Bræstrup Sayoc a014cac3c3 [TechDraw] Alphabetize TechDraw.qrc for readability 2022-07-09 14:38:30 -04:00
Benjamin Bræstrup Sayoc 43f6c17942 [TechDraw] Rename icon filenames for consistency 2022-07-09 14:38:30 -04:00
Benjamin Bræstrup Sayoc 8c0ab46b4d [TechDraw] Improve readability of commands 2022-07-09 13:07:30 -04:00
Uwe bf606e980c [Part] AppPartPy.cpp: compilation fix for precompiled headers 2022-07-09 19:04:40 +02:00
Uwe 162a39fb8c [Part] Geom2d*: add more necessary includes
- these gp_* inlcudes are weird
2022-07-09 18:43:18 +02:00
Uwe 92129e83a1 [Part] ShapeFix: remove unneeded includes
- also sort includes
2022-07-09 18:30:04 +02:00
Uwe 3c369285ce [Part] Geom2d*: add more necessary includes 2022-07-09 18:28:36 +02:00
Uwe fc96cee7d5 [Part] Geom2d*: add necessary includes 2022-07-09 18:15:02 +02:00
Uwe 53d67a537a [Part] Geom2d: remove unneeded includes
- also sort includes
2022-07-09 17:57:53 +02:00
Uwe a09f04ded6 [Part] ChFi2d_FilletAlgoPyImp.cpp: add necessary include 2022-07-09 17:28:22 +02:00
Uwe 494cedd863 [Part] ChFi2d etc.: remove unneeded includes
- also sort includes
2022-07-09 17:13:38 +02:00
Uwe 6f28ba4eb8 [Part] FeaturePart*: remove unneeded includes
- also sort includes
2022-07-09 16:57:06 +02:00
Uwe c7a6bcef58 [Part] FeatureRevolution.cpp: add necessary includes 2022-07-09 16:37:26 +02:00
Uwe ea0c3e8598 [Base] fix a -Wunused CI compiler warning 2022-07-09 16:23:04 +02:00
Uwe 4bbd240e5f [Part] FeatureExtrusion.cpp: add necessary include 2022-07-09 16:20:24 +02:00
Uwe 7030956099 [Part] Feature*: remove unneeded includes
- also sort includes
2022-07-09 15:59:22 +02:00
Uwe a54c2ed21b [Part] Arc*: remove unneeded includes
- also sort includes
2022-07-09 14:38:13 +02:00
Uwe 3548032b5f [Part] App*: remove unneeded includes
- also sort includes
2022-07-09 14:11:56 +02:00
Uwe 9fdac70448 [Part] Attach*: remove unneeded includes
- also sort includes
2022-07-09 13:20:06 +02:00
Uwe 81ce256e69 [Part] [Skip CI] BRepOffsetAPI_MakePipeShellPyImp: re-add an include 2022-07-09 04:12:32 +02:00
Uwe f5d3c22d3a [Part] B*: remove unneeded includes
- also sort includes
2022-07-09 03:52:17 +02:00
Yorik van Havre ddf4214a01 Merge pull request #7147 from Roy-043/Draft_Fix_join.py
Draft: Fix join.py
2022-07-08 11:51:51 +02:00
Roy-043 f4d4304e1b Draft: Fix join.py 2022-07-08 10:52:05 +02:00
Uwe 353c95bd82 [Part] [skip CI] BSplineSurfacePyImp.cpp: remove unneeded comment 2022-07-08 02:00:02 +02:00
Uwe 47460b632c [Part] BSpline*: remove unneeded includes
- also sort includes
2022-07-08 01:34:59 +02:00
Uwe 531e5d19a6 [Part] ConePyImp.cpp: add missing include 2022-07-08 01:29:55 +02:00
Uwe b3cf8cc31c [Part] C*: remove unneeded includes
- also sort includes
2022-07-08 01:20:22 +02:00
Wanderer Fan e0a73327c2 [TD]fix bad edge in face finder 2022-07-07 10:22:50 -04:00
Yorik van Havre c38e88c61b TechDraw: Allow DraftView command on any object
Currently the TechDraw DraftView command only accepts Draft objects
as selected objects. However, the Draft SVG rendering works with
almost anything (or at least it should :) ). This commit raises the
restrictions amd allow the DraftView tool to work with any kind of
selected object.
2022-07-07 13:17:34 +02:00
Ajinkya Dahale 1f4e6ad899 [Sketcher] Do regular drag for small B-splines
Here, "small" means that the number of poles of the spline is so low that moving
any piece of the curve without changing shape would require moving all the
poles. In that case the rest of the algorithm in `initBSplinePieceMove()` only
complicates the matter.
2022-07-07 08:17:20 +02:00
Benjamin Bræstrup Sayoc 8b52db90c5 [TechDraw] Use function overloadin and avoid code repeat 2022-07-06 20:46:44 -04:00
Roy-043 2f19dbaf23 Draft: make_hatch.py should return the object 2022-07-06 18:44:19 +02:00
Yorik van Havre 91f84184bf Merge pull request #7138 from Roy-043/Draft-displayStatusbarScaleWidget-should-be-checked-in-ui-file
Draft: DisplayStatusbarScaleWidget should be checked in preferences-draftinterface.ui
2022-07-06 11:28:03 +02:00
wmayer 212b140d82 GuiPy: allow to call setupWithoutGUI more than once 2022-07-06 10:54:29 +02:00
Roy-043 966911775a Draft: displayStatusbarScaleWidget should be checked in preferences-draftinterface.ui 2022-07-06 00:02:45 +02:00
Russell Johnson c52317a851 Path: Fix Type=Polar regression
This regression was introduced in PR #4818 with the refactor.  The source of the regression is that the `rotatePath()` method was not included in the new `PathArray` class created in the refactor.
This commit relocates the missing method to the `PathArray` class where it belongs, and corrects the `path` argument where the method is called.
2022-07-05 12:58:21 -05:00
wmayer b4c480737f Test: [skip ci] set direct connection mode as otherwise the test will fail 2022-07-05 15:28:28 +02:00
0penBrain 5dcd27df93 Gui: test for ILoggerBlocker 2022-07-05 13:35:18 +02:00
0penBrain 95a98669a4 Gui: implement temporary blocker for console observer 2022-07-05 13:35:18 +02:00
0penBrain 06d65c73a3 [BUGFIX] Gui: correctly restore message type enabling in report view 2022-07-05 13:35:18 +02:00
0penBrain 3fe4e4b6a6 [BUGFIX] Gui: correctly save and restore warning type enabling in report view 2022-07-05 13:35:18 +02:00
Yorik van Havre 8f4a982696 Merge pull request #7132 from Roy-043/Draft-Fix-near-snap
Draft: Fix near snap (issue #6613)
2022-07-05 13:17:44 +02:00
Yorik van Havre d82240e991 Merge pull request #7135 from Roy-043/Arch-Invert-opening-symbol-Simple-door
Arch: Invert opening symbol Simple door
2022-07-05 10:50:16 +02:00
Roy-043 616cde7dfd Arch: Invert opening symbol Simple door 2022-07-05 10:23:04 +02:00
Wanderer Fan f4ec49ed28 [TD]fix multiple open dialogs 2022-07-04 20:45:08 -04:00
Wanderer Fan b6c20202cd [TD]adjustable extension line gap 2022-07-04 20:43:49 -04:00
Uwe 90d660260c [Part] CylinderPyImp.cpp: add missing include 2022-07-05 01:58:26 +02:00
Uwe f92b5b4b7f [Part] Cy* - Fac*: remove unneeded includes
- also sort includes
2022-07-05 01:46:00 +02:00
Roy-043 e6e210467e Update gui_snapper.py 2022-07-04 16:59:02 +02:00
wmayer 45d7151dfa Test: [skip ci] unit test for fix of Vector2d::Rotate 2022-07-04 16:53:47 +02:00
Wanderer Fan 11c6f4a9e9 [TD]fix scaling of bitmap 2022-07-04 10:49:22 -04:00
Yorik van Havre ab9ff476e1 Merge pull request #7122 from donovaly/Arch-fix-typo
[Arch] fix typo in function name
2022-07-04 15:08:33 +02:00
wmayer de839911e9 Gui: show thumbnails in file dialog 2022-07-04 14:49:53 +02:00
wmayer 4dbeb8c5aa Gui: make sure to use FileIconProvider in FileDialog and delete it after closing the dialog 2022-07-04 13:17:11 +02:00
Uwe bc2d022e55 [Part] edgecluster.h: add missing include
- apparently #include <Mod/Part/PartGlobal.h> must not be removed in general
2022-07-04 11:19:07 +02:00
Uwe 5834cc8060 [Part] ExtrusionHelper.h: add missing include 2022-07-04 11:16:23 +02:00
Uwe 27a69f89c3 [Part] E*: remove unneeded includes
- also sort includes
2022-07-04 10:59:16 +02:00
Yorik van Havre e1a8c65a99 Removed old wiki2qhelp file - issue 7120 2022-07-04 10:52:51 +02:00
wmayer 988ec4c4fb Drawing: [skip ci] fix build failure 2022-07-04 10:44:41 +02:00
Uwe fd68d0d947 [Part] Geometry*: remove unneeded includes
- also sort includes
2022-07-04 10:25:05 +02:00
Uwe e790566fd4 [Part] SectionCutting.cpp: attempt to fix CI compiler error 2022-07-04 10:13:36 +02:00
Roy-043 88d1808ccb Draft: Fix near snap 2022-07-04 09:43:15 +02:00
wmayer 70a5faf327 Part: fix build failure 2022-07-04 02:21:59 +02:00
Uwe 3aa4955e94 [Part] fix MSVC compiler warning
about redefinition of content of basic.h, see https://forum.freecadweb.org/viewtopic.php?f=10&t=69988
2022-07-04 02:14:27 +02:00
Uwe 7a17e579f5 [Part] Geometry*PyImp.cpp: remove unneeded includes
- also sort includes
2022-07-04 01:03:23 +02:00
wmayer d7d503de8d App: fix build failure on Windows caused by PR #7034 2022-07-04 00:54:49 +02:00
flachyjoe 738f6f47e9 [App] Fix file not found error with canonical filename
boost::filesystem::canonical doesn't resolve non existent file where
boost::filesystem::weakly_canonical does.

Notice boost::filesystem::weakly_canonical only resolve absolute path.
2022-07-04 00:50:43 +02:00
flachyjoe 84d766f0eb [App] Fix #5592 : Respect symbolic links
Use the real path to the file when saving the document.
2022-07-04 00:50:43 +02:00
Uwe 2aac6ea1d9 [Part] Import*.cpp: remove unneeded includes
- also sort includes
2022-07-04 00:34:58 +02:00
mosfet80 828d4564c1 Delete .arcconfig
remove unused file
2022-07-04 00:19:58 +02:00
Uwe 2d19fad276 [Part] H* to mo*: remove unneeded includes
- also sort includes
2022-07-03 23:32:50 +02:00
Uwe c0fa37cfa9 [FEM] update includes
- forgot to commit this in previous commit
2022-07-03 22:59:37 +02:00
Uwe 9a41845a41 [Part] OCCError.h: remove unneeded includes
- also sort includes
2022-07-03 22:51:16 +02:00
Uwe 0a5a7f6744 [TD] DrawDimHelper.cpp: add missing include 2022-07-03 22:08:37 +02:00
Uwe c5ed57c405 [TD] ShapeExtractor.cpp: add missing include 2022-07-03 21:54:39 +02:00
Uwe 49f707e885 [Measure] Measurement.cpp: add missing include 2022-07-03 21:38:52 +02:00
Uwe c5678ef373 [PD] FeatureDressUp.cpp: add missing include 2022-07-03 21:20:01 +02:00
Uwe 3bab125da7 [Part] PlanePyImp.cpp.cpp: add missing include 2022-07-03 21:08:22 +02:00
Uwe 6fb7f614c7 [Part] Pa* to Pre*: remove unneeded includes
- also sort includes
2022-07-03 20:47:03 +02:00
Uwe 73511f82c2 [Part] Prim* to Sur*: remove unneeded includes
- also sort includes
2022-07-03 19:32:28 +02:00
Uwe 01b4352693 [Part] SectionCutting: remove unused include
- also uniform line endings 8automatically done by MSVC)
2022-07-03 18:52:04 +02:00
Uwe ca5efc5be1 [Part] To*: remove unneeded includes
- also sort includes
2022-07-03 18:39:24 +02:00
Uwe 74d582617c [Part] TopoShapeFacePyImp.cpp: add includes needed by the CI compiler 2022-07-03 18:16:27 +02:00
Uwe 8e9b359928 [Part] Topo*: remove unneeded includes
- also sort includes
2022-07-03 17:41:42 +02:00
luz paz a4b054c063 LGTM: omit src/Tools/wiki2qhelp.py from analysis
Per https://lgtm.com/projects/g/FreeCAD/FreeCAD

[skip ci]
2022-07-03 16:19:35 +02:00
Wanderer Fan ac4fa39ad4 [TD]fix bitmap hatch 2022-07-03 10:18:37 -04:00
Uwe 96cb9dce0b [Base] Tools2D.h: a simplification and code style unification 2022-07-03 15:54:33 +02:00
ChenOrange 06edc2db9b Vector2d:fix rotate bug 2022-07-03 14:52:27 +02:00
wmayer 6820e0a9ec Py3: properly port to Py3.11 2022-07-02 19:36:27 +02:00
sliptonic fcdec28716 Merge pull request #6974 from agren/restore-path-drilling-retract-behaviour
Path: Restore drilling op retract value to user supplied Retract Height
2022-07-02 12:20:54 -05:00
Uwe e844c4d20b [App] [skip CI] fix minor code style issue
was introduced by commit 9a70b165
2022-07-02 18:10:26 +02:00
Uwe 75165e9594 [Robot] fix typo in function name
- just to please the spellchecker CI
2022-07-02 18:00:03 +02:00
Ajinkya Dahale a88f69a9f0 [Sketcher] Only move one piece of B-spline when dragging 2022-07-02 07:35:30 +02:00
Uwe ef088674ba [FEM] fix wrong console outputs for fluid materials
- since a while ThermalExpansionCoefficient is used, VolumetricThermalExpansionCoefficient is only used for the material task panel
- as already stated in a code comment, the unit of VolumetricThermalExpansionCoefficient is ThermalExpansionCoefficient, therefore we must check for ThermalExpansionCoefficient
- we must also check if ThermalExpansionCoefficient exists

- Adapt the existing fluid material cards to use the ThermalExpansionCoefficient
2022-07-02 05:36:43 +02:00
Mihail 8afc5d3f0a FEM WB Elmer viscosity bug fix.
In Elmer there was errors "Viscosity not found" if used mixed solid and flow calculation.
This fix disables Stokes-Navier eruation for Solid objects.

	modified:      src/Mod/Fem/femsolver/elmer/writer.py
2022-07-02 05:16:50 +02:00
Uwe 7bf9f30c5f [Base] UnitsSchemaInternal: improve code readability 2022-07-02 05:15:11 +02:00
wmayer 1ae55905ba Py: make FreeCAD to compile with Py3.11 2022-07-01 17:54:50 +02:00
Abdullah Tahiri 19a69df0fc Sketcher: Bug fix
https://forum.freecadweb.org/viewtopic.php?p=606581&sid=70cfe557d7d1985e45ea1b298282c759#p606581
2022-07-01 13:56:16 +02:00
Uwe 94155361a0 [Arch] fix typo in function name
- just to please the spellchecker CI
2022-07-01 03:35:55 +02:00
Mikael Ågren 25242430f4 Restore drilling op retract value to user supplied Retract Height
Restores the retract behaviour to pre 5b23af3. After 5b23af3 Retract
Height is no longer used.
2022-06-26 19:43:00 +02:00
8679 changed files with 1896188 additions and 1441191 deletions
-3
View File
@@ -1,3 +0,0 @@
{
"phabricator.uri" : "http://pha.geofinder.eu/"
}
-19
View File
@@ -1,19 +0,0 @@
version: 2
jobs:
build:
working_directory: ~/test
machine: true
steps:
- checkout
- run:
command: docker pull condaforge/linux-anvil
- run:
# Run, test and (if we have a BINSTAR_TOKEN) upload the distributions.
command: ./package/conda/run_docker_build.sh
workflows:
version: 2
build_and_test:
jobs:
- build
+18 -16
View File
@@ -4,21 +4,21 @@ AccessModifierOffset: -4
AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: None
AlignOperands: DontAlign
AllowAllArgumentsOnNextLine: false
AllowAllConstructorInitializersOnNextLine: false
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortBlocksOnASingleLine: Always
AllowShortCaseLabelsOnASingleLine: true
AllowShortFunctionsOnASingleLine: All
AllowShortIfStatementsOnASingleLine: Always
AllowShortLambdasOnASingleLine: All
AllowShortLoopsOnASingleLine: true
AlwaysBreakAfterReturnType: All
AlwaysBreakTemplateDeclarations: MultiLine
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: Empty
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: None
AllowShortIfStatementsOnASingleLine: Never
AllowShortLambdasOnASingleLine: Empty
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterReturnType: None
AlwaysBreakTemplateDeclarations: Yes
BinPackArguments: false
BreakBeforeBraces: Custom
BraceWrapping:
AfterCaseLabel: false
AfterClass: true
AfterStruct: true
AfterControlStatement: Never
AfterEnum: true
AfterFunction: true
@@ -31,26 +31,28 @@ BraceWrapping:
SplitEmptyRecord: true
BreakBeforeBinaryOperators: NonAssignment
BreakBeforeTernaryOperators: true
BreakConstructorInitializers: BeforeColon
BreakConstructorInitializers: BeforeComma
BreakInheritanceList: BeforeColon
ColumnLimit: 0
ColumnLimit: 100
CompactNamespaces: false
ContinuationIndentWidth: 4
IndentCaseLabels: true
IndentPPDirectives: None
IndentWidth: 4
InsertBraces: false
KeepEmptyLinesAtTheStartOfBlocks: true
MaxEmptyLinesToKeep: 2
NamespaceIndentation: None
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
PointerAlignment: Right
ReflowComments: false
PackConstructorInitializers: Never
PointerAlignment: Left
ReflowComments: true
SpaceAfterCStyleCast: false
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: false
SpaceBeforeAssignmentOperators: true
SpaceBeforeCpp11BracedList: false
SpaceBeforeCpp11BracedList: true
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: false
SpaceBeforeParens: ControlStatements
+491
View File
@@ -0,0 +1,491 @@
---
Checks: 'clang-diagnostic-*,clang-analyzer-*,boost-*,bugprone-*,
performance-*,readability-*,portability-*,modernize-*,cppcoreguidelines-*,
concurrency-*,-modernize-use-trailing-return-type, -modernize-use-nodiscard,
-readability-redundant-access-specifiers,-readability-qualified-auto'
WarningsAsErrors: ''
HeaderFilterRegex: ''
AnalyzeTemporaryDtors: false
FormatStyle: file
User: florians
CheckOptions:
- key: readability-suspicious-call-argument.PrefixSimilarAbove
value: '30'
- key: cppcoreguidelines-no-malloc.Reallocations
value: '::realloc'
- key: cppcoreguidelines-owning-memory.LegacyResourceConsumers
value: '::free;::realloc;::freopen;::fclose'
- key: bugprone-reserved-identifier.Invert
value: 'false'
- key: bugprone-narrowing-conversions.PedanticMode
value: 'false'
- key: bugprone-unused-return-value.CheckedFunctions
value: '::std::async;::std::launder;::std::remove;::std::remove_if;::std::unique;::std::unique_ptr::release;::std::basic_string::empty;::std::vector::empty;::std::back_inserter;::std::distance;::std::find;::std::find_if;::std::inserter;::std::lower_bound;::std::make_pair;::std::map::count;::std::map::find;::std::map::lower_bound;::std::multimap::equal_range;::std::multimap::upper_bound;::std::set::count;::std::set::find;::std::setfill;::std::setprecision;::std::setw;::std::upper_bound;::std::vector::at;::bsearch;::ferror;::feof;::isalnum;::isalpha;::isblank;::iscntrl;::isdigit;::isgraph;::islower;::isprint;::ispunct;::isspace;::isupper;::iswalnum;::iswprint;::iswspace;::isxdigit;::memchr;::memcmp;::strcmp;::strcoll;::strncmp;::strpbrk;::strrchr;::strspn;::strstr;::wcscmp;::access;::bind;::connect;::difftime;::dlsym;::fnmatch;::getaddrinfo;::getopt;::htonl;::htons;::iconv_open;::inet_addr;::isascii;::isatty;::mmap;::newlocale;::openat;::pathconf;::pthread_equal;::pthread_getspecific;::pthread_mutex_trylock;::readdir;::readlink;::recvmsg;::regexec;::scandir;::semget;::setjmp;::shm_open;::shmget;::sigismember;::strcasecmp;::strsignal;::ttyname'
- key: modernize-use-auto.MinTypeNameLength
value: '5'
- key: cppcoreguidelines-macro-usage.CheckCapsOnly
value: 'false'
- key: readability-inconsistent-declaration-parameter-name.Strict
value: 'false'
- key: readability-suspicious-call-argument.DiceDissimilarBelow
value: '60'
- key: bugprone-assert-side-effect.IgnoredFunctions
value: __builtin_expect
- key: readability-suspicious-call-argument.Equality
value: 'true'
- key: bugprone-easily-swappable-parameters.QualifiersMix
value: 'false'
- key: bugprone-suspicious-string-compare.WarnOnImplicitComparison
value: 'true'
- key: bugprone-argument-comment.CommentNullPtrs
value: '0'
- key: cppcoreguidelines-narrowing-conversions.WarnOnFloatingPointNarrowingConversion
value: 'true'
- key: cppcoreguidelines-init-variables.IncludeStyle
value: llvm
- key: modernize-use-nodiscard.ReplacementString
value: '[[nodiscard]]'
- key: modernize-loop-convert.MakeReverseRangeHeader
value: ''
- key: readability-suspicious-call-argument.SuffixSimilarAbove
value: '30'
- key: cppcoreguidelines-narrowing-conversions.WarnOnIntegerNarrowingConversion
value: 'true'
- key: bugprone-easily-swappable-parameters.IgnoredParameterNames
value: '"";iterator;Iterator;begin;Begin;end;End;first;First;last;Last;lhs;LHS;rhs;RHS'
- key: modernize-loop-convert.UseCxx20ReverseRanges
value: 'true'
- key: cppcoreguidelines-prefer-member-initializer.UseAssignment
value: 'false'
- key: performance-type-promotion-in-math-fn.IncludeStyle
value: llvm
- key: readability-function-cognitive-complexity.DescribeBasicIncrements
value: 'true'
- key: bugprone-suspicious-include.ImplementationFileExtensions
value: 'c;cc;cpp;cxx'
- key: modernize-loop-convert.MakeReverseRangeFunction
value: ''
- key: readability-inconsistent-declaration-parameter-name.IgnoreMacros
value: 'true'
- key: bugprone-suspicious-missing-comma.SizeThreshold
value: '5'
- key: readability-identifier-naming.IgnoreFailedSplit
value: 'false'
- key: readability-qualified-auto.AddConstToQualified
value: 'true'
- key: bugprone-sizeof-expression.WarnOnSizeOfThis
value: 'true'
- key: bugprone-string-constructor.WarnOnLargeLength
value: 'true'
- key: cppcoreguidelines-explicit-virtual-functions.OverrideSpelling
value: override
- key: readability-uppercase-literal-suffix.IgnoreMacros
value: 'true'
- key: modernize-make-shared.IgnoreMacros
value: 'true'
- key: bugprone-dynamic-static-initializers.HeaderFileExtensions
value: ';h;hh;hpp;hxx'
- key: bugprone-suspicious-enum-usage.StrictMode
value: 'false'
- key: performance-unnecessary-copy-initialization.AllowedTypes
value: ''
- key: bugprone-suspicious-missing-comma.MaxConcatenatedTokens
value: '5'
- key: modernize-use-transparent-functors.SafeMode
value: 'false'
- key: readability-suspicious-call-argument.Levenshtein
value: 'true'
- key: bugprone-not-null-terminated-result.WantToUseSafeFunctions
value: 'true'
- key: bugprone-string-constructor.LargeLengthThreshold
value: '8388608'
- key: readability-simplify-boolean-expr.ChainedConditionalAssignment
value: 'false'
- key: cppcoreguidelines-avoid-magic-numbers.IgnoreAllFloatingPointValues
value: 'false'
- key: cert-oop54-cpp.WarnOnlyIfThisHasSuspiciousField
value: 'false'
- key: bugprone-exception-escape.FunctionsThatShouldNotThrow
value: ''
- key: performance-inefficient-vector-operation.EnableProto
value: 'false'
- key: modernize-make-shared.MakeSmartPtrFunction
value: 'std::make_shared'
- key: modernize-loop-convert.MaxCopySize
value: '16'
- key: readability-suspicious-call-argument.PrefixDissimilarBelow
value: '25'
- key: readability-function-size.LineThreshold
value: '4294967295'
- key: bugprone-easily-swappable-parameters.MinimumLength
value: '2'
- key: portability-simd-intrinsics.Suggest
value: 'false'
- key: cppcoreguidelines-pro-bounds-constant-array-index.GslHeader
value: ''
- key: modernize-use-override.IgnoreDestructors
value: 'false'
- key: modernize-make-shared.MakeSmartPtrFunctionHeader
value: '<memory>'
- key: bugprone-sizeof-expression.WarnOnSizeOfConstant
value: 'true'
- key: readability-redundant-string-init.StringNames
value: '::std::basic_string_view;::std::basic_string'
- key: modernize-make-unique.IgnoreDefaultInitialization
value: 'true'
- key: modernize-use-emplace.ContainersWithPushBack
value: '::std::vector;::std::list;::std::deque'
- key: readability-magic-numbers.IgnoreBitFieldsWidths
value: 'true'
- key: modernize-make-unique.IncludeStyle
value: llvm
- key: modernize-use-override.OverrideSpelling
value: override
- key: readability-suspicious-call-argument.LevenshteinDissimilarBelow
value: '50'
- key: bugprone-argument-comment.CommentStringLiterals
value: '0'
- key: concurrency-mt-unsafe.FunctionSet
value: any
- key: readability-identifier-length.IgnoredExceptionVariableNames
value: '^[e]$'
- key: google-readability-braces-around-statements.ShortStatementLines
value: '1'
- key: bugprone-reserved-identifier.AllowedIdentifiers
value: ''
- key: cppcoreguidelines-pro-type-member-init.IgnoreArrays
value: 'false'
- key: readability-else-after-return.WarnOnUnfixable
value: 'true'
- key: cppcoreguidelines-avoid-magic-numbers.IgnoredFloatingPointValues
value: '1.0;100.0;'
- key: modernize-use-emplace.IgnoreImplicitConstructors
value: 'false'
- key: cppcoreguidelines-macro-usage.IgnoreCommandLineMacros
value: 'true'
- key: readability-suspicious-call-argument.Substring
value: 'true'
- key: modernize-use-equals-delete.IgnoreMacros
value: 'true'
- key: readability-identifier-length.IgnoredVariableNames
value: ''
- key: readability-magic-numbers.IgnoreAllFloatingPointValues
value: 'false'
- key: cppcoreguidelines-pro-bounds-constant-array-index.IncludeStyle
value: llvm
- key: readability-suspicious-call-argument.Abbreviations
value: 'arr=array;cnt=count;idx=index;src=source;stmt=statement;cpy=copy;dest=destination;dist=distancedst=distance;ptr=pointer;wdth=width;str=string;ln=line;srv=server;attr=attribute;ref=reference;buf=buffer;col=column;nr=number;vec=vector;len=length;elem=element;val=value;i=index;var=variable;hght=height;cl=client;num=number;pos=position;lst=list;addr=address'
- key: bugprone-misplaced-widening-cast.CheckImplicitCasts
value: 'false'
- key: readability-uppercase-literal-suffix.NewSuffixes
value: ''
- key: modernize-loop-convert.MinConfidence
value: reasonable
- key: performance-unnecessary-value-param.AllowedTypes
value: ''
- key: readability-uniqueptr-delete-release.PreferResetCall
value: 'false'
- key: readability-identifier-length.MinimumExceptionNameLength
value: '2'
- key: cppcoreguidelines-avoid-magic-numbers.IgnorePowersOf2IntegerValues
value: 'false'
- key: google-readability-namespace-comments.SpacesBeforeComments
value: '2'
- key: cppcoreguidelines-avoid-magic-numbers.IgnoreBitFieldsWidths
value: 'true'
- key: cppcoreguidelines-avoid-magic-numbers.IgnoredIntegerValues
value: '1;2;3;4;'
- key: cppcoreguidelines-no-malloc.Allocations
value: '::malloc;::calloc'
- key: bugprone-narrowing-conversions.IgnoreConversionFromTypes
value: ''
- key: readability-function-size.BranchThreshold
value: '4294967295'
- key: bugprone-suspicious-missing-comma.RatioThreshold
value: '0.200000'
- key: readability-implicit-bool-conversion.AllowIntegerConditions
value: 'false'
- key: readability-identifier-length.IgnoredParameterNames
value: '^[n]$'
- key: readability-function-size.StatementThreshold
value: '800'
- key: readability-identifier-naming.IgnoreMainLikeFunctions
value: 'false'
- key: cppcoreguidelines-init-variables.MathHeader
value: '<math.h>'
- key: google-readability-function-size.StatementThreshold
value: '800'
- key: bugprone-reserved-identifier.AggressiveDependentMemberLookup
value: 'false'
- key: readability-suspicious-call-argument.DiceSimilarAbove
value: '70'
- key: modernize-use-equals-default.IgnoreMacros
value: 'true'
- key: readability-suspicious-call-argument.Abbreviation
value: 'true'
- key: cppcoreguidelines-special-member-functions.AllowSoleDefaultDtor
value: 'false'
- key: readability-identifier-length.MinimumLoopCounterNameLength
value: '2'
- key: modernize-use-emplace.SmartPointers
value: '::std::shared_ptr;::std::unique_ptr;::std::auto_ptr;::std::weak_ptr'
- key: cppcoreguidelines-no-malloc.Deallocations
value: '::free'
- key: bugprone-dangling-handle.HandleClasses
value: 'std::basic_string_view;std::experimental::basic_string_view'
- key: readability-magic-numbers.IgnorePowersOf2IntegerValues
value: 'false'
- key: readability-suspicious-call-argument.JaroWinklerSimilarAbove
value: '85'
- key: readability-simplify-subscript-expr.Types
value: '::std::basic_string;::std::basic_string_view;::std::vector;::std::array'
- key: performance-unnecessary-copy-initialization.ExcludedContainerTypes
value: ''
- key: modernize-replace-auto-ptr.IncludeStyle
value: llvm
- key: performance-move-const-arg.CheckTriviallyCopyableMove
value: 'true'
- key: readability-static-accessed-through-instance.NameSpecifierNestingThreshold
value: '3'
- key: readability-function-size.VariableThreshold
value: '4294967295'
- key: cert-dcl16-c.NewSuffixes
value: 'L;LL;LU;LLU'
- key: bugprone-narrowing-conversions.WarnOnFloatingPointNarrowingConversion
value: 'true'
- key: readability-identifier-naming.GetConfigPerFile
value: 'true'
- key: modernize-use-default-member-init.UseAssignment
value: 'false'
- key: readability-function-size.NestingThreshold
value: '4294967295'
- key: modernize-use-override.AllowOverrideAndFinal
value: 'false'
- key: cppcoreguidelines-narrowing-conversions.IgnoreConversionFromTypes
value: ''
- key: readability-function-size.ParameterThreshold
value: '4294967295'
- key: modernize-pass-by-value.ValuesOnly
value: 'false'
- key: readability-function-cognitive-complexity.IgnoreMacros
value: 'false'
- key: modernize-loop-convert.IncludeStyle
value: llvm
- key: cert-str34-c.DiagnoseSignedUnsignedCharComparisons
value: 'false'
- key: bugprone-narrowing-conversions.WarnWithinTemplateInstantiation
value: 'false'
- key: cert-err33-c.CheckedFunctions
value: '::aligned_alloc;::asctime_s;::at_quick_exit;::atexit;::bsearch;::bsearch_s;::btowc;::c16rtomb;::c32rtomb;::calloc;::clock;::cnd_broadcast;::cnd_init;::cnd_signal;::cnd_timedwait;::cnd_wait;::ctime_s;::fclose;::fflush;::fgetc;::fgetpos;::fgets;::fgetwc;::fopen;::fopen_s;::fprintf;::fprintf_s;::fputc;::fputs;::fputwc;::fputws;::fread;::freopen;::freopen_s;::fscanf;::fscanf_s;::fseek;::fsetpos;::ftell;::fwprintf;::fwprintf_s;::fwrite;::fwscanf;::fwscanf_s;::getc;::getchar;::getenv;::getenv_s;::gets_s;::getwc;::getwchar;::gmtime;::gmtime_s;::localtime;::localtime_s;::malloc;::mbrtoc16;::mbrtoc32;::mbsrtowcs;::mbsrtowcs_s;::mbstowcs;::mbstowcs_s;::memchr;::mktime;::mtx_init;::mtx_lock;::mtx_timedlock;::mtx_trylock;::mtx_unlock;::printf_s;::putc;::putwc;::raise;::realloc;::remove;::rename;::scanf;::scanf_s;::setlocale;::setvbuf;::signal;::snprintf;::snprintf_s;::sprintf;::sprintf_s;::sscanf;::sscanf_s;::strchr;::strerror_s;::strftime;::strpbrk;::strrchr;::strstr;::strtod;::strtof;::strtoimax;::strtok;::strtok_s;::strtol;::strtold;::strtoll;::strtoul;::strtoull;::strtoumax;::strxfrm;::swprintf;::swprintf_s;::swscanf;::swscanf_s;::thrd_create;::thrd_detach;::thrd_join;::thrd_sleep;::time;::timespec_get;::tmpfile;::tmpfile_s;::tmpnam;::tmpnam_s;::tss_create;::tss_get;::tss_set;::ungetc;::ungetwc;::vfprintf;::vfprintf_s;::vfscanf;::vfscanf_s;::vfwprintf;::vfwprintf_s;::vfwscanf;::vfwscanf_s;::vprintf_s;::vscanf;::vscanf_s;::vsnprintf;::vsnprintf_s;::vsprintf;::vsprintf_s;::vsscanf;::vsscanf_s;::vswprintf;::vswprintf_s;::vswscanf;::vswscanf_s;::vwprintf_s;::vwscanf;::vwscanf_s;::wcrtomb;::wcschr;::wcsftime;::wcspbrk;::wcsrchr;::wcsrtombs;::wcsrtombs_s;::wcsstr;::wcstod;::wcstof;::wcstoimax;::wcstok;::wcstok_s;::wcstol;::wcstold;::wcstoll;::wcstombs;::wcstombs_s;::wcstoul;::wcstoull;::wcstoumax;::wcsxfrm;::wctob;::wctrans;::wctype;::wmemchr;::wprintf_s;::wscanf;::wscanf_s;'
- key: bugprone-suspicious-string-compare.WarnOnLogicalNotComparison
value: 'false'
- key: readability-redundant-smartptr-get.IgnoreMacros
value: 'true'
- key: cppcoreguidelines-explicit-virtual-functions.AllowOverrideAndFinal
value: 'false'
- key: readability-identifier-naming.AggressiveDependentMemberLookup
value: 'false'
- key: readability-identifier-length.MinimumParameterNameLength
value: '2'
- key: modernize-use-emplace.TupleTypes
value: '::std::pair;::std::tuple'
- key: modernize-use-emplace.TupleMakeFunctions
value: '::std::make_pair;::std::make_tuple'
- key: bugprone-narrowing-conversions.WarnOnIntegerToFloatingPointNarrowingConversion
value: 'true'
- key: cppcoreguidelines-owning-memory.LegacyResourceProducers
value: '::malloc;::aligned_alloc;::realloc;::calloc;::fopen;::freopen;::tmpfile'
- key: bugprone-easily-swappable-parameters.SuppressParametersUsedTogether
value: 'true'
- key: bugprone-argument-comment.StrictMode
value: '0'
- key: modernize-replace-random-shuffle.IncludeStyle
value: llvm
- key: modernize-use-bool-literals.IgnoreMacros
value: 'true'
- key: bugprone-unhandled-self-assignment.WarnOnlyIfThisHasSuspiciousField
value: 'true'
- key: google-readability-namespace-comments.ShortNamespaceLines
value: '10'
- key: bugprone-suspicious-string-compare.StringCompareLikeFunctions
value: ''
- key: modernize-avoid-bind.PermissiveParameterList
value: 'false'
- key: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold
value: '1'
- key: readability-suspicious-call-argument.Suffix
value: 'true'
- key: readability-suspicious-call-argument.JaroWinklerDissimilarBelow
value: '75'
- key: modernize-use-noexcept.ReplacementString
value: ''
- key: modernize-use-override.FinalSpelling
value: final
- key: modernize-use-using.IgnoreMacros
value: 'true'
- key: cppcoreguidelines-explicit-virtual-functions.FinalSpelling
value: final
- key: readability-suspicious-call-argument.MinimumIdentifierNameLength
value: '3'
- key: bugprone-narrowing-conversions.WarnOnIntegerNarrowingConversion
value: 'true'
- key: modernize-loop-convert.NamingStyle
value: CamelCase
- key: cppcoreguidelines-pro-type-member-init.UseAssignment
value: 'false'
- key: bugprone-suspicious-include.HeaderFileExtensions
value: ';h;hh;hpp;hxx'
- key: performance-no-automatic-move.AllowedTypes
value: ''
- key: readability-suspicious-call-argument.SubstringDissimilarBelow
value: '40'
- key: bugprone-argument-comment.CommentIntegerLiterals
value: '0'
- key: bugprone-stringview-nullptr.IncludeStyle
value: llvm
- key: performance-for-range-copy.WarnOnAllAutoCopies
value: 'false'
- key: modernize-pass-by-value.IncludeStyle
value: llvm
- key: bugprone-argument-comment.CommentFloatLiterals
value: '0'
- key: bugprone-too-small-loop-variable.MagnitudeBitsUpperLimit
value: '16'
- key: readability-simplify-boolean-expr.ChainedConditionalReturn
value: 'false'
- key: readability-else-after-return.WarnOnConditionVariables
value: 'true'
- key: modernize-use-nullptr.NullMacros
value: 'NULL'
- key: readability-suspicious-call-argument.SuffixDissimilarBelow
value: '25'
- key: bugprone-argument-comment.CommentCharacterLiterals
value: '0'
- key: cppcoreguidelines-macro-usage.AllowedRegexp
value: '^DEBUG_*'
- key: readability-suspicious-call-argument.LevenshteinSimilarAbove
value: '66'
- key: cppcoreguidelines-narrowing-conversions.PedanticMode
value: 'false'
- key: modernize-make-shared.IgnoreDefaultInitialization
value: 'true'
- key: readability-suspicious-call-argument.JaroWinkler
value: 'true'
- key: bugprone-implicit-widening-of-multiplication-result.UseCXXHeadersInCppSources
value: 'true'
- key: modernize-make-shared.IncludeStyle
value: llvm
- key: readability-suspicious-call-argument.Prefix
value: 'true'
- key: cppcoreguidelines-special-member-functions.AllowMissingMoveFunctions
value: 'false'
- key: bugprone-implicit-widening-of-multiplication-result.UseCXXStaticCastsInCppSources
value: 'true'
- key: bugprone-signed-char-misuse.CharTypdefsToIgnore
value: ''
- key: cppcoreguidelines-explicit-virtual-functions.IgnoreDestructors
value: 'false'
- key: modernize-make-unique.IgnoreMacros
value: 'true'
- key: performance-for-range-copy.AllowedTypes
value: ''
- key: bugprone-argument-comment.CommentBoolLiterals
value: '0'
- key: readability-braces-around-statements.ShortStatementLines
value: '0'
- key: bugprone-argument-comment.CommentUserDefinedLiterals
value: '0'
- key: readability-magic-numbers.IgnoredFloatingPointValues
value: '1.0;100.0;'
- key: performance-inefficient-string-concatenation.StrictMode
value: 'false'
- key: readability-redundant-declaration.IgnoreMacros
value: 'true'
- key: bugprone-easily-swappable-parameters.IgnoredParameterTypeSuffixes
value: 'bool;Bool;_Bool;it;It;iterator;Iterator;inputit;InputIt;forwardit;ForwardIt;bidirit;BidirIt;constiterator;const_iterator;Const_Iterator;Constiterator;ConstIterator;RandomIt;randomit;random_iterator;ReverseIt;reverse_iterator;reverse_const_iterator;ConstReverseIterator;Const_Reverse_Iterator;const_reverse_iterator;Constreverseiterator;constreverseiterator'
- key: modernize-make-unique.MakeSmartPtrFunction
value: 'std::make_unique'
- key: portability-restrict-system-includes.Includes
value: '*'
- key: readability-implicit-bool-conversion.AllowPointerConditions
value: 'true'
- key: modernize-make-unique.MakeSmartPtrFunctionHeader
value: '<memory>'
- key: bugprone-signal-handler.AsyncSafeFunctionSet
value: POSIX
- key: bugprone-easily-swappable-parameters.ModelImplicitConversions
value: 'true'
- key: readability-suspicious-call-argument.SubstringSimilarAbove
value: '50'
- key: cppcoreguidelines-narrowing-conversions.WarnWithinTemplateInstantiation
value: 'false'
- key: readability-identifier-length.MinimumVariableNameLength
value: '2'
- key: cppcoreguidelines-narrowing-conversions.WarnOnEquivalentBitWidth
value: 'true'
- key: cppcoreguidelines-non-private-member-variables-in-classes.IgnorePublicMemberVariables
value: 'false'
- key: cppcoreguidelines-special-member-functions.AllowMissingMoveFunctionsWhenCopyIsDeleted
value: 'false'
- key: modernize-use-noexcept.UseNoexceptFalse
value: 'true'
- key: readability-function-cognitive-complexity.Threshold
value: '25'
- key: cppcoreguidelines-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic
value: 'true'
- key: bugprone-argument-comment.IgnoreSingleArgument
value: '0'
- key: bugprone-narrowing-conversions.WarnOnEquivalentBitWidth
value: 'true'
- key: bugprone-sizeof-expression.WarnOnSizeOfIntegerExpression
value: 'false'
- key: performance-faster-string-find.StringLikeClasses
value: '::std::basic_string;::std::basic_string_view'
- key: cppcoreguidelines-narrowing-conversions.WarnOnIntegerToFloatingPointNarrowingConversion
value: 'true'
- key: bugprone-assert-side-effect.CheckFunctionCalls
value: 'false'
- key: bugprone-string-constructor.StringNames
value: '::std::basic_string;::std::basic_string_view'
- key: bugprone-assert-side-effect.AssertMacros
value: assert,NSAssert,NSCAssert
- key: bugprone-exception-escape.IgnoredExceptions
value: ''
- key: bugprone-signed-char-misuse.DiagnoseSignedUnsignedCharComparisons
value: 'true'
- key: modernize-use-default-member-init.IgnoreMacros
value: 'true'
- key: llvm-qualified-auto.AddConstToQualified
value: 'false'
- key: llvm-else-after-return.WarnOnConditionVariables
value: 'false'
- key: bugprone-sizeof-expression.WarnOnSizeOfCompareToConstant
value: 'true'
- key: modernize-raw-string-literal.DelimiterStem
value: lit
- key: readability-suspicious-call-argument.Dice
value: 'true'
- key: readability-identifier-length.IgnoredLoopCounterNames
value: '^[ijk_]$'
- key: modernize-raw-string-literal.ReplaceShorterLiterals
value: 'false'
- key: readability-magic-numbers.IgnoredIntegerValues
value: '1;2;3;4;'
- key: performance-inefficient-vector-operation.VectorLikeClasses
value: '::std::vector'
- key: modernize-use-auto.RemoveStars
value: 'false'
- key: bugprone-implicit-widening-of-multiplication-result.IncludeStyle
value: llvm
- key: portability-simd-intrinsics.Std
value: ''
- key: performance-unnecessary-value-param.IncludeStyle
value: llvm
- key: readability-redundant-member-init.IgnoreBaseInCopyConstructors
value: 'false'
- key: modernize-replace-disallow-copy-and-assign-macro.MacroName
value: DISALLOW_COPY_AND_ASSIGN
- key: llvm-else-after-return.WarnOnUnfixable
value: 'false'
...
+17
View File
@@ -56,3 +56,20 @@ b13088664fea77e6ac4779dddfdea7aac3c50b30
bedf9207023d6d594f2c03d2a8d799b34759a8fb
132a1d7e55eadd0cb5a09760d471780eb5bd9340
3ef438eaf03f840958a2f7a9ec585a3d2728e447
c726b69d7ede5b1af82407c515e14375f3358be3
390e09db3258e4807a3d4b2993c1723480ae5350
57d0c2000ae29d3160e0aa908ed1e027b321e36a
b389f6e602eb42c07c21f37fbcd451e28dd9fbc4
48365a1df5286c7a5608cd3a5cce0def5e4d5380
dc5b3cb495002951c3a36c928c55108b0999bc3e
875f9eaad6a59abd70775c0b67a7f10d92128a5a
7a8a453746a8e4a845219948591fd17f4494a067
8b31d7deb09077bc0cce0ecf6de02c94db262a67
4a7e1b6d9b12df211cf6fbec61cc8544e4c6bf9d
129d5882a729327a72b57ec695bb376e84205bd0
2ae7cc4a94c1ab1dfc0264367c5da4716ea02bfe
987b4bda2ac8570969dc07fa887bda420f77e441
ec899d75c6abf45d7ee4dd91ea0f8141a9818446
233a337ca5d693e4773fecf1de14325752afd658
9271b6d433578f65df9b469131ece4e4bdbb19aa
2637527e3a4e132506e8c074b752721d66ae146a
-20
View File
@@ -1,20 +0,0 @@
#git archive --worktree-attributes --prefix=freecad-0.13/ --output=freecad.tar.gz HEAD
acinclude.m4 export-ignore
autogen.sh export-ignore
build.sh export-ignore
BuildAll.bat export-ignore
BuildRelease.ini export-ignore
BuildRelease.py export-ignore
configure.ac export-ignore
Makefile.am export-ignore
mkinstalldirs export-ignore
package export-ignore
fc.sh export-ignore
UpdateResources.bat export-ignore
BuildVersion.bat export-ignore
*.sln export-ignore
WindowsInstaller export-ignore
JtReader export-ignore
mefisto.patch export-ignore
Version.h.in export-subst
+1 -1
View File
@@ -9,4 +9,4 @@ tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: ["https://wiki.freecadweb.org/Donate"]
custom: ["https://wiki.freecad.org/Donate"]
@@ -0,0 +1,19 @@
name: Request a Backport
description: Suggest that a commit from the main development branch be backported to the next point release
title: "[Backport] "
labels: ["needs triage", "backport"]
body:
- type: input
id: pull_request
attributes:
label: Original PR
description: A link to the PR that contains the commits to be backported
placeholder: https://github.com/FreeCAD/FreeCAD/pulls/1234
validations:
required: true
- type: textarea
id: description
attributes:
label: Description and Justification
description: Why should this PR (or individual commit) be backported?
placeholder: Please explain why this PR or commit should be backported to the next point release.
-93
View File
@@ -1,93 +0,0 @@
name: 🐛 Report a Bug
description: File a bug report
title: "[Bug] <title>"
labels: ["🐛 bug", "needs triage"]
body:
- type: markdown
attributes:
value: |
Thank you for taking the time to file a bug report! Please make sure you've posted about your issue in the FreeCAD Forums before submitting here.
- type: checkboxes
id: existing_issue
attributes:
label: Is there an existing issue for this?
description: Please search to see if an issue already exists for the bug you encountered.
options:
- label: I have searched the existing issues
required: true
- type: input
id: forum_link
attributes:
label: Forums discussion
description: |
Please start a discussion about your issue at [the FreeCAD Forum](https://forum.freecad.org) and wait for confirmation there before creating an issue.
**Note:** Bug reports without a prior forum discussion will most likely not be accepted.
placeholder: Paste link to forum discussion here
validations:
required: true
- type: dropdown
id: version
attributes:
label: Version
description: What version of FreeCAD are you running?
options:
- 0.20 (Release)
- 0.21 (Development)
validations:
required: true
- type: textarea
id: full_version
attributes:
label: Full version info
description: Please use the About FreeCAD dialog to copy your full version information and paste it here.
render: shell
validations:
required: true
- type: dropdown
id: wb
attributes:
label: Subproject(s) affected?
options:
- Addon Manager
- Arch
- Core
- Draft
- Expressions
- FEM
- File formats
- GCS
- OpenSCAD
- Part
- PartDesign
- Path
- Project Tools & Websites
- Sketcher
- Spreadsheet
- Techdraw
- Other (specify in description)
- type: textarea
id: description
attributes:
label: Issue description
description: Please include as much detail as possible so that testers can reproduce the bug
placeholder: Description of the problem
validations:
required: true
- type: textarea
id: anything_else
attributes:
label: Anything else?
description: |
Links? References? Anything that will give us more context about the issue you are encountering!
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. To attach a FCStd file, ZIP it first (GitHub won't recognize the extension otherwise).
validations:
required: false
- type: checkboxes
id: terms
attributes:
label: Code of Conduct
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/FreeCAD/FreeCAD/blob/master/CODE_OF_CONDUCT.md)
options:
- label: I agree to follow this project's Code of Conduct
required: true
@@ -1,73 +0,0 @@
name: 🌱 Feature Request
description: Submit an idea for a new feature
title: "[Feature Request] <title>"
labels: ["feature", "needs triage"]
body:
- type: markdown
attributes:
value: |
Thank you for taking the time to request a feature! Please make sure you've posted about your idea in the FreeCAD Forums before submitting here.
- type: checkboxes
id: existing_issue
attributes:
label: Is there an existing request for this?
description: Please search to see if a request already exists for your suggestion
options:
- label: I have searched the existing requests
required: true
- type: input
id: forum_link
attributes:
label: Forums discussion
description: Please start a discussion about your idea at [the FreeCAD Forum](https://forum.freecad.org) and wait for confirmation there before creating a request.
placeholder: Paste link to forum discussion here
validations:
required: true
- type: dropdown
id: wb
attributes:
label: Subproject(s) affected?
options:
- Addon Manager
- Arch
- Core
- Draft
- Expressions
- FEM
- File formats
- GCS
- OpenSCAD
- Part
- PartDesign
- Path
- Project Tools & Websites
- Sketcher
- Spreadsheet
- Techdraw
- Other (specify in description)
- type: textarea
id: description
attributes:
label: Idea description
description: Please include as much detail as possible so that developers understand the request
placeholder: Description of the feature
validations:
required: true
- type: textarea
id: anything_else
attributes:
label: Anything else?
description: |
Links? References? Anything that will give us more context about your idea.
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. To attach a FCStd file, ZIP it first (GitHub won't recognize the extension otherwise).
validations:
required: false
- type: checkboxes
id: terms
attributes:
label: Code of Conduct
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/FreeCAD/FreeCAD/blob/master/CODE_OF_CONDUCT.md)
options:
- label: I agree to follow this project's Code of Conduct
required: true
+80
View File
@@ -0,0 +1,80 @@
name: Report a Problem
description: File an problem report
title: "[Problem] "
labels: ["needs triage"]
body:
- type: checkboxes
id: existing_issue
attributes:
label: Is there an existing issue for this?
description: Please search to see if an issue already exists for the problem you encountered.
options:
- label: I have searched the existing issues
required: true
- type: dropdown
id: version
attributes:
label: Version
description: What version of FreeCAD are you running?
options:
- 0.20 (Release)
- 0.21 (Development)
validations:
required: true
- type: textarea
id: full_version
attributes:
label: Full version info
description: Please use the About FreeCAD dialog to copy your full version information and paste it here.
render: shell
validations:
required: true
- type: dropdown
id: wb
attributes:
label: Subproject(s) affected?
options:
- Addon Manager
- Arch
- Core
- Draft
- Expressions
- FEM
- File formats
- GCS
- OpenSCAD
- Part
- PartDesign
- Path
- Project Tools & Websites
- Sketcher
- Spreadsheet
- Techdraw
- Other (specify in description)
- type: textarea
id: description
attributes:
label: Problem description
description: Describe the problem and how it impacts user experience, workflow, maintainability or speed of the code. If the problem appears to be a bug with the current functionality, provide as test case or recipe that reproduces the error.
placeholder: Description of the problem
validations:
required: true
- type: textarea
id: anything_else
attributes:
label: Anything else?
description: |
Links? References? Anything that will give us more context about the issue you are encountering!
If there is a discussion about the problem on the forum, provide link(s) here.
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. To attach a FCStd file, ZIP it first (GitHub won't recognize the extension otherwise).
validations:
required: false
- type: checkboxes
id: terms
attributes:
label: Code of Conduct
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/FreeCAD/FreeCAD/blob/master/CODE_OF_CONDUCT.md)
options:
- label: I agree to follow this project's Code of Conduct
required: true
+1 -1
View File
@@ -2,4 +2,4 @@ blank_issues_enabled: false
contact_links:
- name: 💬 START HERE -- FreeCAD Forum
url: https://forum.freecad.org/
about: Please start a topic at the forums first and wait for others to confirm your issue before creating a bug report on GitHub
about: You are encouraged to discuss the problem you are seeing on the FreeCAD Forums before opening an issue on GitHub
+4 -10
View File
@@ -1,14 +1,8 @@
Thank you for creating a pull request to contribute to FreeCAD! To ease integration, we ask you to conform to the following items. Pull requests which don't satisfy all the items below might be rejected. If you are in doubt with any of the items below, don't hesitate to ask for help in the [FreeCAD forum](https://forum.freecadweb.org/viewforum.php?f=10)!
Thank you for creating a pull request to contribute to FreeCAD! Place an "X" in between the brackets below to "check off" to confirm that you have satisfied the requirement, or ask for help in the [FreeCAD forum](https://forum.freecadweb.org/viewforum.php?f=10) if there is something you don't understand.
- [ ] Your pull request is confined strictly to a single module. That is, all the files changed by your pull request are either in `App`, `Base`, `Gui` or one of the `Mod` subfolders. If you need to make changes in several locations, make several pull requests and wait for the first one to be merged before submitting the next ones
- [ ] In case your pull request does more than just fixing small bugs, make sure you discussed your ideas with other developers on the FreeCAD forum
- [ ] Your branch is [rebased](https://git-scm.com/docs/git-rebase) on latest master `git pull --rebase upstream master`
- [ ] All FreeCAD unit tests are confirmed to pass by running `./bin/FreeCAD --run-test 0`
- [ ] All commit messages are [well-written](https://chris.beams.io/posts/git-commit/) ex: `Fixes typo in Draft Move command text`
- [ ] Your pull request is well written and has a good description, and its title starts with the module name, ex: `Draft: Fixed typos`
- [ ] Commit messages include `issue #<id>` or `fixes #<id>` where `<id>` is the issue ID number from our [Issues database](https://github.com/FreeCAD/FreeCAD/issues) in case a particular commit solves or is related to an existing issue. Ex: `Draft: fix typos - fixes #4805`
- [ ] Your Pull Request meets the requirements outlined in section 5 of [CONTRIBUTING.md](https://github.com/FreeCAD/FreeCAD/blob/master/CONTRIBUTING.md) for a Valid PR
And please remember to update the Wiki with the features added or changed once this PR is merged.
**Note**: If you don't have wiki access, then please mention your contribution on the [0.20 Changelog Forum Thread](https://forum.freecadweb.org/viewtopic.php?f=10&t=56135).
Please remember to update the Wiki with the features added or changed once this PR is merged.
**Note**: If you don't have wiki access, then please mention your contribution on the [1.0 Changelog Forum Thread](https://forum.freecad.org/viewtopic.php?f=10&t=69438).
---
+7
View File
@@ -7,6 +7,7 @@ alocation
anid
anormal
apoints
aply
appy
ba
beginn
@@ -32,7 +33,9 @@ froms
hist
indicies
inout
isnt
ist
itsel
lod
mantatory
mata
@@ -43,6 +46,7 @@ nin
normale
normaly
numer
oce
ontop
ot
parm
@@ -54,6 +58,7 @@ recurrance
rougly
seh
serie
siz
som
strack
substraction
@@ -62,9 +67,11 @@ te
thist
tread
ue
upto
uptodate
usind
vas
vertexes
vew
wallthickness
zuser
+1 -1
View File
@@ -31,7 +31,7 @@ WB MeshPart:
WB OpenSCAD:
- 'src/Mod/OpenSCAD/**/*'
WB Part:
WB Part:
- 'src/Mod/Part/**/*'
WB PartDesign:
+15
View File
@@ -0,0 +1,15 @@
{
"problemMatcher": [
{
"owner": "black-warning",
"severity": "warning",
"pattern": [
{
"regexp": "^(would reformat (.*))$",
"file": 2,
"message": 1
}
]
}
]
}
+17
View File
@@ -0,0 +1,17 @@
{
"problemMatcher": [
{
"owner": "clang",
"pattern": [
{
"regexp": "^(.+):([0-9]+):([0-9]+): (error|warning|note): (.+)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
]
}
]
}
+16
View File
@@ -0,0 +1,16 @@
{
"problemMatcher": [
{
"owner": "codespell-matcher",
"severity": "warning",
"pattern": [
{
"regexp": "^(.+):(\\d+):\\s+(.+)$",
"file": 1,
"line": 2,
"message": 3
}
]
}
]
}
+16
View File
@@ -0,0 +1,16 @@
{
"problemMatcher": [
{
"owner": "cpplint",
"severity": "warning",
"pattern": [
{
"regexp": "^(.+):([0-9]+): (.+)$",
"file": 1,
"line": 2,
"message": 3
}
]
}
]
}
@@ -0,0 +1,16 @@
{
"problemMatcher": [
{
"owner": "grepMatcher-warning",
"severity": "warning",
"pattern": [
{
"regexp": "^(.+):([0-9]+):(.+)$",
"file": 1,
"line": 2,
"message": 3
}
]
}
]
}
+18
View File
@@ -0,0 +1,18 @@
{
"problemMatcher": [
{
"owner": "pylint-error",
"severity": "error",
"pattern": [
{
"regexp": "^(.+?):([0-9]+):([0-9]+): ([([E|F][0-9]+): (.*)$",
"file": 1,
"line": 2,
"column": 3,
"code": 4,
"message": 5
}
]
}
]
}
+18
View File
@@ -0,0 +1,18 @@
{
"problemMatcher": [
{
"owner": "pylint-warning",
"severity": "warning",
"pattern": [
{
"regexp": "^(.+?):([0-9]+):([0-9]+): ([^E|F][0-9]+): (.*)$",
"file": 1,
"line": 2,
"column": 3,
"code": 4,
"message": 5
}
]
}
]
}
+110
View File
@@ -0,0 +1,110 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
# ***************************************************************************
# * *
# * Copyright (c) 2023 0penBrain. *
# * *
# * This file is part of FreeCAD. *
# * *
# * FreeCAD is free software: you can redistribute it and/or modify it *
# * under the terms of the GNU Lesser General Public License as *
# * published by the Free Software Foundation, either version 2.1 of the *
# * License, or (at your option) any later version. *
# * *
# * FreeCAD is distributed in the hope that it will be useful, but *
# * WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
# * Lesser General Public License for more details. *
# * *
# * You should have received a copy of the GNU Lesser General Public *
# * License along with FreeCAD. If not, see *
# * <https://www.gnu.org/licenses/>. *
# * *
# ***************************************************************************
# This workflow is a complementary one to the master CI.
# It aims at doing cleanup operations after a CI workflow ran.
# Being triggered when the master workflow ends allows it to run with necessary privileges.
# Indeed it always run with push-like rights even for PR events.
# In order to work, this cleanup workflow imposes name formatting for caches
# Caches that have to be cleaned (typically compiler caches) shall be named as below :
# ${MARK}-${CONTEXT}-${REF}-${ID}
# with :
# ${MARK} => A mark identifying a cache to be cleaned, defined as being "FC" (without quotes)
# ${CONTEXT} => A string identifying cache saving context, typically OS name or compiler name
# ${REF} => The full reference of the branch owning the cache (starting with "/refs/pull/" or "/refs/heads/")
# ${ID} => A cache unique identifier, generally an ascending number, in no case containing a '-' (hyphen) sign
name: FreeCAD CI cleaner
on:
workflow_run:
workflows: [FreeCAD master CI]
types:
- completed
env:
dryrun: false
concurrency:
group: FC-CI-cleaner
cancel-in-progress: false
jobs:
CachesCleanup:
runs-on: ubuntu-latest
env:
logdir: /tmp/log/
steps:
- name: Make needed directories
run: |
mkdir -p ${{ env.logdir }}
- name: Get existing caches for the repo
run: |
curl -H "Accept: application/vnd.github+json" -H "authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" $GITHUB_API_URL/repos/$GITHUB_REPOSITORY/actions/caches > ${{ env.logdir }}caches.json
- name: Extract pull request caches
run: |
# Extract caches of which names starts with MARK and contains "/refs/pull/"
jq ".actions_caches | map(select(.key | startswith(\"FC-\"))) | map(select(.key | contains(\"refs/pull/\")))" ${{ env.logdir }}caches.json > ${{ env.logdir }}pulls.json
- name: Extract and delete pull request obsolete cache IDs
run: |
# Group the caches by MARK-CONTEXT-REF, sort by ascending last access datetime and keep all but the last as to be deleted
# As a consequence, for pull requests, only the most recent cache is kept (one for each context and for each PR)
PRID=$(jq "group_by(.key | .[:rindex(\"-\")]) | .[] | sort_by(.last_accessed_at) | .[:-1][].id" ${{ env.logdir }}pulls.json)
for id in $PRID
do
echo "Trying to delete pull request obsolete cache ID : $id"
if [ ${{ env.dryrun }} == "false" ]
then
curl -X DELETE -H "Accept: application/vnd.github+json" -H "authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" $GITHUB_API_URL/repos/$GITHUB_REPOSITORY/actions/caches/$id
else
echo "DRYRUN: executing : curl -X DELETE -H \"Accept: application/vnd.github+json\" $GITHUB_API_URL/repos/$GITHUB_REPOSITORY/actions/caches/$id"
fi
done
- name: Extract push caches
run: |
# Extract caches of which names starts with MARK and contains "/refs/heads/"
jq ".actions_caches | map(select(.key | startswith(\"FC-\"))) | map(select(.key | contains(\"refs/heads/\")))" ${{ env.logdir }}caches.json > ${{ env.logdir }}pushes.json
- name: Extract and delete push obsolete cache IDs
run: |
# Group the caches by MARK-CONTEXT-REF, sort by ascending last access datetime, keep all but the last 2 and keep all accessed for more than 1 hour as to be deleted
# As a consequence, for pushes (repo branches), at least 2 caches (for each context and for each branch) are kept, others are deleted if they have been useless for more than 1 hour
PSID=$(jq "group_by(.key | .[:rindex(\"-\")]) | .[] | sort_by(.last_accessed_at) | .[:-2][] | select((.last_accessed_at | if contains(\".\") then .[:rindex(\".\")]+\"Z\" else . end | fromdateiso8601) < (now | floor - 3600)) | .id" ${{ env.logdir }}pushes.json)
for id in $PSID
do
echo "Trying to delete push obsolete cache ID : $id"
if [ ${{ env.dryrun }} == "false" ]
then
curl -X DELETE -H "Accept: application/vnd.github+json" -H "authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" $GITHUB_API_URL/repos/$GITHUB_REPOSITORY/actions/caches/$id
else
echo "DRYRUN: executing : curl -X DELETE -H \"Accept: application/vnd.github+json\" $GITHUB_API_URL/repos/$GITHUB_REPOSITORY/actions/caches/$id"
fi
done
- name: Upload logs
if: always()
uses: actions/upload-artifact@v3
with:
name: ${{ github.job }}-Logs
path: |
${{ env.logdir }}
+74
View File
@@ -0,0 +1,74 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
# ***************************************************************************
# * *
# * Copyright (c) 2023 0penBrain. *
# * *
# * This file is part of FreeCAD. *
# * *
# * FreeCAD is free software: you can redistribute it and/or modify it *
# * under the terms of the GNU Lesser General Public License as *
# * published by the Free Software Foundation, either version 2.1 of the *
# * License, or (at your option) any later version. *
# * *
# * FreeCAD is distributed in the hope that it will be useful, but *
# * WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
# * Lesser General Public License for more details. *
# * *
# * You should have received a copy of the GNU Lesser General Public *
# * License along with FreeCAD. If not, see *
# * <https://www.gnu.org/licenses/>. *
# * *
# ***************************************************************************
# This is the master workflow for CI of FreeCAD.
# It (only) aims at properly organizing the sub-workflows.
name: FreeCAD master CI
on: [workflow_dispatch, push, pull_request]
concurrency:
group: FC-CI-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
Prepare:
uses: ./.github/workflows/sub_prepare.yml
with:
artifactBasename: Prepare-${{ github.run_id }}
Ubuntu_20-04:
needs: [Prepare]
uses: ./.github/workflows/sub_buildUbuntu2004.yml
with:
artifactBasename: Ubuntu_20-04-${{ github.run_id }}
Ubuntu_22-04:
needs: [Prepare]
uses: ./.github/workflows/sub_buildUbuntu2204.yml
with:
artifactBasename: Ubuntu_22-04-${{ github.run_id }}
Windows:
needs: [Prepare]
uses: ./.github/workflows/sub_buildWindows.yml
with:
artifactBasename: Windows-${{ github.run_id }}
Lint:
needs: [Prepare]
uses: ./.github/workflows/sub_lint.yml
with:
artifactBasename: Lint-${{ github.run_id }}
changedFiles: ${{ needs.Prepare.outputs.changedFiles }}
changedCppFiles: ${{ needs.Prepare.outputs.changedCppFiles }}
changedPythonFiles: ${{ needs.Prepare.outputs.changedPythonFiles }}
WrapUp:
needs: [Prepare, Ubuntu_20-04, Ubuntu_22-04, Windows, Lint]
if: always()
uses: ./.github/workflows/sub_wrapup.yml
with:
previousSteps: ${{ toJSON(needs) }}
@@ -0,0 +1,73 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
# ***************************************************************************
# * *
# * Copyright (c) 2023 0penBrain. *
# * *
# * This file is part of FreeCAD. *
# * *
# * FreeCAD is free software: you can redistribute it and/or modify it *
# * under the terms of the GNU Lesser General Public License as *
# * published by the Free Software Foundation, either version 2.1 of the *
# * License, or (at your option) any later version. *
# * *
# * FreeCAD is distributed in the hope that it will be useful, but *
# * WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
# * Lesser General Public License for more details. *
# * *
# * You should have received a copy of the GNU Lesser General Public *
# * License along with FreeCAD. If not, see *
# * <https://www.gnu.org/licenses/>. *
# * *
# ***************************************************************************
name: build
description: "Linux: build application"
inputs:
builddir:
description: "Directory where build will happen"
required: true
logFile:
description: "Path for log file"
required: true
errorFile:
description: "Path to error file"
required: true
reportFile:
description: "Path for report file"
required: true
extraParameters:
description: "Extra parameters to CMake build"
required: false
runs:
using: "composite"
steps:
- name: Build
id: build
shell: bash
run: |
(stdbuf -oL -eL cmake --build ${{ inputs.builddir }} -j$(nproc) ${{ inputs.extraParameters }}) \
2> >(tee -a ${{ inputs.errorFile }}) | tee -a ${{ inputs.logFile }}
- name: Write report
shell: bash
if: always()
run: |
if [ ${{ steps.build.outcome }} == 'success' ]
then
echo "<details><summary>:heavy_check_mark: CMake build succeeded</summary>" >> ${{ inputs.reportFile }}
else
echo "<details><summary>:fire: CMake build failed</summary>" >> ${{ inputs.reportFile }}
fi
echo "" >> ${{ inputs.reportFile }}
echo "Build Error Log (stderr output):" >> ${{ inputs.reportFile }}
echo '```' >> ${{ inputs.reportFile }}
cat ${{ inputs.errorFile }} >> ${{ inputs.reportFile }}
echo '```' >> ${{ inputs.reportFile }}
echo "Build Log (only built targets reported):" >> ${{ inputs.reportFile }}
echo '```' >> ${{ inputs.reportFile }}
cat ${{ inputs.logFile }} | sed -ne "/Built target/p" >> ${{ inputs.reportFile }}
echo '```' >> ${{ inputs.reportFile }}
echo "</details>">> ${{ inputs.reportFile }}
echo "" >> ${{ inputs.reportFile }}
@@ -0,0 +1,78 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
# ***************************************************************************
# * *
# * Copyright (c) 2023 0penBrain. *
# * *
# * This file is part of FreeCAD. *
# * *
# * FreeCAD is free software: you can redistribute it and/or modify it *
# * under the terms of the GNU Lesser General Public License as *
# * published by the Free Software Foundation, either version 2.1 of the *
# * License, or (at your option) any later version. *
# * *
# * FreeCAD is distributed in the hope that it will be useful, but *
# * WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
# * Lesser General Public License for more details. *
# * *
# * You should have received a copy of the GNU Lesser General Public *
# * License along with FreeCAD. If not, see *
# * <https://www.gnu.org/licenses/>. *
# * *
# ***************************************************************************
name: configure
description: "Linux: configure CMake"
inputs:
sourcedir:
description: "Directory where sources are stored"
required: false
default: ./
builddir:
description: "Directory where build will happen"
required: true
logFile:
description: "Path for log file"
required: true
errorFile:
description: "Path to error file"
required: true
reportFile:
description: "Path for report file"
required: true
extraParameters:
description: "Extra parameters to CMake configure"
required: false
runs:
using: "composite"
steps:
- name: Configure CMake
id: configure
shell: bash
run: |
(stdbuf -oL -eL cmake -S ${{ inputs.sourcedir }} -B ${{ inputs.builddir }} -D CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE ${{inputs.extraParameters }}) \
2> >(tee -a ${{ inputs.errorFile }}) | tee -a ${{ inputs.logFile }}
- name: Write report
shell: bash
if: always()
run: |
if [ ${{ steps.configure.outcome }} == 'success' ]
then
echo "<details><summary>:heavy_check_mark: CMake configure succeeded</summary>" >> ${{ inputs.reportFile }}
echo "" >> ${{ inputs.reportFile }}
echo "Configure Error Log (stderr output):" >> ${{ inputs.reportFile }}
echo '```' >> ${{ inputs.reportFile }}
cat ${{ inputs.errorFile }} >> ${{ inputs.reportFile }}
echo '```' >> ${{ inputs.reportFile }}
else
echo "<details><summary>:fire: CMake configure failed</summary>" >> ${{ inputs.reportFile }}
fi
echo "" >> ${{ inputs.reportFile }}
echo "Configure Log (only final configuration values reported):" >> ${{ inputs.reportFile }}
echo '```' >> ${{ inputs.reportFile }}
cat ${{ inputs.logFile }} | sed -ne "/^ *==/,/^====/p" >> ${{ inputs.reportFile }}
echo '```' >> ${{ inputs.reportFile }}
echo "</details>">> ${{ inputs.reportFile }}
echo "" >> ${{ inputs.reportFile }}
@@ -0,0 +1,44 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
# ***************************************************************************
# * *
# * Copyright (c) 2023 0penBrain. *
# * *
# * This file is part of FreeCAD. *
# * *
# * FreeCAD is free software: you can redistribute it and/or modify it *
# * under the terms of the GNU Lesser General Public License as *
# * published by the Free Software Foundation, either version 2.1 of the *
# * License, or (at your option) any later version. *
# * *
# * FreeCAD is distributed in the hope that it will be useful, but *
# * WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
# * Lesser General Public License for more details. *
# * *
# * You should have received a copy of the GNU Lesser General Public *
# * License along with FreeCAD. If not, see *
# * <https://www.gnu.org/licenses/>. *
# * *
# ***************************************************************************
name: generateCacheKey
description: "Linux: generates a cache key taking into account distro and compiler"
inputs:
compiler:
description: "Binary name/path of compiler to be used"
required: true
outputs:
cacheKey:
description: "Cache key with distro and compiler version"
value: ${{ steps.generateCacheKey.outputs.cacheKey }}
runs:
using: "composite"
steps:
- id: generateCacheKey
shell: bash
run: |
cacheKey=$(lsb_release -ds | tr -d ' ')-$( basename ${{ inputs.compiler }})$(${{ inputs.compiler }} -dumpfullversion -dumpversion)
echo "Generated cache key : $cacheKey"
echo "cacheKey=$cacheKey" >> $GITHUB_OUTPUT
@@ -0,0 +1,73 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
# ***************************************************************************
# * *
# * Copyright (c) 2023 0penBrain. *
# * *
# * This file is part of FreeCAD. *
# * *
# * FreeCAD is free software: you can redistribute it and/or modify it *
# * under the terms of the GNU Lesser General Public License as *
# * published by the Free Software Foundation, either version 2.1 of the *
# * License, or (at your option) any later version. *
# * *
# * FreeCAD is distributed in the hope that it will be useful, but *
# * WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
# * Lesser General Public License for more details. *
# * *
# * You should have received a copy of the GNU Lesser General Public *
# * License along with FreeCAD. If not, see *
# * <https://www.gnu.org/licenses/>. *
# * *
# ***************************************************************************
name: install
description: "Linux: install application"
inputs:
builddir:
description: "Directory where build is stored"
required: true
logFile:
description: "Path for log file"
required: true
errorFile:
description: "Path to error file"
required: true
reportFile:
description: "Path for report file"
required: true
extraParameters:
description: "Extra parameters to CMake install"
required: false
runs:
using: "composite"
steps:
- name: Install
id: install
shell: bash
run: |
(stdbuf -oL -eL sudo cmake --install ${{ inputs.builddir }} ${{ inputs.extraParameters }}) \
2> >(tee -a ${{ inputs.errorFile }}) | tee -a ${{ inputs.logFile }}
- name: Write report
shell: bash
if: always()
run: |
if [ ${{ steps.install.outcome }} == 'success' ]
then
echo "<details><summary>:heavy_check_mark: CMake install succeeded</summary>" >> ${{ inputs.reportFile }}
else
echo "<details><summary>:fire: CMake install failed</summary>" >> ${{ inputs.reportFile }}
fi
echo "" >> ${{ inputs.reportFile }}
echo "Install Error Log (stderr output):" >> ${{ inputs.reportFile }}
echo '```' >> ${{ inputs.reportFile }}
cat ${{ inputs.errorFile }} >> ${{ inputs.reportFile }}
echo '```' >> ${{ inputs.reportFile }}
echo "Install Error Log (stdout output trimmed to the last 100 Lines):" >> ${{ inputs.reportFile }}
echo '```' >> ${{ inputs.reportFile }}
tail -n 100 ${{ inputs.logFile }} >> ${{ inputs.reportFile }}
echo '```' >> ${{ inputs.reportFile }}
echo "</details>">> ${{ inputs.reportFile }}
echo "" >> ${{ inputs.reportFile }}
@@ -0,0 +1,79 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
# ***************************************************************************
# * *
# * Copyright (c) 2023 The FreeCAD Project Association *
# * *
# * This file is part of FreeCAD. *
# * *
# * FreeCAD is free software: you can redistribute it and/or modify it *
# * under the terms of the GNU Lesser General Public License as *
# * published by the Free Software Foundation, either version 2.1 of the *
# * License, or (at your option) any later version. *
# * *
# * FreeCAD is distributed in the hope that it will be useful, but *
# * WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
# * Lesser General Public License for more details. *
# * *
# * You should have received a copy of the GNU Lesser General Public *
# * License along with FreeCAD. If not, see *
# * <https://www.gnu.org/licenses/>. *
# * *
# ***************************************************************************
# !!! Each step running a single test shall have an'id' defined so its report will be output
name: Run all C++ Tests
description: "Run all C++ tests, generating logs and reports for each"
inputs:
reportdir:
description: "Report directory where logs will be stored"
required: true
builddir:
description: "Build directory where tests are located"
required: true
reportFile:
description: "Path for report file"
required: true
runs:
using: "composite"
steps:
- name: C++ core tests
id: core
uses: ./.github/workflows/actions/runCPPTests/runSingleTest
with:
testCommand: ${{ inputs.builddir }}/tests/Tests_run --gtest_output=json:${{ inputs.reportdir }}core_gtest_results.json
testLogFile: ${{ inputs.reportdir }}core_gtest_test_log.txt
testName: Core
- name: C++ Sketcher tests
id: sketcher
uses: ./.github/workflows/actions/runCPPTests/runSingleTest
with:
testCommand: ${{ inputs.builddir }}/tests/Sketcher_tests_run --gtest_output=json:${{ inputs.reportdir }}sketcher_gtest_results.json
testLogFile: ${{ inputs.reportdir }}sketcher_gtest_test_log.txt
testName: Sketcher
- name: Compose summary report based on test results
if: always()
shell: bash
run: |
# Print global result
if [ ${{ job.status }} != "success" ]
then
echo "<details><summary>:fire: C++ tests failed</summary>" >> ${{ inputs.reportFile }}
else
echo "<details><summary>:heavy_check_mark: C++ tests succeeded</summary>" >> ${{ inputs.reportFile }}
fi
echo "" >> ${{ inputs.reportFile }}
echo "<blockquote>" >> ${{ inputs.reportFile }}
#Extract individual results
cat > /tmp/data << "EOD"
${{ toJSON(steps) }}
EOD
echo "$(jq -r ".[].outputs.reportText" /tmp/data)" >> ${{ inputs.reportFile }}
# Close report
echo "</blockquote>" >> ${{ inputs.reportFile }}
echo "</details>" >> ${{ inputs.reportFile }}
echo "" >> ${{ inputs.reportFile }}
@@ -0,0 +1,72 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
# ***************************************************************************
# * *
# * Copyright (c) 2023 0penBrain. *
# * Copyright (c) 2023 FreeCAD Project Association *
# * *
# * This file is part of FreeCAD. *
# * *
# * FreeCAD is free software: you can redistribute it and/or modify it *
# * under the terms of the GNU Lesser General Public License as *
# * published by the Free Software Foundation, either version 2.1 of the *
# * License, or (at your option) any later version. *
# * *
# * FreeCAD is distributed in the hope that it will be useful, but *
# * WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
# * Lesser General Public License for more details. *
# * *
# * You should have received a copy of the GNU Lesser General Public *
# * License along with FreeCAD. If not, see *
# * <https://www.gnu.org/licenses/>. *
# * *
# ***************************************************************************
name: runCPPTests
description: "Run C++ tests, generate log and report"
inputs:
testCommand:
description: "Test command to be run"
required: true
testLogFile:
description: "Path for the command-line output of the tests"
required: true
testName:
description: "A descriptive name for the test suite"
required: true
outputs:
reportText:
description: "Report text"
value: ${{ steps.report.outputs.reportText }}
runs:
using: "composite"
steps:
- name: Run C++ tests
shell: bash
run: stdbuf -oL -eL ${{ inputs.testCommand }} |& tee -a ${{ inputs.testLogFile }}
- name: Parse test results
if: always()
id: report
shell: bash
run: |
result=$(sed -ne "/Global test environment tear-down/,/^$/{/^$/d;p}" ${{ inputs.testLogFile }})
if grep -qF "[ FAILED ]" <<< $result
then
reportText="<details><summary>:fire: GTest C++ test suite '${{ inputs.testName }}' failed</summary>\n"
else
reportText="<details><summary>:heavy_check_mark: GTest C++ test suite '${{ inputs.testName }}' succeeded</summary>\n"
fi
reportText+="\n"
reportText+="Results\n"
reportText+="\n"
reportText+='```\n'
reportText+="$result\n"
reportText+='```\n'
reportText+="</details>\n"
reportText+="\n"
echo "reportText<<EOD" >> $GITHUB_OUTPUT
echo -e "$reportText" >> $GITHUB_OUTPUT
echo "EOD" >> $GITHUB_OUTPUT
echo -e "$reportText"
@@ -0,0 +1,81 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
# ***************************************************************************
# * *
# * Copyright (c) 2023 0penBrain. *
# * *
# * This file is part of FreeCAD. *
# * *
# * FreeCAD is free software: you can redistribute it and/or modify it *
# * under the terms of the GNU Lesser General Public License as *
# * published by the Free Software Foundation, either version 2.1 of the *
# * License, or (at your option) any later version. *
# * *
# * FreeCAD is distributed in the hope that it will be useful, but *
# * WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
# * Lesser General Public License for more details. *
# * *
# * You should have received a copy of the GNU Lesser General Public *
# * License along with FreeCAD. If not, see *
# * <https://www.gnu.org/licenses/>. *
# * *
# ***************************************************************************
name: runPythonTests
description: "Run Python tests, generate log and report"
inputs:
testDescription:
description: "Test description text, will be used on report"
required: true
testCommand:
description: "Test command to be run"
required: true
logFile:
description: "Path for log file"
required: true
reportFile:
description: "Path for report file"
required: true
runs:
using: "composite"
steps:
- name: Run tests
id: runTests
shell: bash
run: |
stdbuf -oL -eL ${{ inputs.testCommand }} |& sed -Ee "/[[:blank:]]*\([[:digit:]]{1,3} %\)[[:blank:]]*/d" | tee -a ${{ inputs.logFile }}
- name: Write report
shell: bash
if: always()
run: |
sed -ne "/^\(FAILED\|ERROR\):/,/^[[:blank:]]*$/bF; /^Traceback/,/^[^[:blank:]]/{/^Traceback/bT; /^[^[:blank:]]/G; bT}; b; :T w ${{ inputs.logFile }}_tracebacks" -e "b; :F w ${{ inputs.logFile }}_failedtests" ${{ inputs.logFile }}
icon=""
if [ $( cat ${{ inputs.logFile }}_tracebacks | wc -l ) -gt 0 ]
then
icon=" :fire:"
fi
if [ ${{ steps.runTests.outcome }} == 'success' ]
then
echo "<details><summary>:heavy_check_mark: ${{ inputs.testDescription }} succeeded$icon</summary>" >> ${{ inputs.reportFile }}
else
echo "<details><summary>:fire: ${{ inputs.testDescription }} failed$icon</summary>" >> ${{ inputs.reportFile }}
echo "" >> ${{ inputs.reportFile }}
echo "Failed tests" >> ${{ inputs.reportFile }}
echo "" >> ${{ inputs.reportFile }}
echo '```' >> ${{ inputs.reportFile }}
cat ${{ inputs.logFile }}_failedtests >> ${{ inputs.reportFile }}
echo '```' >> ${{ inputs.reportFile }}
fi
echo "" >> ${{ inputs.reportFile }}
if [ $( cat ${{ inputs.logFile }}_tracebacks | wc -l ) -gt 0 ]
then
echo "Uncaught tracebacks -- these tracebacks appeared during test but didn't fail a test --" >> ${{ inputs.reportFile }}
echo "" >> ${{ inputs.reportFile }}
echo '```' >> ${{ inputs.reportFile }}
cat ${{ inputs.logFile }}_tracebacks >> ${{ inputs.reportFile }}
echo '```' >> ${{ inputs.reportFile }}
fi
echo "</details>">> ${{ inputs.reportFile }}
echo "" >> ${{ inputs.reportFile }}
@@ -0,0 +1,78 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
# ***************************************************************************
# * *
# * Copyright (c) 2023 0penBrain. *
# * *
# * This file is part of FreeCAD. *
# * *
# * FreeCAD is free software: you can redistribute it and/or modify it *
# * under the terms of the GNU Lesser General Public License as *
# * published by the Free Software Foundation, either version 2.1 of the *
# * License, or (at your option) any later version. *
# * *
# * FreeCAD is distributed in the hope that it will be useful, but *
# * WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
# * Lesser General Public License for more details. *
# * *
# * You should have received a copy of the GNU Lesser General Public *
# * License along with FreeCAD. If not, see *
# * <https://www.gnu.org/licenses/>. *
# * *
# ***************************************************************************
# This action aims at speeding up CI and reduce dependency to external resources
# by creating a cache of Ccache needed binaries then using it for CI runs rather
# than downloading every time.
#
# If it needs to be updated to another version, the process it to change
# 'downloadpath' and 'version' inputs below then delete the existing cache
# from Github interface so a new one is generated using new values.
name: getCcache
description: "Windows: tries to get a cached version of Ccache and create one if fails"
inputs:
ccachebindir:
description: "Directory where ccache binaries shall be stored"
required: true
# Below inputs shall generally not be provided as they won't be used if a cached version exists
# They are mainly used because Github do not support adding env variables in a composite action
ccachedownloadpath:
description: "Path where to download ccache"
required: false
default: https://github.com/ccache/ccache/releases/download/v4.7.4/
ccacheversion:
description: "Ccache version to be downloaded"
required: false
default: ccache-4.7.4-windows-x86_64
runs:
using: "composite"
steps:
- name: Create destination directory
shell: bash
run: |
mkdir -p ${{ inputs.ccachebindir }}
- name: Get cached version
uses: actions/cache/restore@v3
id: getCached
with:
path: ${{ inputs.ccachebindir }}
key: ccacheforwin
- name: Download ccache
shell: bash
if: steps.getCached.outputs.cache-hit != 'true'
run: |
curl -L -o ccache.zip ${{ inputs.ccachedownloadpath }}${{ inputs.ccacheversion }}.zip
7z x ccache.zip -o"ccachetemp" -r -y
cp -a ccachetemp/${{ inputs.ccacheversion }}/ccache.exe ${{ inputs.ccachebindir }}
cp -a ccachetemp/${{ inputs.ccacheversion }}/ccache.exe ${{ inputs.ccachebindir }}/cl.exe
rm ccache.zip
rm -rf ccachetemp
- name: Save version to cache
if: steps.getCached.outputs.cache-hit != 'true'
uses: actions/cache/save@v3
with:
path: ${{ inputs.ccachebindir }}
key: ${{ steps.getCached.outputs.cache-primary-key }}
@@ -0,0 +1,76 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
# ***************************************************************************
# * *
# * Copyright (c) 2023 0penBrain. *
# * *
# * This file is part of FreeCAD. *
# * *
# * FreeCAD is free software: you can redistribute it and/or modify it *
# * under the terms of the GNU Lesser General Public License as *
# * published by the Free Software Foundation, either version 2.1 of the *
# * License, or (at your option) any later version. *
# * *
# * FreeCAD is distributed in the hope that it will be useful, but *
# * WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
# * Lesser General Public License for more details. *
# * *
# * You should have received a copy of the GNU Lesser General Public *
# * License along with FreeCAD. If not, see *
# * <https://www.gnu.org/licenses/>. *
# * *
# ***************************************************************************
# This action aims at speeding up CI and reduce dependency to external resources
# by creating a cache of Libpack needed files then using it for CI runs rather
# than downloading every time.
#
# If it needs to be updated to another version, the process it to change
# 'downloadpath' and 'version' inputs below then delete the existing cache
# from Github interface so a new one is generated using new values.
name: getLibpack
description: "Windows: tries to get a cached version of Libpack and create one if fails"
inputs:
libpackdir:
description: "Directory where libpack files shall be stored"
required: true
# Below inputs shall generally not be provided as they won't be used if a cached version exists
# They are mainly used because Github do not support adding env variables in a composite action
libpackdownloadurl:
description: "URL where to download libpack"
required: false
default: https://github.com/FreeCAD/FreeCAD-LibPack/releases/download/2.8.2/LibPack-OCC76-V2-8.7z
libpackname:
description: "Libpack name (once downloaded)"
required: false
default: LibPack-OCC76-V2
runs:
using: "composite"
steps:
- name: Create destination directory
shell: bash
run: |
mkdir -p ${{ inputs.libpackdir }}
- name: Get cached version
uses: actions/cache/restore@v3
id: getCached
with:
path: ${{ inputs.libpackdir }}
key: libpackforwin
- name: Download libpack
shell: bash
if: steps.getCached.outputs.cache-hit != 'true'
run: |
curl -L -o libpack.7z ${{ inputs.libpackdownloadurl }}
7z x libpack.7z -o"libpacktemp" -r -y
mv libpacktemp/${{ inputs.libpackname }}/* ${{ inputs.libpackdir }}
rm -rf libpacktemp
- name: Save version to cache
if: steps.getCached.outputs.cache-hit != 'true'
uses: actions/cache/save@v3
with:
path: ${{ inputs.libpackdir }}
key: ${{ steps.getCached.outputs.cache-primary-key }}
-31
View File
@@ -1,31 +0,0 @@
# GitHub Action to automate the identification of common misspellings in text files.
# https://github.com/codespell-project/actions-codespell
# https://github.com/codespell-project/codespell
name: Codespell
on:
pull_request:
jobs:
codespell:
name: Check for spelling errors
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v12.2
- name: List all changed files
run: |
for file in ${{ steps.changed-files.outputs.all_changed_files }}; do
echo "$file was changed"
done
- uses: codespell-project/actions-codespell@master
with:
check_filenames: true
ignore_words_file: .github/codespellignore
skip: ./.git,*.po,*.ts,*.svg,./ChangeLog.txt,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./src/CXX,./src/zipios++,./src/Base/swig*,./src/Mod/Robot/App/kdl_cp,./src/Mod/Import/App/SCL,./src/WindowsInstaller,./src/Doc/FreeCAD.uml,./build/
path: ${{ steps.changed-files.outputs.all_changed_files }}
+1 -1
View File
@@ -21,4 +21,4 @@ jobs:
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
configuration-path: ".github/labels.yml"
sync-labels: false
sync-labels: false
+249
View File
@@ -0,0 +1,249 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
# ***************************************************************************
# * *
# * Copyright (c) 2023 0penBrain. *
# * *
# * This file is part of FreeCAD. *
# * *
# * FreeCAD is free software: you can redistribute it and/or modify it *
# * under the terms of the GNU Lesser General Public License as *
# * published by the Free Software Foundation, either version 2.1 of the *
# * License, or (at your option) any later version. *
# * *
# * FreeCAD is distributed in the hope that it will be useful, but *
# * WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
# * Lesser General Public License for more details. *
# * *
# * You should have received a copy of the GNU Lesser General Public *
# * License along with FreeCAD. If not, see *
# * <https://www.gnu.org/licenses/>. *
# * *
# ***************************************************************************
# This is a build and test workflow for CI of FreeCAD.
# This workflow aims at building and testing FreeCAD on Ubuntu 20.04 using GCC.
name: Build Ubuntu 20.04
on:
workflow_call:
inputs:
artifactBasename:
type: string
required: true
testOnBuildDir:
default: false
type: boolean
required: false
allowedToFail:
default: false
type: boolean
required: false
outputs:
reportFile:
value: ${{ jobs.Build.outputs.reportFile }}
jobs:
Build:
runs-on: ubuntu-20.04
continue-on-error: ${{ inputs.allowedToFail }}
env:
CCACHE_DIR: ${{ github.workspace }}/ccache
CCACHE_CONFIGPATH: ${{ github.workspace }}/ccache/config
CCACHE_MAXSIZE: 1G
CCACHE_COMPILERCHECK: "%compiler% -dumpfullversion -dumpversion" # default:mtime
CCACHE_COMPRESS: true
CCACHE_COMPRESSLEVEL: 1
CC: /usr/bin/gcc
CXX: /usr/bin/g++
#CC: /usr/bin/clang
#CXX: /usr/bin/clang++
builddir: ${{ github.workspace }}/build/
logdir: /tmp/logs/
reportdir: /tmp/report/
reportfilename: ${{ inputs.artifactBasename }}-report.md
defaults:
run:
shell: bash
outputs:
reportFile: ${{ steps.Init.outputs.reportFile }}
steps:
- name: Checking out source code
uses: actions/checkout@v3
- name: Install FreeCAD dependencies
run: |
sudo apt-get update -qq
sudo apt-get install -y --no-install-recommends \
doxygen \
graphviz \
imagemagick \
libboost-date-time-dev \
libboost-dev \
libboost-filesystem-dev \
libboost-graph-dev \
libboost-iostreams-dev \
libboost-program-options-dev \
libboost-python-dev \
libboost-regex-dev \
libboost-serialization-dev \
libboost-thread-dev \
libcoin-dev \
libeigen3-dev \
libgts-bin \
libgts-dev \
libkdtree++-dev \
libmedc-dev \
libocct-data-exchange-dev \
libocct-ocaf-dev \
libocct-visualization-dev \
libopencv-dev \
libproj-dev \
libpyside2-dev \
libqt5opengl5-dev \
libqt5svg5-dev \
libqt5x11extras5-dev \
libqt5xmlpatterns5-dev \
libshiboken2-dev \
libspnav-dev \
libvtk7-dev \
libx11-dev \
libxerces-c-dev \
libzipios++-dev \
netgen \
netgen-headers \
occt-draw \
pyqt5-dev-tools \
pyside2-tools \
python3-dev \
python3-git \
python3-markdown \
python3-matplotlib \
python3-packaging \
python3-pivy \
python3-ply \
python3-pyside2.qtcore \
python3-pyside2.qtgui \
python3-pyside2.qtnetwork \
python3-pyside2.qtsvg \
python3-pyside2.qtwebengine \
python3-pyside2.qtwebenginecore \
python3-pyside2.qtwebenginewidgets \
python3-pyside2.qtwebchannel \
python3-pyside2.qtwidgets \
qtbase5-dev \
qttools5-dev \
qtwebengine5-dev \
shiboken2 \
swig \
ccache \
xvfb
- name: Make needed directories, files and initializations
id: Init
run: |
mkdir -p ${{ env.CCACHE_DIR }}
mkdir -p ${{ env.CCACHE_CONFIGPATH }}
mkdir -p ${{ env.builddir }}
mkdir -p ${{ env.logdir }}
mkdir -p ${{ env.reportdir }}
echo "reportFile=${{ env.reportfilename }}" >> $GITHUB_OUTPUT
- name: Generate cache key
id: genCacheKey
uses: ./.github/workflows/actions/linux/generateCacheKey
with:
compiler: ${{ env.CXX }}
- name: Restore Compiler Cache
uses: pat-s/always-upload-cache@v3
with:
path: ${{ env.CCACHE_DIR }}
key: FC-${{ steps.genCacheKey.outputs.cacheKey }}-${{ github.ref }}-${{ github.run_id }}
restore-keys: |
FC-${{ steps.genCacheKey.outputs.cacheKey }}-${{ github.ref }}-
FC-${{ steps.genCacheKey.outputs.cacheKey }}-
- name: Print CCache statistics before build, reset stats and print config
run: |
ccache -s
ccache -z
ccache -p
- name: CMake Configure
uses: ./.github/workflows/actions/linux/configure
with:
builddir: ${{ env.builddir }}
logFile: ${{ env.logdir }}Cmake.log
errorFile: ${{ env.logdir }}CmakeErrors.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: CMake Build
uses: ./.github/workflows/actions/linux/build
with:
builddir: ${{ env.builddir }}
logFile: ${{ env.logdir }}Build.log
errorFile: ${{ env.logdir }}BuildErrors.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: Print ccache statistics after Build
run: |
ccache -s
- name: FreeCAD CLI tests on build dir
if: inputs.testOnBuildDir
timeout-minutes: 10
uses: ./.github/workflows/actions/runPythonTests
with:
testDescription: "CLI tests on build dir"
testCommand: ${{ env.builddir }}bin/FreeCADCmd -t 0
logFile: ${{ env.logdir }}TestCLIBuild.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: FreeCAD GUI tests on build dir
if: inputs.testOnBuildDir
timeout-minutes: 15
uses: ./.github/workflows/actions/runPythonTests
with:
testDescription: "GUI tests on build dir"
testCommand: xvfb-run ${{ env.builddir }}/bin/FreeCAD -t 0
logFile: ${{ env.logdir }}TestGUIBuild.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: C++ tests
timeout-minutes: 1
uses: ./.github/workflows/actions/runCPPTests/runAllTests
with:
reportdir: ${{ env.reportdir }}
builddir: ${{ env.builddir }}
reportFile: ${{ env.reportdir }}${{ env.reportfilename }}
- name: CMake Install
uses: ./.github/workflows/actions/linux/install
with:
builddir: ${{ env.builddir }}
logFile: ${{ env.logdir }}Install.log
errorFile: ${{ env.logdir }}InstallErrors.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: FreeCAD CLI tests on install
timeout-minutes: 10
uses: ./.github/workflows/actions/runPythonTests
with:
testDescription: "CLI tests on install"
testCommand: FreeCADCmd -t 0
logFile: ${{ env.logdir }}TestCLIInstall.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: FreeCAD GUI tests on install
timeout-minutes: 15
uses: ./.github/workflows/actions/runPythonTests
with:
testDescription: "GUI tests on install"
testCommand: xvfb-run FreeCAD -t 0
logFile: ${{ env.logdir }}TestGUIInstall.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: Upload logs
if: always()
uses: actions/upload-artifact@v3
with:
name: ${{ inputs.artifactBasename }}-Logs
path: |
${{ env.logdir }}
/var/crash/*FreeCAD*
- name: Upload report
if: always()
uses: actions/upload-artifact@v3
with:
name: ${{ env.reportfilename }}
path: |
${{env.reportdir}}${{ env.reportfilename }}
+247
View File
@@ -0,0 +1,247 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
# ***************************************************************************
# * *
# * Copyright (c) 2023 0penBrain. *
# * *
# * This file is part of FreeCAD. *
# * *
# * FreeCAD is free software: you can redistribute it and/or modify it *
# * under the terms of the GNU Lesser General Public License as *
# * published by the Free Software Foundation, either version 2.1 of the *
# * License, or (at your option) any later version. *
# * *
# * FreeCAD is distributed in the hope that it will be useful, but *
# * WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
# * Lesser General Public License for more details. *
# * *
# * You should have received a copy of the GNU Lesser General Public *
# * License along with FreeCAD. If not, see *
# * <https://www.gnu.org/licenses/>. *
# * *
# ***************************************************************************
# This is a build and test workflow for CI of FreeCAD.
# This workflow aims at building and testing FreeCAD on Ubuntu 22.04 using Clang.
name: Build Ubuntu 22.04
on:
workflow_call:
inputs:
artifactBasename:
type: string
required: true
testOnBuildDir:
default: false
type: boolean
required: false
allowedToFail:
default: false
type: boolean
required: false
outputs:
reportFile:
value: ${{ jobs.Build.outputs.reportFile }}
jobs:
Build:
runs-on: ubuntu-22.04
continue-on-error: ${{ inputs.allowedToFail }}
env:
CCACHE_DIR: ${{ github.workspace }}/ccache
CCACHE_CONFIGPATH: ${{ github.workspace }}/ccache/config
CCACHE_MAXSIZE: 1G
CCACHE_COMPILERCHECK: "%compiler% -dumpfullversion -dumpversion" # default:mtime
CCACHE_COMPRESS: true
CCACHE_COMPRESSLEVEL: 1
#CC: /usr/bin/gcc
#CXX: /usr/bin/g++
CC: /usr/bin/clang
CXX: /usr/bin/clang++
builddir: ${{ github.workspace }}/build/
logdir: /tmp/logs/
reportdir: /tmp/report/
reportfilename: ${{ inputs.artifactBasename }}-report.md
defaults:
run:
shell: bash
outputs:
reportFile: ${{ steps.Init.outputs.reportFile }}
steps:
- name: Checking out source code
uses: actions/checkout@v3
- name: Install FreeCAD dependencies
run: |
sudo apt-get update -qq
sudo apt-get install -y --no-install-recommends \
doxygen \
graphviz \
imagemagick \
libboost-date-time-dev \
libboost-dev \
libboost-filesystem-dev \
libboost-graph-dev \
libboost-iostreams-dev \
libboost-program-options-dev \
libboost-python-dev \
libboost-regex-dev \
libboost-serialization-dev \
libboost-thread-dev \
libcoin-dev \
libeigen3-dev \
libgts-bin \
libgts-dev \
libkdtree++-dev \
libmedc-dev \
libocct-data-exchange-dev \
libocct-ocaf-dev \
libocct-visualization-dev \
libopencv-dev \
libproj-dev \
libpyside2-dev \
libqt5opengl5-dev \
libqt5svg5-dev \
libqt5x11extras5-dev \
libqt5xmlpatterns5-dev \
libshiboken2-dev \
libspnav-dev \
libvtk7-dev \
libx11-dev \
libxerces-c-dev \
libzipios++-dev \
netgen \
netgen-headers \
occt-draw \
pyqt5-dev-tools \
pyside2-tools \
python3-dev \
python3-git \
python3-markdown \
python3-matplotlib \
python3-packaging \
python3-pivy \
python3-ply \
python3-pyside2.qtcore \
python3-pyside2.qtgui \
python3-pyside2.qtnetwork \
python3-pyside2.qtsvg \
python3-pyside2.qtwebengine \
python3-pyside2.qtwebenginecore \
python3-pyside2.qtwebenginewidgets \
python3-pyside2.qtwebchannel \
python3-pyside2.qtwidgets \
qtbase5-dev \
qttools5-dev \
qtwebengine5-dev \
shiboken2 \
swig \
ccache \
xvfb
- name: Make needed directories, files and initializations
id: Init
run: |
mkdir -p ${{ env.CCACHE_DIR }}
mkdir -p ${{ env.CCACHE_CONFIGPATH }}
mkdir -p ${{ env.builddir }}
mkdir -p ${{ env.logdir }}
mkdir -p ${{ env.reportdir }}
echo "reportFile=${{ env.reportfilename }}" >> $GITHUB_OUTPUT
- name: Generate cache key
id: genCacheKey
uses: ./.github/workflows/actions/linux/generateCacheKey
with:
compiler: ${{ env.CXX }}
- name: Restore Compiler Cache
uses: pat-s/always-upload-cache@v3
with:
path: ${{ env.CCACHE_DIR }}
key: FC-${{ steps.genCacheKey.outputs.cacheKey }}-${{ github.ref }}-${{ github.run_id }}
restore-keys: |
FC-${{ steps.genCacheKey.outputs.cacheKey }}-${{ github.ref }}-
FC-${{ steps.genCacheKey.outputs.cacheKey }}-
- name: Print CCache statistics before build, reset stats and print config
run: |
ccache -s
ccache -z
ccache -p
- name: CMake Configure
uses: ./.github/workflows/actions/linux/configure
with:
builddir: ${{ env.builddir }}
logFile: ${{ env.logdir }}Cmake.log
errorFile: ${{ env.logdir }}CmakeErrors.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: CMake Build
uses: ./.github/workflows/actions/linux/build
with:
builddir: ${{ env.builddir }}
logFile: ${{ env.logdir }}Build.log
errorFile: ${{ env.logdir }}BuildErrors.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: Print ccache statistics after Build
run: |
ccache -s
- name: FreeCAD CLI tests on build dir
if: inputs.testOnBuildDir
timeout-minutes: 10
uses: ./.github/workflows/actions/runPythonTests
with:
testDescription: "CLI tests on build dir"
testCommand: ${{ env.builddir }}bin/FreeCADCmd -t 0
logFile: ${{ env.logdir }}TestCLIBuild.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: FreeCAD GUI tests on build dir
if: inputs.testOnBuildDir
timeout-minutes: 15
uses: ./.github/workflows/actions/runPythonTests
with:
testDescription: "GUI tests on build dir"
testCommand: xvfb-run ${{ env.builddir }}/bin/FreeCAD -t 0
logFile: ${{ env.logdir }}TestGUIBuild.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: C++ tests
timeout-minutes: 1
uses: ./.github/workflows/actions/runCPPTests/runAllTests
with:
reportdir: ${{ env.reportdir }}
builddir: ${{ env.builddir }}
reportFile: ${{ env.reportdir }}${{ env.reportfilename }}
- name: CMake Install
uses: ./.github/workflows/actions/linux/install
with:
builddir: ${{ env.builddir }}
logFile: ${{ env.logdir }}Install.log
errorFile: ${{ env.logdir }}InstallErrors.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: FreeCAD CLI tests on install
timeout-minutes: 10
uses: ./.github/workflows/actions/runPythonTests
with:
testDescription: "CLI tests on install"
testCommand: FreeCADCmd -t 0
logFile: ${{ env.logdir }}TestCLIInstall.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: FreeCAD GUI tests on install
timeout-minutes: 15
uses: ./.github/workflows/actions/runPythonTests
with:
testDescription: "GUI tests on install"
testCommand: xvfb-run FreeCAD -t 0
logFile: ${{ env.logdir }}TestGUIInstall.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: Upload logs
if: always()
uses: actions/upload-artifact@v3
with:
name: ${{ inputs.artifactBasename }}-Logs
path: |
${{ env.logdir }}
/var/crash/*FreeCAD*
- name: Upload report
if: always()
uses: actions/upload-artifact@v3
with:
name: ${{ env.reportfilename }}
path: |
${{env.reportdir}}${{ env.reportfilename }}
+146
View File
@@ -0,0 +1,146 @@
# ***************************************************************************
# * Copyright (c) 2023 0penBrain *
# * *
# * This program is free software; you can redistribute it and/or modify *
# * it under the terms of the GNU Lesser General Public License (LGPL) *
# * as published by the Free Software Foundation; either version 2 of *
# * the License, or (at your option) any later version. *
# * for detail see the LICENCE text file. *
# * *
# * This program is distributed in the hope that it will be useful, *
# * but WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
# * GNU Library General Public License for more details. *
# * *
# * You should have received a copy of the GNU Library General Public *
# * License along with this program; if not, write to the Free Software *
# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 *
# * USA *
# * *
# ***************************************************************************
# This is a build and test workflow for CI of FreeCAD.
# This workflow aims at building and testing FreeCAD on Windows using MSVC.
name: Build Windows
on:
workflow_call:
inputs:
artifactBasename:
type: string
required: true
allowedToFail:
default: false
type: boolean
required: false
outputs:
reportFile:
value: ${{ jobs.Build.outputs.reportFile }}
jobs:
Build:
runs-on: windows-latest
continue-on-error: ${{ inputs.allowedToFail }}
env:
CCACHE_DIR: C:/FC/cache/
CCACHE_COMPILERCHECK: "%compiler%" # default:mtime
CCACHE_MAXSIZE: 1G
CCACHE_COMPRESS: true
CCACHE_COMPRESSLEVEL: 1
CCACHE_NOHASHDIR: true
CCACHE_DIRECT: true
#CCACHE_SLOPPINESS: "pch_defines,time_macros" # Can't get PCH to work on Windows
CCACHE_LOGFILE: C:/logs/ccache.log
## Have to use C:\ because not enough space on workspace drive
builddir: C:/FC/build/
libpackdir: C:/FC/libpack/
ccachebindir: C:/FC/ccache/
logdir: C:/logs/
reportdir: C:/report/
reportfilename: ${{ inputs.artifactBasename }}-report.md
outputs:
reportFile: ${{ steps.Init.outputs.reportFile }}
steps:
- name: Checking out source code
uses: actions/checkout@v3
- name: Make needed directories, files and initializations
id: Init
run: |
mkdir ${{ env.CCACHE_DIR }}
mkdir ${{ env.ccachebindir }}
mkdir ${{ env.libpackdir }}
mkdir ${{ env.builddir }}
mkdir ${{ env.logdir }}
mkdir ${{ env.reportdir }}
echo "reportFile=${{ env.reportfilename }}" >> $GITHUB_OUTPUT
- name: Get Ccache
uses: ./.github/workflows/actions/windows/getCcache
with:
ccachebindir: ${{ env.ccachebindir }}
- name: Get Libpack
uses: ./.github/workflows/actions/windows/getLibpack
with:
libpackdir: ${{ env.libpackdir }}
- name: Restore compiler cache
uses: pat-s/always-upload-cache@v3
with:
path: ${{ env.CCACHE_DIR }}
key: FC-Windows-${{ github.ref }}-${{ github.run_id }}
restore-keys: |
FC-Windows-${{ github.ref }}-
FC-Windows-
- name: Print Ccache statistics before build, reset stats and print config
run: |
. $env:ccachebindir\ccache -s
. $env:ccachebindir\ccache -z
. $env:ccachebindir\ccache -p
- name: Append Libpack bin directory to Path
if: false # Disabled because not enough to set FREECAD_COPY_LIBPACK_BIN_TO_BUILD=OFF
run: |
echo "${{ env.libpackdir }}/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: Configuring CMake
run: >
cmake -B"${{ env.builddir }}" .
-DCMAKE_VS_NO_COMPILE_BATCHING=ON
-DCMAKE_BUILD_TYPE=Release
-DFREECAD_USE_PCH=OFF
-DFREECAD_RELEASE_PDB=OFF
-DFREECAD_LIBPACK_DIR="${{ env.libpackdir }}"
-DPYTHON_DEBUG_LIBRARY="${{ env.libpackdir }}bin/libs/python38_d.lib"
-DPYTHON_EXECUTABLE="${{ env.libpackdir }}bin/python.exe"
-DPYTHON_INCLUDE_DIR="${{ env.libpackdir }}bin/include"
-DPYTHON_LIBRARY="${{ env.libpackdir }}bin/libs/python38.lib"
-DXercesC_INCLUDE_DIR="${{ env.libpackdir }}include"
-DXercesC_LIBRARY_RELEASE="${{ env.libpackdir }}lib/xerces-c_3.lib"
-DXercesC_LIBRARY_DEBUG="${{ env.libpackdir }}lib/xerces-c_3D.lib"
-DFREECAD_COPY_DEPEND_DIRS_TO_BUILD=ON
-DFREECAD_COPY_LIBPACK_BIN_TO_BUILD=OFF
-DFREECAD_COPY_PLUGINS_BIN_TO_BUILD=ON
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v1.3
- name: Compiling sources
run: |
cd $env:builddir
msbuild ALL_BUILD.vcxproj /m /p:Configuration=Release /p:TrackFileAccess=false /p:CLToolPath=${{ env.ccachebindir }}
- name: Print Ccache statistics after build
run: |
. $env:ccachebindir\ccache -s
- name: Move libpack bin folder to build folder # Shorter in time than copying with CMake FREECAD_COPY_LIBPACK_BIN_TO_BUILD
run: |
Move-Item -Force -Path ${{ env.libpackdir }}bin -Destination ${{ env.builddir }}
- name: C++ unit tests
if: false # Disabled because seems to not exist on Windows build
timeout-minutes: 1
run: |
. ${{ env.builddir }}\test\Tests_run --gtest_output=json:${{ env.reportdir }}gtest_results.json # 2>&1 | tee -filepath ${{ env.logdir }}\unitTests.log
- name: FreeCAD CLI tests
run: |
. ${{ env.builddir }}\bin\FreeCADCmd -t 0 # 2>&1 | tee -filepath ${{ env.logdir }}\integrationTests.log
- name: Upload logs
if: always()
uses: actions/upload-artifact@v3
with:
name: ${{ inputs.artifactBasename }}-Logs
path: |
${{ env.logdir }}
+773
View File
@@ -0,0 +1,773 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
# ***************************************************************************
# * *
# * Copyright (c) 2023 0penBrain. *
# * *
# * This file is part of FreeCAD. *
# * *
# * FreeCAD is free software: you can redistribute it and/or modify it *
# * under the terms of the GNU Lesser General Public License as *
# * published by the Free Software Foundation, either version 2.1 of the *
# * License, or (at your option) any later version. *
# * *
# * FreeCAD is distributed in the hope that it will be useful, but *
# * WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
# * Lesser General Public License for more details. *
# * *
# * You should have received a copy of the GNU Lesser General Public *
# * License along with FreeCAD. If not, see *
# * <https://www.gnu.org/licenses/>. *
# * *
# ***************************************************************************
# This is the lint workflow for CI of FreeCAD
name: Lint
on:
workflow_call:
inputs:
artifactBasename:
type: string
required: true
changedFiles:
type: string
required: true
changedCppFiles:
type: string
required: true
changedPythonFiles:
type: string
required: true
checkLineendings:
default: false
type: boolean
required: false
lineendingsFailSilent:
default: true
type: boolean
required: false
checkWhitespace:
default: true
type: boolean
required: false
whitespaceFailSilent:
default: true
type: boolean
required: false
checkTabs:
default: true
type: boolean
required: false
tabsFailSilent:
default: true
type: boolean
required: false
checkQtConnections:
default: true
type: boolean
required: false
qtConnectionsFailSilent:
default: true
type: boolean
required: false
checkCpplint:
default: true
type: boolean
required: false
cpplintFilters:
default: -build/c++11,-build/header_guard,-build/include,-build/include_alpha,-build/include_order,-build/include_subdir,-build/include_what_you_use,-build/namespaces,-legal/copyright,-readability/braces,-readability-braces-around-statements,-readability/casting,-readability/namespace,-readability/todo,-runtime/indentation_namespace,-runtime/int,-runtime/references,-whitespace/blank_line,-whitespace/braces,-whitespace/comma,-whitespace/comments,-whitespace/end_of_line,-whitespace/indent,-whitespace/line_length,-whitespace/newline,-whitespace/operators,-whitespace/parens,-whitespace/semicolon,-whitespace/tab,-whitespace/todo
type: string
required: false
cpplintLineLength:
default: 120
type: string
required: false
cpplintFailSilent:
default: true
type: boolean
required: false
checkPylint:
default: true
type: boolean
required: false
pylintDisable:
default: C0302,C0303 # Trailing whitespaces (C0303) are already checked
type: string
required: false
pylintFailSilent:
default: true
type: boolean
required: false
checkBlack:
default: true
type: boolean
required: false
blackFailSilent:
default: true
type: boolean
required: false
checkClangFormat:
default: false
type: boolean
required: false
clangStyle:
default: file # for .clang-format file
type: string
required: false
clangFormatFailSilent:
default: true
type: boolean
required: false
checkSpelling:
default: true
type: boolean
required: false
listIgnoredMisspelling:
default: .github/codespellignore
type: string
required: false
spellingIgnore:
default: ./.git,*.po,*.ts,*.svg,./ChangeLog.txt,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./src/CXX,./src/zipios++,./src/Base/swig*,./src/Mod/Robot/App/kdl_cp,./src/Mod/Import/App/SCL,./src/WindowsInstaller,./src/Doc/FreeCAD.uml,./build/
type: string
required: false
codespellFailSilent:
default: true
type: boolean
required: false
checkClangTidy:
default: true
type: boolean
required: false
clangTidyChecks:
default: # empty to use the .clang-tidy file
type: string
required: false
clangTidyFailSilent:
default: true # warnings or notes will never fail the CI, only errors
type: boolean
required: false
checkClazy: # for the Message codes see: https://invent.kde.org/sdk/clazy#list-of-checks
default: true
type: boolean
required: false
clazyChecks:
default: level1
type: string
required: false
clazyFailSilent:
default: true # warnings or notes will never fail the CI, only errors
type: boolean
required: false
checkClazyQT6:
default: true
type: boolean
required: false
clazyQT6Checks:
default: qt6-deprecated-api-fixes,qt6-header-fixes,qt6-qhash-signature,qt6-fwd-fixes,missing-qobject-macro # for QT6 Porting https://invent.kde.org/sdk/clazy#list-of-checks
type: string
required: false
QT6Branch: # branch to check for QT6 Porting
default: master
type: string
required: false
clazyQT6FailSilent:
default: true # warnings or notes will never fail the CI, only errors
type: boolean
required: false
outputs:
reportFile:
value: ${{ jobs.Lint.outputs.reportFile }}
jobs:
Lint:
if: inputs.changedFiles != ''
runs-on: ubuntu-latest
env:
logdir: /tmp/logs/
fixesdir: /tmp/fixes/
reportdir: /tmp/report/
reportfilename: ${{ inputs.artifactBasename }}-report.md
defaults:
run:
shell: bash
outputs:
reportFile: ${{ steps.Init.outputs.reportFile }}
steps:
- name: Check out code
uses: actions/checkout@v3
- name: Make needed directories, files and initializations
id: Init
run: |
mkdir -p ${{ env.logdir }}
mkdir -p ${{ env.fixesdir }}
mkdir -p ${{ env.reportdir }}
echo "reportFile=${{ env.reportfilename }}" >> $GITHUB_OUTPUT
# Run generic lints
- name: Check for non Unix line ending
if: inputs.checkLineendings && always()
continue-on-error: ${{ inputs.lineendingsFailSilent }}
run: |
lineendings=0
for file in ${{ inputs.changedFiles }}
do
# Check for DOS or MAC line endings
if [[ $(file -b $file) =~ "with CR" ]]
then
echo "::warning file=$file,title=$file::File has non Unix line endings"
echo "$file has non Unix line endings" >> ${{ env.logdir }}lineendings.log
((lineendings=lineendings+1))
fi
done
echo "Found $lineendings line ending errors"
# Write the report
if [ $lineendings -gt 0 ]
then
echo "<details><summary>:information_source: Found $lineendings problems with line endings</summary>" >> ${{env.reportdir}}${{ env.reportfilename }}
echo "" >> ${{env.reportdir}}${{ env.reportfilename }}
echo '```' >> ${{env.reportdir}}${{ env.reportfilename }}
cat ${{ env.logdir }}lineendings.log >> ${{env.reportdir}}${{ env.reportfilename }}
echo '```' >> ${{env.reportdir}}${{ env.reportfilename }}
echo "</details>" >> ${{env.reportdir}}${{ env.reportfilename }}
else
echo ":heavy_check_mark: No line ending problem found " >> ${{env.reportdir}}${{ env.reportfilename }}
fi
echo "" >> ${{env.reportdir}}${{ env.reportfilename }}
# Exit the step with appropriate code
[ $lineendings -eq 0 ]
- name: Check for trailing whitespaces
if: inputs.checkWhitespace && always()
continue-on-error: ${{ inputs.whitespaceFailSilent }}
run: |
whitespaceErrors=0
exclude="*[.md]"
for file in ${{ inputs.changedFiles }}
do
# Check for trailing whitespaces
grep -nIHE --exclude="$exclude" " $" $file | sed -e "s/$/<-- trailing whitespace/" >> ${{ env.logdir }}whitespace.log || true
done
# Write the Log to the console with the Problem Matchers
if [ -f ${{ env.logdir }}whitespace.log ]
then
echo "::add-matcher::${{ runner.workspace }}/FreeCAD/.github/problemMatcher/grepMatcherWarning.json"
cat ${{ env.logdir }}whitespace.log
echo "::remove-matcher owner=grepMatcher-warning::"
whitespaceErrors=$(wc -l < ${{ env.logdir }}whitespace.log)
fi
echo "Found $whitespaceErrors whitespace errors"
# Write the report
if [ $whitespaceErrors -gt 0 ]
then
echo "<details><summary>:information_source: Found $whitespaceErrors trailing whitespace</summary>" >> ${{env.reportdir}}${{ env.reportfilename }}
echo "" >> ${{env.reportdir}}${{ env.reportfilename }}
echo '```' >> ${{env.reportdir}}${{ env.reportfilename }}
cat ${{ env.logdir }}whitespace.log >> ${{env.reportdir}}${{ env.reportfilename }}
echo '```' >> ${{env.reportdir}}${{ env.reportfilename }}
echo "</details>" >> ${{env.reportdir}}${{ env.reportfilename }}
else
echo ":heavy_check_mark: No trailing whitespace found " >> ${{env.reportdir}}${{ env.reportfilename }}
fi
echo "" >> ${{env.reportdir}}${{ env.reportfilename }}
# Exit the step with appropriate code
[ $whitespaceErrors -eq 0 ]
- name: Check for Tab usage
if: inputs.checkTabs && always()
continue-on-error: ${{ inputs.tabsFailSilent }}
run: |
tabErrors=0
exclude="*[.md]"
# Check for Tab usage
for file in ${{ steps.changed-files.outputs.all_changed_files }}
do
grep -nIHE --exclude="$exclude" $'\t' $file | sed -e "s/$/ <-- contains tab/" >> ${{ env.logdir }}tab.log || true
done
# Write the Log to the console with the Problem Matchers
if [ -f ${{ env.logdir }}tab.log ]
then
echo "::add-matcher::${{ runner.workspace }}/FreeCAD/.github/problemMatcher/grepMatcherWarning.json"
cat ${{ env.logdir }}tab.log
echo "::remove-matcher owner=grepMatcher-warning::"
tabErrors=$(wc -l < ${{ env.logdir }}tab.log)
fi
echo "Found $tabErrors tab errors"
# Write the report
if [ $tabErrors -gt 0 ]; then
echo "<details><summary>:information_source: Found $tabErrors tabs, better to use spaces</summary>" >> ${{env.reportdir}}${{ env.reportfilename }}
echo "" >> ${{env.reportdir}}${{ env.reportfilename }}
echo '```' >> ${{env.reportdir}}${{ env.reportfilename }}
cat ${{ env.logdir }}tab.log >> ${{env.reportdir}}${{ env.reportfilename }}
echo '```' >> ${{env.reportdir}}${{ env.reportfilename }}
echo "</details>" >> ${{env.reportdir}}${{ env.reportfilename }}
else
echo ":heavy_check_mark: No tabs found" >> ${{env.reportdir}}${{ env.reportfilename }}
fi
echo "" >> ${{env.reportdir}}${{ env.reportfilename }}
# Exit the step with appropriate code
[ $tabErrors -eq 0 ]
# Run Python lints
- name: Pylint
if: inputs.checkPylint && inputs.changedPythonFiles != '' && always()
continue-on-error: ${{ inputs.pylintFailSilent }}
run: |
pylintErrors=0
pylintWarnings=0
pylintRefactorings=0
pylintConventions=0
pip install pylint
# List enabled pylint checks
pylint --list-msgs-enabled > ${{ env.logdir }}pylint-enabled-checks.log
# Run pylint on all python files
set +e
pylint --disable=${{ inputs.pylintDisable }} ${{ inputs.changedPythonFiles }} > ${{ env.logdir }}pylint.log
exitCode=$?
set -e
# If pylint has run successfully, write the Log to the console with the Problem Matchers
if [ -f ${{ env.logdir }}pylint.log ]
then
echo "::add-matcher::${{ runner.workspace }}/FreeCAD/.github/problemMatcher/pylintError.json"
echo "::add-matcher::${{ runner.workspace }}/FreeCAD/.github/problemMatcher/pylintWarning.json"
cat ${{ env.logdir }}pylint.log
echo "::remove-matcher owner=pylint-error::"
echo "::remove-matcher owner=pylint-warning::"
pylintErrors=$( grep -oP '(?<=error \|)\d+' ${{ env.logdir }}pylint.log) || true # grep returns 0 if no match is found
pylintWarnings=$( grep -oP '(?<=warning \|)\d+' ${{ env.logdir }}pylint.log) || true
pylintRefactorings=$( grep -oP '(?<=refactor \|)\d+' ${{ env.logdir }}pylint.log) || true
pylintConventions=$( grep -oP '(?<=convention \|)\d+' ${{ env.logdir }}pylint.log) || true
fi
echo "Found $pylintErrors errors, $pylintWarnings warnings, $pylintRefactorings refactorings, $pylintConventions conventions"
# Write the report
if [ $pylintErrors -gt 0 ]
then
echo "<details><summary>:fire: Pylint found :fire: $pylintErrors errors, :warning: $pylintWarnings warnings, :construction: $pylintRefactorings refactorings and :pencil2: $pylintConventions conventions</summary>" >> ${{env.reportdir}}${{ env.reportfilename }}
elif [ $pylintWarnings -gt 0 ]
then
echo "<details><summary>:warning: Pylint found :warning: $pylintWarnings warnings, :construction: $pylintRefactorings refactorings and :pencil2: $pylintConventions conventions</summary>" >> ${{env.reportdir}}${{ env.reportfilename }}
elif [ $pylintRefactorings -gt 0 ]
then
echo "<details><summary>:construction: Pylint found :construction: $pylintRefactorings refactorings and :pencil2: $pylintConventions conventions</summary>" >> ${{env.reportdir}}${{ env.reportfilename }}
elif [ $pylintConventions -gt 0 ]
then
echo "<details><summary>:pencil2: Pylint found :pencil2: $pylintConventions conventions</summary>" >> ${{env.reportdir}}${{ env.reportfilename }}
else
echo "<details><summary>:heavy_check_mark: No pylint errors found </summary> " >> ${{env.reportdir}}${{ env.reportfilename }}
fi
echo "" >> ${{env.reportdir}}${{ env.reportfilename }}
# List enabled checks in the report
echo "<details><summary>:information_source: Enabled checks</summary>" >> ${{env.reportdir}}${{ env.reportfilename }}
echo "" >> ${{env.reportdir}}${{ env.reportfilename }}
echo '```' >> ${{env.reportdir}}${{ env.reportfilename }}
cat ${{ env.logdir }}pylint-enabled-checks.log >> ${{env.reportdir}}${{ env.reportfilename }}
echo '```' >> ${{env.reportdir}}${{ env.reportfilename }}
echo "</details>" >> ${{env.reportdir}}${{ env.reportfilename }}
echo "" >> ${{env.reportdir}}${{ env.reportfilename }}
echo '```' >> ${{env.reportdir}}${{ env.reportfilename }}
cat ${{ env.logdir }}pylint.log >> ${{env.reportdir}}${{ env.reportfilename }}
echo '```' >> ${{env.reportdir}}${{ env.reportfilename }}
echo "</details>" >> ${{env.reportdir}}${{ env.reportfilename }}
echo "" >> ${{env.reportdir}}${{ env.reportfilename }}
# Exit the step with appropriate code
[ $pylintErrors -eq 0 ]
- name: Black (Python)
if: inputs.checkBlack && inputs.changedPythonFiles != '' && always()
continue-on-error: ${{ inputs.blackFailSilent }}
run: |
blackReformats=0
blackFails=0
pip install black
set +e
black --check ${{ inputs.changedPythonFiles }} &> ${{ env.logdir }}black.log
exitCode=$?
set -e
# If black has run successfully, write the Log to the console with the Problem Matchers
if [ -f ${{ env.logdir }}black.log ]
then
echo "::add-matcher::${{ runner.workspace }}/FreeCAD/.github/problemMatcher/blackWarning.json"
cat ${{ env.logdir }}black.log
echo "::remove-matcher owner=black-warning::"
blackReformats=$( grep -oP '\d+(?= fil.+ would be reformatted)' ${{ env.logdir }}black.log) || true # grep returns 0 if no match is found
blackFails=$( grep -oP '\d+(?= fil.+ would fail to reformat)' ${{ env.logdir }}black.log) || true
fi
echo "Found $blackReformats files would be reformatted and $blackFails files would fail to reformat"
# Write the report
if [ $blackReformats -gt 0 ] || [ $blackFails -gt 0 ] #FIXME purpose of testing $blackFails as we don't use it then
then
echo "<details><summary>:pencil2: Black would reformat $blackReformats files</summary>" >> ${{env.reportdir}}${{ env.reportfilename }}
else
echo "<details><summary>:heavy_check_mark: Black would reformat no file</summary>" >> ${{env.reportdir}}${{ env.reportfilename }}
fi
echo "" >> ${{env.reportdir}}${{ env.reportfilename }}
echo '```' >> ${{env.reportdir}}${{ env.reportfilename }}
cat ${{ env.logdir }}black.log >> ${{env.reportdir}}${{ env.reportfilename }}
echo '```' >> ${{env.reportdir}}${{ env.reportfilename }}
echo "</details>" >> ${{env.reportdir}}${{ env.reportfilename }}
echo "" >> ${{env.reportdir}}${{ env.reportfilename }}
# Exit the step with appropriate code
[ $exitCode -eq 0 ]
# Run C++ lints
- name: Install FreeCAD dependencies
if: inputs.changedCppFiles != '' && always()
run: |
sudo apt-get update -qq
sudo apt-get install -y --no-install-recommends \
doxygen \
graphviz \
imagemagick \
libboost-date-time-dev \
libboost-dev \
libboost-filesystem-dev \
libboost-graph-dev \
libboost-iostreams-dev \
libboost-program-options-dev \
libboost-python-dev \
libboost-regex-dev \
libboost-serialization-dev \
libboost-thread-dev \
libcoin-dev \
libeigen3-dev \
libgts-bin \
libgts-dev \
libkdtree++-dev \
libmedc-dev \
libocct-data-exchange-dev \
libocct-ocaf-dev \
libocct-visualization-dev \
libopencv-dev \
libproj-dev \
libpyside2-dev \
libqt5opengl5-dev \
libqt5svg5-dev \
libqt5x11extras5-dev \
libqt5xmlpatterns5-dev \
libshiboken2-dev \
libspnav-dev \
libvtk7-dev \
libx11-dev \
libxerces-c-dev \
libzipios++-dev \
netgen \
netgen-headers \
occt-draw \
pyqt5-dev-tools \
pyside2-tools \
python3-dev \
python3-git \
python3-markdown \
python3-matplotlib \
python3-packaging \
python3-pivy \
python3-ply \
python3-pyside2.qtcore \
python3-pyside2.qtgui \
python3-pyside2.qtnetwork \
python3-pyside2.qtsvg \
python3-pyside2.qtwebengine \
python3-pyside2.qtwebenginecore \
python3-pyside2.qtwebenginewidgets \
python3-pyside2.qtwebchannel \
python3-pyside2.qtwidgets \
qtbase5-dev \
qttools5-dev \
qtwebengine5-dev \
shiboken2 \
swig \
ccache \
xvfb
- name: Run CMake # This is needed for Clang tools to work correctly
if: inputs.changedCppFiles != '' && always()
run: |
mkdir build && cmake -S ./ -B ./build/ -D CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE
- name: Check old Qt string-based connections (https://wiki.qt.io/New_Signal_Slot_Syntax)
if: inputs.checkQtConnections && inputs.changedCppFiles != '' && always()
continue-on-error: ${{ inputs.qtConnectionsFailSilent }}
run: |
qtconnectionSyntax=0
exclude="*[.md,.log,.ts,.git]"
# Check all files for QT string-based connections
for file in ${{ inputs.changedFiles }} #TODO does this makes sense in Python files ?
do
grep -nIHE --exclude="$exclude" $' SIGNAL| SLOT' $file | sed -e "s/$/ <--Consider using Functor-Based Connections/" >> ${{ env.logdir }}qtConnections.log || true #TODO seems to trigger false positives
done
# Write the Log to the console with the Problem Matchers
if [ -f ${{ env.logdir }}qtConnections.log ]; then
echo "::add-matcher::${{ runner.workspace }}/FreeCAD/.github/problemMatcher/grepMatcherWarning.json"
cat ${{ env.logdir }}qtConnections.log
echo "::remove-matcher owner=grepMatcher-warning::"
qtconnectionSyntax=$(wc -l < ${{ env.logdir }}qtConnections.log)
fi
echo "Found $qtconnectionSyntax QT string-based connections"
# Write the report
if [ $qtconnectionSyntax -gt 0 ]; then
echo "<details><summary>:information_source: Found $qtconnectionSyntax QT string-based connections :arrow_right: consider using QT functor-Based Connections</summary>" >> ${{env.reportdir}}${{ env.reportfilename }}
echo "" >> ${{env.reportdir}}${{ env.reportfilename }}
# documentation link
echo "For more information see: https://wiki.qt.io/New_Signal_Slot_Syntax or https://github.com/FreeCAD/FreeCAD/issues/6166" >> ${{env.reportdir}}${{ env.reportfilename }}
echo '```' >> ${{env.reportdir}}${{ env.reportfilename }}
cat ${{ env.logdir }}qtConnections.log >> ${{env.reportdir}}${{ env.reportfilename }}
echo '```' >> ${{env.reportdir}}${{ env.reportfilename }}
echo "</details>" >> ${{env.reportdir}}${{ env.reportfilename }}
else
echo ":heavy_check_mark: No string-based connections found " >> ${{env.reportdir}}${{ env.reportfilename }}
fi
echo "" >> ${{env.reportdir}}${{ env.reportfilename }}
# Exit the step with appropriate code
[ $qtconnectionSyntax -eq 0 ]
- name: Cpplint
if: inputs.checkCpplint && inputs.changedCppFiles != '' && always()
continue-on-error: ${{ inputs.cpplintFailSilent }}
run: |
cpplintErrors=0
pip install cpplint
# Run cpplint
for file in ${{ inputs.changedCppFiles }}
do
cpplint --filter=${{ inputs.cpplintFilters }} --linelength=${{ inputs.cpplintLineLength }} $file &>> ${{ env.logdir }}cpplint.log || true
done
# If cpplint has run successfully, write the Log to the console with the Problem Matchers
if [ ${{ env.logdir }}cpplint.log ]
then
echo "::add-matcher::${{ runner.workspace }}/FreeCAD/.github/problemMatcher/cpplint.json"
cat ${{ env.logdir }}cpplint.log
echo "::remove-matcher owner=cpplint::"
cpplintErrors=$(grep -nIHE "\[[0-9]\]$" ${{ env.logdir }}cpplint.log | wc -l ) || true
fi
echo "Found $cpplintErrors cpplint errors"
# Write the report
if [ $cpplintErrors -gt 0 ]
then
echo "<details><summary>:warning: CppLint found $cpplintErrors errors / warnings</summary>" >> ${{env.reportdir}}${{ env.reportfilename }}
else
echo "<details><summary>:heavy_check_mark: No cpplint errors found </summary> " >> ${{env.reportdir}}${{ env.reportfilename }}
fi
echo "" >> ${{env.reportdir}}${{ env.reportfilename }}
echo '```' >> ${{env.reportdir}}${{ env.reportfilename }}
cat ${{ env.logdir }}cpplint.log >> ${{env.reportdir}}${{ env.reportfilename }}
echo '```' >> ${{env.reportdir}}${{ env.reportfilename }}
echo "</details>" >> ${{env.reportdir}}${{ env.reportfilename }}
echo "" >> ${{env.reportdir}}${{ env.reportfilename }}
# Exit the step with appropriate code
[ $cpplintErrors -eq 0 ]
- name: Clang-format
if: inputs.checkClangFormat && inputs.changedCppFiles != '' && always()
continue-on-error: ${{ inputs.clangFormatFailSilent }}
run: |
clangFormatErrors=0
# Run clang-format on all cpp files
clang-format --dry-run --ferror-limit=1 --verbose --style=${{ inputs.clangStyle }} ${{ inputs.changedCppFiles }} &>> ${{ env.logdir }}clang-format.log || true
# If clang-format has run successfully, write the Log to the console with the Problem Matchers
if [ -f ${{ env.logdir }}clang-format.log ]
then
echo "::add-matcher::${{ runner.workspace }}/FreeCAD/.github/problemMatcher/clang.json"
cat ${{ env.logdir }}clang-format.log
echo "::remove-matcher owner=clang::"
clangFormatErrors=$(grep -nIHE "\[-Wclang-format-violations]$" ${{ env.logdir }}clang-format.log | wc -l ) || true
fi
echo "Found $clangFormatErrors clang-format errors"
# Write the report
if [ $clangFormatErrors -gt 0 ]
then
echo "<details><summary>:pencil2: Clang-format would reformat $clangFormatErrors files</summary>" >> ${{env.reportdir}}${{ env.reportfilename }}
else
echo "<details><summary>:heavy_check_mark: Clang-format would reformat no file</summary> " >> ${{env.reportdir}}${{ env.reportfilename }}
fi
echo "" >> ${{env.reportdir}}${{ env.reportfilename }}
echo '```' >> ${{env.reportdir}}${{ env.reportfilename }}
cat ${{ env.logdir }}clang-format.log >> ${{env.reportdir}}${{ env.reportfilename }}
echo '```' >> ${{env.reportdir}}${{ env.reportfilename }}
echo "</details>" >> ${{env.reportdir}}${{ env.reportfilename }}
echo "" >> ${{env.reportdir}}${{ env.reportfilename }}
# Exit the step with appropriate code
[ $clangFormatErrors -eq 0 ]
- name: Codespell
if: inputs.checkSpelling && always()
continue-on-error: ${{ inputs.codespellFailSilent }}
run: |
pip install codespell
wget https://raw.githubusercontent.com/codespell-project/codespell/master/codespell_lib/data/dictionary.txt
#wget https://raw.githubusercontent.com/codespell-project/codespell/master/codespell_lib/data/dictionary_rare.txt
set +e
misspellings=$( { codespell --quiet-level 3 --summary --count --ignore-words ${{ inputs.listIgnoredMisspelling }} --skip ${{ inputs.spellingIgnore }} -D dictionary.txt ${{ inputs.changedFiles }} > ${{ env.logdir }}codespell.log ; } 2>&1 )
set -e
# If codespell has run successfully, write the Log to the console with the Problem Matchers
if [ -f ${{ env.logdir }}codespell.log ]
then
echo "::add-matcher::${{ runner.workspace }}/FreeCAD/.github/problemMatcher/codespell.json"
cat ${{ env.logdir }}codespell.log
echo "::remove-matcher owner=codespell::"
fi
echo "Found $misspellings misspellings"
# Write the report
if [ $misspellings -gt 0 ]
then
echo "<details><summary>:pencil2: Codespell found $misspellings misspellings</summary>" >> ${{env.reportdir}}${{ env.reportfilename }}
else
echo "<details><summary>:heavy_check_mark: Codespell found no misspellings</summary>" >> ${{env.reportdir}}${{ env.reportfilename }}
fi
echo "" >> ${{env.reportdir}}${{ env.reportfilename }}
echo "To ignore false positives, append the word to the [.github/codespellignore](https://github.com/FreeCAD/FreeCAD/blob/master/.github/codespellignore) file (lowercase)" >> ${{env.reportdir}}${{ env.reportfilename }}
echo '```' >> ${{env.reportdir}}${{ env.reportfilename }}
cat ${{ env.logdir }}codespell.log >> ${{env.reportdir}}${{ env.reportfilename }}
echo '```' >> ${{env.reportdir}}${{ env.reportfilename }}
echo "</details>" >> ${{env.reportdir}}${{ env.reportfilename }}
echo "" >> ${{env.reportdir}}${{ env.reportfilename }}
# Exit the step with appropriate code
[ $misspellings -eq 0 ]
- name: Clang-tidy
if: inputs.checkClangTidy && inputs.changedCppFiles != '' && always()
continue-on-error: ${{ inputs.clangTidyFailSilent }}
run: |
clangTidyErrors=0
clangTidyWarnings=0
clangTidyNotes=0
sudo apt-get install -y --no-install-recommends clang-tidy
#TODO: check where this "clang-tidy.yaml" goes ; shall this be put in the fixes ?
clang-tidy --quiet --format-style=${{ inputs.clangStyle }} --export-fixes=clang-tidy.yaml -checks=${{ inputs.clangTidyChecks }} -p build/ --explain-config &>> ${{ env.logdir }}clang-tidy-enabled-checks.log
# Run clang-tidy on all cpp files
set +e
clang-tidy --quiet --format-style=${{ inputs.clangStyle }} --export-fixes=clang-tidy.yaml -checks=${{ inputs.clangTidyChecks }} -p build/ ${{ inputs.changedCppFiles }} &>> ${{ env.logdir }}clang-tidy.log
exitCode=$?
set -e
# If clang-tidy has run successfully, write the Log to the console with the Problem Matchers
if [ -f ${{ env.logdir }}clang-tidy.log ]
then
echo "::add-matcher::${{ runner.workspace }}/FreeCAD/.github/problemMatcher/clang.json"
cat ${{ env.logdir }}clang-tidy.log
echo "::remove-matcher owner=clang::"
clangTidyErrors=$(grep -nIHE "^(.+):([0-9]+):([0-9]+): error: .+$" ${{ env.logdir }}clang-tidy.log | wc -l ) || true
clangTidyWarnings=$(grep -nIHE "^(.+):([0-9]+):([0-9]+): warning: .+$" ${{ env.logdir }}clang-tidy.log | wc -l ) || true
clangTidyNotes=$(grep -nIHE "^(.+):([0-9]+):([0-9]+): note: .+$" ${{ env.logdir }}clang-tidy.log | wc -l ) || true
fi
echo "Found $clangTidyErrors errors, $clangTidyWarnings warnings, $clangTidyNotes notes"
# Write the report
if [ $clangTidyErrors -gt 0 ]
then
echo "<details><summary>:fire: Clang-Tidy found :fire: $clangTidyErrors errors, :warning: $clangTidyWarnings warnings and :pencil2: $clangTidyNotes notes</summary>" >> ${{env.reportdir}}${{ env.reportfilename }}
elif [ $clangTidyWarnings -gt 0 ]
then
echo "<details><summary>:warning: Clang-Tidy found :warning: $clangTidyWarnings warnings and :pencil2: $clangTidyNotes notes</summary>" >> ${{env.reportdir}}${{ env.reportfilename }}
elif [ $clangTidyNotes -gt 0 ]
then
echo "<details><summary>:pencil2: Clang-Tidy found :pencil2: $clangTidyNotes notes</summary>" >> ${{env.reportdir}}${{ env.reportfilename }}
else
echo "<details><summary>:heavy_check_mark: Clang-Tidy found no errors, warnings or notes</summary>" >> ${{env.reportdir}}${{ env.reportfilename }}
fi
echo "" >> ${{env.reportdir}}${{ env.reportfilename }}
# List enabled checks in the report
echo "<details><summary>:information_source: Enabled checks</summary>" >> ${{env.reportdir}}${{ env.reportfilename }}
echo "" >> ${{env.reportdir}}${{ env.reportfilename }}
echo '```' >> ${{env.reportdir}}${{ env.reportfilename }}
cat ${{ env.logdir }}clang-tidy-enabled-checks.log >> ${{env.reportdir}}${{ env.reportfilename }}
echo '```' >> ${{env.reportdir}}${{ env.reportfilename }}
echo "</details>" >> ${{env.reportdir}}${{ env.reportfilename }}
echo "" >> ${{env.reportdir}}${{ env.reportfilename }}
echo '```' >> ${{env.reportdir}}${{ env.reportfilename }}
cat ${{ env.logdir }}clang-tidy.log >> ${{env.reportdir}}${{ env.reportfilename }}
echo '```' >> ${{env.reportdir}}${{ env.reportfilename }}
echo "</details>" >> ${{env.reportdir}}${{ env.reportfilename }}
echo "" >> ${{env.reportdir}}${{ env.reportfilename }}
# Exit the step with appropriate code
[ $clangTidyErrors -eq 0 ]
- name: Clazy
if: inputs.checkClazy && inputs.changedCppFiles != '' && always()
continue-on-error: ${{ inputs.clazyFailSilent }}
run: |
clazyErrors=0
clazyWarnings=0
clazyNotes=0
sudo apt-get install -y --no-install-recommends clazy
#TODO: check where this "clazy.yaml" goes ; shall this be put in the fixes ?
# Run clazy on all cpp files
clazy-standalone --export-fixes=clazy.yaml -checks=${{ inputs.clazyChecks }} -p build/ ${{ inputs.changedCppFiles }} &>> ${{ env.logdir }}clazy.log || true
# If clazy has run successfully, write the Log to the console with the Problem Matchers
if [ -f ${{ env.logdir }}clazy.log ]
then
echo "::add-matcher::${{ runner.workspace }}/FreeCAD/.github/problemMatcher/clang.json"
cat ${{ env.logdir }}clazy.log
echo "::remove-matcher owner=clang::"
clazyErrors=$(grep -nIHE "^(.+):([0-9]+):([0-9]+): error: .+$" ${{ env.logdir }}clazy.log | wc -l ) || true
clazyWarnings=$(grep -nIHE "^(.+):([0-9]+):([0-9]+): warning: .+$" ${{ env.logdir }}clazy.log | wc -l ) || true
clazyNotes=$(grep -nIHE "^(.+):([0-9]+):([0-9]+): note: .+$" ${{ env.logdir }}clazy.log | wc -l ) || true
fi
echo "Found $clazyErrors errors, $clazyWarnings warnings, $clazyNotes notes"
# Write the report
if [ "$clazyErrors" -gt 0 ]
then
echo "<details><summary>:fire: Clazy found :fire: $clazyErrors errors, :warning: $clazyWarnings warnings and :pencil2: $clazyNotes notes</summary>" >> ${{env.reportdir}}${{ env.reportfilename }}
elif [ "$clazyWarnings" -gt 0 ]
then
echo "<details><summary>:warning: Clazy found :warning: $clazyWarnings warnings and :pencil2: $clazyNotes notes</summary>" >> ${{env.reportdir}}${{ env.reportfilename }}
elif [ "$clazyNotes" -gt 0 ]
then
echo "<details><summary>:pencil2: Clazy found :pencil2: $clazyNotes notes</summary>" >> ${{env.reportdir}}${{ env.reportfilename }}
else
echo "<details><summary>:heavy_check_mark: Clazy found no errors, warnings or notes</summary>" >> ${{env.reportdir}}${{ env.reportfilename }}
fi
echo "" >> ${{env.reportdir}}${{ env.reportfilename }}
echo "[List of checks](https://github.com/KDE/clazy#list-of-checks), [This explains some of the clazy warnings](https://www.kdab.com/uncovering-32-qt-best-practices-compile-time-clazy/) " >> ${{env.reportdir}}${{ env.reportfilename }}
echo '```' >> ${{env.reportdir}}${{ env.reportfilename }}
cat ${{ env.logdir }}clazy.log >> ${{env.reportdir}}${{ env.reportfilename }}
echo '```' >> ${{env.reportdir}}${{ env.reportfilename }}
echo "</details>" >> ${{env.reportdir}}${{ env.reportfilename }}
echo "" >> ${{env.reportdir}}${{ env.reportfilename }}
# Exit the step with appropriate code
[ $clazyErrors -eq 0 ]
- name: Clazy-QT6
if: inputs.checkClazyQT6 && inputs.changedCppFiles != '' && github.ref == inputs.QT6Branch && always()
continue-on-error: ${{ inputs.clazyQT6FailSilent }}
run: |
clazyQT6Errors=0
clazyQT6Warnings=0
clazyQT6Notes=0
sudo apt-get install -y --no-install-recommends clazy
#TODO: check where this "clazyQT6.yaml" goes ; shall this be put in the fixes ?
# Run clazy checks for Qt6 on all cpp files
clazy-standalone --export-fixes=clazyQT6.yaml -checks=${{ inputs.clazyQT6Checks }} -p build/ ${{ inputs.changedCppFiles }} &>> ${{ env.logdir }}clazyQT6.log || true
# If clazy has run successfully, write the Log to the console with the Problem Matchers
if [ -f ${{ env.logdir }}clazyQT6.log ]
then
echo "::add-matcher::${{ runner.workspace }}/FreeCAD/.github/problemMatcher/clang.json"
cat ${{ env.logdir }}clazyQT6.log
echo "::remove-matcher owner=clang::"
clazyQT6Errors=$(grep -nIHE "^(.+):([0-9]+):([0-9]+): error: .+$" ${{ env.logdir }}clazyQT6.log | wc -l ) || true
clazyQT6Warnings=$(grep -nIHE "^(.+):([0-9]+):([0-9]+): warning: .+$" ${{ env.logdir }}clazyQT6.log | wc -l ) || true
clazyQT6Notes=$(grep -nIHE "^(.+):([0-9]+):([0-9]+): note: .+$" ${{ env.logdir }}clazyQT6.log | wc -l ) || true
fi
echo "Found $clazyQT6Errors errors, $clazyQT6Warnings warnings, $clazyQT6Notes notes"
# Write the report
if [ "$clazyQT6Errors" -gt 0 ]
then
echo "<details><summary>:fire: Clazy found :fire: $clazyQT6Errors errors, :warning: $clazyQT6Warnings warnings and :pencil2: $clazyQT6Notes notes for porting to QT6</summary>" >> ${{env.reportdir}}${{ env.reportfilename }}
elif [ "$clazyQT6Warnings" -gt 0 ]
then
echo "<details><summary>:warning: Clazy found :warning: $clazyQT6Warnings warnings and :pencil2: $clazyQT6Notes notes for porting to QT6</summary>" >> ${{env.reportdir}}${{ env.reportfilename }}
elif [ "$clazyNotes" -gt 0 ]
then
echo "<details><summary>:pencil2: Clazy found :pencil2: $clazyQT6Notes notes for porting to QT6</summary>" >> ${{env.reportdir}}${{ env.reportfilename }}
else
echo "<details><summary>:heavy_check_mark: Clazy found no errors, warnings or notes for porting to QT6</summary>" >> ${{env.reportdir}}${{ env.reportfilename }}
fi
echo "" >> ${{env.reportdir}}${{ env.reportfilename }}
echo '```' >> ${{env.reportdir}}${{ env.reportfilename }}
cat ${{ env.logdir }}clazyQT6.log >> ${{env.reportdir}}${{ env.reportfilename }}
echo '```' >> ${{env.reportdir}}${{ env.reportfilename }}
echo "</details>" >> ${{env.reportdir}}${{ env.reportfilename }}
echo "" >> ${{env.reportdir}}${{ env.reportfilename }}
# Exit the step with appropriate code
[ $clazyQT6Errors -eq 0 ]
- name: Upload logs and fixes
if: always()
uses: actions/upload-artifact@v3
with:
name: ${{ inputs.artifactBasename }}-Logs
path: |
${{ env.logdir }}
${{ env.fixesdir }}
- name: Upload report
if: always()
uses: actions/upload-artifact@v3
with:
name: ${{ env.reportfilename }}
path: |
${{env.reportdir}}${{ env.reportfilename }}
+162
View File
@@ -0,0 +1,162 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
# ***************************************************************************
# * *
# * Copyright (c) 2023 0penBrain. *
# * *
# * This file is part of FreeCAD. *
# * *
# * FreeCAD is free software: you can redistribute it and/or modify it *
# * under the terms of the GNU Lesser General Public License as *
# * published by the Free Software Foundation, either version 2.1 of the *
# * License, or (at your option) any later version. *
# * *
# * FreeCAD is distributed in the hope that it will be useful, but *
# * WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
# * Lesser General Public License for more details. *
# * *
# * You should have received a copy of the GNU Lesser General Public *
# * License along with FreeCAD. If not, see *
# * <https://www.gnu.org/licenses/>. *
# * *
# ***************************************************************************
# This is the pre-check workflow for CI of FreeCAD.
# It aims at running some basic checks about the workflow run ...
# ... and gathering some data needed for the next steps.
name: Prepare
on:
workflow_call:
inputs:
artifactBasename:
type: string
required: true
dontFailOnOldRebase:
default: true
type: boolean
required: false
maxRebaseHours:
default: "48"
type: string
required: false
outputs:
reportFile:
value: ${{ jobs.Prepare.outputs.reportFile }}
changedFiles:
value: ${{ jobs.Prepare.outputs.changedFiles }}
changedPythonFiles:
value: ${{ jobs.Prepare.outputs.changedPythonFiles }}
changedCppFiles:
value: ${{ jobs.Prepare.outputs.changedCppFiles }}
jobs:
Prepare:
env:
isPR: ${{ github.event_name == 'pull_request' }}
isPush: ${{ github.event_name == 'push' }}
logdir: /tmp/logs/
reportdir: /tmp/report/
reportfilename: ${{ inputs.artifactBasename }}-report.md
runs-on: ubuntu-latest
defaults:
run:
shell: bash
outputs:
reportFile: ${{ steps.Init.outputs.reportFile }}
changedFiles: ${{ steps.Output.outputs.changedFiles }}
changedPythonFiles: ${{ steps.Output.outputs.changedPythonFiles }}
changedCppFiles: ${{ steps.Output.outputs.changedCppFiles }}
steps:
- name: Make needed directories, files and initializations
id: Init
run: |
mkdir -p ${{ env.logdir }}
mkdir -p ${{ env.reportdir }}
commitCnt=0
touch ${{ env.logdir }}changedFiles.lst ${{ env.logdir }}changedCppFiles.lst ${{ env.logdir }}changedPythonFiles.lst
echo "reportFile=${{ env.reportfilename }}" >> $GITHUB_OUTPUT
- name: Determine base and head SHA in case of PR
if: env.isPR == 'true'
run: |
baseSha=${{ github.event.pull_request.base.sha }}
headSha=${{ github.event.pull_request.head.sha }}
echo "baseSha=$baseSha" >> $GITHUB_ENV
echo "headSha=$headSha" >> $GITHUB_ENV
echo "This CI run is performed on a Pull Request" | tee -a ${{env.reportdir}}${{ env.reportfilename }}
echo "Base SHA is $baseSha, Head SHA is $headSha" | tee -a ${{env.reportdir}}${{ env.reportfilename }}
- name: Check if PR has been recently rebased
if: env.isPR == 'true'
continue-on-error: ${{ inputs.dontFailOnOldRebase }}
run: |
baseDate=$(curl -H "Accept: application/vnd.github+json" -H "authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" $GITHUB_API_URL/repos/$GITHUB_REPOSITORY/commits/$baseSha | jq -r '.commit.committer.date')
dateDiff=$(( ( $(date +%s) - $(date -d $baseDate +%s) ) / 3600 ))
echo "Pull request is based on a $dateDiff hour-old commit" | tee -a ${{env.reportdir}}${{ env.reportfilename }}
# Exit the step with appropriate code
if [ $dateDiff -gt ${{ inputs.maxRebaseHours }} ]
then
echo -n ":warning: Pull request should be rebased" | tee -a ${{env.reportdir}}${{ env.reportfilename }}
exit 1
fi
- name: Determine base and head SHA in case of push
if: env.isPush == 'true'
run: |
baseSha=${{ github.event.before }}
headSha=${{ github.event.after }}
echo "headSha=$headSha" >> $GITHUB_ENV
if [ $baseSha -eq 0 ]
then
echo "This CI run is performed on a Push that created a new branch : files changed will be ignored" | tee -a ${{env.reportdir}}${{ env.reportfilename }}
echo "Head SHA is $headSha" | tee -a ${{env.reportdir}}${{ env.reportfilename }}
echo "isPush='false'" >> $GITHUB_ENV
else
echo "This CI run is performed on a Push" | tee -a ${{env.reportdir}}${{ env.reportfilename }}
echo "Base SHA is $baseSha, Head SHA is $headSha" | tee -a ${{env.reportdir}}${{ env.reportfilename }}
echo "baseSha=$baseSha" >> $GITHUB_ENV
fi
- name: Get compare between head and base
if: env.isPR == 'true' || env.isPush == 'true'
run: |
echo "$GITHUB_API_URL/repos/$GITHUB_REPOSITORY/compare/$baseSha...$headSha"
curl -H "Accept: application/vnd.github+json" -H "authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" $GITHUB_API_URL/repos/$GITHUB_REPOSITORY/compare/$baseSha...$headSha > ${{ env.logdir }}compare.json
- name: Get number of commits in the changeset
if: env.isPR == 'true' || env.isPush == 'true'
run: |
commitCnt=$(jq -re '.ahead_by' ${{ env.logdir }}compare.json)
echo "Changeset is composed of $commitCnt commit(s)" | tee -a ${{env.reportdir}}${{ env.reportfilename }}
- name: Get files modified in changeset #TODO check what happens with deleted file in the subsequent process
if: env.isPR == 'true' || env.isPush == 'true'
run: |
jq '.files[] | if .status != "removed" then .filename else empty end' ${{ env.logdir }}compare.json > ${{ env.logdir }}changedFiles.lst
grep -E '\.(py|py3)"' ${{ env.logdir }}changedFiles.lst > ${{ env.logdir }}changedPythonFiles.lst || true
grep -E '\.(c|c\+\+|cc|cpp|cu|cuh|cxx|h|h\+\+|hh|hpp|hxx)"' ${{ env.logdir }}changedFiles.lst > ${{ env.logdir }}changedCppFiles.lst || true
# Write the report
echo "::group::Modified files in changeset (removed files are ignored) :" ; cat ${{ env.logdir }}changedFiles.lst ; echo "::endgroup::"
echo "<details><summary>Modified files (removed files are ignored):</summary>" >> ${{env.reportdir}}${{ env.reportfilename }}
cat ${{ env.logdir }}changedFiles.lst >> ${{env.reportdir}}${{ env.reportfilename }}
echo "</details>" >> ${{env.reportdir}}${{ env.reportfilename }}
echo "" >> ${{env.reportdir}}${{ env.reportfilename }}
- name: Transmitting outputs
id: Output
run: |
echo "changedFiles=$(cat ${{ env.logdir }}changedFiles.lst | tr '\n' ' ')" >> $GITHUB_OUTPUT
echo "changedPythonFiles=$(cat ${{ env.logdir }}changedPythonFiles.lst | tr '\n' ' ')" >> $GITHUB_OUTPUT
echo "changedCppFiles=$(cat ${{ env.logdir }}changedCppFiles.lst | tr '\n' ' ')" >> $GITHUB_OUTPUT
echo "" >> $GITHUB_OUTPUT
- name: Upload logs
if: always()
uses: actions/upload-artifact@v3
with:
name: ${{ inputs.artifactBasename }}-Logs
path: |
${{ env.logdir }}
- name: Upload report
if: always()
uses: actions/upload-artifact@v3
with:
name: ${{ env.reportfilename }}
path: |
${{env.reportdir}}${{ env.reportfilename }}
+117
View File
@@ -0,0 +1,117 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
# ***************************************************************************
# * *
# * Copyright (c) 2023 0penBrain. *
# * *
# * This file is part of FreeCAD. *
# * *
# * FreeCAD is free software: you can redistribute it and/or modify it *
# * under the terms of the GNU Lesser General Public License as *
# * published by the Free Software Foundation, either version 2.1 of the *
# * License, or (at your option) any later version. *
# * *
# * FreeCAD is distributed in the hope that it will be useful, but *
# * WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
# * Lesser General Public License for more details. *
# * *
# * You should have received a copy of the GNU Lesser General Public *
# * License along with FreeCAD. If not, see *
# * <https://www.gnu.org/licenses/>. *
# * *
# ***************************************************************************
# This is a generic wrapup workflow that only aims at gathering reports and ...
# ... presenting them as a unified summary
#
# It expects steps to be summarized to be presented a JSON input formatted ...
# ... as the "needs" context of Github :
# https://docs.github.com/en/actions/learn-github-actions/contexts#needs-context
# In addition to standard "result", each step shall have a string entry in "outputs" ...
# ... named "reportFile" containing the name of the corresponding report. The ...
# ... report file shall be available in an artifact with the same name.
name: WrapUp
on:
workflow_call:
inputs:
previousSteps:
type: string
required: true
jobs:
WrapUp:
runs-on: ubuntu-latest
env:
artifactsDownloadDir: /tmp/artifacts/
defaults:
run:
shell: bash
steps:
- name: Make needed directories, files and initializations
run: |
mkdir -p ${{ env.artifactsDownloadDir }}
- name: Download artifacts
uses: actions/download-artifact@v3
with:
path: ${{ env.artifactsDownloadDir }}
- name: Save input data to file
run: |
cat > data << "EOD"
${{ inputs.previousSteps }}
EOD
- name: Compute the report
run: |
echo "usedArtifacts<<EOD" >> $GITHUB_ENV
for step in $(jq -r "keys_unsorted | .[]" data)
do
echo "Processing step $step"
result=$(jq -r ".\"$step\".result" data)
icon=":heavy_check_mark:"
if [ $result == 'failure' ]
then
icon=":x:"
elif [ $result == 'cancelled' ]
then
icon=":no_entry_sign:"
elif [ $result == 'skipped' ]
then
icon=":white_check_mark:"
fi
echo "### $icon $step step" >> report.md
if [ $result == 'skipped' ]
then
echo "Step was skipped, no report was generated" | tee -a report.md
continue
elif [ $result == 'cancelled' ]
then
echo "Step was cancelled when executing, report may be incomplete" | tee -a report.md
fi
report=$(jq -r ".\"$step\".outputs.reportFile" data)
if [ $report ]
then
echo "Report for step $step is $report"
echo "$report" >> $GITHUB_ENV
if [ $(find ${{ env.artifactsDownloadDir }} -type f -name $report | wc -l) -eq 1 ]
then
find ${{ env.artifactsDownloadDir }} -type f -name $report -exec cat {} \; >> report.md
else
echo "No or several files found for report $report, not printing" | tee -a report.md
echo "Below files found :"
find ${{ env.artifactsDownloadDir }} -type f -name $report
fi
else
echo "Report file was not set by step $step" | tee -a report.md
fi
echo "" >> report.md
done
echo "EOD" >> $GITHUB_ENV
cat report.md >> $GITHUB_STEP_SUMMARY
- name: Delete used artifacts
continue-on-error: true
uses: geekyeggo/delete-artifact@v2
with:
name: |
${{ env.usedArtifacts }}
+9 -4
View File
@@ -1,16 +1,22 @@
# file types to ignore
.*
!/.gitignore
!/.clang-format
!/.git-blame-ignore-revs
!/.gitattributes
*.DS_Store
*.pyc
*.obj
*.lib
*.pch
*.vcproj
*.kdev4
*.exp
*.dep
*.manifest
*.o
*.orig
*.output
qrc_*.cpp
BuildLog.htm
cmake_install.cmake
@@ -31,13 +37,12 @@ install_manifest.txt
/Mod/
/ZERO_CHECK.dir/
/build/
/cmake-build*/
/src/Tools/offlinedoc/localwiki/
/src/Tools/offlinedoc/*.txt
/conda/environment.yml
OpenSCAD_rc.py
/\.idea/
.tags
tags
/\.vscode/
# crowdin file
src/Tools/freecad.zip
-3
View File
@@ -1,3 +0,0 @@
Wrn:
Err:
Cannot find icon:
+33
View File
@@ -0,0 +1,33 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
files: |
(?x)^(
tests/src
)
exclude: |
(?x)^(
.*vcproj.*|
.*vcxproj.*|
src|
tests/src
)
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.4.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- id: check-added-large-files
- id: mixed-line-ending
- repo: https://github.com/psf/black
rev: 22.12.0
hooks:
- id: black
args: ['--line-length', '100']
- repo: https://github.com/pre-commit/mirrors-clang-format
rev: v15.0.7
hooks:
- id: clang-format
+614
View File
@@ -0,0 +1,614 @@
[MAIN]
# Analyse import fallback blocks. This can be used to support both Python 2 and
# 3 compatible code, which means that the block might have code that exists
# only in one or another interpreter, leading to false positives when analysed.
analyse-fallback-blocks=yes
# Load and enable all available extensions. Use --list-extensions to see a list
# all available extensions.
#enable-all-extensions=
# In error mode, messages with a category besides ERROR or FATAL are
# suppressed, and no reports are done by default. Error mode is compatible with
# disabling specific errors.
#errors-only=
# Always return a 0 (non-error) status code, even if lint errors are found.
# This is primarily useful in continuous integration scripts.
#exit-zero=
# A comma-separated list of package or module names from where C extensions may
# be loaded. Extensions are loading into the active Python interpreter and may
# run arbitrary code.
extension-pkg-allow-list=
# A comma-separated list of package or module names from where C extensions may
# be loaded. Extensions are loading into the active Python interpreter and may
# run arbitrary code. (This is an alternative name to extension-pkg-allow-list
# for backward compatibility.)
extension-pkg-whitelist=
# Return non-zero exit code if any of these messages/categories are detected,
# even if score is above --fail-under value. Syntax same as enable. Messages
# specified are enabled, while categories only check already-enabled messages.
fail-on=
# Specify a score threshold to be exceeded before program exits with error.
fail-under=10
# Interpret the stdin as a python script, whose filename needs to be passed as
# the module_or_package argument.
#from-stdin=
# Files or directories to be skipped. They should be base names, not paths.
ignore=CVS
# Add files or directories matching the regex patterns to the ignore-list. The
# regex matches against paths and can be in Posix or Windows format.
ignore-paths=
# Files or directories matching the regex patterns are skipped. The regex
# matches against base names, not paths. The default value ignores Emacs file
# locks
ignore-patterns=^\.#
# List of module names for which member attributes should not be checked
# (useful for modules/projects where namespaces are manipulated during runtime
# and thus existing member attributes cannot be deduced by static analysis). It
# supports qualified module names, as well as Unix pattern matching.
ignored-modules=FreeCAD,FreeCADGui
# Python code to execute, usually for sys.path manipulation such as
# pygtk.require().
#init-hook=
# Use multiple processes to speed up Pylint. Specifying 0 will auto-detect the
# number of processors available to use, and will cap the count on Windows to
# avoid hangs.
jobs=1
# Control the amount of potential inferred values when inferring a single
# object. This can help the performance when dealing with large functions or
# complex, nested conditions.
limit-inference-results=100
# List of plugins (as comma separated values of python module names) to load,
# usually to register additional checkers.
load-plugins=
# Pickle collected data for later comparisons.
persistent=yes
# Minimum Python version to use for version dependent checks. Will default to
# the version used to run pylint.
py-version=3.8
# Discover python modules and packages in the file system subtree.
recursive=no
# When enabled, pylint would attempt to guess common misconfiguration and emit
# user-friendly hints instead of false-positive error messages.
suggestion-mode=yes
# Allow loading of arbitrary C extensions. Extensions are imported into the
# active Python interpreter and may run arbitrary code.
unsafe-load-any-extension=no
# In verbose mode, extra non-checker-related info will be displayed.
#verbose=
[REPORTS]
# Python expression which should return a score less than or equal to 10. You
# have access to the variables 'fatal', 'error', 'warning', 'refactor',
# 'convention', and 'info' which contain the number of messages in each
# category, as well as 'statement' which is the total number of statements
# analyzed. This score is used by the global evaluation report (RP0004).
evaluation=max(0, 0 if fatal else 10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10))
# Template used to display messages. This is a python new-style format string
# used to format the message information. See doc for all details.
msg-template=
# Set the output format. Available formats are text, parseable, colorized, json
# and msvs (visual studio). You can also give a reporter class, e.g.
# mypackage.mymodule.MyReporterClass.
#output-format=
# Tells whether to display a full report or only the messages.
reports=yes
# Activate the evaluation score.
score=yes
[MESSAGES CONTROL]
# Only show warnings with the listed confidence levels. Leave empty to show
# all. Valid levels: HIGH, CONTROL_FLOW, INFERENCE, INFERENCE_FAILURE,
# UNDEFINED.
confidence=HIGH,
CONTROL_FLOW,
INFERENCE,
INFERENCE_FAILURE,
UNDEFINED
# Disable the message, report, category or checker with the given id(s). You
# can either give multiple identifiers separated by comma (,) or put this
# option multiple times (only on the command line, not in the configuration
# file where it should appear only once). You can also use "--disable=all" to
# disable everything first and then re-enable specific checks. For example, if
# you want to run only the similarities checker, you can use "--disable=all
# --enable=similarities". If you want to run only the classes checker, but have
# no Warning level messages displayed, use "--disable=all --enable=classes
# --disable=W".
disable=raw-checker-failed,
bad-inline-option,
locally-disabled,
file-ignored,
suppressed-message,
useless-suppression,
deprecated-pragma,
use-symbolic-message-instead,
invalid-name,
wrong-import-order,
import-error,
undefined-variable
# Enable the message, report, category or checker with the given id(s). You can
# either give multiple identifier separated by comma (,) or put this option
# multiple time (only on the command line, not in the configuration file where
# it should appear only once). See also the "--disable" option for examples.
enable=c-extension-no-member
[BASIC]
# Naming style matching correct argument names.
argument-naming-style=snake_case
# Regular expression matching correct argument names. Overrides argument-
# naming-style. If left empty, argument names will be checked with the set
# naming style.
#argument-rgx=
# Naming style matching correct attribute names.
attr-naming-style=snake_case
# Regular expression matching correct attribute names. Overrides attr-naming-
# style. If left empty, attribute names will be checked with the set naming
# style.
#attr-rgx=
# Bad variable names which should always be refused, separated by a comma.
bad-names=foo,
bar,
baz,
toto,
tutu,
tata
# Bad variable names regexes, separated by a comma. If names match any regex,
# they will always be refused
bad-names-rgxs=
# Naming style matching correct class attribute names.
class-attribute-naming-style=any
# Regular expression matching correct class attribute names. Overrides class-
# attribute-naming-style. If left empty, class attribute names will be checked
# with the set naming style.
#class-attribute-rgx=
# Naming style matching correct class constant names.
class-const-naming-style=UPPER_CASE
# Regular expression matching correct class constant names. Overrides class-
# const-naming-style. If left empty, class constant names will be checked with
# the set naming style.
#class-const-rgx=
# Naming style matching correct class names.
class-naming-style=PascalCase
# Regular expression matching correct class names. Overrides class-naming-
# style. If left empty, class names will be checked with the set naming style.
#class-rgx=
# Naming style matching correct constant names.
const-naming-style=UPPER_CASE
# Regular expression matching correct constant names. Overrides const-naming-
# style. If left empty, constant names will be checked with the set naming
# style.
#const-rgx=
# Minimum line length for functions/classes that require docstrings, shorter
# ones are exempt.
docstring-min-length=4
# Naming style matching correct function names.
function-naming-style=snake_case
# Regular expression matching correct function names. Overrides function-
# naming-style. If left empty, function names will be checked with the set
# naming style.
#function-rgx=
# Good variable names which should always be accepted, separated by a comma.
good-names=i,
j,
k,
ex,
Run,
_
# Good variable names regexes, separated by a comma. If names match any regex,
# they will always be accepted
good-names-rgxs=
# Include a hint for the correct naming format with invalid-name.
include-naming-hint=no
# Naming style matching correct inline iteration names.
inlinevar-naming-style=any
# Regular expression matching correct inline iteration names. Overrides
# inlinevar-naming-style. If left empty, inline iteration names will be checked
# with the set naming style.
#inlinevar-rgx=
# Naming style matching correct method names.
method-naming-style=snake_case
# Regular expression matching correct method names. Overrides method-naming-
# style. If left empty, method names will be checked with the set naming style.
#method-rgx=
# Naming style matching correct module names.
module-naming-style=snake_case
# Regular expression matching correct module names. Overrides module-naming-
# style. If left empty, module names will be checked with the set naming style.
#module-rgx=
# Colon-delimited sets of names that determine each other's naming style when
# the name regexes allow several styles.
name-group=
# Regular expression which should only match function or class names that do
# not require a docstring.
no-docstring-rgx=^_
# List of decorators that produce properties, such as abc.abstractproperty. Add
# to this list to register other decorators that produce valid properties.
# These decorators are taken in consideration only for invalid-name.
property-classes=abc.abstractproperty
# Regular expression matching correct type variable names. If left empty, type
# variable names will be checked with the set naming style.
#typevar-rgx=
# Naming style matching correct variable names.
variable-naming-style=snake_case
# Regular expression matching correct variable names. Overrides variable-
# naming-style. If left empty, variable names will be checked with the set
# naming style.
#variable-rgx=
[CLASSES]
# Warn about protected attribute access inside special methods
check-protected-access-in-special-methods=no
# List of method names used to declare (i.e. assign) instance attributes.
defining-attr-methods=__init__,
__new__,
setUp,
__post_init__
# List of member names, which should be excluded from the protected access
# warning.
exclude-protected=_asdict,
_fields,
_replace,
_source,
_make
# List of valid names for the first argument in a class method.
valid-classmethod-first-arg=cls
# List of valid names for the first argument in a metaclass class method.
valid-metaclass-classmethod-first-arg=cls
[REFACTORING]
# Maximum number of nested blocks for function / method body
max-nested-blocks=5
# Complete name of functions that never returns. When checking for
# inconsistent-return-statements if a never returning function is called then
# it will be considered as an explicit return statement and no message will be
# printed.
never-returning-functions=sys.exit,argparse.parse_error
[DESIGN]
# List of regular expressions of class ancestor names to ignore when counting
# public methods (see R0903)
exclude-too-few-public-methods=
# List of qualified class names to ignore when counting class parents (see
# R0901)
ignored-parents=
# Maximum number of arguments for function / method.
max-args=5
# Maximum number of attributes for a class (see R0902).
max-attributes=15
# Maximum number of boolean expressions in an if statement (see R0916).
max-bool-expr=5
# Maximum number of branch for function / method body.
max-branches=12
# Maximum number of locals for function / method body.
max-locals=15
# Maximum number of parents for a class (see R0901).
max-parents=7
# Maximum number of public methods for a class (see R0904).
max-public-methods=20
# Maximum number of return / yield for function / method body.
max-returns=6
# Maximum number of statements in function / method body.
max-statements=50
# Minimum number of public methods for a class (see R0903).
min-public-methods=1
[EXCEPTIONS]
# Exceptions that will emit a warning when caught.
overgeneral-exceptions=builtins.BaseException,
builtins.Exception
[FORMAT]
# Expected format of line ending, e.g. empty (any line ending), LF or CRLF.
expected-line-ending-format=
# Regexp for a line that is allowed to be longer than the limit.
ignore-long-lines=^\s*(# )?<?https?://\S+>?$
# Number of spaces of indent required inside a hanging or continued line.
indent-after-paren=4
# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1
# tab).
indent-string=' '
# Maximum number of characters on a single line.
max-line-length=100
# Maximum number of lines in a module.
max-module-lines=1000
# Allow the body of a class to be on the same line as the declaration if body
# contains single statement.
single-line-class-stmt=no
# Allow the body of an if to be on the same line as the test if there is no
# else.
single-line-if-stmt=no
[IMPORTS]
# List of modules that can be imported at any level, not just the top level
# one.
allow-any-import-level=
# Allow wildcard imports from modules that define __all__.
allow-wildcard-with-all=no
# Deprecated modules which should not be used, separated by a comma.
deprecated-modules=PySide2
# Output a graph (.gv or any supported image format) of external dependencies
# to the given file (report RP0402 must not be disabled).
ext-import-graph=
# Output a graph (.gv or any supported image format) of all (i.e. internal and
# external) dependencies to the given file (report RP0402 must not be
# disabled).
import-graph=
# Output a graph (.gv or any supported image format) of internal dependencies
# to the given file (report RP0402 must not be disabled).
int-import-graph=
# Force import order to recognize a module as part of the standard
# compatibility libraries.
known-standard-library=
# Force import order to recognize a module as part of a third party library.
known-third-party=enchant
# Couples of modules and preferred modules, separated by a comma.
preferred-modules=
[LOGGING]
# The type of string formatting that logging methods do. `old` means using %
# formatting, `new` is for `{}` formatting.
logging-format-style=old
# Logging modules to check that the string format arguments are in logging
# function parameter format.
logging-modules=logging
[MISCELLANEOUS]
# List of note tags to take in consideration, separated by a comma.
notes=FIXME,
XXX,
TODO
# Regular expression of note tags to take in consideration.
notes-rgx=
[SIMILARITIES]
# Comments are removed from the similarity computation
ignore-comments=yes
# Docstrings are removed from the similarity computation
ignore-docstrings=yes
# Imports are removed from the similarity computation
ignore-imports=yes
# Signatures are removed from the similarity computation
ignore-signatures=yes
# Minimum lines number of a similarity.
min-similarity-lines=4
[SPELLING]
# Limits count of emitted suggestions for spelling mistakes.
max-spelling-suggestions=4
# Spelling dictionary name. Available dictionaries: none. To make it work,
# install the 'python-enchant' package.
spelling-dict=
# List of comma separated words that should be considered directives if they
# appear at the beginning of a comment and should not be checked.
spelling-ignore-comment-directives=fmt: on,fmt: off,noqa:,noqa,nosec,isort:skip,mypy:
# List of comma separated words that should not be checked.
spelling-ignore-words=
# A path to a file that contains the private dictionary; one word per line.
spelling-private-dict-file=
# Tells whether to store unknown words to the private dictionary (see the
# --spelling-private-dict-file option) instead of raising a message.
spelling-store-unknown-words=no
[STRING]
# This flag controls whether inconsistent-quotes generates a warning when the
# character used as a quote delimiter is used inconsistently within a module.
check-quote-consistency=no
# This flag controls whether the implicit-str-concat should generate a warning
# on implicit string concatenation in sequences defined over several lines.
check-str-concat-over-line-jumps=no
[TYPECHECK]
# List of decorators that produce context managers, such as
# contextlib.contextmanager. Add to this list to register other decorators that
# produce valid context managers.
contextmanager-decorators=contextlib.contextmanager
# List of members which are set dynamically and missed by pylint inference
# system, and so shouldn't trigger E1101 when accessed. Python regular
# expressions are accepted.
generated-members=
# Tells whether to warn about missing members when the owner of the attribute
# is inferred to be None.
ignore-none=yes
# This flag controls whether pylint should warn about no-member and similar
# checks whenever an opaque object is returned when inferring. The inference
# can return multiple potential results while evaluating a Python object, but
# some branches might not be evaluated, which results in partial inference. In
# that case, it might be useful to still emit no-member and other checks for
# the rest of the inferred objects.
ignore-on-opaque-inference=yes
# List of symbolic message names to ignore for Mixin members.
ignored-checks-for-mixins=no-member,
not-async-context-manager,
not-context-manager,
attribute-defined-outside-init
# List of class names for which member attributes should not be checked (useful
# for classes with dynamically set attributes). This supports the use of
# qualified names.
ignored-classes=optparse.Values,thread._local,_thread._local,argparse.Namespace
# Show a hint with possible names when a member name was not found. The aspect
# of finding the hint is based on edit distance.
missing-member-hint=yes
# The minimum edit distance a name should have in order to be considered a
# similar match for a missing member name.
missing-member-hint-distance=1
# The total number of similar names that should be taken in consideration when
# showing a hint for a missing member.
missing-member-max-choices=1
# Regex pattern to define which classes are considered mixins.
mixin-class-rgx=.*[Mm]ixin
# List of decorators that change the signature of a decorated function.
signature-mutators=
[VARIABLES]
# List of additional names supposed to be defined in builtins. Remember that
# you should avoid defining new builtins when possible.
additional-builtins=
# Tells whether unused global variables should be treated as a violation.
allow-global-unused-variables=yes
# List of names allowed to shadow builtins
allowed-redefined-builtins=
# List of strings which can identify a callback function by name. A callback
# name must start or end with one of those strings.
callbacks=cb_,
_cb
# A regular expression matching the name of dummy variables (i.e. expected to
# not be used).
dummy-variables-rgx=_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_
# Argument names that match this expression will be ignored. Default to name
# with leading underscore.
ignored-argument-names=_.*|^ignored_|^unused_
# Tells whether we should check for unused import in __init__ files.
init-import=no
# List of qualified module names which can have objects that can redefine
# builtins.
redefining-builtins-modules=six.moves,past.builtins,future.builtins,builtins,io
-357
View File
@@ -1,357 +0,0 @@
######
#
# Travis-CI configuration file for FreeCAD.
#
# This build configuration will build and test FreeCAD on both Linux
# and Mac OS X. For Mac OS X, this configuration will also package
# and deploy the build to GitHub provided the following prerequisites
# are satisfied:
#
# GH_TOKEN is defined as a secure environment variable and contains a
# a valid GitHub OAUTH token with repo_deployment scope.
# NOTE: Define this env using the Travis-CI Repo Settings UI
#
# FREECAD_RELEASE: A GitHub Release with this identifier exists in the
# repo. The Travis job will deploy the OS X build to this
# GitHub release name as a release asset.
#
# DEPLOY: Repo setting to deploy (defaults to no deploy to reduce
# Travis build times. Set DEPLOY=1 to enable in repo settings.
######
env:
global:
- GENERATOR="Unix Makefiles"
- CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE:-Release}
# - FREECAD_RELEASE="0.18"
# - DEPLOY_RELEASE=${DEPLOY_RELEASE:-$FREECAD_RELEASE}
# - OSX_PORTS_CACHE=${OSX_PORTS_CACHE:-FreeCAD/FreeCAD-ports-cache}
# - DEPLOY=${DEPLOY:-0}
# jobs:
# chunk.io key (if needed, obtain it with Yorik, PrzemoF, Kunda1)
# secure: MJu0ZU/9Yqut6bUkHoSrXTV/c/WhCLR0KnHKCsnEU081PYoukzH6ngzgKk7/trAH2In080d/ra4B2OmTNl/LAgV6DXKFY9dO1aG8QwcrHgaMPf0pHYUy/OfwQSFYFByQDV2OEMAHcIWc/dtNkzK2QUi44Kn7d0GtSEiN4s816lriWtjg0vmEGAU8MjvcAGss4gKyn05Xm1NUCYPKgpgIHsywLbpE76lv0eOYoosEuKv5Q9Pb4FMQts02+JUlqE8eY4ZZ3nV8iQbgIDdseOSA7Ixn05zWjU/ZRZ74TrYxMnzfUAwQcJe9OcqoESq+pPWQt5HYG66VmeVxQim1gmsiDASH51U/nswKt0Q4bISj3tVk0YZMFV8Ax+SzPvLEmFZJQGfgO1mg7HdNcz9N9G5JHPawrV19DwYIEFbAw8MCSAoIXFOcPQZUWXCbtjm7NO9vCjMrqyVJMDD9L8omvQajHoajuHbOT8KB250gFokeLj3z8yu++Tz+IrZX5inUMrXsARVt/ALXpi8rJPXmoFMpMUjyWmDPqPWlnqUhLtTtEtKpuOWP8ZnWVwkg4QYOUhCy95C1okJSGkG+ylHWncWfY4mS+UBT525laoh+GOhH+sRW+p2xkI21xGFRqg1oHjjgY1yIYF6nnSHPzxMBRYmZwagyXsjkFG5FPMWR2oYk0Yg
git:
depth: 5000
notifications:
email: false
webhooks:
urls:
- https://webhooks.gitter.im/e/479456663cdf5c84e4d8
on_success: always
on_failure: always
on_start: change
# Inject osx build into matrix - needed to specify image/dist
jobs:
# allow_failures:
# - python: 3.7
fast_finish: true # https://blog.travis-ci.com/2013-11-27-fast-finishing-builds
include:
- if: type != pull_request
os: linux
dist: bionic
language: cpp
compiler: clang
cache: ccache
addons:
apt:
sources:
- sourceline: 'ppa:ubuntu-toolchain-r/test'
- sourceline: 'deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-10 main'
key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
packages:
- clang-10
env:
- CC=clang-10
- CXX=clang++-10
- CMAKE_ARGS="-DPYTHON_EXECUTABLE=/usr/bin/python3 -DBUILD_FEM_NETGEN=ON"
- CACHE_NAME=JOB1
- os: linux
dist: bionic
language: cpp
compiler: gcc-10
cache: ccache
addons:
apt:
sources:
- sourceline: 'ppa:ubuntu-toolchain-r/test'
packages:
- gcc-10
- g++-10
env:
- CC=gcc-10
- CXX=g++-10
- CC_FOR_BUILD=gcc-10
- CXX_FOR_BUILD=g++-10
- CMAKE_ARGS="-DCMAKE_CXX_COMPILER=/usr/bin/c++ -DCMAKE_C_COMPILER=/usr/bin/cc -DPYTHON_EXECUTABLE=/usr/bin/python3 -DBUILD_FEM_NETGEN=ON"
- CACHE_NAME=JOB2
# - os: osx
# osx_image: xcode11.6
# language: cpp
# cache:
# - ccache: true
# - directories:
# - $HOME/.ccache
# - $HOME/Library/Caches/Homebrew
# - /usr/local/Homebrew
# env:
# - CMAKE_OPTS="-DBUILD_QT5=ON -DBUILD_ENABLE_CXX_STD='C++17' -DUSE_PYTHON3=1 -DCMAKE_CXX_FLAGS='-Wno-deprecated-declarations' -DBUILD_FEM_NETGEN=1 -DBUILD_FEM=1 -DBUILD_TECHDRAW=0 -DCMAKE_PREFIX_PATH='/usr/local/opt/qt/lib/cmake;/usr/local/opt/nglib/Contents/Resources' -DBUILD_FEM_NETGEN:BOOL=ON -DFREECAD_USE_EXTERNAL_KDL=ON -DCMAKE_BUILD_TYPE=Release"
# - PATH=/usr/local/bin:$PATH
# - CACHE_NAME=OSX1
- os: windows
language: cpp
env:
- CMAKE_OPTS="-DBUILD_FEM_NETGEN=OFF -DFREECAD_RELEASE_PDB=OFF -DFREECAD_RELEASE_SEH=OFF"
- GENERATOR="Visual Studio 15 2017 Win64"
- PYTHON_MAJOR_VERSION=3
- MSBUILD_PATH="c:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin"
- TEST_PATH="C:\Users\travis\build\FreeCAD\FreeCAD\build\bin"
- CLCACHE_PATH="C:\Users\travis\build\FreeCAD\FreeCAD"
- VS15=true
- CCACHE_TEMPDIR=/tmp/.ccache-temp
- CCACHE_COMPRESS=1
- CCACHE_DIR=$HOME/.ccache
- CACHE_NAME=JOB5
# enable this if clcache extended log is needed
#- CLCACHE_LOG=1
cache:
directories:
- $HOME/clcache
# - language: python
# python: 3.7
# dist: xenial # required for Python >= 3.7 (travis-ci/travis-ci#9069)
# before_install: true
# install: python3 -m pip install flake8
# # fail the build if there are Python syntax errors or undefined names
# script: flake8 . --count --select=E901,E999,F821,F822,F823 --show-source --statistics
before_cache:
- if [ "${TRAVIS_OS_NAME}" = "osx" ]; then brew cleanup; fi
- if [ "${TRAVIS_OS_NAME}" = "osx" ]; then find /usr/local/Homebrew \! -regex ".+\.git.+" -delete; fi
before_install:
# - eval "$(curl -fsSL "https://raw.githubusercontent.com/${OSX_PORTS_CACHE}/v${FREECAD_RELEASE}/travis-helpers.sh")"
- |
case "${TRAVIS_OS_NAME}" in
"linux")
# Daily PPA for OCCT, Pivy, Netgen, PySide ... packages
sudo apt-add-repository -y ppa:freecad-maintainers/freecad-daily
sudo apt-get update -qq
# Build deps
sudo apt-get install -y --no-install-recommends \
python-dev \
python-pyside \
python-matplotlib \
python3-dev \
python3-pyside \
python3-matplotlib \
libboost1.65-dev \
libboost-filesystem1.65-dev \
libboost-program-options1.65-dev \
libboost-python1.65-dev \
libboost-regex1.65-dev \
libboost-signals1.65-dev \
libboost-system1.65-dev \
libboost-thread1.65-dev \
libxerces-c-dev \
libocct-data-exchange-dev \
libocct-ocaf-dev \
libocct-visualization-dev \
libvtk7-dev \
libmedc-dev \
pybind11-dev \
swig \
qt4-qmake \
libqt4-opengl-dev \
libqtwebkit-dev \
qtbase5-dev \
libqt5xmlpatterns5-dev \
libqt5svg5-dev \
libqt5opengl5-dev \
qttools5-dev \
qtwebengine5-dev \
libcoin80-dev \
libpyside-dev \
libpyside2-dev \
libshiboken-dev \
libshiboken2-dev \
pyside-tools \
pyside2-tools \
doxygen \
graphviz \
libnglib-dev \
netgen \
netgen-headers \
libmetis-dev \
libspnav-dev
# Runtime deps
sudo apt-get install -y --no-install-recommends freecad-daily-python3 python-pivy python3-pivy python-ply python3-ply
# Use newer Eigen to suppress warnings
# https://github.com/FreeCAD/FreeCAD/pull/3485
wget http://mirrors.kernel.org/ubuntu/pool/universe/e/eigen3/libeigen3-dev_3.3.7-2_all.deb
sudo dpkg -i libeigen3-dev_3.3.7-2_all.deb
export DISPLAY=:99.0
sh -e /etc/init.d/xvfb start
export INSTALLED_APP_PATH="/usr/local/bin/FreeCAD"
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/netgen/:$LD_LIRBARY_PATH
;;
"osx")
xcodebuild -version -sdk
brew --config
brew install ccache
brew install coreutils
brew update >/dev/null
brew --config
brew update
brew upgrade
brew install python@3.9
brew unlink python@3.8
brew link --overwrite --force python@3.9
rm /usr/local/bin/python
ln -s /usr/local/bin/python3 /usr/local/bin/python
pip3 install six
pip3 install pyyaml
pip3 install ply
export PATH=/usr/local/bin:$PATH
brew reinstall vtk@8.2
brew link --force vtk@8.2
which python
python --version
brew install boost
brew install boost-python3
brew tap FreeCAD/freecad
brew install freecad/freecad/coin
brew install freecad/freecad/nglib
brew install freecad/freecad/med-file
brew install freecad/freecad/opencamlib
brew install freecad/freecad/shiboken2
brew install freecad/freecad/pyside2
brew install freecad/freecad/pyside2-tools
brew install freecad/freecad/pivy
brew install freecad/freecad/matplotlib
##Install the 3DConnexion frameworks
if [ ! -d /Library/Frameworks/3DconnexionClient.framework ]; then
curl -o /tmp/3dFW.dmg -L 'https://download.3dconnexion.com/drivers/mac/10-6-6_360DF97D-ED08-4ccf-A55E-0BF905E58476/3DxWareMac_v10-6-6_r3234.dmg'
hdiutil attach -readonly /tmp/3dFW.dmg
sudo installer -package /Volumes/3Dconnexion\ Software/Install\ 3Dconnexion\ software.pkg -target /
diskutil eject /Volumes/3Dconnexion\ Software
fi
export CMAKE_OPTS="${CMAKE_OPTS} -DFREECAD_CREATE_MAC_APP=OFF"
export INSTALLED_APP_PATH="/usr/local/MacOS/FreeCAD"
export CMAKE_ARGS="${CMAKE_OPTS} -DFREECAD_USE_EXTERNAL_KDL=ON"
brew link --overwrite matplotlib
if [ -f "/usr/local/Cellar/opencascade/7.4.0_1/include/opencascade/Standard_Macro.hxx" ]; then
sed '1,$s/\[\[nodiscard\]\]//' /usr/local/Cellar/opencascade/7.4.0_1/include/opencascade/Standard_Macro.hxx > /tmp/Standard_Macro.hxx && cp /tmp/Standard_Macro.hxx /usr/local/Cellar/opencascade/7.4.0_1/include/opencascade/Standard_Macro.hxx ;
fi
;;
"windows")
#choco install -y python
#py -m pip install --quiet --upgrade pip
#py -m pip install git+https://github.com/frerich/clcache.git@v4.2.0
curl -L https://github.com/frerich/clcache/releases/download/v4.2.0/clcache-4.2.0.zip --output clcache-4.2.0.zip
7z x clcache-4.2.0.zip > /dev/null
export PATH=$CLCACHE_PATH:$PATH
export PATH=$TEST_PATH:$PATH
#reset clcache hit stats
cmd.exe //C 'C:\Users\travis\build\FreeCAD\FreeCAD\clcache.exe -z'
# clcache stats before compilation
cmd.exe //C 'C:\Users\travis\build\FreeCAD\FreeCAD\clcache.exe -s'
curl -L https://github.com/FreeCAD/FreeCAD/releases/download/0.19.1/FreeCADLibs_12.5.3_x64_VC17.7z --output FreeCADLibs.7z
7z x FreeCADLibs.7z -oFreeCADLibs > /dev/null
rm -f FreeCADLibs.7z
export FREECAD_LIBPACK_DIR="$TRAVIS_BUILD_DIR\FreeCADLibs\FreeCADLibs_12.5.3_x64_VC17"
export CMAKE_ARGS="${CMAKE_OPTS} -DFREECAD_LIBPACK_DIR=$TRAVIS_BUILD_DIR\FreeCADLibs\FreeCADLibs_12.5.3_x64_VC17 -DPYTHON_EXECUTABLE=$TRAVIS_BUILD_DIR\FreeCADLibs\FreeCADLibs_12.5.3_x64_VC17\bin\python.exe \
-DBUILD_QT5=TRUE"
export PATH=$MSBUILD_PATH:$PATH
;;
*)
echo "Invalid or unsupported operating system ${TRAVIS_OS_NAME}"
exit 1
;;
esac
install:
####
# Build FreeCAD with cmake options set above for each platform
##
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then export PATH="/usr/local/bin:/usr/local/opt/ccache/libexec:$PATH"; fi
- echo ${CMAKE_ARGS}
- mkdir build && cd build && cmake -Wno-dev -G"${GENERATOR}" ${CMAKE_ARGS} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} ../
script:
####
# Install FreeCAD and run unit tests. Test failures will fail the build
##
# MSBuild.exe /m FreeCAD.sln
- |
if [ "${TRAVIS_OS_NAME}" == "windows" ]; then
# https://travis-ci.community/t/vcvarsall-bat-freezes-on-new-1809-based-windows-images/7098/6
# call msbuild using clcache
#cmd.exe //C '"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" amd64 && MSBuild.exe FreeCAD.sln /p:CLToolExe=clcache.exe /p:TrackFileAccess=false /p:CLToolPath=C:\Users\travis\build\FreeCAD\FreeCAD /m:2 /nologo /verbosity:minimal /p:Configuration=Release /p:Platform=x64'
cmd.exe //C 'C:\Users\travis\build\FreeCAD\FreeCAD\.travis\build.bat'
# ls -lahR
mkdir bin/
mv ../FreeCADLibs/FreeCADLibs_12.5.3_x64_VC17/bin/* bin/
du -hs bin/
# show clcache hit stats
cmd.exe //C 'C:\Users\travis\build\FreeCAD\FreeCAD\clcache.exe -s'
# run the tests
#cmd.exe //C 'cd C:\Users\travis\build\FreeCAD\FreeCAD\build\bin && FreeCADCmd.exe --run-test 0'
# Make build fail if ANY of the following fails
#set -ev
winpty.exe -Xallow-non-tty -Xplain /C/Users/travis/build/FreeCAD/FreeCAD/build/bin/FreeCADCmd.exe --run-test 0 | tee runlog.txt
grep -q FAILED runlog.txt ; [ $? == 1 ] && echo "Build succeeded and tests passed!" || ( echo "Tests failed!" && false )
else
# Stop compiling (GCC) after 2 hrs 50 min (3 hrs limit).
# Preserves created ccache for the next build job.
# if [ "${TRAVIS_OS_NAME}" == "linux" ]; then sudo timeout -k 175m 170m make -j2 install || true; fi
# if [ "${TRAVIS_OS_NAME}" == "osx" ]; then sudo gtimeout -s KILL make -j2 install; fi
cat $HOME/.ccache/ccache.conf
ccache -z -s
df -h
if [ "${TRAVIS_OS_NAME}" == "osx" ]; then export PATH="/usr/local/opt/ccacche/libexec:$PATH"; sudo gtimeout -s KILL 7200 make -j2; [ $? == 124 ] && { ccache -s; return 0; } fi
if [ "${TRAVIS_OS_NAME}" == "linux" ]; then sudo timeout -k 175m 170m make -j2 install || true; fi
sudo make -j2 install
ccache -s
${INSTALLED_APP_PATH} --console --run-test 0 || travis_terminate 1
${INSTALLED_APP_PATH} --log-file /tmp/FreeCAD_installed.log &
sleep 10 && pkill FreeCAD
cat /tmp/FreeCAD_installed.log
grep --file=../.log_errors /tmp/FreeCAD_installed.log ; [ $? == 1 ] && echo "No errors from .log_errors file found in the log after start from /usr/local/bin" || ( echo "Error from .log_errors found!" && false )
fi
#after_success:
# Package and deploy the build to GitHub. This will only run for builds on
# master (i.e. pull requests are only built and tested but not deployed).
#
# GH_TOKEN must be set in order to deploy releases to GitHub
#
#- |
# if [ "${TRAVIS_OS_NAME}" == "osx" -a "${TRAVIS_PULL_REQUEST}" == "false" -a "${DEPLOY}" == "1" ]; then
# brew ls --versions jq || brew install jq
# npm install -g appdmg
# export VSN=$(python ${TRAVIS_BUILD_DIR}/src/Tools/ArchiveNameFromVersionHeader.py ${TRAVIS_BUILD_DIR}/build/src/Build/Version.h)
# export DEPLOYMENT_ARCHIVE=${VSN}-${QT}.dmg
# appdmg ${TRAVIS_BUILD_DIR}/src/MacAppBundle/DiskImage/layout.json "${DEPLOYMENT_ARCHIVE}"
# deployContext=$(create_helper_context repo=${TRAVIS_REPO_SLUG} auth_token=${GH_TOKEN} release=${DEPLOY_RELEASE})
# gitHub_deploy_asset_to_release_named $deployContext ${DEPLOYMENT_ARCHIVE}
# gitHub_prune_assets_for_release_named $deployContext "-${QT}" 1
# fi
-6
View File
@@ -1,6 +0,0 @@
echo on
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" amd64
MSBuild.exe FreeCAD.sln /p:CLToolExe=clcache.exe /p:TrackFileAccess=false /p:CLToolPath=C:\Users\travis\build\FreeCAD\FreeCAD /m:2 /nologo /verbosity:minimal /p:Configuration=Release /p:Platform=x64
+12
View File
@@ -0,0 +1,12 @@
{
"configurations": [
{
"name": "FreeCAD",
"includePath": ["${workspaceFolder}/**"],
"cStandard": "c17",
"cppStandard": "c++17",
"configurationProvider": "ms-vscode.cmake-tools"
}
],
"version": 4
}
+18
View File
@@ -0,0 +1,18 @@
[
{
"name": "FreeCAD Linux",
"compilers": {
"C": "${workspaceFolder}/.conda/freecad/bin/cc",
"CXX": "${workspaceFolder}/.conda/freecad/bin/c++"
},
"environmentSetupScript": "${workspaceFolder}/.vscode/env.sh"
},
{
"name": "FreeCAD macOS",
"compilers": {
"C": "${workspaceFolder}/.conda/freecad/bin/clang",
"CXX": "${workspaceFolder}/.conda/freecad/bin/clang++"
},
"environmentSetupScript": "${workspaceFolder}/.vscode/env.sh"
}
]
Vendored Executable
+3
View File
@@ -0,0 +1,3 @@
#!/bin/bash
source activate freecad
+6
View File
@@ -0,0 +1,6 @@
{
"recommendations": [
"ms-vscode.cpptools-extension-pack",
"ms-python.python"
]
}
+48
View File
@@ -0,0 +1,48 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "C/C++: Linux: build and debug FreeCAD",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build/bin/FreeCAD",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"preLaunchTask": "CMake: build"
},
{
"name": "C/C++: macOS: build and debug FreeCAD",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build/bin/FreeCAD",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "lldb",
"preLaunchTask": "CMake: build"
},
{
"name": "Python: Remote Attach",
"type": "python",
"request": "attach",
"preLaunchTask": "conda: activate environment",
"redirectOutput": true,
"connect": {
"host": "localhost",
"port": 5678
},
"pathMappings": [
{
"localRoot": "${workspaceFolder}",
"remoteRoot": "${workspaceFolder}"
}
],
"justMyCode": false
}
]
}
+17
View File
@@ -0,0 +1,17 @@
{
"files.associations": {
"__config": "cpp",
"iosfwd": "cpp",
"vector": "cpp",
"tuple": "cpp"
},
"editor.formatOnType": true,
"cmake.preferredGenerators": ["Ninja", "NMake Makefiles"],
"cmake.cmakePath": "${workspaceFolder}/.conda/freecad/bin/cmake",
"cmake.configureSettings": {
"BUILD_WITH_CONDA:BOOL": "ON",
"BUILD_FEM_NETGEN:BOOL": "ON",
"FREECAD_USE_PYBIND11:BOOL": "ON",
"FREECAD_USE_EXTERNAL_SMESH:BOOL": "ON"
}
}
+58
View File
@@ -0,0 +1,58 @@
{
"tasks": [
{
"type": "shell",
"label": "conda: activate environment",
"command": "activate freecad",
"problemMatcher": [],
"detail": "Activate conda environment",
"group": "build"
},
{
"type": "cmake",
"label": "CMake: configure",
"command": "configure",
"problemMatcher": [],
"detail": "CMake template configure task",
"group": "build"
},
{
"type": "cmake",
"label": "CMake: build",
"command": "build",
"targets": ["all"],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": [],
"detail": "CMake template build task"
},
{
"type": "cmake",
"label": "CMake: test",
"command": "test",
"problemMatcher": [],
"detail": "CMake template test task",
"group": "build"
},
{
"type": "cmake",
"label": "CMake: clean",
"command": "clean",
"problemMatcher": [],
"detail": "CMake template clean task",
"group": "build"
},
{
"type": "cmake",
"label": "CMake: clean rebuild",
"command": "cleanRebuild",
"targets": ["all"],
"problemMatcher": [],
"detail": "CMake template clean rebuild task",
"group": "build"
}
],
"version": "2.0.0"
}
+32 -11
View File
@@ -1,28 +1,36 @@
# March 2021, the oldest we have to support : Ununtu 18.04 LTS
cmake_minimum_required(VERSION 3.10.2 FATAL_ERROR)
# As of January 2023 we require CMake 3.16.3
# see https://forum.freecad.org/viewtopic.php?f=10&t=72173
# for further info why
cmake_minimum_required(VERSION 3.16.3 FATAL_ERROR)
# policy CMP0072 was introduced with CMake 3.11
# relates to FindOpenGL module
# and cache variables OPENGL_gl_LIBRARY, OPENGL_glu_LIBRARY
if (POLICY CMP0072)
cmake_policy(SET CMP0072 OLD)
set(OpenGL_GL_PREFERENCE LEGACY)
endif(POLICY CMP0072)
find_program(CCACHE_PROGRAM ccache) #This check should occur before project()
if(CCACHE_PROGRAM)
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CCACHE_PROGRAM}")
if (BUILD_WITH_CONDA AND WIN32)
option(FREECAD_USE_CCACHE "Auto detect and use ccache during compilation" OFF)
else()
option(FREECAD_USE_CCACHE "Auto detect and use ccache during compilation" ON)
endif()
if(FREECAD_USE_CCACHE)
find_program(CCACHE_PROGRAM ccache) #This check should occur before project()
if(CCACHE_PROGRAM)
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CCACHE_PROGRAM}")
endif()
endif()
project(FreeCAD)
set(PACKAGE_VERSION_NAME "Vulcan")
set(PACKAGE_VERSION_MAJOR "0")
set(PACKAGE_VERSION_MINOR "21")
set(PACKAGE_VERSION_PATCH "0")
set(PACKAGE_VERSION_SUFFIX "dev") # either "dev" for development snapshot or "" (empty string)
set(FREECAD_VERSION_PATCH "0") # number of patch release (e.g. "4" for the 0.18.4 release)
set(PACKAGE_VERSION_PATCH "2") # number of patch release (e.g. "4" for the 0.18.4 release)
set(PACKAGE_VERSION_SUFFIX "") # either "dev" for development snapshot or "" (empty string)
set(PACKAGE_BUILD_VERSION "0") # used when the same FreeCAD version will be re-released (for example using an updated LibPack)
set(FREECAD_VERSION "${PACKAGE_VERSION_MAJOR}.${PACKAGE_VERSION_MINOR}")
set(PACKAGE_VERSION "${PACKAGE_VERSION_MAJOR}.${PACKAGE_VERSION_MINOR}.${PACKAGE_VERSION_PATCH}")
set(PACKAGE_STRING "${PROJECT_NAME} ${PACKAGE_VERSION}")
@@ -41,6 +49,7 @@ InitializeFreeCADBuildOptions()
CheckInterModuleDependencies()
FreeCADLibpackChecks()
SetupDoxygen()
SetupLibFmt()
if(NOT FREECAD_LIBPACK_USE OR FREECAD_LIBPACK_CHECKFILE_CLBUNDLER)
SetupPython()
SetupPCL()
@@ -91,4 +100,16 @@ BuildAndInstallDesignerPlugin()
CreatePackagingTargets()
if(MSVC AND FREECAD_LIBPACK_USE AND LIBPACK_FOUND)
CopyLibpackDirectories()
endif()
if (ENABLE_DEVELOPER_TESTS)
add_subdirectory(tests)
endif()
PrintFinalReport()
message("\n=================================================\n"
"Now run 'cmake --build ${CMAKE_BINARY_DIR}' to build ${PROJECT_NAME}\n"
"=================================================\n")
+1 -1
View File
@@ -56,7 +56,7 @@ further defined and clarified by project maintainers.
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting any of the community admins or moderators at
https://forum.freecadweb.org/memberlist.php?mode=team . All
https://forum.freecad.org/memberlist.php?mode=team . All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
+100
View File
@@ -0,0 +1,100 @@
# FreeCAD Contribution Process (FCP)
FreeCAD's contribution process is inspired by the Collective Code Construction Contract which itself is an evolution of the github.com Fork and Pull Model.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.
## 0. Status
FreeCAD is in a transition period. The following are to be regarded as GUIDELINES for contribution submission and acceptance. For historical reasons, the actual process MAY diverge from this process during the transition. Such deviations SHOULD be noted and discussed whenever possible.
## 1. Goals
The FreeCAD Contribution Process is expressed here with the following specific goals in mind:
1. To provide transparency and fairness in the contribution process.
2. To allow contributions to be included as quickly as possible.
3. To preserve and improve the code quality while encouraging appropriate experimentation and risk-taking.
4. To minimize dependence on individual Contributors by encouraging a large pool of active Contributors.
5. To be inclusive of many viewpoints and to harness a diverse set of skills.
6. To provide an encouraging environment where Contributors learn and improve their skills.
7. To protect the free and open nature of the FreeCAD project.
## 2. Fundamentals
1. FreeCAD uses the git distributed revision control system.
2. Source code for the main application and related subprojects is hosted on github.com in the FreeCAD organization.
3. Problems are discrete, well-defined limitations or bugs.
4. FreeCAD uses GitHub's issue-tracking system to track problems and contributions. For help requests and general discussions, use the project forum.
5. Contributions are sets of code changes that resolve a single problem.
6. FreeCAD uses the Pull Request workflow for evaluating and accepting contributions.
## 3. Roles
1. "User": A member of the wider FreeCAD community who uses the software.
2. "Contributor": A person who submits a contribution that resolves a previously identified problem. Contributors do not have commit access to the repository unless they are also Maintainers. Everyone, without distinction or discrimination, SHALL have an equal right to become a Contributor.
3. "Maintainer": A person who merges contributions. Maintainers may or may not be Contributors. Their role is to enforce the process. Maintainers have commit access to the repository.
4. "Administrator": Administrators have additional authority to maintain the list of designated Maintainers.
## 4. Licensing, Ownership, and Credit
1. FreeCAD is distributed under the Lesser General Public License, version 2, or superior (LGPL2+). Additional details can be found in the LICENSE file.
2. All contributions to FreeCAD MUST use a compatible license.
3. All contributions are owned by their authors unless assigned to another.
4. FreeCAD does not have a mandatory copyright assignment policy.
5. A Contributor who wishes to be identified in the Credits section of the application "About" dialog is responsible for identifying themselves. They should modify the Contributors file and submit a PR with a single commit for this modification only. The contributors file is found at https://github.com/FreeCAD/FreeCAD/blob/master/src/Doc/CONTRIBUTORS
6. A contributor who does not wish to assume the copyright of their contribution MAY choose to assign it to the [FreeCAD project association](https://fpa.freecad.org) by mentioning **Copyright (c) 2022 The FreeCAD project association <fpa@freecad.org>** in the file's license code block.
## 5. Contribution Requirements
1. Contributions are submitted in the form of Pull Requests (PR).
2. Maintainers and Contributors MUST have a GitHub account and SHOULD use their real names or a well-known alias.
3. If the GitHub username differs from the username on the FreeCAD Forum, effort SHOULD be taken to avoid confusion.
4. A PR SHOULD be a minimal and accurate answer to exactly one identified and agreed-on problem.
5. A PR SHOULD refrain from adding additional dependencies to the FreeCAD project unless no other option is available.
6. Code submissions MUST adhere to the code style guidelines of the project if these are defined.
7. If a PR contains multiple commits, each commit MUST compile cleanly when merged with all previous commits of the same PR. Each commit SHOULD add value to the history of the project. Checkpoint commits SHOULD be squashed.
8. A PR SHALL NOT include non-trivial code from other projects unless the Contributor is the original author of that code.
9. A PR MUST compile cleanly and pass project self-tests on all target platforms.
10. Each commit message in a PR MUST succinctly explain what the commit achieves. The commit message SHALL follow the suggestions in the `git commit --help` documentation, section DISCUSSION.
11. The PR message MUST consist of a single short line, the PR Title, summarizing the problem being solved, followed by a blank line and then the proposed solution in the Body. If a PR consists of more than one commit, the PR Title MUST succinctly explain what the PR achieves. The Body MAY be as detailed as needed.
12. A “Valid PR” is one which satisfies the above requirements.
## 6. Process
1. Change on the project follows the pattern of accurately identifying problems and applying minimal, accurate solutions to these problems.
2. To request changes, a User logs an issue on the project GitHub issue tracker.
3. The User or Contributor SHOULD write the issue by describing the problem they face or observe. Links to the forum or other resources are permitted but the issue SHOULD be complete and accurate and SHOULD NOT require the reader to visit the forum or any other platform to understand what is being described.
4. Issue authors SHOULD strive to describe the minimum acceptable condition.
5. Issue authors SHOULD focus on User tasks and avoid comparisons to other software solutions.
6. The User or Contributor SHOULD seek consensus on the accuracy of their observation and the value of solving the problem.
7. To submit a solution to a problem, a Contributor SHALL create a pull request back to the project.
8. Contributors and Maintainers SHALL NOT commit changes directly to the target branch.
9. To discuss a proposed solution, Users MAY comment on the Pull Request in GitHub. Forum conversations regarding the solution SHOULD be discouraged and conversation redirected to the Pull Request or the related issue.
10. To accept or reject a Pull Request, a Maintainer SHALL use GitHub's interface.
11. Maintainers SHOULD NOT merge their own PRs except:
1. in exceptional cases, such as non-responsiveness from other Maintainers for an extended period.
2. If the Maintainer is also the primary developer of the workbench or subsystem.
12. Maintainers SHALL merge valid PRs from other Contributors rapidly.
13. Maintainers MAY, at their discretion merge PRs that have not met all criteria to be considered valid to:
1. end fruitless discussions
2. capture toxic contributions in the historical record
3. engage with the Contributor on improving their contribution quality.
14. Maintainers SHALL NOT make value judgments on correct contributions.
15. Any Contributor who has value judgments on a PR SHOULD express these via their own PR.
16. The User who created an issue SHOULD close the issue after checking the PR is successful.
17. Maintainers SHOULD close issues that are left open without action or update for an unreasonable period.
## 7. Branches and Releases
1. The project SHALL have one branch (“master”) that always holds the latest in-progress version and SHOULD always build.
2. The project SHALL NOT use topic branches for any reason. Personal forks MAY use topic branches.
3. To make a stable release a Maintainer SHALL tag the repository. Stable releases SHALL always be released from the repository master.
## 8. Project Administration
1. The project Administrators will manage the set of project Maintainers. They SHALL maintain a sufficiently large pool of Maintainers to ensure their succession and permit timely review of contributions.
2. Contributors who have a history of successful PRs and have demonstrated continued professionalism should be invited to be Maintainers.
3. Administrators SHOULD remove Maintainers who are inactive for an extended period, or who repeatedly fail to apply this process accurately.
4. The list of Maintainers SHALL be publicly accessible and reflective of current activity on the project.
5. Administrators SHOULD block or ban “bad actors” who cause stress, animosity, or confusion to others in the project. This SHOULD be done after public discussion, with a chance for all parties to speak. A bad actor is someone who repeatedly ignores the rules and culture of the project, who is hostile or offensive, who impedes the productive exchange of information, and who is unable to self-correct their behavior when asked to do so by others.
-1106
View File
File diff suppressed because it is too large Load Diff
-55
View File
@@ -1,55 +0,0 @@
#ifndef LIBRARY_VERSIONS_H
#define LIBRARY_VERSIONS_H
/* LibraryVersions.h. Generated from LibraryVersions.h.cmake by cmake. */
#cmakedefine HAVE_OCC_VERSION
#if defined(HAVE_OCC_VERSION)
# include <${OCC_INCLUDE_DIR}/Standard_Version.hxx>
#endif
/* No need for Boost (version info is always included in the source) */
/* No need for Python (version info is always included in the source) */
/* No need for Qt (version info is always included in the source) */
/* No need for zlib (version info is always included in the source) */
// No CMake version info for SMESH, libarea, Zipios, or KDL
// Coin3D
constexpr char * FC_COIN3D_VERSION = "${COIN3D_VERSION}";
// Eigen3
constexpr char * FC_EIGEN3_VERSION = "${EIGEN3_VERSION}";
// FreeType
constexpr char * FC_FREETYPE_VERSION = "${FREETYPE_VERSION_STRING}";
// pcl
constexpr char * FC_PCL_VERSION = "${PCL_VERSION}";
// PyCXX
constexpr char * FC_PYCXX_VERSION = "${PYCXX_VERSION}";
// PySide
constexpr char * FC_PYSIDE_VERSION = "${PySide2_VERSION}";
// PyBind
constexpr char * FC_PYBIND11_VERSION = "${pybind11_VERSION}";
// Shiboken
constexpr char * FC_SHIBOKEN_VERSION = "${Shiboken2_VERSION}";
// vtk
constexpr char * FC_VTK_VERSION = "${VTK_VERSION}";
// Xerces-C
constexpr char * FC_XERCESC_VERSION = "${XercesC_VERSION}";
// Pivy
constexpr char * FC_PIVY_VERSION = "${PIVY_VERSION}";
#endif // LIBRARY_VERSIONS_H
+32 -36
View File
@@ -1,15 +1,16 @@
![Logo](https://www.freecadweb.org/images/logo.png)
<a href="https://freecad.org"><img src="https://www.freecad.org/svg/icon-freecad.svg" height="100px" width="100px"></a>
### Your own 3D parametric modeler
[Website](https://www.freecadweb.org) •
[Documentation](https://wiki.freecadweb.org) •
[Forum](https://forum.freecadweb.org/) •
[Bug tracker](https://www.freecadweb.org/tracker/) •
[Git repository](https://github.com/FreeCAD/FreeCAD)
[Website](https://www.freecad.org) •
[Documentation](https://wiki.freecad.org) •
[Forum](https://forum.freecad.org/) •
[Bug tracker](https://github.com/FreeCAD/FreeCAD/issues) •
[Git repository](https://github.com/FreeCAD/FreeCAD)
[Blog](https://blog.freecad.org)
[![Release](https://img.shields.io/github/release/freecad/freecad.svg)](https://github.com/freecad/freecad/releases/latest) [![Master][freecad-master-status]][gitlab-branch-master] [![Crowdin](https://d322cqt584bo4o.cloudfront.net/freecad/localized.svg)](https://crowdin.com/project/freecad) [![Gitter](https://img.shields.io/gitter/room/freecad/freecad.svg)](https://gitter.im/freecad/freecad?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Language grade: Python](https://img.shields.io/lgtm/grade/python/g/FreeCAD/FreeCAD.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/FreeCAD/FreeCAD/context:python) [![Language grade: C/C++](https://img.shields.io/lgtm/grade/cpp/g/FreeCAD/FreeCAD.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/FreeCAD/FreeCAD/context:cpp) [![Liberapay](https://img.shields.io/liberapay/receives/FreeCAD.svg?logo=liberapay)](https://liberapay.com/FreeCAD)
[![Release](https://img.shields.io/github/release/freecad/freecad.svg)](https://github.com/freecad/freecad/releases/latest) [![Crowdin](https://d322cqt584bo4o.cloudfront.net/freecad/localized.svg)](https://crowdin.com/project/freecad) [![Liberapay](https://img.shields.io/liberapay/receives/FreeCAD.svg?logo=liberapay)](https://liberapay.com/FreeCAD)
<img src="https://user-images.githubusercontent.com/1828501/174066870-1692005b-f8d7-43fb-a289-6d2f07f73d7f.png" width="800"/>
@@ -50,20 +51,7 @@ software center application.
For development releases check the [weekly-builds page](https://github.com/FreeCAD/FreeCAD-Bundle/releases/tag/weekly-builds).
Other options are described at the [wiki Download page](https://wiki.freecadweb.org/Download).
Build Status
------------
| Master | 0.20 | Translation |
|:------:|:----:|:-----------:|
|[![Master][freecad-master-status]][gitlab-branch-master]|[![0.20][freecad-0.20-status]][gitlab-branch-0.20]|[![Crowdin](https://d322cqt584bo4o.cloudfront.net/freecad/localized.svg)](https://crowdin.com/project/freecad)|
[freecad-0.20-status]: https://gitlab.com/freecad/FreeCAD-CI/badges/releases/FreeCAD-0-20/pipeline.svg
[freecad-master-status]: https://gitlab.com/freecad/FreeCAD-CI/badges/master/pipeline.svg
[gitlab-branch-0.20]: https://gitlab.com/freecad/FreeCAD-CI/-/commits/releases/FreeCAD-0-20
[gitlab-branch-master]: https://gitlab.com/freecad/FreeCAD-CI/-/commits/master
[travis-builds]: https://travis-ci.org/FreeCAD/FreeCAD/builds
Other options are described at the [wiki Download page](https://wiki.freecad.org/Download).
Compiling
---------
@@ -78,17 +66,18 @@ you will usually have to compile them yourself.
The pages below contain up-to-date build instructions:
- [Linux](https://wiki.freecadweb.org/Compile_on_Linux)
- [Windows](https://wiki.freecadweb.org/Compile_on_Windows)
- [macOS](https://wiki.freecadweb.org/Compile_on_MacOS)
- [Cygwin](https://wiki.freecadweb.org/Compile_on_Cygwin)
- [MinGW](https://wiki.freecadweb.org/Compile_on_MinGW)
- [Linux](https://wiki.freecad.org/Compile_on_Linux)
- [Windows](https://wiki.freecad.org/Compile_on_Windows)
- [macOS](https://wiki.freecad.org/Compile_on_MacOS)
- [Cygwin](https://wiki.freecad.org/Compile_on_Cygwin)
- [MinGW](https://wiki.freecad.org/Compile_on_MinGW)
Reporting Issues
---------
To report an issue please:
- First post to forum to verify the issue;
- Link forum thread to bug tracker ticket and vice-a-versa;
- Use the most updated stable or development versions of FreeCAD;
@@ -97,9 +86,16 @@ To report an issue please:
- Upload an example file to demonstrate problem.
For more detail see:
- [Wiki Page about the Bug Tracker](https://wiki.freecadweb.org/Tracker)
- [Bug Tracker](https://tracker.freecadweb.org)
- [Help Forum](https://forum.freecadweb.org/viewforum.php?f=3)
- [Bug Tracker](https://github.com/FreeCAD/FreeCAD/issues)
- [Reporting Issues and Requesting Features](https://github.com/FreeCAD/FreeCAD/issues/new/choose)
- [Contributing](https://github.com/FreeCAD/FreeCAD/blob/master/CONTRIBUTING.md)
- [Help Forum](https://forum.freecad.org/viewforum.php?f=3)
- [Developers Handbook](https://freecad.github.io/DevelopersHandbook/)
The [FPA](https://fpa.freecad.org) offers developers the opportunity
to apply for a grant to work on projects of their choosing. Check
[jobs and funding](https://blog.freecad.org/jobs/) to know more.
Usage & Getting help
@@ -109,14 +105,14 @@ The FreeCAD wiki contains documentation on
general FreeCAD usage, Python scripting, and development. These
pages might help you get started:
- [Getting started](https://wiki.freecadweb.org/Getting_started)
- [Features list](https://wiki.freecadweb.org/Feature_list)
- [Frequent questions](https://wiki.freecadweb.org/FAQ/en)
- [Workbenches](https://wiki.freecadweb.org/Workbenches)
- [Scripting](https://wiki.freecadweb.org/Power_users_hub)
- [Development](https://wiki.freecadweb.org/Developer_hub)
- [Getting started](https://wiki.freecad.org/Getting_started)
- [Features list](https://wiki.freecad.org/Feature_list)
- [Frequent questions](https://wiki.freecad.org/FAQ/en)
- [Workbenches](https://wiki.freecad.org/Workbenches)
- [Scripting](https://wiki.freecad.org/Power_users_hub)
- [Development](https://wiki.freecad.org/Developer_hub)
The [FreeCAD forum](https://forum.freecadweb.org) is also a great place
The [FreeCAD forum](https://forum.freecad.org) is also a great place
to find help and solve specific problems you might encounter when
learning to use FreeCAD.
+32
View File
@@ -0,0 +1,32 @@
# Security Policy
The FreeCAD project is a FOSS (Free and Open-Source Software) project that has a community of thousands of users and
hundreds of developers worldwide. We encourage responsible reporting of security vulnerabilities that may affect users
of this software, and will endeavor to address these vulnerabilities when they are discovered.
## Bounties
FreeCAD does not have a program to pay bounties for security bugs. If you discover a vulnerability that affects a part
of the FreeCAD project (either directly in FreeCAD, in a library it depends on, or in any of the various other
subprojects such as our website, forums, etc.) we ask you to join the large community of volunteer contributors and
file a report about the issue.
Note that funds may be available from the [FreeCAD Project Association (FPA)](https://fpa.freecad.org) to pursue
security research and/or the development of fixes to any vulnerabilities discovered. However, vulnerabilities held as
hostage in demands for "bounties" will not be entertained. Contact the FPA at fpa@freecad.org for more information.
## Supported Versions
FreeCAD implements security fixes to the current release series, and to the current development on the master branch.
| Version | Supported |
|---------| ------------------ |
| 0.21 | :white_check_mark: |
| 0.20.2 | :white_check_mark: |
| < 0.20 | :x: |
## Reporting a Vulnerability
To report a vulnerability use GitHub's security reporting tool:
https://github.com/FreeCAD/FreeCAD/security/advisories/new
-66
View File
@@ -1,66 +0,0 @@
#version:
image: Visual Studio 2017
environment:
matrix:
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
# APPVEYOR_SAVE_CACHE_ON_ERROR: true
generator: "Visual Studio 15 2017 Win64"
ARCH: "Win64"
Compiler: "MSVC2017"
cache: c:\users\appveyor\clcache -> appveyor.yml
configuration:
#- Debug
- Release
clone_depth: 1600
# scripts that are called at very beginning, before repo cloning
#init:
#before_build:
# scripts that run after cloning repository
#todo cleanup libpacks on the FreeCAD-ports-cache repo
install:
- cd C:\projects\freecad
- if [%ARCH%] == [Win64] (appveyor DownloadFile https://github.com/apeltauer/FreeCAD/releases/download/LibPack_12.1/FreeCADLibs_12.1.2_x64_VC15.7z)
- if [%ARCH%] == [Win64] (
powershell -Command 7z x FreeCADLibs_12.1.2_x64_VC15.7z -oFreeCADLibs > nul &&
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat")
- set PATH=c:\Python37;c:\Python37\Scripts;%PATH%
- pip install clcache
- clcache -z
- clcache -s
build_script:
- cd C:\projects\freecad
- mkdir build
- cd build
- cmake -DFREECAD_LIBPACK_DIR=C:\projects\freecad\FreeCADLibs
-DBUILD_FEM_NETGEN=OFF
-DFREECAD_RELEASE_PDB=OFF
-G "%generator%" ..
- mkdir bin
- xcopy C:\projects\freecad\FreeCADLibs\bin C:\projects\freecad\build\bin /E /Q
- ps: fsutil behavior set disablelastaccess 0 # Enable Access time feature on Windows (for clcache)
- msbuild FreeCAD.sln /p:TrackFileAccess=false /p:CLToolExe=clcache.exe /p:CLToolPath=c:\Python37\Scripts\ /m
- ps: fsutil behavior set disablelastaccess 1
- clcache -s
#after_build:
- cd C:\projects\freecad\build\bin\
- FreeCADCmd.exe --run-test 0
#artifacts:
test: off # to avoid discovering tests
#
# The following section automatically uploads artifacts
# whenever a tag is created on the master branch.
#
#deploy:
-91
View File
@@ -1,91 +0,0 @@
##!/usr/bin/env bash
#
# MacOS Build Script for FreeCAD using Conda.
# This is intended for developer use.
#
# Copyright (c) 2020 by Jeffrey Zampieron. All rights reserved.
#
# License: LGPLv2.1
#
# References:
# - Conda: https://conda.io/projects/conda/en/latest/user-guide/install/index.html
# - Conda Build: https://docs.conda.io/projects/conda-build/en/latest/install-conda-build.html
###########################################################################
# Script wide setup.
###########################################################################
# The Conda environment name
FCENV=freecad_dev
# The cmake build directory
HOST=$(uname)
###########################################################################
# Env Checks
###########################################################################
if [[ ${HOST} =~ "Linux" ]]; then
# Linux specific checks here
echo "Linux specific checks..."
elif [[ ${HOST} =~ "Darwin" ]]; then
# OSX specific checks here.
echo "OS X specific checks..."
which xcrun
if [ $? != 0 ]; then
echo "xcrun not found... install XCode command line tools..."
echo "using: xcode-select --install"
exit 1
fi
else
echo "unknown host env... probably won't work. Aborting build."
exit 1
fi
###########################################################################
# Conda Setup
###########################################################################
which conda
if [ $? != 0 ]; then
echo "Failed to find conda executable. Please install."
exit 1
fi
if [[ "${CONDA_DEFAULT_ENV}" =~ "${FCENV}" ]]; then
echo "Already in env"
elif [[ -z "${CONDA_DEFAULT_ENV}" ]]; then
echo "Not in conda env... activating"
eval "$(conda shell.bash hook)"
conda activate ${FCENV}
else
# Assume we are in some other env.
echo "In ${CONDA_DEFAULT_ENV}, attempting switch to ${FCENV}"
eval "$(conda shell.bash hook)"
conda deactivate
conda activate ${FCENV}
fi
if [ $? != 0 ]; then
echo "Failed to activate conda env: ${FCENV} ... creating"
if [[ ${HOST} =~ "Linux" ]]; then
echo "Linux"
conda env create -f environment-linux.yml
elif [[ ${HOST} =~ "Darwin" ]]; then
echo "OS X"
conda env create -f environment-osx.yml
else
echo "Unknown Host: ${HOST}"
exit 1
fi
conda activate ${FCENV}
if [ $? != 0 ]; then
echo "Failed to create conda environment and activate it."
exit 1
fi
fi
if [ -z "${CONDA_PREFIX}" ]; then
echo "Failed to find CONDA_PREFIX variable."
exit 1
fi
PREFIX="${CONDA_PREFIX}" ./conda/build.sh
-125
View File
@@ -1,125 +0,0 @@
# Try to find Coin3D
# Once done this will define
#
# COIN3D_FOUND - system has Coin3D - Open Inventor
# COIN3D_INCLUDE_DIRS - where the Inventor include directory can be found
# COIN3D_LIBRARIES - Link this to use Coin3D
#
SET( COIN3D_FOUND "NO" )
IF (WIN32)
IF (CYGWIN OR MINGW)
FIND_PATH(COIN3D_INCLUDE_DIRS Inventor/So.h
${CMAKE_INCLUDE_PATH}
/usr/include
/usr/local/include
/usr/include/coin
)
FIND_LIBRARY(COIN3D_LIBRARIES Coin
${CMAKE_LIBRARY_PATH}
/usr/lib
/usr/local/lib
)
ELSE (CYGWIN OR MINGW)
FIND_PATH(COIN3D_INCLUDE_DIRS Inventor/So.h
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\SIM\\Coin3D\\2;Installation Path]/include"
)
FIND_LIBRARY(COIN3D_LIBRARY_DEBUG coin2d
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\SIM\\Coin3D\\2;Installation Path]/lib"
)
FIND_LIBRARY(COIN3D_LIBRARY_RELEASE
NAMES
coin2
Coin4
PATHS
${CMAKE_LIBRARY_PATH}
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\SIM\\Coin3D\\2;Installation Path]/lib"
)
IF (COIN3D_LIBRARY_DEBUG AND COIN3D_LIBRARY_RELEASE)
SET(COIN3D_LIBRARIES optimized ${COIN3D_LIBRARY_RELEASE}
debug ${COIN3D_LIBRARY_DEBUG})
ELSE (COIN3D_LIBRARY_DEBUG AND COIN3D_LIBRARY_RELEASE)
IF (COIN3D_LIBRARY_DEBUG)
SET (COIN3D_LIBRARIES ${COIN3D_LIBRARY_DEBUG})
ENDIF (COIN3D_LIBRARY_DEBUG)
IF (COIN3D_LIBRARY_RELEASE)
SET (COIN3D_LIBRARIES ${COIN3D_LIBRARY_RELEASE})
ENDIF (COIN3D_LIBRARY_RELEASE)
ENDIF (COIN3D_LIBRARY_DEBUG AND COIN3D_LIBRARY_RELEASE)
IF (COIN3D_LIBRARIES)
# ADD_DEFINITIONS ( -DCOIN_NOT_DLL )
#ELSE (COIN3D_LIBRARIES)
# SET (COIN3D_LIBRARIES coin2d CACHE STRING "Coin3D Library (Debug) - Open Inventor API")
ENDIF (COIN3D_LIBRARIES)
ENDIF (CYGWIN OR MINGW)
ELSE (WIN32)
IF(APPLE)
FIND_PATH(COIN3D_INCLUDE_DIRS Inventor/So.h
/Library/Frameworks/Inventor.framework/Headers
/usr/local/include
/usr/include
)
FIND_LIBRARY(COIN3D_LIBRARIES Coin
/Library/Frameworks/Inventor.framework/Libraries
/usr/lib
/usr/local/lib
)
SET(COIN3D_LIBRARIES "-framework Coin3d" CACHE STRING "Coin3D library for OSX")
ELSE(APPLE)
# Try to use pkg-config first...
find_package(PkgConfig)
pkg_check_modules(COIN3D Coin)
# ... then fall back to manual lookup
IF(NOT COIN3D_FOUND)
FIND_PATH(COIN3D_INCLUDE_DIRS Inventor/So.h
${CMAKE_INCLUDE_PATH}
/usr/include/Coin3
/usr/include
/usr/include/coin
/usr/local/include
)
FIND_LIBRARY(COIN3D_LIBRARIES Coin
${CMAKE_LIBRARY_PATH}
/usr/lib
/usr/local/lib
PATH_SUFFIXES Coin2 Coin3
)
ENDIF(NOT COIN3D_FOUND)
ENDIF(APPLE)
ENDIF (WIN32)
IF(COIN3D_LIBRARIES)
SET( COIN3D_FOUND "YES" )
message(STATUS "Coin3D libraries found")
IF(NOT COIN3D_VERSION)
file(READ "${COIN3D_INCLUDE_DIRS}/Inventor/C/basic.h" _coin3d_basic_h)
string(REGEX MATCH "define[ \t]+COIN_MAJOR_VERSION[ \t]+([0-9?])" _coin3d_major_version_match "${_coin3d_basic_h}")
set(COIN3D_MAJOR_VERSION "${CMAKE_MATCH_1}")
string(REGEX MATCH "define[ \t]+COIN_MINOR_VERSION[ \t]+([0-9?])" _coin3d_minor_version_match "${_coin3d_basic_h}")
set(COIN3D_MINOR_VERSION "${CMAKE_MATCH_1}")
string(REGEX MATCH "define[ \t]+COIN_MICRO_VERSION[ \t]+([0-9?])" _coin3d_micro_version_match "${_coin3d_basic_h}")
set(COIN3D_MICRO_VERSION "${CMAKE_MATCH_1}")
set(COIN3D_VERSION "${COIN3D_MAJOR_VERSION}.${COIN3D_MINOR_VERSION}.${COIN3D_MICRO_VERSION}")
ENDIF()
IF(NOT PIVY_VERSION)
execute_process (COMMAND ${Python3_EXECUTABLE} -c "import pivy as p; print(p.__version__,end='')" OUTPUT_VARIABLE PIVY_VERSION)
ENDIF()
ENDIF(COIN3D_LIBRARIES)
+1 -21
View File
@@ -54,28 +54,8 @@ IF (COIN3D_FOUND)
${CMAKE_BINARY_DIR}/src/Doc
)
IF( EXISTS ${COIN3D_DOC_TAGFILE})
SET( COIN3D_DOC_FOUND "YES"
)
#ELSE( EXISTS ${COIN3D_DOC_TAGFILE})
# find_program(WGET_PROG wget
# )
# IF( EXISTS ${WGET_PROG})
# execute_process(COMMAND ${WGET_PROG}
# -P ${CMAKE_BINARY_DIR}/src/Doc
# ${COIN3D_DOC_PATH}/coin.tag
# )
# find_file(COIN3D_DOC_TAGFILE coin.tag
# ${CMAKE_BINARY_DIR}/src/Doc
# )
# IF( EXISTS ${COIN3D_DOC_TAGFILE})
# SET( COIN3D_DOC_FOUND "YES"
# )
# ENDIF( EXISTS ${COIN3D_DOC_TAGFILE})
#
# ENDIF( EXISTS ${WGET_PROG})
SET( COIN3D_DOC_FOUND "YES" )
ENDIF( EXISTS ${COIN3D_DOC_TAGFILE})
ENDIF( EXISTS ${COIN3D_DOC_PATH})
ENDIF(APPLE)
ENDIF(WIN32)
+2 -2
View File
@@ -17,10 +17,10 @@
if(NOT Eigen3_FIND_VERSION)
if(NOT Eigen3_FIND_VERSION_MAJOR)
set(Eigen3_FIND_VERSION_MAJOR 2)
set(Eigen3_FIND_VERSION_MAJOR 3)
endif(NOT Eigen3_FIND_VERSION_MAJOR)
if(NOT Eigen3_FIND_VERSION_MINOR)
set(Eigen3_FIND_VERSION_MINOR 91)
set(Eigen3_FIND_VERSION_MINOR 0)
endif(NOT Eigen3_FIND_VERSION_MINOR)
if(NOT Eigen3_FIND_VERSION_PATCH)
set(Eigen3_FIND_VERSION_PATCH 0)
+43 -43
View File
@@ -3,10 +3,10 @@
#
# The following variables are optionally searched for defaults
# OpenCV_ROOT_DIR: Base directory of OpenCv tree to use.
# OpenCV_FIND_REQUIRED_COMPONENTS : FIND_PACKAGE(OpenCV COMPONENTS ..)
# OpenCV_FIND_REQUIRED_COMPONENTS : FIND_PACKAGE(OpenCV COMPONENTS ..)
# compatible interface. typically CV CXCORE CVAUX HIGHGUI CVCAM .. etc.
#
# The following are set after configuration is done:
# The following are set after configuration is done:
# OpenCV_FOUND
# OpenCV_INCLUDE_DIR
# OpenCV_LIBRARIES
@@ -16,10 +16,10 @@
# OPENCV_* uppercase replaced by case sensitive OpenCV_*
# OPENCV_EXE_LINKER_FLAGS
# OPENCV_INCLUDE_DIR : replaced by plural *_DIRS
#
# 2004/05 Jan Woetzel, Friso, Daniel Grest
#
# 2004/05 Jan Woetzel, Friso, Daniel Grest
# 2006/01 complete rewrite by Jan Woetzel
# 1006/09 2nd rewrite introducing ROOT_DIR and PATH_SUFFIXES
# 1006/09 2nd rewrite introducing ROOT_DIR and PATH_SUFFIXES
# to handle multiple installed versions gracefully by Jan Woetzel
#
# tested with:
@@ -42,14 +42,14 @@ IF (NOT OpenCV_FIND_COMPONENTS)
SET(OpenCV_FIND_REQUIRED_COMPONENTS CV CXCORE CVAUX HIGHGUI )
IF (WIN32)
LIST(APPEND OpenCV_FIND_REQUIRED_COMPONENTS CVCAM ) # WIN32 only actually
ENDIF(WIN32)
ENDIF(WIN32)
ENDIF (NOT OpenCV_FIND_COMPONENTS)
# typical root dirs of installations, exactly one of them is used
SET (OpenCV_POSSIBLE_ROOT_DIRS
"${OpenCV_ROOT_DIR}"
"$ENV{OpenCV_ROOT_DIR}"
"$ENV{OpenCV_ROOT_DIR}"
"$ENV{OPENCV_DIR}" # only for backward compatibility deprecated by ROOT_DIR
"$ENV{OPENCV_HOME}" # only for backward compatibility
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Intel(R) Open Source Computer Vision Library_is1;Inno Setup: App Path]"
@@ -59,17 +59,17 @@ SET (OpenCV_POSSIBLE_ROOT_DIRS
)
# MIP Uni Kiel /opt/net network installation
# MIP Uni Kiel /opt/net network installation
# get correct prefix for current gcc compiler version for gcc 3.x 4.x
IF (${CMAKE_COMPILER_IS_GNUCXX})
IF (NOT OpenCV_FIND_QUIETLY)
MESSAGE(STATUS "Checking GNUCXX version 3/4 to determine OpenCV /opt/net/ path")
ENDIF (NOT OpenCV_FIND_QUIETLY)
EXEC_PROGRAM(${CMAKE_CXX_COMPILER} ARGS --version OUTPUT_VARIABLE CXX_COMPILER_VERSION)
EXEC_PROGRAM(${CMAKE_CXX_COMPILER} ARGS --version OUTPUT_VARIABLE CXX_COMPILER_VERSION)
IF (CXX_COMPILER_VERSION MATCHES ".*3\\.[0-9].*")
SET(IS_GNUCXX3 TRUE)
LIST(APPEND OpenCV_POSSIBLE_ROOT_DIRS /opt/net/gcc33/OpenCV )
ENDIF(CXX_COMPILER_VERSION MATCHES ".*3\\.[0-9].*")
ENDIF(CXX_COMPILER_VERSION MATCHES ".*3\\.[0-9].*")
IF (CXX_COMPILER_VERSION MATCHES ".*4\\.[0-9].*")
SET(IS_GNUCXX4 TRUE)
LIST(APPEND OpenCV_POSSIBLE_ROOT_DIRS /opt/net/gcc41/OpenCV )
@@ -79,15 +79,15 @@ ENDIF (${CMAKE_COMPILER_IS_GNUCXX})
#DBG_MSG("DBG (OpenCV_POSSIBLE_ROOT_DIRS=${OpenCV_POSSIBLE_ROOT_DIRS}")
#
# select exactly ONE OpenCV base directory/tree
# select exactly ONE OpenCV base directory/tree
# to avoid mixing different version headers and libs
#
FIND_PATH(OpenCV_ROOT_DIR
NAMES
FIND_PATH(OpenCV_ROOT_DIR
NAMES
cv/include/cv.h # windows
include/opencv/cv.h # linux /opt/net
include/cv/cv.h
include/cv.h
include/cv/cv.h
include/cv.h
PATHS ${OpenCV_POSSIBLE_ROOT_DIRS})
DBG_MSG("OpenCV_ROOT_DIR=${OpenCV_ROOT_DIR}")
@@ -106,7 +106,7 @@ SET(OpenCV_INCDIR_SUFFIXES
otherlibs/_graphics/include
)
# library linkdir suffixes appended to OpenCV_ROOT_DIR
# library linkdir suffixes appended to OpenCV_ROOT_DIR
SET(OpenCV_LIBDIR_SUFFIXES
lib
OpenCV/lib
@@ -119,56 +119,56 @@ SET(OpenCV_LIBDIR_SUFFIXES
# find incdir for each lib
#
FIND_PATH(OpenCV_CV_INCLUDE_DIR
NAMES cv.h
PATHS ${OpenCV_ROOT_DIR}
NAMES cv.h
PATHS ${OpenCV_ROOT_DIR}
PATH_SUFFIXES ${OpenCV_INCDIR_SUFFIXES} )
FIND_PATH(OpenCV_CXCORE_INCLUDE_DIR
FIND_PATH(OpenCV_CXCORE_INCLUDE_DIR
NAMES cxcore.h
PATHS ${OpenCV_ROOT_DIR}
PATHS ${OpenCV_ROOT_DIR}
PATH_SUFFIXES ${OpenCV_INCDIR_SUFFIXES} )
FIND_PATH(OpenCV_CVAUX_INCLUDE_DIR
FIND_PATH(OpenCV_CVAUX_INCLUDE_DIR
NAMES cvaux.h
PATHS ${OpenCV_ROOT_DIR}
PATHS ${OpenCV_ROOT_DIR}
PATH_SUFFIXES ${OpenCV_INCDIR_SUFFIXES} )
FIND_PATH(OpenCV_HIGHGUI_INCLUDE_DIR
NAMES highgui.h
PATHS ${OpenCV_ROOT_DIR}
FIND_PATH(OpenCV_HIGHGUI_INCLUDE_DIR
NAMES highgui.h
PATHS ${OpenCV_ROOT_DIR}
PATH_SUFFIXES ${OpenCV_INCDIR_SUFFIXES} )
FIND_PATH(OpenCV_CVCAM_INCLUDE_DIR
NAMES cvcam.h
PATHS ${OpenCV_ROOT_DIR}
FIND_PATH(OpenCV_CVCAM_INCLUDE_DIR
NAMES cvcam.h
PATHS ${OpenCV_ROOT_DIR}
PATH_SUFFIXES ${OpenCV_INCDIR_SUFFIXES} )
#
# find sbsolute path to all libraries
# find sbsolute path to all libraries
# some are optionally, some may not exist on Linux
#
FIND_LIBRARY(OpenCV_CV_LIBRARY
FIND_LIBRARY(OpenCV_CV_LIBRARY
NAMES cv opencv
PATHS ${OpenCV_ROOT_DIR}
PATHS ${OpenCV_ROOT_DIR}
PATH_SUFFIXES ${OpenCV_LIBDIR_SUFFIXES} )
FIND_LIBRARY(OpenCV_CVAUX_LIBRARY
NAMES cvaux
PATHS ${OpenCV_ROOT_DIR} PATH_SUFFIXES ${OpenCV_LIBDIR_SUFFIXES} )
FIND_LIBRARY(OpenCV_CVCAM_LIBRARY
FIND_LIBRARY(OpenCV_CVCAM_LIBRARY
NAMES cvcam
PATHS ${OpenCV_ROOT_DIR} PATH_SUFFIXES ${OpenCV_LIBDIR_SUFFIXES} )
PATHS ${OpenCV_ROOT_DIR} PATH_SUFFIXES ${OpenCV_LIBDIR_SUFFIXES} )
FIND_LIBRARY(OpenCV_CVHAARTRAINING_LIBRARY
NAMES cvhaartraining
PATHS ${OpenCV_ROOT_DIR} PATH_SUFFIXES ${OpenCV_LIBDIR_SUFFIXES} )
FIND_LIBRARY(OpenCV_CXCORE_LIBRARY
PATHS ${OpenCV_ROOT_DIR} PATH_SUFFIXES ${OpenCV_LIBDIR_SUFFIXES} )
FIND_LIBRARY(OpenCV_CXCORE_LIBRARY
NAMES cxcore
PATHS ${OpenCV_ROOT_DIR} PATH_SUFFIXES ${OpenCV_LIBDIR_SUFFIXES} )
FIND_LIBRARY(OpenCV_CXTS_LIBRARY
FIND_LIBRARY(OpenCV_CXTS_LIBRARY
NAMES cxts
PATHS ${OpenCV_ROOT_DIR} PATH_SUFFIXES ${OpenCV_LIBDIR_SUFFIXES} )
FIND_LIBRARY(OpenCV_HIGHGUI_LIBRARY
FIND_LIBRARY(OpenCV_HIGHGUI_LIBRARY
NAMES highgui
PATHS ${OpenCV_ROOT_DIR} PATH_SUFFIXES ${OpenCV_LIBDIR_SUFFIXES} )
FIND_LIBRARY(OpenCV_ML_LIBRARY
FIND_LIBRARY(OpenCV_ML_LIBRARY
NAMES ml
PATHS ${OpenCV_ROOT_DIR} PATH_SUFFIXES ${OpenCV_LIBDIR_SUFFIXES} )
FIND_LIBRARY(OpenCV_TRS_LIBRARY
FIND_LIBRARY(OpenCV_TRS_LIBRARY
NAMES trs
PATHS ${OpenCV_ROOT_DIR} PATH_SUFFIXES ${OpenCV_LIBDIR_SUFFIXES} )
@@ -181,7 +181,7 @@ SET(OpenCV_FOUND ON)
DBG_MSG("OpenCV_FIND_REQUIRED_COMPONENTS=${OpenCV_FIND_REQUIRED_COMPONENTS}")
FOREACH(NAME ${OpenCV_FIND_REQUIRED_COMPONENTS} )
# only good if header and library both found
# only good if header and library both found
IF (OpenCV_${NAME}_INCLUDE_DIR AND OpenCV_${NAME}_LIBRARY)
LIST(APPEND OpenCV_INCLUDE_DIRS ${OpenCV_${NAME}_INCLUDE_DIR} )
LIST(APPEND OpenCV_LIBRARIES ${OpenCV_${NAME}_LIBRARY} )
@@ -192,13 +192,13 @@ FOREACH(NAME ${OpenCV_FIND_REQUIRED_COMPONENTS} )
"\nOpenCV_${NAME}_LIBRARY=${OpenCV_${NAME}_LIBRARY} ")
SET(OpenCV_FOUND OFF)
ENDIF (OpenCV_${NAME}_INCLUDE_DIR AND OpenCV_${NAME}_LIBRARY)
ENDFOREACH(NAME)
DBG_MSG("OpenCV_INCLUDE_DIRS=${OpenCV_INCLUDE_DIRS}")
DBG_MSG("OpenCV_LIBRARIES=${OpenCV_LIBRARIES}")
# get the link directory for rpath to be used with LINK_DIRECTORIES:
# get the link directory for rpath to be used with LINK_DIRECTORIES:
IF (OpenCV_CV_LIBRARY)
GET_FILENAME_COMPONENT(OpenCV_LINK_DIRECTORIES ${OpenCV_CV_LIBRARY} PATH)
ENDIF (OpenCV_CV_LIBRARY)
@@ -239,7 +239,7 @@ IF(NOT OpenCV_FOUND)
MESSAGE(FATAL_ERROR
"OpenCV required but some headers or libs not found. Please specify it's location with OpenCV_ROOT_DIR env. variable.")
ELSE(OpenCV_FIND_REQUIRED)
MESSAGE(STATUS
MESSAGE(STATUS
"ERROR: OpenCV was not found.")
ENDIF(OpenCV_FIND_REQUIRED)
ENDIF(NOT OpenCV_FIND_QUIETLY)
+2 -2
View File
@@ -53,7 +53,7 @@ else(PYCXX_INCLUDE_DIR)
endif(PyCXX_FIND_REQUIRED)
endif(NOT PYCXX_INCLUDE_DIR)
endif(PYCXX_INCLUDE_DIR)
# find the sources directory
if(PYCXX_SOURCE_DIR)
# source directory specified, they'd better be there
@@ -117,7 +117,7 @@ if(PYCXX_FOUND)
${PYCXX_SOURCE_DIR}/cxxsupport.cxx
${PYCXX_SOURCE_DIR}/IndirectPythonInterface.cxx
)
if(NOT ${PYCXX_VERSION} VERSION_LESS 7.0.0)
if(NOT ${PYCXX_VERSION} VERSION_LESS 6.3.0)
list(APPEND PYCXX_SOURCES
${PYCXX_SOURCE_DIR}/cxx_exceptions.cxx)
add_definitions(-DPYCXX_6_2_COMPATIBILITY)
+16 -83
View File
@@ -1,18 +1,7 @@
# Try to find PySide2 utilities, PYSIDE2UIC and PYSIDE2RCC:
# PYSIDE2UICBINARY - Location of PYSIDE2UIC executable
# PYSIDE2RCCBINARY - Location of PYSIDE2RCC executable
# PYSIDE2_TOOLS_FOUND - PySide2 utilities found.
# Also provides macro similar to FindQt4.cmake's WRAP_UI and WRAP_RC,
# for the automatic generation of Python code from Qt4's user interface
# ('.ui') and resource ('.qrc') files. These macros are called:
# - PYSIDE_WRAP_UI
# - PYSIDE_WRAP_RC
IF(PYSIDE2UICBINARY AND PYSIDE2RCCBINARY)
# Already in cache, be silent
set(PYSIDE2_TOOLS_FOUND_QUIETLY TRUE)
ENDIF(PYSIDE2UICBINARY AND PYSIDE2RCCBINARY)
# PYSIDE_UIC_EXECUTABLE - Location of PYSIDE2UIC executable
# PYSIDE_RCC_EXECUTABLE - Location of PYSIDE2RCC executable
# PYSIDE_TOOLS_FOUND - PySide2 utilities found.
if(WIN32 OR ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
#pyside2 tools are often in same location as python interpreter
@@ -27,88 +16,32 @@ FIND_PACKAGE(Qt5 COMPONENTS Core Widgets)
IF(Qt5Core_VERSION VERSION_LESS 5.14)
# Legacy (< 5.14)
FIND_PROGRAM(PYSIDE2UICBINARY NAMES python2-pyside2-uic pyside2-uic pyside2-uic-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR} pyuic5 HINTS ${PYSIDE_BIN_DIR})
FIND_PROGRAM(PYSIDE2RCCBINARY NAMES pyside2-rcc pyside2-rcc-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR} pyrcc5 HINTS ${PYSIDE_BIN_DIR})
FIND_PROGRAM(PYSIDE2_UIC_EXECUTABLE NAMES python2-pyside2-uic pyside2-uic pyside2-uic-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR} pyuic5 HINTS ${PYSIDE_BIN_DIR})
FIND_PROGRAM(PYSIDE2_RCC_EXECUTABLE NAMES pyside2-rcc pyside2-rcc-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR} pyrcc5 HINTS ${PYSIDE_BIN_DIR})
set(UICOPTIONS "")
set(RCCOPTIONS "")
ELSE()
# New (>= 5.14)
if (TARGET Qt::uic)
get_property(PYSIDE2UICBINARY TARGET Qt::uic PROPERTY LOCATION)
get_property(PYSIDE2_UIC_EXECUTABLE TARGET Qt::uic PROPERTY LOCATION)
set(UICOPTIONS "--generator=python")
endif()
if (TARGET Qt::rcc)
get_property(PYSIDE2RCCBINARY TARGET Qt::rcc PROPERTY LOCATION)
get_property(PYSIDE2_RCC_EXECUTABLE TARGET Qt::rcc PROPERTY LOCATION)
set(RCCOPTIONS "--generator=python" "--compress-algo=zlib" "--compress=1")
endif()
ENDIF(Qt5Core_VERSION VERSION_LESS 5.14)
ENDIF()
MACRO(PYSIDE_WRAP_UI outfiles)
if (NOT PYSIDE2UICBINARY)
message(FATAL_ERROR "Qt uic is required for generating ${ARGN}")
endif()
FOREACH(it ${ARGN})
GET_FILENAME_COMPONENT(outfile ${it} NAME_WE)
GET_FILENAME_COMPONENT(infile ${it} ABSOLUTE)
SET(outfile ${CMAKE_CURRENT_BINARY_DIR}/ui_${outfile}.py)
#ADD_CUSTOM_TARGET(${it} ALL
# DEPENDS ${outfile}
#)
if(WIN32 OR APPLE)
ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
COMMAND ${PYSIDE2UICBINARY} ${UICOPTIONS} ${infile} -o ${outfile}
MAIN_DEPENDENCY ${infile}
)
else()
# Especially on Open Build Service we don't want changing date like
# pyside2-uic generates in comments at beginning., which is why
# we follow the tool command with a POSIX-friendly sed.
ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
COMMAND "${PYSIDE2UICBINARY}" ${UICOPTIONS} "${infile}" -o "${outfile}"
COMMAND sed "/^# /d" "${outfile}" >"${outfile}.tmp" && mv "${outfile}.tmp" "${outfile}"
MAIN_DEPENDENCY "${infile}"
)
endif()
list(APPEND ${outfiles} ${outfile})
ENDFOREACH(it)
ENDMACRO (PYSIDE_WRAP_UI)
set(PYSIDE_RCC_EXECUTABLE ${PYSIDE2_RCC_EXECUTABLE})
set(PYSIDE_UIC_EXECUTABLE ${PYSIDE2_UIC_EXECUTABLE})
set(PySideTools_VERSION 2)
MACRO(PYSIDE_WRAP_RC outfiles)
if (NOT PYSIDE2RCCBINARY)
message(FATAL_ERROR "Qt rcc is required for generating ${ARGN}")
endif()
FOREACH(it ${ARGN})
GET_FILENAME_COMPONENT(outfile ${it} NAME_WE)
GET_FILENAME_COMPONENT(infile ${it} ABSOLUTE)
SET(outfile "${CMAKE_CURRENT_BINARY_DIR}/${outfile}_rc.py")
#ADD_CUSTOM_TARGET(${it} ALL
# DEPENDS ${outfile}
#)
if(WIN32 OR APPLE)
ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
COMMAND ${PYSIDE2RCCBINARY} ${RCCOPTIONS} ${infile} -o ${outfile}
MAIN_DEPENDENCY ${infile}
)
else()
# Especially on Open Build Service we don't want changing date like
# pyside-rcc generates in comments at beginning, which is why
# we follow the tool command with in-place sed.
ADD_CUSTOM_COMMAND(OUTPUT "${outfile}"
COMMAND "${PYSIDE2RCCBINARY}" ${RCCOPTIONS} "${infile}" ${PY_ATTRIBUTE} -o "${outfile}"
COMMAND sed "/^# /d" "${outfile}" >"${outfile}.tmp" && mv "${outfile}.tmp" "${outfile}"
MAIN_DEPENDENCY "${infile}"
)
endif()
list(APPEND ${outfiles} ${outfile})
ENDFOREACH(it)
ENDMACRO (PYSIDE_WRAP_RC)
if(PYSIDE2RCCBINARY AND PYSIDE2UICBINARY)
set(PYSIDE2_TOOLS_FOUND TRUE)
if(PYSIDE_RCC_EXECUTABLE AND PYSIDE_UIC_EXECUTABLE)
set(PYSIDE_TOOLS_FOUND TRUE)
if (NOT PySide2Tools_FIND_QUIETLY)
message(STATUS "Found PySide2 tools: ${PYSIDE2UICBINARY}, ${PYSIDE2RCCBINARY}")
message(STATUS "Found PySide2 tools: ${PYSIDE_UIC_EXECUTABLE}, ${PYSIDE_RCC_EXECUTABLE}")
endif (NOT PySide2Tools_FIND_QUIETLY)
else(PYSIDE2RCCBINARY AND PYSIDE2UICBINARY)
else()
if(PySide2Tools_FIND_REQUIRED)
message(FATAL_ERROR "PySide2 tools could not be found, but are required.")
else(PySide2Tools_FIND_REQUIRED)
@@ -116,4 +49,4 @@ else(PYSIDE2RCCBINARY AND PYSIDE2UICBINARY)
message(STATUS "PySide2 tools: not found.")
endif (NOT PySide2Tools_FIND_QUIETLY)
endif(PySide2Tools_FIND_REQUIRED)
endif(PYSIDE2RCCBINARY AND PYSIDE2UICBINARY)
endif()
+32
View File
@@ -0,0 +1,32 @@
# Try to find PYSIDE6 utilities, PYSIDE6UIC and PYSIDE6RCC:
# PYSIDE_UIC_EXECUTABLE - Location of PYSIDE6UIC executable
# PYSIDE_RCC_EXECUTABLE - Location of PYSIDE6RCC executable
# PYSIDE_TOOLS_FOUND - PYSIDE6 utilities found.
if (TARGET Qt6::uic)
get_target_property(PYSIDE6_UIC_EXECUTABLE Qt6::uic LOCATION)
set(UICOPTIONS "--generator=python")
endif()
if (TARGET Qt6::rcc)
get_target_property(PYSIDE6_RCC_EXECUTABLE Qt6::rcc LOCATION)
set(RCCOPTIONS "--generator=python" "--compress-algo=zlib" "--compress=1")
endif()
set(PYSIDE_RCC_EXECUTABLE ${PYSIDE6_RCC_EXECUTABLE})
set(PYSIDE_UIC_EXECUTABLE ${PYSIDE6_UIC_EXECUTABLE})
set(PySideTools_VERSION 6)
if(PYSIDE_RCC_EXECUTABLE AND PYSIDE_UIC_EXECUTABLE)
set(PYSIDE_TOOLS_FOUND TRUE)
if (NOT PYSIDE6Tools_FIND_QUIETLY)
message(STATUS "Found PYSIDE6 tools: ${PYSIDE_UIC_EXECUTABLE}, ${PYSIDE_RCC_EXECUTABLE}")
endif ()
else()
if(PYSIDE6Tools_FIND_REQUIRED)
message(FATAL_ERROR "PYSIDE6 tools could not be found, but are required.")
else()
if (NOT PYSIDE6Tools_FIND_QUIETLY)
message(STATUS "PYSIDE6 tools: not found.")
endif ()
endif()
endif()
+3 -3
View File
@@ -6,7 +6,7 @@
# OCULUS_LIBRARIES
#
# Copyright (c) 2012 I-maginer
#
#
# This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU Lesser General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any later
@@ -42,11 +42,11 @@ IF(OCULUS_ROOT)
${OCULUS_INCLUDE_SEARCH_DIRS}
${OCULUS_ROOT}/include
)
SET(OCULUS_LIBRARY_SEARCH_RELEASE_DIRS
SET(OCULUS_LIBRARY_SEARCH_RELEASE_DIRS
${OCULUS_LIBRARY_SEARCH_DIRS}
${OCULUS_ROOT}/Lib/x64/VS2012
)
SET(OCULUS_LIBRARY_SEARCH_DEBUG_DIRS
SET(OCULUS_LIBRARY_SEARCH_DEBUG_DIRS
${OCULUS_LIBRARY_SEARCH_DIRS}
${OCULUS_ROOT}/Lib/x64/VS2012
)
+38 -8
View File
@@ -5,23 +5,50 @@
# SMESH_INCLUDE_DIR - where the Salome SMESH include directory can be found
# SMESH_LIBRARIES - Link this to use Salome SMESH
#
# SMESH needs VTK
find_package(VTK REQUIRED)
# If this definition is not set, linker errors will occur against SMESH on 64 bit machines.
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
add_definitions(-DSALOME_USE_64BIT_IDS)
endif(CMAKE_SIZEOF_VOID_P EQUAL 8)
IF (CMAKE_COMPILER_IS_GNUCC)
FIND_PATH(SMESH_INCLUDE_DIR SMESH_Mesh.hxx
# These are default search paths, why specify them?
# /usr/include
# /usr/local/include
PATH_SUFFIXES smesh
)
FIND_LIBRARY(SMESH_LIBRARY SMESH
# /usr/lib
# /usr/local/lib
PATH_SUFFIXES smesh SMESH smesh/SMESH
)
FIND_LIBRARY(SMESH_LIBRARY SMESH)
ELSE (CMAKE_COMPILER_IS_GNUCC)
# Not yet implemented
ENDIF (CMAKE_COMPILER_IS_GNUCC)
IF(SMESH_INCLUDE_DIR)
SET(SMESH_INC_ROOT "${SMESH_INCLUDE_DIR}/..")
# Append extra include dirs
SET(SMESH_INCLUDE_DIR
"${SMESH_INCLUDE_DIR};
${SMESH_INC_ROOT}/Controls;
${SMESH_INC_ROOT}/Driver;
${SMESH_INC_ROOT}/DriverDAT;
${SMESH_INC_ROOT}/DriverGMF;
${SMESH_INC_ROOT}/DriverSTL;
${SMESH_INC_ROOT}/DriverUNV;
${SMESH_INC_ROOT}/Geom;
${SMESH_INC_ROOT}/Kernel;
${SMESH_INC_ROOT}/MEFISTO2;
${SMESH_INC_ROOT}/MeshVSLink;
${SMESH_INC_ROOT}/Netgen;
${SMESH_INC_ROOT}/NETGENPlugin;
${SMESH_INC_ROOT}/SMDS;
${SMESH_INC_ROOT}/SMESHDS;
${SMESH_INC_ROOT}/SMESHUtils;
${SMESH_INC_ROOT}/StdMeshers;")
ELSE(SMESH_INCLUDE_DIR)
message(FATAL_ERROR "SMESH include directories not found!")
ENDIF(SMESH_INCLUDE_DIR)
SET(SMESH_FOUND FALSE)
IF(SMESH_LIBRARY)
SET(SMESH_FOUND TRUE)
@@ -36,5 +63,8 @@ IF(SMESH_LIBRARY)
${SMESH_LIBRARY_DIR}/libSMESHDS.so
${SMESH_LIBRARY_DIR}/libStdMeshers.so
)
set(EXTERNAL_SMESH_LIBS ${SMESH_LIBRARIES})
ELSE(SMESH_LIBRARY)
message(FATAL_ERROR "SMESH libraries NOT FOUND!")
ENDIF(SMESH_LIBRARY)
@@ -29,8 +29,8 @@ macro(CheckInterModuleDependencies)
REQUIRES_MODS(BUILD_FLAT_MESH BUILD_MESH_PART)
REQUIRES_MODS(BUILD_OPENSCAD BUILD_MESH_PART BUILD_DRAFT)
REQUIRES_MODS(BUILD_PART_DESIGN BUILD_SKETCHER)
REQUIRES_MODS(BUILD_PATH BUILD_PART BUILD_MESH BUILD_ROBOT)
REQUIRES_MODS(BUILD_RAYTRACING BUILD_PART)
# REQUIRES_MODS(BUILD_PATH BUILD_PART BUILD_MESH BUILD_ROBOT)
REQUIRES_MODS(BUILD_PATH BUILD_PART BUILD_MESH)
REQUIRES_MODS(BUILD_REVERSEENGINEERING BUILD_PART BUILD_MESH)
REQUIRES_MODS(BUILD_ROBOT BUILD_PART)
REQUIRES_MODS(BUILD_SANDBOX BUILD_PART BUILD_MESH)
@@ -0,0 +1,88 @@
# ADAPTED FOR FREECAD FROM VTK'S vtkQt.cmake
# ORIGINAL VTK COPYRIGHT NOTICE FOLLOWS (BSD 3-CLAUSE)
#
# /*=========================================================================
#
# Program: Visualization Toolkit
# Module: Copyright.txt
#
# Copyright (c) 1993-2015 Ken Martin, Will Schroeder, Bill Lorensen
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# * Neither name of Ken Martin, Will Schroeder, or Bill Lorensen nor the names
# of any contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# =========================================================================*/
# FREECAD_QT_VERSION is used to choose between Qt5 and Qt6.
# If it is set to Auto(default), FreeCAD finds and uses the
# version installed on the system. If both versions are
# found, Qt5 is preferred.
# The output variable is FREECAD_QT_MAJOR_VERSION, which will be either 5 or 6
macro(ChooseQtVersion)
set(freecad_supported_qt_versions "Auto" 5 6)
# The following `if` check can be removed once CMake 3.21 is required and
# the policy CMP0126 is set to NEW.
if (NOT DEFINED FREECAD_QT_VERSION)
set(FREECAD_QT_VERSION "Auto" CACHE
STRING "Expected Qt major version. Valid values are Auto, 5, 6.")
set_property(CACHE FREECAD_QT_VERSION PROPERTY STRINGS "${freecad_supported_qt_versions}")
endif()
if(FREECAD_LIBPACK_USE)
if (NOT Qt5_DIR OR Qt5_DIR STREQUAL "Qt5_DIR-NOTFOUND")
message(STATUS "Using Qt5 directory from LibPack in ${FREECAD_LIBPACK_DIR}/lib/cmake/Qt5")
set(Qt5_DIR ${FREECAD_LIBPACK_DIR}/lib/cmake/Qt5)
endif()
endif()
if (NOT FREECAD_QT_VERSION STREQUAL "Auto")
if (NOT FREECAD_QT_VERSION IN_LIST freecad_supported_qt_versions)
message(FATAL_ERROR
"Supported Qt versions are \"${freecad_supported_qt_versions}\". But "
"FREECAD_QT_VERSION is set to ${FREECAD_QT_VERSION}.")
endif ()
set(_FREECAD_QT_VERSION "${FREECAD_QT_VERSION}")
else ()
find_package(Qt5 QUIET COMPONENTS Core)
set(_FREECAD_QT_VERSION 5)
if (NOT Qt5_FOUND)
find_package(Qt6 QUIET COMPONENTS Core)
if (NOT Qt6_FOUND)
message(FATAL_ERROR
"Could not find a valid Qt installation. Consider setting Qt5_DIR or Qt6_DIR (as needed).")
endif ()
set(_FREECAD_QT_VERSION 6)
endif ()
endif ()
set(FREECAD_QT_MAJOR_VERSION "${_FREECAD_QT_VERSION}" CACHE INTERNAL
"Major version number for the Qt installation used.")
message(STATUS "Compiling with Qt ${FREECAD_QT_MAJOR_VERSION}")
endmacro()
@@ -17,9 +17,9 @@ macro(CompilerChecksAndSetups)
add_definitions(-DHAVE_SNPRINTF)
endif()
# Allow developers to use Boost < 1.55
# Allow developers to use Boost < 1.65
if (NOT BOOST_MIN_VERSION)
set(BOOST_MIN_VERSION 1.55)
set(BOOST_MIN_VERSION 1.65)
endif()
# For older cmake versions the variable 'CMAKE_CXX_COMPILER_VERSION' is missing
@@ -46,10 +46,6 @@ macro(CompilerChecksAndSetups)
set(CMAKE_CXX_STANDARD 20)
elseif(${BUILD_ENABLE_CXX_STD} MATCHES "C\\+\\+17")
set(CMAKE_CXX_STANDARD 17)
elseif(${BUILD_ENABLE_CXX_STD} MATCHES "C\\+\\+14")
set(CMAKE_CXX_STANDARD 14)
elseif (${BUILD_ENABLE_CXX_STD} MATCHES "C\\+\\+11")
set(CMAKE_CXX_STANDARD 11)
endif()
# Log the compiler and version
@@ -57,7 +53,7 @@ macro(CompilerChecksAndSetups)
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANGXX)
include(${CMAKE_SOURCE_DIR}/cMake/ConfigureChecks.cmake)
configure_file(${CMAKE_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
configure_file(${CMAKE_SOURCE_DIR}/src/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
add_definitions(-DHAVE_CONFIG_H)
# For now only set pedantic option for clang
@@ -102,4 +98,7 @@ macro(CompilerChecksAndSetups)
add_definitions(-DBOOST_PP_VARIADICS=1)
message(STATUS "Force BOOST_PP_VARIADICS=1 for clang")
endif()
set (COMPILE_DEFINITIONS ${COMPILE_DEFINITIONS} BOOST_NO_CXX98_FUNCTION_BASE)
endmacro(CompilerChecksAndSetups)
@@ -0,0 +1,56 @@
macro(CopyLibpackDirectories)
# Copy libpack dependency directories to build folder for user as part of overall build process
if(FREECAD_COPY_DEPEND_DIRS_TO_BUILD)
message(STATUS "=======================================\n"
"Copying libpack dependency directories to build directory for Windows MSVC build.\n")
file(COPY ${FREECAD_LIBPACK_DIR}/bin/assistant.exe DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/bin/QtWebEngineProcess.exe DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/bin/QtWebEngineProcessd.exe DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/bin/qt.conf DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/platforms DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/imageformats DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/iconengines DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/sqldrivers DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/styles DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/printsupport DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/resources DESTINATION ${CMAKE_BINARY_DIR})
file(COPY ${FREECAD_LIBPACK_DIR}/translations/qtwebengine_locales DESTINATION ${CMAKE_BINARY_DIR}/translations)
message(STATUS "... end copying.\n=======================================\n")
endif()
if(COPY_LIBPACK_BIN_TO_BUILD)
if(FREECAD_COPY_LIBPACK_BIN_TO_BUILD)
message("=======================================\n"
"Copying libpack 'bin' directory to build directory.\n")
file(COPY ${FREECAD_LIBPACK_DIR}/bin DESTINATION ${CMAKE_BINARY_DIR})
message("... done copying libpack 'bin' directory.\n=======================================\n")
endif()
if(FREECAD_COPY_PLUGINS_BIN_TO_BUILD)
message(STATUS "=======================================\n"
"Copying plugins to build directory.")
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/imageformats DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/platforms DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/styles DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/bin/QtWebEngineProcess.exe DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/bin/QtWebEngineProcessd.exe DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/translations/qtwebengine_locales DESTINATION ${CMAKE_BINARY_DIR}/translations)
file(COPY ${FREECAD_LIBPACK_DIR}/resources DESTINATION ${CMAKE_BINARY_DIR})
file(WRITE ${CMAKE_BINARY_DIR}/bin/qt.conf "[Paths]\nPrefix=..\n")
endif()
endif()
if(FREECAD_INSTALL_DEPEND_DIRS)
# Test install command for installing/copying directories
message(STATUS "=======================================")
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/platforms DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/imageformats DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/iconengines DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/sqldrivers DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/styles DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/printsupport DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/translations/qtwebengine_locales DESTINATION ${CMAKE_INSTALL_PREFIX}/translations)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/resources DESTINATION ${CMAKE_INSTALL_PREFIX})
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/bin DESTINATION ${CMAKE_INSTALL_PREFIX})
message(STATUS "Created install commands for INSTALL target.\n")
endif()
endmacro()
@@ -18,24 +18,24 @@ macro(FreeCADLibpackChecks)
endif(FREECAD_LIBPACK_CHECKFILE_CLBUNDLER)
# -------------------------------- PyCXX --------------------------------
find_package(PyCXX REQUIRED)
find_package(PyCXX REQUIRED)
# -------------------------------- Swig ----------------------------------
find_package(SWIG)
find_package(SWIG)
if(NOT SWIG_FOUND)
message("==================================================\n"
"SWIG not found, don't build SWIG binding for pivy.\n"
"==================================================\n")
endif(NOT SWIG_FOUND)
if(NOT SWIG_FOUND)
message("==================================================\n"
"SWIG not found, don't build SWIG binding for pivy.\n"
"==================================================\n")
endif(NOT SWIG_FOUND)
# -------------------------------- Salome SMESH --------------------------
if(NOT FREECAD_USE_EXTERNAL_SMESH)
set(SMESH_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/src/3rdParty/salomesmesh/inc)
endif()
if(NOT FREECAD_USE_EXTERNAL_SMESH)
set(SMESH_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/src/3rdParty/salomesmesh/inc)
endif()
endif(FREECAD_LIBPACK_USE)
endif(FREECAD_LIBPACK_USE)
endmacro(FreeCADLibpackChecks)
@@ -8,6 +8,7 @@ macro(InitializeFreeCADBuildOptions)
option(FREECAD_USE_EXTERNAL_ZIPIOS "Use system installed zipios++ instead of the bundled." OFF)
option(FREECAD_USE_EXTERNAL_SMESH "Use system installed smesh instead of the bundled." OFF)
option(FREECAD_USE_EXTERNAL_KDL "Use system installed orocos-kdl instead of the bundled." OFF)
option(FREECAD_USE_EXTERNAL_FMT "Use system installed fmt library if available instead of fetching the source." ON)
option(FREECAD_USE_FREETYPE "Builds the features using FreeType libs" ON)
option(FREECAD_BUILD_DEBIAN "Prepare for a build of a Debian package" OFF)
option(BUILD_WITH_CONDA "Set ON if you build FreeCAD with conda" OFF)
@@ -25,7 +26,6 @@ macro(InitializeFreeCADBuildOptions)
option(FREECAD_RELEASE_PDB "Create PDB files for Release version." ON)
option(FREECAD_RELEASE_SEH "Enable Structured Exception Handling for Release version." ON)
option(FREECAD_LIBPACK_USE "Use the LibPack to Build FreeCAD (only Win32 so far)." ON)
option(FREECAD_LIBPACK_USEPYSIDE "Use PySide in LibPack rather to PyQt and Swig." ON)
option(FREECAD_USE_PCH "Activate precompiled headers where it's used." ON)
if (DEFINED ENV{FREECAD_LIBPACK_DIR})
@@ -55,13 +55,14 @@ macro(InitializeFreeCADBuildOptions)
endif()
else()
message("Libpack NOT found.\nIf you intend to use a Windows libpack, set the FREECAD_LIBPACK_DIR to the libpack directory.")
message(STATUS "Visit: https://github.com/apeltauer/FreeCAD/releases/ for Windows libpack downloads.")
message(STATUS "Visit: https://github.com/FreeCAD/FreeCAD-Libpack/releases/ for Windows libpack downloads.")
endif()
else(MSVC)
option(FREECAD_LIBPACK_USE "Use the LibPack to Build FreeCAD (only Win32 so far)." OFF)
set(FREECAD_LIBPACK_DIR "" CACHE PATH "Directory of the FreeCAD LibPack")
endif(MSVC)
option(BUILD_QT5 "Build with Qt5." ON)
ChooseQtVersion()
# https://blog.kitware.com/constraining-values-with-comboboxes-in-cmake-cmake-gui/
set(FREECAD_USE_OCC_VARIANT "Community Edition" CACHE STRING "Official OpenCASCADE version or community edition")
@@ -70,14 +71,6 @@ macro(InitializeFreeCADBuildOptions)
"Community Edition"
)
if (BUILD_QT5)
set(FREECAD_USE_QTWEBMODULE "Automatic" CACHE STRING "Qt Webkit or Qt WebEngine")
set_property(CACHE FREECAD_USE_QTWEBMODULE PROPERTY STRINGS
"Automatic"
"Qt Webkit"
"Qt WebEngine"
)
endif()
configure_file(${CMAKE_SOURCE_DIR}/src/QtOpenGL.h.cmake ${CMAKE_BINARY_DIR}/src/QtOpenGL.h)
option(BUILD_DESIGNER_PLUGIN "Build and install the designer plugin" OFF)
@@ -111,25 +104,22 @@ macro(InitializeFreeCADBuildOptions)
option(BUILD_TEMPLATE "Build the FreeCAD template module which is only for testing purposes" OFF)
option(BUILD_ADDONMGR "Build the FreeCAD addon manager module" ON)
option(BUILD_ARCH "Build the FreeCAD Architecture module" ON)
option(BUILD_COMPLETE "Build the FreeCAD complete module" OFF)
option(BUILD_DRAFT "Build the FreeCAD draft module" ON)
option(BUILD_DRAWING "Build the FreeCAD drawing module" OFF)
option(BUILD_IDF "Build the FreeCAD idf module" ON)
option(BUILD_IMAGE "Build the FreeCAD image module" ON)
option(BUILD_IMPORT "Build the FreeCAD import module" ON)
option(BUILD_INSPECTION "Build the FreeCAD inspection module" ON)
option(BUILD_JTREADER "Build the FreeCAD jt reader module" OFF)
option(BUILD_MATERIAL "Build the FreeCAD material module" ON)
option(BUILD_MESH "Build the FreeCAD mesh module" ON)
option(BUILD_MESH_PART "Build the FreeCAD mesh part module" ON)
option(BUILD_FLAT_MESH "Build the FreeCAD flat mesh module" OFF)
option(BUILD_FLAT_MESH "Build the FreeCAD flat mesh module" ON)
option(BUILD_OPENSCAD "Build the FreeCAD openscad module" ON)
option(BUILD_PART "Build the FreeCAD part module" ON)
option(BUILD_PART_DESIGN "Build the FreeCAD part design module" ON)
option(BUILD_PATH "Build the FreeCAD path module" ON)
option(BUILD_PLOT "Build the FreeCAD plot module" ON)
option(BUILD_POINTS "Build the FreeCAD points module" ON)
option(BUILD_RAYTRACING "Build the FreeCAD ray tracing module" ON)
option(BUILD_REVERSEENGINEERING "Build the FreeCAD reverse engineering module" ON)
option(BUILD_ROBOT "Build the FreeCAD robot module" ON)
option(BUILD_SHOW "Build the FreeCAD Show module (helper module for visibility automation)" ON)
@@ -143,6 +133,7 @@ macro(InitializeFreeCADBuildOptions)
option(BUILD_SURFACE "Build the FreeCAD surface module" ON)
option(BUILD_VR "Build the FreeCAD Oculus Rift support (need Oculus SDK 4.x or higher)" OFF)
option(BUILD_CLOUD "Build the FreeCAD cloud module" OFF)
option(ENABLE_DEVELOPER_TESTS "Build the FreeCAD unit tests suit" ON)
if(MSVC)
option(BUILD_FEM_NETGEN "Build the FreeCAD FEM module with the NETGEN mesher" ON)
+175 -257
View File
@@ -1,267 +1,185 @@
macro(PrintFinalReport)
# -------------------------------- The final report ----------------------------------
message(STATUS "\n==============\n"
"Summary report\n"
"==============\n")
if (DEFINED CMAKE_BUILD_TYPE)
message(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
endif()
# name and value
macro(simple)
set(name ${ARGV0})
set(value ${ARGV1})
if(NOT value)
set(value "-undefined-")
endif()
string(APPEND name ": ")
string(SUBSTRING ${name} 0 28 nameStr)
list(APPEND simpleLines "${nameStr} ${value}")
endmacro()
message(STATUS "Compiler: ${CMAKE_CXX_COMPILER} (${CMAKE_CXX_COMPILER_VERSION})")
message(STATUS "Flags: ${CMAKE_CXX_FLAGS}")
message(STATUS "Standard: Requires C++${CMAKE_CXX_STANDARD}")
# just a value
macro(value)
unset(val)
set(name ${ARGV0})
if(${name})
set(val ${${name}}) # name has a value
elseif(DEFINED ${name})
set(val "OFF ") #!
endif()
simple(${name} ${val})
endmacro()
# conditional data
macro(conditional)
set(name ${ARGV0})
set(condition ${ARGV1})
set(ifFalse ${ARGV2})
set(ifTrue ${ARGV3})
if(${condition})
set(out ${ifTrue})
else()
set(out ${ifFalse})
endif()
simple(${name} ${out})
endmacro()
function(section_begin name)
unset(simpleLines PARENT_SCOPE)
message("\n ==============\n"
" ${name}\n"
" ==============\n")
endfunction()
function(section_end)
list(SORT simpleLines CASE INSENSITIVE)
foreach(line ${simpleLines})
message(STATUS ${line})
endforeach()
endfunction()
############## System ####################
section_begin(System)
simple(Compiler "${CMAKE_CXX_COMPILER} (${CMAKE_CXX_COMPILER_VERSION})")
value(CMAKE_VERSION)
simple(prefix ${CMAKE_INSTALL_PREFIX})
simple(bindir ${CMAKE_INSTALL_BINDIR})
simple(datadir ${CMAKE_INSTALL_DATADIR})
simple(docdir ${CMAKE_INSTALL_DOCDIR})
simple(includedir ${CMAKE_INSTALL_INCLUDEDIR})
simple(libdir ${CMAKE_INSTALL_LIBDIR})
simple(Python "${Python3_VERSION} [${PYTHON_EXECUTABLE}] Suffix: [${PYTHON_CONFIG_SUFFIX}]")
value(BLAS)
section_end()
############## Config ####################
section_begin(Config)
value(CMAKE_CXX_STANDARD)
value(CMAKE_CXX_FLAGS)
value(CMAKE_BUILD_TYPE)
value(ENABLE_DEVELOPER_TESTS)
value(FREECAD_USE_FREETYPE)
value(FREECAD_USE_EXTERNAL_SMESH)
value(BUILD_SMESH)
value(BUILD_VR)
value(CMAKE_PREFIX_PATH)
value(FREECAD_QT_VERSION)
value(PYTHON_EXECUTABLE)
value(PYTHON_LIBRARY)
value(FREECAD_CREATE_MAC_APP)
value(FREECAD_USE_PYBIND11)
value(FREECAD_USE_EXTERNAL_KDL)
value(BUILD_FEM)
value(BUILD_WEB)
value(BUILD_GUI)
value(BUILD_START)
value(BUILD_TECHDRAW)
value(CMAKE_INSTALL_PREFIX)
value(USE_CUDA)
value(USE_OPENCV)
value(FREECAD_LIBPACK_USE)
section_end()
################ Libraries ##################
section_begin(Libraries)
# Qt5 needs/sets PYTHON_CONFIG_SUFFIX regarding Shiboken
message(STATUS "Python: ${PYTHON_VERSION_STRING} [${PYTHON_EXECUTABLE}] [${PYTHON_CONFIG_SUFFIX}]")
if(DEFINED PCL_FOUND)
message(STATUS "PCL: ${PCL_VERSION}")
else(DEFINED PCL_FOUND)
message(STATUS "PCL: not enabled")
endif(DEFINED PCL_FOUND)
if(DEFINED pybind11_FOUND)
message(STATUS "pybind11: ${pybind11_VERSION}")
else(DEFINED pybind11_FOUND)
message(STATUS "pybind11: not enabled")
endif(DEFINED pybind11_FOUND)
message(STATUS "Boost: ${Boost_VERSION}")
message(STATUS "XercesC: ${XercesC_VERSION} [${XercesC_LIBRARIES}] [${XercesC_INCLUDE_DIRS}]")
message(STATUS "ZLIB: ${ZLIB_VERSION_STRING}")
message(STATUS "PyCXX: ${PYCXX_VERSION} [${PYCXX_INCLUDE_DIR}]")
message(STATUS "OCC: ${OCC_VERSION_STRING} [${OCC_LIBRARIES}] [${OCC_LIBRARY_DIR}] [${OCC_INCLUDE_DIR}]")
conditional(pybind11 pybind11_FOUND "not enabled" ${pybind11_VERSION})
simple(Boost ${Boost_VERSION})
simple(XercesC "${XercesC_VERSION} [${XercesC_LIBRARIES}] [${XercesC_INCLUDE_DIRS}]")
simple(ZLIB "${ZLIB_VERSION_STRING}")
simple(OCC "${OCC_VERSION_STRING} [${OCC_LIBRARY_DIR}] [${OCC_INCLUDE_DIR}]")
simple(OCC_Libs "[${OCC_LIBRARIES}]")
if(BUILD_SMESH)
if(FREECAD_USE_EXTERNAL_SMESH)
message(STATUS "SMESH: ${SMESH_VERSION_MAJOR}.${SMESH_VERSION_MINOR}.${SMESH_VERSION_PATCH}.${SMESH_VERSION_TWEAK}")
else(FREECAD_USE_EXTERNAL_SMESH)
message(STATUS "SMESH: ${SMESH_VERSION_MAJOR}.${SMESH_VERSION_MINOR}.${SMESH_VERSION_PATCH}.${SMESH_VERSION_TWEAK} build internal")
message(STATUS "MEDFile: ${MEDFILE_VERSION} [${MEDFILE_LIBRARIES}] [${MEDFILE_INCLUDE_DIRS}]")
message(STATUS "HDF5: ${HDF5_VERSION}")
message(STATUS "VTK: ${VTK_VERSION}")
endif(FREECAD_USE_EXTERNAL_SMESH)
else(BUILD_SMESH)
message(STATUS "SMESH: do not build")
endif(BUILD_SMESH)
if(DEFINED NETGEN_FOUND)
message(STATUS "NETGEN: ${NETGEN_VERSION_MAJOR}.${NETGEN_VERSION_MINOR}.${NETGEN_VERSION_PATCH} (${NETGEN_VERSION}) [${NETGEN_DEFINITIONS}] [${NETGEN_CXX_FLAGS}] [${NGLIB_INCLUDE_DIR}] [${NGLIB_LIBRARIES}] [${NETGEN_INCLUDE_DIRS}]")
else(DEFINED NETGEN_FOUND)
message(STATUS "NETGEN: not enabled")
endif(DEFINED NETGEN_FOUND)
#message(STATUS "OpenCV: ${OpenCV_VERSION}")
if(DEFINED SWIG_FOUND)
message(STATUS "SWIG: ${SWIG_VERSION}")
else(DEFINED SWIG_FOUND)
message(STATUS "SWIG: not found")
endif(DEFINED SWIG_FOUND)
if(DEFINED EIGEN3_FOUND)
message(STATUS "Eigen3 ${EIGEN3_VERSION}")
else(DEFINED EIGEN3_FOUND)
message(STATUS "Eigen3: not found")
endif(DEFINED EIGEN3_FOUND)
message(STATUS "Qt5Core: ${Qt5Core_VERSION}")
message(STATUS "Qt5Network: ${Qt5Network_VERSION}")
message(STATUS "Qt5Xml: ${Qt5Xml_VERSION}")
message(STATUS "Qt5XmlPatterns: ${Qt5XmlPatterns_VERSION}")
if (BUILD_GUI)
message(STATUS "Qt5Widgets: ${Qt5Widgets_VERSION}")
message(STATUS "Qt5PrintSupport: ${Qt5PrintSupport_VERSION}")
message(STATUS "Qt5OpenGL: ${Qt5OpenGL_VERSION}")
message(STATUS "Qt5Svg: ${Qt5Svg_VERSION}")
message(STATUS "Qt5UiTools: ${Qt5UiTools_VERSION}")
message(STATUS "Qt5Concurrent: ${Qt5Concurrent_VERSION}")
if(BUILD_WEB)
if (Qt5WebKitWidgets_FOUND)
message(STATUS "Qt5WebKitWidgets: ${Qt5WebKitWidgets_VERSION}")
endif()
if (Qt5WebEngineWidgets_FOUND)
message(STATUS "Qt5WebEngineWidgets: ${Qt5WebEngineWidgets_VERSION}")
endif()
else(BUILD_WEB)
message(STATUS "Qt5WebKitWidgets: not needed (BUILD_WEB)")
message(STATUS "Qt5WebEngineWidgets: not needed (BUILD_WEB)")
endif(BUILD_WEB)
if(BUILD_DESIGNER_PLUGIN)
message(STATUS "Designer plugin: ${DESIGNER_PLUGIN_LOCATION}/${libFreeCAD_widgets}")
else(BUILD_DESIGNER_PLUGIN)
message(STATUS "Designer plugin: not built per user request (BUILD_DESIGNER_PLUGIN)")
endif(BUILD_DESIGNER_PLUGIN)
if(${Qt5WinExtras_FOUND})
message(STATUS "Qt5WinExtras: ${Qt5WinExtras_VERSION}")
simple(SMESH "${SMESH_VERSION_MAJOR}.${SMESH_VERSION_MINOR}.${SMESH_VERSION_PATCH}.${SMESH_VERSION_TWEAK}")
else()
simple(SMESH "${SMESH_VERSION_MAJOR}.${SMESH_VERSION_MINOR}.${SMESH_VERSION_PATCH}.${SMESH_VERSION_TWEAK} build internal")
simple(MEDFile "${MEDFILE_VERSION} [${MEDFILE_LIBRARIES}] [${MEDFILE_INCLUDE_DIRS}]")
simple(HDF5 ${HDF5_VERSION})
simple(VTK ${VTK_VERSION})
endif()
else(BUILD_GUI)
message(STATUS "Qt5Widgets: not needed")
message(STATUS "Qt5PrintSupport: not needed")
message(STATUS "Qt5OpenGL: not needed")
message(STATUS "Qt5Svg: not needed")
message(STATUS "Qt5UiTools: not needed")
message(STATUS "Qt5Concurrent: not needed")
message(STATUS "Qt5WebKitWidgets: not needed")
endif(BUILD_GUI)
if(DEFINED MACPORTS_PREFIX)
if(DEFINED Shiboken_FOUND)
message(STATUS "Shiboken: ${Shiboken_VERSION} [${SHIBOKEN_INCLUDE_DIR}]")
else(DEFINED Shiboken_FOUND)
message(STATUS "Shiboken: not found (only searched if MACPORTS_PREFIX is defined)")
endif(DEFINED Shiboken_FOUND)
if(DEFINED PySide_FOUND)
message(STATUS "PySide: ${PySide_VERSION} [${PYSIDE_INCLUDE_DIR}]")
if(NOT PYSIDE_INCLUDE_DIR)
message(STATUS " IncludeDir: Unable to find, python version mismatch?")
endif(NOT PYSIDE_INCLUDE_DIR)
else(DEFINED PySide_FOUND)
message(STATUS "PySide: not found (only searched if MACPORTS_PREFIX is defined)")
endif(DEFINED PySide_FOUND)
endif(DEFINED MACPORTS_PREFIX)
if(DEFINED Shiboken2_FOUND)
message(STATUS "Shiboken2: ${Shiboken2_VERSION} [${Shiboken2_DIR}] [${SHIBOKEN_INCLUDE_DIR}]")
else(DEFINED Shiboken2_FOUND)
message(STATUS "Shiboken2: not found")
endif(DEFINED Shiboken2_FOUND)
if(DEFINED PySide2_FOUND)
message(STATUS "PySide2: ${PySide2_VERSION} [${PYSIDE_INCLUDE_DIR}]")
if(NOT PYSIDE_INCLUDE_DIR)
message(STATUS " IncludeDir: Unable to find, python version mismatch?")
endif(NOT PYSIDE_INCLUDE_DIR)
else(DEFINED PySide2_FOUND)
message(STATUS "PySide2: not found")
endif(DEFINED PySide2_FOUND)
if(DEFINED PYSIDE2_TOOLS_FOUND)
message(STATUS "PySide2Tools: [${PYSIDE2UICBINARY}] [${PYSIDE2RCCBINARY}]")
else(DEFINED PYSIDE2_TOOLS_FOUND)
message(STATUS "PySide2Tools: not found")
endif(DEFINED PYSIDE2_TOOLS_FOUND)
if(FREECAD_USE_FREETYPE)
if(DEFINED FREETYPE_FOUND)
message(STATUS "Freetype: ${FREETYPE_VERSION_STRING}")
else(DEFINED FREETYPE_FOUND)
message(STATUS "Freetype: not found")
endif(DEFINED FREETYPE_FOUND)
else(FREECAD_USE_FREETYPE)
message(STATUS "Freetype: disabled")
endif(FREECAD_USE_FREETYPE)
message(STATUS "OpenGL: ${OPENGL_gl_LIBRARY}")
message(STATUS "OpenGLU: [${OPENGL_glu_LIBRARY}][${OPENGL_INCLUDE_DIR}]")
message(STATUS "Coin3D: ${COIN3D_VERSION} [${COIN3D_LIBRARIES}] [${COIN3D_INCLUDE_DIRS}]")
message(STATUS "Pivy: ${PIVY_VERSION}")
if (WIN32)
#message(STATUS "SPNAV: not available yet for your OS") # FREECAD_USE_3DCONNEXION instead...
else(WIN32)
if(DEFINED SPNAV_FOUND)
message(STATUS "SPNAV: [${SPNAV_LIBRARY}] [${SPNAV_INCLUDE_DIR}]")
else(DEFINED SPNAV_FOUND)
message(STATUS "SPNAV: not found")
endif(DEFINED SPNAV_FOUND)
endif(WIN32)
if(MATPLOTLIB_FOUND)
message(STATUS "Matplotlib: ${MATPLOTLIB_VERSION}")
else(MATPLOTLIB_FOUND)
message(STATUS "Matplotlib: not found")
endif(MATPLOTLIB_FOUND)
if(BUILD_VR)
if(DEFINED RIFT_FOUND)
message(STATUS "Rift: ${Rift_VERSION}")
else(DEFINED RIFT_FOUND)
message(STATUS "Rift: not found")
endif(DEFINED RIFT_FOUND)
else(BUILD_VR)
message(STATUS "Rift: not enabled (BUILD_VR)")
endif(BUILD_VR)
if(DOXYGEN_FOUND)
message(STATUS "Doxygen: ${DOXYGEN_VERSION}")
message(STATUS "Language: ${DOXYGEN_LANGUAGE}")
if(COIN3D_DOC_FOUND)
message(STATUS "Coin3D_DOC: found [${COIN3D_DOC_PATH}]")
else(COIN3D_DOC_FOUND)
message(STATUS "Coin3D_DOC: not found")
endif(COIN3D_DOC_FOUND)
else(DOXYGEN_FOUND)
message(STATUS "Doxygen: not found")
endif(DOXYGEN_FOUND)
if(MSVC)
# Copy libpack dependency directories to build folder for user as part of overall build process
if(FREECAD_LIBPACK_USE AND LIBPACK_FOUND)
if(FREECAD_COPY_DEPEND_DIRS_TO_BUILD)
message(STATUS "=======================================\n"
"Copying libpack dependency directories to build directory for Windows MSVC build.\n")
file(COPY ${FREECAD_LIBPACK_DIR}/bin/assistant.exe DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/bin/QtWebEngineProcess.exe DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/bin/QtWebEngineProcessd.exe DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/bin/qt.conf DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/platforms DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/imageformats DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/iconengines DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/sqldrivers DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/styles DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/printsupport DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/resources DESTINATION ${CMAKE_BINARY_DIR})
file(COPY ${FREECAD_LIBPACK_DIR}/translations/qtwebengine_locales DESTINATION ${CMAKE_BINARY_DIR}/translations)
message(STATUS "... end copying.\n=======================================\n")
endif(FREECAD_COPY_DEPEND_DIRS_TO_BUILD)
if(COPY_LIBPACK_BIN_TO_BUILD)
if(FREECAD_COPY_LIBPACK_BIN_TO_BUILD)
message("=======================================\n"
"Copying libpack 'bin' directory to build directory.\n")
file(COPY ${FREECAD_LIBPACK_DIR}/bin DESTINATION ${CMAKE_BINARY_DIR})
message("... done copying libpack 'bin' directory.\n=======================================\n")
endif()
if(FREECAD_COPY_PLUGINS_BIN_TO_BUILD)
message(STATUS "=======================================\n"
"Copying plugins to build directory.")
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/imageformats DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/platforms DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/styles DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/bin/QtWebEngineProcess.exe DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/bin/QtWebEngineProcessd.exe DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/translations/qtwebengine_locales DESTINATION ${CMAKE_BINARY_DIR}/translations)
file(COPY ${FREECAD_LIBPACK_DIR}/resources DESTINATION ${CMAKE_BINARY_DIR})
file(WRITE ${CMAKE_BINARY_DIR}/bin/qt.conf "[Paths]\nPrefix=..\n")
endif()
endif()
if(FREECAD_INSTALL_DEPEND_DIRS)
# Test install command for installing/copying directories
message(STATUS "=======================================")
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/platforms DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/imageformats DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/iconengines DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/sqldrivers DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/styles DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/printsupport DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/translations/qtwebengine_locales DESTINATION ${CMAKE_INSTALL_PREFIX}/translations)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/resources DESTINATION ${CMAKE_INSTALL_PREFIX})
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/bin DESTINATION ${CMAKE_INSTALL_PREFIX})
message(STATUS "Created install commands for INSTALL target.\n")
endif(FREECAD_INSTALL_DEPEND_DIRS)
endif(FREECAD_LIBPACK_USE AND LIBPACK_FOUND)
else()
simple(SMESH "do not build")
endif()
conditional(NETGEN NETGEN_FOUND
"not enabled"
"${NETGEN_VERSION_MAJOR}.${NETGEN_VERSION_MINOR}.${NETGEN_VERSION_PATCH} (${NETGEN_VERSION}) [${NETGEN_DEFINITIONS}] [${NETGEN_CXX_FLAGS}] [${NGLIB_INCLUDE_DIR}] [${NGLIB_LIBRARIES}] [${NETGEN_INCLUDE_DIRS}]"
)
#simple(OpenCV ${OpenCV_VERSION})
conditional(SWIG SWIG_FOUND "not found" ${SWIG_VERSION})
conditional(Eigen3 EIGEN3_FOUND "not found" ${EIGEN3_VERSION})
conditional(QtConcurrent BUILD_GUI "not needed" ${QtConcurrent_VERSION})
simple(QtCore ${QtCore_VERSION})
simple(QtNetwork ${QtNetwork_VERSION})
conditional(QtOpenGL BUILD_GUI "not needed" ${QtOpenGL_VERSION})
conditional(QtPrintSupport BUILD_GUI "not needed" ${QtPrintSupport_VERSION})
conditional(QtSvg BUILD_GUI "not needed" ${QtSvg_VERSION})
conditional(QtUiTools BUILD_GUI "not needed" ${QtUiTools_VERSION})
conditional(QtWidgets BUILD_GUI "not needed" ${QtWidgets_VERSION})
simple(QtXml ${QtXml_VERSION})
if (BUILD_GUI)
conditional(QtWebEngineWidgets BUILD_WEB "not needed (BUILD_WEB is OFF)" ${QtWebEngineWidgets_VERSION})
conditional(DesignerPlugin BUILD_DESIGNER_PLUGIN
"not built (BUILD_DESIGNER_PLUGIN is OFF)"
"[${DESIGNER_PLUGIN_LOCATION}/${libFreeCAD_widgets}]"
)
else()
simple(QtWebKitWidgets "not needed")
endif()
conditional(Shiboken Shiboken${SHIBOKEN_MAJOR_VERSION}_FOUND "not found" "${Shiboken_VERSION} [${SHIBOKEN_INCLUDE_DIR}]")
conditional(PySide PySide${PYSIDE_MAJOR_VERSION}_FOUND "not found" "${PySide_VERSION} [${PYSIDE_INCLUDE_DIR}]")
conditional(PySideTools PYSIDE_TOOLS_FOUND
"not found"
"v: ${PySideTools_VERSION} uic: [${PYSIDE_UIC_EXECUTABLE}] rcc: [${PYSIDE_RCC_EXECUTABLE}]"
)
if(FREECAD_USE_FREETYPE)
conditional(Freetype FREETYPE_FOUND "not found" ${FREETYPE_VERSION_STRING})
else()
simple(Freetype "disabled")
endif()
simple(OpenGL_Lib [${OPENGL_gl_LIBRARY}])
simple(OpenGLU_Lib [${OPENGL_glu_LIBRARY}])
simple(OpenGLU_Incl [${OPENGL_INCLUDE_DIR}])
simple(Coin3D "${COIN3D_VERSION} [${COIN3D_LIBRARIES}] [${COIN3D_INCLUDE_DIRS}]")
simple(pivy ${PIVY_VERSION})
if (WIN32)
#simple(SPNAV "not available yet for your OS") # FREECAD_USE_3DCONNEXION instead...
else()
conditional(SPNAV SPNAV_FOUND "not found" "[${SPNAV_LIBRARY}] [${SPNAV_INCLUDE_DIR}]")
endif()
conditional(Matplotlib MATPLOTLIB_FOUND "not found" "${MATPLOTLIB_VERSION} PathDirs: ${MATPLOTLIB_PATH_DIRS}")
if(BUILD_VR)
conditional(Rift RIFT_FOUND "not found" ${Rift_VERSION})
else()
simple(Rift "not enabled (BUILD_VR)")
endif()
conditional(Doxygen DOXYGEN_FOUND "not found" "${DOXYGEN_VERSION} Language: ${DOXYGEN_LANGUAGE}")
conditional(Coin3D_DOC COIN3D_DOC_FOUND "not found" ${COIN3D_DOC_PATH})
conditional(PYCXX PYCXX_FOUND "not found" "${PYCXX_VERSION} Incl: ${PYCXX_INCLUDE_DIR} Src:${PYCXX_SOURCE_DIR}")
conditional(fmt fmt_FOUND "Sources downloaded to ${fmt_SOURCE_DIR}" "${fmt_VERSION}")
# Print message to start build process
message("=================================================\n"
"Now run 'cmake --build ${CMAKE_BINARY_DIR}' to build ${PROJECT_NAME}\n"
"=================================================\n")
endmacro(PrintFinalReport)
section_end()
endmacro()
@@ -5,6 +5,6 @@ macro(SetLibraryVersions)
set(HAVE_OCC_VERSION 1)
endif(OCC_INCLUDE_DIR AND EXISTS ${OCC_INCLUDE_DIR}/Standard_Version.hxx)
configure_file(LibraryVersions.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/LibraryVersions.h)
configure_file(${CMAKE_SOURCE_DIR}/src/LibraryVersions.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/LibraryVersions.h)
endmacro(SetLibraryVersions)
+32 -4
View File
@@ -1,11 +1,39 @@
macro(SetupCoin3D)
# -------------------------------- Coin3D --------------------------------
find_package(Coin3D REQUIRED)
if (WIN32 AND MINGW)
find_path(COIN3D_INCLUDE_DIRS Inventor/So.h)
find_library(COIN3D_LIBRARIES Coin)
endif ()
# Try MODULE mode
find_package(Coin3D)
if(NOT COIN3D_FOUND)
message(FATAL_ERROR "=================\n"
"Coin3D not found.\n"
"=================\n")
# Try CONFIG mode
find_package(Coin CONFIG REQUIRED)
if (Coin_FOUND)
set (COIN3D_INCLUDE_DIRS ${Coin_INCLUDE_DIR})
set (COIN3D_LIBRARIES ${Coin_LIBRARIES})
else()
message(FATAL_ERROR "=================\n"
"Coin3D not found.\n"
"=================\n")
endif()
endif(NOT COIN3D_FOUND)
IF(NOT COIN3D_VERSION)
file(READ "${COIN3D_INCLUDE_DIRS}/Inventor/C/basic.h" _coin3d_basic_h)
string(REGEX MATCH "define[ \t]+COIN_MAJOR_VERSION[ \t]+([0-9?])" _coin3d_major_version_match "${_coin3d_basic_h}")
set(COIN3D_MAJOR_VERSION "${CMAKE_MATCH_1}")
string(REGEX MATCH "define[ \t]+COIN_MINOR_VERSION[ \t]+([0-9?])" _coin3d_minor_version_match "${_coin3d_basic_h}")
set(COIN3D_MINOR_VERSION "${CMAKE_MATCH_1}")
string(REGEX MATCH "define[ \t]+COIN_MICRO_VERSION[ \t]+([0-9?])" _coin3d_micro_version_match "${_coin3d_basic_h}")
set(COIN3D_MICRO_VERSION "${CMAKE_MATCH_1}")
set(COIN3D_VERSION "${COIN3D_MAJOR_VERSION}.${COIN3D_MINOR_VERSION}.${COIN3D_MICRO_VERSION}")
ENDIF()
IF(NOT PIVY_VERSION)
execute_process (COMMAND ${Python3_EXECUTABLE} -c "import pivy as p; print(p.__version__,end='')" OUTPUT_VARIABLE PIVY_VERSION)
ENDIF()
endmacro(SetupCoin3D)
+2 -2
View File
@@ -11,14 +11,14 @@ macro(SetupEigen)
"=================\n")
endif(NOT EIGEN3_FOUND)
if (${EIGEN3_VERSION} VERSION_LESS "3.3.1")
if (EIGEN3_FOUND AND ${EIGEN3_VERSION} VERSION_LESS "3.3.1")
message(WARNING "Disable module flatmesh because it requires "
"minimum Eigen3 version 3.3.1 but version ${EIGEN3_VERSION} was found")
set (BUILD_FLAT_MESH OFF)
endif()
# Older versions raise the warning -Wdeprecated-copy with clang10/gcc10
if (${EIGEN3_VERSION} VERSION_LESS "3.3.8")
if (EIGEN3_FOUND AND ${EIGEN3_VERSION} VERSION_LESS "3.3.8")
unset(_flag_found CACHE)
check_cxx_compiler_flag("-Wno-deprecated-copy" _flag_found)
if (_flag_found)
+48
View File
@@ -0,0 +1,48 @@
macro(SetupLibFmt)
# This internet check idea is borrowed from:
# https://stackoverflow.com/questions/62214621/how-to-check-for-internet-connection-with-cmake-automatically-prevent-fails-if
if(FREECAD_USE_EXTERNAL_FMT)
find_package(fmt QUIET)
endif()
if(fmt_FOUND)
message(STATUS "find_package() was used to locate fmt version ${fmt_VERSION}")
else()
message(STATUS "Checking for connection to GitHub...")
if (WIN32)
set(ping_command "ping /n 1 /w 3 github.com")
else()
set(ping_command "ping -c 1 -W 3 github.com")
endif()
execute_process(
COMMAND ${ping_command}
RESULT_VARIABLE NO_CONNECTION
)
if(NO_CONNECTION GREATER 0)
set(FETCHCONTENT_UPDATES_DISCONNECTED ON)
message(WARNING "NO INTERNET CONNECTION: Using disconnected mode for FetchContent updates")
else()
message(STATUS "GitHub connection established for FetchContent")
set(FETCHCONTENT_UPDATES_DISCONNECTED OFF)
endif()
include(FetchContent)
if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.24.0")
cmake_policy(SET CMP0135 NEW)
endif()
FetchContent_Declare(fmt
URL https://github.com/fmtlib/fmt/archive/refs/tags/9.1.0.zip
URL_MD5 e6754011ff56bfc37631fcc90961e377
)
FetchContent_MakeAvailable(fmt)
set_target_properties(fmt PROPERTIES POSITION_INDEPENDENT_CODE ON)
if(${fmt_POPULATED})
message(STATUS "fmt was downloaded using FetchContent into ${fmt_SOURCE_DIR}")
else()
message(ERROR "Failed to install the fmt library")
endif()
endif()
endmacro()
+13 -154
View File
@@ -1,162 +1,21 @@
macro(SetupPython)
# -------------------------------- Python --------------------------------
# For building on OS X
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin" AND NOT BUILD_WITH_CONDA)
find_package(Python3 COMPONENTS Interpreter Development REQUIRED)
# If the user doesn't tell us which package manager they're using
if(NOT DEFINED MACPORTS_PREFIX AND NOT DEFINED HOMEBREW_PREFIX)
# For backwards compatibility with old CMake scripts
set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE})
set(PYTHON_LIBRARIES ${Python3_LIBRARIES})
set(PYTHON_INCLUDE_DIRS ${Python3_INCLUDE_DIRS})
set(PYTHON_LIBRARY_DIRS ${Python3_LIBRARY_DIRS})
set(PYTHON_VERSION_STRING ${Python3_VERSION})
set(PYTHON_VERSION_MAJOR ${Python3_VERSION_MAJOR})
set(PYTHON_VERSION_MINOR ${Python3_VERSION_MINOR})
set(PYTHON_VERSION_PATCH ${Python3_VERSION_PATCH})
set(PYTHONINTERP_FOUND ${Python3_Interpreter_FOUND})
# Try to find MacPorts path
find_program(MACPORTS_EXECUTABLE port)
if(EXISTS ${MACPORTS_EXECUTABLE})
string(REPLACE "/bin/port" ""
MACPORTS_PREFIX ${MACPORTS_EXECUTABLE})
message(STATUS "Detected MacPorts install at ${MACPORTS_PREFIX}")
endif(EXISTS ${MACPORTS_EXECUTABLE})
# Try to find Homebrew path
find_program(HOMEBREW_EXECUTABLE brew)
if(EXISTS ${HOMEBREW_EXECUTABLE})
string(REPLACE "/bin/brew" ""
HOMEBREW_PREFIX ${HOMEBREW_EXECUTABLE})
message(STATUS "Detected Homebrew install at ${HOMEBREW_PREFIX}")
endif()
endif(NOT DEFINED MACPORTS_PREFIX AND NOT DEFINED HOMEBREW_PREFIX)
# In case someone tries to shoot themselves in the foot
if(DEFINED MACPORTS_PREFIX AND DEFINED HOMEBREW_PREFIX)
message(SEND_ERROR
"Multiple package management systems detected - ")
message(SEND_ERROR
"define either MACPORTS_PREFIX or HOMEBREW_PREFIX")
# No package manager
elseif(NOT DEFINED MACPORTS_PREFIX AND NOT DEFINED HOMEBREW_PREFIX)
message(SEND_ERROR
"No package manager detected - install MacPorts or Homebrew")
# The hopefully-normal case - one package manager identified
else(DEFINED MACPORTS_PREFIX AND DEFINED HOMEBREW_PREFIX)
# Construct a list like python;python2.9;python2.8;...
set(Python_ADDITIONAL_VERSIONS_REV ${Python_ADDITIONAL_VERSIONS})
list(REVERSE Python_ADDITIONAL_VERSIONS_REV)
set(_PYTHON_NAMES "python")
foreach(_PYTHON_VERSION IN LISTS Python_ADDITIONAL_VERSIONS_REV)
list(APPEND _PYTHON_NAMES "python${_PYTHON_VERSION}")
endforeach(_PYTHON_VERSION)
# Find python in the package management systems, using names in that
# list in decreasing priority. Note that a manually specified
# PYTHON_EXECUTABLE still has prescedence over this.
find_program(PYTHON_EXECUTABLE
NAMES ${_PYTHON_NAMES}
PATHS ${MACPORTS_PREFIX} ${HOMEBREW_PREFIX}
PATH_SUFFIXES /bin
NO_DEFAULT_PATH)
endif(DEFINED MACPORTS_PREFIX AND DEFINED HOMEBREW_PREFIX)
# Warn user if we still only have the system Python
string(FIND ${PYTHON_EXECUTABLE} "/usr/bin/python" _FIND_SYS_PYTHON)
if(_FIND_SYS_PYTHON EQUAL 0)
message(SEND_ERROR
"Only found the stock Python, that's probably bad.")
endif(_FIND_SYS_PYTHON EQUAL 0)
# Ask Python to tell us it's include directory, if nobody else has
if(NOT DEFINED PYTHON_INCLUDE_DIR)
execute_process(COMMAND ${PYTHON_EXECUTABLE} -c
"from distutils.sysconfig import get_python_inc;print(get_python_inc())"
OUTPUT_VARIABLE PYTHON_INCLUDE_DIR
RESULT_VARIABLE PYTHON_INCLUDE_DIR_RESULT
ERROR_QUIET)
if(NOT PYTHON_INCLUDE_DIR_RESULT MATCHES 0)
message(SEND_ERROR "Failed to determine PYTHON_INCLUDE_DIR")
endif(NOT PYTHON_INCLUDE_DIR_RESULT MATCHES 0)
endif(NOT DEFINED PYTHON_INCLUDE_DIR)
# Similar for the Python library - there must be an easier way...
if(NOT DEFINED PYTHON_LIBRARY)
# Get the library path
execute_process(COMMAND "${PYTHON_EXECUTABLE}" -c
"from distutils import sysconfig;print(sysconfig.get_config_var('LIBDIR'))"
OUTPUT_VARIABLE PYTHON_LIBRARY_DIR
RESULT_VARIABLE PYTHON_LIBRARY_DIR_RESULT
ERROR_QUIET)
string(STRIP ${PYTHON_LIBRARY_DIR} PYTHON_LIBRARY_DIR)
if(NOT PYTHON_LIBRARY_DIR_RESULT MATCHES 0)
message(SEND_ERROR "Failed to determine PYTHON_LIBRARY")
endif(NOT PYTHON_LIBRARY_DIR_RESULT MATCHES 0)
# Get library filename - might not be safe to assume .dylib extension?
execute_process(COMMAND "${PYTHON_EXECUTABLE}" -c
"import sys;print('libpython%d.%d.dylib'%sys.version_info[0:2])"
OUTPUT_VARIABLE PYTHON_LIBRARY_FILE
RESULT_VARIABLE PYTHON_LIBRARY_FILE_RESULT
ERROR_QUIET)
string(STRIP ${PYTHON_LIBRARY_FILE} PYTHON_LIBRARY_FILE)
if(NOT PYTHON_LIBRARY_FILE_RESULT MATCHES 0)
message(SEND_ERROR "Failed to determine PYTHON_LIBRARY")
endif(NOT PYTHON_LIBRARY_FILE_RESULT MATCHES 0)
set(PYTHON_LIBRARY "${PYTHON_LIBRARY_DIR}/${PYTHON_LIBRARY_FILE}")
else(NOT DEFINED PYTHON_LIBRARY)
# Used on MacPorts systems for finding Shiboken and PySide
# TODO: When we start requiring minimum CMake version above
# 2.8.11, change PATH below to DIRECTORY
get_filename_component(PYTHON_LIBRARY_DIR ${PYTHON_LIBRARY} PATH)
endif(NOT DEFINED PYTHON_LIBRARY)
endif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin" AND NOT BUILD_WITH_CONDA)
if(${CMAKE_VERSION} VERSION_LESS "3.12")
set(Python_ADDITIONAL_VERSIONS ${Python_ADDITIONAL_VERSIONS} "3.10" "3.9" "3.8" "3.7" "3.6")
find_package(PythonInterp REQUIRED)
set(Python_ADDITIONAL_VERSIONS ${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR})
if (NOT DEFINED PYTHON_VERSION_STRING)
find_package(PythonLibs REQUIRED)
else (NOT DEFINED PYTHON_VERSION_STRING)
find_package(PythonLibs ${PYTHON_VERSION_STRING} EXACT)
endif(NOT DEFINED PYTHON_VERSION_STRING)
if(NOT PYTHONLIBS_FOUND)
message(FATAL_ERROR "=================================\n"
"Python not found, install Python!\n"
"=================================\n")
endif()
# For forward compatibility with new CMake scripts
set(Python3_EXECUTABLE ${PYTHON_EXECUTABLE})
set(Python3_LIBRARIES ${PYTHON_LIBRARIES})
set(Python3_INCLUDE_DIRS ${PYTHON_INCLUDE_DIRS})
set(Python3_LIBRARY_DIRS ${PYTHON_LIBRARY_DIRS})
set(Python3_VERSION ${PYTHON_VERSION_STRING})
set(Python3_VERSION_MAJOR ${PYTHON_VERSION_MAJOR})
set(Python3_VERSION_MINOR ${PYTHON_VERSION_MINOR})
set(Python3_VERSION_PATCH ${PYTHON_VERSION_PATCH})
set(Python3_Interpreter_FOUND ${PYTHONINTERP_FOUND})
else()
find_package(Python3 COMPONENTS Interpreter Development REQUIRED)
# For backwards compatibility with old CMake scripts
set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE})
set(PYTHON_LIBRARIES ${Python3_LIBRARIES})
set(PYTHON_INCLUDE_DIRS ${Python3_INCLUDE_DIRS})
set(PYTHON_LIBRARY_DIRS ${Python3_LIBRARY_DIRS})
set(PYTHON_VERSION_STRING ${Python3_VERSION})
set(PYTHON_VERSION_MAJOR ${Python3_VERSION_MAJOR})
set(PYTHON_VERSION_MINOR ${Python3_VERSION_MINOR})
set(PYTHON_VERSION_PATCH ${Python3_VERSION_PATCH})
set(PYTHONINTERP_FOUND ${Python3_Interpreter_FOUND})
endif()
# prevent python3 lower than 3.6
if (${PYTHON_VERSION_STRING} VERSION_LESS "3.6")
message(FATAL_ERROR "To build FreeCAD you need at least Python 3.6\n")
if (${PYTHON_VERSION_STRING} VERSION_LESS "3.8")
message(FATAL_ERROR "To build FreeCAD you need at least Python 3.8\n")
endif()
endmacro(SetupPython)
+91 -30
View File
@@ -1,38 +1,99 @@
# -------------------------------- Qt --------------------------------
find_package(Qt5Core REQUIRED)
set(CMAKE_AUTOMOC TRUE)
# For FreeCAD 0.20, pegged to Ubuntu 18.04 LTS:
if(${Qt5Core_VERSION} VERSION_LESS "5.9")
message (FATAL_ERROR "FreeCAD v0.20 requires Qt5 5.9 or later")
set(FREECAD_QT_COMPONENTS Core Concurrent Network Xml)
if (FREECAD_QT_MAJOR_VERSION EQUAL 5)
list (APPEND FREECAD_QT_COMPONENTS XmlPatterns)
elseif (FREECAD_QT_MAJOR_VERSION EQUAL 6)
set (Qt6Core_MOC_EXECUTABLE Qt6::moc)
endif()
find_package(Qt5Network REQUIRED)
find_package(Qt5Xml REQUIRED)
find_package(Qt5XmlPatterns REQUIRED)
find_package(Qt5Concurrent REQUIRED)
if(BUILD_GUI)
find_package(Qt5Widgets REQUIRED)
find_package(Qt5PrintSupport REQUIRED)
find_package(Qt5OpenGL REQUIRED)
find_package(Qt5Svg REQUIRED)
find_package(Qt5UiTools REQUIRED)
if (BUILD_WEB)
if (${FREECAD_USE_QTWEBMODULE} MATCHES "Qt Webkit")
find_package(Qt5WebKitWidgets REQUIRED)
elseif(${FREECAD_USE_QTWEBMODULE} MATCHES "Qt WebEngine")
find_package(Qt5WebEngineWidgets REQUIRED)
else() # Automatic
find_package(Qt5WebEngineWidgets QUIET)
if(NOT Qt5WebEngineWidgets_FOUND)
find_package(Qt5WebKitWidgets REQUIRED)
endif()
if (FREECAD_QT_MAJOR_VERSION EQUAL 6)
list (APPEND FREECAD_QT_COMPONENTS GuiTools)
list (APPEND FREECAD_QT_COMPONENTS SvgWidgets)
elseif (FREECAD_QT_MAJOR_VERSION EQUAL 5)
if (WIN32)
list (APPEND FREECAD_QT_COMPONENTS WinExtras)
endif()
endif()
list (APPEND FREECAD_QT_COMPONENTS OpenGL PrintSupport Svg UiTools Widgets LinguistTools)
if (BUILD_WEB)
list (APPEND FREECAD_QT_COMPONENTS WebEngineWidgets)
endif()
if(BUILD_DESIGNER_PLUGIN)
find_package(Qt5Designer REQUIRED)
list (APPEND FREECAD_QT_COMPONENTS Designer)
endif()
if(MSVC)
find_package(Qt5WinExtras QUIET)
endif()
endif(BUILD_GUI)
endif()
if (ENABLE_DEVELOPER_TESTS)
list (APPEND FREECAD_QT_COMPONENTS Test)
endif ()
foreach(COMPONENT IN LISTS FREECAD_QT_COMPONENTS)
find_package(Qt${FREECAD_QT_MAJOR_VERSION} REQUIRED COMPONENTS ${COMPONENT})
set(Qt${COMPONENT}_LIBRARIES ${Qt${FREECAD_QT_MAJOR_VERSION}${COMPONENT}_LIBRARIES})
set(Qt${COMPONENT}_INCLUDE_DIRS ${Qt${FREECAD_QT_MAJOR_VERSION}${COMPONENT}_INCLUDE_DIRS})
set(Qt${COMPONENT}_FOUND ${Qt${FREECAD_QT_MAJOR_VERSION}${COMPONENT}_FOUND})
set(Qt${COMPONENT}_VERSION ${Qt${FREECAD_QT_MAJOR_VERSION}${COMPONENT}_VERSION})
endforeach()
set(CMAKE_AUTOMOC TRUE)
set(CMAKE_AUTOUIC TRUE)
set(QtCore_MOC_EXECUTABLE ${Qt${FREECAD_QT_MAJOR_VERSION}Core_MOC_EXECUTABLE})
add_definitions(-DQT_NO_KEYWORDS)
message(STATUS "Set up to compile with Qt ${Qt${FREECAD_QT_MAJOR_VERSION}Core_VERSION}")
# In Qt 5.15 they added more generic names for these functions: "backport" those new names
# so we can migrate to using the non-version-named functions in all instances.
if (Qt${FREECAD_QT_MAJOR_VERSION}Core_VERSION VERSION_LESS 5.15.0)
message(STATUS "Manually creating qt_wrap_cpp() and qt_add_resources() to support Qt ${Qt${FREECAD_QT_MAJOR_VERSION}Core_VERSION}")
# Wrapper code adapted from Qt 6's Qt6CoreMacros.cmake file:
function(qt_add_resources outfiles)
qt5_add_resources("${outfiles}" ${ARGN})
if(TARGET ${outfiles})
cmake_parse_arguments(PARSE_ARGV 1 arg "" "OUTPUT_TARGETS" "")
if (arg_OUTPUT_TARGETS)
set(${arg_OUTPUT_TARGETS} ${${arg_OUTPUT_TARGETS}} PARENT_SCOPE)
endif()
else()
set("${outfiles}" "${${outfiles}}" PARENT_SCOPE)
endif()
endfunction()
function(qt_wrap_cpp outfiles)
qt5_wrap_cpp("${outfiles}" ${ARGN})
set("${outfiles}" "${${outfiles}}" PARENT_SCOPE)
endfunction()
function(qt_add_translation _qm_files)
qt5_add_translation("${_qm_files}" ${ARGN})
set("${_qm_files}" "${${_qm_files}}" PARENT_SCOPE)
endfunction()
endif()
function(qt_find_and_add_translation _qm_files _tr_dir _qm_dir)
file(GLOB _ts_files ${_tr_dir})
set_source_files_properties(${_ts_files} PROPERTIES OUTPUT_LOCATION ${_qm_dir})
qt_add_translation("${_qm_files}" ${_ts_files})
set("${_qm_files}" "${${_qm_files}}" PARENT_SCOPE)
endfunction()
function(qt_create_resource_file outfile)
set(QRC "<RCC>\n <qresource>\n")
foreach (it ${ARGN})
get_filename_component(qmfile "${it}" NAME)
string(APPEND QRC " <file>translations/${qmfile}</file>")
endforeach()
string(APPEND QRC " </qresource>\n</RCC>\n")
file(WRITE ${outfile} ${QRC})
endfunction()
function(qt_create_resource_file_prefix outfile)
set(QRC "<RCC>\n <qresource prefix=\"/translations\">\n")
foreach (it ${ARGN})
get_filename_component(qmfile "${it}" NAME)
string(APPEND QRC " <file>${qmfile}</file>")
endforeach()
string(APPEND QRC " </qresource>\n</RCC>\n")
file(WRITE ${outfile} ${QRC})
endfunction()
+15 -7
View File
@@ -4,7 +4,7 @@ macro(SetupSalomeSMESH)
# Salome SMESH sources are under src/3rdParty now
if(BUILD_SMESH)
# set the internal smesh version:
# see src/3rdParty/salomonemesh/CMakeLists.txt and commit https://github.com/FreeCAD/FreeCAD/commit/666a3e5 and https://forum.freecadweb.org/viewtopic.php?f=10&t=30838
# see src/3rdParty/salomonemesh/CMakeLists.txt and commit https://github.com/FreeCAD/FreeCAD/commit/666a3e5 and https://forum.freecad.org/viewtopic.php?f=10&t=30838
set(SMESH_VERSION_MAJOR 7)
set(SMESH_VERSION_MINOR 7)
set(SMESH_VERSION_PATCH 1)
@@ -119,18 +119,26 @@ macro(SetupSalomeSMESH)
else(NOT FREECAD_USE_EXTERNAL_SMESH)
find_package(SMESH CONFIG)
# If this definition is not set, linker errors will occur against SMESH on 64 bit machines.
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
add_definitions(-DSALOME_USE_64BIT_IDS)
endif(CMAKE_SIZEOF_VOID_P EQUAL 8)
if(NOT SMESH_FOUND)
find_package(SMESH REQUIRED)
if(NOT SMESH_FOUND)
message(ERROR "================\n"
"SMESH not found.\n"
"================\n")
endif()
endif()
set (SMESH_INCLUDE_DIR ${SMESH_INCLUDE_PATH})
set(EXTERNAL_SMESH_LIBS ${SMESH_LIBRARIES})
if(NOT SMESH_FOUND)
message(ERROR "================\n"
"SMESH not found.\n"
"================\n")
endif()
include_directories(${SMESH_INCLUDE_DIR})
endif()
set(SMESH_FOUND TRUE)
configure_file(SMESH_Version.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/SMESH_Version.h)
configure_file(${CMAKE_SOURCE_DIR}/src/SMESH_Version.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/SMESH_Version.h)
endif(BUILD_SMESH)
endmacro(SetupSalomeSMESH)
@@ -6,70 +6,95 @@ macro(SetupShibokenAndPyside)
find_package(PySide REQUIRED HINTS "${PYTHON_LIBRARY_DIR}/cmake")
endif(DEFINED MACPORTS_PREFIX)
if(FREECAD_QT_MAJOR_VERSION EQUAL 5)
set(SHIBOKEN_MAJOR_VERSION 2)
set(PYSIDE_MAJOR_VERSION 2)
else()
set(SHIBOKEN_MAJOR_VERSION ${FREECAD_QT_MAJOR_VERSION})
set(PYSIDE_MAJOR_VERSION ${FREECAD_QT_MAJOR_VERSION})
endif()
# Shiboken2Config.cmake may explicitly set CMAKE_BUILD_TYPE to Release which causes
# CMake to fail to create Makefiles for a debug build.
# So as a workaround we save and restore the value after checking for Shiboken2.
set (SAVE_BUILD_TYPE ${CMAKE_BUILD_TYPE})
find_package(Shiboken2 QUIET)# REQUIRED
find_package(Shiboken${SHIBOKEN_MAJOR_VERSION} QUIET)
set (CMAKE_BUILD_TYPE ${SAVE_BUILD_TYPE})
if (Shiboken2_FOUND)
# Shiboken2 config file was found but it may use the wrong Python version
if (Shiboken${SHIBOKEN_MAJOR_VERSION}_FOUND)
# Shiboken config file was found but it may use the wrong Python version
# Try to get the matching config suffix and repeat finding the package
set(SHIBOKEN_PATTERN .cpython-${Python3_VERSION_MAJOR}${Python3_VERSION_MINOR})
file(GLOB SHIBOKEN_CONFIG "${Shiboken2_DIR}/Shiboken2Config${SHIBOKEN_PATTERN}*.cmake")
file(GLOB SHIBOKEN_CONFIG "${Shiboken${SHIBOKEN_MAJOR_VERSION}_DIR}/Shiboken${SHIBOKEN_MAJOR_VERSION}Config${SHIBOKEN_PATTERN}*.cmake")
if (SHIBOKEN_CONFIG)
get_filename_component(SHIBOKEN_CONFIG_SUFFIX ${SHIBOKEN_CONFIG} NAME)
string(SUBSTRING ${SHIBOKEN_CONFIG_SUFFIX} 15 -1 SHIBOKEN_CONFIG_SUFFIX)
string(REPLACE ".cmake" "" PYTHON_CONFIG_SUFFIX ${SHIBOKEN_CONFIG_SUFFIX})
message(STATUS "PYTHON_CONFIG_SUFFIX: ${PYTHON_CONFIG_SUFFIX}")
find_package(Shiboken2 QUIET)
get_filename_component(SHIBOKEN_CONFIG_SUFFIX ${SHIBOKEN_CONFIG} NAME)
string(SUBSTRING ${SHIBOKEN_CONFIG_SUFFIX} 15 -1 SHIBOKEN_CONFIG_SUFFIX)
string(REPLACE ".cmake" "" PYTHON_CONFIG_SUFFIX ${SHIBOKEN_CONFIG_SUFFIX})
message(STATUS "PYTHON_CONFIG_SUFFIX: ${PYTHON_CONFIG_SUFFIX}")
find_package(Shiboken${SHIBOKEN_MAJOR_VERSION} QUIET)
endif()
endif()
# pyside2 changed its cmake files, this is the dance we have
# to dance to be compatible with the old (<5.12) and the new versions (>=5.12)
if(NOT SHIBOKEN_INCLUDE_DIR AND TARGET Shiboken2::libshiboken)
get_property(SHIBOKEN_INCLUDE_DIR TARGET Shiboken2::libshiboken PROPERTY INTERFACE_INCLUDE_DIRECTORIES)
endif(NOT SHIBOKEN_INCLUDE_DIR AND TARGET Shiboken2::libshiboken)
if(NOT SHIBOKEN_INCLUDE_DIR AND TARGET Shiboken${SHIBOKEN_MAJOR_VERSION}::libshiboken)
get_property(SHIBOKEN_INCLUDE_DIR TARGET Shiboken${SHIBOKEN_MAJOR_VERSION}::libshiboken PROPERTY INTERFACE_INCLUDE_DIRECTORIES)
endif(NOT SHIBOKEN_INCLUDE_DIR AND TARGET Shiboken${SHIBOKEN_MAJOR_VERSION}::libshiboken)
if(NOT SHIBOKEN_INCLUDE_DIR)
message("====================\n"
"shiboken2 not found.\n"
"====================\n")
endif(NOT SHIBOKEN_INCLUDE_DIR)
find_pip_package(Shiboken${SHIBOKEN_MAJOR_VERSION})
if (Shiboken${SHIBOKEN_MAJOR_VERSION}_FOUND)
set(Shiboken_INCLUDE_DIR ${Shiboken${SHIBOKEN_MAJOR_VERSION}_INCLUDE_DIRS})
set(Shiboken_LIBRARY ${Shiboken${SHIBOKEN_MAJOR_VERSION}_LIBRARIES})
set(Shiboken_FOUND TRUE)
endif()
endif()
find_package(PySide2 QUIET)# REQUIRED
find_package(PySide${PYSIDE_MAJOR_VERSION} QUIET)
if(NOT PYSIDE_INCLUDE_DIR AND TARGET PySide2::pyside2)
get_property(PYSIDE_INCLUDE_DIR TARGET PySide2::pyside2 PROPERTY INTERFACE_INCLUDE_DIRECTORIES)
endif(NOT PYSIDE_INCLUDE_DIR AND TARGET PySide2::pyside2)
if(NOT PYSIDE_INCLUDE_DIR AND TARGET PySide${PYSIDE_MAJOR_VERSION}::pyside${PYSIDE_MAJOR_VERSION})
get_property(PYSIDE_INCLUDE_DIR TARGET PySide${PYSIDE_MAJOR_VERSION}::pyside${PYSIDE_MAJOR_VERSION} PROPERTY INTERFACE_INCLUDE_DIRECTORIES)
endif(NOT PYSIDE_INCLUDE_DIR AND TARGET PySide${PYSIDE_MAJOR_VERSION}::pyside${PYSIDE_MAJOR_VERSION})
if(NOT PYSIDE_INCLUDE_DIR)
message("==================\n"
"PySide2 not found.\n"
"==================\n")
endif(NOT PYSIDE_INCLUDE_DIR)
find_pip_package(PySide${PYSIDE_MAJOR_VERSION})
if (PySide${PYSIDE_MAJOR_VERSION}_FOUND)
set(PySide_INCLUDE_DIR ${PySide${PYSIDE_MAJOR_VERSION}_INCLUDE_DIRS})
set(PySide_LIBRARY ${PySide${PYSIDE_MAJOR_VERSION}_LIBRARIES})
set(PySide_FOUND TRUE)
endif()
endif()
find_package(PySide2Tools QUIET) #REQUIRED # PySide2 utilities (pyside2-uic & pyside2-rcc)
if(NOT PYSIDE2_TOOLS_FOUND)
find_package(PySide${PYSIDE_MAJOR_VERSION}Tools QUIET) # PySide utilities (uic & rcc executables)
if(NOT PYSIDE_TOOLS_FOUND)
message("=======================\n"
"PySide2Tools not found.\n"
"PySide${PYSIDE_MAJOR_VERSION}Tools not found.\n"
"=======================\n")
endif(NOT PYSIDE2_TOOLS_FOUND)
endif()
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/Ext/PySide)
file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/__init__.py "# PySide wrapper\n"
"from PySide2 import __version__\n"
"from PySide2 import __version_info__\n")
file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtCore.py "from PySide2.QtCore import *\n\n"
"from PySide${PYSIDE_MAJOR_VERSION} import __version__\n"
"from PySide${PYSIDE_MAJOR_VERSION} import __version_info__\n")
file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtCore.py "from PySide${PYSIDE_MAJOR_VERSION}.QtCore import *\n\n"
"#QCoreApplication.CodecForTr=0\n"
"#QCoreApplication.UnicodeUTF8=1\n")
file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtGui.py "from PySide2.QtGui import *\n"
"from PySide2.QtWidgets import *\n"
"QHeaderView.setResizeMode = QHeaderView.setSectionResizeMode\n")
file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtSvg.py "from PySide2.QtSvg import *\n")
file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtUiTools.py "from PySide2.QtUiTools import *\n")
file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtNetwork.py "from PySide${PYSIDE_MAJOR_VERSION}.QtNetwork import *\n")
if(BUILD_GUI)
file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtGui.py "from PySide${PYSIDE_MAJOR_VERSION}.QtGui import *\n"
"from PySide${PYSIDE_MAJOR_VERSION}.QtWidgets import *\n"
"QHeaderView.setResizeMode = QHeaderView.setSectionResizeMode\n")
file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtSvg.py "from PySide${PYSIDE_MAJOR_VERSION}.QtSvg import *\n")
file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtUiTools.py "from PySide${PYSIDE_MAJOR_VERSION}.QtUiTools import *\n")
file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtWidgets.py "from PySide${PYSIDE_MAJOR_VERSION}.QtWidgets import *\n")
if(PYSIDE_MAJOR_VERSION LESS 6)
file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtWebEngineWidgets.py "from PySide${PYSIDE_MAJOR_VERSION}.QtWebEngineWidgets import *\n")
else()
file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtWebEngineWidgets.py "from PySide${PYSIDE_MAJOR_VERSION}.QtWebEngineWidgets import *\n"
"from PySide${PYSIDE_MAJOR_VERSION}.QtWebEngineCore import QWebEnginePage\n")
endif()
endif()
if(APPLE AND NOT BUILD_WITH_CONDA)
install(
@@ -91,43 +116,148 @@ macro(SetupShibokenAndPyside)
if(SHIBOKEN_INCLUDE_DIR)
option(FREECAD_USE_SHIBOKEN "Links to the shiboken library at build time. If OFF its Python module is imported at runtime" ON)
else()
message(WARNING "Shiboken${PYSIDE_MAJOR_VERSION} include files not found, FREECAD_USE_SHIBOKEN automatically set to OFF")
option(FREECAD_USE_SHIBOKEN "Links to the shiboken library at build time. If OFF its Python module is imported at runtime" OFF)
endif()
# Now try to import the shiboken Python module and print a warning if it can't be loaded
execute_process(
COMMAND ${PYTHON_EXECUTABLE} -c "import shiboken2"
# Now try to import the shiboken Python module and print a warning if it can't be loaded
execute_process(
COMMAND ${PYTHON_EXECUTABLE} -c "import shiboken${SHIBOKEN_MAJOR_VERSION}"
RESULT_VARIABLE FAILURE
OUTPUT_VARIABLE PRINT_OUTPUT
)
)
if(FAILURE)
message("=================================\n"
"shiboken Python module not found.\n"
"=================================\n")
endif()
if(FAILURE)
message(WARNING
"==================================\n"
"Shiboken${SHIBOKEN_MAJOR_VERSION} Python module not found.\n"
"==================================\n")
else()
execute_process(
COMMAND ${PYTHON_EXECUTABLE} -c "import shiboken${SHIBOKEN_MAJOR_VERSION};print(shiboken${SHIBOKEN_MAJOR_VERSION}.__version__, end='')"
RESULT_VARIABLE FAILURE
OUTPUT_VARIABLE Shiboken_VERSION
)
endif()
# If PySide cannot be found the build option will be set to OFF
if(PYSIDE_INCLUDE_DIR)
option(FREECAD_USE_PYSIDE "Links to the PySide libraries at build time." ON)
else()
message(WARNING "PySide${PYSIDE_MAJOR_VERSION} include files not found, FREECAD_USE_PYSIDE automatically set to OFF")
option(FREECAD_USE_PYSIDE "Links to the PySide libraries at build time." OFF)
endif()
# Independent of the build option PySide modules must be loaded at runtime. Print a warning if it fails.
execute_process(
COMMAND ${PYTHON_EXECUTABLE} -c "import PySide2;import os;print(os.path.dirname(PySide2.__file__), end='')"
COMMAND ${PYTHON_EXECUTABLE} -c "import PySide${PYSIDE_MAJOR_VERSION};import os;print(os.path.dirname(PySide${PYSIDE_MAJOR_VERSION}.__file__), end='')"
RESULT_VARIABLE FAILURE
OUTPUT_VARIABLE PRINT_OUTPUT
)
if(FAILURE)
message("================================\n"
"PySide2 Python module not found.\n"
message(WARNING
"================================\n"
"PySide${PYSIDE_MAJOR_VERSION} Python module not found.\n"
"================================\n")
else()
message(STATUS "===============================================\n"
"PySide2 Python module found at ${PRINT_OUTPUT}.\n"
"===============================================\n")
execute_process(
COMMAND ${PYTHON_EXECUTABLE} -c "import PySide${PYSIDE_MAJOR_VERSION};print(PySide${PYSIDE_MAJOR_VERSION}.__version__, end='')"
RESULT_VARIABLE FAILURE
OUTPUT_VARIABLE PySide_VERSION
)
message(STATUS "PySide ${PySide_VERSION} Python module found at ${PRINT_OUTPUT}.\n")
endif()
endmacro(SetupShibokenAndPyside)
# Locate the include directory for a pip-installed package -- uses pip show to find the base pip
# install directory, and then appends the package name and "/include" to the end
macro(find_pip_package PACKAGE)
execute_process(
COMMAND ${PYTHON_EXECUTABLE} -m pip show ${PACKAGE}
RESULT_VARIABLE FAILURE
OUTPUT_VARIABLE PRINT_OUTPUT
)
if(NOT FAILURE)
# Extract Name: and Location: lines and use them to construct the include directory
string(REPLACE "\n" ";" PIP_OUTPUT_LINES ${PRINT_OUTPUT})
foreach(LINE IN LISTS PIP_OUTPUT_LINES)
STRING(FIND "${LINE}" "Name: " NAME_STRING_LOCATION)
STRING(FIND "${LINE}" "Location: " LOCATION_STRING_LOCATION)
if(${NAME_STRING_LOCATION} EQUAL 0)
STRING(SUBSTRING "${LINE}" 6 -1 PIP_PACKAGE_NAME)
elseif(${LOCATION_STRING_LOCATION} EQUAL 0)
STRING(SUBSTRING "${LINE}" 9 -1 PIP_PACKAGE_LOCATION)
endif()
endforeach()
file(TO_NATIVE_PATH "${PIP_PACKAGE_LOCATION}/${PIP_PACKAGE_NAME}/include" INCLUDE_DIR)
file(TO_NATIVE_PATH "${PIP_PACKAGE_LOCATION}/${PIP_PACKAGE_NAME}/lib" LIBRARY)
set(${PACKAGE}_INCLUDE_DIRS ${INCLUDE_DIR} PARENT_SCOPE)
set(${PACKAGE}_LIBRARIES ${LIBRARY} PARENT_SCOPE)
set(${PACKAGE}_FOUND ${LIBRARY} TRUE)
message(STATUS "Found pip-installed ${PACKAGE} in ${PIP_PACKAGE_LOCATION}/${PIP_PACKAGE_NAME}")
endif()
endmacro()
# Macros similar to FindQt4.cmake's WRAP_UI and WRAP_RC, for the automatic generation of Python
# code from Qt4's user interface ('.ui') and resource ('.qrc') files. These macros are called:
# - PYSIDE_WRAP_UI
# - PYSIDE_WRAP_RC
MACRO(PYSIDE_WRAP_UI outfiles)
if (NOT PYSIDE_UIC_EXECUTABLE)
message(FATAL_ERROR "Qt uic is required for generating ${ARGN}")
endif()
FOREACH(it ${ARGN})
GET_FILENAME_COMPONENT(outfile ${it} NAME_WE)
GET_FILENAME_COMPONENT(infile ${it} ABSOLUTE)
SET(outfile ${CMAKE_CURRENT_BINARY_DIR}/ui_${outfile}.py)
if(WIN32 OR APPLE)
ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
COMMAND ${PYSIDE_UIC_EXECUTABLE} ${UICOPTIONS} ${infile} -o ${outfile}
MAIN_DEPENDENCY ${infile}
)
else()
# Especially on Open Build Service we don't want changing date like
# pyside2-uic generates in comments at beginning., which is why
# we follow the tool command with a POSIX-friendly sed.
ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
COMMAND "${PYSIDE_UIC_EXECUTABLE}" ${UICOPTIONS} "${infile}" -o "${outfile}"
COMMAND sed "/^# /d" "${outfile}" >"${outfile}.tmp" && mv "${outfile}.tmp" "${outfile}"
MAIN_DEPENDENCY "${infile}"
)
endif()
list(APPEND ${outfiles} ${outfile})
ENDFOREACH(it)
ENDMACRO (PYSIDE_WRAP_UI)
MACRO(PYSIDE_WRAP_RC outfiles)
if (NOT PYSIDE_RCC_EXECUTABLE)
message(FATAL_ERROR "Qt rcc is required for generating ${ARGN}")
endif()
FOREACH(it ${ARGN})
GET_FILENAME_COMPONENT(outfile ${it} NAME_WE)
GET_FILENAME_COMPONENT(infile ${it} ABSOLUTE)
SET(outfile "${CMAKE_CURRENT_BINARY_DIR}/${outfile}_rc.py")
#ADD_CUSTOM_TARGET(${it} ALL
# DEPENDS ${outfile}
#)
if(WIN32 OR APPLE)
ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
COMMAND ${PYSIDE_RCC_EXECUTABLE} ${RCCOPTIONS} ${infile} -o ${outfile}
MAIN_DEPENDENCY ${infile}
)
else()
# Especially on Open Build Service we don't want changing date like
# pyside-rcc generates in comments at beginning, which is why
# we follow the tool command with in-place sed.
ADD_CUSTOM_COMMAND(OUTPUT "${outfile}"
COMMAND "${PYSIDE_RCC_EXECUTABLE}" ${RCCOPTIONS} "${infile}" ${PY_ATTRIBUTE} -o "${outfile}"
COMMAND sed "/^# /d" "${outfile}" >"${outfile}.tmp" && mv "${outfile}.tmp" "${outfile}"
MAIN_DEPENDENCY "${infile}"
)
endif()
list(APPEND ${outfiles} ${outfile})
ENDFOREACH(it)
ENDMACRO (PYSIDE_WRAP_RC)
+2 -2
View File
@@ -242,8 +242,8 @@ MACRO(SET_BIN_DIR ProjectName OutputName)
if(WIN32)
set_target_properties(${ProjectName} PROPERTIES DEBUG_OUTPUT_NAME ${OutputName}_d)
else(WIN32)
# FreeCADBase, SMDS, Driver, MEFISTO2 and area-native libs don't depend on parts from CMAKE_INSTALL_LIBDIR
if(NOT ${ProjectName} MATCHES "^(FreeCADBase|SMDS|Driver|MEFISTO2|area-native)$")
# FreeCADBase, SMDS, Driver and MEFISTO2 libs don't depend on parts from CMAKE_INSTALL_LIBDIR
if(NOT ${ProjectName} MATCHES "^(FreeCADBase|SMDS|Driver|MEFISTO2)$")
if(${ARGC} STREQUAL 4)
set_property(TARGET ${ProjectName} APPEND PROPERTY INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/${ARGV3})
elseif(NOT IS_ABSOLUTE ${CMAKE_INSTALL_LIBDIR})
+1 -1
View File
@@ -44,7 +44,7 @@ set (Qt5XmlPatterns_DIR ${Qt5_ROOT_DIR}/lib/cmake/Qt5XmlPatterns CACHE PATH "")
find_library(XercesC_LIBRARY_RELEASE xerces-c_3 "${FREECAD_LIBPACK_DIR}/lib")
find_library(XercesC_LIBRARY_DEBUG xerces-c_3D "${FREECAD_LIBPACK_DIR}/lib")
set (XercesC_LIBRARIES debug ${XercesC_LIBRARY_DEBUG} optimized ${XercesC_LIBRARY_RELEASE})
set(XercesC_FOUND TRUE)
set(XercesC_FOUND TRUE)
find_library(COIN3D_LIBRARY_RELEASE coin4 "${FREECAD_LIBPACK_DIR}/lib")
find_library(COIN3D_LIBRARY_DEBUG coin4d "${FREECAD_LIBPACK_DIR}/lib")
-43
View File
@@ -1,43 +0,0 @@
# gitlab CI config file
# this image is on dockerhub. Dockerfile is here: https://gitlab.com/PrzemoF/FreeCAD/-/blob/gitlab-v1/ci/Dockerfile
image: freecadci/runner
stages: # List of stages for jobs, and their order of execution
- build
- test
before_script:
- apt-get update -yqq
# CCache Config
- mkdir -p ccache
- export CCACHE_BASEDIR=${PWD}
- export CCACHE_DIR=${PWD}/ccache
cache:
paths:
- ccache/
build-job: # This job runs in the build stage, which runs first.
stage: build
script:
- echo "Compiling the code..."
- mkdir build
- cd build
- ccache cmake ../
- ccache cmake --build ./ -j$(nproc)
- echo "Compile complete."
artifacts:
paths:
- build/
test-job: # This job runs in the test stage.
stage: test # It only starts when the job in the build stage completes successfully.
script:
- echo "Running unit tests... "
- cd build/bin/
# Testing currently doesn't work due to problems with libraries ot being visible by the binary.
- ./FreeCADCmd -t 0
-118
View File
@@ -1,118 +0,0 @@
FROM ubuntu:20.04
MAINTAINER Przemo Firszt
# This is the docker image definition used to build FreeCAD. It's currently accessible on:
# https://hub.docker.com/repository/docker/freecadci/runner
# on under name freecadci/runner when using docker
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update -y
RUN apt-get update -y && apt-get install -y gnupg2
RUN echo "deb http://ppa.launchpad.net/freecad-maintainers/freecad-daily/ubuntu focal main" >> /etc/apt/sources.list.d/freecad-daily.list
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 83193AA3B52FF6FCF10A1BBF005EAE8119BB5BCA
RUN apt-get update -y
# those 3 are for debugging purposes only. Not required to build FreeCAD
RUN apt-get install -y \
vim \
nano \
bash
# Main set of FreeCAD dependencies. To be verified.
RUN apt-get install -y \
ccache \
cmake \
debhelper \
dh-exec \
dh-python \
doxygen \
git \
graphviz \
libboost-date-time-dev \
libboost-dev \
libboost-filesystem-dev \
libboost-filesystem1.71-dev \
libboost-graph-dev \
libboost-iostreams-dev \
libboost-program-options-dev \
libboost-program-options1.71-dev \
libboost-python1.71-dev \
libboost-regex-dev \
libboost-regex1.71-dev \
libboost-serialization-dev \
libboost-system1.71-dev \
libboost-thread-dev \
libboost-thread1.71-dev \
libboost1.71-dev \
libcoin-dev \
libdouble-conversion-dev \
libeigen3-dev \
libglew-dev \
libgts-bin \
libgts-dev \
libkdtree++-dev \
liblz4-dev \
libmedc-dev \
libmetis-dev \
libnglib-dev \
libocct-data-exchange-dev \
libocct-ocaf-dev \
libocct-visualization-dev \
libopencv-dev \
libproj-dev \
libpyside2-dev \
libqt5opengl5 \
libqt5opengl5-dev \
libqt5svg5-dev \
libqt5webkit5 \
libqt5webkit5-dev \
libqt5x11extras5-dev \
libqt5xmlpatterns5-dev \
libshiboken2-dev \
libspnav-dev \
libvtk7-dev \
libvtk7.1p \
libvtk7.1p-qt \
libx11-dev \
libxerces-c-dev \
libzipios++-dev \
lsb-release \
nastran \
netgen \
netgen-headers \
occt-draw \
pybind11-dev \
pyqt5-dev-tools \
pyside2-tools \
python3-dev \
python3-matplotlib \
python3-pivy \
python3-ply \
python3-pyqt5 \
python3-pyside2.* \
python3-pyside2.qtcore \
python3-pyside2.qtgui \
python3-pyside2.qtsvg \
python3-pyside2.qtuitools \
python3-pyside2.qtwidgets \
python3-pyside2.qtxml \
python3-requests \
python3-yaml \
qt5-default \
qt5-qmake \
qtbase5-dev \
qttools5-dev \
qtwebengine5-dev \
swig
RUN apt-get update -y --fix-missing
# Clean
RUN apt-get clean \
&& rm /var/lib/apt/lists/* \
/usr/share/doc/* \
/usr/share/locale/* \
/usr/share/man/* \
/usr/share/info/* -fR
-53
View File
@@ -1,53 +0,0 @@
mkdir build
cd build
if "%FEATURE_DEBUG%"=="1" (
set BUILD_TYPE="Debug"
echo "#! building debug package !#") else (
set BUILD_TYPE="Release")
set "CFLAGS= "
set "CXXFLAGS= "
set "LDFLAGS_SHARED= ucrt.lib"
cmake -G "Ninja" ^
-D BUID_WITH_CONDA:BOOL=ON ^
-D CMAKE_BUILD_TYPE=%BUILD_TYPE% ^
-D FREECAD_LIBPACK_USE:BOOL=OFF ^
-D CMAKE_INSTALL_PREFIX:FILEPATH=%LIBRARY_PREFIX% ^
-D CMAKE_PREFIX_PATH:FILEPATH=%LIBRARY_PREFIX% ^
-D CMAKE_INCLUDE_PATH:FILEPATH=%LIBRARY_PREFIX%/include ^
-D CMAKE_LIBRARY_PATH:FILEPATH=%LIBRARY_PREFIX%/lib ^
-D CMAKE_INSTALL_LIBDIR:FILEPATH=%LIBRARY_PREFIX%/lib ^
-D BUILD_QT5:BOOL=ON ^
-D NETGENDATA:FILEPATH=%LIBRARY_PREFIX%/include/netgen ^
-D NGLIB_INCLUDE_DIR:FILEPATH=%LIBRARY_PREFIX%/include/netgen ^
-D BUILD_FEM_NETGEN:BOOL=ON ^
-D OCC_INCLUDE_DIR:FILEPATH=%LIBRARY_PREFIX%/include/opencascade ^
-D OCC_LIBRARY_DIR:FILEPATH=%LIBRARY_PREFIX%/lib ^
-D OCC_LIBRARIES:FILEPATH=%LIBRARY_PREFIX%/lib ^
-D FREECAD_USE_OCC_VARIANT="Official Version" ^
-D OCC_OCAF_LIBRARIES:FILEPATH=%LIBRARY_PREFIX%/lib ^
-D BUILD_REVERSEENGINEERING:BOOL=ON ^
-D USE_BOOST_PYTHON:BOOL=OFF ^
-D FREECAD_USE_PYBIND11:BOOL=ON ^
-D SMESH_INCLUDE_DIR:FILEPATH=%LIBRARY_PREFIX%/include/smesh ^
-D FREECAD_USE_EXTERNAL_SMESH:BOOL=ON ^
-D BUILD_FLAT_MESH:BOOL=ON ^
-D OCCT_CMAKE_FALLBACK:BOOL=ON ^
-D PYTHON_EXECUTABLE:FILEPATH=%PREFIX%/python ^
-D BUILD_DYNAMIC_LINK_PYTHON:BOOL=ON ^
-D Boost_NO_BOOST_CMAKE:BOOL=ON ^
-D FREECAD_USE_PCH:BOOL=OFF ^
-D FREECAD_USE_PCL:BOOL=ON ^
-D INSTALL_TO_SITEPACKAGES:BOOL=ON ^
..
if errorlevel 1 exit 1
ninja install
if errorlevel 1 exit 1
rmdir /s /q "%LIBRARY_PREFIX%\doc"
ren %LIBRARY_PREFIX%\bin\FreeCAD.exe freecad.exe
ren %LIBRARY_PREFIX%\bin\FreeCADCmd.exe freecadcmd.exe
-84
View File
@@ -1,84 +0,0 @@
HOST=$(uname)
mkdir -p build
cd build
if [[ ${FEATURE_DEBUG} = 1 ]]; then
BUILD_TYPE="Debug"
else
BUILD_TYPE="Release"
fi
declare -a CMAKE_PLATFORM_FLAGS
if [[ ${HOST} =~ "Linux" ]]; then
echo "adding hacks for linux"
# temporary workaround for vtk-cmake setup
# should be applied @vtk-feedstock
sed -i 's#/home/conda/feedstock_root/build_artifacts/vtk_.*_build_env/x86_64-conda_cos6-linux-gnu/sysroot/usr/lib.*;##g' ${PREFIX}/lib/cmake/vtk-8.2/Modules/vtkhdf5.cmake
# temporary workaround for qt-cmake:
sed -i 's|_qt5gui_find_extra_libs(EGL.*)|_qt5gui_find_extra_libs(EGL "EGL" "" "")|g' $PREFIX/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake
sed -i 's|_qt5gui_find_extra_libs(OPENGL.*)|_qt5gui_find_extra_libs(OPENGL "GL" "" "")|g' $PREFIX/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake
CMAKE_PLATFORM_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE="${RECIPE_DIR}/cross-linux.cmake")
fi
if [[ ${HOST} =~ "Darwin" ]]; then
# add hacks for osx here!
echo "adding hacks for osx"
#ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk
# install space-mouse
if [ ! -d "/Library/Frameworks/3DconnexionClient.framework" ]; then
echo "Installing 3D connexion spacemouse drivers."
curl -o /tmp/3dFW.dmg -L 'https://download.3dconnexion.com/drivers/mac/10-6-6_360DF97D-ED08-4ccf-A55E-0BF905E58476/3DxWareMac_v10-6-6_r3234.dmg'
hdiutil attach -readonly /tmp/3dFW.dmg
sudo installer -package /Volumes/3Dconnexion\ Software/Install\ 3Dconnexion\ software.pkg -target /
diskutil eject /Volumes/3Dconnexion\ Software
fi
CMAKE_PLATFORM_FLAGS+=(-DFREECAD_USE_3DCONNEXION:BOOL=ON)
CMAKE_PLATFORM_FLAGS+=(-D3DCONNEXIONCLIENT_FRAMEWORK:FILEPATH="/Library/Frameworks/3DconnexionClient.framework")
fi
cmake \
-G "Ninja" \
-D BUID_WITH_CONDA:BOOL=ON \
-D CMAKE_BUILD_TYPE=${BUILD_TYPE} \
-D CMAKE_INSTALL_PREFIX:FILEPATH=$PREFIX \
-D CMAKE_PREFIX_PATH:FILEPATH=$PREFIX \
-D CMAKE_LIBRARY_PATH:FILEPATH=$PREFIX/lib \
-D CMAKE_INSTALL_LIBDIR:FILEPATH=$PREFIX/lib \
-D CMAKE_INCLUDE_PATH:FILEPATH=$PREFIX/include \
-D BUILD_QT5:BOOL=ON \
-D FREECAD_USE_OCC_VARIANT="Official Version" \
-D OCC_INCLUDE_DIR:FILEPATH=$PREFIX/include \
-D USE_BOOST_PYTHON:BOOL=OFF \
-D FREECAD_USE_PYBIND11:BOOL=ON \
-D BUILD_ENABLE_CXX11:BOOL=ON \
-D SMESH_INCLUDE_DIR:FILEPATH=$PREFIX/include/smesh \
-D FREECAD_USE_EXTERNAL_SMESH=ON \
-D BUILD_FLAT_MESH:BOOL=ON \
-D BUILD_WITH_CONDA:BOOL=ON \
-D PYTHON_EXECUTABLE:FILEPATH=$PREFIX/bin/python \
-D BUILD_FEM_NETGEN:BOOL=ON \
-D OCCT_CMAKE_FALLBACK:BOOL=OFF \
-D FREECAD_USE_QT_DIALOG:BOOL=ON \
-D BUILD_DYNAMIC_LINK_PYTHON:BOOL=OFF \
-D Boost_NO_BOOST_CMAKE:BOOL=ON \
-D FREECAD_USE_PCL:BOOL=ON \
-D INSTALL_TO_SITEPACKAGES:BOOL=ON \
${CMAKE_PLATFORM_FLAGS[@]} \
..
if [ $? != 0 ]; then
echo "CMake failed to configure."
exit 1
fi
echo "FREECAD_USE_3DCONNEXION=${FREECAD_USE_3DCONNEXION}"
ninja install
rm -r ${PREFIX}/share/doc/FreeCAD # smaller size of package!
mv ${PREFIX}/bin/FreeCAD ${PREFIX}/bin/freecad
mv ${PREFIX}/bin/FreeCADCmd ${PREFIX}/bin/freecadcmd
+5
View File
@@ -0,0 +1,5 @@
name: freecad
channels:
- conda-forge
dependencies:
- conda-devenv
-6
View File
@@ -1,6 +0,0 @@
channel_sources:
- conda-forge,defaults
channel_targets:
- freecad dev
MACOSX_DEPLOYMENT_TARGET: # [osx]
- '10.12' # [osx]
-16
View File
@@ -1,16 +0,0 @@
# this one is important
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_PLATFORM Linux)
# specify the cross compiler
set(CMAKE_C_COMPILER $ENV{CC})
set(CMAKE_CXX_COMPILER $ENV{CXX})
# where is the target environment
set(CMAKE_FIND_ROOT_PATH $ENV{PREFIX} $ENV{BUILD_PREFIX}/$ENV{HOST}/sysroot)
# search for programs in the build host directories
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
# for libraries and headers in the target directories
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+98
View File
@@ -0,0 +1,98 @@
name: freecad
channels:
- conda-forge
dependencies:
- kernel-headers_linux-64 # [linux and x86_64]
- libdrm-cos6-x86_64 # [linux and x86_64]
- libselinux-cos6-x86_64 # [linux and x86_64]
- libsepol-cos6-x86_64 # [linux and x86_64]
- libx11-common-cos6-x86_64 # [linux and x86_64]
- libx11-cos6-x86_64 # [linux and x86_64]
- libxau-cos6-x86_64 # [linux and x86_64]
- libxcb-cos6-x86_64 # [linux and x86_64]
- libxdamage-cos6-x86_64 # [linux and x86_64]
- libxext-cos6-x86_64 # [linux and x86_64]
- libxfixes-cos6-x86_64 # [linux and x86_64]
- libxi-cos6-x86_64 # [linux and x86_64]
- libxi-devel-cos6-x86_64 # [linux and x86_64]
- libxxf86vm-cos6-x86_64 # [linux and x86_64]
- mesa-dri-drivers-cos6-x86_64 # [linux and x86_64]
- mesa-dri1-drivers-cos6-x86_64 # [linux and x86_64]
- mesa-libegl-cos6-x86_64 # [linux and x86_64]
- mesa-libegl-devel-cos6-x86_64 # [linux and x86_64]
- mesa-libgl-cos6-x86_64 # [linux and x86_64]
- mesa-libgl-devel-cos6-x86_64 # [linux and x86_64]
- pixman-cos6-x86_64 # [linux and x86_64]
- sysroot_linux-64 # [linux and x86_64]
- xorg-x11-server-common-cos6-x86_64 # [linux and x86_64]
- xorg-x11-server-xvfb-cos6-x86_64 # [linux and x86_64]
- kernel-headers_linux-aarch64 # [linux and aarch64]
- libdrm-cos7-aarch64 # [linux and aarch64]
- libglvnd-cos7-aarch64 # [linux and aarch64]
- libglvnd-glx-cos7-aarch64 # [linux and aarch64]
- libselinux-cos7-aarch64 # [linux and aarch64]
- libsepol-cos7-aarch64 # [linux and aarch64]
- libx11-common-cos7-aarch64 # [linux and aarch64]
- libx11-cos7-aarch64 # [linux and aarch64]
- libxau-cos7-aarch64 # [linux and aarch64]
- libxcb-cos7-aarch64 # [linux and aarch64]
- libxdamage-cos7-aarch64 # [linux and aarch64]
- libxext-cos7-aarch64 # [linux and aarch64]
- libxfixes-cos7-aarch64 # [linux and aarch64]
- libxi-cos7-aarch64 # [linux and aarch64]
- libxi-devel-cos7-aarch64 # [linux and aarch64]
- libxxf86vm-cos7-aarch64 # [linux and aarch64]
- mesa-dri-drivers-cos7-aarch64 # [linux and aarch64]
- mesa-khr-devel-cos7-aarch64 # [linux and aarch64]
- mesa-libegl-cos7-aarch64 # [linux and aarch64]
- mesa-libegl-devel-cos7-aarch64 # [linux and aarch64]
- mesa-libgbm-cos7-aarch64 # [linux and aarch64]
- mesa-libgl-cos7-aarch64 # [linux and aarch64]
- mesa-libgl-devel-cos7-aarch64 # [linux and aarch64]
- mesa-libglapi-cos7-aarch64 # [linux and aarch64]
- pixman-cos7-aarch64 # [linux and aarch64]
- sysroot_linux-aarch64 # [linux and aarch64]
- xorg-x11-server-common-cos7-aarch64 # [linux and aarch64]
- xorg-x11-server-xvfb-cos7-aarch64 # [linux and aarch64]
- sed # [unix]
- boost
- boost-cpp
- cmake
- coin3d
- compilers
- conda-build
- conda-devenv
- conda-smithy
- debugpy
- doxygen
- eigen
- freetype
- gmsh
- graphviz
- hdf5
- libcxx<16
- matplotlib
- ninja
- numpy
- occt==7.6.3
- openssl==3.0.*
- pcl
- pip
- pivy
- pkg-config
- ply
- pybind11
- pyside2
- python
- pyyaml
- qt
- qt-main
- qt-webengine
- six
- smesh==9.9
- swig
- vtk
- xerces-c
- zlib
- pip:
- ptvsd
-118
View File
@@ -1,118 +0,0 @@
{% set name = "freecad" %}
{% set version = "0.19.pre" %}
{% set build_number = 142 %}
{% set build_number = build_number + 500 %} # [FEATURE_DEBUG]
package:
name: {{ name }}
version: {{ version }}
source:
# JZ - For local building this is the setup.
path: ../
#git_url: https://github.com/FreeCAD/FreeCAD
#git_tag: master
patches:
- windows_python_interface.patch
build:
number: {{ build_number }}
skip: true # [py < 38]
requirements:
build:
- {{ compiler("cxx") }}
- {{ cdt('mesa-libgl-devel') }} # [linux]
- {{ cdt('mesa-dri-drivers') }} # [linux]
- {{ cdt('mesa-libegl-devel') }} # [linux]
- {{ cdt('libselinux') }} # [linux]
- {{ cdt('libxdamage') }} # [linux]
- {{ cdt('libxfixes') }} # [linux]
- {{ cdt('libxxf86vm') }} # [linux]
- {{ cdt('libxcb') }} # [linux]
- {{ cdt('libxext') }} # [linux]
- {{ cdt('xorg-x11-server-xvfb') }} # [linux]
- {{ cdt('libxau') }} # [linux]
- {{ cdt('libxi-devel') }} # [linux]
- cmake
- ninja
- git
host:
- boost-cpp
- python
- qt
- occt
- xerces-c
- zlib
- vtk
- swig
- eigen
- pybind11
- coin3d
- pivy
- pyside2
- smesh
- netgen 6.2.1808*
- doxygen
- hdf5
- xorg-libxt # [linux]
- freetype
- libspnav # [linux]
- pcl
- six
- ply
- tbb-devel
run:
- {{ pin_compatible("pyside2") }}
- vtk
- occt
- qt
- xerces-c
- zlib
- boost-cpp
- hdf5
- python
- coin3d
- pivy
- smesh
- netgen 6.2.1808*
- xorg-libxt # [linux]
- freetype
- numpy
- six
- pyyaml
- libspnav # [linux]
- pcl
- ply
run_constrained:
- __osx >={{ MACOSX_DEPLOYMENT_TARGET|default("10.9") }} # [osx]
#test:
# commands:
# - FreeCADCmd -t 0
about:
home: https://www.freecadweb.org/
license: LGPL2.1
license_family: LGPL
license_file: LICENSE
summary: 'FreeCAD is a parametric 3D modeler made primarily to design real-life objects of any size. '
description: |
FreeCAD is a general purpose feature-based, parametric 3D modeler for
CAD, MCAD, CAx, CAE and PLM, aimed directly at mechanical engineering
and product design but also fits a wider range of uses in engineering,
such as architecture or other engineering specialities. It is 100% Open
Source (LGPL2+ license) and extremely modular, allowing for very
advanced extension and customization.
FreeCAD is based on OpenCASCADE, a powerful geometry kernel, features an
Open Inventor-compliant 3D scene representation model provided by the
Coin 3D library, and a broad Python API. The interface is built with Qt.
FreeCAD runs exactly the same way on Windows, Mac OSX, BSD and Linux
platforms.
doc_url: https://www.freecadweb.org/wiki/Main_Page
dev_url: https://github.com/FreeCAD/FreeCAD
extra:
recipe-maintainers:
- looooo
-31
View File
@@ -1,31 +0,0 @@
diff --git a/src/Ext/freecad/CMakeLists.txt b/src/Ext/freecad/CMakeLists.txt
index e03b5527e..d9004275b 100644
--- a/src/Ext/freecad/CMakeLists.txt
+++ b/src/Ext/freecad/CMakeLists.txt
@@ -5,7 +5,9 @@ SET(PYTHON_MAIN_DIR ${python_libs})
set(NAMESPACE_INIT "${CMAKE_BINARY_DIR}/Ext/freecad/__init__.py")
if (WIN32)
- set(FREECAD_LIBRARY_INSTALL_DIR ${CMAKE_INSTALL_BINDIR})
+ get_filename_component(FREECAD_LIBRARY_INSTALL_DIR "${CMAKE_INSTALL_BINDIR}"
+ REALPATH BASE_DIR "${CMAKE_INSTALL_PREFIX}")
+ set( ${CMAKE_INSTALL_BINDIR})
else()
set(FREECAD_LIBRARY_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR})
endif()
diff --git a/src/Ext/freecad/__init__.py.template b/src/Ext/freecad/__init__.py.template
index 68ca151a5..d5360b252 100644
--- a/src/Ext/freecad/__init__.py.template
+++ b/src/Ext/freecad/__init__.py.template
@@ -12,9 +12,9 @@ except ModuleNotFoundError:
except KeyError:
# 2. we use the default freecad defined for this package
- _path_to_freecad_libdir = "${CMAKE_INSTALL_LIBDIR}"
+ _path_to_freecad_libdir = "${FREECAD_LIBRARY_INSTALL_DIR}"
print("PATH_TO_FREECAD_LIBDIR not specified, using default \
-FreeCAD version in {}".format( "${FREECAD_LIBRARY_INSTALL_DIR}"))
+FreeCAD version in {}".format("${FREECAD_LIBRARY_INSTALL_DIR}"))
_sys.path.append(_path_to_freecad_libdir) # this is the default version
import FreeCAD as app
-6
View File
@@ -1,6 +0,0 @@
mesa-libGL
mesa-dri-drivers
libselinux
libXdamage
libXxf86vm
libXext-devel

Some files were not shown because too many files have changed in this diff Show More