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.
35 lines
1.3 KiB
C
35 lines
1.3 KiB
C
|
3 weeks ago
|
#pragma once
|
||
|
|
|
||
|
|
#include "nmDataWellBase.h"
|
||
|
|
|
||
|
|
class NM_DATA_EXPORT nmDataHorizontalWell : public nmDataWellBase {
|
||
|
|
Q_OBJECT
|
||
|
|
public:
|
||
|
|
nmDataHorizontalWell();
|
||
|
|
nmDataHorizontalWell(const nmDataHorizontalWell& other); // 拷贝构造函数声明
|
||
|
|
nmDataHorizontalWell& operator=(const nmDataHorizontalWell& other); // 赋值运算符声明
|
||
|
|
|
||
|
|
// 创建当前对象的深拷贝
|
||
|
|
nmDataWellBase* clone() const override;
|
||
|
|
|
||
|
|
// 实现 nmDataBase 的抽象方法:将当前 C++ 对象序列化为 RapidJSON Value
|
||
|
|
virtual rapidjson::Value ToJsonValue(rapidjson::Document::AllocatorType& allocator) const override;
|
||
|
|
// 实现 nmDataBase 的抽象方法:从 RapidJSON Value 反序列化数据到当前 C++ 对象
|
||
|
|
virtual void FromJsonValue(const rapidjson::Value& jsonValue) override;
|
||
|
|
|
||
|
|
// 连接属性值变化信号
|
||
|
|
void connectAttributeSignals() override;
|
||
|
|
|
||
|
|
// 用于获取某个射孔的允许MD范围
|
||
|
|
void getPerforationAllowedMdRange(nmDataPerforation* pPerfToValidate,
|
||
|
|
double& dUpperAllowedMd,
|
||
|
|
double& dLowerAllowedMd) override;
|
||
|
|
|
||
|
|
public:
|
||
|
|
void setDrainAngle(const nmDataAttribute& attr);
|
||
|
|
nmDataAttribute& getDrainAngle();
|
||
|
|
|
||
|
|
private:
|
||
|
|
nmDataAttribute m_drainAngle; //泄油角度
|
||
|
|
};
|