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.

119 lines
3.2 KiB
C++

/**********************************************************************
* @file FITKCFDPostGlyph.h
* @brief 后处理图像数据类
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-06
*********************************************************************/
#ifndef _FITKCFDPostGlyph_H
#define _FITKCFDPostGlyph_H
#include "FITKInterfaceCFDPostAPI.h"
#include "FITKAbstractCFDPostData.h"
#include "FITKCFDPostMacros.hxx"
namespace Interface
{
class FITKAlgGlyph;
/**
* @brief 后处理图像数据类
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-06
*/
class FITKInterfaceCFDPostAPI FITKCFDPostGlyph :public FITKAbstractCFDPostData
{
/*
*brief 矢量名称
*/
AddProperty(QString, vectorName);
/*
*brief 箭头维度
*/
AddProperty(int, tipResolution, 6);
/*
*brief 箭头半径
*/
AddProperty(double, tipRadius, 0.2);
/*
*brief 箭头长度
*/
AddProperty(double, tipLength, 0.1);
/*
*brief 箭柄维度
*/
AddProperty(int, shaftResolution, 6);
/*
*brief 箭柄半径
*/
AddProperty(double, shaftRadius, 0.1);
/*
*brief 箭头缩放比例
*/
AddProperty(double, scaleFactor, 0.01);
/*
*brief 使用点数据
*/
AddProperty(bool, pointDataUsed, true);
/*
*brief 点的数量
*/
AddProperty(int, pointNum, 0);
/*
*brief 最大采样点
*/
AddProperty(int, maxNumber, 100000);
/*
*brief 箭头比例模式:0-scalar,1-vector,2-vectorcomponent,3-off
*/
AddProperty(int, scaleMode, 1);
public:
/**
* @brief 构造函数
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-06
*/
explicit FITKCFDPostGlyph(int parentID);
/**
* @brief 析构函数
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-06
*/
virtual ~FITKCFDPostGlyph();
/**
* @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 更新
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-06
*/
virtual void update() override;
private:
/**
* @brief 图像算法数据对象
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-24
*/
FITKAlgGlyph* _glyphAlg = nullptr;
};
}
#endif