FEM: vtk color bar: fix change of min max value

This commit is contained in:
Bernd Hahnebach 2016-06-15 07:18:28 +02:00
parent 78e4a96f6d
commit 999330f07b
2 changed files with 15 additions and 12 deletions

View File

@ -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);
}

View File

@ -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;