|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "nmObjPoint.h"
|
|
|
|
|
#include "nmDefines.h"
|
|
|
|
|
#include "nmPlot_global.h"
|
|
|
|
|
#include "ZxDataWell.h"
|
|
|
|
|
|
|
|
|
|
// 数值试井绘图对象(点)
|
|
|
|
|
class NM_PLOT_EXPORT nmObjPointWell : public nmObjPoint
|
|
|
|
|
{
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
ZX_DECLARE_DYNAMIC
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
nmObjPointWell();
|
|
|
|
|
nmObjPointWell(const QString& sName, \
|
|
|
|
|
ZxSubAxisX* pAxisX, \
|
|
|
|
|
ZxSubAxisY* pAxisY);
|
|
|
|
|
// nmObjPointWell(const QString& sName, \
|
|
|
|
|
// ZxSubAxisX* pAxisX, \
|
|
|
|
|
// ZxSubAxisY* pAxisY, \
|
|
|
|
|
// bool selectWell = false);
|
|
|
|
|
~nmObjPointWell();
|
|
|
|
|
|
|
|
|
|
// 设置初始参数
|
|
|
|
|
virtual void init(const QString& sName, \
|
|
|
|
|
ZxSubAxisX* pAxisX, \
|
|
|
|
|
ZxSubAxisY* pAxisY);
|
|
|
|
|
// 设置Tools
|
|
|
|
|
virtual void initTools();
|
|
|
|
|
|
|
|
|
|
// 击中后,ButtonUp后的处理
|
|
|
|
|
// pt1:鼠标Down点,pt2:鼠标Up点
|
|
|
|
|
virtual bool runMove(const QPointF& pt1, const QPointF& pt2);
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
|
|
|
|
// 设置图元对象的属性标志
|
|
|
|
|
virtual void initFlags();
|
|
|
|
|
|
|
|
|
|
// 辅助信息
|
|
|
|
|
virtual void initSubObjs();
|
|
|
|
|
// virtual void resetOthers();
|
|
|
|
|
|
|
|
|
|
// 设置显示的标识
|
|
|
|
|
void setPointTag(QString s);
|
|
|
|
|
|
|
|
|
|
// 创建后调用
|
|
|
|
|
virtual void update();
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
// 成果序列化
|
|
|
|
|
virtual void onSerialize(ZxSerializer* ser);
|
|
|
|
|
virtual void onDeserialize(ZxSerializer* ser);
|
|
|
|
|
|
|
|
|
|
// 模版处理(从道理上讲,模版处理与成果序列化机制完全一致)
|
|
|
|
|
// 但此处放开是为了调用方更灵活的控制
|
|
|
|
|
virtual void onLoadTempl(ZxSerializer* ser);
|
|
|
|
|
virtual void onSaveTempl(ZxSerializer* ser);
|
|
|
|
|
|
|
|
|
|
// 创建后被调用
|
|
|
|
|
virtual void afterCreated();
|
|
|
|
|
|
|
|
|
|
// 创建新井
|
|
|
|
|
void createWell();
|
|
|
|
|
// 编辑井
|
|
|
|
|
void editWell();
|
|
|
|
|
// 获取井的圆心和半径
|
|
|
|
|
QVector<double> getWellInformation();
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
// 存储井的ID,project数据结构里数据存储
|
|
|
|
|
// 如果是选择井,则坐标等信息不能修改
|
|
|
|
|
bool m_bSelectWell;
|
|
|
|
|
QString m_sWellID;
|
|
|
|
|
ZxDataWell* m_pWellData;
|
|
|
|
|
const QString &getWellID() const;
|
|
|
|
|
ZxDataWell *getWellData() const;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|