From 780481f6ed913bdccb6fec82e997ee9ee42a3ab7 Mon Sep 17 00:00:00 2001 From: wmayer Date: Sat, 6 Apr 2024 02:20:52 +0200 Subject: [PATCH] PD: fix shape appearance of datum features, shape binder and sub-shape binder --- src/Mod/PartDesign/Gui/ViewProviderDatum.cpp | 4 ++++ src/Mod/PartDesign/Gui/ViewProviderShapeBinder.cpp | 11 +++++++++++ src/Mod/PartDesign/Gui/ViewProviderShapeBinder.h | 1 + 3 files changed, 16 insertions(+) diff --git a/src/Mod/PartDesign/Gui/ViewProviderDatum.cpp b/src/Mod/PartDesign/Gui/ViewProviderDatum.cpp index ae5c93b2d3..f5449bfcd8 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderDatum.cpp +++ b/src/Mod/PartDesign/Gui/ViewProviderDatum.cpp @@ -101,6 +101,10 @@ ViewProviderDatum::~ViewProviderDatum() void ViewProviderDatum::attach(App::DocumentObject *obj) { + if (auto geo = dynamic_cast(obj)) { + geo->setMaterialAppearance(ShapeAppearance[0]); + } + ViewProviderGeometryObject::attach ( obj ); // TODO remove this field (2015-09-08, Fat-Zer) diff --git a/src/Mod/PartDesign/Gui/ViewProviderShapeBinder.cpp b/src/Mod/PartDesign/Gui/ViewProviderShapeBinder.cpp index 7dbb522c7a..8c4da52827 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderShapeBinder.cpp +++ b/src/Mod/PartDesign/Gui/ViewProviderShapeBinder.cpp @@ -125,6 +125,14 @@ void ViewProviderShapeBinder::unsetEdit(int ModNum) { PartGui::ViewProviderPart::unsetEdit(ModNum); } +void ViewProviderShapeBinder::attach(App::DocumentObject *obj) +{ + if (auto geo = dynamic_cast(obj)) { + geo->setMaterialAppearance(ShapeAppearance[0]); + } + ViewProviderPart::attach(obj); +} + void ViewProviderShapeBinder::highlightReferences(bool on) { App::GeoFeature* obj = nullptr; @@ -221,6 +229,9 @@ ViewProviderSubShapeBinder::ViewProviderSubShapeBinder() { void ViewProviderSubShapeBinder::attach(App::DocumentObject* obj) { UseBinderStyle.setValue(boost::istarts_with(obj->getNameInDocument(), "binder")); + if (auto geo = dynamic_cast(obj)) { + geo->setMaterialAppearance(ShapeAppearance[0]); + } ViewProviderPart::attach(obj); } diff --git a/src/Mod/PartDesign/Gui/ViewProviderShapeBinder.h b/src/Mod/PartDesign/Gui/ViewProviderShapeBinder.h index aef4562150..3037b3e862 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderShapeBinder.h +++ b/src/Mod/PartDesign/Gui/ViewProviderShapeBinder.h @@ -44,6 +44,7 @@ public: protected: bool setEdit(int ModNum) override; void unsetEdit(int ModNum) override; + void attach(App::DocumentObject *obj) override; private: std::vector originalLineColors;