45 lines
1.4 KiB
C++
45 lines
1.4 KiB
C++
#pragma once
|
||
|
||
#include "SG_algo_Export.h"
|
||
#include <vector>
|
||
|
||
#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<SVzNL3DPosition>>& scanLines);
|
||
|
||
//飞机姿态计算
|
||
SG_APISHARED_EXPORT SSX_planeInfo wd_planeLocalization(
|
||
std::vector< std::vector<SVzNL3DPosition>>& scanLines,
|
||
const SSG_planeCalibPara groundCalibParam,
|
||
const SSX_planeParkingParam parkingParam,
|
||
const SSG_treeGrowParam growParam,
|
||
#if _OUTPUT_DEBUG_DATA
|
||
std::vector< std::vector<SVzNL3DPosition>>& debugData,
|
||
#endif
|
||
int* errCode);
|