mirror of
https://github.com/ClemensFischer/XAML-Map-Control.git
synced 2026-05-07 13:37:47 +00:00
Version 4.7.0: Added UWP Vector class
This commit is contained in:
parent
32db0f22c1
commit
9c148e13c4
21 changed files with 154 additions and 93 deletions
73
MapControl/UWP/Vector.UWP.cs
Normal file
73
MapControl/UWP/Vector.UWP.cs
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
// XAML Map Control - https://github.com/ClemensFischer/XAML-Map-Control
|
||||
// © 2018 Clemens Fischer
|
||||
// Licensed under the Microsoft Public License (Ms-PL)
|
||||
|
||||
namespace MapControl
|
||||
{
|
||||
public struct Vector
|
||||
{
|
||||
public double X { get; set; }
|
||||
public double Y { get; set; }
|
||||
|
||||
public Vector(double x, double y)
|
||||
{
|
||||
X = x;
|
||||
Y = y;
|
||||
}
|
||||
|
||||
public static implicit operator Windows.Foundation.Point(Vector v)
|
||||
{
|
||||
return new Windows.Foundation.Point(v.X, v.Y);
|
||||
}
|
||||
|
||||
public static implicit operator Vector(Windows.Foundation.Point v)
|
||||
{
|
||||
return new Vector(v.X, v.Y);
|
||||
}
|
||||
|
||||
public static explicit operator Vector(Point p)
|
||||
{
|
||||
return new Vector(p.X, p.Y);
|
||||
}
|
||||
|
||||
public static Vector operator -(Vector v)
|
||||
{
|
||||
return new Vector(-v.X, -v.Y);
|
||||
}
|
||||
|
||||
public static Point operator +(Vector v, Point p)
|
||||
{
|
||||
return new Point(v.X + p.X, v.Y + p.Y);
|
||||
}
|
||||
|
||||
public static Vector operator +(Vector v1, Vector v2)
|
||||
{
|
||||
return new Vector(v1.X + v2.X, v1.Y + v2.Y);
|
||||
}
|
||||
|
||||
public static Vector operator -(Vector v1, Vector v2)
|
||||
{
|
||||
return new Vector(v1.X - v2.X, v1.Y - v2.Y);
|
||||
}
|
||||
|
||||
public static bool operator ==(Vector v1, Vector v2)
|
||||
{
|
||||
return v1.X == v2.X && v1.Y == v2.Y;
|
||||
}
|
||||
|
||||
public static bool operator !=(Vector v1, Vector v2)
|
||||
{
|
||||
return !(v1 == v2);
|
||||
}
|
||||
|
||||
public override bool Equals(object o)
|
||||
{
|
||||
return o is Vector && this == (Vector)o;
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return X.GetHashCode() ^ Y.GetHashCode();
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue