Commit Graph

2273 Commits

Author SHA1 Message Date
Chris Hennes
b985f6339e Base/Toponaming: Correct string hasher output 2024-04-18 13:25:57 -05:00
wmayer
e3aba1ca59 App: Imrove exception handling in MaterialPy 2024-04-18 13:35:36 +02:00
Chris Hennes
e7069e6797 Update translations. 2024-04-17 16:50:38 -05:00
Chris Hennes
ed3e1cf544 Merge pull request #13332 from wwmayer/fix_material_issues
Fix material issues
2024-04-15 10:33:29 -05:00
bgbsww
459644be31 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
6acf5a00e6 Toponaming/Part: Transfer in python ElementMapVersion 2024-04-14 07:10:27 -04:00
wmayer
92ac3cc0d3 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
acb7be7a95 App: Add PropertyMaterialList::resizeByOneIfNeeded to avoid code duplication 2024-04-09 22:15:51 +02:00
wmayer
101564091b App: fix several linter warnings 2024-04-09 22:15:51 +02:00
wmayer
2d7d394960 App: fix PropertyMaterial::Save to create valid XML output 2024-04-09 22:15:51 +02:00
wmayer
bb10ff72b5 App: refactor MaterialPy to avoid code duplication 2024-04-09 22:15:51 +02:00
wmayer
03a2fe40fa 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
11bed3b8da 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
ba20441935 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
8863b9ac4c fix: c++20 deprecate [=] 2024-03-31 10:47:32 +02:00
Chris Hennes
c37c32edc9 Merge pull request #13154 from chennes/translations20240325
Update translations and fix script
2024-03-28 13:51:39 -05:00
Chris Hennes
ae33c7d952 Merge pull request #13096 from bgbsww/bgbsww-toponamingComplexGeoData
Toponaming/Part Bring in Python layer for ComplexGeoData
2024-03-25 23:20:52 -05:00
bgbsww
07180280a0 Clean and test ComplexGeoData python interface 2024-03-25 21:52:37 -04:00
Zheng, Lei
84407e36b8 Transfer in ComplexGeoData python interface 2024-03-25 21:52:36 -04:00
bgbsww
8d5385fcd2 Clean, enable disabled element map code in sketcher, add tests 2024-03-25 21:51:41 -04: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
112b0158d3 Fixes #11970: Return values of FreeCAD.get*Dir and FreeCAD.get*Path functions have inconsistent path separators 2024-03-22 09:42:31 +01:00
wmayer
cca7ed64f1 App: fix linter warnings in VRMLObject 2024-03-22 09:39:21 +01:00
wmayer
17aba1b0e6 App: fixes #13022
App::VRMLObject with more than one texture isn't properly displayed when file is reopened
2024-03-22 09:39:21 +01:00
wmayer
5ad85d15da App: InVRMLObject use two different index variables for restoring and saving
This is needed as it can happen (e.g. when debugging) that while restoring a project the auto-save mechanism is called that messes up the index value
2024-03-22 09:39:21 +01:00
wmayer
1818cd998b Fixes #13011: Failure of test additionOperators when built with Qt6 2024-03-20 18:05:13 +01:00
bgbsww
7c812105ee Toposhape/Part: Cleanup FeatureFillet, FeatureChamfer and dependencies 2024-03-19 11:10:18 -04:00
sliptonic
cefe728904 Merge pull request #12909 from FlachyJoe/fix-variablelink
[Link] Fix SIGSEGV with LinkCopyOnChange=Tracking
2024-03-18 11:57:00 -06:00
wmayer
75d30d2b04 App: add overloaded template method getExtension()
This allows it to write more elegant code like:
auto ext = obj->getExtension<>(GroupExtension);
instead of
auto ext = dynamic_cast<GroupExtension*>(obj->getExtension(GroupExtension::getExtensionClassTypeId(), true, true));
2024-03-16 09:46:06 +01:00
wmayer
f0881b5dbf App: Fix segmentation fault while dragging object
For more details see: https://forum.freecad.org/viewtopic.php?t=86001

The reason of the crash is that the GIL is not locked while accessing certain Python functions
2024-03-16 09:36:33 +01:00
Florian Foinant-Willig
15a9069cd2 Merge branch 'main' into fix-variablelink 2024-03-15 21:50:17 +01:00
Florian Foinant-Willig
6cec876a41 [Link] Fix SIGSEGV with LinkCopyOnChange=Tracking 2024-03-12 21:47:07 +01:00
Chris Hennes
230c7aa14e Merge pull request #12804 from bgbsww/bgbsww-toponamingPartFeature
Toponaming/Part: methods in part feature and dependencies for correct elementMaps
2024-03-11 13:35:59 -05:00
wmayer
6d9a1794e7 App: Change output stream from std::stringstream to std::ostream 2024-03-11 16:05:30 +01:00
wmayer
91d46a249a App: fix some linter issues 2024-03-09 16:18:14 +01:00
wmayer
0d85616644 App: Add class ProjectFile to access metadata and data files of a project 2024-03-08 22:25:59 -06:00
bgbsww
16eecee812 Toposhape/Part:: Fix, relocate and test element methods in ComplexGeoData and TopoShape 2024-03-07 23:00:48 -05: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
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
Chris Hennes
d153359b16 Apply suggestions from code review 2024-03-04 19:01:18 -06:00
bgbsww
5c582b7b2d Toposhape/Part:: fix, relocate and test element methods in ComplexGeoData and TopoShape 2024-03-04 17:16:59 -05:00
Zheng, Lei
e5ef0b5833 Toposhape/Part: element methods in ComplexGeoData and TopoShape 2024-03-04 17:16:59 -05:00
Chris Hennes
722ef69ad9 Merge pull request #12683 from bgbsww/bgbsww-toponamingPropertyTopoShape
Toponaming/Part: property topo shape
2024-03-04 15:05:16 -06:00
bgbsww
5892a8339e Toponaming/Part: Cleanups, problem fixes, and tests 2024-03-04 16:04:01 -05:00
Florian Foinant-Willig
c53d5fbf9d Introduce object freeze (#12580)
* Introduce object freeze

* do nothing at property change
2024-03-04 17:54:25 +01:00
Zheng, Lei
09a5ceca03 Toposhape/Part: Transfer in PropoertyTopoShape and related 2024-03-01 07:55:12 -05:00
Chris Hennes
c4b54a94a2 Update translations 2024-02-29 17:25:46 -06:00
Vincenzo Calligaro
494df1d169 Part/Toponaming: Tests for flushElementMap and resetElementMap (#12471)
* Part/Toponaming: tests for flushElementMap and resetElementMap
 * Added test for resetElementMap()
 * Added test for flushElementMap()
 * restored ComplexGeoData::resetElementMap to RT fork
 * modified TopoShape::resetElementMap to match the restored signature of ComplexGeoData::resetElementMap
 * added checks in TopoShape::makeShapeWithElementMap to avoid segfaults
 * added check in TopoShape::setElementComboName to avoid segfaults
 * restored testFindSubShapesForSourceWithTypeAndIndex
 * modified test saveDocFileWithNoElementMap to match the restored signature of ComplexGeoData::resetElementMap
* Part/Toponaming: tests for flushElementMap and resetElementMap
 * Removed comments in ComplexGeoData::resetElementMap()
 * Changed TopoShape::resetElementMap():: from virtual to override
 * Removed comment in TopoShape::resetElementMap()
 * Added comments about differences between main and RT fork
 * Removed comment in test saveDocFileWithNoElementMap
 * Updated expected test result in makeElementCompoundTwoShapesGeneratesMap
 * Updated expected test result in resetElementMapTest
 * Fixed typo in test flushElementMapTest
* Part/Toponaming: tests for flushElementMap and resetElementMap
 * updated expected tests results after previous methods modifications

---------

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-02-29 13:27:27 -06:00