private bool CoordinateIsInBounds(ITwoDimensionalCoordinate coordinate) { var x = coordinate.GetX(); var y = coordinate.GetY(); return((x >= 0 && x < Width()) && (y >= 0 && y < Height())); }
private void AddAdjacentPixelsOnY(ICollection <MapPixel> adjacentPixels, ITwoDimensionalCoordinate coordinate) { var currentCoordinate = new MapCoordinate(coordinate.GetX(), coordinate.GetY()); for (var yOff = -1; yOff <= 1; yOff += 2) { currentCoordinate.SetY(coordinate.GetY() + yOff); if (CoordinateIsInBounds(coordinate)) { adjacentPixels.Add(_map[currentCoordinate.GetX(), currentCoordinate.GetY()]); } } }
/// <summary> /// Constructs an airspace. The location of the airspace is defined by its south west corner. /// The airspace will always measure a square of 80000x80000 meters within altitudes of 500-20000 meters. /// </summary> /// <param name="southWestCorner">The southwest corner of the airspace</param> public Airspace(ITwoDimensionalCoordinate southWestCorner) { // These constants are defined in the assignment const int lowerAltitude = 500; const int upperAltitude = 20000; const int airspaceSize = 80000; SouthWestCorner = southWestCorner; // Define the northeast corner based on the southwest corner and the above constants NorthEastCorner = new TwoDimensionalCoordinate(southWestCorner.X + airspaceSize, southWestCorner.Y + airspaceSize); //The lower and upper altitudes are defined in the assignment LowerAltitudeBoundary = lowerAltitude; UpperAltitudeBoundary = upperAltitude; }