public virtual void TransformPathTest() { Line inLine = new Line(new Point(0, 0), new Point(10, 10)); BezierCurve inBezierCurve = new BezierCurve(JavaUtil.ArraysAsList(new Point(0, 0), new Point(0, 5), new Point (5, 5), new Point(5, 0))); Subpath inSubpath = new Subpath(); inSubpath.AddSegment(inLine); inSubpath.AddSegment(inBezierCurve); Path inPath = new Path(JavaUtil.ArraysAsList(inSubpath)); Matrix ctm = new Matrix(1, 0, 0, 1, 5, 5); Path outPath = ShapeTransformUtil.TransformPath(inPath, ctm); Line cmpLine = new Line(new Point(-5, -5), new Point(5, 5)); BezierCurve cmpBezierCurve = new BezierCurve(JavaUtil.ArraysAsList(new Point(-5, -5), new Point(-5, 0), new Point(0, 0), new Point(0, -5))); Subpath cmpSubpath = new Subpath(); inSubpath.AddSegment(cmpLine); inSubpath.AddSegment(cmpBezierCurve); Path cmpPath = new Path(JavaUtil.ArraysAsList(cmpSubpath)); for (int i = 0; i < cmpPath.GetSubpaths().Count; i++) { Subpath subpath = cmpPath.GetSubpaths()[i]; for (int j = 0; j < subpath.GetSegments().Count; j++) { IShape cmpShape = subpath.GetSegments()[j]; IShape outShape = outPath.GetSubpaths()[i].GetSegments()[j]; NUnit.Framework.Assert.AreEqual(cmpShape.GetBasePoints().ToArray(), outShape.GetBasePoints().ToArray()); } } }
public virtual void TransformLineTest() { Line inLine = new Line(new Point(0, 0), new Point(10, 10)); Matrix ctm = new Matrix(2, 0, 0, 1, 5, 5); Line outLine = ShapeTransformUtil.TransformLine(inLine, ctm); Line cmpLine = new Line(new Point(-2.5, -5), new Point(2.5, 5)); NUnit.Framework.Assert.AreEqual(cmpLine.GetBasePoints().ToArray(), outLine.GetBasePoints().ToArray()); }
public virtual void TransformBezierCurveTest() { BezierCurve inBezierCurve = new BezierCurve(JavaUtil.ArraysAsList(new Point(0, 0), new Point(0, 5), new Point (5, 5), new Point(5, 0))); Matrix ctm = new Matrix(1, 0, 0, 1, 5, 5); BezierCurve outBezierCurve = ShapeTransformUtil.TransformBezierCurve(inBezierCurve, ctm); BezierCurve cmpBezierCurve = new BezierCurve(JavaUtil.ArraysAsList(new Point(-5, -5), new Point(-5, 0), new Point(0, 0), new Point(0, -5))); NUnit.Framework.Assert.AreEqual(cmpBezierCurve.GetBasePoints().ToArray(), outBezierCurve.GetBasePoints().ToArray ()); }