Commit Graph

2134 Commits

Author SHA1 Message Date
Chris Hennes
a3004c2c0a Merge pull request #19142 from hyarion/refactor/add-template-addobject
Add new addObject<T>() function
2025-02-11 09:42:47 -06:00
Chris Hennes
201015fd70 Merge pull request #19502 from benj5378/QStringLiteral
Use QStringLiteral
2025-02-11 07:34:12 -06:00
Chris Hennes
6ea90ba9af Merge pull request #18594 from Flast/performance/base/find_element
Base: Improved FindElement performance by reducing call of transcode
2025-02-10 14:33:49 -06:00
Benjamin Nauck
b99c1eae70 App: Add GroupExtension::addObject<T>(...) 2025-02-10 18:35:38 +01:00
Benjamin Nauck
edb4817872 Mod: Use new addObject<T>(...) that requires additional changes 2025-02-10 18:35:38 +01:00
Benjamin Bræstrup Sayoc
2eeb08ccb5 App: Use QStringLiteral 2025-02-10 18:34:58 +01:00
Benjamin Nauck
6d28a19a3e App: Add Document::addObject<T>(...) to simplify code 2025-02-10 18:33:00 +01:00
Benjamin Nauck
ffe33a2c61 App: Add compile time checks for type system class name
Ensures:
* _class_ is based on BaseClass
* _class_ parameter includes a namespace

And when _class_ is a document object
* namespace is not global namespace
* namespace name is in path after /src/ or /src/Mod/

The document object requirements are needed to auto import modules when using addObject
2025-02-10 18:33:00 +01:00
Benjamin Nauck
37f94b7b46 App: Fix _class_ passing in PROPERTY_HEADER_WITH_EXTENSIONS 2025-02-10 18:32:59 +01:00
tritao
114723475c App: Improve Document.copyObject Python API.
This updates the `Document.copyObject` Python API by allowing for
keyword arguments and aligning the documentation with the C++ API.

This can make the Python code more readable, by using the keywords form:

```python
document.copyObject(obj, recursive=True, return_all=False)
```

Previous keyword-less version tested and still working for backwards
compatibility.
2025-02-10 10:57:17 -06:00
tritao
f7a0cece08 Base: Remove Boost-based filesystem and switch to standard <filesystem> 2025-02-10 10:48:54 -06:00
tritao
2145b742eb Base: Standardize on Py::Long type for Python bindings. 2025-02-08 13:14:22 +00:00
Chris Hennes
417e188256 App: Add utility method to get app name with version included 2025-02-03 12:05:16 -05:00
tritao
ff8e99f385 App: Provide temporary document creation flag to Python App.loadDocument. 2025-02-03 18:01:18 +01:00
Chris Hennes
c4485527fc Merge pull request #19011 from marioalexis84/fem-electromagnetic_boundary_condtion 2025-01-27 15:15:59 -06:00
Max Wilfinger
5925c7a560 Merge pull request #19097 from hyarion/refactor/template-based-is-derived-from
Simplify code by using BaseClass' isDerivedFrom<> and is<>
2025-01-27 20:40:08 +01:00
Jonas Bähr
91a95369f2 Main: Avoid Popups in Console Mode
When in console mode, some messages from CLI interaction still resulted
in popup dialogs, e.g. the response from `--help` or `--version`. This
is becasue those information are communicated via exceptions and those
exceptions prevented the console mode from being properly set.
By using a scope guard the console mode flag is now evaluated in all
cases. The code to display those messages got refactored into dedicated
methods which now also take care of console mode.
2025-01-27 17:47:16 +01:00
marioalexis
90ed7ea793 App: Set PropertyMap using Python objects with mapping protocol 2025-01-27 17:45:21 +01:00
Benjamin Nauck
6f535f19fb Prefer to use BaseClass's isDerivedFrom<T> over non template or Base::Type's
Regex based changes, manually verified
2025-01-27 16:08:18 +01:00
André Kapelrud
aaa976953d Base: Add surface charge density unit 2025-01-22 11:17:59 -03:00
Chris Hennes
286e1d2251 Merge pull request #18807 from marioalexis84/fem-netgen_object_constraint
Fem: Use property constraints on mesh netgen object
2025-01-19 16:03:10 -05:00
Chris Hennes
8c3bb779fb Merge pull request #19019 from hyarion/refactor/countObjectsOfType
Refactor countObjectsOfType in selection and document
2025-01-14 16:05:12 -06:00
Benjamin Nauck
9acb8a48ab Make old type countObjectsOfType functions protected 2025-01-14 14:23:46 +01:00
Benjamin Nauck
085c5e67cd Modernizing countObjectsOfType functions 2025-01-14 14:23:46 +01:00
Benjamin Nauck
08fe94ef25 Add template based Document::countObjectsOfType
Also convert code to use this new method
2025-01-14 14:23:46 +01:00
Chris Hennes
0e3ac7462f MSVC: Add missing PreCompiled.h includes 2025-01-14 09:28:47 +01:00
Yorik van Havre
0213b4fc6c Translations (#18923)
* Updated ts files

* Merged crowdin 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>
2025-01-13 21:30:30 -06:00
Tobias Frost
460da406f8 spelling fixes (#18688)
* Fixes spelling of "Allow to" to "Allow one to"

and those variants:
Allows to -> Allows one to
allow to -> allow one to
allows to -> allows one to

* Fix "Let's -> Lets"

(and lower case variant.)

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update src/3rdParty/salomesmesh/inc/MED_Wrapper.hxx

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>

* Update src/Base/PyObjectBase.cpp
Update src/App/ExtensionContainer.h
Update src/App/PropertyContainer.h

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>

* Use gerund in user-facing texts.

* Use gerund for two more user-facing strings.

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>

* Update src/Mod/Fem/App/FemMeshShapeNetgenObject.cpp

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>

* Update src/Mod/Fem/App/FemMeshShapeNetgenObject.cpp

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>

* Update src/Mod/Fem/App/FemMeshShapeNetgenObject.cpp

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>

---------

Co-authored-by: Tobias Frost <tobi@debian.org>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2025-01-13 11:22:20 -06:00
Chris Hennes
0517e3dc10 Merge pull request #17564 from kadet1090/new-transform-dialog
Gui: New transform dialog
2025-01-13 11:18:26 -06:00
Chris Hennes
47ff5a1c7d Merge pull request #18704 from wwmayer/fix_line_dir
App: Add methods to get base and direction of datum element
2025-01-13 10:56:55 -06:00
PaddleStroke
429e1b8f31 Extend branding options (#18804) 2025-01-13 10:37:14 -06:00
Yury Shvedov
bc4cddcd04 Macro: allow to specify extra system paths for macro
This introduce new option `-E [ --macro-path]` to specify extra system
paths of macros. The macro found in this paths will appear in `Macros`
dialog at `System macros` tab.

Change-Id: Ic21631ec0ebe8af5c7f42b4fe95400cfb67807d5
2025-01-06 18:14:15 +01:00
Kacper Donat
46372a54d3 App: Fix GeoFeature::getGlobalPlacement when rootObj is Link
This fixes a case when in case of rootObj being Link placement was not
calculated correctly due to not changing of the document. While for
original use it was fine as this was mostly used in case where there was
defined non-link root for general case Links can be root objects of the
document.
2025-01-04 16:32:52 +01:00
Kacper Donat
4702c72fb8 Gui: Rework TaskCSysDragger into new Transform Dialog
This commit refactor ViewProviderDragger and TaskCSysDragger to be more
modern and to support selecting TransformOrigin.
2025-01-04 16:32:52 +01:00
Kacper Donat
dc747db955 Base: Add ComplexGeoData::centerOfGravity helper
This adds a simple quality of life helper returning center of gravity as
std::optional instead of C style method accepting reference and
returning bool to indicate method success.
2025-01-04 16:32:52 +01:00
wmayer
385f21a26e Core: Fixes #18717
Neither in #18332 nor in any of the referenced issues a reason is given why the placement of the coordinate axes must be changed.
Only doing it to make the client code look more consistent is not a valid reason.

This change breaks forward and backward compatibility and with #18717 we already have a hard to solve issue. Furthermore, at this
point of time it's not even clear what other collateral damage the change may cause.

So, this commit hides all the implementation details of the DatumElement and restores the original placement for the axes.
This commit makes the line migration code obsolete
2025-01-02 13:27:54 +01:00
wmayer
e01b7b69d6 App: Fix const correctness 2025-01-02 13:24:57 +01:00
wmayer
d15fd988a4 App: Add methods to get base and direction of datum element
Add the methods DatumElement::getBasePoint() and DatumElement::getDirection() to hide implementation details and guarantee consistent behaviour.

Using the methods fixes several regressions in:
* Constraint::getDirection
* PolarPattern::getTransformations
2025-01-02 13:24:57 +01:00
marioalexis
f69451a316 App: Assign constraints for integer and float properties using dictionary 2025-01-01 11:21:37 -03:00
Kohei Takahashi
7ae463f245 Base: Added helper macro for caching transcode-ed string literal 2024-12-26 17:16:45 +09:00
wmayer
02f41bbe60 App: Fix possible crash when postponing the destruction of a removed property
Fixes #18601
2024-12-23 11:49:38 -05:00
Ladislav Michl
0b3adee2ab Base: Quantity: return std::string 2024-12-23 17:48:42 +01:00
Ladislav Michl
539b7d43cf Base: Units: hide internals 2024-12-23 17:48:42 +01:00
David Carter
ddf48e0daa Materials: Change display of Quantity values
The default display type of quantity objects is fixed point resulting
in insufficient accuracy when changing unit systems, or when the values
are small. This fix changes the default format from 'Fixed' to the more
apt 'Default' format. This allows the displayed values to scale as
appropriate.

Fixes #18149
2024-12-20 11:31:43 -05:00
wmayer
0d4e7ac27f Core: Move LCS migration warning to Std_Open command 2024-12-16 11:34:39 -05:00
Benjamin Nauck
39402e2083 Revert "Address the poor performance of the existing unique-name generation (#17944)"
This reverts commit 83202d8ad6.

# Conflicts:
#	src/Base/Tools.cpp
#	src/Base/Tools.h
2024-12-16 17:31:43 +01:00
wmayer
43f28b63a8 Core: Fix false-positive in migrateXAxisPlacement()
Use a looser tolerance to compare the rotations of the axes and planes of the coordinate system
2024-12-15 11:34:03 +01:00
Chris Hennes
f45bb478cf App: Fix encoding of Datums.cpp 2024-12-14 14:31:41 +01:00
PaddleStroke
24ab20553d LCS migration : replace warning by a QMessageBox. 2024-12-13 18:04:10 +01:00
PaddleStroke
bb4f86586d TaskAttacher: Fix the string maker such that it does not show TNP string. 2024-12-13 18:04:10 +01:00