Exemple #1
0
        /// <summary>
        /// Runs all rendering tests.
        /// </summary>
        public static void Test(CreateTarget createTarget, CreateRenderer createRenderer)
        {
            FileInfo testFile = new FileInfo(string.Format(@".\TestFiles\map\{0}", "default.map"));
            Stream   stream   = testFile.OpenRead();

            Test(stream, createTarget, createRenderer);
        }
Exemple #2
0
 /// <summary>
 /// Runs all rendering tests.
 /// </summary>
 public static void Test(Stream stream, CreateTarget createTarget, CreateRenderer createRenderer)
 {
     for (int zoom = 6; zoom < 17; zoom++)
     {
         // do some of the testing.
         RenderingSerializedSceneTests <TTarget> .TestRenderScene(createTarget, createRenderer, stream, new GeoCoordinateBox(
                                                                      new GeoCoordinate(51.20190, 4.66540),
                                                                      new GeoCoordinate(51.30720, 4.89820)), 3, 1, zoom);
     }
 }
Exemple #3
0
        /// <summary>
        /// Tests rendering the given serialized scene.
        /// </summary>
        /// <param name="stream"></param>
        /// <param name="box"></param>
        /// <param name="testCount"></param>
        /// <param name="createTarget"></param>
        /// <param name="createRenderer"></param>
        /// <param name="range"></param>
        /// <param name="minZoom"></param>
        public static void TestRenderScene(CreateTarget createTarget, CreateRenderer createRenderer,
                                           Stream stream, GeoCoordinateBox box, int testCount, int range, int minZoom)
        {
            WebMercator projection = new WebMercator();

            // build a map.
            Map map = new Map();
            TagsCollectionBase metaTags;

            map.AddLayer(new LayerScene(
                             Scene2D.Deserialize(stream, true, out metaTags)));

            // build the target and renderer.
            TTarget target = createTarget.Invoke(TargetWidth, TargetHeight);
            MapRenderer <TTarget> mapRenderer = new MapRenderer <TTarget>(
                createRenderer.Invoke());

            // render the map.
            PerformanceInfoConsumer performanceInfo = new PerformanceInfoConsumer("Scene2DLayeredRendering");

            performanceInfo.Start();
            //performanceInfo.Report("Rendering {0} random images...", testCount);

            while (testCount > 0)
            {
                // randomize view.
                int zoom = minZoom;
                if (range > 1)
                { // only randomize when range is > 1
                    zoom = OsmSharp.Math.Random.StaticRandomGenerator.Get().Generate(range) + minZoom;
                }
                GeoCoordinate center = box.GenerateRandomIn();
                View2D        view   = mapRenderer.Create(TargetWidth, TargetHeight, map,
                                                          (float)projection.ToZoomFactor(zoom), center, false, true);

                OsmSharp.Logging.Log.TraceEvent("Scene2DLayeredRendering", OsmSharp.Logging.TraceEventType.Information,
                                                string.Format("Rendering at z{0} l{1}.",
                                                              zoom, center));
                map.ViewChanged((float)projection.ToZoomFactor(zoom), center, view, view);

                mapRenderer.Render(target, map, view, (float)projection.ToZoomFactor(zoom));

                testCount--;
            }

            performanceInfo.Stop();
            stream.Seek(0, SeekOrigin.Begin);
        }
Exemple #4
0
        /// <summary>
        /// Runs all rendering tests.
        /// </summary>
        public static void Test(Stream stream, CreateTarget createTarget, CreateRenderer createRenderer)
        {
            // do some of the testing.
            RenderingSerializedSceneTests <TTarget> .TestRenderScene(createTarget, createRenderer, stream, new GeoCoordinateBox(
                                                                         new GeoCoordinate(51.20190, 4.66540),
                                                                         new GeoCoordinate(51.30720, 4.89820)), 5, 2, 16);

            // do some of the testing.
            RenderingSerializedSceneTests <TTarget> .TestRenderScene(createTarget, createRenderer, stream, new GeoCoordinateBox(
                                                                         new GeoCoordinate(51.20190, 4.66540),
                                                                         new GeoCoordinate(51.30720, 4.89820)), 5, 2, 14);

            // do some of the testing.
            RenderingSerializedSceneTests <TTarget> .TestRenderScene(createTarget, createRenderer, stream, new GeoCoordinateBox(
                                                                         new GeoCoordinate(51.20190, 4.66540),
                                                                         new GeoCoordinate(51.30720, 4.89820)), 5, 2, 12);

            //// do some of the testing.
            //RenderingSerializedSceneTests<TTarget>.TestRenderScene(createTarget, createRenderer, stream, new GeoCoordinateBox(
            //    new GeoCoordinate(51.20190, 4.66540),
            //    new GeoCoordinate(51.30720, 4.89820)), 5, 2, 10);
        }