업무용 소스 예제
마우스 포지션의 도플러값 반환 예제
준이바라기얍
2022. 2. 26. 12:59
728x90
반응형
private double GetDoppler(Point mp)
{
try
{
int xIndex = (int)(mp.X / 16);
int aIndex = (int)mp.X % 16;
double yIndex = mp.Y;
if (yIndex >= 320.0) yIndex = 319;
ushort unMode = DataManagerUnit1.BDTSystemInfo.stBDTAOSInfo.unTransmitMode;
switch (DataManagerUnit1.BDTSystemInfo.stBDTAOSInfo.unDispMode)
{
case 0: if (DataManagerUnit1.dic_CWCASPCRInfo.ContainsKey((ushort)(unMode + 1)))
{
if (this.Tag.Equals("AOSD"))
{
double exPos = (DataManagerUnit1.BDTSystemInfo.stBDTAOSInfo.unExpandScale * mp.X) / this.ActualWidth;
xIndex = (int)(exPos / 16);
aIndex = (int)exPos % 16;
}
if (DataManagerUnit1.dic_CWCASPCRInfo[(ushort)(unMode + 1)].Count > xIndex)
return DataManagerUnit1.dic_CWCASPCRInfo[(ushort)(unMode + 1)][xIndex].sDisplayDoppler[aIndex, (int)yIndex];
} break;
case 1: if (DataManagerUnit1.dic_FMCASPCRInfo.ContainsKey((ushort)(unMode + 1)))
{
if (this.Tag.Equals("AOSD"))
{
double exPos = (DataManagerUnit1.BDTSystemInfo.stBDTAOSInfo.unExpandScale * mp.X) / this.ActualWidth;
xIndex = (int)(exPos / 16);
aIndex = (int)exPos % 16;
}
if (DataManagerUnit1.dic_FMCASPCRInfo[(ushort)(unMode + 1)].Count > xIndex)
return DataManagerUnit1.dic_FMCASPCRInfo[(ushort)(unMode + 1)][xIndex].sDisplayDoppler[aIndex, (int)yIndex];
} break;
case 2: if (this.Tag.Equals("AOSU"))
{
if (DataManagerUnit1.dic_CWCASPCRInfo.ContainsKey((ushort)(unMode + 1)))
if (DataManagerUnit1.dic_CWCASPCRInfo[(ushort)(unMode + 1)].Count > xIndex)
return DataManagerUnit1.dic_CWCASPCRInfo[(ushort)(unMode + 1)][xIndex].sDisplayDoppler[aIndex, (int)yIndex];
}
else
{
if (DataManagerUnit1.dic_FMCASPCRInfo.ContainsKey((ushort)(unMode + 1)))
if (DataManagerUnit1.dic_FMCASPCRInfo[(ushort)(unMode + 1)].Count > xIndex)
return DataManagerUnit1.dic_FMCASPCRInfo[(ushort)(unMode + 1)][xIndex].sDisplayDoppler[aIndex, (int)yIndex];
} break;
}
return double.NaN;
}
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));
return double.NaN;
}
}
728x90
반응형