#ifndef LOGMUDITEMDRAWER_H_ #define LOGMUDITEMDRAWER_H_ #include #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 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