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/FITKInterfaceGeoIOHDF5/FITKInterfaceHDF5AdaptorDat...

234 lines
7.8 KiB
C

/*****************************************************************//**
*
* @file FITKInterfaceHDF5AdaptorDatum.h
* @brief HDF5 Adaptor Command
* @author fulipeng (flipengqd@yeah.net)
* @date 2024-09-14
*
*********************************************************************/
#ifndef __FITKINTERFACEHDF5ADAPTORDATUM_H__
#define __FITKINTERFACEHDF5ADAPTORDATUM_H__
#include "FITKInterfaceGeoIOHDF5API.h"
#include "FITKAbstractHDF5Adaptor.h"
#include "FITK_Kernel/FITKAdaptor/FITKIOAdaptorFactory.h"
ForwardDeclarNS(Core, FITKAbstractDataObject);
ForwardDeclarNS(Interface, FITKAbsGeoDatum);
ForwardDeclarNS(Interface, FITKAbsGeoReferencePlane);
ForwardDeclarNS(H5, H5File);
ForwardDeclarNS(H5, Group);
ForwardDeclarNS(H5, H5Object);
ForwardDeclarNS(H5, DataType);
namespace IO
{
/**
* @brief HDF5 Adaptor Command
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-14
*/
class FITKINTERFACEGEOIOHDF5API FITKInterfaceHDF5AdaptorDatum : public FITKAbstractHDF5Adaptor
{
public:
/**
* @brief Construct a new FITKInterfaceHDF5AdaptorDatum object
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-14
*/
explicit FITKInterfaceHDF5AdaptorDatum() = default;
virtual ~FITKInterfaceHDF5AdaptorDatum() = default;
/**
* @brief
* @return
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-14
*/
QString getAdaptorClass() override;
/**
* @brief
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-14
*/
bool adaptR() override;
/**
* @brief
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-14
*/
bool adaptW() override;
protected:
/**
* @brief
* @param datum
* @param h5Group
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-18
*/
virtual bool readDatumBase(Interface::FITKAbsGeoDatum* datum, H5::Group & h5Group);
/**
* @brief
* @param datum
* @param h5Group
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-18
*/
virtual bool writeDatumBase(Interface::FITKAbsGeoDatum* datum, H5::Group & h5Group);
/**
* @brief
* @param datum
* @param h5Group
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-18
*/
virtual bool readDatumPoint(Interface::FITKAbsGeoDatum* datum, H5::Group & h5Group);
/**
* @brief
* @param datum
* @param h5Group
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-18
*/
virtual bool writeDatumPoint(Interface::FITKAbsGeoDatum* datum, H5::Group & h5Group);
/**
* @brief 线
* @param datum
* @param h5Group
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-18
*/
virtual bool readDatumLine(Interface::FITKAbsGeoDatum* datum, H5::Group & h5Group);
/**
* @brief 线
* @param datum
* @param h5Group
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-18
*/
virtual bool writeDatumLine(Interface::FITKAbsGeoDatum* datum, H5::Group & h5Group);
/**
* @brief
* @param datum
* @param h5Group
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-18
*/
virtual bool readDatumPlane(Interface::FITKAbsGeoDatum* datum, H5::Group & h5Group);
/**
* @brief 线
* @param datum
* @param h5Group
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-18
*/
virtual bool writeDatumPlane(Interface::FITKAbsGeoDatum* datum, H5::Group & h5Group);
/**
* @brief 线
* @param datum
* @param h5Group
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-18
*/
virtual bool readDatumOffsetPlane(Interface::FITKAbsGeoDatum* datum, H5::Group & h5Group);
/**
* @brief 线
* @param datum
* @param h5Group
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-18
*/
virtual bool writeDatumOffsetPlane(Interface::FITKAbsGeoDatum* datum, H5::Group & h5Group);
/**
* @brief
* @param datum
* @param h5Group
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-18
*/
virtual bool readDatumThreePointsPlane(Interface::FITKAbsGeoDatum* datum, H5::Group & h5Group);
/**
* @brief
* @param datum
* @param h5Group
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-18
*/
virtual bool writeDatumThreePointsPlane(Interface::FITKAbsGeoDatum* datum, H5::Group & h5Group);
/**
* @brief
* @param datum
* @param h5Group
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-18
*/
virtual bool readDatumEquationPlane(Interface::FITKAbsGeoDatum* datum, H5::Group & h5Group);
/**
* @brief
* @param datum
* @param h5Group
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-18
*/
virtual bool writeDatumEquationPlane(Interface::FITKAbsGeoDatum* datum, H5::Group & h5Group);
/**
* @brief
* @param datum
* @param h5Group
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-18
*/
virtual bool readDatum(Interface::FITKAbsGeoDatum* datum, H5::Group & h5Group);
/**
* @brief
* @param datum
* @param h5Group
* @return true false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-18
*/
virtual bool writeDatum(Interface::FITKAbsGeoDatum* datum, H5::Group & h5Group);
};
Register2FITKIOAdaptorFactory(HDF5, Interface::FITKAbsGeoDatum, FITKInterfaceHDF5AdaptorDatum, 1)
Register2FITKIOAdaptorFactory(HDF5, Interface::FITKAbsGeoReferencePlane, FITKInterfaceHDF5AdaptorDatum, 2)
}
#endif