2026-01-20 07:12:01 +08:00
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
|
#include "SG_algo_Export.h"
|
|
|
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
|
|
|
|
#define _OUTPUT_DEBUG_DATA 1
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
|
{
|
|
|
|
|
|
SVzNL3DPoint threadPos; //<2F><>ͷλ<CDB7><CEBB>
|
|
|
|
|
|
SVzNL3DPoint operatePos; //<2F>µ<EFBFBD>λ<EFBFBD><CEBB>
|
|
|
|
|
|
double rotateAngle; //ˮƽ<CBAE><C6BD>ת<EFBFBD><D7AA>
|
|
|
|
|
|
}SSX_bagThreadInfo; //<2F><>ͷ<EFBFBD><CDB7>Ϣ
|
|
|
|
|
|
|
2026-01-23 16:34:10 +08:00
|
|
|
|
typedef struct
|
|
|
|
|
|
{
|
|
|
|
|
|
bool isHorizonScan;
|
|
|
|
|
|
bool scanFromThreadHead;
|
2026-02-08 22:32:36 +08:00
|
|
|
|
double camInstallAngle; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װʱ<D7B0><CAB1>̨<EFBFBD><CCA8><EFBFBD>н<EFBFBD>
|
2026-01-23 16:34:10 +08:00
|
|
|
|
double stitchWidth; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵ<EFBFBD><D9B5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
double operateDist; //<2F>µ<EFBFBD>λ<EFBFBD>þ<EFBFBD><C3BE><EFBFBD><EFBFBD>ž<EFBFBD><C5BE><EFBFBD>
|
2026-02-08 22:32:36 +08:00
|
|
|
|
double mark_height; //<2F>궨<EFBFBD><EAB6A8><EFBFBD>߶<EFBFBD>
|
|
|
|
|
|
double mark_diameter; //<2F>궨<EFBFBD><EAB6A8><EFBFBD>⾶
|
|
|
|
|
|
double mark_distance; //<2F><><EFBFBD><EFBFBD><EFBFBD>궨<EFBFBD><EAB6A8><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD>
|
2026-01-23 16:34:10 +08:00
|
|
|
|
}SSX_ScanInfo;
|
2026-01-20 07:12:01 +08:00
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>汾<EFBFBD><E6B1BE>
|
|
|
|
|
|
SG_APISHARED_EXPORT const char* wd_bagThreadPositioningVersion(void);
|
|
|
|
|
|
|
2026-02-08 22:32:36 +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>
|
|
|
|
|
|
SG_APISHARED_EXPORT SSG_planeCalibPara wd_bagThread_getBaseCalibPara(
|
|
|
|
|
|
std::vector< std::vector<SVzNL3DPosition>>& scanLines);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̬<EFBFBD><CCAC>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
SG_APISHARED_EXPORT void wd_bagThread_lineDataR(
|
|
|
|
|
|
std::vector< SVzNL3DPosition>& a_line,
|
|
|
|
|
|
const double* camPoseR,
|
|
|
|
|
|
double groundH);
|
|
|
|
|
|
|
2026-01-20 07:12:01 +08:00
|
|
|
|
//<2F><>ͷλ<CDB7>ü<EFBFBD><C3BC>ⶨλ
|
|
|
|
|
|
SG_APISHARED_EXPORT void wd_bagThreadPositioning(
|
|
|
|
|
|
std::vector< std::vector<SVzNL3DPosition>>& scanLines,
|
2026-01-23 16:34:10 +08:00
|
|
|
|
const SSX_ScanInfo scanInfo, //true:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD>в۵<D0B2><DBB5><EFBFBD>false:<3A><><EFBFBD><EFBFBD><EFBFBD>ߴ<EFBFBD>ֱ<EFBFBD>۵<EFBFBD>
|
2026-02-08 22:32:36 +08:00
|
|
|
|
const SSG_planeCalibPara groundCalibPara,
|
2026-01-20 07:12:01 +08:00
|
|
|
|
const SSG_outlierFilterParam filterParam, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD>
|
|
|
|
|
|
const SSG_cornerParam cornerPara, //V<><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
const SSG_raisedFeatureParam raisedFeaturePara,//<2F><>β<CEB2><CDB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
const SSG_treeGrowParam growParam, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
std::vector<SSX_bagThreadInfo>& bagThreadInfo,
|
2026-02-08 22:32:36 +08:00
|
|
|
|
std::vector<SSX_bagThreadInfo>& bagThreadInfo_relative, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Mark<72><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
std::vector<SVzNL3DPoint>& output_markCenter, //<2F><><EFBFBD><EFBFBD>Markλ<6B><CEBB><EFBFBD><EFBFBD>Ϣ
|
2026-01-20 07:12:01 +08:00
|
|
|
|
int* errCode);
|