-
TMGR Make SubBearing Info Process 예제업무용 소스 예제 2021. 9. 23. 17:38728x90반응형728x90
- TRK Make SubBearing Info Process 예제
private Task ProcessTRKMGR_SUBSURFACEBEARING_INFOInfo(ushort trackId) { return Task.Run(() => { try { string cLinkTrackComment = string.Empty; TRKMGR_SUBSURFACEBEARING_INFO TrackSURFACEBEARING = new TRKMGR_SUBSURFACEBEARING_INFO(); if (DataManagerUnit1.dic_SubSurFaceBearingTargetInfo.ContainsKey(trackId)) { TrackSURFACEBEARING.copy_from(DataManagerUnit1.dic_SubSurFaceBearingTargetInfo[trackId]); } else { return; } Track_total_InfoViewModel TTIV3 = new Track_total_InfoViewModel(); TTIV3.ChartTrackID = (uint)(TrackSURFACEBEARING.unLinkTrackID + TrackID.TrackSURFACEBEARING); TTIV3.unLinkTackID = TrackSURFACEBEARING.unLinkTrackID; TTIV3.enumEN_IDENTIFICATION = (EN_IDENTIFICATION)TrackSURFACEBEARING.eTrackIdentification; TTIV3.enumEN_TYPECATEGORY = (EN_TYPECATEGORY)TrackSURFACEBEARING.eTrackCategory; TTIV3.fBearing = TrackSURFACEBEARING.stTarget2DPosition.fBearing; TTIV3.fRange = TrackSURFACEBEARING.stTarget2DPosition.fRange; cLinkTrackComment = CommonUtils.GetUTF8String(TrackSURFACEBEARING.cLinkTrackComment); cLinkTrackComment = cLinkTrackComment.Replace("\0", String.Empty); TTIV3.LinkTrackComment = cLinkTrackComment; TTIV3.SonaKind = EN_SENSORSOURCEKIND.SENSORSOURCEKIND_LINK; TTIV3.eMainTrackingSource = EN_SENSORSOURCEKIND.SENSORSOURCEKIND_LINK; TTIV3.SymbolName = GetSymbolCode((uint)TTIV3.enumEN_TYPECATEGORY, (uint)TTIV3.enumEN_IDENTIFICATION, TTIV3.enumEnumClassType, DataManagerUnit7.St_Setting.TrackSymbol); TTIV3.fDepth = TrackSURFACEBEARING.stGeodeticPosition.fDepth; ushort unOriginLinkTrackID = TrackSURFACEBEARING.unOriginLinkTrackID; ushort unPosDataKindTTIV3 = 0; if (TTIV3.dLat == double.MaxValue || TTIV3.fRange == float.MaxValue) { unPosDataKindTTIV3 = 4; uint TTIVTempid = SettingChartID(unOriginLinkTrackID, TrackID.TrackAIR); if (Track_total_InfoList.ContainsKey(TTIVTempid)) { Track_total_InfoViewModel TTIVtemp = Track_total_InfoList[TTIVTempid]; Tuple<double, double> datLontemp = ViewModel.Presentation.GetChart().BD2LL(TTIVtemp.dLon, TTIVtemp.dLat, TTIV3.fBearing, 91440); TTIV3.dLat = datLontemp.Item2; TTIV3.dLon = datLontemp.Item1; } else return; } else { unPosDataKindTTIV3 = 2; TTIV3.dLat = TrackSURFACEBEARING.stGeodeticPosition.dLatitude; TTIV3.dLon = TrackSURFACEBEARING.stGeodeticPosition.dLongitude; } if (DataManager._displayFilterInfo.sensorSourceKind[TTIV3.SonaKind] && DataManager._displayFilterInfo.identification[TTIV3.enumEN_IDENTIFICATION] && DataManager._displayFilterInfo.typeCategory[TTIV3.enumEN_TYPECATEGORY]) TTIV3.unSystemExist = 1; else TTIV3.unSystemExist = 0; if (Track_total_InfoList.ContainsKey(TTIV3.ChartTrackID)) { short a = Track_total_InfoList[TTIV3.ChartTrackID].unSystemExist; TTIV3.unSystemExist = (short)(a & TTIV3.unSystemExist); if (Track_total_InfoList[TTIV3.ChartTrackID].unPosDataKind != unPosDataKindTTIV3) { ViewModel.Presentation.GetSymbolLayer().DelLayerObject(TTIV3.ChartTrackID, 0); if (Track_total_InfoList[TTIV3.ChartTrackID].unPosDataKind == 4) ViewModel.Presentation.GetSymbolLayer().AddWatchTrack(TTIV3.ChartTrackID, TTIV3.unOriginLinkTrackID, 0, 0); } TTIV3.unPosDataKind = unPosDataKindTTIV3; TTIV3.unOriginLinkTrackID = unOriginLinkTrackID; Track_total_InfoList[TTIV3.ChartTrackID] = TTIV3; } else { TTIV3.unPosDataKind = unPosDataKindTTIV3; TTIV3.unOriginLinkTrackID = unOriginLinkTrackID; if (Track_total_InfoList == null) return; Track_total_InfoList.TryAdd(TTIV3.ChartTrackID, TTIV3); } PrintSHOW_MAX_DEBUG(String.Format("TaskEnd : TRKMGR_SUBSURFACEBEARING_INFO ID {0}, {1}", TrackSURFACEBEARING.unLinkTrackID, DateTime.Now)); PrintMsgPopUp(string.Format("{0} unLinkTrackID:{1}", "TRKMGR_SUBSURFACEBEARING_INFO", TrackSURFACEBEARING.unLinkTrackID)); } catch (Exception ee) { TraceManager.AddLog(string.Format("{0}r\n{1}", ee.StackTrace, ee.Message)); System.Diagnostics.Debug.WriteLine(string.Format("{0}r\n{1}", ee.StackTrace, ee.Message)); } }); }
728x90반응형'업무용 소스 예제' 카테고리의 다른 글
C# 시간 변경 함수 예제 (2) 2021.10.10 워터폴 그래프 BDT 데이터 수집 예제 함수 (2) 2021.10.04 시스템 상태 알람 경보 Set 예제 (2) 2021.09.17 gridScheduleView_DoubleClick 그리드 더블클릭 시 처리 예제 (3) 2021.09.11 팀 상태 변경 시 ViewTermStatusChange 처리 예제 (4) 2021.09.06