Commit Graph

3427 Commits

Author SHA1 Message Date
wmayer
95b57d4dd4 Part: add unit test for PR #13507 2024-04-20 14:31:59 +02:00
tomate44
efc6fd87a4 Part: fix shape projection of complex BSpline curves 2024-04-19 20:47:51 +02:00
wmayer
17222f2927 Part: Support of material colors in settings 2024-04-19 11:14:00 +02:00
Chris Hennes
b985f6339e Base/Toponaming: Correct string hasher output 2024-04-18 13:25:57 -05:00
Chris Hennes
e7069e6797 Update translations. 2024-04-17 16:50:38 -05:00
bgbsww
0d8631973e Toponaming/Part: Fix hashing, hasher mismatches, and adjust test results to match 2024-04-15 23:00:27 -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
bgbsww
9ebb23f234 Toponaming/Part: Initialize the hasher so that it operates 2024-04-13 22:41:57 -05:00
Zheng, Lei
01498d92d5 Bring in missing code 2024-04-11 18:20:26 -04:00
wmayer
12ef38e66f Fix handling of transparency / Restore colour per face
The Materials module does a conversion from float to double when saving the transparency and again a conversion from double to float to double
when restoring it. This causes a considerable loss of accuracy so that the representation in percent leads to different numbers.

Using consistently some helper functions to do a proper conversion from float to long and back fixes the problem.

The new property ShapeAppearance is a PropertyMaterialList and always read after the DiffuseColor property when restoring a document.
Thus, the  method onChanged() doesn't override DiffuseColor when restoring a document. Additionally, the method finishRestoring() is re-implemented
to set the colours per face in case DiffuseColor has defined multiple colors.
2024-04-10 13:32:58 +02:00
bgbsww
942ebd58f0 Toponaming/Part: Add deprecation comments, clean up code 2024-04-09 21:17:08 -04:00
Zheng, Lei
231a638fc7 TopoShape/Part: Bring in PartDesign dependencies 2024-04-09 21:17:08 -04:00
wmayer
e87180b245 Part: fix import of STEP files with colors per face 2024-04-09 22:15:51 +02:00
wmayer
9d4757b301 Part: fix some further regressions:
* Correctly load a file if colors are set per face
* Result of boolean operation is correctly colored if source objects have different colors
* Result of compound is correctly colored if source objects have different colors
2024-04-09 22:15:51 +02:00
wmayer
15dcd1e9be Gui: add security checks to view provider extensions because they can be accessed if a document objects is not yet attached 2024-04-09 22:15:51 +02:00
wmayer
262a218b6b Part: fix Part_RefineShape and Part_Section 2024-04-09 22:15:51 +02:00
wmayer
4aa140d066 Mod: code cleanup 2024-04-09 22:15:51 +02:00
wmayer
92b1e77744 Gui: fix ViewProviderGeometryObject
* fix several linter warnings
* remove code that cannot be executed: inside the constructor it cannot ever happen that getObject()
  returns a valid object
* in ViewProviderGeometryObject::handleChangedPropertyName call the method of the direct base class
  as otherwise this may break the mechanism in the future
* Shape is a property of an extension module -> move its handling to ViewProviderPartExt
2024-04-09 22:15:51 +02:00
wmayer
f84224bb43 Mod: Show regressions in shape colouring
This PR demonstrates the known regressions of the recently merged material branch:
* Changing the transparency after setting color per face will reset them
* The result of boolean operations or compound doesn't inherit the colour of its input objects
* If colour is set per face to a boolean operaton object then saving and restoring the file causes weird rendering behaviour
  because material binding is set to PER_PART but only a single colour is defined
* If a shape inside a part container has set colour per face then saving and restoring as STEP file causes weird rendering
behaviour for the same reason
* Shape binder or datum objects don't show the correct default shape colour
2024-04-09 22:13:42 +02:00
wmayer
384902c26c Gui: Fix broken toolbars layout due to MaterialWorkbench
The explicit activation of the MaterialWorkbench breaks the toolbars layout for every start. When fixing it manually it will be broken
again after the next start.

Because the core doesn't depend on the Material module it's a no-go to add an explicit runtime dependency to the corresponding workbench.

Since the Part module depends on the Materials module and the PartGui on MatGui the correct way is to let Part an PartGui load their
dependencies.
2024-04-05 10:08:06 +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
7a7c0081c3 Part: Add overloaded methods of GeomBSplineCurve::approximate 2024-04-03 18:06:00 +02:00
wmayer
c96fd71e4f Fix several compiler warnings
* fix -Winconsistent-missing-override
* fix -Wunused-but-set-variable
* fix -Wunused-parameter
* fix -Wunused-lambda-capture
* fix -Wunused-private-field
* fix -Wpessimizing-move
2024-04-03 10:04:56 +02:00
CalligaroV
a995efbe76 Part/Toponaming: WireJoiner - use std::hash with OCC_VERSION_HEX >= 0x070800
* Added precompiler directive to use std::hash instead of HashCode(INT_MAX) if OCC_VERSION_HEX >= 0x070800

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-04-02 17:23:56 -05:00
bgbsww
b710444271 Rewrite PropertyTopoShape::getShape to fix dangling reference 2024-04-01 16:54:59 -05:00
Chris Hennes
efe7dc287f Merge pull request #13196 from bgbsww/bgbsww-toponamingCompSolidPyImp
Toponaming/Part move in PyImps
2024-04-01 11:30:44 -05:00
bgbsww
a2f342fe54 Add Tests 2024-03-31 09:32:06 -04:00
Max Wilfinger
e38b8d9bd4 update hardcoded XPMs to .svg files. Updated .svg icons for clarity. 2024-03-30 11:25:13 +01:00
Chris Hennes
8858e1ddc0 Merge pull request #13197 from bgbsww/bgbsww-toponamingAppPartPy
Toponaming/Part:  move in  AppPartPy
2024-03-28 13:57:30 -05:00
Chris Hennes
c37c32edc9 Merge pull request #13154 from chennes/translations20240325
Update translations and fix script
2024-03-28 13:51:39 -05:00
Zheng, Lei
f00784f00e Toponaming/Part: move in remaining ifdef methods and the new TopoShapePy methods 2024-03-28 13:09:14 -04:00
bgbsww
f0581fd768 Toponaming/Part Tests 2024-03-28 13:09:14 -04:00
Zheng, Lei
7b833117fa Toponaming/Part: move TopoShapePyImp ifdef methods in 2024-03-28 13:09:14 -04:00
bgbsww
540684f8b0 Toponaming/Part: Rework and clean python interface and add tests 2024-03-28 13:09:09 -04:00
bgbsww
58bfabf925 Toponaming/Part: Rework and clean python interface and add tests 2024-03-28 12:47:33 -04:00
Chris Hennes
d8c8af4d8f Merge pull request #13156 from bgbsww/bgbsww-toponamingTopoShapePyImp2
Toponaming/Part: move ToposhapePyImp get methods into place
2024-03-28 09:18:56 -05:00
Chris Hennes
34f53e097b Merge pull request #12535 from CalligaroV/toponaming-WireJoiner
Part/Toponaming: Transfer WireJoiner
2024-03-28 09:17:49 -05:00
Zheng, Lei
644491fcd7 Transfer in makeCompound python interface and other tnp clauses into AppPartPy 2024-03-28 09:01:31 -04:00
Zheng, Lei
f87d064598 Toponaming/Part: move Toposhapepy get methods in 2024-03-28 09:01:31 -04:00
tomate44
2f124008ae TopoShapePy: enable multithreading in function distToShape 2024-03-28 11:00:27 +01:00
tomate44
a32e67c85e TopoShapePy: add optional tolerance to function distToShape 2024-03-28 11:00:27 +01:00
bgbsww
a21966087c Toponaming/Part: remove senseless voids 2024-03-27 08:49:51 -04:00
wmayer
5f64e2191e Part: use of TaskDialog::addTaskBox 2024-03-26 15:57:20 +01:00
wmayer
66450bba2f Part: add export macro for Windows builds 2024-03-26 15:54:13 +01:00
wmayer
279efa05c6 Part: make GUI for ProjectOnSurface feature 2024-03-26 15:54:13 +01:00
wmayer
baac64f40f Part: add ViewProviderProjectOnSurface 2024-03-26 15:54:13 +01:00
wmayer
070300f3a7 Part: make projection on surface parametric 2024-03-26 15:54:13 +01:00
CalligaroV
6d9c49e454 Part/Toponaming: Transfer WireJoiner
* Applied modifications to reduce the number of Lint warnings (round 3)
 * Added note about the WireJoiner class in Mod/CAM/App/Area.cpp
2024-03-26 09:57:47 +01:00
CalligaroV
11da8d9c0a Part/Toponaming: Transfer WireJoiner
* Applied modifications to reduce the number of Lint warnings (round 2)
2024-03-26 09:57:47 +01:00