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/FITKInterfaceHDF5AdaptorAss...

192 lines
6.1 KiB
C

/**
*
* @file FITKInterfaceHDF5AdaptorAssembly.h
* @brief HDF5ASSembly
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-05-31
*
*/
#ifndef _FITKINTERFACEHDF5ADAPTORASSEMBLY_H__
#define _FITKINTERFACEHDF5ADAPTORASSEMBLY_H__
#include "FITKInterfaceIOHDF5API.h"
#include "FITKAbstractHDF5Adaptor.h"
#include "FITK_Kernel/FITKAdaptor/FITKIOAdaptorFactory.h"
//前置声明
ForwardDeclarNS(Interface, FITKAssembly)
ForwardDeclarNS(Interface, FITKModelSet)
ForwardDeclarNS(Interface, FITKMeshSurface)
ForwardDeclarNS(Interface, FITKComponentManager)
ForwardDeclarNS(Interface, FITKAbstractAssInstance)
ForwardDeclarNS(Interface, FITKComponentManager)
namespace IO
{
/**
* @brief HDF5 Assembly
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-05-31
*/
class FITKINTERFACEHDF5IOAPI FITKInterfaceHDF5AdaptorAssembly : public FITKAbstractHDF5Adaptor
{
public:
explicit FITKInterfaceHDF5AdaptorAssembly() = default;
virtual ~FITKInterfaceHDF5AdaptorAssembly() = default;
/**
* @brief
* @return
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-05-31
*/
QString getAdaptorClass() override;
/**
* @brief
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-05-31
*/
bool adaptR() override;
/**
* @brief
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-05-31
*/
bool adaptW() override;
protected:
/**
* @brief
* @param assembly
* @param h5Group
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-06-19
*/
virtual bool readAssembly(Interface::FITKAssembly* assembly, H5::Group& h5Group);
/**
* @brief
* @param assembly
* @param h5Group
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-06-19
*/
virtual bool writeAssembly(Interface::FITKAssembly* assembly, H5::Group& h5Group);
private:
/**
* @brief
* @param setSurfManager
* @param h5Group
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-06-19
*/
bool readSetSurf(Interface::FITKComponentManager* setSurfManager, H5::Group& h5Group);
/**
* @brief
* @param set
* @param h5Group
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-06-19
*/
bool readSet(Interface::FITKModelSet * set, H5::Group& h5Group);
/**
* @brief
* @param surface
* @param h5Group
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-06-19
*/
bool readSurface(Interface::FITKMeshSurface* surface, H5::Group& h5Group);
/**
* @brief
* @param h5Group
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-06-19
*/
bool readInstance(H5::Group& h5Group);
/**
* @brief
* @param surface
* @param h5Group
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-06-19
*/
bool readInstanceTR(Interface::FITKAbstractAssInstance* assInstance, H5::Group& h5Group);
bool readInstanceM4(Interface::FITKAbstractAssInstance* assInstance, H5::Group& h5Group);
bool writeSet(Interface::FITKModelSet * set, H5::Group& h5Group);
/**
* @brief
* @param surface
* @param h5Group
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-06-19
*/
bool writeSurface(Interface::FITKMeshSurface* surface, H5::Group& h5Group);
/**
* @brief
* @param setSurfManager
* @param h5Group
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-06-19
*/
bool writeSetSurf(Interface::FITKComponentManager* setSurfManager, H5::Group& h5Group);
/**
* @brief
* @param assInstance
* @param h5Group
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-06-19
*/
bool writeInstance(Interface::FITKAbstractAssInstance* assInstance, H5::Group& h5Group);
/**
* @brief
* @param assInstance
* @param h5Group
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-06-19
*/
bool writeInstanceTR(Interface::FITKAbstractAssInstance* assInstance, H5::Group& h5Group);
/**
* @brief
* @param assInstance
* @param h5Group
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-06-19
*/
bool writeInstanceM4(Interface::FITKAbstractAssInstance* assInstance, H5::Group& h5Group);
};
Register2FITKIOAdaptorFactory(HDF5, Interface::FITKAssembly, FITKInterfaceHDF5AdaptorAssembly)
}
#endif