#ifndef NMPEBIGRIDVIEWDATABUILDER_H #define NMPEBIGRIDVIEWDATABUILDER_H #include "nmSubWxs_global.h" #include class nmDataAnalyzeManager; class nmPebiGridViewData; /** * @brief 在 GUI 线程把 nmData 对象转换成独立的网格预览数据。 * * Builder 只读取已经提交的 PEBI 网格、网格类型和输入版本,不保存 * DataManager、AnalysisCase 或其他业务对象指针,也不解释历史属性数组。 * 构建过程先完成全部校验,再一次性写入输出对象,失败时不会暴露半成品。 */ class NM_SUB_WXS_EXPORT nmPebiGridViewDataBuilder { public: /** * @param pDataManager 只在调用期间读取,不保存其指针。 * @param pViewData 成功时接收完整数据,失败时保持原值不变。 * @param pError 可选错误文字输出;进入函数后会先清空。 * @return 数据源、线程、网格类型、几何和版本均有效且提交成功时返回 true。 */ static bool build(nmDataAnalyzeManager* pDataManager, nmPebiGridViewData* pViewData, QString* pError = nullptr); private: nmPebiGridViewDataBuilder(); }; #endif // NMPEBIGRIDVIEWDATABUILDER_H