package com.imdroid.sideslope.bd;


import java.time.LocalDateTime;

public interface FocusCalculator {
    void reset();

    // 数据收集：b562位置、惯导角度、基站到测站时延
    void addXyz(double[] xyz, LocalDateTime dataTime);
    void addTilt(Tilt tilt);
    void addDelayMs(int ms);

    // 解算：b562位置、惯导位置、融合位置
    void setReferPoint(double[] point);
    double[] getReferPoint();
    double[] resultB562();//根据参考位置和本轮收集的b562计算GNSS位置
    //double[] result9250();//根据初始位置和本轮收集的惯导角度计算惯导位置
    //double[] ekfResult(double[] b562Xyz, double[] tiltXyz);//计算融合位置

    //获取b562统计：固定解、浮点解、无解
    int[] getB562Stat();
    Tilt avgTilt();
    int getAvgDelayMs();
    boolean isShocked();

    // 算法版本
    int getVer();
}
