logplus/ConvertorManager/include/InterIConvertor.h

188 lines
4.9 KiB
C
Raw Permalink Normal View History

2025-10-29 17:23:30 +08:00
/**
* @file InterIConvertor.h
* @brief
* @date 2014-10-10
* @author: ZhouWenfei
*/
#ifndef PAI_FRAME_INTERICONVERTOR_H__
#define PAI_FRAME_INTERICONVERTOR_H__
#pragma warning( push ,0)
#include <vector>
#include <QUuid>
#include <QFileInfo>
#include <QDir>
#include "CStringType.h"
#include "IConvertor.h"
#include "ConvertorExport.h"
#include "ObjectGenralFactory.h"
//#include "ObjWell.h"
//#include "ObjWelllog.h"
#include "DepthProgress.h"
#include "LogIO.h"
#pragma warning( pop )
BEGIN_OSGGRAPHICS_NAMESPACE;
//曲线关键信息结构体
struct WellCurve
{
int Curve_Num;
float Curve_Step;
float Curve_StartDepth;
float Curver_EndDepth;
int Curver_MaxDim;
};
class CONVERTOR_EXPORT InterIConvertor:public IConvertor
{
public:
InterIConvertor();
virtual ~InterIConvertor();
virtual bool Init();
/**
* @brief
* @param[in]filename
* @return if true support filename else not
*/
virtual bool IsSupport(const QString &filename);
virtual QVector<QString>GetSupportFileExtensions();
/**
* @brief 线
* @param[in]filename
* @return QVector<CObjWellLog*> file contains all welllog curve
*/
// virtual QList<CObjWellLog*> GetWellLogList(const QString &filename);
/**
* @brief
* @param[in]filename
* @return QString file content
*/
virtual QString GetFileContent( const QString &filename );
/**
*使
* @brief
* @param[FileName]FileName
* @param[Message]Message
* @param[CurveName]CurveName 线
* @param[_Curve]_Curve 线
* @return int 线
*/
virtual int ScanLogFile(char *FileName,char *Message,char **CurveName,char **CurveUnit,QList<QString>&DimCurvesList){return 0;};
/**
*使
* @brief 线
* @param[filename]filename
* @param[Depth]Depth
* @param[Property]Property 线
* @param[vMutiDimensionProperty]
* @return bool
*/
virtual bool Transfer(char *filename,float *&Depth,float **Property){return false;};
/**
* ScanDiskData 线
* @param FileName
* @param Message
* @param CurveName 线
* @param CurveUnit 线
* @return 线0-1
*/
virtual int ScanLogFile(char *FileName,char *Message,char **CurveName,char **CurveUnit){return 0;};
/**
* Tran 线
* @param vars xy坐标 \0
* @param outfile
* @param OutCurveNo 线-1线
* @param OutCurve 线
* @param strChineseName 线
* @param strUnit 线
* @return
*/
virtual bool Transfer(char *vars,char *outfile,int *OutCurveNo,char **OutCurve,char **strChineseName,char **strUnit,int dCurveNum){return false;};
vector<char *> &GetCurveNames()
{
return m_vCurverName;
}
vector<char *> &GetCurveUnits()
{
return m_vCurverUnit;
}
WellCurve & GetWellCurves()
{
return m_CurveData;
}
char * GetfileMessage()
{
return m_fileMessage;
}
public:
QString m_TableName;
WELL_DYNAMIC_INFO WellDynamicInfo;
Slf_FILE_MESSAGE FILE_MESSAGE;
WELL_STATIC_INFO WellStaticInfo;
//private:
/**
* @brief 线
* @param[in]strWellLogPath curvefile path
* @param[out]vWellLog file contains all wellog curves
*/
// void GetWellLogObjects( QList<CObjWellLog*> &vWellLog, QString strWellLogPath);
/**
* @brief 线
* @param[in]strWellLogPath curvefile path
* @param[out]vWellLog file contains all wellog curves
*/
// void GetWellLogMetas( QList<CObjWellLog*> &vWellLog, QString strWellLogPath);
/**
* @brief
* @param[in]wellInfo
* @param[in]filename
*/
void InitWellInfo(const QString &filename);
/**
* @brief
* @param[in]welllogRoundInfo
*/
void InitWelllogRoundInfo(QString FileName);
protected:
static QString GetfilePath(const char *FileName);
vector<char *>m_vCurverName;
vector<char *>m_vCurverUnit;//ww
char *m_fileMessage;
WellCurve m_CurveData;
int m_DepthLength;
// QList<CObjWellLog*>m_vWellLogCurve;
//多维曲线
QList<QString>m_DimCurvesList;
//多维曲线保存路径
QString m_DimCurvefilePath;
};
END_OSGGRAPHICS_NAMESPACE
using namespace pai::graphics;
#endif