DLL_LHDW.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #pragma once
  2. #ifndef _WIN32 //linux
  3. #ifndef DECL_EXPORT
  4. # define DECL_EXPORT __attribute__((visibility("default")))
  5. #endif
  6. #ifndef DECL_IMPORT
  7. # define DECL_IMPORT __attribute__((visibility("default")))
  8. #endif
  9. #else //Windows
  10. #ifndef DECL_EXPORT
  11. # define DECL_EXPORT __declspec(dllexport)
  12. #endif
  13. #ifndef DECL_IMPORT
  14. # define DECL_IMPORT __declspec(dllimport)
  15. #endif
  16. #endif
  17. #ifdef DLL_GZDW_Lib
  18. #define DLL_GZDW_EXPORT DECL_EXPORT
  19. #else
  20. #define DLL_GZDW_EXPORT DECL_IMPORT
  21. #endif
  22. typedef struct _DTO_Plot
  23. {
  24. double lati;
  25. double longi[2];
  26. } DTO_Plot;
  27. extern "C"
  28. {
  29. /*
  30. LOP_Value 返回值 结构参考DTO_Plot
  31. LOP_Len*3为LOP_Value的长度
  32. */
  33. DLL_GZDW_EXPORT void TwoStar_SCX(double* main_sat_pos, double* neigh_sat_pos, double* ref_pos, double* Zone,
  34. double target_dto, double ref_dto, double** LOP_Value, int* LOP_Len);//LOP_Value用double[]接收,LOP_Len=5,则LOP_Value长度未15,每3个为一个DTO_PLOT对象,包含了左右对称的两个点
  35. /*
  36. LOP_Value 返回值 结构参考DTO_Plot
  37. LOP_Len * 3为LOP_Value的长度
  38. */
  39. DLL_GZDW_EXPORT void TwoStar_PCX(double* main_sat, double* neigh_sat, double* ref_pos,
  40. double* Zone, double target_dfo, double ref_dfo, double fu1, double fu2, double** LOP_Value, int* LOP_Len);
  41. /*
  42. LOP_Value 返回值 结构参考DTO_Plot
  43. LOP_Len * 3为LOP_Value的长度
  44. */
  45. 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);
  46. /*
  47. sx-dto-dfo-dw
  48. LOP_Value 返回值 结构参考DTO_Plot
  49. LOP_Len * 3为LOP_Value的长度
  50. */
  51. 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,
  52. double ref_dto, double ref_dfo, double fu1, double fu2, double* target_llh);
  53. /*
  54. sx-dto-dfo-dw
  55. LOP_Value 返回值 结构参考DTO_Plot
  56. LOP_Len * 3为LOP_Value的长度
  57. */
  58. 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);
  59. DLL_GZDW_EXPORT void freeBuff(void* buf);
  60. //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);
  61. };