Commit Graph

580 Commits

Author SHA1 Message Date
wmayer
4263ab1937 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
df4a517e32 Mesh: fix linter warnings 2024-03-30 00:21:58 +01:00
wmayer
c98d05b51d 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
971a698a38 Mesh: fixes #12798: Macro not recording mesh decimation 2024-03-16 09:41:18 +01:00
wmayer
479ad3487d Mesh: add unit tests for mesh export 2024-03-16 09:39:49 +01:00
wmayer
ed573fcf86 Points: fix many linter warnings 2024-03-12 18:02:33 +01:00
wmayer
a7ae00237d Mesh: fix many linter warnings 2024-03-12 00:36:28 +01:00
wmayer
145f203c2f Mesh: replace QtConcurrent::run with std::async 2024-03-11 16:00:25 +01:00
wmayer
8ae8ba5668 Mesh: make sure in VisitNeighbourFacets() and VisitNeighbourFacetsOverCorners() that start index is within the valid range 2024-03-11 16:00:25 +01:00
mosfet80
f9f1f88426 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
98ea03c5ae 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
cfd41683a5 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
0c21c6298c Base: fix google-explicit-constructor 2023-11-22 23:47:29 +01:00
pre-commit-ci[bot]
dce4dc3518 [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
640de8ceb2 Fix 10545 by using position of array members 2023-11-11 18:21:31 +01:00
Chris Hennes
37a8e348c6 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
1e3179e9bc 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
bce19a969c Mesh: modernize type checking 2023-10-23 18:08:06 +02:00
wmayer
eb52c5fa9a Mesh: disable potentially unsafe code in Wm4 library 2023-10-19 15:10:09 +02:00
wmayer
a364141c58 Mesh: C++ core guidelines 2023-09-26 11:20:35 +02:00
wmayer
23db389a76 Mesh: Apply clang-format 2023-09-23 14:03:11 +02:00
wmayer
2a65715248 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
40d2a90e3a Fix typos 2023-08-31 22:29:17 -05:00
wmayer
0ae4ef2d2f Mesh: add unit tests 2023-08-27 18:55:02 +02:00
Chris Hennes
3d8ec230f8 Merge pull request #10365 from chennes/wrapPyArgParseWithKeywords
Wrap PyArg_ParseTupleWithKeywords
2023-08-27 10:23:31 -05:00
wmayer
b4739d3ca4 Base: fix clang-tidy warnings in BoundBox.h 2023-08-26 21:03:58 +02:00
Chris Hennes
79286f30da Mesh: Wrap PyArg_ParseTupleAndKeywords 2023-08-25 15:34:26 -05:00
wmayer
5da3143f02 Mesh: modernize C++: use default member init 2023-08-23 00:55:03 +02:00
wmayer
d11fdf3ba9 Mesh: modernize C++: use equals default 2023-08-21 18:39:59 +02:00
wmayer
9d780d223a Mesh: modernize C++: return braced init list 2023-08-19 11:35:41 +02:00
Jonas Bähr
34b176c1db 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
7f49080952 Mesh: modernize C++: use range-based for loop 2023-08-15 10:56:30 +02:00
wmayer
7fe0d5b9a6 modernize C++: use equals delete 2023-08-10 17:29:05 +02:00
wmayer
948cbfccd9 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
2bb3dd1c7e Mesh: Avoid dictionary.keys() where possible 2023-08-08 17:29:05 +02:00
wmayer
ec73caa40e modernize C++: make unique 2023-08-07 19:51:30 -06:00
wmayer
c2e17824fa modernize C++: raw string literal 2023-08-07 19:51:15 -06:00
Benjamin Bræstrup Sayoc
da2ae719f2 [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
b6f331f4fa modernize C++: use transparent functors 2023-08-07 16:08:35 +02:00
wmayer
23375dcd0f 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
b8a7849dd3 Misc: modernize C++: use override 2023-08-04 17:09:53 +02:00
wmayer
fb75ab6e10 Mesh: modernize C++: use override 2023-08-04 17:09:53 +02:00
luzpaz
a59ec2df85 Fix typos 2023-07-17 16:08:05 -05:00
Petter Reinholdtsen
5f95364012 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
38a01939e0 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
wmayer
82b168da15 Mesh: fix some clang-tidy warnings 2023-03-27 11:22:21 +02:00
Andrew
bebadad9bf clean Mod/Mesh from #if 0 2023-03-27 11:22:21 +02:00
liukaiwen
de63e13adb 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
2a0e52e71e clang: fix -Wunused-but-set-variable 2023-03-12 15:05:21 +01:00
xtemp09
eda50c13b0 [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