public void Handle(object sender, DataEventArgs e)
        {
            try
            {
                StructureInterface info = null;
                switch (e.Id)
                {
                case (int)TypeId.GPS:
                    info = gpsInfo;
                    break;

                case (int)TypeId.ADINFO:
                    info = adInfo;
                    break;

                case (int)TypeId.Pose:
                    info = poseInfo;
                    break;

                case (int)TypeId.RawPos:
                    info = RawposInfo;
                    break;

                default:
                    break;
                }
                if (info.Parse(e.Bytes))
                {
                    if (e.Id == (int)TypeId.GPS)
                    {
                        longitude = ((GPSInfo)info).Long;
                        latitude  = ((GPSInfo)info).Lat;
                    }
                    if (e.Id == (int)TypeId.RawPos)
                    {
                        AjustPositionInfo ajInfo = new AjustPositionInfo();
                        ajInfo.CalcPosition(UnitCore.Instance.SoundFile, UnitCore.Instance.SonarConfiguration,
                                            (RawPositionInfo)info, longitude, latitude);
                        info = (StructureInterface)ajInfo;
                        e.Id = (int)TypeId.AjustPos;
                    }
                    if (UnitCore.Instance.State != 0)//replaying
                    {
                        return;
                    }
                    UnitCore.Instance.EventAggregator.PublishMessage(new ShowStructureInfo(info, e.Id));
                    SaveRecvData(info, e.Id);
                }
            }
            catch (Exception ex)
            {
                UnitCore.Instance.EventAggregator.PublishMessage(new ErrorEvent(ex, LogType.Both));
            }
        }
        private void SaveRecvData(StructureInterface info, int p)
        {
            var ut = UnitCore.Instance.USBLTraceService;

            switch (p)
            {
            case (int)TypeId.GPS:
                var gps = info as GPSInfo;
                ut.SaveGPS(gps);
                break;

            case (int)TypeId.ADINFO:
                var ad = info as ADInfo;
                if (UnitCore.Instance.SonarConfiguration.ADSaved == 1)
                {
                    ut.SaveAD(ad);
                }
                break;

            case (int)TypeId.Pose:
                var pose = info as PosetureInfo;
                if (UnitCore.Instance.SonarConfiguration.PoseSaved == 1)
                {
                    ut.SavePose(pose);
                }
                break;

            case (int)TypeId.AjustPos:
                var adj = info as AjustPositionInfo;
                if (UnitCore.Instance.SonarConfiguration.PosSaved == 1)
                {
                    ut.SavePosition(adj);
                }
                break;

            default:
                break;
            }
        }
Example #3
0
 public FileProcess(string fileName, StructureInterface <T> interf, Mode mod)
 {
 }
 public ShowStructureInfo(StructureInterface info, int id)
 {
     Id = id;
     Info = info;
 }
Example #5
0
 public ShowStructureInfo(StructureInterface info, int id)
 {
     Id   = id;
     Info = info;
 }