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.
AppFlow/GUIWidget/PickedDataCalculator.h

90 lines
2.2 KiB
C

/*****************************************************************//**
* @file PickedDataCalculator.h
* @brief
*
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-07-19
*********************************************************************/
#ifndef __PICKEDDATACALCULATOR_H__
#define __PICKEDDATACALCULATOR_H__
#include <QObject>
#include "GUIWidgetAPI.h"
// GUI
#include "GUIPickInfo.h"
// 前置声明
class vtkCell;
class vtkIdList;
class vtkIntArray;
class vtkUnstructuredGrid;
namespace GraphData
{
class PickedData;
}
namespace GraphData
{
/**
* @brief
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-07-19
*/
class GUIWIDGETAPI PickedDataCalculator : public QObject
{
Q_OBJECT
public:
/**
* @brief
* @param pickedInfo
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-07-19
*/
PickedDataCalculator(GraphData::PickedData *pickedInfo);
/**
* @brief
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-07-19
*/
~PickedDataCalculator() = default;
/**
* @brief
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-07-19
*/
void calculate();
private:
/**
* @brief
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-07-19
*/
void individually();
/**
* @brief
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-07-19
*/
void byAreaPick();
private:
/**
* @brief
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-07-19
*/
GraphData::PickedData *m_pickedData{nullptr};
};
}
#endif // __PICKEDDATACALCULATOR_H__