#pragma once #include "SG_algo_Export.h" #include #define _OUTPUT_DEBUG_DATA 1 typedef struct { double distance; //距离停机点距离 double deviation; //偏离引导线距离 double dirAngle_deg; //前进角, 以度为单位 SVzNL3DPoint nosePoint; SVzNL3DPoint axis; }SSX_planeInfo; typedef struct { SVzNL3DPoint parkingPoint; //停机点(需经过地面调平处理) SVzNL3DPoint guideLinePoint; //停机引导线上点(需经过地面调平处理),用于确定引导线方向。方向为从停机点到引导线上点的连线。距离停机点20m以上 double guidingRange; //飞机引导范围, 以停机点为基准。超出此范围的目标不被处理 double parkingRange; //飞机距离引导线距离,用于过滤无效目标, 以引导线为基准 double distFromNoseToWheel; //停机点为轮子地点,此参数用于计算机鼻停机位置 }SSX_planeParkingParam; //读版本号 SG_APISHARED_EXPORT const char* wd_PlaneLocalizationVersion(void); //相机水平安装计算地面调平参数。。 //相机Z轴基本平行地面时,需要以地面为参照,将相机调水平 //旋转矩阵为调平参数,即将平面法向调整为垂直向量的参数 SG_APISHARED_EXPORT SSG_planeCalibPara wd_getGroundCalibPara( std::vector< std::vector>& scanLines); //飞机姿态计算 SG_APISHARED_EXPORT SSX_planeInfo wd_planeLocalization( std::vector< std::vector>& scanLines, const SSG_planeCalibPara groundCalibParam, const SSX_planeParkingParam parkingParam, const SSG_treeGrowParam growParam, #if _OUTPUT_DEBUG_DATA std::vector< std::vector>& debugData, #endif int* errCode);