Commit Graph

1286 Commits

Author SHA1 Message Date
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
Chris Hennes
a30d3801b0 Base: Support virtual environment in Py>=3.11 2024-06-10 11:26:09 -05:00
Chris Hennes
978166e18d Base: Fix compiler warning 2024-06-10 11:23:40 -05:00
Chris Hennes
3ecf2466b8 Merge pull request #14417 from marioalexis84/fem-constraint_body_heat_source
Fem: Add body heat source to CalculiX writer - fixes #11650
2024-06-10 10:38:26 -05:00
Chris Hennes
6404de9c21 Update translations 2024-06-03 11:04:42 -05:00
marioalexis
108687b938 Fem: Improve constraint BodyHeatSource 2024-06-03 03:15:14 -03:00
David Carter
5feb963f9d Material: Appearance Updates 2
Improves the use of the ShapeAppearance property for the Part workbench.

    removes DiffuseColor property
        adds Python compatibility using custom attributes
        transitions DiffuseColor to ShapeAppearance on open
    Improved UI elements for setting object appearance, and appearance per face
    Lays the foundation for future texture support
2024-06-01 19:57:16 -05:00
ii8
6724a85d35 Base: fix build on musl libc 2024-05-30 08:49:25 +02: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
Chris Hennes
65f3965717 Merge pull request #14082 from Ondsel-Development/issue_13522_fix_read_lock
Core: Add read lock to fix for possible race conditions reading/writing config files
2024-05-27 10:41:23 -05:00
Chris Hennes
73ae4102e6 Update translations
Arch->BIM is a WIP
2024-05-25 19:11:51 -05:00
Pieter Hijma
1f3f14740e Core: Maintain the lock while reading config file 2024-05-17 11:29:49 +02:00
FEA-eng
14a7ca99cd Base: Add moment unit 2024-05-16 12:51:37 -05:00
Chris Hennes
bd7abe5521 Merge pull request #13907 from wwmayer/issue_13898
Fix memory leaks with PySequence_GetItem
2024-05-13 10:53:00 -05:00
Chris Hennes
9fead3682d Update translations 2024-05-12 17:06:56 -05:00
Ronny Standtke
3406e26c72 include translations of the FreeCAD Base 2024-05-10 14:31:33 +02:00
wmayer
58988a7482 Core: Fix memory leaks with PySequence_GetItem 2024-05-08 23:40:27 +02:00
wmayer
281230c520 Core: Fix possible race conditions when reading or writing config file 2024-05-06 13:24:17 +02:00
Dov Grobgeld
5e37bf11f5 Add <algorithm> include and remove explicit 3rdparty/GSL include reference 2024-05-03 14:17:09 +02:00
WandererFan
dd09bd2b53 Merge pull request #9750 from hlorus/gsoc2023_measure
GSoC 2023: Unified Measurement Facility
2024-04-29 12:41:54 -04:00
hlorus
e4e852d752 [Base] Expose type's "getModuleName" method 2024-04-29 09:27:22 -04:00
wmayer
defc6cd906 Base: Fix memory leak in Quantity::parse
If an exception is thrown then the allocated buffer won't be cleaned up. To make this exception-safe the class
StringBufferCleaner is added using the RAII idiom
2024-04-25 14:34:02 +02:00
Chris Hennes
ead426c6eb Update translations
Note: Web and Start omitted
2024-04-24 13:58:21 -05:00
wmayer
0c25b29680 Base: Fix possible race condition when restarting the application
When restarting the application (e.g. after installing an addon) the application will be closed and a new instance will be launched. Now it can happen that the old instance is still busy writing the config files to disk while the new instance wants to read them in. At this time it's possible that a config file is in an invalid state so that the new instance will ignore it but then starts with a default configuration.
Later when closing the new instance the config files will be overwritten and destroy the user's original settings.

By using a lock file this race condition will be avoided. It uses a timeout of 1 second that should be enough for the old instance to write the files to disk.
2024-04-18 23:07:58 -05:00
Chris Hennes
e7069e6797 Update translations. 2024-04-17 16:50:38 -05:00
wmayer
83abfa49b8 Base: handle exceptions in ParameterGrpPy 2024-04-17 21:52:32 +02:00
wmayer
a713d5f96f Tests: add more unit tests for ParameterGrp 2024-04-17 21:45:26 +02:00
Chris Hennes
2f81d8712b Toponaming/Base: Add ASCII stream output class (#13209)
* Toponaming/Base: Add ASCII stream output class

* Remove the ref from std::string

* Update based on review comments
2024-04-15 17:58:11 +02:00
wmayer
a043ed6a3d Base: fix some linter warnings 2024-04-14 21:22:08 +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
becf03c92d Base: expose a method to copy a parameter group to Python 2024-04-01 14:56:19 +02:00
wmayer
322fcc6bad Base: expose a method to rename a parameter group to Python 2024-04-01 14:43:23 +02:00
wmayer
b998bc181c Base: Fix linter warnings in ParameterPy 2024-04-01 14:23:41 +02:00
wmayer
c7209b3387 Base: Fix console logging macros
The notifier string must be a std::string() instead of an empty C string as otherwise the wrong methods are called so
    that all messages are sent to the void.

    This regression was caused by commit 3795444df473651
2024-03-31 17:38:26 +02:00
Chris Hennes
1a51c0cb57 Update translations 2024-03-25 18:08:22 -05:00
Anurag Singh
8a30854380 Add Missing API documentation/Update API Documentation for various files. (#13062)
* Added-API-Documentation-for-RectangularTrimmedSurfacePy.xml

* Added-API-Documentation-for-PlateSurfacePy.xml

* Added-API-Documentation-for-ShapeFix.xml

* Added-Back-Missing-Docs

* Add Missing Documentation to BuildPlateSurface

* Elaborate ComplexGeoData Functions

* Elaborate ComplexGeoData Functions

* Elaborates TypePy

* Add Missing Documentation to AreaPy
2024-03-22 15:49:36 +01:00
wmayer
8b9d67189e Base: enable user site-packages for Py >= 3.11
For more details see: https://forum.freecad.org/viewtopic.php?p=748296#p748296
2024-03-20 19:24:45 +01:00
wmayer
dfc252666e Base: Implement FileInfo::size() 2024-03-11 16:05:30 +01:00
Chris Hennes
441d674545 Merge pull request #12066 from 3x380V/time_cleanup
Base: Use std::chrono for time manipulation
2024-03-05 15:47:33 -06:00
Yorik van Havre
262a858be5 Translations (#12748)
* Updated ts files

* Merged crowdin translations

* [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>
2024-03-05 08:54:36 -06:00
Ladislav Michl
57ffa2427e Base: Remove StopWatch
StopWatch is now used on single place only, remove it in favour of TimeElapsed
2024-03-05 12:30:56 +01:00
Ladislav Michl
d95b56137b Base: Implement TimeElapsed
Some instances of TimeInfo serve the sole purpose of measuring time
duration. Using system time is unfortunate as it returns wall clock,
which is not guaranteed to be monotonic. Replace such a usage with
the new TimeElapsed class based on steady clock.
2024-03-05 12:29:24 +01:00
Ladislav Michl
a691d6fcdc Base: Use std::chrono for time handling
Replace platform specific implementations with standard C++ std::chrono.
As time_t is now 64-bit on all supported systems, use it to set the clock.
2024-03-05 12:22:40 +01:00
Ladislav Michl
7b70d3fc6f Base: Move currentDateTimeString out of TimeInfo
currentDateTimeString does not have anything in common
with TimeInfo class, move it into Tools.
2024-03-05 12:22:40 +01:00
bdieterm
b552ea7dbf Base: add missing axis and angle update for Rotation::setEulerAngles 2024-03-04 11:07:21 -06:00
Chris Hennes
c4b54a94a2 Update translations 2024-02-29 17:25:46 -06:00
mos
946f54a825 [Base] remove MemDebug
removed unused Memdebug files
2024-02-26 20:38:46 -06:00
Ladislav Michl
933fc55828 Base: Fix #12061
While rebasing after 794deeb0e5f6 ("fix readability-*:") a mistake was
make, causing  exception been thrown for every file opened. While there,
invert file test existence logic, so we return early on failure.

Fixes: a47f0a9b0a05 ("Base: Do not use else before return")
2024-02-26 17:39:33 +01:00
Chris Hennes
641e3dbbb4 Update translations (#12557)
* Update translations

* [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>
2024-02-24 21:38:37 -06:00
Chris Hennes
f4741fc7c8 Base: Rename ASCIIInputStream to TextInputStream 2024-02-21 07:31:22 +01:00