#include "nmDataAxis.h" nmDataAxis::nmDataAxis() { m_xMax = nmDataAttribute("AxisXmax", 2800.0, "m", UNIT_TYPE_LENGTH, QStringList(), QStringList() << "ft" << "m" << "cm" << "mm" << "in" << "0.1 in" << "mile" << "km"); m_xMin = nmDataAttribute("AxisXmin", -1100.0, "m", UNIT_TYPE_LENGTH, QStringList(), QStringList() << "ft" << "m" << "cm" << "mm" << "in" << "0.1 in" << "mile" << "km"); m_yMax = nmDataAttribute("AxisYmax", 1100.0, "m", UNIT_TYPE_LENGTH, QStringList(), QStringList() << "ft" << "m" << "cm" << "mm" << "in" << "0.1 in" << "mile" << "km"); m_yMin = nmDataAttribute("AxisYmin", -1100.0, "m", UNIT_TYPE_LENGTH, QStringList(), QStringList() << "ft" << "m" << "cm" << "mm" << "in" << "0.1 in" << "mile" << "km"); //m_xMainScale = nmDataAttribute("MainScaleX", 1000.0, "", UNIT_TYPE_DIMENSIONLESS, QStringList(), QStringList()); //m_yMainScale = nmDataAttribute("MainScaleY", 1000.0, "", UNIT_TYPE_DIMENSIONLESS, QStringList(), QStringList()); //m_xSubScale = nmDataAttribute("SubScaleX", 500.0, "", UNIT_TYPE_DIMENSIONLESS, QStringList(), QStringList()); //m_ySubScale = nmDataAttribute("SubScaleY", 500.0, "", UNIT_TYPE_DIMENSIONLESS, QStringList(), QStringList()); } nmDataAxis::~nmDataAxis() { } // 序列化 nmDataRegion 为 RapidJSON Value rapidjson::Value nmDataAxis::ToJsonValue(rapidjson::Document::AllocatorType& allocator) const { // 创建一个 RapidJSON 对象类型的值 rapidjson::Value axisObject(rapidjson::kObjectType); // 序列化 nmDataAttribute 类型的成员 // 调用 nmDataAttribute 自身的 ToJsonValue 方法进行递归序列化 axisObject.AddMember("AxisXmax", m_xMax.ToJsonValue(allocator), allocator); axisObject.AddMember("AxisXmin", m_xMin.ToJsonValue(allocator), allocator); axisObject.AddMember("AxisYmax", m_yMax.ToJsonValue(allocator), allocator); axisObject.AddMember("AxisYmin", m_yMin.ToJsonValue(allocator), allocator); //axisObject.AddMember("MainScaleX", m_xMainScale.ToJsonValue(allocator), allocator); //axisObject.AddMember("SubScaleX", m_xSubScale.ToJsonValue(allocator), allocator); //axisObject.AddMember("MainScaleY", m_yMainScale.ToJsonValue(allocator), allocator); //axisObject.AddMember("SubScaleY", m_ySubScale.ToJsonValue(allocator), allocator); return axisObject; // 返回序列化后的 RapidJSON Value } // 从 RapidJSON Value 反序列化数据到 nmDataAxis void nmDataAxis::FromJsonValue(const rapidjson::Value& jsonValue) { // 反序列化 nmDataAttribute 类型的成员 // 调用 nmDataAttribute 自身的 FromJsonValue 方法进行递归反序列化 if (jsonValue.HasMember("AxisXmax") && jsonValue["AxisXmax"].IsObject()) { m_xMax.FromJsonValue(jsonValue["AxisXmax"]); } if (jsonValue.HasMember("AxisXmin") && jsonValue["AxisXmin"].IsObject()) { m_xMin.FromJsonValue(jsonValue["AxisXmin"]); } if (jsonValue.HasMember("AxisYmax") && jsonValue["AxisYmax"].IsObject()) { m_yMax.FromJsonValue(jsonValue["AxisYmax"]); } if (jsonValue.HasMember("AxisYmin") && jsonValue["AxisYmin"].IsObject()) { m_yMin.FromJsonValue(jsonValue["AxisYmin"]); } //if (jsonValue.HasMember("MainScaleX") && jsonValue["MainScaleX"].IsObject()) { // m_xMainScale.FromJsonValue(jsonValue["MainScaleX"]); //} //if (jsonValue.HasMember("SubScaleX") && jsonValue["SubScaleX"].IsObject()) { // m_xSubScale.FromJsonValue(jsonValue["SubScaleX"]); //} //if (jsonValue.HasMember("MainScaleY") && jsonValue["MainScaleY"].IsObject()) { // m_yMainScale.FromJsonValue(jsonValue["MainScaleY"]); //} //if (jsonValue.HasMember("SubScaleY") && jsonValue["SubScaleY"].IsObject()) { // m_ySubScale.FromJsonValue(jsonValue["SubScaleY"]); //} } nmDataAttribute& nmDataAxis::getXMax() { return m_xMax; } void nmDataAxis::setXMax(const nmDataAttribute& xMax) { m_xMax = xMax; } nmDataAttribute& nmDataAxis::getXMin() { return m_xMin; } void nmDataAxis::setXMin(const nmDataAttribute& xMin) { m_xMin = xMin; } nmDataAttribute& nmDataAxis::getYMax() { return m_yMax; } void nmDataAxis::setYMax(const nmDataAttribute& yMax) { m_yMax = yMax; } nmDataAttribute& nmDataAxis::getYMin() { return m_yMin; } void nmDataAxis::setYMin(const nmDataAttribute& yMin) { m_yMin = yMin; } //nmDataAttribute& nmDataAxis::getXMainScale() //{ // return m_xMainScale; //} // //void nmDataAxis::setXMainScale(const nmDataAttribute& xMainScale) //{ // m_xMainScale = xMainScale; //} //nmDataAttribute& nmDataAxis::getXSubScale() //{ // return m_xSubScale; //} // //void nmDataAxis::setXSubScale(const nmDataAttribute& xSubScale) //{ // m_xSubScale = xSubScale; //} //nmDataAttribute& nmDataAxis::getYMainScale() //{ // return m_yMainScale; //} // //void nmDataAxis::setYMainScale(const nmDataAttribute& yMainScale) //{ // m_yMainScale = yMainScale; //} //nmDataAttribute& nmDataAxis::getYSubScale() //{ // return m_ySubScale; //} // //void nmDataAxis::setYSubScale(const nmDataAttribute& ySubScale) //{ // m_ySubScale = ySubScale; //}