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.
36 lines
1.2 KiB
C++
36 lines
1.2 KiB
C++
#pragma once
|
|
|
|
#include "nmDataWellBase.h"
|
|
|
|
class NM_DATA_EXPORT nmDataVerticalWell : public nmDataWellBase {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
nmDataVerticalWell();
|
|
nmDataVerticalWell(const nmDataVerticalWell& other);
|
|
nmDataVerticalWell& operator=(const nmDataVerticalWell& 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 setPerforationLength(const nmDataAttribute& attr);
|
|
nmDataAttribute& getPerforationLength();
|
|
|
|
private:
|
|
nmDataAttribute m_perforationLength;
|
|
};
|