From f2b4f5c18e23b034c1d1cbb9322e7aa0852647c8 Mon Sep 17 00:00:00 2001 From: wmayer Date: Thu, 31 May 2012 23:44:50 +0200 Subject: [PATCH] Keep faces colors on boolean operations --- src/Mod/Part/Gui/ViewProviderBoolean.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/Mod/Part/Gui/ViewProviderBoolean.cpp b/src/Mod/Part/Gui/ViewProviderBoolean.cpp index 22a9c8a4e..d73afe296 100644 --- a/src/Mod/Part/Gui/ViewProviderBoolean.cpp +++ b/src/Mod/Part/Gui/ViewProviderBoolean.cpp @@ -124,10 +124,20 @@ void ViewProviderBoolean::updateData(const App::Property* prop) applyColor(hist[0], colBase, colBool); setColor = true; } + else if (!colBase.empty() && colBase[0] != this->ShapeColor.getValue()) { + colBase.resize(baseMap.Extent(), colBase[0]); + applyColor(hist[0], colBase, colBool); + setColor = true; + } if (colTool.size() == toolMap.Extent()) { applyColor(hist[1], colTool, colBool); setColor = true; } + else if (!colTool.empty() && colTool[0] != this->ShapeColor.getValue()) { + colTool.resize(toolMap.Extent(), colTool[0]); + applyColor(hist[1], colTool, colBool); + setColor = true; + } if (setColor) this->DiffuseColor.setValues(colBool); } @@ -187,6 +197,11 @@ void ViewProviderMultiFuse::updateData(const App::Property* prop) applyColor(hist[index], colBase, colBool); setColor = true; } + else if (!colBase.empty() && colBase[0] != this->ShapeColor.getValue()) { + colBase.resize(baseMap.Extent(), colBase[0]); + applyColor(hist[index], colBase, colBool); + setColor = true; + } } if (setColor) @@ -248,6 +263,11 @@ void ViewProviderMultiCommon::updateData(const App::Property* prop) applyColor(hist[index], colBase, colBool); setColor = true; } + else if (!colBase.empty() && colBase[0] != this->ShapeColor.getValue()) { + colBase.resize(baseMap.Extent(), colBase[0]); + applyColor(hist[index], colBase, colBool); + setColor = true; + } } if (setColor)