#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 #include typedef enum { keSX_ScanMode_V = 0, //激光线垂直焊缝扫描 keSX_ScanMode_H, //激光线平行焊缝扫描 keSX_ScanMode_Both, //既有垂直扫描,也有水平扫描 } ESX_WeldScanMode; typedef struct { double lapHeight;//搭接厚度 double weldMinLen; //最小焊缝长度,用于过滤可能的虚假焊缝 int weldRefPoints; //输出的直线焊缝的参考点,默认是2个(起点和终点) ESX_WeldScanMode scanMode; }SSX_lapWeldParam; //计算一个平面调平参数。 //数据输入中可以有一个地平面和参考调平平面,以最高的平面进行调平 //旋转矩阵为调平参数,即将平面法向调整为垂直向量的参数 SG_APISHARED_EXPORT SSG_planeCalibPara sx_getBaseCalibPara( std::vector< std::vector>& scanLines); //相机姿态调平,并去除地面 SG_APISHARED_EXPORT void sx_lineDataR( std::vector< SVzNL3DPosition>& a_line, const double* camPoseR, double groundH); //提取搭接焊缝 SG_APISHARED_EXPORT void sx_getLapWeldPostion( std::vector< std::vector>& scanLines, const SSG_cornerParam cornerPara, SSG_treeGrowParam growParam, SSX_lapWeldParam lapWeldParam, SSG_planeCalibPara groundCalibPara, std::vector>& objOps, int* errCode);