Commit Graph

1916 Commits

Author SHA1 Message Date
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
Chris Hennes
4fb058f6af Toponaming/Part: Clang-format cleanup 2024-02-28 19:18:45 -06:00
bgbsww
db38a7eb7e Toposhape/Part: cleanup and test getElementName 2024-02-28 17:07:36 -05:00
Zheng, Lei
1d9fcfea9a Toponaming/Part: trasnfer in getElementName 2024-02-28 17:06:09 -05:00
Chris Hennes
908eb7bc04 App: Remove unneeded forward declaration
Addresses clang-tidy complaint: declaration 'Feature' is never referenced, but a declaration with the same name found in another namespace 'Part' [bugprone-forward-declaration-namespace]
2024-02-28 12:58:46 +01:00
Chris Hennes
afff892b14 Merge pull request #12412 from FlachyJoe/suppressibleExt
Core: Create a SuppressibleExtension to provide the Suppressed property to all the WBs
2024-02-26 10:53:46 -06: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
48f73f49e8 App: Add PreCompiled.h to Varset cpp file (#12541)
* App: Add PreCompiled.h to Varset cpp file
2024-02-22 11:23:14 -06:00