Commit Graph

1443 Commits

Author SHA1 Message Date
Benjamin Nauck
1370c2101f Base: Make degrees and radians convertions safer and faster 2025-04-14 08:00:57 +02:00
Benjamin Nauck
16a7bf420c Base: Make sgn branchless 2025-04-14 08:00:57 +02:00
Benjamin Nauck
12fa564894 Base: Require clamp to take arithmetic values
use std::clamp internally, function should probably be removed
2025-04-14 08:00:48 +02:00
Luz Paz
dd16b8053e Fix various typos
Found via codespell
2025-04-13 14:06:26 -05:00
Kacper Donat
b300c80b90 Base: Use explicit pointer syntax for freecad_cast (#20694)
* Base: Use explicit pointer syntax for freecad_cast

This aligns our custom cast with other casts

* All: Use explicit pointer syntax for freecad_cast
2025-04-11 14:11:33 +00:00
Ladislav Michl
ed00a6673c Base: Quantity: rename lexer and parser files
Rename files according 7d233dc ("Gui: Rename generated lexer files
to match core naming pattern"). Note that C space errors (space
before tabs, spaces on blank lines, etc.) still need to be fixed
manually after regenerating lexer file.
2025-04-08 11:09:36 +02:00
Ladislav Michl
f7c8ce50bc Base: Quantity: indent lexer and parser input files 2025-04-08 11:09:36 +02:00
Chris Hennes
de13e777f4 Merge pull request #20643 from tritao/python-gen-include-pycxx
Tools: Add PyCXX includes to generated Python binding files.
2025-04-07 11:27:17 -05:00
Andrea
cdff0da672 BASE: remove FileTemplate class
Removed unnecessary and old filetemplate class
2025-04-07 11:26:07 -05:00
Kacper Donat
35a9673a75 Base: Rename Base::freecad_dynamic_cast into freecad_cast
This is to make it shorter and easier to use. QT does the same thing
with their qobject_cast.
2025-04-07 10:32:28 -05:00
tritao
ccbae8b847 Base: Clean up Python includes in PyObjectBase.h. 2025-04-05 12:14:32 +01:00
Benjamin Nauck
d9af862627 Base: Add #include <limits> where used 2025-03-31 23:50:30 +02:00
Kevin Martin
7441ae36d3 Base: UniqueNameManager support for very long numbers in name (#19943)
* Add unit tests for large digit count in unique names

* Updated to use arbitrary-precision unsigneds

Passes the new unit tests, all diagnostics, and resolves Issue 19881

* Place UnlimitedUnsigned at top level and add unit tests

* [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>
2025-03-31 10:45:58 -05:00
Chris Hennes
e7156aa326 Merge pull request #20496 from hyarion/refactor/cppify-constants 2025-03-29 18:43:40 -05:00
Kacper Donat
f5199145a4 Merge pull request #20379 from chennes/baseEliminatePy_GetPath
Replace it with a piece of code that replicates the functionality. Also eliminate the round-trip through char * that this function was using (the final variable is stored as a std::string anyway).
2025-03-29 18:13:08 +01:00
Benjamin Nauck
ae686942a7 Base: Use std::numeric_limits and std::numbers instead of defines 2025-03-29 13:32:37 +01:00
mosfet80
96e8a9e83c Remove old GCC<=8 (#20508)
GCC version is always greater than 8
2025-03-29 12:21:36 +01:00
marioalexis
8c6e77ee97 Base: Improve schema translation for electrical units 2025-03-28 07:43:15 +01:00
marioalexis
406a834a6d Base: Add volume charge density unit 2025-03-27 21:13:21 +01:00
Chris Hennes
67982f3963 Base: Add Console::DestructorError as noexcept
Create a new console output that eats exceptions so it is safe to use in a destructor.
2025-03-25 09:45:25 +01:00
Chris Hennes
af8a86f6bf Base: Eliminate use of deprecated PyWeakref_GetObject
Co-authored-by: João Matos <joao@tritao.eu>
2025-03-23 22:43:03 +01:00
Chris Hennes
ebc0dc165d Base: Initialize tp_versions_used in PyTypeObject (3.13)
This field is undocumented, but exists in the source code for 3.13
(see https://github.com/python/cpython/blob/3.13/Include/cpython/object.h#L232)
and gives a compiler warning if left uninitialized.
2025-03-23 22:42:08 +01:00
Chris Hennes
f0fc6ccde1 Base: Remove deprecated Py_GetPath call
Replace it with a piece of code that replicates the functionality. Also eliminate the round-trip through char * that this function was using (the final variable is stored as a std::string anyway).
2025-03-22 18:59:05 -05:00
bofdahof
4ceecd0857 Replace std::endl with '\n' 2025-03-21 23:30:41 -05:00
bofdahof
e4ebaba805 Exception.cpp 2025-03-21 22:39:41 -05:00
Florian Foinant-Willig
7bf1b5d787 Fix FreeCAD#19588 2025-03-20 20:14:50 +01:00
tritao
8d36987f16 Base: Remove XML binding files. 2025-03-19 20:04:19 -05:00
Chris Hennes
64d658e38a FreeCAD: Compiler warning fixes 2025-03-19 10:13:34 +01:00
Chris Hennes
e574fa1efc Merge pull request #19899 from tritao/cmake-cleanup-targets
CMake: Cleanup targets with transitive dependencies
2025-03-17 13:15:37 -05:00
bofdahof
f8be6f5233 Base: Switch small enum base type to std::uint8_t
int and size_t are much larger than necessary for storage of these
enum types.
2025-03-17 12:34:14 -05:00
tritao
6c2c6847eb CMake: Cleanup targets with transitive dependencies 2025-03-17 12:12:06 +00:00
Chris Hennes
5f623390fb Merge pull request #20142 from bofdahof/ranges
Apply C++20 std::ranges (mainly to std::find)
2025-03-17 03:08:27 -05:00
Chris Hennes
4fcdac28fb Merge pull request #19583 from hyarion/refactor/base-type
Refactor Base::Type
2025-03-17 00:03:22 -05:00
bofdahof
77689e3bb1 Base: apply std::ranges 2025-03-16 17:14:51 -05:00
Chris Hennes
dced463dc6 Merge pull request #19428 from tritao/base-tracy-profiler
Base: Add Tracy frame profiling support.
2025-03-14 04:12:05 +00:00
Joao Matos
7ae14d6bd5 Base: Add build support and instrumentation for the Tracy profiler. 2025-03-14 03:41:30 +00:00
Chris Hennes
be8b92182c Merge pull request #19921 from mosfet80/QT_CLEAN
REMOVE old QT<= 5.14 code
2025-03-11 20:54:59 +00:00
mos
c70a7933e6 Removed old Python code <3.10 2025-03-07 16:34:08 -06:00
Benjamin Nauck
a0a64c1fb8 Base: Make Type::importModule private 2025-03-06 20:50:04 +01:00
Benjamin Nauck
e7119ee243 Base: Add documentation of Type 2025-03-06 20:50:04 +01:00
Benjamin Nauck
ece25df768 Base: Add asserts to check that Type has been initialized 2025-03-06 20:50:04 +01:00
Benjamin Nauck
280c1c610d Base: Minor cleanup
* Add const
* Add final
* [[nodiscard]]
* Fix parameter names
* Add TypeId instead of unsigned int
* Add "BadType" string constant

Some some other tweaks
2025-03-06 20:49:58 +01:00
Andrea
da66720d3a REMOVE old QT<= 5.14 code
Ubuntu 22.04  use qt 1.15.3.
In the code is still used qt code <5.10.
A cleanup was done by removing qT code version used in ubuntu 18.04.
2025-03-05 09:32:06 +01:00
PaddleStroke
50394a6ef3 Update PreCompiled.h 2025-03-03 10:21:37 -06:00
Chris Hennes
7f1c43a335 Merge pull request #19636 from kadet1090/color-in-base
Base: Move App::Color to Base
2025-03-02 16:36:40 -06:00
Chris Hennes
0c4ed644c4 Merge pull request #19450 from tritao/base-python-api-model
Base: Modernize Python bindings APIs
2025-03-02 16:34:25 -06:00
Chris Hennes
6512dc69e9 Merge pull request #19761 from chennes/coverityFixesFeb2025
Base: Coverity fixes from February 2025 run (round 1)
2025-03-02 16:15:17 -06:00
Joao Matos
c71e11101a Base: Modernize Python bindings APIs 2025-03-01 16:32:22 +00:00
Chris Hennes
cf477695f9 Merge pull request #19671 from kadet1090/placement-indicator
Gui: Add Show Placement helper
2025-02-25 17:40:58 +00:00
Benjamin Bræstrup Sayoc
755229df23 Build: suppress warnings from 3rd party libraries
Warnings from 3rd parties are not relevant and are only polluting the warning output. Marking these libraries as SYSTEM suppresses warning.

https://gcc.gnu.org/onlinedocs/cpp/Invocation.html#index-I
https://gcc.gnu.org/onlinedocs/cpp/System-Headers.html
2025-02-25 14:39:05 +00:00