Commit Graph

1901 Commits

Author SHA1 Message Date
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
Florian Foinant-Willig
5d539cd940 Add SuppressibleExtension 2024-02-21 16:19:32 +01:00
Pieter Hijma
402421f6aa [Core] Managing Custom Data Elements: VarSet (#12135)
* [Core] Add a basic VarSet document object

* [Core] Add basic tests for VarSets

* Core: Replace the VarSet icon with an outlined one
2024-02-21 10:38:06 +01:00
Chris Hennes
f4741fc7c8 Base: Rename ASCIIInputStream to TextInputStream 2024-02-21 07:31:22 +01:00
Chris Hennes
b323230395 Base: Add ASCIIInputStream
Based on the modifications to InputStream from the LinkStage3 fork. Needed for correct restoration of StringHasher.
2024-02-19 16:47:28 -06:00
Andrei Pozolotin
9e1edf36f0 Resolve #11965 - no proper execute() for cross-property references
Solution B: parsequant() function
2024-02-19 11:12:52 -06:00
Max Wilfinger
84b7304a6e [Material] Adjust default material appearance (#12380) 2024-02-17 20:07:44 -06:00
Chris Hennes
950507a498 Revert "Resolve #11825 - no automatic quantity conversion: App::anyToQuantity"
This reverts commit c1ef15fbdf5db5aaf2ec86cb44bff237d1966238.
2024-02-12 15:29:15 -06:00
wmayer
ca03d18355 Py3.12: initialize field 'tp_watched' 2024-02-12 11:41:49 -06:00
bgbsww
57d8a9e61a Switch to using enum 2024-02-04 09:27:16 +01:00
Zheng, Lei
e5e08262c2 App: fix PropertyPythonObject persistence backward compatibility
Related #10460
2024-02-03 17:20:46 +01:00
marioalexis
f9a9ca2e36 App: Add StiffnessDensity property 2024-01-26 13:44:16 -03:00
bgbsww
a5cf4bdd33 Tweak resetElementMap to default to empty defined element map (#12098)
* Tweak resetElementMap tp default to empty defined element map

* [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-01-24 21:24:08 -06:00
bgbsww
266d9c880a Merge branch 'main' into bgbsww-toponaming-makeElementFace 2024-01-22 12:50:13 -05:00
André Caldas
e6b5fd0a21 Does not rely on the pointervalue returned by getNameInDocument() to use as a DAG key.
In order to make getNameInDocument() always return a valid string,
we implement a getDagKey() method that shall be used instead of getNameInDocument()
when we want to use the pointer value as a "key" to identify the DocumentObject.
2024-01-22 10:40:24 -06:00
bgbsww
2ede6a667e Merge branch 'main' into bgbsww-toponaming-makeElementFace 2024-01-21 15:52:31 -05:00