logplus/logPlus/formwave.h

115 lines
2.7 KiB
C
Raw Normal View History

#ifndef FormWave_H
#define FormWave_H
#include <QWidget>
#include <QVariant>
#include <QSharedMemory>
#include "BaseFun.h"
#include "MemRdWt.h"
#pragma execution_character_set("utf-8")
namespace Ui {
class FormWave;
}
class FormTrack;
class FormInfo;
class FormWave : public QWidget
{
Q_OBJECT
public:
explicit FormWave(QWidget *parent = nullptr, QString strSlfName="", QString strWellName="", QString strTrackName="", QString strLineName="");
~FormWave();
void initGeometry(QString strUuid, int nscale, double fW, int nH);
void setDepthY(float fy1, float fy2);
//改变深度更新绘图
void updateDepthY(float fy1, float fy2);
bool LoadFromSLF_wave();
bool SaveToSLF_LogMud();
void changeColor(int nidx, int ncolorNum);
private:
Ui::FormWave *ui;
protected:
void paintEvent(QPaintEvent *event);
virtual void wheelEvent(QWheelEvent *event);
void DrawWave(QPainter* pdc, QRectF mrt);
double GetData(int i, int j, char *buffer);
double GetData(int repCode, char *buffer, int repLen = 0);
void SetData(int repCode, char *buffer, double yy);
bool IsFiniteNumber(float v)
{
return qIsFinite(v) != 0;
}
public:
QString m_strUuid;
QString m_strSlfName;
QString m_strWellName;
QString m_strTrackName;
QString m_strLineName;
QWidget *m_parent;
FormTrack *m_formTrack = NULL;
FormInfo* m_pInfo = NULL;
float m_iY1, m_iY2;
int m_iScale = 200;
double m_wellTop = 0.0;
double m_dTopDepth = 0.0;
QSharedMemory m_sharedMemory;
PFLOATPROPERTY m_vMD;
PFLOATPROPERTY m_vProperty;
MyDataTypeEnum vVdl;
Slf_WAVE waveinfo;
float m_SDep, m_EDep, m_Rlev;
float m_PlotSdep = 0.0f;
int m_nSamples; //每深度间隔的数据点
int m_PointNum;
QVector <double> valMin, valMax;
double m_TopDepth;
double m_BottomDepth;
QVector<float> selfcolorrank;
QColor m_Color[256]; //定义颜色数组
char m_strValue[200];
int CtrlCurve = 0;
int PickFlag = 0;
float m_fTopY = 0.0f;
float m_fDepthLowerY = 0.0f;
float m_fAddY = 29.0f;
int schemIndex = 1;
int colornum = 256;
public:
//void DrawWave(QPainter* pdc, QRectF mrt1);
public slots:
void s_ResizeDepth(QString strUuid, int nHeight, float fDepthLowerY);
//斜井三图一表
void s_ChangeTvdProperty(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName,
QString strGroup, QString strProperty, QVariant variant);
//滚动条
void vertScrollBarChanged(QString strUuid, double value, double low, double upper);
void vertScrollBarChanged_Print(QString strUuid, int iNum, int iHeightOfScreen);
void vertScrollBarChanged_setGeometry(QString strUuid, double value, double low, double upper, int ndepth);
};
#endif // FormWave_H