From 999330f07ba4e938fbb34cb2c2641365e2d2123d Mon Sep 17 00:00:00 2001 From: Bernd Hahnebach Date: Wed, 15 Jun 2016 07:18:28 +0200 Subject: [PATCH] FEM: vtk color bar: fix change of min max value --- src/Mod/Fem/Gui/ViewProviderFemPostObject.cpp | 25 +++++++++++-------- src/Mod/Fem/Gui/ViewProviderFemPostObject.h | 2 +- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/Mod/Fem/Gui/ViewProviderFemPostObject.cpp b/src/Mod/Fem/Gui/ViewProviderFemPostObject.cpp index e4e50199c..cf0c38618 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemPostObject.cpp +++ b/src/Mod/Fem/Gui/ViewProviderFemPostObject.cpp @@ -320,7 +320,8 @@ void ViewProviderFemPostObject::update3D() { // write out point data if any WritePointData(points, normals, tcoords); - WriteColorData(); + bool ResetColorBarRange = true; + WriteColorData(ResetColorBarRange); WriteTransperency(); // write out polys if any @@ -345,7 +346,6 @@ void ViewProviderFemPostObject::update3D() { m_faces->coordIndex.setNum(0); - // write out tstrips if any if (pd->GetNumberOfStrips() > 0) { @@ -437,7 +437,7 @@ void ViewProviderFemPostObject::WritePointData(vtkPoints* points, vtkDataArray* } } -void ViewProviderFemPostObject::WriteColorData() { +void ViewProviderFemPostObject::WriteColorData(bool ResetColorBarRange) { if(!setupPipeline()) return; @@ -461,9 +461,11 @@ void ViewProviderFemPostObject::WriteColorData() { component = 0; //build the lookuptable - double range[2]; - data->GetRange(range, component); - m_colorBar->setRange(range[0], range[1]); + if (ResetColorBarRange == true) { + double range[2]; + data->GetRange(range, component); + m_colorBar->setRange(range[0], range[1]); + } m_material->diffuseColor.startEditing(); @@ -522,14 +524,15 @@ void ViewProviderFemPostObject::onChanged(const App::Property* prop) { if(m_blockPropertyChanges) return; - + + bool ResetColorBarRange = true; if(prop == &Field && setupPipeline()) { updateProperties(); - WriteColorData(); + WriteColorData(ResetColorBarRange); WriteTransperency(); } else if(prop == &VectorMode && setupPipeline()) { - WriteColorData(); + WriteColorData(ResetColorBarRange); WriteTransperency(); } else if(prop == &Transperency) { @@ -613,6 +616,6 @@ void ViewProviderFemPostObject::show(void) { void ViewProviderFemPostObject::OnChange(Base::Subject< int >& rCaller, int rcReason) { - - WriteColorData(); + bool ResetColorBarRange = false; + WriteColorData(ResetColorBarRange); } diff --git a/src/Mod/Fem/Gui/ViewProviderFemPostObject.h b/src/Mod/Fem/Gui/ViewProviderFemPostObject.h index 124dc8627..dde607ed5 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemPostObject.h +++ b/src/Mod/Fem/Gui/ViewProviderFemPostObject.h @@ -149,7 +149,7 @@ private: void update3D(); void WritePointData(vtkPoints *points, vtkDataArray *normals, vtkDataArray *tcoords); - void WriteColorData(); + void WriteColorData(bool ResetColorBarRange); void WriteTransperency(); App::Enumeration m_coloringEnum, m_vectorEnum;