From 6ddbb17235205587786a61a54f1c7790d77e4411 Mon Sep 17 00:00:00 2001 From: lh <2334563547@qq.com> Date: Sun, 20 Sep 2026 11:30:53 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96=E7=BB=93=E6=9E=9C?= =?UTF-8?q?=E8=89=B2=E6=A0=87=E7=9A=84=E8=B6=8A=E7=95=8C=E9=A2=9C=E8=89=B2?= =?UTF-8?q?=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 保留上下越界专用颜色设置及网格着色逻辑 - 移除色标旁的上下越界色块和说明文字 - 清理 SceneController 中越界装饰的同步与重置调用 - 简化色标 Overlay 布局并恢复标题的固定定位 - 保留单值端点标签、响应式刻度和窗口级显示设置 - 关闭 VTK 原生越界色块,保持色标仅显示连续色带 --- Include/nmNum/nmRender/nmVTKScalarBarLayer.h | 21 +- Src/nmNum/nmRender/nmVTKScalarBarLayer.cpp | 285 +----------------- .../nmSubWxs/nmPebiResultSceneController.cpp | 14 +- 3 files changed, 13 insertions(+), 307 deletions(-) diff --git a/Include/nmNum/nmRender/nmVTKScalarBarLayer.h b/Include/nmNum/nmRender/nmVTKScalarBarLayer.h index 1aba50e4..c18ee71a 100644 --- a/Include/nmNum/nmRender/nmVTKScalarBarLayer.h +++ b/Include/nmNum/nmRender/nmVTKScalarBarLayer.h @@ -5,9 +5,7 @@ #include -class vtkActor2D; class vtkLookupTable; -class vtkPoints; class vtkPropAssembly; class vtkScalarBarActor; class vtkTextActor; @@ -20,7 +18,7 @@ class vtkTextActor; class NM_RENDER_EXPORT nmVTKScalarBarLayer : public nmVTKRenderLayer { public: - /** @brief 创建空色标,并将色标及独立二维装饰加入稳定根 Assembly。 */ + /** @brief 创建空色标,并将色标、标题及单值标签加入稳定根 Assembly。 */ explicit nmVTKScalarBarLayer(const QString& sLayerId); /** @brief 先解除 Renderer,再释放外部颜色表的共享引用。 */ virtual ~nmVTKScalarBarLayer(); @@ -51,11 +49,6 @@ public: /** @brief 返回当前视口和色带高度建议使用的普通刻度数量。 */ int getResponsiveLabelCount() const; - /** @brief 配置低于显示范围的独立二维色块和说明文字。 */ - void setBelowRangeSwatch(bool bVisible, const QString& sText); - /** @brief 配置高于显示范围的独立二维色块和说明文字。 */ - void setAboveRangeSwatch(bool bVisible, const QString& sText); - /** * @brief 在色带上下端同时显示或隐藏单值属性的真实业务值。 * @@ -75,10 +68,8 @@ public: private: Q_DISABLE_COPY(nmVTKScalarBarLayer) - /** @brief 根据当前色标位置和尺寸同步全部独立二维装饰的位置。 */ + /** @brief 根据当前色标位置和尺寸同步标题及单值标签的位置。 */ void updateOverlayLayout(); - /** @brief 从活动 LookupTable 同步上下越界色块的实际颜色。 */ - void updateRangeSwatchColors(); vtkSmartPointer m_pLookupTable; ///< 共享外部颜色表引用。 vtkSmartPointer m_pRootAssembly; ///< Scene 挂载的稳定根 Prop。 @@ -86,17 +77,9 @@ private: vtkSmartPointer m_pTitleActor; ///< 独立左对齐 ASCII 标题。 vtkSmartPointer m_pConstantMinimumValueActor; ///< 单值属性下端值文字。 vtkSmartPointer m_pConstantMaximumValueActor; ///< 单值属性上端值文字。 - vtkSmartPointer m_pBelowRangeSwatchPoints; ///< 下越界色块四角坐标。 - vtkSmartPointer m_pBelowRangeSwatchActor; ///< 下越界独立色块。 - vtkSmartPointer m_pBelowRangeTextActor; ///< 下越界说明文字。 - vtkSmartPointer m_pAboveRangeSwatchPoints; ///< 上越界色块四角坐标。 - vtkSmartPointer m_pAboveRangeSwatchActor; ///< 上越界独立色块。 - vtkSmartPointer m_pAboveRangeTextActor; ///< 上越界说明文字。 QString m_sTitle; ///< 保留无损 Qt 标题,避免从 VTK 窄字符串反向解析。 QString m_sLabelFormat; ///< 普通刻度的 printf 风格格式字符串。 QString m_sConstantValueText; ///< 保留单值属性文字,避免从 VTK 反向解析。 - QString m_sBelowRangeText; ///< 下越界说明文字状态。 - QString m_sAboveRangeText; ///< 上越界说明文字状态。 double m_dPositionX; ///< 色标左下角的归一化视口 X 坐标。 double m_dPositionY; ///< 色标左下角的归一化视口 Y 坐标。 double m_dWidth; ///< 色标在归一化视口中的宽度。 diff --git a/Src/nmNum/nmRender/nmVTKScalarBarLayer.cpp b/Src/nmNum/nmRender/nmVTKScalarBarLayer.cpp index 86607825..69810d27 100644 --- a/Src/nmNum/nmRender/nmVTKScalarBarLayer.cpp +++ b/Src/nmNum/nmRender/nmVTKScalarBarLayer.cpp @@ -5,15 +5,10 @@ #include #include -#include -#include #include #include #include #include -#include -#include -#include #include #include #include @@ -69,12 +64,7 @@ const int SCALAR_BAR_LABEL_SPACING_PIXELS = 80; const int SCALAR_BAR_MIN_LABEL_COUNT = 6; const int SCALAR_BAR_MAX_LABEL_COUNT = 9; const int SCALAR_BAR_TITLE_OFFSET_Y_PIXELS = 28; -const int SCALAR_BAR_SWATCH_WIDTH_PIXELS = 16; -const int SCALAR_BAR_SWATCH_HEIGHT_PIXELS = 12; -const int SCALAR_BAR_SWATCH_GAP_PIXELS = 4; -const int SCALAR_BAR_TEXT_GAP_PIXELS = 6; const int SCALAR_BAR_LABEL_GAP_PIXELS = 8; -const int SCALAR_BAR_TITLE_CONTENT_GAP_PIXELS = 4; const double SCALAR_BAR_NORMAL_BOTTOM_RATIO = 0.22; const double SCALAR_BAR_NORMAL_HEIGHT_RATIO = 0.67; const double SCALAR_BAR_SMALL_BOTTOM_RATIO = 0.22; @@ -88,59 +78,18 @@ bool isScalarBarGuiThread() pApplication->thread() == QThread::currentThread(); } -// 独立色块使用归一化视口坐标,避免依赖仅支持 IndexedLookup 的 ScalarBar Annotation。 -vtkSmartPointer createRangeSwatchActor(vtkPoints* pPoints) -{ - vtkSmartPointer pPolygons = - vtkSmartPointer::New(); - pPolygons->InsertNextCell(4); - pPolygons->InsertCellPoint(0); - pPolygons->InsertCellPoint(1); - pPolygons->InsertCellPoint(2); - pPolygons->InsertCellPoint(3); - - vtkSmartPointer pData = - vtkSmartPointer::New(); - pData->SetPoints(pPoints); - pData->SetPolys(pPolygons); - - vtkSmartPointer pViewportCoordinate = - vtkSmartPointer::New(); - pViewportCoordinate->SetCoordinateSystemToNormalizedViewport(); - vtkSmartPointer pMapper = - vtkSmartPointer::New(); - pMapper->SetInputData(pData); - pMapper->SetTransformCoordinate(pViewportCoordinate); - pMapper->ScalarVisibilityOff(); - - vtkSmartPointer pActor = - vtkSmartPointer::New(); - pActor->SetMapper(pMapper); - pActor->GetProperty()->SetDisplayLocationToForeground(); - pActor->PickableOff(); - pActor->SetVisibility(0); - return pActor; -} - -// 独立文本共用字号和颜色;单值端点可选择与普通刻度一致的强调样式。 -void configureOverlayTextActor(vtkTextActor* pActor, - bool bUseTickStyle) +// 单值端点标签沿用普通刻度的字号、粗斜体和阴影样式。 +void configureConstantValueActor(vtkTextActor* pActor) { pActor->SetInput(""); pActor->SetTextScaleModeToNone(); pActor->GetTextProperty()->SetFontFamilyToArial(); pActor->GetTextProperty()->SetFontSize(SCALAR_BAR_LABEL_FONT_SIZE); pActor->GetTextProperty()->SetColor(1.0, 1.0, 1.0); - if(bUseTickStyle) { - pActor->GetTextProperty()->BoldOn(); - pActor->GetTextProperty()->ItalicOn(); - pActor->GetTextProperty()->ShadowOn(); - pActor->GetTextProperty()->SetShadowOffset(1, -1); - } else { - pActor->GetTextProperty()->BoldOff(); - pActor->GetTextProperty()->ItalicOff(); - pActor->GetTextProperty()->ShadowOff(); - } + pActor->GetTextProperty()->BoldOn(); + pActor->GetTextProperty()->ItalicOn(); + pActor->GetTextProperty()->ShadowOn(); + pActor->GetTextProperty()->SetShadowOffset(1, -1); pActor->GetTextProperty()->SetJustificationToLeft(); pActor->GetTextProperty()->SetVerticalJustificationToCentered(); pActor->GetPositionCoordinate()->SetCoordinateSystemToNormalizedViewport(); @@ -169,46 +118,6 @@ void configureTitleActor(vtkTextActor* pActor) pActor->SetVisibility(0); } -// 优先读取 VTK 按当前 DPI 计算的真实文字高度,尚未挂载时使用稳定回退值。 -double getOverlayTextHeightPixels(vtkTextActor* pActor, - vtkRenderer* pRenderer, - double dFallbackHeight) -{ - if(pActor == nullptr || pRenderer == nullptr) { - return dFallbackHeight; - } - double dSize[2] = { 0.0, 0.0 }; - pActor->GetSize(pRenderer, dSize); - return vtkMath::IsFinite(dSize[1]) && dSize[1] > 0.0 - ? dSize[1] : dFallbackHeight; -} - -// 横向避让仅在极小视口空间不足时使用,正常布局仍保持色块位于色带上方。 -double getOverlayTextWidthPixels(vtkTextActor* pActor, - vtkRenderer* pRenderer, - double dFallbackWidth) -{ - if(pActor == nullptr || pRenderer == nullptr) { - return dFallbackWidth; - } - double dSize[2] = { 0.0, 0.0 }; - pActor->GetSize(pRenderer, dSize); - return vtkMath::IsFinite(dSize[0]) && dSize[0] > 0.0 - ? dSize[0] : dFallbackWidth; -} - -// 更新矩形四角并显式标记 Points 已修改,Mapper 会在下一次 Render 使用新位置。 -void updateRectangle(vtkPoints* pPoints, - double dX, double dY, - double dWidth, double dHeight) -{ - pPoints->SetPoint(0, dX, dY, 0.0); - pPoints->SetPoint(1, dX + dWidth, dY, 0.0); - pPoints->SetPoint(2, dX + dWidth, dY + dHeight, 0.0); - pPoints->SetPoint(3, dX, dY + dHeight, 0.0); - pPoints->Modified(); -} - } nmVTKScalarBarLayer::nmVTKScalarBarLayer(const QString& sLayerId) @@ -219,12 +128,6 @@ nmVTKScalarBarLayer::nmVTKScalarBarLayer(const QString& sLayerId) m_pTitleActor(vtkSmartPointer::New()), m_pConstantMinimumValueActor(vtkSmartPointer::New()), m_pConstantMaximumValueActor(vtkSmartPointer::New()), - m_pBelowRangeSwatchPoints(vtkSmartPointer::New()), - m_pBelowRangeSwatchActor(nullptr), - m_pBelowRangeTextActor(vtkSmartPointer::New()), - m_pAboveRangeSwatchPoints(vtkSmartPointer::New()), - m_pAboveRangeSwatchActor(nullptr), - m_pAboveRangeTextActor(vtkSmartPointer::New()), m_sLabelFormat(QString::fromLatin1("%.6g")), m_dPositionX(0.0), m_dPositionY(0.0), @@ -260,18 +163,9 @@ nmVTKScalarBarLayer::nmVTKScalarBarLayer(const QString& sLayerId) m_pActor->DrawBelowRangeSwatchOff(); m_pActor->DrawAboveRangeSwatchOff(); - // 这些二维装饰必须独立显示,不能为网格共享 LUT 开启 IndexedLookup。 - m_pBelowRangeSwatchPoints->SetNumberOfPoints(4); - m_pAboveRangeSwatchPoints->SetNumberOfPoints(4); - m_pBelowRangeSwatchActor = - createRangeSwatchActor(m_pBelowRangeSwatchPoints); - m_pAboveRangeSwatchActor = - createRangeSwatchActor(m_pAboveRangeSwatchPoints); configureTitleActor(m_pTitleActor); - configureOverlayTextActor(m_pConstantMinimumValueActor, true); - configureOverlayTextActor(m_pConstantMaximumValueActor, true); - configureOverlayTextActor(m_pBelowRangeTextActor, false); - configureOverlayTextActor(m_pAboveRangeTextActor, false); + configureConstantValueActor(m_pConstantMinimumValueActor); + configureConstantValueActor(m_pConstantMaximumValueActor); updateOverlayLayout(); // 根 Assembly 只在构造时注册,运行期仅更新子 Actor 状态。 @@ -279,10 +173,6 @@ nmVTKScalarBarLayer::nmVTKScalarBarLayer(const QString& sLayerId) m_pRootAssembly->AddPart(m_pTitleActor); m_pRootAssembly->AddPart(m_pConstantMinimumValueActor); m_pRootAssembly->AddPart(m_pConstantMaximumValueActor); - m_pRootAssembly->AddPart(m_pBelowRangeSwatchActor); - m_pRootAssembly->AddPart(m_pBelowRangeTextActor); - m_pRootAssembly->AddPart(m_pAboveRangeSwatchActor); - m_pRootAssembly->AddPart(m_pAboveRangeTextActor); setRenderProp(m_pRootAssembly); } @@ -292,12 +182,6 @@ nmVTKScalarBarLayer::~nmVTKScalarBarLayer() // 先移除二维 Prop,再释放对外部 LookupTable 的共享引用。 detach(); m_pLookupTable = nullptr; - m_pAboveRangeTextActor = nullptr; - m_pAboveRangeSwatchActor = nullptr; - m_pAboveRangeSwatchPoints = nullptr; - m_pBelowRangeTextActor = nullptr; - m_pBelowRangeSwatchActor = nullptr; - m_pBelowRangeSwatchPoints = nullptr; m_pConstantMaximumValueActor = nullptr; m_pConstantMinimumValueActor = nullptr; m_pTitleActor = nullptr; @@ -314,7 +198,6 @@ void nmVTKScalarBarLayer::setLookupTable(vtkLookupTable* pLookupTable) // 智能指针共享 LookupTable,保证外部释放原指针后色标仍可安全显示。 m_pLookupTable = pLookupTable; m_pActor->SetLookupTable(pLookupTable); - updateRangeSwatchColors(); updateOverlayLayout(); } @@ -335,8 +218,6 @@ void nmVTKScalarBarLayer::setTitle(const QString& sTitle) const QByteArray aTitle = sTitle.toUtf8(); m_pTitleActor->SetInput(aTitle.constData()); m_pTitleActor->SetVisibility(sTitle.isEmpty() ? 0 : 1); - // 标题宽度参与极小视口下 Above max 的横向避让。 - updateOverlayLayout(); } QString nmVTKScalarBarLayer::getTitle() const @@ -447,40 +328,6 @@ int nmVTKScalarBarLayer::getResponsiveLabelCount() const SCALAR_BAR_MAX_LABEL_COUNT); } -void nmVTKScalarBarLayer::setBelowRangeSwatch( - bool bVisible, - const QString& sText) -{ - Q_ASSERT(isScalarBarGuiThread()); - if(!isScalarBarGuiThread()) { - return; - } - m_sBelowRangeText = bVisible ? sText : QString(); - const QByteArray aText = m_sBelowRangeText.toUtf8(); - m_pBelowRangeTextActor->SetInput(aText.constData()); - m_pBelowRangeSwatchActor->SetVisibility(bVisible ? 1 : 0); - m_pBelowRangeTextActor->SetVisibility( - bVisible && !m_sBelowRangeText.isEmpty() ? 1 : 0); - updateOverlayLayout(); -} - -void nmVTKScalarBarLayer::setAboveRangeSwatch( - bool bVisible, - const QString& sText) -{ - Q_ASSERT(isScalarBarGuiThread()); - if(!isScalarBarGuiThread()) { - return; - } - m_sAboveRangeText = bVisible ? sText : QString(); - const QByteArray aText = m_sAboveRangeText.toUtf8(); - m_pAboveRangeTextActor->SetInput(aText.constData()); - m_pAboveRangeSwatchActor->SetVisibility(bVisible ? 1 : 0); - m_pAboveRangeTextActor->SetVisibility( - bVisible && !m_sAboveRangeText.isEmpty() ? 1 : 0); - updateOverlayLayout(); -} - void nmVTKScalarBarLayer::setConstantValueLabel( bool bVisible, const QString& sText) @@ -584,129 +431,17 @@ void nmVTKScalarBarLayer::updateOverlayLayout() m_pConstantMaximumValueActor->GetPositionCoordinate()->SetValue( dLabelX, dColorY + dColorHeight, 0.0); - // 越界色块和文字也按实际像素布局,窗口缩放时不会横向漂移。 - const double dSwatchWidth = bHasViewport - ? SCALAR_BAR_SWATCH_WIDTH_PIXELS * dPixelX - : qMin(m_dWidth * 0.25, 0.025); - const double dSwatchHeight = bHasViewport - ? SCALAR_BAR_SWATCH_HEIGHT_PIXELS * dPixelY : 0.018; - const double dSwatchGap = bHasViewport - ? SCALAR_BAR_SWATCH_GAP_PIXELS * dPixelY : 0.012; - const double dTextGap = bHasViewport - ? SCALAR_BAR_TEXT_GAP_PIXELS * dPixelX : 0.008; - const bool bConstantLabelsVisible = - m_pConstantMinimumValueActor->GetVisibility() != 0 && - !m_sConstantValueText.isEmpty(); - const double dConstantTextHeight = getOverlayTextHeightPixels( - m_pConstantMinimumValueActor, pRenderer, - SCALAR_BAR_LABEL_FONT_SIZE); - const bool bBelowRangeVisible = - m_pBelowRangeSwatchActor->GetVisibility() != 0; - const bool bAboveRangeVisible = - m_pAboveRangeSwatchActor->GetVisibility() != 0; - const double dBelowTextHeight = getOverlayTextHeightPixels( - m_pBelowRangeTextActor, pRenderer, - SCALAR_BAR_LABEL_FONT_SIZE); - const double dAboveTextHeight = getOverlayTextHeightPixels( - m_pAboveRangeTextActor, pRenderer, - SCALAR_BAR_LABEL_FONT_SIZE); - const double dBelowClearance = - bConstantLabelsVisible && bBelowRangeVisible - ? qMax(0.0, - (dConstantTextHeight + dBelowTextHeight - - SCALAR_BAR_SWATCH_HEIGHT_PIXELS) * 0.5 * dPixelY) - : 0.0; - const double dAboveClearance = - bConstantLabelsVisible && bAboveRangeVisible - ? qMax(0.0, - (dConstantTextHeight + dAboveTextHeight - - SCALAR_BAR_SWATCH_HEIGHT_PIXELS) * 0.5 * dPixelY) - : 0.0; - // 单值端点与越界说明可以同时启用。将越界注记整体向外错开, - // 保证其文字区域不会覆盖位于实际色带端点的单值标签。 - const double dBelowY = - dColorY - dSwatchGap - dSwatchHeight - - dBelowClearance; - double dAboveX = dColorX; - double dAboveY = - dColorY + dColorHeight + dSwatchGap + - dAboveClearance; - - // 标题默认保持原有偏移;Above max 向外避让后若更高,则标题继续上移。 - const double dAboveTextHalfHeight = - m_pAboveRangeTextActor->GetVisibility() != 0 - ? dAboveTextHeight * 0.5 * dPixelY : 0.0; - const double dAboveContentHalfHeight = qMax( - dSwatchHeight * 0.5, dAboveTextHalfHeight); - const double dAboveContentTop = - dAboveY + dSwatchHeight * 0.5 + - dAboveContentHalfHeight; - const double dBaseTitleY = + // 标题固定放在实际色带左上方;极小视口下向下钳制避免裁切。 + const double dDesiredTitleY = dColorY + dColorHeight + SCALAR_BAR_TITLE_OFFSET_Y_PIXELS * dPixelY; - const double dDesiredTitleY = bAboveRangeVisible - ? qMax(dBaseTitleY, - dAboveContentTop + - SCALAR_BAR_TITLE_CONTENT_GAP_PIXELS * dPixelY) - : dBaseTitleY; const double dMaximumTitleY = bHasViewport ? qMax(0.0, 1.0 - SCALAR_BAR_TITLE_SAFE_HEIGHT_PIXELS * dPixelY) : dDesiredTitleY; const double dTitleY = qMin(dDesiredTitleY, dMaximumTitleY); - - if(bAboveRangeVisible && - dTitleY < dAboveContentTop + - SCALAR_BAR_TITLE_CONTENT_GAP_PIXELS * dPixelY) { - // 极小视口无法同时向上容纳标题和 Above max。此时保持标题不越界, - // 并把越界注记放到标题、单值标签两者的右侧,消除水平交叠。 - const double dConstantTextWidth = bConstantLabelsVisible - ? getOverlayTextWidthPixels( - m_pConstantMaximumValueActor, pRenderer, - m_sConstantValueText.length() * - SCALAR_BAR_LABEL_FONT_SIZE * 0.6) - : 0.0; - const double dTitleWidth = getOverlayTextWidthPixels( - m_pTitleActor, pRenderer, - m_sTitle.length() * - SCALAR_BAR_TITLE_FONT_SIZE * 0.6); - dAboveX = qMax( - dLabelX + dConstantTextWidth * dPixelX + dTextGap, - dColorX + dTitleWidth * dPixelX + dTextGap); - dAboveY = dColorY + dColorHeight - dSwatchHeight * 0.5; - } - m_pTitleActor->GetPositionCoordinate()->SetValue( dColorX, dTitleY, 0.0); - updateRectangle(m_pBelowRangeSwatchPoints, - dColorX, dBelowY, - dSwatchWidth, dSwatchHeight); - updateRectangle(m_pAboveRangeSwatchPoints, - dAboveX, dAboveY, - dSwatchWidth, dSwatchHeight); - m_pBelowRangeTextActor->GetPositionCoordinate()->SetValue( - dColorX + dSwatchWidth + dTextGap, - dBelowY + dSwatchHeight * 0.5, 0.0); - m_pAboveRangeTextActor->GetPositionCoordinate()->SetValue( - dAboveX + dSwatchWidth + dTextGap, - dAboveY + dSwatchHeight * 0.5, 0.0); -} - -void nmVTKScalarBarLayer::updateRangeSwatchColors() -{ - if(m_pLookupTable == nullptr) { - return; - } - - // 读取 LookupTable 的业务颜色属性,不直接访问内部特殊表项索引。 - const double* pBelowColor = m_pLookupTable->GetBelowRangeColor(); - const double* pAboveColor = m_pLookupTable->GetAboveRangeColor(); - m_pBelowRangeSwatchActor->GetProperty()->SetColor( - pBelowColor[0], pBelowColor[1], pBelowColor[2]); - m_pBelowRangeSwatchActor->GetProperty()->SetOpacity(pBelowColor[3]); - m_pAboveRangeSwatchActor->GetProperty()->SetColor( - pAboveColor[0], pAboveColor[1], pAboveColor[2]); - m_pAboveRangeSwatchActor->GetProperty()->SetOpacity(pAboveColor[3]); } vtkScalarBarActor* nmVTKScalarBarLayer::getActor() const diff --git a/Src/nmNum/nmSubWxs/nmPebiResultSceneController.cpp b/Src/nmNum/nmSubWxs/nmPebiResultSceneController.cpp index e68e4171..347d251c 100644 --- a/Src/nmNum/nmSubWxs/nmPebiResultSceneController.cpp +++ b/Src/nmNum/nmSubWxs/nmPebiResultSceneController.cpp @@ -72,9 +72,7 @@ static const char* const s_pResultSceneTranslationMarkers[] = QT_TRANSLATE_NOOP("nmPebiResultSceneController", "Unable to construct the color mapping."), QT_TRANSLATE_NOOP("nmPebiResultSceneController", - "Unable to apply the color settings."), - QT_TRANSLATE_NOOP("nmPebiResultSceneController", "Below min"), - QT_TRANSLATE_NOOP("nmPebiResultSceneController", "Above max") + "Unable to apply the color settings.") }; bool isResultSceneGuiThread() @@ -726,12 +724,6 @@ public: oDisplay.m_bSingleValueMode ? QString::number(oDisplay.m_dBusinessRange[0], 'g', 6) : QString()); - m_pScalarBarLayer->setBelowRangeSwatch( - oDisplay.m_oSettings.m_bUseBelowRangeColor, - controllerText("Below min")); - m_pScalarBarLayer->setAboveRangeSwatch( - oDisplay.m_oSettings.m_bUseAboveRangeColor, - controllerText("Above max")); applyScalarBarLayout(); } @@ -778,8 +770,6 @@ public: if(m_pScalarBarLayer != nullptr) { m_pScalarBarLayer->setLookupTable(nullptr); m_pScalarBarLayer->setTitle(QString()); - m_pScalarBarLayer->setBelowRangeSwatch(false, QString()); - m_pScalarBarLayer->setAboveRangeSwatch(false, QString()); m_pScalarBarLayer->setConstantValueLabel(false, QString()); m_bCurrentSingleValueMode = false; applyScalarBarLayout(); @@ -823,8 +813,6 @@ public: m_pScalarBarLayer->setVisible(false); m_pScalarBarLayer->setLookupTable(nullptr); m_pScalarBarLayer->setTitle(QString()); - m_pScalarBarLayer->setBelowRangeSwatch(false, QString()); - m_pScalarBarLayer->setAboveRangeSwatch(false, QString()); m_pScalarBarLayer->setConstantValueLabel(false, QString()); } m_bCurrentSingleValueMode = false;