logplus/logPlus/formimage.h

115 lines
2.5 KiB
C++

#ifndef FormImage_H
#define FormImage_H
#include <QWidget>
#include <QVariant>
#include <QSharedMemory>
#include "BaseFun.h"
#include "MemRdWt.h"
#pragma execution_character_set("utf-8")
namespace Ui {
class FormImage;
}
class FormTrack;
class FormInfo;
class FormImage : public QWidget
{
Q_OBJECT
public:
explicit FormImage(QWidget *parent = nullptr, QString strSlfName = "", QString strWellName = "", QString strTrackName = "", QString strLineName = "");
~FormImage();
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();
// 改变色板
void setSchemIndex(int nidx);
private:
Ui::FormImage *ui;
protected:
void paintEvent(QPaintEvent *event);
virtual void wheelEvent(QWheelEvent *event);
void DrawImage(QPainter* pdc, QRectF mrt);
void DrawImage3D(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;
QList<QRgb> m_rgbList;
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;
// 黑白图
bool m_bBlack = false;
public:
//void DrawWave(QPainter* pdc, QRectF mrt1);
public slots:
void s_ResizeDepth(QString strUuid, int nHeight, float fDepthLowerY);
// 黑白图
void s_changeBlack(QString strUuid, bool bBlack);
//滚动条
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 // FormImage_H