/// <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); }
/// <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); } }
/// <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); }
/// <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); }