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.
145 lines
4.9 KiB
C++
145 lines
4.9 KiB
C++
#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;
|
|
//}
|