public bool PixelSame(EastingNorthingPoint src) { return m_pixel.Same(src.m_pixel); }
private void AddNewEastingNorthing(int newEasting, int newNorthing, int pixelX, int pixelY) { EastingNorthingPoint newPoint = new EastingNorthingPoint(newEasting, newNorthing, pixelX, pixelY); /* bool found = false; foreach (EastingNorthingPoint point in m_settings.m_calibrationPoints) { if (point.PixelSame(newPoint)) { point.EastingNorthing.X = newEasting; point.EastingNorthing.Y = newNorthing; found = true; MessageBox.Show("Found it"); break; } } */ if (m_hoverCalibrationPoint == -1) { m_settings.m_calibrationPoints.Add(newPoint); } else { m_settings.m_calibrationPoints[m_hoverCalibrationPoint].EastingNorthing.X = newEasting; m_settings.m_calibrationPoints[m_hoverCalibrationPoint].EastingNorthing.Y = newNorthing; } ComputeBestFitEastingNorthing(); RefreshImages(); }
public bool Load(string fileName) { try { StreamReader inputStream = new StreamReader(fileName); string param; string value; m_calibrationPoints.Clear(); m_trees.Clear(); while (inputStream.EndOfStream == false) { param = inputStream.ReadLine(); value = inputStream.ReadLine(); if (param == "EastingZero") { m_eastingZero = Convert.ToSingle(value); } else if (param == "NorthingZero") { m_northingZero = Convert.ToSingle(value); } else if (param == "EastingScale") { m_eastingScale = Convert.ToSingle(value); } else if (param == "NorthingScale") { m_northingScale = Convert.ToSingle(value); } else if (param == "DisplayPoints") { m_displayPoints = Convert.ToBoolean(value); } else if (param == "DetailImageTrack") { m_detailImageTrack = Convert.ToBoolean(value); } else if (param == "NumNorthPoints") { m_numNorthPoints = Convert.ToInt32(value); } else if (param == "NorthPoint0_X") { m_northPoint0_X = Convert.ToInt32(value); } else if (param == "NorthPoint0_Y") { m_northPoint0_Y = Convert.ToInt32(value); } else if (param == "NorthPoint1_X") { m_northPoint1_X = Convert.ToInt32(value); } else if (param == "NorthPoint1_Y") { m_northPoint1_Y = Convert.ToInt32(value); } else if (param == "NorthAngle") { m_northAngle = Convert.ToDouble(value) * Math.PI / 180.0f; } else if (param == "NumPoints") { int numPoints = Convert.ToInt32(value); m_calibrationPoints.Clear(); for (int i = 0; i < numPoints; i++) { param = inputStream.ReadLine(); if (param != string.Format("Point[{0}]", i)) { MessageBox.Show(String.Format("Load Failed : file '{0}' : unknown parameter '{1}'", fileName, param)); inputStream.Close(); return false; } EastingNorthingPoint point = new EastingNorthingPoint(); value = inputStream.ReadLine(); point.EastingNorthing.X = Convert.ToInt64(value); value = inputStream.ReadLine(); point.EastingNorthing.Y = Convert.ToInt64(value); value = inputStream.ReadLine(); point.Pixel.X = Convert.ToInt64(value); value = inputStream.ReadLine(); point.Pixel.Y = Convert.ToInt64(value); m_calibrationPoints.Add(point); } } else if (param == "NumTrees") { int numTrees = Convert.ToInt32(value); m_trees.Clear(); for (int i = 0; i < numTrees; i++) { param = inputStream.ReadLine(); if (param != string.Format("Tree[{0}]", i)) { MessageBox.Show(String.Format("Load Failed : file '{0}' : unknown parameter '{1}'", fileName, param)); inputStream.Close(); return false; } EastingNorthingPoint point = new EastingNorthingPoint(); value = inputStream.ReadLine(); point.EastingNorthing.X = Convert.ToInt64(value); value = inputStream.ReadLine(); point.EastingNorthing.Y = Convert.ToInt64(value); value = inputStream.ReadLine(); point.Pixel.X = Convert.ToInt64(value); value = inputStream.ReadLine(); point.Pixel.Y = Convert.ToInt64(value); m_trees.Add(point); } } else { MessageBox.Show(String.Format("Load Failed : file '{0}' : unknown parameter '{1}'", fileName, param)); inputStream.Close(); return false; } } inputStream.Close(); return true; } catch (FileNotFoundException) { MessageBox.Show(String.Format("Load Failed : file '{0}' not found", fileName)); return false; } catch (IOException e) { MessageBox.Show(String.Format("Load Failed : file '{0}' : IO exception {0}", fileName, e.Message)); return false; } catch (Exception e) { MessageBox.Show(String.Format("Load Failed : file '{0}' : C# exception {0}", fileName, e.Message)); return false; } }
private void EnterTree() { int pixelX = m_sourceImagePixelX; int pixelY = m_sourceImagePixelY; float eastingPixel = 0.0f; float northingPixel = 0.0f; ComputeEastingNorthingPixel((float)pixelX, (float)pixelY, ref eastingPixel, ref northingPixel); float easting = m_settings.m_eastingZero + eastingPixel * m_settings.m_eastingScale; float northing = m_settings.m_northingZero + northingPixel * m_settings.m_northingScale; if (m_hoverTreePoint == -1) { EastingNorthingPoint newTree = new EastingNorthingPoint((int)easting, (int)northing, pixelX, pixelY); m_settings.m_trees.Add(newTree); } else { m_settings.m_trees[m_hoverTreePoint].EastingNorthing.X = (int)easting; m_settings.m_trees[m_hoverTreePoint].EastingNorthing.Y = (int)northing; m_settings.m_trees[m_hoverTreePoint].Pixel.X = pixelX; m_settings.m_trees[m_hoverTreePoint].Pixel.Y = pixelY; } RefreshImages(); SaveSettings(true); }