Commit Graph

587 Commits

Author SHA1 Message Date
wmayer
3c1bf8e864 Core: Extend Color API
* Fix issues with alpha value <> transparency
* Use type traits to convert between different color classes (fixes #14515)
2024-11-15 12:25:25 -05:00
huguesdpdn-aerospace
611bab3d6d PD: Xerces-C++ - Prepare for the latest version (backward compatible) 2024-09-08 20:31:25 -05:00
pre-commit-ci[bot]
09386be6a9 [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
deea57fcb7 Mesh: Allow to measure distances with a mesh 2024-07-08 11:22:11 -05:00
Chris Hennes
5e47f6804f 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
127f935711 Fix several compiler warnings
* -Wmaybe-uninitialized
* -Wunused-parameter
* -Wunused-variable
* -Wnonnull
* -Wstringop-truncation
* -Wstringop-overflow
2024-06-19 21:14:23 -05:00
wmayer
560cab6f31 clang/gcc: Add build option FREECAD_WARN_ERROR to force to make warnings into errors 2024-05-29 13:37:07 +02:00
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