#pragma once #include "nmData_global.h" #include "nmDataBase.h" #include "nmDefines.h" #include "nmDataAttribute.h" #include "ZxDataObjectDbl.h" class NM_DATA_EXPORT nmDataRegionMark : public nmDataBase{ Q_OBJECT public: nmDataRegionMark(); nmDataRegionMark(const nmDataRegionMark& other); // 拷贝构造函数 nmDataRegionMark& operator=(const nmDataRegionMark& other); // 赋值运算符 ~nmDataRegionMark(); // 实现 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 QString getRegionMarkName() const; void setRegionMarkName(QString sRegionMarkName); bool isSelectRegion() const; void setSelectRegion(bool bSelectRegion); QPointF getPtPos() const; void setPtPos(const QPointF& ptPos); nmDataAttribute& getReservoirType(); void setReservoirType(const nmDataAttribute& reservoirType); nmDataAttribute& getComKr(); void setComKr(const nmDataAttribute& comKr); nmDataAttribute& getComW(); void setComW(const nmDataAttribute& comW); nmDataAttribute& getNetToGross(); void setNetToGross(const nmDataAttribute& netToGross); QColor getBackgroundColor() const; void setBackgroundColor(const QColor& clrBackground); bool getPlotVisible() const; void setPlotVisible(const bool newState); private: QString m_sRegionMarkName; bool m_bSelectRegion; QPointF m_ptPos; // 当前区域标记所在的位置 nmDataAttribute m_reservoirType; nmDataAttribute m_comKr; nmDataAttribute m_comW; nmDataAttribute m_netToGross; QColor m_clrBackground; bool m_bPlotVisible; // 图元是否可见 };