91 lines
3.2 KiB
C++
91 lines
3.2 KiB
C++
|
|
#ifndef LOGMUDITEMDRAWER_H_
|
|
#define LOGMUDITEMDRAWER_H_
|
|
|
|
#include <QPainter>
|
|
#include "LogmudResultItem.h"
|
|
|
|
class LogmudItemDrawer
|
|
{
|
|
public:
|
|
LogmudItemDrawer();
|
|
|
|
enum AxisType
|
|
{
|
|
AXIS_LINEAR = 0,//线性坐标系
|
|
AXIS_LOGARITHMIC = 1,//对数坐标系
|
|
AXIS_DIP = 2, //倾角坐标系
|
|
};
|
|
/**
|
|
* @brief 绘制每一个井壁取心分段的方法
|
|
* @param painter 绘制设备
|
|
* @param item 离散分段数据
|
|
* @param state
|
|
* @param itemBouding
|
|
* @param reasonableRect
|
|
* @param IsWellSectonHorizonLayout
|
|
*/
|
|
virtual QPointF DrawItem(QPainter* painter, LogmudResultItem* item,
|
|
const QRectF& rt,
|
|
bool IsWellSectonHorizonLayout) const;
|
|
private:
|
|
// LogmudItemDrawer.h 中添加的函数声明
|
|
void DrawXAxisLogarithmicGrid(QPainter* painter, float timemin, float timemax,
|
|
float dd, float w, float h, QRectF rt, QPointF pt,
|
|
QFontMetrics& fm, float& lscalelen) const;
|
|
|
|
void DrawXAxisLinearGrid(QPainter* painter, float timemin, float timemax,
|
|
float dd, float len, float h, QRectF rt, QPointF pt,
|
|
QPointF pt1, QFontMetrics& fm, int fnum) const;
|
|
|
|
void DrawYAxisLogarithmicGrid(QPainter* painter, float minVal, float maxVal,
|
|
float dd, float len, float h, QRectF rt, QPointF pt,
|
|
QFontMetrics& fm, float& lscalelen) const;
|
|
|
|
void DrawYAxisLinearGrid(QPainter* painter, float minVal, float maxVal,
|
|
float dd, float len, float h, QRectF rt, QPointF pt,
|
|
QFontMetrics& fm, float& lscalelen, int fnum) const;
|
|
|
|
void DrawDepthAndAxisLabels(QPainter* painter, float depth, float dd, float w, float h,
|
|
QRectF rt, QPointF pt, QFontMetrics& fm,
|
|
float lscalelen,
|
|
const QString& xAxisTitle = "", const QString& yAxisTitle = "") const;
|
|
|
|
void DrawDataPoint(QPainter* painter, float wh, float bh, float timemin, float timemax,
|
|
float minVal, float maxVal, float dd, float len, float h,
|
|
QRectF rt, QPointF pt1, int logarithmic) const;
|
|
private:
|
|
ViewInfoLogmud *m_pViewInfoLogmud;
|
|
QString cclimgpath;
|
|
QBrush SHOTImg;
|
|
QMap<QString,QString> zoneOrder;
|
|
|
|
bool m_bisHi = true;
|
|
bool m_isOneScale = true;
|
|
|
|
float m_fHei = 4;// m_pViewInfoLogmud->GetrHeight();
|
|
float m_fTimemin = 0;// m_pViewInfoLogmud->GetTimeMin();// 获取时间最小值
|
|
float m_fTimemax = 120;// m_pViewInfoLogmud->GetTimeMax();// 获取时间最大值
|
|
int m_nLogarithmic = 0;
|
|
float m_LeftVal = 0;
|
|
float m_RightVal = 139.7f;
|
|
|
|
int m_nTLogarithmic = 0;
|
|
int m_xGrid = 5;
|
|
int m_yGrid = 5;
|
|
|
|
int m_isBottom = 1;
|
|
QString m_CurveName = "伽马(API)";
|
|
QString m_TimeName = "时间(μs)";
|
|
|
|
QColor m_Color = Qt::black;
|
|
QColor m_CGrid = Qt::black;
|
|
/**
|
|
*@brief 岩性图片容器
|
|
*/
|
|
};
|
|
|
|
|
|
|
|
#endif
|