From fd3d582148f3d0dc50417615c4f1942de06317fa Mon Sep 17 00:00:00 2001 From: isn Date: Tue, 12 Dec 2017 17:21:33 +0300 Subject: [PATCH] refs #1501 --- src/HYDROGUI/HYDROGUI_OCCDisplayer.cxx | 29 +++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) 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 -- 2.39.2