#ifndef NMDATAFAULT_H #define NMDATAFAULT_H #include "nmData_global.h" #include "nmDataBase.h" #include "nmDefines.h" #include "nmDataAttribute.h" class NM_DATA_EXPORT nmDataFault : public nmDataBase { Q_OBJECT public: nmDataFault(); nmDataFault(const nmDataFault& other); // 拷贝构造函数 nmDataFault& operator=(const nmDataFault& other); // 赋值运算符 ~nmDataFault(); //virtual void saveDataToDom(rapidjson::Document &dom) override; //virtual void readDataFromDom(rapidjson::Document &dom) 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; public: // Getter and Setter for m_faultName QString getFaultName() const; void setFaultName(const QString& faultName); // Getter and Setter for m_faultFlowModel nmDataAttribute& getFaultFlowModel(); void setFaultFlowModel(const nmDataAttribute& faultFlowModel); // Getter and Setter for m_faultLeakage nmDataAttribute& getFaultLeakage(); void setFaultLeakage(const nmDataAttribute& faultLeakage); // Getter and Setter for m_vecPts QVector getFaultPoints() const; void setFaultPoints(const QVector& vecPts); bool getPlotVisible() const; void setPlotVisible(const bool newState); private: QString m_sFaultName; // 断层名称 QVector m_vecPts; // 断层位置信息 nmDataAttribute m_faultFlowModel; // 断层流动模型 nmDataAttribute m_faultLeakage; // 断层渗漏率 bool m_bPlotVisible; // 图元是否可见 }; #endif // NMDATAFAULT_H