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.

114 lines
3.3 KiB
C++

/**********************************************************************
* @file FITKCFDPostProbe.h
* @brief 后处理图像数据类
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-06
*********************************************************************/
#ifndef _FITKCFDPostProbe_H
#define _FITKCFDPostProbe_H
#include "FITKInterfaceCFDPostAPI.h"
#include "FITKAbstractCFDPostData.h"
#include "FITKCFDPostMacros.hxx"
class vtkProbeFilter;
class vtkUnstructuredGrid;
class vtkCell;
class vtkPolyData;
namespace Interface
{
/**
* @brief 后处理图像数据类
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-06
*/
class FITKInterfaceCFDPostAPI FITKCFDPostProbe :public FITKAbstractCFDPostData
{
public:
/**
* @brief 构造函数
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-06
*/
explicit FITKCFDPostProbe(int parentID);
/**
* @brief 析构函数
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-06
*/
virtual ~FITKCFDPostProbe();
/**
* @brief 获取后处理数据类型
* @return FITKPostDataType 后处理数据类型
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-14
*/
virtual FITKPostDataType getPostDataType();
/**
* @brief 获取数据
* @return vtkDataSet* 数据
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-07
*/
virtual vtkDataSet* getOutput();
/**
* @brief 获取数据
* @return vtkAlgorithmOutput* 算法
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-14
*/
virtual vtkAlgorithmOutput* getOutputPort();
/**
* @brief 插入点
* @param[i] point 点数据
* @return int 点ID
* @author BaGuijun (baguijun@163.com)
* @date 2024-10-17
*/
int insertPoint(double* point);
/**
* @brief 获取点的数量
* @return int 点的数量
* @author BaGuijun (baguijun@163.com)
* @date 2024-10-22
*/
int getPointCount();
/**
* @brief 获取所有的点
* @param[i] points 所有的点
* @author BaGuijun (baguijun@163.com)
* @date 2024-10-18
*/
void getPointAtInter(double* point,int index);
/**
* @brief 获取源数据
* @return vtkPolyData* 源数据
* @author BaGuijun (baguijun@163.com)
* @date 2024-10-18
*/
vtkPolyData* getPolyData();
/**
* @brief 重置清空
* @author BaGuijun (baguijun@163.com)
* @date 2024-10-18
*/
void reset();
private:
/**
* @brief 探针过滤器
* @author BaGuijun (baguijun@163.com)
* @date 2024-10-18
*/
vtkProbeFilter* _probeFilter = nullptr;
/**
* @brief 数据源
* @author BaGuijun (baguijun@163.com)
* @date 2024-10-18
*/
vtkPolyData* _polyData = nullptr;
};
}
#endif