From: isn Date: Tue, 12 Dec 2017 14:21:33 +0000 (+0300) Subject: refs #1501 X-Git-Tag: v2.1.1~4 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=fd3d582148f3d0dc50417615c4f1942de06317fa;p=modules%2Fhydro.git refs #1501 --- diff --git a/src/HYDROGUI/HYDROGUI_OCCDisplayer.cxx b/src/HYDROGUI/HYDROGUI_OCCDisplayer.cxx index feed7992..baebf155 100644 --- a/src/HYDROGUI/HYDROGUI_OCCDisplayer.cxx +++ b/src/HYDROGUI/HYDROGUI_OCCDisplayer.cxx @@ -420,14 +420,33 @@ void HYDROGUI_OCCDisplayer::UpdateColorScale( const OCCViewer_Viewer* theViewer OCCViewer_ViewWindow* aWnd = dynamic_cast( theViewer->getViewManager()->getActiveView() ); Handle(V3d_View) aView = aWnd->getViewPort()->getView(); + + HYDROGUI_Module* aModule = module(); int aViewerId = (size_t)theViewer;//TODO: check if viewer id is correct - bool isLandCoverColoringOn = module()->isLandCoversScalarMapModeOn( aViewerId ); + bool isLandCoverColoringOn = aModule->isLandCoversScalarMapModeOn( aViewerId ); - QList aLandCoverMapShapes = module()->getObjectShapes( aViewerId, KIND_LAND_COVER_MAP ); - QList aBathShapes = module()->getObjectShapes( aViewerId, KIND_BATHYMETRY ); - - bool isDisplayColorScale = !aBathShapes.empty() || isLandCoverColoringOn; + QList aLandCoverMapShapes = aModule->getObjectShapes( aViewerId, KIND_LAND_COVER_MAP ); + QList aBathShapes = aModule->getObjectShapes( aViewerId, KIND_BATHYMETRY ); + bool isDisplayColorScale = false; + foreach (HYDROGUI_Shape* shape, aLandCoverMapShapes) + { + if (aModule->isObjectVisible(aViewerId, shape->getObject())) + { + isDisplayColorScale = true; + break; + } + } + if (!isDisplayColorScale) + foreach (HYDROGUI_Shape* shape, aBathShapes) + { + if (aModule->isObjectVisible(aViewerId, shape->getObject())) + { + isDisplayColorScale = true; + break; + } + } + Standard_Real aColorScaleMin = 0, aColorScaleMax = 1; // Get range