123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- #pragma once
- #ifndef _WIN32 //linux
- #ifndef DECL_EXPORT
- # define DECL_EXPORT __attribute__((visibility("default")))
- #endif
- #ifndef DECL_IMPORT
- # define DECL_IMPORT __attribute__((visibility("default")))
- #endif
- #else //Windows
- #ifndef DECL_EXPORT
- # define DECL_EXPORT __declspec(dllexport)
- #endif
- #ifndef DECL_IMPORT
- # define DECL_IMPORT __declspec(dllimport)
- #endif
- #endif
- #ifdef DLL_GZDW_Lib
- #define DLL_GZDW_EXPORT DECL_EXPORT
- #else
- #define DLL_GZDW_EXPORT DECL_IMPORT
- #endif
- typedef struct _DTO_Plot
- {
- double lati;
- double longi[2];
- } DTO_Plot;
- extern "C"
- {
- /*
- LOP_Value 返回值 结构参考DTO_Plot
- LOP_Len*3为LOP_Value的长度
- */
- DLL_GZDW_EXPORT void TwoStar_SCX(double* main_sat_pos, double* neigh_sat_pos, double* ref_pos, double* Zone,
- double target_dto, double ref_dto, double** LOP_Value, int* LOP_Len);//LOP_Value用double[]接收,LOP_Len=5,则LOP_Value长度未15,每3个为一个DTO_PLOT对象,包含了左右对称的两个点
- /*
- LOP_Value 返回值 结构参考DTO_Plot
- LOP_Len * 3为LOP_Value的长度
- */
- DLL_GZDW_EXPORT void TwoStar_PCX(double* main_sat, double* neigh_sat, double* ref_pos,
- double* Zone, double target_dfo, double ref_dfo, double fu1, double fu2, double** LOP_Value, int* LOP_Len);
- /*
- LOP_Value 返回值 结构参考DTO_Plot
- LOP_Len * 3为LOP_Value的长度
- */
- DLL_GZDW_EXPORT void SingleStar_PCX(double* main_sat, double* neigh_sat, double* Zone, double target_dfo, double fu, double** LOP_Value, int* LOP_Len);
- /*
- sx-dto-dfo-dw
- LOP_Value 返回值 结构参考DTO_Plot
- LOP_Len * 3为LOP_Value的长度
- */
- DLL_GZDW_EXPORT void TwoStar_DTFO_DW(double* main_sat, double* neigh_sat, double* Ref_Station_LLH, double* Zone, double target_dto, double target_dfo,
- double ref_dto, double ref_dfo, double fu1, double fu2, double* target_llh);
- /*
- sx-dto-dfo-dw
- LOP_Value 返回值 结构参考DTO_Plot
- LOP_Len * 3为LOP_Value的长度
- */
- DLL_GZDW_EXPORT void SingleStar_DFO_DW(double* main_sat, double* neigh_sat1, double* neigh_sat2, double* Zone, double target_dfo1, double target_dfo2, double fu, double* target_llh);
- DLL_GZDW_EXPORT void freeBuff(void* buf);
- //DLL_GZDW_EXPORT void DTO_Comput(double* target_llh, double* ref_llh, double* rec_llh1, double* rec_llh2, double* main_sat_pos, double* neigh_sat_pos, double* dto_result);
- };
|