Files @ ae8f7007cb0e
Branch filter:

Location: seniordesign-ui/GMap.NET.Core/GMap.NET/SizeLatLng.cs - annotation

ethanzonca@CL-ENS241-08.cedarville.edu
Added licensing information
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619
65c134a3d619

namespace GMap.NET
{
   using System.Globalization;

   /// <summary>
   /// the size of coordinates
   /// </summary>
   public struct SizeLatLng
   {
      public static readonly SizeLatLng Empty;

      private double heightLat;
      private double widthLng;

      public SizeLatLng(SizeLatLng size)
      {
         this.widthLng = size.widthLng;
         this.heightLat = size.heightLat;
      }

      public SizeLatLng(PointLatLng pt)
      {
         this.heightLat = pt.Lat;
         this.widthLng = pt.Lng;
      }

      public SizeLatLng(double heightLat, double widthLng)
      {
         this.heightLat = heightLat;
         this.widthLng = widthLng;
      }

      public static SizeLatLng operator+(SizeLatLng sz1, SizeLatLng sz2)
      {
         return Add(sz1, sz2);
      }

      public static SizeLatLng operator-(SizeLatLng sz1, SizeLatLng sz2)
      {
         return Subtract(sz1, sz2);
      }

      public static bool operator==(SizeLatLng sz1, SizeLatLng sz2)
      {
         return ((sz1.WidthLng == sz2.WidthLng) && (sz1.HeightLat == sz2.HeightLat));
      }

      public static bool operator!=(SizeLatLng sz1, SizeLatLng sz2)
      {
         return !(sz1 == sz2);
      }

      public static explicit operator PointLatLng(SizeLatLng size)
      {
         return new PointLatLng(size.HeightLat, size.WidthLng);
      }

      public bool IsEmpty
      {
         get
         {
            return ((this.widthLng == 0d) && (this.heightLat == 0d));
         }
      }

      public double WidthLng
      {
         get
         {
            return this.widthLng;
         }
         set
         {
            this.widthLng = value;
         }
      }

      public double HeightLat
      {
         get
         {
            return this.heightLat;
         }
         set
         {
            this.heightLat = value;
         }
      }

      public static SizeLatLng Add(SizeLatLng sz1, SizeLatLng sz2)
      {
         return new SizeLatLng(sz1.HeightLat + sz2.HeightLat, sz1.WidthLng + sz2.WidthLng);
      }

      public static SizeLatLng Subtract(SizeLatLng sz1, SizeLatLng sz2)
      {
         return new SizeLatLng(sz1.HeightLat - sz2.HeightLat, sz1.WidthLng - sz2.WidthLng);
      }

      public override bool Equals(object obj)
      {
         if(!(obj is SizeLatLng))
         {
            return false;
         }
         SizeLatLng ef = (SizeLatLng) obj;
         return (((ef.WidthLng == this.WidthLng) && (ef.HeightLat == this.HeightLat)) && ef.GetType().Equals(base.GetType()));
      }

      public override int GetHashCode()
      {
         if(this.IsEmpty)
         {
            return 0;
         }
         return (this.WidthLng.GetHashCode() ^ this.HeightLat.GetHashCode());
      }

      public PointLatLng ToPointLatLng()
      {
         return (PointLatLng) this;
      }

      public override string ToString()
      {
         return ("{WidthLng=" + this.widthLng.ToString(CultureInfo.CurrentCulture) + ", HeightLng=" + this.heightLat.ToString(CultureInfo.CurrentCulture) + "}");
      }

      static SizeLatLng()
      {
         Empty = new SizeLatLng();
      }
   }
}