GrabBag/AppUtils/AppConfig/Inc/ConfigXmlUtils.h

81 lines
2.7 KiB
C
Raw Normal View History

#ifndef CONFIGXMLUTILS_H
#define CONFIGXMLUTILS_H
#include <vector>
#include <string>
#include "VrCommonConfig.h"
#include "VrHandEyeCalibConfig.h"
#include "tinyxml2.h"
/**
* @brief XML
*
*
* XML VrConfig
*/
namespace ConfigXmlUtils
{
// ============ 手眼标定矩阵 ============
/**
* @brief XML
*
*
* 1. <HandEyeCalibMatrixs>
* 2. <HandEyeCalibMatrixList>
* 3. <HandEyeCalibMatrix> cameraIndex=1
*
* @param root XML
* @param list
* @param defaultEulerOrder XML eulerOrder 使
*/
void LoadHandEyeCalibMatrixs(tinyxml2::XMLElement* root,
std::vector<VrHandEyeCalibMatrix>& list,
int defaultEulerOrder = 11);
/**
* @brief XML <HandEyeCalibMatrixs>
*/
void SaveHandEyeCalibMatrixs(tinyxml2::XMLDocument& doc,
tinyxml2::XMLElement* root,
const std::vector<VrHandEyeCalibMatrix>& list);
// ============ 平面校准参数 ============
/**
* @brief <PlaneCalibParams>
* @param parent <PlaneCalibParams> AlgorithmParams
*/
void LoadPlaneCalibParams(tinyxml2::XMLElement* parent,
VrPlaneCalibParam& param);
/**
* @brief <PlaneCalibParams>
*/
void SavePlaneCalibParams(tinyxml2::XMLDocument& doc,
tinyxml2::XMLElement* parent,
const VrPlaneCalibParam& param);
// ============ 调试参数 ============
void LoadDebugParam(tinyxml2::XMLElement* root, VrDebugParam& param);
void SaveDebugParam(tinyxml2::XMLDocument& doc, tinyxml2::XMLElement* root,
const VrDebugParam& param);
// ============ 串口配置 ============
void LoadSerialConfig(tinyxml2::XMLElement* root, SerialConfig& config);
void SaveSerialConfig(tinyxml2::XMLDocument& doc, tinyxml2::XMLElement* root,
const SerialConfig& config);
// ============ 相机列表 ============
void LoadCameraList(tinyxml2::XMLElement* root, std::vector<DeviceInfo>& list);
void SaveCameraList(tinyxml2::XMLDocument& doc, tinyxml2::XMLElement* root,
const std::vector<DeviceInfo>& list);
} // namespace ConfigXmlUtils
#endif // CONFIGXMLUTILS_H