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/Src/nmNum/nmData/nmDataAxis.cpp

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;
//}