Esempio n. 1
0
        public void TransformTestMethodFive()
        {
            //
            // A simple test adding two transforms built from three points each
            //

            GridTransform fixedTransform = new GridTransform();
            GridTransform movingTransform = new GridTransform();

            GridVector2[] fixedCtrlPoints = new GridVector2[]{ new GridVector2(5, 5),
                                                              new GridVector2(5, 10),
                                                              new GridVector2(5, 15),
                                                              new GridVector2(15, 5),
                                                              new GridVector2(15, 10),
                                                              new GridVector2(15, 15)};
                                        //                      new GridVector2(25, 5),
                                        //                      new GridVector2(25, 10),
                                        //                      new GridVector2(25, 15)};

            GridVector2[] fixedMapPoints = new GridVector2[]{new GridVector2(50, 50),
                                                              new GridVector2(50, 100),
                                                              new GridVector2(50, 150),
                                                              new GridVector2(150, 50),
                                                              new GridVector2(150, 100),
                                                              new GridVector2(150, 150)};
                                        ///                      new GridVector2(250, 50),
                                        ///                      new GridVector2(250, 100),
                                        //                      new GridVector2(250, 150)};

            GridVector2[] movingCtrlPoints = new GridVector2[]{new GridVector2(100, 75),
                                                              new GridVector2(100, 125),
                                                              new GridVector2(100, 175),
                                                              new GridVector2(200, 75),
                                                              new GridVector2(200, 125),
                                                              new GridVector2(200, 175)};
                                     //                         new GridVector2(250, 50),
                                     //                         new GridVector2(250, 100),
                                     //                         new GridVector2(250, 150)};

            GridVector2[] movingMapPoints = new GridVector2[]{ new GridVector2(5, 5),
                                                              new GridVector2(5, 10),
                                                              new GridVector2(5, 15),
                                                              new GridVector2(15, 5),
                                                              new GridVector2(15, 10),
                                                              new GridVector2(15, 15)};
                                     //                         new GridVector2(25, 5),
                                     //                         new GridVector2(25, 10),
                                     //                         new GridVector2(25, 15)};

            List<MappingGridVector2> fixedPoints = new List<MappingGridVector2>(fixedMapPoints.Length);
            List<MappingGridVector2> movingPoints = new List<MappingGridVector2>(movingMapPoints.Length);

            for (int iFixed = 0; iFixed < fixedMapPoints.Length; iFixed++)
            {
                fixedPoints.Add(new MappingGridVector2(fixedCtrlPoints[iFixed], fixedMapPoints[iFixed]));
            }

            for (int iMapped = 0; iMapped < fixedMapPoints.Length; iMapped++)
            {
                movingPoints.Add(new MappingGridVector2(movingCtrlPoints[iMapped], movingMapPoints[iMapped]));
            }

            fixedTransform.mapPoints = fixedPoints.ToArray();
            movingTransform.mapPoints = movingPoints.ToArray();

            movingTransform.Add(fixedTransform);

            MappingGridVector2[] newPoints = movingTransform.mapPoints;

            Debug.Assert(movingTransform.mapPoints.Length == 7);
        }
Esempio n. 2
0
        public void TransformTestMethodTwo()
        {
            //
            // A simple test adding two transforms built from three points each
            //

            GridTransform fixedTransform = new GridTransform();
            GridTransform movingTransform = new GridTransform();

            GridVector2 fixedV1 = new GridVector2(0, 0);
            GridVector2 fixedV2 = new GridVector2(10, 0);
            GridVector2 fixedV3 = new GridVector2(0, 10);
            GridVector2 fixedV4 = new GridVector2(10, 10);

            MappingGridVector2[] fixedPoints = new MappingGridVector2[] {new MappingGridVector2(fixedV1, fixedV1),
                                                                         new MappingGridVector2(fixedV2, fixedV2),
                                                                         new MappingGridVector2(fixedV3, fixedV3),
                                                                         new MappingGridVector2(fixedV4, fixedV4)};

            fixedTransform.mapPoints = fixedPoints;

            GridVector2 movingV1 = new GridVector2(2.5, 2.5);
            GridVector2 movingV2 = new GridVector2(2.5, -7.5);
            GridVector2 movingV3 = new GridVector2(-7.5, 2.5);
            GridVector2 movingV4 = new GridVector2(-8.5, -8.5); //Point four should be removed by the transform

            MappingGridVector2[] movingPoints = new MappingGridVector2[] {new MappingGridVector2(movingV1, movingV1),
                                                                         new MappingGridVector2(movingV2, movingV2),
                                                                         new MappingGridVector2(movingV3, movingV3),
                                                                         new MappingGridVector2(movingV4, movingV4)};

            movingTransform.mapPoints = movingPoints;

            movingTransform.Add(fixedTransform);

            MappingGridVector2[] newPoints = movingTransform.mapPoints;

            Debug.Assert(newPoints[0].ControlPoint.X == 0 && newPoints[0].ControlPoint.Y == 2.5);
            Debug.Assert(newPoints[1].ControlPoint.X == 2.5 && newPoints[1].ControlPoint.Y == 0);
            Debug.Assert(newPoints[2].ControlPoint.X == 2.5 && newPoints[2].ControlPoint.Y == 2.5);
        }