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/nmPebiGridViewData.h

55 lines
2.0 KiB
C

#ifndef NMPEBIGRIDVIEWDATA_H
#define NMPEBIGRIDVIEWDATA_H
#include "nmSubWxs_global.h"
#include "nmGridDefine.h"
#include <vtkSmartPointer.h>
#include <vtkType.h>
class nmPebiGridViewDataBuilder;
class vtkUnstructuredGrid;
/**
* @brief PEBI
*
* VTK vtkSmartPointer DeepCopy
* nmDataAnalyzeManager QObject
* VTK
*
*
* Builder 使
*
*/
class NM_SUB_WXS_EXPORT nmPebiGridViewData
{
public:
/** @brief 创建不持有网格的空预览数据。 */
nmPebiGridViewData();
/** @brief 释放共享网格并清空与该版本对应的预览元数据。 */
void clear();
/** @brief 网格、点和单元均存在时返回 true。 */
bool isValid() const;
/** @brief 返回共享网格的非所有权指针。 */
vtkUnstructuredGrid* getGrid() const;
/** @brief 返回已提交网格类型;当前 Builder 只接受 PEBI。 */
NM_Grid_Type getGridType() const;
/** @brief 返回生成当前网格时对应的输入版本。 */
quint64 getGridInputRevision() const;
/** @brief 返回最终 VTK 网格中的有效单元数量。 */
vtkIdType getValidCellCount() const;
private:
friend class nmPebiGridViewDataBuilder; ///< 仅 Builder 可提交完整候选数据。
vtkSmartPointer<vtkUnstructuredGrid> m_pGrid; ///< 共享已提交网格的 VTK 引用。
NM_Grid_Type m_eGridType; ///< 与共享网格对应的业务网格类型。
quint64 m_nGridInputRevision; ///< 构建该网格所使用的输入版本。
vtkIdType m_nValidCellCount; ///< 经过业务过滤后实际进入 VTK 的单元数。
};
#endif // NMPEBIGRIDVIEWDATA_H