#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); };