logplus/OSGDataModel/include/ObjWelllogWavefile.h
2026-01-29 16:57:06 +08:00

61 lines
1.7 KiB
C++

/**
* @file ObjWellLogWavefile.h
* @brief 测井多维曲线数据模型
* @date 2015-2-10
* @author: zhangjie
*/
#ifndef PAI_FRAME_OSGWELLLOGWAVEFILE_H
#define PAI_FRAME_OSGWELLLOGWAVEFILE_H
#pragma warning( push ,0)
#include <QUuid>
// #include "ObjectEvent.h"
#include "BaseObject.h"
#include "ObjWelllog.h"
#include "MemRdWt.h"
#include <QVector>
#pragma warning( pop )
BEGIN_OSGDATAMODEL_NAMESPACE;
class CObjWell;
class OSGDATAMODEL_EXPORT CObjWellLogWavefile: public CObjWellLog
{
Q_OBJECT
public:
CObjWellLogWavefile();
virtual ~CObjWellLogWavefile();
virtual QUuid GetTypeID()const;
virtual QString GetDescription();
virtual void GetValidMDProperty(PFLOATPROPERTY &vMD,PFLOATPROPERTY &vProperty,float sdep=0,float edep=7000 );
void SetisCorrDepth(bool IsCorrDepth);
void SetisCorrA1ZM(bool IsCorrA1ZM);
void SetArrayNum(int ArrayNum);
//从slf加载数据
virtual bool LoadFromSLF();
virtual bool SaveToSLF();
//数据变化后写入slf数据
// virtual bool SaveToSLF();
void SetData(int i,int j,float *buffer);//行列设置数据
double GetData(int i,int j,char *buffer);//行列取数据
void SetData(float dep,int j,float *buffer);//深度列设置数据
double GetData(float dep,int j,char *buffer);//深度列设置数据
void DepthAlign(char *mr,int num,int pad,int ToolType);
void AzmiuthCorrect(char *mr,int Row,int Col,char *p1az,Slf_CURVE &curveinfo,int shift0);
void HorizMirror(float *mr,int Row,int Col);
int m_ArrayNum;
Slf_WAVE waveinfo;
Slf_WAVE gaincurveinfo;
Slf_WAVE timecurveinfo;
bool isCorrDepth;
bool isCorrA1ZM;
QVector <double> valMin,valMax;
QSharedMemory m_GainSharedMemory;
QSharedMemory m_TimeSharedMemory;
};
using namespace pai::datamodel;
using namespace pai::ios::welllog;
END_OSGDATAMODEL_NAMESPACE
#endif