feat/vtk-3d-view #7
|
|
@ -72,7 +72,7 @@ private:
|
||||||
std::set<long long> inFlight_; // 在途瓦片(续到起伏/平面最终落地)
|
std::set<long long> inFlight_; // 在途瓦片(续到起伏/平面最终落地)
|
||||||
std::map<long long, QImage> demCache_; // DEM 块缓存(key=DEMz/x/y),跨隐藏/重选复用
|
std::map<long long, QImage> demCache_; // DEM 块缓存(key=DEMz/x/y),跨隐藏/重选复用
|
||||||
std::map<long long, vtkSmartPointer<vtkTexture>> texCache_; // 影像纹理缓存,重选/缩放回看免重拉
|
std::map<long long, vtkSmartPointer<vtkTexture>> texCache_; // 影像纹理缓存,重选/缩放回看免重拉
|
||||||
double ve_ = 2.0; // 地形垂向夸张(与剖面 verticalExaggeration 一致才对齐)
|
double ve_ = 1.0; // 地形垂向夸张(与剖面 verticalExaggeration 一致才对齐)
|
||||||
// 四叉树当前帧相机参数(refresh 写, refineTile 读):相机位置 + 投影系数 + 视锥 6 面。
|
// 四叉树当前帧相机参数(refresh 写, refineTile 读):相机位置 + 投影系数 + 视锥 6 面。
|
||||||
double camX_ = 0, camY_ = 0, camZ_ = 0;
|
double camX_ = 0, camY_ = 0, camZ_ = 0;
|
||||||
double projK_ = 1.0;
|
double projK_ = 1.0;
|
||||||
|
|
|
||||||
|
|
@ -76,7 +76,7 @@ private:
|
||||||
vtkRenderWindow* renderWindow_;
|
vtkRenderWindow* renderWindow_;
|
||||||
std::shared_ptr<geopro::core::GeoLocalFrame> frame_;
|
std::shared_ptr<geopro::core::GeoLocalFrame> frame_;
|
||||||
double zRefElev_;
|
double zRefElev_;
|
||||||
double verticalExaggeration_ = 2.0;
|
double verticalExaggeration_ = 1.0;
|
||||||
// 是否已按真实剖面 lat/lon 重锚 frame 原点(每次 clear 重置):默认原点取自样本、可能离真实数据
|
// 是否已按真实剖面 lat/lon 重锚 frame 原点(每次 clear 重置):默认原点取自样本、可能离真实数据
|
||||||
// 很远→局部坐标巨大、轴刻度无意义;首个带经纬剖面到达时重锚到其中心,同选择内多剖面共用配准。
|
// 很远→局部坐标巨大、轴刻度无意义;首个带经纬剖面到达时重锚到其中心,同选择内多剖面共用配准。
|
||||||
bool frameAnchoredToData_ = false;
|
bool frameAnchoredToData_ = false;
|
||||||
|
|
|
||||||
|
|
@ -215,7 +215,7 @@ double median(std::vector<double> v)
|
||||||
// 纵向夸张倍数(Z 基准统一,M-3):全项目共用同一倍数,使 帘面(z) / 体素 / 切片 /
|
// 纵向夸张倍数(Z 基准统一,M-3):全项目共用同一倍数,使 帘面(z) / 体素 / 切片 /
|
||||||
// 数据详情剖面(y) / 地形(relief) 的纵向比例一致——避免「剖面×1.5、帘面×3」不一致。
|
// 数据详情剖面(y) / 地形(relief) 的纵向比例一致——避免「剖面×1.5、帘面×3」不一致。
|
||||||
// 单一可调常量:要整体调纵向观感改这一处即可。
|
// 单一可调常量:要整体调纵向观感改这一处即可。
|
||||||
constexpr double kVerticalExaggeration = 2.0;
|
constexpr double kVerticalExaggeration = 1.0;
|
||||||
|
|
||||||
// 项目 CRS(实证确定,STATUS §4):散点 projX/Y→经纬→GeoLocalFrame 配准体素到世界系。
|
// 项目 CRS(实证确定,STATUS §4):散点 projX/Y→经纬→GeoLocalFrame 配准体素到世界系。
|
||||||
constexpr const char* kProjectCrs = "EPSG:4547"; // CGCS2000 / 3-degree GK CM 114E
|
constexpr const char* kProjectCrs = "EPSG:4547"; // CGCS2000 / 3-degree GK CM 114E
|
||||||
|
|
|
||||||
|
|
@ -60,8 +60,8 @@ Column3DDataset::Column3DDataset(QWidget* parent) : QWidget(parent) {
|
||||||
auto* slider = new QSlider(Qt::Horizontal);
|
auto* slider = new QSlider(Qt::Horizontal);
|
||||||
slider->setMinimum(1);
|
slider->setMinimum(1);
|
||||||
slider->setMaximum(10);
|
slider->setMaximum(10);
|
||||||
slider->setValue(2);
|
slider->setValue(1);
|
||||||
auto* val = new QLabel(QStringLiteral("2.0×"));
|
auto* val = new QLabel(QStringLiteral("1.0×"));
|
||||||
connect(slider, &QSlider::valueChanged, this, [this, val](int v) {
|
connect(slider, &QSlider::valueChanged, this, [this, val](int v) {
|
||||||
val->setText(QStringLiteral("%1.0×").arg(v));
|
val->setText(QStringLiteral("%1.0×").arg(v));
|
||||||
emit verticalExaggerationChanged(static_cast<double>(v));
|
emit verticalExaggerationChanged(static_cast<double>(v));
|
||||||
|
|
|
||||||
|
|
@ -69,7 +69,7 @@ private:
|
||||||
bool showCurtain_ = true;
|
bool showCurtain_ = true;
|
||||||
bool showVoxel_ = false;
|
bool showVoxel_ = false;
|
||||||
bool showTerrain_ = false;
|
bool showTerrain_ = false;
|
||||||
double verticalExaggeration_ = 2.0;
|
double verticalExaggeration_ = 1.0;
|
||||||
|
|
||||||
// 坐标轴设置(P2):默认标准 + 米;字号固定 12(字体设置待 1.0 确认)。
|
// 坐标轴设置(P2):默认标准 + 米;字号固定 12(字体设置待 1.0 确认)。
|
||||||
AxesMode axesMode_ = AxesMode::Standard;
|
AxesMode axesMode_ = AxesMode::Standard;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue