#ifndef NMDATAFRACTURE_H #define NMDATAFRACTURE_H #include "nmData_global.h" #include "nmDataBase.h" #include "nmDefines.h" #include "nmDataAttribute.h" class NM_DATA_EXPORT nmDataFracture : public nmDataBase { Q_OBJECT public: nmDataFracture(); nmDataFracture(const nmDataFracture& other); // 拷贝构造函数 nmDataFracture& operator=(const nmDataFracture& other); // 赋值运算符 ~nmDataFracture(); //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_sFractureName QString getFractureName() const; void setFractureName(const QString& sFractureName); // Getter and Setter for m_vecPts QVector getFracturePoints() const; void setFracturePoints(const QVector& vecPts); // Getter and Setter for m_fractureFlowModel nmDataAttribute& getFractureFlowModel(); void setFractureFlowModel(const nmDataAttribute& fractureFlowModel); // Getter and Setter for m_fractureDfc nmDataAttribute& getFractureDfc(); void setFractureDfc(const nmDataAttribute& fractureDfc); // Getter and Setter for m_fractureDw nmDataAttribute& getFractureDw(); void setFractureDw(const nmDataAttribute& fractureDw); nmDataAttribute& getFractureType(); void setFractureType(const nmDataAttribute& fractureType); bool getPlotVisible() const; void setPlotVisible(const bool newState); private: QString m_sFractureName; // 裂缝名称 QVector m_vecPts; // 裂缝位置信息 nmDataAttribute m_fractureFlowModel; // 裂缝流动类型 nmDataAttribute m_fractureDfc; // 裂缝导流能力 nmDataAttribute m_fractureDw; // 裂缝储能比 nmDataAttribute m_fractureType; // 裂缝类型 bool m_bPlotVisible; // 图元是否可见 }; #endif // NMDATAFRACTURE_H