feat: 异常双击详情接入三级树(anomalyById→AnomalyPropertiesDialog)(Task11 Step4b)
This commit is contained in:
parent
7a41fb0f33
commit
cfd242c106
|
|
@ -750,6 +750,12 @@ void buildWorkbench(QMainWindow& window, geopro::data::LocalSampleRepository& re
|
|||
geopro::app::VolumePropertiesDialog dlg(name, info, &window);
|
||||
dlg.exec();
|
||||
}
|
||||
} else if (ddCode == QStringLiteral("dd_anomaly")) {
|
||||
geopro::core::Anomaly a;
|
||||
if (scene3dRepo->anomalyById(dsId.toStdString(), a)) {
|
||||
geopro::app::AnomalyPropertiesDialog dlg(a, &window);
|
||||
dlg.exec();
|
||||
}
|
||||
}
|
||||
});
|
||||
// O点位置/字体本期 stub(TODO P4:弹框)。
|
||||
|
|
|
|||
|
|
@ -325,6 +325,13 @@ bool Api3dRepository::isAnomalyDataset(const std::string& dsId) const {
|
|||
return anomalies_.find(dsId) != anomalies_.end();
|
||||
}
|
||||
|
||||
bool Api3dRepository::anomalyById(const std::string& anomalyId, geopro::core::Anomaly& out) const {
|
||||
const auto it = anomalies_.find(anomalyId);
|
||||
if (it == anomalies_.end()) return false;
|
||||
out = it->second.a;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool Api3dRepository::sliceSpec(const std::string& dsId, SliceSpec& out) const {
|
||||
auto it = slices_.find(dsId);
|
||||
if (it == slices_.end()) return false;
|
||||
|
|
|
|||
|
|
@ -69,6 +69,8 @@ public:
|
|||
bool isSliceDataset(const std::string& dsId) const;
|
||||
// 该 dsId 是否为异常(dd_anomaly)——勾选异常不进帘面/体素渲染勾选,显隐另管。
|
||||
bool isAnomalyDataset(const std::string& dsId) const;
|
||||
// 按 id 取异常(三级树双击详情用);不存在返回 false。
|
||||
bool anomalyById(const std::string& anomalyId, geopro::core::Anomaly& out) const;
|
||||
// 取回已保存切片位姿(还原渲染用);不存在返回 false。
|
||||
bool sliceSpec(const std::string& dsId, SliceSpec& out) const;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue