Newer
Older
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;
}
/// <summary>
/// Проверка на валидность значений
/// </summary>
/// <returns></returns>
if (Double.IsNaN(X) || Double.IsInfinity(X))
{
throw new System.ArgumentOutOfRangeException("Coordinate.X is incorrect", X, "Expected X!=Nan, X!=INF");
}
if (Double.IsNaN(Y) || Double.IsInfinity(Y))
{
throw new System.ArgumentOutOfRangeException("Coordinate.Y is incorrect", Y, "Expected Y!=Nan, Y!=INF");
}