GrabBag/AppAlgo/lapWeldDetection/Inc/SX_lapWeldDetection_Export.h

50 lines
1.5 KiB
C
Raw Normal View History

2026-03-28 10:49:55 +08:00
#pragma once
2026-08-18 14:44:38 +08:00
#include "SG_algo_Export.h"
2026-03-28 10:49:55 +08:00
#include <vector>
typedef enum
{
keSX_ScanMode_V = 0, //<2F><><EFBFBD><EFBFBD><EFBFBD>ߴ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>ɨ<EFBFBD><C9A8>
keSX_ScanMode_H, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD>к<EFBFBD><D0BA><EFBFBD>ɨ<EFBFBD><C9A8>
keSX_ScanMode_Both, //<2F><><EFBFBD>д<EFBFBD>ֱɨ<D6B1>裬Ҳ<E8A3AC><D2B2>ˮƽɨ<C6BD><C9A8>
} ESX_WeldScanMode;
typedef struct
{
double lapHeight;//<2F><><EFBFBD>Ӻ<EFBFBD><D3BA><EFBFBD>
double weldMinLen; //<2F><>С<EFBFBD><D0A1><EFBFBD>쳤<EFBFBD>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>ڹ<EFBFBD><DAB9>˿<EFBFBD><CBBF>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD>ٺ<EFBFBD><D9BA><EFBFBD>
int weldRefPoints; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>ߺ<EFBFBD><DFBA><EFBFBD><EFBFBD>IJο<C4B2><CEBF>㣬Ĭ<E3A3AC><C4AC><EFBFBD><EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ㣩
ESX_WeldScanMode scanMode;
}SSX_lapWeldParam;
2026-08-18 14:44:38 +08:00
SG_APISHARED_EXPORT const char* wd_weldSeamAlgoVersion(void);
2026-03-28 10:49:55 +08:00
//<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><D0BF><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD>Ͳο<CDB2><CEBF><EFBFBD>ƽƽ<C6BD>棬<EFBFBD><E6A3AC><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>ƽ
//<2F><>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD>淨<EFBFBD><E6B7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>
2026-08-18 14:44:38 +08:00
SG_APISHARED_EXPORT SSG_planeCalibPara sx_getBaseCalibPara(
2026-03-28 10:49:55 +08:00
std::vector< std::vector<SVzNL3DPosition>>& scanLines);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̬<EFBFBD><CCAC>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2026-08-18 14:44:38 +08:00
SG_APISHARED_EXPORT void sx_lineDataR(
2026-03-28 10:49:55 +08:00
std::vector< SVzNL3DPosition>& a_line,
const double* camPoseR,
double groundH);
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>Ӻ<EFBFBD><D3BA><EFBFBD>
2026-08-18 14:44:38 +08:00
SG_APISHARED_EXPORT void sx_getLapWeldPostion(
2026-03-28 10:49:55 +08:00
std::vector< std::vector<SVzNL3DPosition>>& scanLines,
const SSG_cornerParam cornerPara,
SSG_treeGrowParam growParam,
SSX_lapWeldParam lapWeldParam,
SSG_planeCalibPara groundCalibPara,
std::vector<std::vector<SVzNL3DPoint>>& objOps,
int* errCode);
2026-08-18 14:44:38 +08:00
//<2F><><EFBFBD>㺸<EFBFBD><E3BAB8>λ<EFBFBD><CEBB>
SG_APISHARED_EXPORT void BQ_getWeldSeamPose(
std::vector<SSG_gapFeatureTree>& trees,
int weldRefPoints, //<2F><><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><D0BC>ο<EFBFBD><CEBF><EFBFBD>λ<EFBFBD><CEBB>
std::vector<SVzNL3DPoint>& weldOps, //<2F><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
std::vector<SVzNL3DPosition>& weldRawPoints, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>debug
int* errCode);