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.

120 lines
3.4 KiB
C

/**********************************************************************
* @file PickedData.h
* @brief
* @author BaGuijun (baguijun@163.com)
* @date 2024-10-21
*********************************************************************/
#ifndef __PICKEDDATA_H__
#define __PICKEDDATA_H__
#include <QObject>
#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<int> id
* @author BaGuijun (baguijun@163.com)
* @date 2024-10-23
*/
QList<int> getPointIDs();
/**
* @brief id
* @param[i] cellID id
* @author BaGuijun (baguijun@163.com)
* @date 2024-10-23
*/
void insertCellID(int cellID);
/**
* @brief id
* @return QList<int> id
* @author BaGuijun (baguijun@163.com)
* @date 2024-10-23
*/
QList<int> 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 VTKVTK
* @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 IDID
* @author BaGuijun (baguijun@163.com)
* @date 2024-10-23
*/
QList<int> _pointsID = {};
/**
* @brief IDID
* @author BaGuijun (baguijun@163.com)
* @date 2024-10-23
*/
QList<int> _cellsID = {};
};
}
#endif // __PICKEDDATA_H__