Пример #1
0
        /// <summary>
        /// Transforms the array of distances by the scale and rotation elements (only) of the CTM
        /// </summary>
        public void TransformDistances(Distance[] vectors)
        {
            Point  p;
            Matrix m = GetCTM();

            for (int i = 0; i < vectors.Length; ++i)
            {
                p = (Point)vectors[i];
                m.TransformVector(p);
                vectors[i].Dx = p.X;
                vectors[i].Dy = p.Y;
            }
        }
Пример #2
0
		public void VectorTransform ()
		{
			var m = new Matrix (2, 0, 0, 2, 4, 4);

			var p = new Point (5, 6);

			Assert.AreEqual (new Point (10, 12), m.TransformVector (p));

			var ps = new Point[10];
			for (int i = 0; i < ps.Length; i++)
				ps [i] = new Point (3 * i, 2 * i);

			m.TransformVector (ps);

			for (int i = 0; i < ps.Length; i++)
				Assert.AreEqual (m.TransformVector (new Point (3 * i, 2 * i)), ps [i]);
		}