You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			89 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			C
		
	
			
		
		
	
	
			89 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			C
		
	
#pragma once
 | 
						|
#include <tuple>
 | 
						|
 | 
						|
#define CALC_EXPORT 1
 | 
						|
 | 
						|
#ifdef CALC_EXPORT
 | 
						|
#define CALC_API __declspec(dllexport)
 | 
						|
#else
 | 
						|
#define CALC_API __declspec(dllimport)
 | 
						|
#endif
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
extern "C" {
 | 
						|
#endif
 | 
						|
    /*---------------------计算目标点经纬度需求数据------------------------*/
 | 
						|
    typedef struct calcData
 | 
						|
    {
 | 
						|
        float  LaserDistance;       //激光测距距离(无激光测距值为0)
 | 
						|
        float  PodPitchAngle;       //吊舱俯仰角(向上为正 归中为0°  -115~+90°)
 | 
						|
        float  PodDirectionAngle;   //吊舱方位角(-180~+180°)
 | 
						|
        float  PodRollAngle;        //吊舱滚转角
 | 
						|
        float  FlyPitchAngle;       //飞机俯仰角(-90~+90°)
 | 
						|
        float  FlyHeadingAngle;     //飞机航向角(0~360°)
 | 
						|
        float  FlyRollAngle;        //飞机滚转角(-90~+90°)
 | 
						|
        double FlyCurrentLongitude; //飞机当前经度
 | 
						|
        double FlyCurrentLatitude;  //飞机当前纬度
 | 
						|
        float  FlyCurrentHeight;    //飞机当前高度
 | 
						|
        bool   isUseRoll;           //是否使用滚转 默认不使用(三轴光电吊舱)
 | 
						|
    }CALC_DES_DATA, FLY_DATA;
 | 
						|
 | 
						|
    /*------------------------目标点位置信息数据--------------------------*/
 | 
						|
 | 
						|
    typedef struct locationData
 | 
						|
    {
 | 
						|
        double DisLongitude;        //目标点经度
 | 
						|
        double Dislatitude;         //目标点纬度
 | 
						|
        float  DisHeight;           //目标点高度
 | 
						|
 | 
						|
        /*locationData& operator=(const locationData& other)
 | 
						|
        {
 | 
						|
            this->DisHeight = other.DisHeight;
 | 
						|
            this->Dislatitude = other.Dislatitude;
 | 
						|
            this->DisLongitude = other.DisLongitude;
 | 
						|
 | 
						|
            return *this;
 | 
						|
        }*/
 | 
						|
    }DES_LOCATION;
 | 
						|
 | 
						|
    /*----------------根据空投点目标吊舱需要转动的角度-------------------*/
 | 
						|
    typedef struct podNeedAngle
 | 
						|
    {
 | 
						|
        float  directionAngle;   //吊舱方位角(-180~+180°)
 | 
						|
        float  PitchAngle;       //飞机俯仰角(-90~+90°)
 | 
						|
    }POD_NEED_ANGLE;
 | 
						|
 | 
						|
    /**********************************************
 | 
						|
    * @func          calcDisLocation
 | 
						|
    * @brief         计算目标点的位置
 | 
						|
    * @param         CALC_DES_DATA 计算目标点经纬度需求数据
 | 
						|
    * @return        DES_LOCATION  目标点位置信息数据
 | 
						|
    **********************************************/
 | 
						|
    CALC_API DES_LOCATION __stdcall calcDisLocation(CALC_DES_DATA calcData);
 | 
						|
 | 
						|
    /**********************************************
 | 
						|
    * @func          calcDisLocation
 | 
						|
    * @brief         计算目标点的位置(向量)
 | 
						|
    * @param         CALC_DES_DATA 计算目标点经纬度需求数据
 | 
						|
    * @return        DES_LOCATION  目标点位置信息数据
 | 
						|
    **********************************************/
 | 
						|
    CALC_API DES_LOCATION __stdcall calcDisLocation2(CALC_DES_DATA calcData);
 | 
						|
 | 
						|
    /**********************************************
 | 
						|
    * @func          calcPodNeedAngle
 | 
						|
    * @brief         计算空投目标点转向与俯仰应变化的角度
 | 
						|
    * @param         CALC_DES_DATA 计算目标点经纬度需求数据
 | 
						|
    * @return        POD_NEED_ANGLE  目标点位置信息数据
 | 
						|
    **********************************************/
 | 
						|
    CALC_API POD_NEED_ANGLE __stdcall calcPodNeedAngle(CALC_DES_DATA calcData, DES_LOCATION desLocation);
 | 
						|
 | 
						|
    /**********************************************
 | 
						|
    * @func          calcPodNeedAngle2
 | 
						|
    * @brief         计算空投目标点转向与俯仰应变化的角度(向量)
 | 
						|
    * @param         CALC_DES_DATA 计算目标点经纬度需求数据
 | 
						|
    * @return        POD_NEED_ANGLE  目标点位置信息数据
 | 
						|
    **********************************************/
 | 
						|
    CALC_API POD_NEED_ANGLE __stdcall calcPodNeedAngle2(CALC_DES_DATA calcData, DES_LOCATION desLocation);
 | 
						|
#ifdef __cplusplus
 | 
						|
}
 | 
						|
#endif |