You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nmWTAI-Platform/Include/nmNum/nmSubWxs/nmPebiGridViewDataBuilder.h

36 lines
1.2 KiB
C++

#ifndef NMPEBIGRIDVIEWDATABUILDER_H
#define NMPEBIGRIDVIEWDATABUILDER_H
#include "nmSubWxs_global.h"
#include <QString>
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