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/GUIDialog/GUIGeometryDialog/GeometryWidgetBase.h

122 lines
3.5 KiB
C

/**
*
* @file GeometryWidgetBase.h
* @brief
* @author BaGuijun (baguijun@163.com)
* @date 2024-08-14
*
*/
#ifndef GeometryWidgetBase_H_
#define GeometryWidgetBase_H_
#include "GUIGeometryDialogAPI.h"
#include "FITK_Kernel/FITKCore/FITKAbstractGUI.h"
namespace Interface {
class FITKAbsGeoCommand;
}
namespace EventOper {
class ParaWidgetInterfaceOperator;
}
namespace GUI
{
class MainWindow;
/**
* @brief
* @author BaGuijun (baguijun@163.com)
* @date 2024-08-14
*/
class GUIGeometryDialogAPI GeometryWidgetBase : public Core::FITKWidget
{
Q_OBJECT;
public:
/**
* @brief Construct a new Geometry Widget Base object
* @param[i] obj
* @param[i] oper
* @param[i] parent
* @author BaGuijun (baguijun@163.com)
* @date 2024-08-14
*/
GeometryWidgetBase(Interface::FITKAbsGeoCommand* obj, EventOper::ParaWidgetInterfaceOperator* oper, QWidget* parent = nullptr);
/**
* @brief Destroy the Geometry Widget Base object
* @author BaGuijun (baguijun@163.com)
* @date 2024-08-14
*/
virtual ~GeometryWidgetBase();
/**
* @brief Default
* @return QList<int> DefaultID
* @author BaGuijun (baguijun@163.com)
* @date 2024-08-31
*/
static QList<int> getDefaultFaceGroup(Interface::FITKAbsGeoCommand* geoObj);
/**
* @brief Default
* @author BaGuijun (baguijun@163.com)
* @date 2024-08-31
*/
static void createDefaultFaceGroup(Interface::FITKAbsGeoCommand* geoObj);
/**
* @brief
* @return Interface::FITKAbsGeoCommand*
* @author BaGuijun (baguijun@163.com)
* @date 2024-08-08
*/
Interface::FITKAbsGeoCommand* getCurrentGeoCommand();
protected:
/**
* @brief
* @param[i] event
* @author BaGuijun (baguijun@163.com)
* @date 2024-08-14
*/
void showEvent(QShowEvent *event) override;
/**
* @brief
* @param[i] event
* @author BaGuijun (baguijun@163.com)
* @date 2024-08-14
*/
void closeEvent(QCloseEvent* event) override;
/**
* @brief
* @param[i] geo
* @param[i] mesh
* @author BaGuijun (baguijun@163.com)
* @date 2024-08-14
*/
void transparency(bool geo = true, bool mesh = true);
/**
* @brief
* @author BaGuijun (baguijun@163.com)
* @date 2024-08-14
*/
void createMeshSizeGeo();
protected:
/**
* @brief
* @author BaGuijun (baguijun@163.com)
* @date 2024-08-14
*/
MainWindow* _mainWin = nullptr;
/**
* @brief
* @author BaGuijun (baguijun@163.com)
* @date 2024-08-14
*/
Interface::FITKAbsGeoCommand* _obj = nullptr;
/**
* @brief
* @author BaGuijun (baguijun@163.com)
* @date 2024-08-08
*/
EventOper::ParaWidgetInterfaceOperator* _oper = nullptr;
};
}
#endif