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/FITKInterfaceHDF5AdaptorSet.h

122 lines
3.3 KiB
C

/**
*
* @file FITKInterfaceHDF5AdaptorSet.h
* @brief HDF5Set
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-05-29
*
*/
#ifndef _FITKINTERFACEHDF5ADAPTORSET_H__
#define _FITKINTERFACEHDF5ADAPTORSET_H__
#include "FITKInterfaceIOHDF5API.h"
#include "FITKAbstractHDF5Adaptor.h"
#include "FITK_Kernel/FITKAdaptor/FITKIOAdaptorFactory.h"
//前置声明
ForwardDeclarNS(Interface, FITKModelSet)
ForwardDeclarNS(Interface, FITKComponentManager)
namespace IO
{
/**
* @brief HDF5 Set
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-05-29
*/
class FITKINTERFACEHDF5IOAPI FITKInterfaceHDF5AdaptorSet : public FITKAbstractHDF5Adaptor
{
public:
explicit FITKInterfaceHDF5AdaptorSet() = default;
virtual ~FITKInterfaceHDF5AdaptorSet() = default;
/**
* @brief
* @return
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-05-29
*/
QString getAdaptorClass() override;
/**
* @brief set
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-06-18
*/
void setCompomentManager(Interface::FITKComponentManager* compManager);
/**
* @brief
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-05-29
*/
bool adaptR() override;
/**
* @brief
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-05-29
*/
bool adaptW() override;
protected:
/**
* @brief
* @param set
* @param h5Group
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-05-30
*/
bool readSet(Interface::FITKModelSet* set, H5::Group& h5Group);
/**
* @brief
* @param set
* @param h5Group
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-05-30
*/
bool writeSet(Interface::FITKModelSet* set, H5::Group& h5Group);
protected:
/**
* @brief
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-05-29
*/
Interface::FITKComponentManager* _compManager{};
/**
* @brief Set NodeSet\ElementSet
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-05-29
*/
Interface::FITKModelSet* _setData{};
/**
* @brief instance
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-05-29
*/
QString instanceName;
/**
* @brief
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-05-29
*/
bool _isTrans{ false };
};
Register2FITKIOAdaptorFactory(HDF5, Interface::FITKModelSet, FITKInterfaceHDF5AdaptorSet)
} // namespace IO
#endif // _FITKABSTRACTHDF5ADAPTORSET_H__