|
|
|
|
@ -43,10 +43,7 @@ nmPebiResultWellAnnotationLayer::nmPebiResultWellAnnotationLayer(
|
|
|
|
|
: nmVTKRenderLayer(sLayerId),
|
|
|
|
|
m_pRootAssembly(vtkSmartPointer<vtkPropAssembly>::New()),
|
|
|
|
|
m_pActiveSnapshotAssembly(nullptr),
|
|
|
|
|
m_pActiveAnnotationGroup(nullptr),
|
|
|
|
|
m_pCandidateSnapshotAssembly(nullptr),
|
|
|
|
|
m_pCandidateAnnotationGroup(nullptr),
|
|
|
|
|
m_bWellNamesVisible(true)
|
|
|
|
|
m_pCandidateSnapshotAssembly(nullptr)
|
|
|
|
|
{
|
|
|
|
|
Q_ASSERT(isWellAnnotationGuiThread());
|
|
|
|
|
// setRenderProp 只在未挂载时可调用,因此根 Assembly 在构造时一次固定。
|
|
|
|
|
@ -167,19 +164,16 @@ bool nmPebiResultWellAnnotationLayer::prepareCandidate(
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pAnnotationGroup->SetVisibility(m_bWellNamesVisible ? 1 : 0);
|
|
|
|
|
pSnapshotAssembly->AddPart(pAnnotationGroup);
|
|
|
|
|
|
|
|
|
|
// 所有校验和 VTK 对象构造成功后才记录候选;活动子树仍未触碰。
|
|
|
|
|
m_pCandidateSnapshotAssembly = pSnapshotAssembly;
|
|
|
|
|
m_pCandidateAnnotationGroup = pAnnotationGroup;
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void nmPebiResultWellAnnotationLayer::discardCandidate()
|
|
|
|
|
{
|
|
|
|
|
Q_ASSERT(isWellAnnotationGuiThread());
|
|
|
|
|
m_pCandidateAnnotationGroup = nullptr;
|
|
|
|
|
m_pCandidateSnapshotAssembly = nullptr;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -192,7 +186,6 @@ void nmPebiResultWellAnnotationLayer::commitCandidate()
|
|
|
|
|
m_pRootAssembly->RemovePart(m_pActiveSnapshotAssembly);
|
|
|
|
|
}
|
|
|
|
|
m_pActiveSnapshotAssembly = m_pCandidateSnapshotAssembly;
|
|
|
|
|
m_pActiveAnnotationGroup = m_pCandidateAnnotationGroup;
|
|
|
|
|
m_pRootAssembly->AddPart(m_pActiveSnapshotAssembly);
|
|
|
|
|
discardCandidate();
|
|
|
|
|
}
|
|
|
|
|
@ -205,7 +198,6 @@ void nmPebiResultWellAnnotationLayer::clear()
|
|
|
|
|
m_pActiveSnapshotAssembly != nullptr) {
|
|
|
|
|
m_pRootAssembly->RemovePart(m_pActiveSnapshotAssembly);
|
|
|
|
|
}
|
|
|
|
|
m_pActiveAnnotationGroup = nullptr;
|
|
|
|
|
m_pActiveSnapshotAssembly = nullptr;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -213,23 +205,3 @@ bool nmPebiResultWellAnnotationLayer::hasActiveAnnotations() const
|
|
|
|
|
{
|
|
|
|
|
return m_pActiveSnapshotAssembly != nullptr;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void nmPebiResultWellAnnotationLayer::setWellNamesVisible(bool bVisible)
|
|
|
|
|
{
|
|
|
|
|
Q_ASSERT(isWellAnnotationGuiThread());
|
|
|
|
|
if(!isWellAnnotationGuiThread()) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
m_bWellNamesVisible = bVisible;
|
|
|
|
|
if(m_pActiveAnnotationGroup != nullptr) {
|
|
|
|
|
m_pActiveAnnotationGroup->SetVisibility(bVisible ? 1 : 0);
|
|
|
|
|
}
|
|
|
|
|
if(m_pCandidateAnnotationGroup != nullptr) {
|
|
|
|
|
m_pCandidateAnnotationGroup->SetVisibility(bVisible ? 1 : 0);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool nmPebiResultWellAnnotationLayer::areWellNamesVisible() const
|
|
|
|
|
{
|
|
|
|
|
return m_bWellNamesVisible;
|
|
|
|
|
}
|
|
|
|
|
|