diff --git a/Bin/Config/Lang/cn/nmNum_cn.qm b/Bin/Config/Lang/cn/nmNum_cn.qm
index 2413b6b4..127e75bc 100644
Binary files a/Bin/Config/Lang/cn/nmNum_cn.qm and b/Bin/Config/Lang/cn/nmNum_cn.qm differ
diff --git a/Bin/Config/Lang/cn/nmNum_cn.ts b/Bin/Config/Lang/cn/nmNum_cn.ts
index 442701b8..a95c6a41 100644
--- a/Bin/Config/Lang/cn/nmNum_cn.ts
+++ b/Bin/Config/Lang/cn/nmNum_cn.ts
@@ -2888,7 +2888,6 @@ Reason: %1
No result data.暂无结果数据。
Color Scale色标
Scale Grid比例网格
- Well Markers井位标记
Well Names井名
Unable to display the latest result.无法显示最新结果。
Unable to display the latest result: %1无法显示最新结果:%1
diff --git a/Include/nmNum/nmSubWxs/nmPebiResultSceneController.h b/Include/nmNum/nmSubWxs/nmPebiResultSceneController.h
index 9b8b0c90..44514aa0 100644
--- a/Include/nmNum/nmSubWxs/nmPebiResultSceneController.h
+++ b/Include/nmNum/nmSubWxs/nmPebiResultSceneController.h
@@ -69,9 +69,7 @@ public:
void setScalarBarVisible(bool bVisible);
/** @brief 设置平面比例网格显隐;偏好跨快照保留。 */
void setScaleGridVisible(bool bVisible);
- /** @brief 设置二维井位标记显隐;偏好跨快照保留。 */
- void setWellMarkersVisible(bool bVisible);
- /** @brief 设置二维井名显隐;偏好跨快照保留。 */
+ /** @brief 设置二维井名及其引线显隐;偏好跨快照保留。 */
void setWellNamesVisible(bool bVisible);
/** @brief 返回当前是否持有可用快照且稳定结果图层仍完整。 */
@@ -111,9 +109,7 @@ public:
bool isScalarBarVisible() const;
/** @brief 返回比例网格显示偏好,不要求当前存在快照。 */
bool isScaleGridVisible() const;
- /** @brief 返回二维井位标记显示偏好。 */
- bool areWellMarkersVisible() const;
- /** @brief 返回二维井名显示偏好。 */
+ /** @brief 返回二维井名及其引线显示偏好。 */
bool areWellNamesVisible() const;
private:
diff --git a/Include/nmNum/nmSubWxs/nmPebiResultWellAnnotationLayer.h b/Include/nmNum/nmSubWxs/nmPebiResultWellAnnotationLayer.h
index 395d4d1e..6697b229 100644
--- a/Include/nmNum/nmSubWxs/nmPebiResultWellAnnotationLayer.h
+++ b/Include/nmNum/nmSubWxs/nmPebiResultWellAnnotationLayer.h
@@ -12,7 +12,7 @@ class nmPebiResultSnapshot;
class vtkPropAssembly;
/**
- * @brief 显示快照中全部二维井位和井名的业务图层。
+ * @brief 显示快照中全部二维井名和引线的业务图层。
*
* 图层只读取快照冻结的 XY 和井名,不访问 DataManager,不伪造井深或轨迹。
* 稳定根 Assembly 始终挂在 Scene 中;新快照通过候选子 Assembly 无失败交换。
@@ -27,7 +27,7 @@ public:
virtual ~nmPebiResultWellAnnotationLayer();
/**
- * @brief 在未挂载候选对象中构造快照全部井位和井名。
+ * @brief 在未挂载候选对象中构造快照全部井名和二维引线。
* @note 失败时活动子 Assembly 完全不变;再次准备会丢弃旧候选。
*/
bool prepareCandidate(
@@ -45,11 +45,8 @@ public:
/** @brief 返回活动快照是否已有完整井标注子树。 */
bool hasActiveAnnotations() const;
- /** @brief 独立设置约 9px 的二维井位标记显隐。 */
- void setWellMarkersVisible(bool bVisible);
- /** @brief 独立设置约 12px 的二维井名显隐。 */
+ /** @brief 统一设置二维井名及其引线显隐。 */
void setWellNamesVisible(bool bVisible);
- bool areWellMarkersVisible() const;
bool areWellNamesVisible() const;
private:
@@ -57,13 +54,10 @@ private:
vtkSmartPointer m_pRootAssembly; ///< Scene 挂载的稳定根。
vtkSmartPointer m_pActiveSnapshotAssembly; ///< 当前快照子树。
- vtkSmartPointer m_pActiveMarkerGroup; ///< 当前井位组。
- vtkSmartPointer m_pActiveNameGroup; ///< 当前井名组。
+ vtkSmartPointer m_pActiveAnnotationGroup; ///< 当前井名与引线组。
vtkSmartPointer m_pCandidateSnapshotAssembly; ///< 待提交子树。
- vtkSmartPointer m_pCandidateMarkerGroup; ///< 候选井位组。
- vtkSmartPointer m_pCandidateNameGroup; ///< 候选井名组。
- bool m_bWellMarkersVisible; ///< 跨快照保留的井位显隐偏好。
- bool m_bWellNamesVisible; ///< 跨快照保留的井名显隐偏好。
+ vtkSmartPointer m_pCandidateAnnotationGroup; ///< 候选井名与引线组。
+ bool m_bWellNamesVisible; ///< 跨快照保留的文字与引线显隐偏好。
};
#endif // NMPEBIRESULTWELLANNOTATIONLAYER_H
diff --git a/Include/nmNum/nmSubWxs/nmWxPebiResultViewWidget.h b/Include/nmNum/nmSubWxs/nmWxPebiResultViewWidget.h
index 9f91683a..7a13f51a 100644
--- a/Include/nmNum/nmSubWxs/nmWxPebiResultViewWidget.h
+++ b/Include/nmNum/nmSubWxs/nmWxPebiResultViewWidget.h
@@ -67,8 +67,6 @@ private slots:
void onScalarBarToggled(bool bVisible);
/** @brief 切换比例网格显隐。 */
void onScaleGridToggled(bool bVisible);
- /** @brief 切换二维井位标记显隐。 */
- void onWellMarkersToggled(bool bVisible);
/** @brief 切换二维井名显隐。 */
void onWellNamesToggled(bool bVisible);
@@ -86,7 +84,7 @@ private:
const QSharedPointer& pSnapshot,
const QString& sSnapshotId,
bool bCurrent);
- /** @brief 从 SceneController 镜像四个业务 QAction 的勾选和可用状态。 */
+ /** @brief 从 SceneController 镜像三个业务 QAction 的勾选和可用状态。 */
void synchronizeBusinessActions();
/** @brief 根据“绑定失败、过期、操作错误”的固定优先级刷新提示栏。 */
void refreshStatusBar();
@@ -102,7 +100,6 @@ private:
QAction* m_pScalarBarAction; ///< 色标显隐动作。
QAction* m_pScaleGridAction; ///< 比例网格显隐动作。
- QAction* m_pWellMarkersAction; ///< 二维井位标记显隐动作。
QAction* m_pWellNamesAction; ///< 二维井名显隐动作。
/** @brief Manager 最近一次通知后观察到的快照强引用。 */
diff --git a/Src/nmNum/nmSubWxs/nmPebiResultSceneController.cpp b/Src/nmNum/nmSubWxs/nmPebiResultSceneController.cpp
index ce449b68..4ae6c258 100644
--- a/Src/nmNum/nmSubWxs/nmPebiResultSceneController.cpp
+++ b/Src/nmNum/nmSubWxs/nmPebiResultSceneController.cpp
@@ -403,7 +403,6 @@ public:
m_bHasBounds(false),
m_bScalarBarVisible(true),
m_bScaleGridVisible(false),
- m_bWellMarkersVisible(true),
m_bWellNamesVisible(true)
{
m_dBusinessRange[0] = 0.0;
@@ -598,7 +597,6 @@ public:
new nmPebiResultWellAnnotationLayer(
QString::fromLatin1(RESULT_WELLS_LAYER_ID));
pLayer->setVisible(false);
- pLayer->setWellMarkersVisible(m_bWellMarkersVisible);
pLayer->setWellNamesVisible(m_bWellNamesVisible);
if(!pScene->addLayer(pLayer)) {
delete pLayer;
@@ -723,7 +721,6 @@ public:
bHasData && m_bScaleGridVisible);
}
if(m_pWellLayer != nullptr) {
- m_pWellLayer->setWellMarkersVisible(m_bWellMarkersVisible);
m_pWellLayer->setWellNamesVisible(m_bWellNamesVisible);
m_pWellLayer->setVisible(bHasData);
}
@@ -883,7 +880,6 @@ public:
bool m_bHasBounds;
bool m_bScalarBarVisible;
bool m_bScaleGridVisible;
- bool m_bWellMarkersVisible;
bool m_bWellNamesVisible;
};
@@ -1348,25 +1344,6 @@ void nmPebiResultSceneController::setScaleGridVisible(bool bVisible)
}
}
-void nmPebiResultSceneController::setWellMarkersVisible(bool bVisible)
-{
- Q_ASSERT(isResultSceneGuiThread());
- if(!isResultSceneGuiThread() || m_pPrivate == nullptr) {
- return;
- }
- m_pPrivate->discardActiveDataIfLayersLost();
- if(m_pPrivate->m_bWellMarkersVisible == bVisible) {
- return;
- }
- m_pPrivate->m_bWellMarkersVisible = bVisible;
- if(m_pPrivate->m_pWellLayer != nullptr) {
- m_pPrivate->m_pWellLayer->setWellMarkersVisible(bVisible);
- }
- if(hasSnapshot()) {
- m_pPrivate->m_pContainer->renderView();
- }
-}
-
void nmPebiResultSceneController::setWellNamesVisible(bool bVisible)
{
Q_ASSERT(isResultSceneGuiThread());
@@ -1506,11 +1483,6 @@ bool nmPebiResultSceneController::isScaleGridVisible() const
return m_pPrivate != nullptr && m_pPrivate->m_bScaleGridVisible;
}
-bool nmPebiResultSceneController::areWellMarkersVisible() const
-{
- return m_pPrivate != nullptr && m_pPrivate->m_bWellMarkersVisible;
-}
-
bool nmPebiResultSceneController::areWellNamesVisible() const
{
return m_pPrivate != nullptr && m_pPrivate->m_bWellNamesVisible;
diff --git a/Src/nmNum/nmSubWxs/nmPebiResultWellAnnotationLayer.cpp b/Src/nmNum/nmSubWxs/nmPebiResultWellAnnotationLayer.cpp
index fec1d8d2..1ed074f8 100644
--- a/Src/nmNum/nmSubWxs/nmPebiResultWellAnnotationLayer.cpp
+++ b/Src/nmNum/nmSubWxs/nmPebiResultWellAnnotationLayer.cpp
@@ -2,22 +2,18 @@
#include "nmPebiResultSnapshot.h"
+#include
#include
#include
#include
#include
-#include
#include
-#include
+#include
#include
-#include
-#include
-#include
-#include
#include
#include
-#include
+#include
#include
namespace {
@@ -29,6 +25,17 @@ bool isWellAnnotationGuiThread()
pApplication->thread() == QThread::currentThread();
}
+// Saphir 风格标注使用固定像素偏移,缩放相机时文字和引线长度保持不变。
+const int WELL_NAME_FONT_SIZE = 16;
+const int WELL_NAME_OFFSET_X = 18;
+const int WELL_NAME_OFFSET_Y = 40;
+const int WELL_LEADER_OFFSET_X = 14;
+const int WELL_LEADER_OFFSET_Y = 36;
+
+const double WELL_LEADER_RED = 140.0 / 255.0;
+const double WELL_LEADER_GREEN = 87.0 / 255.0;
+const double WELL_LEADER_BLUE = 59.0 / 255.0;
+
}
nmPebiResultWellAnnotationLayer::nmPebiResultWellAnnotationLayer(
@@ -36,12 +43,9 @@ nmPebiResultWellAnnotationLayer::nmPebiResultWellAnnotationLayer(
: nmVTKRenderLayer(sLayerId),
m_pRootAssembly(vtkSmartPointer::New()),
m_pActiveSnapshotAssembly(nullptr),
- m_pActiveMarkerGroup(nullptr),
- m_pActiveNameGroup(nullptr),
+ m_pActiveAnnotationGroup(nullptr),
m_pCandidateSnapshotAssembly(nullptr),
- m_pCandidateMarkerGroup(nullptr),
- m_pCandidateNameGroup(nullptr),
- m_bWellMarkersVisible(true),
+ m_pCandidateAnnotationGroup(nullptr),
m_bWellNamesVisible(true)
{
Q_ASSERT(isWellAnnotationGuiThread());
@@ -67,16 +71,6 @@ bool nmPebiResultWellAnnotationLayer::prepareCandidate(
return false;
}
- vtkSmartPointer pMarkerPoints =
- vtkSmartPointer::New();
- vtkSmartPointer pMarkerVertices =
- vtkSmartPointer::New();
- vtkSmartPointer pNamePoints =
- vtkSmartPointer::New();
- vtkSmartPointer pWellNames =
- vtkSmartPointer::New();
- pWellNames->SetName("WellName");
-
QSet setWellIds;
for(int nIndex = 0; nIndex < pSnapshot->getWellCount(); ++nIndex) {
const nmPebiResultWellSnapshot* pWell = pSnapshot->getWellAt(nIndex);
@@ -89,90 +83,103 @@ bool nmPebiResultWellAnnotationLayer::prepareCandidate(
return false;
}
setWellIds.insert(pWell->m_sWellInstanceId);
-
- // 保持快照存储顺序;二维 Overlay 不向业务位置写入虚构 Z 值。
- const vtkIdType nPointId = pMarkerPoints->InsertNextPoint(
- pWell->m_oLocation.x(), pWell->m_oLocation.y(), 0.0);
- pMarkerVertices->InsertNextCell(1);
- pMarkerVertices->InsertCellPoint(nPointId);
- pNamePoints->InsertNextPoint(
- pWell->m_oLocation.x(), pWell->m_oLocation.y(), 0.0);
- const QByteArray aWellName = pWell->m_sWellName.toUtf8();
- pWellNames->InsertNextValue(aWellName.constData());
}
vtkSmartPointer pSnapshotAssembly =
vtkSmartPointer::New();
- vtkSmartPointer pMarkerGroup =
- vtkSmartPointer::New();
- vtkSmartPointer pNameGroup =
+ vtkSmartPointer pAnnotationGroup =
vtkSmartPointer::New();
if(pSnapshot->getWellCount() > 0) {
- vtkSmartPointer pMarkerData =
- vtkSmartPointer::New();
- pMarkerData->SetPoints(pMarkerPoints);
- pMarkerData->SetVerts(pMarkerVertices);
-
- vtkSmartPointer pWorldCoordinate =
- vtkSmartPointer::New();
- pWorldCoordinate->SetCoordinateSystemToWorld();
- vtkSmartPointer pMarkerMapper =
- vtkSmartPointer::New();
- pMarkerMapper->SetInputData(pMarkerData);
- pMarkerMapper->SetTransformCoordinate(pWorldCoordinate);
- pMarkerMapper->ScalarVisibilityOff();
-
- vtkSmartPointer pMarkerActor =
- vtkSmartPointer::New();
- pMarkerActor->SetMapper(pMarkerMapper);
- pMarkerActor->GetProperty()->SetColor(0.12, 0.12, 0.12);
- pMarkerActor->GetProperty()->SetPointSize(9.0);
- pMarkerGroup->AddPart(pMarkerActor);
-
- vtkSmartPointer pNameData =
- vtkSmartPointer::New();
- pNameData->SetPoints(pNamePoints);
- pNameData->GetPointData()->AddArray(pWellNames);
- vtkSmartPointer pNameMapper =
- vtkSmartPointer::New();
- pNameMapper->SetInputData(pNameData);
- pNameMapper->SetLabelModeToLabelFieldData();
- pNameMapper->SetFieldDataName("WellName");
- pNameMapper->SetLabelFormat("%s");
- pNameMapper->GetLabelTextProperty()->SetFontSize(12);
- pNameMapper->GetLabelTextProperty()->SetColor(0.10, 0.10, 0.10);
- pNameMapper->GetLabelTextProperty()->BoldOff();
- pNameMapper->GetLabelTextProperty()->ItalicOff();
- pNameMapper->GetLabelTextProperty()->ShadowOff();
- pNameMapper->GetLabelTextProperty()->SetJustificationToLeft();
- pNameMapper->GetLabelTextProperty()->SetVerticalJustificationToBottom();
-
- vtkSmartPointer pNameActor =
- vtkSmartPointer::New();
- pNameActor->SetMapper(pNameMapper);
- // Actor2D 的显示坐标偏移固定为像素,不随相机缩放改变。
- pNameActor->SetDisplayPosition(7, 6);
- pNameGroup->AddPart(pNameActor);
+ for(int nIndex = 0; nIndex < pSnapshot->getWellCount(); ++nIndex) {
+ const nmPebiResultWellSnapshot* pWell =
+ pSnapshot->getWellAt(nIndex);
+ vtkSmartPointer pWorldAnchor =
+ vtkSmartPointer::New();
+ // Z=0 仅表示冻结 XY 所在平面,不表示井深、井斜或井轨迹。
+ pWorldAnchor->SetCoordinateSystemToWorld();
+ pWorldAnchor->SetValue(
+ pWell->m_oLocation.x(),
+ pWell->m_oLocation.y(), 0.0);
+
+ vtkSmartPointer pWellAnnotation =
+ vtkSmartPointer::New();
+ vtkSmartPointer pLeader =
+ vtkSmartPointer::New();
+
+ // 引线两个端点都引用同一 World 锚点,只叠加固定 Display 像素偏移。
+ vtkCoordinate* pStartCoordinate =
+ pLeader->GetPositionCoordinate();
+ pStartCoordinate->SetCoordinateSystemToDisplay();
+ pStartCoordinate->SetReferenceCoordinate(pWorldAnchor);
+ pStartCoordinate->SetValue(0.0, 0.0, 0.0);
+ vtkCoordinate* pEndCoordinate =
+ pLeader->GetPosition2Coordinate();
+ pEndCoordinate->SetCoordinateSystemToDisplay();
+ pEndCoordinate->SetReferenceCoordinate(pWorldAnchor);
+ pEndCoordinate->SetValue(
+ WELL_LEADER_OFFSET_X, WELL_LEADER_OFFSET_Y, 0.0);
+
+ pLeader->AutoLabelOff();
+ pLeader->SetLabel("");
+ pLeader->SetArrowPlacementToNone();
+ pLeader->SetRadius(0.0);
+ pLeader->GetProperty()->SetColor(
+ WELL_LEADER_RED,
+ WELL_LEADER_GREEN,
+ WELL_LEADER_BLUE);
+ pLeader->GetProperty()->SetLineWidth(1.0);
+ // 二维引线始终绘制在三维网格前方,避免被致密单元边线遮挡。
+ pLeader->GetProperty()->SetDisplayLocationToForeground();
+ pWellAnnotation->AddPart(pLeader);
+
+ vtkSmartPointer pNameMapper =
+ vtkSmartPointer::New();
+ const QByteArray aWellName = pWell->m_sWellName.toUtf8();
+ pNameMapper->SetInput(aWellName.constData());
+ vtkTextProperty* pTextProperty =
+ pNameMapper->GetTextProperty();
+ pTextProperty->SetFontFamilyToArial();
+ pTextProperty->SetFontSize(WELL_NAME_FONT_SIZE);
+ pTextProperty->SetColor(1.0, 1.0, 0.0);
+ pTextProperty->BoldOff();
+ pTextProperty->ItalicOff();
+ pTextProperty->ShadowOn();
+ pTextProperty->SetShadowOffset(1, -1);
+ pTextProperty->SetJustificationToLeft();
+ pTextProperty->SetVerticalJustificationToBottom();
+
+ vtkSmartPointer pNameActor =
+ vtkSmartPointer::New();
+ pNameActor->SetMapper(pNameMapper);
+ // 井名与引线使用相同的前景层级,保证顶视图下仍清晰可读。
+ pNameActor->GetProperty()->SetDisplayLocationToForeground();
+ vtkCoordinate* pNameCoordinate =
+ pNameActor->GetPositionCoordinate();
+ pNameCoordinate->SetCoordinateSystemToDisplay();
+ pNameCoordinate->SetReferenceCoordinate(pWorldAnchor);
+ pNameCoordinate->SetValue(
+ WELL_NAME_OFFSET_X, WELL_NAME_OFFSET_Y, 0.0);
+ pWellAnnotation->AddPart(pNameActor);
+
+ // 每口井的文字与引线形成一个不可拆分的候选注记单元。
+ pAnnotationGroup->AddPart(pWellAnnotation);
+ }
}
- pMarkerGroup->SetVisibility(m_bWellMarkersVisible ? 1 : 0);
- pNameGroup->SetVisibility(m_bWellNamesVisible ? 1 : 0);
- pSnapshotAssembly->AddPart(pMarkerGroup);
- pSnapshotAssembly->AddPart(pNameGroup);
+ pAnnotationGroup->SetVisibility(m_bWellNamesVisible ? 1 : 0);
+ pSnapshotAssembly->AddPart(pAnnotationGroup);
// 所有校验和 VTK 对象构造成功后才记录候选;活动子树仍未触碰。
m_pCandidateSnapshotAssembly = pSnapshotAssembly;
- m_pCandidateMarkerGroup = pMarkerGroup;
- m_pCandidateNameGroup = pNameGroup;
+ m_pCandidateAnnotationGroup = pAnnotationGroup;
return true;
}
void nmPebiResultWellAnnotationLayer::discardCandidate()
{
Q_ASSERT(isWellAnnotationGuiThread());
- m_pCandidateNameGroup = nullptr;
- m_pCandidateMarkerGroup = nullptr;
+ m_pCandidateAnnotationGroup = nullptr;
m_pCandidateSnapshotAssembly = nullptr;
}
@@ -185,8 +192,7 @@ void nmPebiResultWellAnnotationLayer::commitCandidate()
m_pRootAssembly->RemovePart(m_pActiveSnapshotAssembly);
}
m_pActiveSnapshotAssembly = m_pCandidateSnapshotAssembly;
- m_pActiveMarkerGroup = m_pCandidateMarkerGroup;
- m_pActiveNameGroup = m_pCandidateNameGroup;
+ m_pActiveAnnotationGroup = m_pCandidateAnnotationGroup;
m_pRootAssembly->AddPart(m_pActiveSnapshotAssembly);
discardCandidate();
}
@@ -199,8 +205,7 @@ void nmPebiResultWellAnnotationLayer::clear()
m_pActiveSnapshotAssembly != nullptr) {
m_pRootAssembly->RemovePart(m_pActiveSnapshotAssembly);
}
- m_pActiveNameGroup = nullptr;
- m_pActiveMarkerGroup = nullptr;
+ m_pActiveAnnotationGroup = nullptr;
m_pActiveSnapshotAssembly = nullptr;
}
@@ -209,21 +214,6 @@ bool nmPebiResultWellAnnotationLayer::hasActiveAnnotations() const
return m_pActiveSnapshotAssembly != nullptr;
}
-void nmPebiResultWellAnnotationLayer::setWellMarkersVisible(bool bVisible)
-{
- Q_ASSERT(isWellAnnotationGuiThread());
- if(!isWellAnnotationGuiThread()) {
- return;
- }
- m_bWellMarkersVisible = bVisible;
- if(m_pActiveMarkerGroup != nullptr) {
- m_pActiveMarkerGroup->SetVisibility(bVisible ? 1 : 0);
- }
- if(m_pCandidateMarkerGroup != nullptr) {
- m_pCandidateMarkerGroup->SetVisibility(bVisible ? 1 : 0);
- }
-}
-
void nmPebiResultWellAnnotationLayer::setWellNamesVisible(bool bVisible)
{
Q_ASSERT(isWellAnnotationGuiThread());
@@ -231,19 +221,14 @@ void nmPebiResultWellAnnotationLayer::setWellNamesVisible(bool bVisible)
return;
}
m_bWellNamesVisible = bVisible;
- if(m_pActiveNameGroup != nullptr) {
- m_pActiveNameGroup->SetVisibility(bVisible ? 1 : 0);
+ if(m_pActiveAnnotationGroup != nullptr) {
+ m_pActiveAnnotationGroup->SetVisibility(bVisible ? 1 : 0);
}
- if(m_pCandidateNameGroup != nullptr) {
- m_pCandidateNameGroup->SetVisibility(bVisible ? 1 : 0);
+ if(m_pCandidateAnnotationGroup != nullptr) {
+ m_pCandidateAnnotationGroup->SetVisibility(bVisible ? 1 : 0);
}
}
-bool nmPebiResultWellAnnotationLayer::areWellMarkersVisible() const
-{
- return m_bWellMarkersVisible;
-}
-
bool nmPebiResultWellAnnotationLayer::areWellNamesVisible() const
{
return m_bWellNamesVisible;
diff --git a/Src/nmNum/nmSubWxs/nmWxPebiResultViewWidget.cpp b/Src/nmNum/nmSubWxs/nmWxPebiResultViewWidget.cpp
index 80482dbc..b8aca4ac 100644
--- a/Src/nmNum/nmSubWxs/nmWxPebiResultViewWidget.cpp
+++ b/Src/nmNum/nmSubWxs/nmWxPebiResultViewWidget.cpp
@@ -58,7 +58,6 @@ nmWxPebiResultViewWidget::nmWxPebiResultViewWidget(
m_pStatusLabel(nullptr),
m_pScalarBarAction(nullptr),
m_pScaleGridAction(nullptr),
- m_pWellMarkersAction(nullptr),
m_pWellNamesAction(nullptr),
m_bObservedSnapshotCurrent(false),
m_bObservedStateValid(false),
@@ -173,7 +172,6 @@ void nmWxPebiResultViewWidget::appendContextMenuActions(QMenu* pMenu)
}
pMenu->addAction(m_pScalarBarAction);
pMenu->addAction(m_pScaleGridAction);
- pMenu->addAction(m_pWellMarkersAction);
pMenu->addAction(m_pWellNamesAction);
}
@@ -213,13 +211,6 @@ void nmWxPebiResultViewWidget::onScaleGridToggled(bool bVisible)
}
}
-void nmWxPebiResultViewWidget::onWellMarkersToggled(bool bVisible)
-{
- if(m_pSceneController != nullptr && m_pSceneController->hasSnapshot()) {
- m_pSceneController->setWellMarkersVisible(bVisible);
- }
-}
-
void nmWxPebiResultViewWidget::onWellNamesToggled(bool bVisible)
{
if(m_pSceneController != nullptr && m_pSceneController->hasSnapshot()) {
@@ -269,18 +260,14 @@ void nmWxPebiResultViewWidget::createUi()
m_pScaleGridAction = new QAction(
QIcon(resultViewIconPath("NmScaleGrid.png")),
tr("Scale Grid"), this);
- m_pWellMarkersAction = new QAction(
- QIcon(resultViewIconPath("NmWell.png")),
- tr("Well Markers"), this);
m_pWellNamesAction = new QAction(
QIcon(resultViewIconPath("NmShow.png")),
tr("Well Names"), this);
QAction* const pBusinessActions[] = {
- m_pScalarBarAction, m_pScaleGridAction,
- m_pWellMarkersAction, m_pWellNamesAction
+ m_pScalarBarAction, m_pScaleGridAction, m_pWellNamesAction
};
- for(int nIndex = 0; nIndex < 4; ++nIndex) {
+ for(int nIndex = 0; nIndex < 3; ++nIndex) {
pBusinessActions[nIndex]->setCheckable(true);
pBusinessActions[nIndex]->setToolTip(
pBusinessActions[nIndex]->text());
@@ -312,7 +299,7 @@ void nmWxPebiResultViewWidget::createUi()
if(pFrontAction != nullptr) m_pToolBar->addAction(pFrontAction);
if(pPickCenterAction != nullptr) m_pToolBar->addAction(pPickCenterAction);
m_pToolBar->addSeparator();
- for(int nIndex = 0; nIndex < 4; ++nIndex) {
+ for(int nIndex = 0; nIndex < 3; ++nIndex) {
m_pToolBar->addAction(pBusinessActions[nIndex]);
}
m_pToolBar->addSeparator();
@@ -323,8 +310,6 @@ void nmWxPebiResultViewWidget::createUi()
this, SLOT(onScalarBarToggled(bool)));
connect(m_pScaleGridAction, SIGNAL(toggled(bool)),
this, SLOT(onScaleGridToggled(bool)));
- connect(m_pWellMarkersAction, SIGNAL(toggled(bool)),
- this, SLOT(onWellMarkersToggled(bool)));
connect(m_pWellNamesAction, SIGNAL(toggled(bool)),
this, SLOT(onWellNamesToggled(bool)));
connect(m_pRenderContainer, SIGNAL(contextMenuAboutToShow(QMenu*)),
@@ -484,15 +469,12 @@ void nmWxPebiResultViewWidget::synchronizeBusinessActions()
m_pScalarBarAction, m_pSceneController->isScalarBarVisible());
setActionCheckedWithoutSignal(
m_pScaleGridAction, m_pSceneController->isScaleGridVisible());
- setActionCheckedWithoutSignal(
- m_pWellMarkersAction, m_pSceneController->areWellMarkersVisible());
setActionCheckedWithoutSignal(
m_pWellNamesAction, m_pSceneController->areWellNamesVisible());
const bool bEnabled = m_pSceneController->hasSnapshot();
m_pScalarBarAction->setEnabled(bEnabled);
m_pScaleGridAction->setEnabled(bEnabled);
- m_pWellMarkersAction->setEnabled(bEnabled);
m_pWellNamesAction->setEnabled(bEnabled);
}