using DevExpress.Charts.Native;
using DevExpress.Internal.WinApi.Windows.UI.Notifications;
using DevExpress.XtraPrinting;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using XdCxRhDW.App.DTO;
using static DevExpress.XtraCharts.GLGraphics.Platform.EGL;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.TaskbarClock;
namespace XzXdDw.App.Api.低轨GDOP误差椭圆
{
///
/// Gdop误差分布计算帮助类.该类调用了GdopCore.exe进程
/// 每种GDOP算法提供了两个接口,这两种接口是完全等价的,一种传入双行根,一种直接传入卫星状态x、y、z等
///
public static class GdopHelper
{
private const string GDOPDll = @"Api\低轨GDOP误差椭圆\GDOP\DLL_GDOP_Analysis.dll";
///
/// 低轨双星误差椭圆
///
/// 主星位置 长度6
/// 邻星位置 长度6
/// 参考位置 长度3
/// 定位点长度3
/// 时差误差(s)
/// 频差误差(Hz)
///
///
///
/// 0.5
///
///
[DllImport(GDOPDll, EntryPoint = "Error_Ellipse_DTFO", CallingConvention = CallingConvention.Cdecl)]
public extern static IntPtr Error_Ellipse_DTFO(double[] main_eph, double[] neigh_eph, double[] ref_pos, double[] Select_Point, double dto_err, double dfo_err,
double eph_pos_err, double eph_vel_err, double fu, double Pe, ref int LOP_Len);
[DllImport(GDOPDll, CallingConvention = CallingConvention.Cdecl)]
public static extern void freeBuff(IntPtr buf);
}
}