Commit Graph

51 Commits

Author SHA1 Message Date
Kacper Donat
13fbab9e42 Base: Move App::Color to Base
Every basic data type is stored in Base module, color is standing out as
one that does not. Moving it to Base opens possibilities to integrate it
better with the rest of FreeCAD.
2025-02-17 21:10:26 +01:00
Benjamin Nauck
edb4817872 Mod: Use new addObject<T>(...) that requires additional changes 2025-02-10 18:35:38 +01:00
Benjamin Nauck
265b58c034 Mod: Use new addObject<T>(...) using regex 2025-02-10 18:35:38 +01:00
tritao
551c2e48fb Gui: Reorganize the selection files into a top Selection folder. 2025-02-03 17:56:57 +01:00
Kacper Donat
954b729b56 Gui: Use getObject<T>() helpers in classes
This commit is generated using regex based find and replace:

```
s/[\w:]+_cast\s*<([^>]+)\*>\s*\(\s*getObject\(\s*\)\)/getObject<$1>/
s/[\w:]+_cast\s*<([^>]+)\*>\s*\(\s*([^)]*)\s*->\s*getObject\(\s*\)\)/$2->getObject<$1>()/
```

To regenerate if needed.
2024-12-06 18:29:39 +01:00
wmayer
1df78febf3 Part: Prepare for clang-format 2024-08-26 17:56:58 +02:00
wmayer
e5fa099591 Clean-up code and improve formatting 2024-06-17 16:30:25 +02:00
David Carter
5feb963f9d Material: Appearance Updates 2
Improves the use of the ShapeAppearance property for the Part workbench.

    removes DiffuseColor property
        adds Python compatibility using custom attributes
        transitions DiffuseColor to ShapeAppearance on open
    Improved UI elements for setting object appearance, and appearance per face
    Lays the foundation for future texture support
2024-06-01 19:57:16 -05:00
wmayer
4aa140d066 Mod: code cleanup 2024-04-09 22:15:51 +02: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
wmayer
279efa05c6 Part: make GUI for ProjectOnSurface feature 2024-03-26 15:54:13 +01:00
wmayer
05dc17a61a Gui: Apply clang-format on DlgProjectionOnSurface and fix linter warnings 2024-03-24 00:54:57 +01:00
LemonBoy
8c21ae6ffe Clear projected shape when changing extrude height
When the height is zero no solid is produced, the code was thus showing
the result of the previously selected projection height.

Closes #12113
2024-02-12 11:54:48 -06:00
bdieterm
abfe38e0e7 Gui: add explicit transparency specification 2024-01-21 17:41:31 +01:00
wmayer
d305f306df Core: Revert superfluous changes made with PR #9521 2023-10-09 15:06:45 +02:00
AgCaliva
b360b43ebe Fixing DOMDocument redefinition 2023-09-16 00:38:41 -03:00
wmayer
b9e9fe435a Part: modernize C++: use equals default 2023-08-22 15:14:03 +02:00
wmayer
c8abd4a6d4 Part: modernize C++: return braced init list 2023-08-19 11:35:41 +02:00
wmayer
7cb51a4980 Part: modernize C++: use range-based for loop 2023-08-16 21:56:32 -05:00
wmayer
6401c18937 Part: fix -Wclazy-connect-by-name 2023-04-05 00:44:13 +02:00
Uwe
64ab0c2781 [Part] Dlg*: remove unused includes - part 2/2
- also some sorting
2022-09-26 00:04:46 +02:00
berniev
71dc5ead2f Mod: Use override etc 2 2022-08-09 12:52:26 +02:00
berniev
f4ffd15864 Mod: redundant void 2 2022-08-08 10:27:50 +02:00
berniev
53ba98d636 Mod: use empty 2022-08-06 19:30:13 +02:00
wmayer
2b039d67fe Part: Fix several clazy issues:
* Maybe you meant to call Primitive::onChanged() instead [-Wclazy-skipped-base-method]
* Maybe you meant to call Primitive::mustExecute() instead [-Wclazy-skipped-base-method]
* Missing reference in range-for with non trivial type [-Wclazy-range-loop-reference]
* Use multi-arg instead [-Wclazy-qstring-arg]
* Use midRef() instead [-Wclazy-qstring-ref]
2022-07-25 08:31:18 +02:00
wmayer
c5bab68332 Gui: add convenience functions to SelectionFilterGate 2022-04-19 15:04:14 +02:00
Chris Hennes
2ecc125497 Part: PR6497 move return statement to new line 2022-03-29 12:37:00 -05:00
wmayer
6d2d45ceb7 Part: modernize C++11
* use nullptr
2022-03-23 19:26:14 +01:00
wmayer
15ee1fdd4e Part: Fix several coverity issues:
* CID 350581: Structurally dead code
* CID 350620: Structurally dead code
* CID 350563: Big parameter passed by value
* CID 350552: Uncaught exception
* CID 305193: Uncaught exception
* CID 350556: Uninitialized scalar field
* CID 350579: Uninitialized pointer read
2022-03-13 16:06:40 +01:00
wmayer
5fd93b7d3b Fix several coverity issues:
* CID 350617: Dereference after null check
* CID 350585: Out-of-bounds read
* CID 350624: Resource leak
* CID 332701: Uncaught exception
* CID 350642: Uninitialized scalar field
* CID 350590: Uninitialized scalar field
* CID 350629: Uninitialized scalar variable
* CID 350602: Uninitialized scalar variable
* CID 350564: Uninitialized scalar variable
* CID 350548: Uninitialized scalar variable
2022-03-13 12:12:49 +01:00
wmayer
8f786ea6ef Gui: Optimize includes to reduce compile time 2022-03-07 20:29:18 +01:00
wmayer
5575ae5e09 Part: [skip ci] 0004665: Part/projection tool : Unhandled unknown exception caught when mouse gets over a datum plane 2021-12-09 14:16:06 +01:00
Chris Hennes
3bb03af723 [Part] Coverity: dtors can't throw 2021-02-09 23:58:09 +01:00
luz paz
85b3b3bbe6 Part: fix typos in source function names and variables
Found via `codespell`
2020-08-17 16:32:28 +02:00
MA-LAPTOP\apeltauer
b97587cab3 Improve the projection on surface algorithm. For now the first possible solution was taken. If several solution exists, this leads to a miss match.
Now check the distance of the projection shape and the original shape and the take the projection with the smallest distance.
Discussion can be found here: https://forum.freecadweb.org/viewtopic.php?f=8&t=49341&p=422925#p422925
2020-08-10 10:23:06 +02:00
wmayer
9b2a6edeb0 Coverity: Uncaught exception 2020-07-20 17:34:29 +02:00
wmayer
f82389d67e Coverity: Useless call 2020-07-20 17:34:28 +02:00
howetuft
f1e3b7a166 Fix -Wredundant-move warnings, 2nd try
std::move is redundant when it is used to return a local object from a function (eg return std::move(local)): indeed, returning a local object from a function implicitly moves it. Moreover using std::move this way
See https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Rf-return-move-local
However, in order to avoid -Wreturn-std-move as well, a Base object is move-constructed
from Derived when required.
2019-11-18 13:44:40 +01:00
wmayer
d05ae18340 fix -Wreturn-std-move 2019-09-07 15:19:28 +02:00
Abdullah Tahiri
7ea21c84c3 PCH: Part GUI 2019-05-03 23:15:25 +02:00
luz.paz
06d583b425 Misc typos and whitespace fixes
Found via `codespell -q 3 -I ../fc-word-whitelist.txt -S ./.git,*.po,*.ts,./ChangeLog.txt,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./src/CXX,./src/zipios++,./src/Base/swig*`
2019-03-31 11:42:36 +02:00
wmayer
218e174f24 fix handling of OCC exceptions, fix -Wunused-but-set-variable, fix -Wunused-parameter 2019-03-24 02:17:54 +01:00
wmayer
36849ffaf3 Improve project on surface dialog:
make function undo/redoable
work on document that was active when the dialog was opened
handle case when object or document is deleted while dialog is open
2019-03-22 17:18:12 +01:00
MA-DEVELOP\apeltauer
ef10c73782 transform sub shapes to global position 2019-03-22 17:18:12 +01:00
MA-DEVELOP\apeltauer
91e871d5cc improve creating the edges/wire in parametric space 2019-03-22 17:18:11 +01:00
MA-DEVELOP\apeltauer
4fcf8c1efb make a face copy 2019-03-22 17:18:11 +01:00
MA-DEVELOP\apeltauer
9e65f4c169 make a explicit copy 2019-03-22 17:18:11 +01:00
MA-DEVELOP\apeltauer
657656dee6 imrove the projection algorithm 2019-03-22 17:18:11 +01:00
apeltauer
f747d1cb46 Change the vector type to non const
I dont know why this fails on linux. On windows this works....
2019-03-22 17:18:10 +01:00
MA-DEVELOP\apeltauer
0efd3a8811 add new feature "Projection on surface" 2019-03-22 17:18:09 +01:00