示例#1
0
 public Vector4H(Vector3H v, Half w)
 {
     _x = v.X;
     _y = v.Y;
     _z = v.Z;
     _w = w;
 }
示例#2
0
        public void TestEquals()
        {
            Vector3H a = new Vector3H(1.0f, 2.0f, 3.0f);
            Vector3H b = new Vector3H(4.0f, 5.0f, 6.0f);
            Vector3H c = new Vector3H(1.0f, 2.0f, 3.0f);

            Assert.IsTrue(a.Equals(c));
            Assert.IsTrue(c.Equals(a));
            Assert.IsTrue(a == c);
            Assert.IsTrue(c == a);
            Assert.IsFalse(c != a);
            Assert.IsFalse(c != a);
            Assert.IsFalse(a.Equals(b));
            Assert.IsFalse(b.Equals(a));
            Assert.IsFalse(a == b);
            Assert.IsFalse(b == a);
            Assert.IsTrue(a != b);
            Assert.IsTrue(b != a);

            object objA = a;
            object objB = b;
            object objC = c;

            Assert.IsTrue(a.Equals(objA));
            Assert.IsTrue(a.Equals(objC));
            Assert.IsFalse(a.Equals(objB));

            Assert.IsTrue(objA.Equals(objC));
            Assert.IsFalse(objA.Equals(objB));

            Assert.IsFalse(a.Equals(null));
            Assert.IsFalse(a.Equals(5));
        }
示例#3
0
        public void Construct1()
        {
            Vector3H v = new Vector3H(new Vector2H(1.0, 2.0), (Half)3.0);

            Assert.AreEqual((Half)1.0, v.X);
            Assert.AreEqual((Half)2.0, v.Y);
            Assert.AreEqual((Half)3.0, v.Z);
        }
示例#4
0
        public void XY()
        {
            Vector3H a  = new Vector3H(1.0, 2.0, 3.0);
            Vector2H xy = a.XY;

            Assert.AreEqual((Half)1.0, xy.X);
            Assert.AreEqual((Half)2.0, xy.Y);
        }
示例#5
0
        public void XYZ()
        {
            Vector4H a   = new Vector4H(1.0, 2.0, 3.0, 4.0);
            Vector3H xyz = a.XYZ;

            Assert.AreEqual((Half)1.0, xyz.X);
            Assert.AreEqual((Half)2.0, xyz.Y);
            Assert.AreEqual((Half)3.0, xyz.Z);
        }
示例#6
0
        public void ToVector3H()
        {
            Vector3B a  = new Vector3B(false, true, false);
            Vector3H sA = a.ToVector3H();

            Assert.AreEqual((Half)0, sA.X);
            Assert.AreEqual((Half)1, sA.Y);
            Assert.AreEqual((Half)0, sA.Z);
        }
示例#7
0
        public void ToVector3H()
        {
            Vector3D a  = new Vector3D(1.0, 2.0, 3.0);
            Vector3H sA = a.ToVector3H();

            Assert.AreEqual((Half)1.0, sA.X, 1e-7);
            Assert.AreEqual((Half)2.0, sA.Y, 1e-7);
            Assert.AreEqual((Half)3.0, sA.Z, 1e-7);
        }
示例#8
0
        public void ToVector3H()
        {
            Vector3F a  = new Vector3F(1.0f, 2.0f, 3.0f);
            Vector3H sA = a.ToVector3H();

            Assert.AreEqual((Half)1.0f, sA.X, 1e-7);
            Assert.AreEqual((Half)2.0f, sA.Y, 1e-7);
            Assert.AreEqual((Half)3.0f, sA.Z, 1e-7);
        }
示例#9
0
        public void ToVector3B()
        {
            Vector3H a  = new Vector3H(0, 1, 0);
            Vector3B sA = a.ToVector3B();

            Assert.IsFalse(sA.X);
            Assert.IsTrue(sA.Y);
            Assert.IsFalse(sA.Z);
        }
示例#10
0
        public void ToVector3I()
        {
            Vector3H a  = new Vector3H(1.0, 2.0, 3.0);
            Vector3I sA = a.ToVector3I();

            Assert.AreEqual(1, sA.X);
            Assert.AreEqual(2, sA.Y);
            Assert.AreEqual(3, sA.Z);
        }
示例#11
0
        public void ToVector3D()
        {
            Vector3H a  = new Vector3H(1.0, 2.0, 3.0);
            Vector3D sA = a.ToVector3D();

            Assert.AreEqual(1.0, sA.X, 1e-7);
            Assert.AreEqual(2.0, sA.Y, 1e-7);
            Assert.AreEqual(3.0, sA.Z, 1e-7);
        }
示例#12
0
        public void TestGetHashCode()
        {
            Vector3H a = new Vector3H(1.0f, 2.0f, 3.0f);
            Vector3H b = new Vector3H(4.0f, 5.0f, 6.0f);
            Vector3H c = new Vector3H(1.0f, 2.0f, 3.0f);

            Assert.AreEqual(a.GetHashCode(), c.GetHashCode());
            Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode());
        }
示例#13
0
        public void ToVector3H()
        {
            Vector3I a  = new Vector3I(1, 2, 3);
            Vector3H sA = a.ToVector3H();

            Assert.AreEqual((Half)1, sA.X);
            Assert.AreEqual((Half)2, sA.Y);
            Assert.AreEqual((Half)3, sA.Z);
        }
示例#14
0
        public void Construct0()
        {
            Vector3H v1 = new Vector3H(1.0f, 2.0f, 3.0f);

            Assert.AreEqual((Half)1.0f, v1.X);
            Assert.AreEqual((Half)2.0f, v1.Y);
            Assert.AreEqual((Half)3.0f, v1.Z);

            Vector3H v2 = new Vector3H(1.0, 2.0, 3.0);

            Assert.AreEqual((Half)1.0, v2.X);
            Assert.AreEqual((Half)2.0, v2.Y);
            Assert.AreEqual((Half)3.0, v2.Z);
        }
示例#15
0
        public void TestToString()
        {
            CultureInfo originalCulture = Thread.CurrentThread.CurrentCulture;

            try
            {
                Thread.CurrentThread.CurrentCulture = new CultureInfo("tr-TR");
                Vector3H a = new Vector3H(1.23f, 2.34f, 3.45f);
                Assert.AreEqual("(1,230469, 2,339844, 3,449219)", a.ToString());
            }
            finally
            {
                Thread.CurrentThread.CurrentCulture = originalCulture;
            }
        }