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/FITKInterfaceIOHDF5/FITKInterfaceHDF5AdaptorFil...

125 lines
3.7 KiB
C

/**
*
* @file FITKInterfaceHDF5AdaptorFiled.h
* @brief HDF5Filed
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-07-12
*
*/
#ifndef _FITKINTERFACEHDF5ADAPTORFILED_H__
#define _FITKINTERFACEHDF5ADAPTORFILED_H__
#include "FITKInterfaceIOHDF5API.h"
#include "FITKAbstractHDF5Adaptor.h"
#include "FITK_Kernel/FITKAdaptor/FITKIOAdaptorFactory.h"
//前置声明
ForwardDeclarNS(Interface, FITKAbstractFiled)
namespace IO
{
/**
* @brief HDF5 Filed
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-07-12
*/
class FITKINTERFACEHDF5IOAPI FITKInterfaceHDF5AdaptorFiled : public FITKAbstractHDF5Adaptor
{
public:
explicit FITKInterfaceHDF5AdaptorFiled() = default;
virtual ~FITKInterfaceHDF5AdaptorFiled() = default;
/**
* @brief
* @return
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-07-12
*/
QString getAdaptorClass() override;
/**
* @brief
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-07-12
*/
bool adaptR() override;
/**
* @brief
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-07-12
*/
bool adaptW() override;
/**
* @brief
* @param filed
* @param h5Group
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-07-12
*/
bool readFiled(Interface::FITKAbstractFiled* filed, H5::Group & h5Group);
/**
* @brief
* @param filed
* @param h5Group
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-07-12
*/
bool writeFiled(Interface::FITKAbstractFiled* filed, H5::Group & h5Group);
private:
/**
* @brief
* @param filed
* @param h5Group
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-07-12
*/
bool readAnalyticalExpressField(Interface::FITKAbstractFiled* filed, H5::Group & h5Group);
/**
* @brief
* @param filed
* @param h5Group
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-07-12
*/
bool writeAnalyticalExpressField(Interface::FITKAbstractFiled* filed, H5::Group & h5Group);
/**
* @brief
* @param filed
* @param h5Group
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-07-12
*/
bool readDiscreteFiled(Interface::FITKAbstractFiled* filed, H5::Group & h5Group);
/**
* @brief
* @param filed
* @param h5Group
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-07-12
*/
bool writeDiscreteFiled(Interface::FITKAbstractFiled* filed, H5::Group & h5Group);
};
Register2FITKIOAdaptorFactory(HDF5, Interface::FITKAbstractFiled, FITKInterfaceHDF5AdaptorFiled)
}
#endif