|
|
/**********************************************************************
|
|
|
* @file PostGraphProperty.h
|
|
|
* @brief 后处理属性类
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
* @date 2024-09-09
|
|
|
*********************************************************************/
|
|
|
#ifndef _PostGraphProperty_H
|
|
|
#define _PostGraphProperty_H
|
|
|
|
|
|
#include <QObject>
|
|
|
#include "PostGraphAdaptorAPI.h"
|
|
|
|
|
|
#include "FITK_Interface/FITKInterfaceCFDPost/FITKAbstractCFDPostData.h"
|
|
|
|
|
|
#define SolidColor "Solid Color"
|
|
|
|
|
|
namespace Interface
|
|
|
{
|
|
|
class FITKAbstractCFDPostData;
|
|
|
class PostGraphObjectBase;
|
|
|
|
|
|
enum class FITKPostDisplayType {
|
|
|
Post_Point, //点
|
|
|
Post_Edge, //线
|
|
|
Post_Face, //面
|
|
|
Post_FaceWithEdge, //带线的面
|
|
|
};
|
|
|
/**
|
|
|
* @brief 后处理属性类
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
* @date 2024-09-09
|
|
|
*/
|
|
|
class PostGraphAdaptorAPI PostGraphProperty : public QObject
|
|
|
{
|
|
|
Q_OBJECT;
|
|
|
public:
|
|
|
/**
|
|
|
* @brief 构造函数
|
|
|
* @param[i] postData 后处理数据对象
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
* @date 2024-09-09
|
|
|
*/
|
|
|
PostGraphProperty(PostGraphObjectBase* postGraphObj, FITKAbstractCFDPostData* postData);
|
|
|
/**
|
|
|
* @brief 析构函数
|
|
|
* @return void
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
* @date 2024-09-09
|
|
|
*/
|
|
|
~PostGraphProperty();
|
|
|
/**
|
|
|
* @brief 设置当前场变量
|
|
|
* @param[i] type 类型(1:点 2:单元)
|
|
|
* @param[i] vaName 场变量名称
|
|
|
* @param[i] componentIndex
|
|
|
* @return void
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
* @date 2024-09-09
|
|
|
*/
|
|
|
void setCurrentField(FITKPostFieldType type, QString fieldName, int componentIndex = -1);
|
|
|
/**
|
|
|
* @brief 获取当前场信息
|
|
|
* @param[o] type 类型(1:点 2:单元)
|
|
|
* @param[o] filedName 场名称
|
|
|
* @param[o] componentIndex 索引
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
* @date 2024-09-10
|
|
|
*/
|
|
|
void getCurrentField(FITKPostFieldType& type, QString& filedName, int& componentIndex);
|
|
|
/**
|
|
|
* @brief 设置显示类型
|
|
|
* @param[i] type 显示类型
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
* @date 2024-09-10
|
|
|
*/
|
|
|
void setCurrentDisplayType(FITKPostDisplayType type);
|
|
|
/**
|
|
|
* @brief 获取当前显示类型
|
|
|
* @return FITKPostDisplayType 显示类型
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
* @date 2024-09-10
|
|
|
*/
|
|
|
FITKPostDisplayType getCurrentDisplayType();
|
|
|
/**
|
|
|
* @brief 显示/隐藏标量界面
|
|
|
* 与setScalarBarWidgetIsShow接口不同的是,调用该接口不会更改属性类中ScalarBarWidget是否显示的标签
|
|
|
* 只会显示/隐藏ScalarBarWidget
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
* @date 2024-09-11
|
|
|
*/
|
|
|
void hideScalarBarWidget();
|
|
|
void showScalarBarWidget();
|
|
|
/**
|
|
|
* @brief 是否显示标量界面(会记录标签)
|
|
|
* @param[i] isShow 是否显示
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
* @date 2024-09-11
|
|
|
*/
|
|
|
void setScalarBarWidgetIsShow(bool isShow);
|
|
|
/**
|
|
|
* @brief 获取标量界面是否显示(返回的是实际的ScalarBarWidget显示状态)
|
|
|
* @return bool 是否显示
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
* @date 2024-09-11
|
|
|
*/
|
|
|
bool getScalarBarWidgetOnOrOff();
|
|
|
/**
|
|
|
* @brief 获取标量界面是否显示(返回的是标签,而不是实际的ScalarBarWidget显示状态)
|
|
|
* @return bool 是否显示
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
* @date 2024-09-11
|
|
|
*/
|
|
|
bool getScalarBarWidgetIsShow();
|
|
|
/**
|
|
|
* @brief 设置不透明度
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
* @date 2024-09-13
|
|
|
*/
|
|
|
void setOpacity(double opacity);
|
|
|
/**
|
|
|
* @brief 获取不透明度
|
|
|
* @return double 不透明度
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
* @date 2024-09-13
|
|
|
*/
|
|
|
double getOpacity();
|
|
|
private:
|
|
|
/**
|
|
|
* @brief 后处理渲染数据
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
* @date 2024-09-12
|
|
|
*/
|
|
|
PostGraphObjectBase* _postGraphObj = nullptr;
|
|
|
/**
|
|
|
* @brief 后处理数据
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
* @date 2024-09-09
|
|
|
*/
|
|
|
FITKAbstractCFDPostData* _postData = nullptr;
|
|
|
|
|
|
FITKPostDisplayType _displayType = FITKPostDisplayType::Post_Face;
|
|
|
|
|
|
FITKPostFieldType _fieldType = FITKPostFieldType::Post_None;
|
|
|
/**
|
|
|
* @brief 当前场名称
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
* @date 2024-09-10
|
|
|
*/
|
|
|
QString _fieldName = SolidColor;
|
|
|
int _componentIndex = -1;
|
|
|
/**
|
|
|
* @brief 是否显示标量值界面
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
* @date 2024-09-11
|
|
|
*/
|
|
|
bool _isShowScalarBar = true;
|
|
|
};
|
|
|
}
|
|
|
|
|
|
#endif
|