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.
63 lines
1.3 KiB
C
63 lines
1.3 KiB
C
|
2 years ago
|
#pragma once
|
||
|
|
|
||
|
|
#include <string>
|
||
|
|
#include <vector>
|
||
|
|
|
||
|
|
#include "nlohmann/json.hpp"
|
||
|
|
|
||
|
|
#include "DllDefines.h"
|
||
|
|
|
||
|
|
using stSubPosition = struct _stSubPosition{
|
||
|
|
|
||
|
|
std::string SubPositionName;
|
||
|
|
double PositionValue;
|
||
|
|
int PositionIndex;
|
||
|
|
|
||
|
|
NLOHMANN_DEFINE_TYPE_INTRUSIVE(_stSubPosition,
|
||
|
|
SubPositionName,
|
||
|
|
PositionValue,
|
||
|
|
PositionIndex
|
||
|
|
)
|
||
|
|
|
||
|
|
};
|
||
|
|
|
||
|
|
using stPosition = struct _stPosition {
|
||
|
|
|
||
|
|
std::string PositionName;
|
||
|
|
std::vector<stSubPosition> SubPositions;
|
||
|
|
|
||
|
|
NLOHMANN_DEFINE_TYPE_INTRUSIVE(_stPosition,
|
||
|
|
PositionName,
|
||
|
|
SubPositions
|
||
|
|
)
|
||
|
|
|
||
|
|
};
|
||
|
|
|
||
|
|
using stMotor = struct _stMotor {
|
||
|
|
|
||
|
|
std::string MotorName;
|
||
|
|
std::vector<stPosition> MotorPositions;
|
||
|
|
|
||
|
|
NLOHMANN_DEFINE_TYPE_INTRUSIVE(_stMotor, MotorName, MotorPositions)
|
||
|
|
};
|
||
|
|
|
||
|
|
using stRuntimeMotorSubPosition = struct _stRuntimeMotorSubPoistion {
|
||
|
|
|
||
|
|
std::string ModuleName;
|
||
|
|
std::vector<stMotor> Motors;
|
||
|
|
|
||
|
|
NLOHMANN_DEFINE_TYPE_INTRUSIVE(_stRuntimeMotorSubPoistion, ModuleName, Motors)
|
||
|
|
|
||
|
|
};
|
||
|
|
|
||
|
|
class MCCTRDLLCLASS CMotorSubPositionParser
|
||
|
|
{
|
||
|
|
public:
|
||
|
|
bool Deserialize(const std::string& strFileName, stRuntimeMotorSubPosition& myOption);
|
||
|
|
bool Serialize(const std::string& strFilename, const stRuntimeMotorSubPosition& _myOption);
|
||
|
|
|
||
|
|
bool Deserialize(const std::string& strFileName, std::vector<stRuntimeMotorSubPosition>& myOption);
|
||
|
|
bool Serialize(const std::string& strFilename, const std::vector<stRuntimeMotorSubPosition>& _myOption);
|
||
|
|
};
|
||
|
|
|