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.
nmWTAI-Platform/Include/nmNum/nmPlot/nmObjLineFault.h

109 lines
2.6 KiB
C++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#pragma once
#include "nmObjBase.h"
#include "nmDefines.h"
#include "nmPlot_global.h"
class nmPlotGraphicBinder;
class nmDataFault;
// 数值试井绘图对象(断层)
class NM_PLOT_EXPORT nmObjLineFault : public nmObjBase
{
Q_OBJECT
ZX_DECLARE_DYNAMIC
public:
nmObjLineFault();
nmObjLineFault(const QString& sName, \
ZxSubAxisX* pAxisX, \
ZxSubAxisY* pAxisY);
~nmObjLineFault();
public:
// 设置初始参数
virtual void init(const QString& sName, \
ZxSubAxisX* pAxisX, \
ZxSubAxisY* pAxisY) override;
// 封装
virtual void initTools() override;
// 辅助信息
// virtual void initSubObjs();
protected:
// 设置图元对象的属性标志
virtual void initFlags() override;
public:
// 击中
virtual bool hitTest(const QPointF& pt) override;
// 具体击中实现的函数,单纯击中,不做选项的改变
// nOption用int是因为Rect类的击中选项不一致
// nOption为负值表示未击中此时返回false
virtual bool _runHitTest(const QPointF& pt, \
int& nOption, int& nSubIndex) override;
// 击中后ButtonUp后的处理
// pt1:鼠标Down点pt2鼠标Up点
virtual bool runMove(const QPointF& pt1, const QPointF& pt2) override;
public:
// 属性填充内容
virtual void fillPtyPano(IxPtyPano* sheet) override;
// 成果序列化
virtual void onSerialize(ZxSerializer* ser) override;
virtual void onDeserialize(ZxSerializer* ser) override;
// 模版处理(从道理上讲,模版处理与成果序列化机制完全一致)
// 但此处放开是为了调用方更灵活的控制
virtual void onLoadTempl(ZxSerializer* ser) override;
virtual void onSaveTempl(ZxSerializer* ser) override;
virtual void paintBack(QPainter* painter, \
const ZxPaintParam& param) override;
signals:
// 流动模型变更
void sigFlowModelChanged(int model);
// 渗漏率变更
void sigLeakageChanged(double leakage);
// 点坐标变更
void sigPointsChanged();
public:
int getFaultFlowModel();
void setFaultFlowModel(int newFaultFlowModel);
double getFaultLeakage();
void setFaultLeakage(double newFaultLeakage);
double getStartX();
void setStartX(double newValue);
double getStartY();
void setStartY(double newValue);
double getEndX();
void setEndX(double newValue);
double getEndY();
void setEndY(double newValue);
// 查找数据指针
nmDataFault* getFaultData() const;
void setGraphicBinder(nmPlotGraphicBinder* pBinder) { m_pGraphicBinder = pBinder; }
private:
QString m_sFlowModel;
double m_dLeakage;
nmPlotGraphicBinder* m_pGraphicBinder;
};