Пример #1
0
        public void TestConvertPointWithInvalidString()
        {
            string s      = "60,240,";
            var    point1 = BezierCurveHelper.ConvertPoint(s);

            Assert.AreEqual(point1.X, 60);
            Assert.AreEqual(point1.Y, 240);
        }
Пример #2
0
        public void TestConvertLineWithValidString()
        {
            string s           = "200,45";
            var    lineSegment = BezierCurveHelper.ConvertLine(s);

            Assert.AreEqual(lineSegment.Point.X, 200);
            Assert.AreEqual(lineSegment.Point.Y, 45);
        }
Пример #3
0
 public ImageJigsawSimpleBezierPiece(BitmapImage imageSource, int col, int row, double pieceSize)
     : base(imageSource, col, row, pieceSize)
 {
     _bezierCurveModel = BezierCurveHelper.FindModel(col, row);
     if (_bezierCurveModel != null)
     {
         base.InitShapeProperties();
         this.Position = _bezierCurveModel.Position;
     }
 }
Пример #4
0
        public override void Layout()
        {
            base.Layout();

            RelativePosition = (Destination.Position - Start.Position) / 2f;

            Vector2[] controlPoints = BezierCurveHelper.CalculateControlPointsForTransition(Start.Position, Destination.Position, Start.Parent.BoundingBox, Destination.Parent.BoundingBox);
            PolylinePoints = Array.AsReadOnly(BezierCurveHelper.CalculateDeCastejauCurve(Start.Position, controlPoints[0], controlPoints[1], Destination.Position, CurveSegmentCount));

            boundingBox = BezierCurveHelper.CalculateBoundingBoxForPolyline(PolylinePoints);
        }
Пример #5
0
        public void TestConvertCurveWithValidString()
        {
            string s             = " 200,45  0,100 180,160";
            var    bezierSegment = BezierCurveHelper.ConvertCurve(s);

            Assert.AreEqual(bezierSegment.Points[0].X, 200);
            Assert.AreEqual(bezierSegment.Points[0].Y, 45);
            Assert.AreEqual(bezierSegment.Points[1].X, 0);
            Assert.AreEqual(bezierSegment.Points[1].Y, 100);
            Assert.AreEqual(bezierSegment.Points[2].X, 180);
            Assert.AreEqual(bezierSegment.Points[2].Y, 160);
        }
Пример #6
0
        public void TestConvertPointWithValidStrings()
        {
            string s      = "60,240";
            var    point1 = BezierCurveHelper.ConvertPoint(s);

            Assert.AreEqual(point1.X, 60);
            Assert.AreEqual(point1.Y, 240);

            s = " 70 , 270 ";
            var point2 = BezierCurveHelper.ConvertPoint(s);

            Assert.AreEqual(point2.X, 70);
            Assert.AreEqual(point2.Y, 270);
        }
Пример #7
0
        public void TestConvertSegmentWithValidString()
        {
            string s = "200,0; 200,45  0,100 180,160; 120,200 180,300 100,260; 60,240 40,200 0,200; 0,0";
            var    segmentCollection = BezierCurveHelper.ConvertSegments(s);

            Assert.AreEqual(((LineSegment)segmentCollection[0]).Point.X, 200);
            Assert.AreEqual(((LineSegment)segmentCollection[0]).Point.Y, 0);

            Assert.AreEqual(((PolyBezierSegment)segmentCollection[1]).Points[0].X, 200);
            Assert.AreEqual(((PolyBezierSegment)segmentCollection[1]).Points[0].Y, 45);
            Assert.AreEqual(((PolyBezierSegment)segmentCollection[1]).Points[1].X, 0);
            Assert.AreEqual(((PolyBezierSegment)segmentCollection[1]).Points[1].Y, 100);
            Assert.AreEqual(((PolyBezierSegment)segmentCollection[1]).Points[2].X, 180);
            Assert.AreEqual(((PolyBezierSegment)segmentCollection[1]).Points[2].Y, 160);

            Assert.AreEqual(((LineSegment)segmentCollection[4]).Point.X, 0);
            Assert.AreEqual(((LineSegment)segmentCollection[4]).Point.Y, 0);
        }
Пример #8
0
        public void TestConvertPointWithValidStrings()
        {
            const int rows       = 4;
            const int columns    = 4;
            var       imaeSource = new BitmapImage();
            var       pieces     = new List <IJigsawPiece>();

            for (int row = 0; row < rows; row++)
            {
                for (int col = 0; col < columns; col++)
                {
                    IJigsawPiece jigsawPiece = JigsawPieceFactory.CreateImagePuzzelPiece(imaeSource, col, row, 200, PieceType.SimpleBezier);
                    pieces.Add(jigsawPiece);
                }
            }
            var scrambledPieces = JigsawHelper.ScramblePieces(pieces, rows, columns);

            foreach (var jigsawPiece in scrambledPieces)
            {
                var tempModel = BezierCurveHelper.FindModel(jigsawPiece.CurrentColumn, jigsawPiece.CurrentRow);
                Assert.AreEqual(jigsawPiece.Position, tempModel.Position);
            }
        }