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/OperatorsGUI/OperGraphEvent3D.h

83 lines
2.3 KiB
C++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/*****************************************************************//**
* @file OperGraphEvent3D.h
* @brief 三维可视化事件操作器抽象类。
*
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-06-12
*********************************************************************/
#ifndef __OPERGRAPHEVENT3D_H__
#define __OPERGRAPHEVENT3D_H__
#include "OperatorsInterface/GraphEventOperator.h"
// 前置声明
namespace Comp
{
class FITKGraph3DWindowVTK;
}
namespace Exchange
{
class FITKFluidVTKGraphObject3D;
}
namespace GUIOper
{
/**
* @brief 可视化事件操作器。
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-06-12
*/
class OperGraphEvent3D : public EventOper::GraphEventOperator
{
Q_OBJECT
protected:
/**
* @brief 构造函数。
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-06-12
*/
explicit OperGraphEvent3D() = default;
/**
* @brief 析构函数。[虚函数]
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-06-12
*/
virtual ~OperGraphEvent3D() = default;
/**
* @brief 获取三维可视化窗口。
* @return 可视化窗口
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-06-12
*/
Comp::FITKGraph3DWindowVTK* getGraphWidget();
/**
* @brief 添加可视化对象至三维窗口。
* @param obj可视化对象
* @param graphWidget三维窗口
* @param fitView是否重置视角[缺省]
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-06-12
*/
void addGraphObjectToWidget(Exchange::FITKFluidVTKGraphObject3D* obj, Comp::FITKGraph3DWindowVTK* graphWidget, bool fitView = false);
/**
* @brief 通过数据对象ID获取可视化对象。没有则创建
* @param dataObjId数据对象ID
* @return 可视化对象列表
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-07-30
*/
QList<Exchange::FITKFluidVTKGraphObject3D*> getGraphObjectsByDataId(int dataObjId);
};
} // namespace GUIOper
#endif // __OPERGRAPHEVENT3D_H__