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.
AppFlowPost/GUIDialog/ClipSliceWidgetPlane.h

120 lines
3.6 KiB
C++

/**********************************************************************
* @file ClipSliceWidgetPlane.h
* @brief 平面切割切片界面
* @author BaGuijun (baguijun@163.com)
* @date 2024-10-08
*********************************************************************/
#ifndef _ClipSliceWidgetPlane_H
#define _ClipSliceWidgetPlane_H
#include "ClipSliceWidgetBase.h"
namespace Ui{
class ClipSliceWidgetPlane;
}
namespace Interface {
class FITKAbstractCFDPostData;
class PostGraphWidgetPlane;
}
namespace GUI
{
/**
* @brief 平面切割切片界面
* @author BaGuijun (baguijun@163.com)
* @date 2024-10-08
*/
class ClipSliceWidgetPlane :public ClipSliceWidgetBase
{
Q_OBJECT;
public:
/**
* @brief 构造函数
* @param[i] parent 父对象
* @author BaGuijun (baguijun@163.com)
* @date 2024-10-08
*/
ClipSliceWidgetPlane(ClipSlice widgetType, int currentDataID, int parentDataID, QWidget* parent = nullptr);
/**
* @brief 析构函数
* @author BaGuijun (baguijun@163.com)
* @date 2024-10-08
*/
virtual ~ClipSliceWidgetPlane();
/**
* @brief 将界面数据填充至数据对象中
* @param[i] glyphData 数据对象
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-26
*/
virtual void getDataFromWidget(Interface::FITKAbstractCFDPostData* postData) override;
/**
* @brief 将数据对象中的数据填充至界面
* @param[i] glyphData 数据对象
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-26
*/
virtual void setDataToWidget(Interface::FITKAbstractCFDPostData* postParentData, Interface::FITKAbstractCFDPostData* postData) override;
protected:
/**
* @brief 显示事件
* @param[i] event 事件
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-19
*/
void showEvent(QShowEvent* event);
/**
* @brief 关闭事件
* @param[i] event 事件
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-19
*/
void closeEvent(QCloseEvent* event);
/**
* @brief 隐藏事件
* @param[i] event 事件
* @author BaGuijun (baguijun@163.com)
* @date 2024-10-08
*/
void hideEvent(QHideEvent *event);
private slots:
;
/**
* @brief vtkPlaneWidget修改事件
* @param[i] origin 原点
* @param[i] normal 轴向
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-18
*/
void slotVTKWidgetValueChange(double* origin, double* normal);
/**
* @brief 界面数据修改槽函数
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-26
*/
void slotDataChange();
private:
/**
* @brief vtk裁切界面
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-18
*/
Interface::PostGraphWidgetPlane* _planeWidget = nullptr;
/**
* @brief ui界面
* @author BaGuijun (baguijun@163.com)
* @date 2024-10-08
*/
Ui::ClipSliceWidgetPlane* _ui = nullptr;
/**
* @brief 父对象ID
* @author BaGuijun (baguijun@163.com)
* @date 2024-10-08
*/
int _parentDataID = -1;
};
}
#endif