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.

103 lines
3.1 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 FITKAbstractGlobalDataFactory.h
* @brief 声明全局数据创建器抽象类
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-02-29
*
*/
#ifndef __ABSTRACT_GOLBALDATAFACTORY_H__
#define __ABSTRACT_GOLBALDATAFACTORY_H__
#include "FITKAppFrameworkAPI.h"
#include "FITKGlobalData.h"
#include <QHash>
namespace Core
{
class FITKAbstractDataObject;
}
namespace AppFrame
{
class FITKGlobalData;
/**
* @brief 创建全局数据
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-02-29
*/
class FITKAppFrameworkAPI FITKAbstractGlobalDataFactory
{
public:
/**
* @brief Construct a new FITKAbstractGlobalDataFactory object
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-02-29
*/
explicit FITKAbstractGlobalDataFactory() = default;
/**
* @brief Destroy the FITKAbstractGlobalDataFactory object
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-02-29
*/
virtual ~FITKAbstractGlobalDataFactory() = 0;
/**
* @brief 执行创建操作,将数据存入全局数据对象
* @param[i] globalData 全局数据指针
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-02-29
*/
void createData(FITKGlobalData* globalData);
private:
/**
* @brief 创建全局网格,可以为空
* @return Core::FITKAbstractDataObject*
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-02-29
*/
virtual Core::FITKAbstractDataObject* createMeshData();
/**
* @brief 创建全局几何,可以为空
* @return Core::FITKAbstractDataObject*
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-02-29
*/
virtual Core::FITKAbstractDataObject* createGeoData();
/**
* @brief 创建全局物理数据,一般不为空
* @return Core::FITKAbstractDataObject*
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-02-29
*/
virtual Core::FITKAbstractDataObject* createPhysicsData();
/**
* @brief 创建后处理数据
* @return Core::FITKAbstractDataObject*
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-02-29
*/
virtual Core::FITKAbstractDataObject* createPostData();
// /**
// * @brief 创建软件运行时数据存储
// * @return Core::FITKAbstractDataObject*
// * @author LiBaojun (libaojunqd@foxmail.com)
// * @date 2024-02-29
// */
// virtual Core::FITKAbstractDataObject* createRunTimeSetting();
/**
* @brief 创建其他数据返回值哈希中的int至少为FITKGolbalData.h/FITKGlobalDT::GDTOther
* @return QHash< int,Core::FITKAbstractDataObject*>
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-02-29
*/
virtual QHash< int,Core::FITKAbstractDataObject*> createOtherData();
};
}
#endif