using System; using System.Collections.Generic; namespace WindStressPRM { /// <summary> /// Coordinate pair /// пара координат, может быть рамерности: м, км, градус, однако для всех экземпляров должна быть одной и той же. /// </summary> public class Coordinate { /// <summary> /// easting coordinate /// Координата по долготе/ X, (м, км, градус) /// </summary> public double X { get; private set; } /// <summary> /// northing coordinate /// Координата по широте/Y, (м, км, градус) /// </summary> public double Y { get; private set; } /// <summary> /// designated constructor /// Основной конструктор /// </summary> /// <param name="X"></param> /// <param name="Y"></param> public Coordinate(double X, double Y) { this.X = X; this.Y = Y; if (!(this.CheckValue())) { throw new System.ArgumentException("Passed coordinates are not valid!"); } } /// <summary> /// Проверка на валидность значений /// </summary> /// <returns></returns> public bool CheckValue() { return !Double.IsNaN(X) && !Double.IsInfinity(X) && !Double.IsNaN(Y) && !Double.IsInfinity(Y); } } }