private void AddScaleToMap(double scale) { if (_parent != null && _parent.BaseMap == null) { _parent.AttachBaseMap((IBaseMapDefinition)_tileSet); } _tileSet.AddFiniteDisplayScale(scale); _edSvc.MarkDirty(); }
public void TestUnsupportedScaleOperations() { var tsd = ObjectFactory.CreateTileSetDefinition(new Version(3, 0, 0)); tsd.SetXYZProviderParameters(); ITileSetAbstract tsTileSet = tsd; Assert.False(tsTileSet.SupportsCustomFiniteDisplayScalesUnconditionally); Assert.False(tsTileSet.SupportsCustomFiniteDisplayScales); Assert.Throws <InvalidOperationException>(() => tsTileSet.SetFiniteDisplayScales(new double[] { 1.0, 2.0, 4.0 })); Assert.Throws <InvalidOperationException>(() => { var x = tsTileSet.ScaleCount; }); Assert.Throws <InvalidOperationException>(() => tsTileSet.SetFiniteDisplayScales(new double[] { 1.0, 2.0, 4.0, 8.0, 16.0 })); Assert.Throws <InvalidOperationException>(() => tsTileSet.GetScaleAt(0)); Assert.Throws <InvalidOperationException>(() => tsTileSet.RemoveScaleAt(3)); Assert.Throws <InvalidOperationException>(() => tsTileSet.RemoveFiniteDisplayScale(1.2)); Assert.Throws <InvalidOperationException>(() => tsTileSet.RemoveAllScales()); Assert.Throws <InvalidOperationException>(() => tsTileSet.AddFiniteDisplayScale(1234.0)); }
public void FiniteScalesTest() { var mdf = ObjectFactory.CreateMapDefinition(new Version(3, 0, 0), "Test"); var tsd = ObjectFactory.CreateTileSetDefinition(new Version(3, 0, 0)); mdf.InitBaseMap(); tsd.SetDefaultProviderParameters(300, 300, "", new double[] { }); ITileSetAbstract tsMapDef = mdf.BaseMap; ITileSetAbstract tsTileSet = tsd; Assert.False(tsTileSet.SupportsCustomFiniteDisplayScalesUnconditionally); Assert.True(tsTileSet.SupportsCustomFiniteDisplayScales); tsMapDef.SetFiniteDisplayScales(new double[] { 1.0, 2.0, 4.0 }); tsTileSet.SetFiniteDisplayScales(new double[] { 1.0, 2.0, 4.0 }); Assert.Equal(3, tsMapDef.ScaleCount); Assert.Equal(3, tsTileSet.ScaleCount); tsMapDef.SetFiniteDisplayScales(new double[] { 1.0, 2.0, 4.0, 8.0, 16.0 }); tsTileSet.SetFiniteDisplayScales(new double[] { 1.0, 2.0, 4.0, 8.0, 16.0 }); Assert.Equal(5, tsMapDef.ScaleCount); Assert.Equal(5, tsTileSet.ScaleCount); Assert.Equal(1.0, tsMapDef.GetScaleAt(0)); Assert.Equal(1.0, tsTileSet.GetScaleAt(0)); Assert.Equal(2.0, tsMapDef.GetScaleAt(1)); Assert.Equal(2.0, tsTileSet.GetScaleAt(1)); Assert.Equal(4.0, tsMapDef.GetScaleAt(2)); Assert.Equal(4.0, tsTileSet.GetScaleAt(2)); Assert.Equal(8.0, tsMapDef.GetScaleAt(3)); Assert.Equal(8.0, tsTileSet.GetScaleAt(3)); Assert.Equal(16.0, tsMapDef.GetScaleAt(4)); Assert.Equal(16.0, tsTileSet.GetScaleAt(4)); tsMapDef.RemoveScaleAt(3); tsTileSet.RemoveScaleAt(3); Assert.Equal(1.0, tsMapDef.GetScaleAt(0)); Assert.Equal(1.0, tsTileSet.GetScaleAt(0)); Assert.Equal(2.0, tsMapDef.GetScaleAt(1)); Assert.Equal(2.0, tsTileSet.GetScaleAt(1)); Assert.Equal(4.0, tsMapDef.GetScaleAt(2)); Assert.Equal(4.0, tsTileSet.GetScaleAt(2)); Assert.Equal(16.0, tsMapDef.GetScaleAt(3)); Assert.Equal(16.0, tsTileSet.GetScaleAt(3)); tsMapDef.RemoveScaleAt(0); tsTileSet.RemoveScaleAt(0); Assert.Equal(2.0, tsMapDef.GetScaleAt(0)); Assert.Equal(2.0, tsTileSet.GetScaleAt(0)); Assert.Equal(4.0, tsMapDef.GetScaleAt(1)); Assert.Equal(4.0, tsTileSet.GetScaleAt(1)); Assert.Equal(16.0, tsMapDef.GetScaleAt(2)); Assert.Equal(16.0, tsTileSet.GetScaleAt(2)); tsMapDef.RemoveScaleAt(2); tsTileSet.RemoveScaleAt(2); Assert.Equal(2.0, tsMapDef.GetScaleAt(0)); Assert.Equal(2.0, tsTileSet.GetScaleAt(0)); Assert.Equal(4.0, tsMapDef.GetScaleAt(1)); Assert.Equal(4.0, tsTileSet.GetScaleAt(1)); Assert.Equal(2.0, tsMapDef.GetMinScale()); Assert.Equal(2.0, tsTileSet.GetMinScale()); tsMapDef.RemoveFiniteDisplayScale(1.2); tsTileSet.RemoveFiniteDisplayScale(1.2); Assert.Equal(2.0, tsMapDef.GetScaleAt(0)); Assert.Equal(2.0, tsTileSet.GetScaleAt(0)); Assert.Equal(4.0, tsMapDef.GetScaleAt(1)); Assert.Equal(4.0, tsTileSet.GetScaleAt(1)); Assert.Throws <ArgumentOutOfRangeException>(() => tsMapDef.RemoveScaleAt(6)); Assert.Throws <ArgumentOutOfRangeException>(() => tsTileSet.RemoveScaleAt(6)); Assert.Equal(2.0, tsMapDef.GetScaleAt(0)); Assert.Equal(2.0, tsTileSet.GetScaleAt(0)); Assert.Equal(4.0, tsMapDef.GetScaleAt(1)); Assert.Equal(4.0, tsTileSet.GetScaleAt(1)); tsMapDef.AddFiniteDisplayScale(3.0); tsTileSet.AddFiniteDisplayScale(3.0); Assert.Equal(3, tsMapDef.ScaleCount); Assert.Equal(3, tsTileSet.ScaleCount); Assert.Equal(3.0, tsMapDef.GetScaleAt(1)); Assert.Equal(3.0, tsTileSet.GetScaleAt(1)); tsMapDef.RemoveAllScales(); tsTileSet.RemoveAllScales(); Assert.Equal(0, tsMapDef.ScaleCount); Assert.Equal(0, tsTileSet.ScaleCount); }