/********************************************************************** * @file PickedData.h * @brief 拾取数据类 * @author BaGuijun (baguijun@163.com) * @date 2024-10-21 *********************************************************************/ #ifndef __PICKEDDATA_H__ #define __PICKEDDATA_H__ #include #include "GUIWidgetAPI.h" class vtkPolyData; class vtkUnstructuredGrid; namespace Interface { class PostGraphObjectPick; } namespace GraphData { /** * @brief 拾取数据类 * @author BaGuijun (baguijun@163.com) * @date 2024-10-21 */ class GUIWidgetAPI PickedData : public QObject { Q_OBJECT public: /** * @brief 构造函数 * @author BaGuijun (baguijun@163.com) * @date 2024-10-23 */ PickedData(); /** * @brief 析构函数 * @author BaGuijun (baguijun@163.com) * @date 2024-10-23 */ ~PickedData(); /** * @brief 插入点ID * @param[i] pointID 点ID * @author BaGuijun (baguijun@163.com) * @date 2024-10-23 */ void insertPointID(int pointID); /** * @brief 获取所有的点id * @return QList 所有的点id * @author BaGuijun (baguijun@163.com) * @date 2024-10-23 */ QList getPointIDs(); /** * @brief 插入单元id * @param[i] cellID 单元id * @author BaGuijun (baguijun@163.com) * @date 2024-10-23 */ void insertCellID(int cellID); /** * @brief 获取所有的单元id * @return QList 单元id * @author BaGuijun (baguijun@163.com) * @date 2024-10-23 */ QList getCellIDs(); /** * @brief 获取VTK数据 * @return vtkUnstructuredGrid* VTK数据 * @author BaGuijun (baguijun@163.com) * @date 2024-10-23 */ vtkUnstructuredGrid* getGrid(); /** * @brief 获取渲染数据对象 * @return Interface::PostGraphObjectPick* 渲染数据对象 * @author BaGuijun (baguijun@163.com) * @date 2024-10-23 */ Interface::PostGraphObjectPick* getGraphPickObject(); /** * @brief 清空 * @author BaGuijun (baguijun@163.com) * @date 2024-10-23 */ void clear(); private: /** * @brief VTK数据(用于传递VTK数据至可视化) * @author BaGuijun (baguijun@163.com) * @date 2024-10-23 */ vtkUnstructuredGrid* _resultGrid = nullptr; /** * @brief 可视化数据 * @author BaGuijun (baguijun@163.com) * @date 2024-10-23 */ Interface::PostGraphObjectPick* _graphPick = nullptr; /** * @brief 点ID(原始数据中的ID) * @author BaGuijun (baguijun@163.com) * @date 2024-10-23 */ QList _pointsID = {}; /** * @brief 单元ID(原始数据中的ID) * @author BaGuijun (baguijun@163.com) * @date 2024-10-23 */ QList _cellsID = {}; }; } #endif // __PICKEDDATA_H__