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.
nmWTAI-Platform/Include/nmNum/nmData/nmDataRegion.h

58 lines
1.8 KiB
C

#pragma once
#include "nmData_global.h"
#include "nmDataBase.h"
#include "nmDefines.h"
#include "nmDataAttribute.h"
class nmDataRegionMark;
class NM_DATA_EXPORT nmDataRegion : public nmDataBase
{
Q_OBJECT
public:
nmDataRegion();
nmDataRegion(const nmDataRegion& other); // 拷贝构造函数
nmDataRegion& operator=(const nmDataRegion& other); // 赋值运算符
~nmDataRegion();
// 实现 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:
QString getRegoinName() const;
void setRegionName(QString sRegionName);
// Getter and Setter for m_vecPts
QVector<QPointF> getVecPts() const;
void setVecPts(const QVector<QPointF>& vecPts);
// Getter and Setter for m_regionFlowModel
nmDataAttribute& getRegionFlowModel();
void setRegionFlowModel(const nmDataAttribute& regionFlowModel);
// Getter and Setter for m_regionLeakage
nmDataAttribute& getRegionLeakage();
void setRegionLeakage(const nmDataAttribute& regionLeakage);
// Getter and Setter for m_regionMarkData
nmDataRegionMark* getRegionMarkData() const;
void setRegionMarkData(nmDataRegionMark* regionMarkData);
bool getPlotVisible() const;
void setPlotVisible(const bool newState);
private:
QString m_sRegionName; // 复合区名称
QVector<QPointF> m_vecPts; // 复合区位置信息
nmDataAttribute m_regionFlowModel; // 复合区流动类型
nmDataAttribute m_regionLeakage; // 复合区泄露系数
nmDataRegionMark* m_regionMarkData; // 标记区域数据对象
bool m_bPlotVisible; // 图元是否可见
};