Positioning.h 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #pragma once
  2. #ifdef _WIN32
  3. # if defined(Positioning_LIB)
  4. # define Positioning_EXPORT __declspec(dllexport)
  5. # else
  6. # define Positioning_EXPORT __declspec(dllimport)
  7. # endif
  8. #else
  9. # define Positioning_EXPORT
  10. #endif
  11. extern "C"
  12. {
  13. /*
  14. 双星时差线
  15. LOP_Value 返回值 结构参考DTO_Plot
  16. LOP_Len*3为LOP_Value的长度
  17. */
  18. Positioning_EXPORT void CurveByTwoTDOA(double *main_sat_pos, double *neigh_sat_pos, double *rec_pos1, double *rec_pos2, double *ref_pos,
  19. double *Zone, double target_dto, double ref_dto, double **LOP_Value, int *LOP_Len);
  20. /*
  21. 双星时差线-无参
  22. LOP_Value 返回值 结构参考DTO_Plot
  23. LOP_Len*3为LOP_Value的长度
  24. */
  25. Positioning_EXPORT void CurveByTwoTDOAWithNoRef(double *main_sat_pos, double *neigh_sat_pos, double *rec_pos1, double *rec_pos2,
  26. double *Zone, double target_dto, double **LOP_Value, int *LOP_Len);
  27. /*
  28. 三星定位
  29. target_llh,长度固定为6 经度、纬度、高;(镜像)经度、纬度、高
  30. */
  31. Positioning_EXPORT void HyperbolicPositioning(double *main_sat, double *neigh_sat1, double *neigh_sat2, double *Sat_Station_LLH1, double *Sat_Station_LLH2, double *Sat_Station_LLH3,
  32. double *Ref_Station_LLH, double *Zone, double target_dto1, double target_dto2, double ref_dto1, double ref_dto2, double *target_llh);
  33. /*
  34. 三星定位
  35. target_llh,长度固定为6 经度、纬度、高;(镜像)经度、纬度、高
  36. */
  37. Positioning_EXPORT void HyperbolicPositioningWithNoRef(double *main_sat, double *neigh_sat1, double *neigh_sat2, double *Sat_Station_LLH1, double *Sat_Station_LLH2, double *Sat_Station_LLH3,
  38. double *Zone, double target_dto1, double target_dto2, double *target_llh);
  39. /*
  40. 用于释放时差线缓存
  41. */
  42. Positioning_EXPORT void Destory(void *buf);
  43. };