You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nmWATI/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyBase.h

55 lines
1.3 KiB
C++

#pragma once
#include "ZxObjLine.h"
#include "mGuiPlot_global.h"
#include "iBdyInfo.h"
class ZxObjBdyPoint;
//边界线基类
class M_GUI_PLOT_EXPORT ZxObjBdyBase : public ZxObjLine
{
Q_OBJECT
ZX_DECLARE_DYNAMIC
public:
ZxObjBdyBase();
ZxObjBdyBase(const QString& sName,
ZxSubAxisX* pAxisX,
ZxSubAxisY* pAxisY);
~ZxObjBdyBase();
public:
//设置参数
void setBdyParams(VecBdyInfos vecBdyInfos);
//初始化
virtual void initObj();
// 击中
virtual bool hitTest(const QPointF& pt);
//属性
virtual void fillPtyPano(IxPtyPano* sheet);
//移动后设置线的位置
virtual void resetBdyParam();
//得到默认长度的距离
double getDefaultXVal(); //具体数值
double getDefaultYVal(); //具体数值
//根据一个点计算出两个点(取坐标轴的最大值一半)(pt1和pt2)是已经知道的点
//pt3是求解的点且靠经p2点
QPointF getLineExtendPt(QPointF pt1, QPointF pt2);
//绘制延长线
void paintExtendLine(QPainter* painter, QPointF pt1, QPointF pt2);
//返回数据
VecVariant getBdyDistances();
VecVariant getBdyTypes();
protected:
//得到井段的起始深度点
ZxObjBdyPoint* getBdyPtObj();
protected:
//边界参数
VecBdyInfos m_vecBdyInfos;
};