public Point2i(IPoint2 p) { ITuple2_Integer _p = p.AsTupleInteger(); this.X = _p.X; this.Y = _p.Y; }
public Vector2i(IVector2 v) { ITuple2_Integer _v = v.AsTupleInteger(); this.X = _v.X; this.Y = _v.Y; }
public void TestConvert_Int() { // 2D - vectors { ITuple2_Float v = VectorUtils.Convert <ITuple2_Float>(new Vector2i(1, 2)); Assert.IsTrue(v.X == 1 && v.Y == 2); } { ITuple2_Integer v = VectorUtils.Convert <ITuple2_Integer>(new Vector2i(1, 2)); Assert.IsTrue(v.X == 1 && v.Y == 2); } { ITuple2_Byte v = VectorUtils.Convert <ITuple2_Byte>(new Vector2i(1, 2)); Assert.IsTrue(v.X == 1 && v.Y == 2); } // 2D - points { ITuple2_Float v = VectorUtils.Convert <ITuple2_Float>(new Point2i(1, 2)); Assert.IsTrue(v.X == 1 && v.Y == 2); } { ITuple2_Integer v = VectorUtils.Convert <ITuple2_Integer>(new Point2i(1, 2)); Assert.IsTrue(v.X == 1 && v.Y == 2); } { ITuple2_Byte v = VectorUtils.Convert <ITuple2_Byte>(new Point2i(1, 2)); Assert.IsTrue(v.X == 1 && v.Y == 2); } }
public static ITuple2_Integer AsTupleInteger(this IVector2 v) { ITuple2_Integer ret = v as ITuple2_Integer; if (ret != null) { return(ret); } return(VectorUtils.Convert <ITuple2_Integer>(v)); }
public double Cross(IVector2 v2) { ITuple2_Integer _v2 = v2.AsTupleInteger(); return(this.X * _v2.Y - this.Y * _v2.X); }
public double Dot(IVector2 v2) { ITuple2_Integer _v2 = v2.AsTupleInteger(); return(this.X * _v2.X + this.Y * _v2.Y); }
public bool Equals(IVector2 other) { ITuple2_Integer _other = other.AsTupleInteger(); return(this.Equals(_other.X, _other.Y)); }
bool IEpsilonEquatable <IVector2> .EpsilonEquals(IVector2 other, double epsilon) { ITuple2_Integer _other = other.AsTupleInteger(); return(this.Equals(_other.X, _other.Y)); }
public void TestConvert_Double() { // 2D - vectors { ITuple2_Float v = VectorUtils.Convert <ITuple2_Float>(new Vector2d(1, 2)); Assert.IsTrue(v.X == 1 && v.Y == 2); } { ITuple2_Integer v = VectorUtils.Convert <ITuple2_Integer>(new Vector2d(1, 2)); Assert.IsTrue(v.X == 1 && v.Y == 2); } { ITuple2_Byte v = VectorUtils.Convert <ITuple2_Byte>(new Vector2d(1, 2)); Assert.IsTrue(v.X == 1 && v.Y == 2); } { ITuple2_Float v = VectorUtils.Convert <ITuple2_Float>(new BuffVector2d(1, 2)); Assert.IsTrue(v.X == 1 && v.Y == 2); } { ITuple2_Integer v = VectorUtils.Convert <ITuple2_Integer>(new BuffVector2d(1, 2)); Assert.IsTrue(v.X == 1 && v.Y == 2); } { ITuple2_Byte v = VectorUtils.Convert <ITuple2_Byte>(new BuffVector2d(1, 2)); Assert.IsTrue(v.X == 1 && v.Y == 2); } // 2D - points { ITuple2_Float v = VectorUtils.Convert <ITuple2_Float>(new Point2d(1, 2)); Assert.IsTrue(v.X == 1 && v.Y == 2); } { ITuple2_Integer v = VectorUtils.Convert <ITuple2_Integer>(new Point2d(1, 2)); Assert.IsTrue(v.X == 1 && v.Y == 2); } { ITuple2_Byte v = VectorUtils.Convert <ITuple2_Byte>(new Point2d(1, 2)); Assert.IsTrue(v.X == 1 && v.Y == 2); } { ITuple2_Float v = VectorUtils.Convert <ITuple2_Float>(new BuffPoint2d(1, 2)); Assert.IsTrue(v.X == 1 && v.Y == 2); } { ITuple2_Integer v = VectorUtils.Convert <ITuple2_Integer>(new BuffPoint2d(1, 2)); Assert.IsTrue(v.X == 1 && v.Y == 2); } { ITuple2_Byte v = VectorUtils.Convert <ITuple2_Byte>(new BuffPoint2d(1, 2)); Assert.IsTrue(v.X == 1 && v.Y == 2); } // 3D - vectors { ITuple3_Float v = VectorUtils.Convert <ITuple3_Float>(new Vector3d(1, 2, 3)); Assert.IsTrue(v.X == 1 && v.Y == 2 && v.Z == 3); } { ITuple3_Byte v = VectorUtils.Convert <ITuple3_Byte>(new Vector3d(1, 2, 3)); Assert.IsTrue(v.X == 1 && v.Y == 2 && v.Z == 3); } { ITuple3_Float v = VectorUtils.Convert <ITuple3_Float>(new BuffVector3d(1, 2, 3)); Assert.IsTrue(v.X == 1 && v.Y == 2 && v.Z == 3); } { ITuple3_Byte v = VectorUtils.Convert <ITuple3_Byte>(new BuffVector3d(1, 2, 3)); Assert.IsTrue(v.X == 1 && v.Y == 2 && v.Z == 3); } // 3D - points { ITuple3_Float v = VectorUtils.Convert <ITuple3_Float>(new Point3d(1, 2, 3)); Assert.IsTrue(v.X == 1 && v.Y == 2 && v.Z == 3); } { ITuple3_Byte v = VectorUtils.Convert <ITuple3_Byte>(new Point3d(1, 2, 3)); Assert.IsTrue(v.X == 1 && v.Y == 2 && v.Z == 3); } { ITuple3_Float v = VectorUtils.Convert <ITuple3_Float>(new BuffPoint3d(1, 2, 3)); Assert.IsTrue(v.X == 1 && v.Y == 2 && v.Z == 3); } { ITuple3_Byte v = VectorUtils.Convert <ITuple3_Byte>(new BuffPoint3d(1, 2, 3)); Assert.IsTrue(v.X == 1 && v.Y == 2 && v.Z == 3); } // 4D - vectors { ITuple4_Float v = VectorUtils.Convert <ITuple4_Float>(new Vector4d(1, 2, 3, 4)); Assert.IsTrue(v.X == 1 && v.Y == 2 && v.Z == 3 && v.W == 4); } { ITuple4_Byte v = VectorUtils.Convert <ITuple4_Byte>(new Vector4d(1, 2, 3, 4)); Assert.IsTrue(v.X == 1 && v.Y == 2 && v.Z == 3 && v.W == 4); } { ITuple4_Float v = VectorUtils.Convert <ITuple4_Float>(new BuffVector4d(1, 2, 3, 4)); Assert.IsTrue(v.X == 1 && v.Y == 2 && v.Z == 3 && v.W == 4); } { ITuple4_Byte v = VectorUtils.Convert <ITuple4_Byte>(new BuffVector4d(1, 2, 3, 4)); Assert.IsTrue(v.X == 1 && v.Y == 2 && v.Z == 3 && v.W == 4); } // 4D - points { ITuple4_Float v = VectorUtils.Convert <ITuple4_Float>(new Point4d(1, 2, 3, 4)); Assert.IsTrue(v.X == 1 && v.Y == 2 && v.Z == 3 && v.W == 4); } { ITuple4_Byte v = VectorUtils.Convert <ITuple4_Byte>(new Point4d(1, 2, 3, 4)); Assert.IsTrue(v.X == 1 && v.Y == 2 && v.Z == 3 && v.W == 4); } { ITuple4_Float v = VectorUtils.Convert <ITuple4_Float>(new BuffPoint4d(1, 2, 3, 4)); Assert.IsTrue(v.X == 1 && v.Y == 2 && v.Z == 3 && v.W == 4); } { ITuple4_Byte v = VectorUtils.Convert <ITuple4_Byte>(new BuffPoint4d(1, 2, 3, 4)); Assert.IsTrue(v.X == 1 && v.Y == 2 && v.Z == 3 && v.W == 4); } }