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/FITK_Interface/FITKInterfaceFlowOF/FITKOFInitialConditions.h

110 lines
3.2 KiB
C++

/**********************************************************************
* @file FITKOFInitialConditions.h
* @brief initial Conitions数据对象
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-08-23
*********************************************************************/
#ifndef _FITK_OF_Initial_Conditions__H___
#define _FITK_OF_Initial_Conditions__H___
#include "FITKInterfaceFlowOFAPI.h"
#include "FITK_Kernel/FITKCore/FITKAbstractNDataObject.h"
#include "FITKOFEnum.hpp"
namespace Core
{
class FITKParameter;
}
namespace Interface
{
class FITKAbsGeoCommand;
/**
* @brief 几何补丁
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-09-03
*/
class FITKInterfaceFlowOFAPI FITKOFGeometryPatch
{
public:
explicit FITKOFGeometryPatch(int geoId, FITKOFSolverInitialEnum::FITKPatchApplyObjectType type);
virtual ~FITKOFGeometryPatch();
/**
* @brief 获取几何Id
* @return int
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-23
*/
int getGeometryId();
/**
* @brief 获取几何数据对象
* @return Interface::FITKAbsGeoCommand*
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-26
*/
Interface::FITKAbsGeoCommand* getGeometryModel();
/**
* @brief 获取参数
* @return Core::FITKParameter *
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-09-04
*/
Core::FITKParameter* getFieldPara();
/**
* @brief 获取类型
* @return FITKOFSolverInitialEnum::FITKPatchApplyObjectType
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-09-04
*/
FITKOFSolverInitialEnum::FITKPatchApplyObjectType getAppltTo();
private:
int _geometryId{ 0 };
Core::FITKParameter* _fieldPara{};
FITKOFSolverInitialEnum::FITKPatchApplyObjectType _applyType{ FITKOFSolverInitialEnum::FITKPatchApplyObjectType::Cells };
};
/**
* @brief 初始条件数据对象
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-09-03
*/
class FITKInterfaceFlowOFAPI FITKOFInitialConditions : public Core::FITKAbstractNDataObject
{
Q_OBJECT
FITKCLASS(Interface, FITKOFInitialConditions);
public:
explicit FITKOFInitialConditions();
virtual ~FITKOFInitialConditions();
/**
* @brief 获取基础初始化
* @return Core::FITKParameter *
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-09-03
*/
Core::FITKParameter* getBasicData();
int getPatchCount();
FITKOFGeometryPatch* getPatch(int index);
void removePatch(int index);
void appendPatch(FITKOFGeometryPatch* patch);
protected:
private:
/**
* @brief 基础初始化参数
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-09-03
*/
Core::FITKParameter* _basic{};
QList<FITKOFGeometryPatch*> _patchs{};
};
}
#endif