PageRenderTime 44ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/Main/src/DynamicDataDisplay.Maps/Servers/FileServers/VEPathProvider.cs

#
C# | 34 lines | 30 code | 4 blank | 0 comment | 5 complexity | b7fcaedd9c9f513ebc94b80f421de9da MD5 | raw file
Possible License(s): CC-BY-SA-3.0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using Microsoft.Research.DynamicDataDisplay.Charts.Maps;
  6. namespace Microsoft.Research.DynamicDataDisplay.Maps.Servers.FileServers
  7. {
  8. public sealed class VEPathProvider : TilePathProvider
  9. {
  10. public override string GetTilePath(TileIndex id)
  11. {
  12. StringBuilder builder = new StringBuilder();
  13. int minLevel = 1;
  14. checked
  15. {
  16. for (int level = minLevel; level <= id.Level; level++)
  17. {
  18. char ch = '0';
  19. int halfTilesNum = (int)Math.Pow(2, id.Level - level);
  20. if ((id.X & halfTilesNum) != 0)
  21. ch += (char)1;
  22. if ((id.Y & halfTilesNum) == 0)
  23. ch += (char)2;
  24. builder.Append(ch);
  25. }
  26. }
  27. return builder.ToString();
  28. }
  29. }
  30. }