Commit Graph

1957 Commits

Author SHA1 Message Date
Ronny Standtke
1c618ffd8f include translations of the FreeCAD App 2024-05-09 21:21:16 +02:00
wmayer
374a663d2c Measure: Fix memory leaks 2024-05-08 20:01:54 +02:00
bgbsww
71d96bccac Fix tests, slip in TNP defense 2024-05-07 13:42:21 -04:00
bgbsww
8fff92618c Toponaming/Part: Fix fillet/pad bug, add tests 2024-05-07 09:40:48 -04:00
Chris Hennes
a2b0941540 Update translations
Also removes Web from translation scripts.
2024-05-06 18:17:53 +02:00
wmayer
913e409b24 Core: Fix crash when loading a file with v0.21 that was created with v0.22
In v0.22 a version number -1 is added to the material files to distinguish between old and new project file.
But v0.21 doesn't know about this version number and interprets it as number of elements instead.
Because this value is assigned to an unsigned type the value becomes 2**32 - 1. Now trying to create a container of this size requires > 280 GB
of RAM. On most systems FreeCAD new handler will jump in and raises a memory exception to stop the allocation. But an other systems with
plenty of RAM it's tried to allocate the memory and then may crash at some point.

This PR fixes this regression. It puts the version number to the MaterialList XML element as an optional attribute.
With this change FreeCAD v0.22 is still able to load projects that have been created prior to this change.
Additionally FreeCAD v0.21 can again load project files without crashing.

For more details see: https://forum.freecad.org/viewtopic.php?t=87268
2024-05-06 17:56:25 +02:00
bgbsww
2bff3f5343 Lint corrections 2024-05-03 12:07:02 -04:00
bgbsww
d861b81c51 Merge branch 'main' into bgbsww-toponamingMissingAppMethods 2024-05-02 22:43:36 -04:00
bgbsww
f9b65e563d Test for changed Sketches avoiding TNP 2024-05-01 20:29:26 -04:00
Zheng, Lei
47635c0507 Methods to support Toponaming element maps 2024-05-01 18:02:04 -04:00
wmayer
56f84c8042 Fix various compiler warnings:
* fix -Wunused-parameter
* fix -Wunused-function
* fix -Wunused-private-field
* fix -Wunused-variable
* fix -Winconsistent-missing-override
2024-04-30 16:59:31 +02:00
liukaiwen
45e6d4e1e8 fix precompile on lastest unified measurement 2024-04-29 13:42:40 -05:00
CalligaroV
c3b0fcdccf App/Toponaming: import SubObjectT dependencies for SubShapeBinder
* Fixed a mistake made in getSubObjectListFlatten()
 * Applied modifications according to review comments

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-04-29 11:42:18 -05:00
CalligaroV
243e20248d App/Toponaming: import SubObjectT dependencies for SubShapeBinder
* Formatted and refactored code imported for the DocumentObject class
 * Formatted and refactored code imported for the SubObjectT class

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-04-29 11:42:18 -05:00
CalligaroV
ceb5478a37 App/Toponaming: import SubObjectT dependencies for SubShapeBinder
* Added test for SubObjectT::hasSubObject()
 * Added test for SubObjectT::hasSubElement()
 * Added test for SubObjectT::normalize()
 * Added test for SubObjectT::normalized()

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-04-29 11:42:18 -05:00
Zheng, Lei
138417c2a2 App/Toponaming: import SubObjectT dependencies for SubShapeBinder
* Added SubObjectT methods normalize(), normalized(), hasSubObject() and hasSubElement()
 * Updated DocumentObject::getSubObjectList()
 * Applied modifications to make the code compile
2024-04-29 11:42:18 -05:00
WandererFan
db22476450 Merge pull request #9750 from hlorus/gsoc2023_measure
GSoC 2023: Unified Measurement Facility
2024-04-29 12:41:54 -04:00
WandererFan
22e157b78c Merge pull request #13644 from wwmayer/default_material
Gui: expose ViewProviderGeometryObject::getUserDefinedMaterial() to Python
2024-04-29 12:28:25 -04:00
Chris Hennes
dcbdc1b204 Merge pull request #13665 from wwmayer/fix_memory_leak2
Core: fix possible memory leaks when using parser
2024-04-29 11:14:11 -05:00
hlorus
2acf5ccab0 [App] Add registration functions for unified measurement facility 2024-04-29 09:27:22 -04:00
wmayer
499e73f337 Core: fix possible memory leaks when using parser 2024-04-26 21:42:34 +02:00
wmayer
1365a939e9 App: Change default constructor of Material class to use DEFAULT instead of STEEL 2024-04-26 15:06:30 +02:00
wmayer
e85954e8a3 App: Create PropertyMaterialList with a single material element 2024-04-25 17:04:36 +02:00
wmayer
200d9eeb84 App: Add class CleanupProcess to allow to free resources when closing the application 2024-04-25 15:44:22 +02:00
Chris Hennes
1ec93fdbc2 Update translations
Note: Web and Start omitted
2024-04-24 13:58:21 -05:00
Zheng, Lei
0e2447129c App: fix linked copy on change group out of scope problem
Fixes FreeCAD/FreeCAD#13481
2024-04-24 08:09:53 -05:00
Chris Hennes
f47138c08a Merge pull request #13520 from wwmayer/fix_material
Fix further material issues
2024-04-22 11:16:44 -05:00
Chris Hennes
2326d3ce4c Merge pull request #13495 from wwmayer/material_colors
Support to customize all material colors
2024-04-22 11:09:05 -05:00
farley
1f9f39fa28 Core: Fix searching model tree does not work for numbers #12723 (#13377)
* Fix problem #12723: Searching model tree does not work for numbers
- Modify ExpressionTokenizer::perform
- Add tests tokenizeCompletion
2024-04-22 10:55:42 -05:00
mosfet80
44449d32d6 App: clean
Clean  GeoFeatureGroupExtension.cpp
2024-04-20 11:29:00 +02:00
mosfet80
eb842aadff Update Application.cpp
removed commented code
2024-04-20 08:54:02 +02:00
wmayer
6d84802946 App: use std::lround() to fix linter warnings 2024-04-19 13:07:10 +02:00
wmayer
475ece0777 App: Add setPackedRGB() and getPackedRGB() to Color class 2024-04-19 11:13:59 +02:00
mosfet80
8dd2f8e8fa [App] clean
removed dead code
2024-04-18 23:06:47 -05:00
Chris Hennes
7ae62d74bf Base/Toponaming: Correct string hasher output 2024-04-18 13:25:57 -05:00
wmayer
3a541eeba9 App: Imrove exception handling in MaterialPy 2024-04-18 13:35:36 +02:00
Chris Hennes
6d504a0351 Update translations. 2024-04-17 16:50:38 -05:00
Chris Hennes
87839c9f8b Merge pull request #13332 from wwmayer/fix_material_issues
Fix material issues
2024-04-15 10:33:29 -05:00
bgbsww
a88e7baff5 TopoShape/Part: Bug fixes; pass Hasher parms, OCCT 7.8 compatibility, ElementMaps correct item count 2024-04-14 13:56:07 -04:00
Zheng, Lei
2377175ab1 Toponaming/Part: Transfer in python ElementMapVersion 2024-04-14 07:10:27 -04:00
wmayer
af317be718 Core: avoid conversion from float to double or vice-versa
When synchronizing the Transparency property with the transparency value of the ShapeAppearance property then do not convert between float and
double as otherwise some strange rounding issues can occur.

Example: Set the Transparency property of an object to 35 in the Property Editor. After leaving the editor the value may switch to 34.
2024-04-09 22:15:51 +02:00
wmayer
5853314833 App: Add PropertyMaterialList::resizeByOneIfNeeded to avoid code duplication 2024-04-09 22:15:51 +02:00
wmayer
c161871689 App: fix several linter warnings 2024-04-09 22:15:51 +02:00
wmayer
8f649a8aa4 App: fix PropertyMaterial::Save to create valid XML output 2024-04-09 22:15:51 +02:00
wmayer
4fe1192e51 App: refactor MaterialPy to avoid code duplication 2024-04-09 22:15:51 +02:00
wmayer
9a16a7108f App: Fix linter warnings
* fix readability-uppercase-literal-suffix
* fix readability-avoid-const-params-in-decls
* fix cppcoreguidelines-special-member-functions
* fix cppcoreguidelines-pro-type-member-init
* fix modernize-use-equals-default
2024-04-09 22:15:50 +02:00
CalligaroV
6779c912bf App/Toponaming: GeoFeature - fixes #13009 - fixes #13248
* Restored previous logic of GeoFeature::getElementName()
 * Added precompiler directive to use the old logic if FC_USE_TNP_FIX isn't defined, otherwise use the new logic
 * Reworked SketchObjectTest::getElementName() as a consequence of the previous points

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-04-04 22:09:12 -05:00
David Carter
495a96a0f5 Material: Material appearance
Uses new material system for appearance

Each feature object now has a property called ShapeMaterial that
describes its physical properties. If it has a shape, it has a
material.

The ShapeColor attribute is replaced by a ShapeAppearance attribute.
This is a material list that describes all appearance properties, not
just diffuse color. As a list in can be used for all elements of a
shape, such as edges and faces.

A new widget is provided to allow the user to select materials in a
consistent fashion. It can also launch the material editor with its
more advanced capabilities.
2024-04-04 07:39:58 -05:00
ppphp
da7ee06d67 fix: c++20 deprecate [=] 2024-03-31 10:47:32 +02:00
Chris Hennes
49451b3c7f Merge pull request #13154 from chennes/translations20240325
Update translations and fix script
2024-03-28 13:51:39 -05:00