algoLib/sourceCode/motorStatorPosition_Export.h

63 lines
1.7 KiB
C
Raw Permalink Normal View History

2025-06-08 10:46:41 +08:00
#pragma once
#if defined(SG_API_LIBRARY)
# define SG_APISHARED_EXPORT __declspec(dllexport)
#else
# define SG_APISHARED_EXPORT __declspec(dllimport)
#endif
#include "SG_baseDataType.h"
#include <vector>
typedef struct
{
double statorOuterD; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1>
double statorInnerD; //<2F><><EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD>ֱ<EFBFBD><D6B1>
2025-12-05 18:41:05 +08:00
double statorHeight;
double cutZ_level0;
double cutZ_level1;
2025-06-08 10:46:41 +08:00
double gripperR;//<2F><>צ<EFBFBD>
2025-12-05 18:41:05 +08:00
}SWD_statorParam;
typedef struct
{
SSG_outlierFilterParam filterParam;
SSG_cornerParam cornerParam;
SSG_treeGrowParam growParam;
}SWD_statorPositonParam;
typedef struct
{
SVzNL3DPoint refPos;
double cuttingZ; //z<>ض<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>ڷָ<D6B8><EEB6A8><EFBFBD>ϰ벿<CFB0>͵<EFBFBD><CDB5><EFBFBD>
}SWD_nextOpParam;
//<2F><><EFBFBD><EFBFBD><E6B1BE>
SG_APISHARED_EXPORT const char* wd_particleSegVersion(void);
//<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_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_lineDataR(
std::vector< SVzNL3DPosition>& a_line,
const double* camPoseR,
double groundH);
2025-06-08 10:46:41 +08:00
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>grid<69><64>ʽ<EFBFBD><CABD><EFBFBD>Խ<EFBFBD><D4BD><EFBFBD>ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD>λ<EFBFBD><CEBB>
//<2F><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>ӵĸ߶<C4B8>-><3E><><EFBFBD>ý<EFBFBD>ȡZȥ<5A><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>->
// ͶӰ<CDB6><D3B0>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>ʱ<EFBFBD>߿<EFBFBD>ҲͬʱͶӰ<CDB6><D3B0>-><3E><><EFBFBD><EFBFBD><EFBFBD>任-><3E><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>->
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ںͱ߿<CDB1>Ѱ<EFBFBD><D1B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ץȡĿ<C8A1><C4BF><EFBFBD><EFBFBD>ץȡ<D7A5><C8A1>
SG_APISHARED_EXPORT void wd_motorStatorPosition(
2025-12-05 18:41:05 +08:00
std::vector< std::vector<SVzNL3DPosition>>& scanLines,
const SWD_statorParam statorParam,
2025-12-05 18:41:05 +08:00
const SSG_planeCalibPara groundCalibPara,
const SWD_statorPositonParam algoParam,
SWD_nextOpParam* refPos, //<2F><>һ<EFBFBD>θ<EFBFBD><CEB8><EFBFBD><EFBFBD>IJο<C4B2>λ<EFBFBD>ã<EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>εIJο<C4B2>λ<EFBFBD><CEBB>
2025-06-08 10:46:41 +08:00
int* errCode,
2025-12-05 18:41:05 +08:00
std::vector<SWD_motorStatorPosition>& resultObjPositions,
SWD_statorOuterGrasper& resultGraspPos);