public Form1() { Radars = new List <Radar>(); XDIM = Properties.Settings.Default.Xdim; YDIM = Properties.Settings.Default.Ydim; scanIndex = 0; #if DOUBLE GaussianKernel = new double[GAUSSIANLENGTH]; #else GaussianKernel = new uint[GAUSSIANLENGTH]; #endif InitializeComponent(); GAUSSIANSUM = Filter.GenerateKernel(GaussianKernel, GAUSSIANLENGTH, SigmaBar.Value); fullBit = GuiUtil.GenerateBitmap(300, XDIM, YDIM); BITCOLS = fullBit.Width; BITROWS = fullBit.Height; radarGraph = new RadarGraph(); _async = new AsynchronousSocketListener(); _async.ScanReceived += async_ScanReceived; _async.SetConfigReceived += async_SetConfigReceived; _async.GetConfigReceived += async_GetConfigReceived; _async.RadarConnected += async_RadarConnected; _async.RadarDisconnected += async_RadarDisconnected; Thread t = new Thread(new ThreadStart(_async.StartListening)); t.Start(); IPEndPoint ipe = _async.GetEndPoint(); label3.Text = ipe.Address.ToString(); label4.Text = ipe.Port.ToString(); RadarXBox.Text = XDIM.ToString(); RadarYBox.Text = YDIM.ToString(); _scanTimer = new System.Threading.Timer(new TimerCallback(ScanTimer_Tick), null, System.Threading.Timeout.Infinite, System.Threading.Timeout.Infinite); }
private void RadarSetButton_Click(object sender, EventArgs e) { int x, y; if (int.TryParse(RadarXBox.Text, out x) && int.TryParse(RadarYBox.Text, out y)) { if (ProximityBox.Checked) { foreach (Radar r in Radars) { double proxX = (double)r.Location.X / (double)XDIM; double proxY = (double)r.Location.Y / (double)YDIM; if (proxX >= 0.0 && proxX <= 1.0) { r.Location.X = (int)(proxX * x); } else if (proxX > 1.0) { r.Location.X = (int)(r.Location.X - XDIM) + x; } if (proxY >= 0.0 && proxY <= 1.0) { r.Location.Y = (int)(proxY * y); } else if (proxY > 1.0) { r.Location.Y = (int)(r.Location.Y - YDIM) + y; } } } XDIM = x; YDIM = y; if (fullBit != null) { fullBit.Dispose(); } fullBit = GuiUtil.GenerateBitmap(300, XDIM, YDIM); BITCOLS = fullBit.Width; BITROWS = fullBit.Height; } else { MessageBox.Show("Invalid dimensions", "Error", MessageBoxButtons.OK); } }