Commit Graph

585 Commits

Author SHA1 Message Date
pre-commit-ci[bot]
9d949c60aa [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-08-25 07:29:42 +00:00
wmayer
88fb44900e Mesh: Allow to measure distances with a mesh 2024-07-08 11:22:11 -05:00
Chris Hennes
d01ce32a1f Update for LibPack3 (#10337)
* cMake: Add base support for LibPack3

Minor changes to FreeCAD source code to support compiling with Qt 6.5 on MSVC,
and changes to cMake setup to support the new Libpack.

* NETGENPlugin: Fix compilation with MSVC and OCCT 7.8

* Material: Switch to Wrapped_ParseTupleAndKeywords for /fpermissive- on MSVC

* Base: Prevent accidental definition of MIN and MAX by MSVC

* cMake: Prevent accidentally finding an old LibPack

* Material: Wrap another ParseTuple call

* OCCT: Modify includes for 7.8.x

* Part: Change TNP code to use Wrapped_ParseTupleAndArgs

* Spreadsheet: Workaround for MSVC macro pollution

* Mesh: Workaround for MSVC macro pollution

* Base: Remove extra MSVC flag (moved to CMake)

* Tests: Fix compiling with /permissive-

* FEM: Fix Qt warnings about duplicate element names

* cMake: Ensure major version numbers are set

* Address review comments.

* cMake: Further tweaks for LibPack3

* cMake: Modify specification of compiler flags for MSVC

* Main: Remove QtQuick testing code

* cmake: Find Boost before SMESH (which uses it)

* Fixes for LibPack2

* cMake: Another try at importinhg VTK cleanly
2024-06-24 18:25:05 +02:00
wmayer
f6e67a009d Fix several compiler warnings
* -Wmaybe-uninitialized
* -Wunused-parameter
* -Wunused-variable
* -Wnonnull
* -Wstringop-truncation
* -Wstringop-overflow
2024-06-19 21:14:23 -05:00
wmayer
4185605d5e clang/gcc: Add build option FREECAD_WARN_ERROR to force to make warnings into errors 2024-05-29 13:37:07 +02:00
wmayer
0b08ea3368 C++: replace deprecated vsprintf and sprintf
With future C++ compilers the methods vsprintf and sprintf are declared as deprecated due to security issues.
They are replaced with the secure counterpart of the fmt library

Fixes the compiler warnings -Wdeprecated-declarations
2024-04-03 10:04:56 +02:00
wmayer
82e1091c19 Mesh: fix linter warnings 2024-03-30 00:21:58 +01:00
wmayer
a79eef0a39 Mesh: remove problematic method MeshGrid::Rebuild(unsigned long, unsigned long)
and MeshGrid::CalculateGridLength(unsigned long, unsigned long)

For almost flat meshes CalculateGridLength may compute a grid with a huge amount of cells that allocates the whole RAM of the system while for an exactly flat mesh a grid with a sensible number of cells is computed.

Use the overloaded methods of MeshGrid::Rebuild(unsigned long) and MeshGrid::CalculateGridLength(unsigned long) instead
2024-03-30 00:21:58 +01:00
wmayer
af85689cff Mesh: fixes #12798: Macro not recording mesh decimation 2024-03-16 09:41:18 +01:00
wmayer
042d3a63e7 Mesh: add unit tests for mesh export 2024-03-16 09:39:49 +01:00
wmayer
0b8990c96c Points: fix many linter warnings 2024-03-12 18:02:33 +01:00
wmayer
9140327832 Mesh: fix many linter warnings 2024-03-12 00:36:28 +01:00
wmayer
053d0fa047 Mesh: replace QtConcurrent::run with std::async 2024-03-11 16:00:25 +01:00
wmayer
33cacc3fb0 Mesh: make sure in VisitNeighbourFacets() and VisitNeighbourFacetsOverCorners() that start index is within the valid range 2024-03-11 16:00:25 +01:00
mosfet80
eda7e134ea casts clean (#11548)
* remove unecessary casts

clean unused code

revert  example py code

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-12-04 10:51:36 -06:00
bgbsww
b1a96bde5f Don't apply the transformations recursively, just make sure the right one is applied to the top subobject (#11539) 2023-11-29 17:15:59 -03:00
Chris Hennes
fa65438556 Core: Enable compiling with MSVC /permissive- (#11014)
* Base: Fixes for MSVC permissive-

* App: Fixes for MSVC permissive-

* Gui: Fixes for MSVC permissive-

* Main: Fixes for MSVC permissive-

* Fem: Fixes for MSVC permissive-

* Material: Fixes for MSVC permissive-

* Part: Fixes for MSVC permissive-

* Mesh: Fixes for MSVC permissive-

* Points: Fixes for MSVC permissive-

* Robot: Fixes for MSVC permissive-

* TechDraw: Fixes for MSVC permissive-

* Path: Fixes for MSVC permissive-

* Core; Changes per review comments

* TD: Revision from wandererfan

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-11-27 17:37:29 +01:00
wmayer
dcd533af4b Base: fix google-explicit-constructor 2023-11-22 23:47:29 +01:00
pre-commit-ci[bot]
11916af30d [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-11-11 18:21:31 +01:00
bgbsww
b52694c87b Fix 10545 by using position of array members 2023-11-11 18:21:31 +01:00
Chris Hennes
aaa0db3867 Merge pull request #11231 from DeflateAwning/http-cleanup
Find and replace http://freecad to https://freecad
2023-11-06 11:16:13 -06:00
DeflateAwning
8de6db3e97 Find and replace http://freecad.org to https://freecad.org
Find and replace:
http:\/\/(.{0,10})freecad
https://$1freecad
Done in all remaining files (after doing it in SVGs in the last commit)
2023-10-29 22:39:22 -06:00
Florian Foinant-Willig
2e16f5aa36 Mesh: modernize type checking 2023-10-23 18:08:06 +02:00
wmayer
7200cfe90d Mesh: disable potentially unsafe code in Wm4 library 2023-10-19 15:10:09 +02:00
wmayer
bd0a3122b6 Mesh: C++ core guidelines 2023-09-26 11:20:35 +02:00
wmayer
4e328682d9 Mesh: Apply clang-format 2023-09-23 14:03:11 +02:00
wmayer
7bbc93e218 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
2023-09-06 07:28:07 +02:00
luzpaz
9ed299a57a Fix typos 2023-08-31 22:29:17 -05:00
wmayer
8a59350de8 Mesh: add unit tests 2023-08-27 18:55:02 +02:00
Chris Hennes
d8094b0d57 Merge pull request #10365 from chennes/wrapPyArgParseWithKeywords
Wrap PyArg_ParseTupleWithKeywords
2023-08-27 10:23:31 -05:00
wmayer
bb13c179e9 Base: fix clang-tidy warnings in BoundBox.h 2023-08-26 21:03:58 +02:00
Chris Hennes
363ad73908 Mesh: Wrap PyArg_ParseTupleAndKeywords 2023-08-25 15:34:26 -05:00
wmayer
e613167d8d Mesh: modernize C++: use default member init 2023-08-23 00:55:03 +02:00
wmayer
5177007994 Mesh: modernize C++: use equals default 2023-08-21 18:39:59 +02:00
wmayer
e98891859e Mesh: modernize C++: return braced init list 2023-08-19 11:35:41 +02:00
Jonas Bähr
3e68d6fd50 Remove C++ escaping from *Py.xml templates
Now all escaping required for the C++ code generation is done when the
.cpp/.h files are generated. Previously, only newlines were escaped
automatically. This was a) inconsistent and b) leaked c++ details into
the xml data.
In addition, the escaping is now done in one central place, harmonizing
the three previous implementations.

Pre-existing c++ escape sequences in the XML files have been replaced by
their literal equivalent so that the resulting python doc sting remains
unchanged.
2023-08-16 13:17:25 +02:00
wmayer
375cb9a0fe Mesh: modernize C++: use range-based for loop 2023-08-15 10:56:30 +02:00
wmayer
9f456d712b modernize C++: use equals delete 2023-08-10 17:29:05 +02:00
wmayer
d150fa7164 modernize C++: avoid bind
In many cases std::bind() is kept because the code is much simpler
2023-08-08 21:10:16 +02:00
Roy-043
7bb6f48dbd Mesh: Avoid dictionary.keys() where possible 2023-08-08 17:29:05 +02:00
wmayer
0af4990817 modernize C++: make unique 2023-08-07 19:51:30 -06:00
wmayer
96aabe113e modernize C++: raw string literal 2023-08-07 19:51:15 -06:00
Benjamin Bræstrup Sayoc
33384cff9c [Everywhere] FileInfo::hasExtension for multiple values (#9774)
* [Base] Add hasExtension for multiple values

* [Gui] Use hasExtension for multiple values

* [Drawing] Use hasExtension for multiple values

* [Fem] Use hasExtension for multiple values

* [Import] Use hasExtension for multiple values

* [Mesh] Use hasExtension for multiple values

* [Part] Use hasExtension for multiple values

* [TechDraw] Use hasExtension for multiple values
2023-08-07 09:55:19 -06:00
wmayer
f94b026456 modernize C++: use transparent functors 2023-08-07 16:08:35 +02:00
wmayer
5a7824b646 Mesh: for invalid neighbour facet indexes explicitly use -1
The underlying C++ class use an unsigned long to reference neighbour facets. ULONG_MAX is used to indicate a missing neighbour facet.
Since the value of ULONG_MAX is platform dependent and can be confusing in Python the Python wrapper FacetPy now explicitly uses -1 to indicate missing neighbour facets
2023-08-05 15:32:11 -06:00
wmayer
3975f31f89 Misc: modernize C++: use override 2023-08-04 17:09:53 +02:00
wmayer
ec0c7ab835 Mesh: modernize C++: use override 2023-08-04 17:09:53 +02:00
luzpaz
13f79ab6df Fix typos 2023-07-17 16:08:05 -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
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