#pragma once #include #include "model/ColorScale.hpp" #include "model/Field.hpp" namespace geopro::core { class GeoLocalFrame; } namespace geopro::render { class Scene; } class vtkRenderer; class vtkRenderWindow; namespace geopro::app { // 中央视图模式:二维地图(测线红线俯视)/ 三维视图(断面墙)。 enum class ViewMode { Map2D, View3D }; // 一个待渲染剖面:grid(2D 测线 / 3D 帘面都用)+ colorScale(3D 帘面上色)。 struct SectionInput { geopro::core::Grid grid; geopro::core::ColorScale colorScale; }; // 中央场景重建(脱离对象树,按显式 sections 渲染): // 2D = 每个 section 的 buildSurveyLine;3D = 每个 section 的 buildCurtain(受 showCurtain)。 // 下一轮接真实 DS:构建 sections 后调用本函数即可,render 层零改动。 void rebuildCentralScene(geopro::render::Scene& scene, vtkRenderer* renderer, vtkRenderWindow* renderWindow, ViewMode mode, const std::vector& sections, bool showCurtain, const geopro::core::GeoLocalFrame& frame, double verticalExaggeration); } // namespace geopro::app