X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FOBJECT%2FSMESH_ScalarBarActor.cxx;h=a45696d7e9a4e6059276eb03d76a41930f92f374;hp=56118211441c46d067c77361641719506ec2b32c;hb=442fd64c19a6e27a339ca36264c15ec91732cf32;hpb=f6e2eed4240c426f1e65b40d1bd7e8d109a4d4b5 diff --git a/src/OBJECT/SMESH_ScalarBarActor.cxx b/src/OBJECT/SMESH_ScalarBarActor.cxx index 561182114..a45696d7e 100644 --- a/src/OBJECT/SMESH_ScalarBarActor.cxx +++ b/src/OBJECT/SMESH_ScalarBarActor.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -115,6 +115,9 @@ SMESH_ScalarBarActor::SMESH_ScalarBarActor() { // By default monocolor myDistributionColoringType = SMESH_MONOCOLOR_TYPE; + + // By default scalar map is shown + myTitleOnlyVisibility = false; // rnv end } @@ -194,19 +197,20 @@ int SMESH_ScalarBarActor::RenderOverlay(vtkViewport *viewport) { renderedSomething += this->TitleActor->RenderOverlay(viewport); } - this->ScalarBarActor->RenderOverlay(viewport); - this->myDistributionActor->RenderOverlay(viewport); - if( this->TextActors == NULL) - { - vtkWarningMacro(<<"Need a mapper to render a scalar bar"); - return renderedSomething; - } + if (!myTitleOnlyVisibility) { + this->ScalarBarActor->RenderOverlay(viewport); + this->myDistributionActor->RenderOverlay(viewport); + if( this->TextActors == NULL) + { + vtkWarningMacro(<<"Need a mapper to render a scalar bar"); + return renderedSomething; + } - for (i=0; iNumberOfLabels; i++) - { - renderedSomething += this->TextActors[i]->RenderOverlay(viewport); - } - + for (i=0; iNumberOfLabels; i++) + { + renderedSomething += this->TextActors[i]->RenderOverlay(viewport); + } + } renderedSomething = (renderedSomething > 0)?(1):(0); return renderedSomething; @@ -321,8 +325,8 @@ int SMESH_ScalarBarActor::RenderOpaqueGeometry(vtkViewport *viewport) // rnv begin // Customization of the vtkScalarBarActor to show distribution histogram. bool distrVisibility = (numColors == (int)this->myNbValues.size()); - vtkPoints *distrPts; - vtkCellArray *distrPolys; + vtkPoints *distrPts = 0; + vtkCellArray *distrPolys = 0; vtkUnsignedCharArray *distColors = 0; int numDistrPts = 0, numPositiveVal=0, maxValue=0; if(!distrVisibility) @@ -574,15 +578,18 @@ int SMESH_ScalarBarActor::RenderOpaqueGeometry(vtkViewport *viewport) // rnv begin // Customization of the vtkScalarBarActor to show distribution histogram. - if(myNbValues[i] && myDistributionColoringType == SMESH_MULTICOLOR_TYPE && GetDistributionVisibility() && distrVisibility) - { - rgb = distColors->GetPointer(3*dcCount); //write into array directly - rgb[0] = rgba[0]; - rgb[1] = rgba[1]; - rgb[2] = rgba[2]; - dcCount++; - } + if ( myDistributionColoringType == SMESH_MULTICOLOR_TYPE && + GetDistributionVisibility() && + distrVisibility && + myNbValues[i] > 0 ) + { + rgb = distColors->GetPointer(3*dcCount); //write into array directly + rgb[0] = rgba[0]; + rgb[1] = rgba[1]; + rgb[2] = rgba[2]; + dcCount++; } + } // Now position everything properly // @@ -920,3 +927,11 @@ void SMESH_ScalarBarActor::SetDistributionColor (double rgb[3]) { void SMESH_ScalarBarActor::GetDistributionColor (double rgb[3]) { myDistributionActor->GetProperty()->GetColor(rgb); } + +void SMESH_ScalarBarActor::SetTitleOnlyVisibility( bool theTitleOnlyVisibility) { + myTitleOnlyVisibility = theTitleOnlyVisibility; +} + +bool SMESH_ScalarBarActor::GetTitleOnlyVisibility() { + return myTitleOnlyVisibility; +}