51 lines
1.6 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#pragma once
#include "IVrConfig.h"
#include "workpieceHolePositioning_Export.h"
#include "SG_baseDataType.h"
#include <string>
/**
* @brief 配置参数到算法参数的转换工具
*
* 将 VrXxx 配置结构体转换为算法库所需的结构体,
* 并提供算法参数的日志打印功能。
*/
namespace AlgoParamConverter
{
/// 工件孔参数转换
WD_workpieceHoleParam ToAlgoParam(const VrWorkpieceHoleParam& param);
/// 线段分割参数转换
SSG_lineSegParam ToAlgoParam(const VrLineSegParam& param);
/// 滤波参数转换
SSG_outlierFilterParam ToAlgoParam(const VrOutlierFilterParam& param);
/// 树生长参数转换
SSG_treeGrowParam ToAlgoParam(const VrTreeGrowParam& param);
/// 平面校准参数转换cameraCalibParam 为 nullptr 时使用默认单位矩阵)
SSG_planeCalibPara ToAlgoPlaneCalibParam(const VrCameraPlaneCalibParam* cameraCalibParam);
/**
* @brief 打印所有算法参数日志
* @param logTag 日志标识字符串,如 "[Algo Thread]"
* @param workpiecePara 工件孔参数
* @param lineSegPara 线段分割参数
* @param filterParam 滤波参数
* @param growParam 树生长参数
* @param groundCalibPara 平面校准参数
* @param clibMatrix 手眼标定矩阵 (4x4)
*/
void LogAlgoParams(const std::string& logTag,
const WD_workpieceHoleParam& workpiecePara,
const SSG_lineSegParam& lineSegPara,
const SSG_outlierFilterParam& filterParam,
const SSG_treeGrowParam& growParam,
const SSG_planeCalibPara& groundCalibPara,
const double clibMatrix[16]);
} // namespace AlgoParamConverter