Materials: Child ignoring parent material

Inherit the material from the parent object when creating a new object,
such as during a boolean operation, or when extruding a sketch.

fixes #15503
This commit is contained in:
David Carter
2024-10-21 10:04:55 -04:00
committed by Yorik van Havre
parent d67bb37bc7
commit e4bf988db2
14 changed files with 96 additions and 22 deletions

View File

@@ -247,23 +247,11 @@ void ViewProviderBody::updateData(const App::Property* prop)
static_cast<PartDesignGui::ViewProvider*>(vp)->setTipIcon(feature == tip);
}
}
if (tip)
copyColorsfromTip(tip);
}
PartGui::ViewProviderPart::updateData(prop);
}
void ViewProviderBody::copyColorsfromTip(App::DocumentObject* tip) {
// update ShapeAppearance
Gui::ViewProvider* vptip = Gui::Application::Instance->getViewProvider(tip);
if (vptip && vptip->isDerivedFrom(PartGui::ViewProviderPartExt::getClassTypeId())) {
auto materials = static_cast<PartGui::ViewProviderPartExt*>(vptip)->ShapeAppearance.getValues();
this->ShapeAppearance.setValues(materials);
}
}
void ViewProviderBody::slotChangedObjectApp ( const App::DocumentObject& obj, const App::Property& prop ) {
if(App::GetApplication().isRestoring())