#ifndef NMVTKPLANARSCALEGRIDLAYER_H #define NMVTKPLANARSCALEGRIDLAYER_H #include "nmVTKRenderLayer.h" class nmVTKPlanarScaleGridLayerPrivate; /** * @brief 在世界坐标 XY 平面中显示比例网格、坐标轴和数值标签。 * * 图层只复制 X/Y 边界和所在平面的 Z 值,不引用业务网格。浅色底板、 * 背景比例线、坐标轴及刻度均使用世界坐标几何;数值标签由世界坐标 * 刻度点逐帧投影为屏幕 Overlay。绘制前根据相机所在平面侧别调整深度 * 顺序,但不管理相机,也不注册 Interactor 或 Camera Observer。 */ class NM_RENDER_EXPORT nmVTKPlanarScaleGridLayer : public nmVTKRenderLayer { public: explicit nmVTKPlanarScaleGridLayer(const QString& sLayerId); virtual ~nmVTKPlanarScaleGridLayer(); /** * @brief 设置真实 X/Y 边界和网格所在平面的 Z 值,不主动渲染。 * @return 参数均有限且 X/Y 范围严格递增时返回 true。 */ bool setBounds(double dXMinimum, double dXMaximum, double dYMinimum, double dYMaximum, double dPlaneZ); /** @brief 返回未经显示偏移处理的真实 X/Y 边界。 */ bool getBounds(double dBounds[4]) const; private: Q_DISABLE_COPY(nmVTKPlanarScaleGridLayer) nmVTKPlanarScaleGridLayerPrivate* m_pPrivate; }; #endif // NMVTKPLANARSCALEGRIDLAYER_H