mapTexture.js!eval 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. (function() { var __moduleName = "js/common/mapTexture"; var __moduleAddress = "http://projects.delimited.io/webgl-globes/js/common/mapTexture.js";System.register(['THREE', 'd3'], function (_export) {
  2. 'use strict';
  3. var THREE, d3, projection;
  4. _export('mapTexture', mapTexture);
  5. function mapTexture(geojson, color) {
  6. var texture, context, canvas;
  7. canvas = d3.select('body').append('canvas').style('display', 'none').attr('width', '2048px').attr('height', '1024px');
  8. context = canvas.node().getContext('2d');
  9. var path = d3.geo.path().projection(projection).context(context);
  10. context.strokeStyle = '#333';
  11. context.lineWidth = 1;
  12. context.fillStyle = color || '#CDB380';
  13. context.beginPath();
  14. path(geojson);
  15. if (color) {
  16. context.fill();
  17. }
  18. context.stroke();
  19. // DEBUGGING - Really expensive, disable when done.
  20. // console.log(canvas.node().toDataURL());
  21. texture = new THREE.Texture(canvas.node());
  22. texture.needsUpdate = true;
  23. canvas.remove();
  24. return texture;
  25. }
  26. return {
  27. setters: [function (_THREE) {
  28. THREE = _THREE['default'];
  29. }, function (_d3) {
  30. d3 = _d3['default'];
  31. }],
  32. execute: function () {
  33. projection = d3.geo.equirectangular().translate([1024, 512]).scale(325);
  34. }
  35. };
  36. });
  37. //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImh0dHA6Ly9wcm9qZWN0cy5kZWxpbWl0ZWQuaW8vd2ViZ2wtZ2xvYmVzL2pzL2NvbW1vbi9tYXBUZXh0dXJlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztpQkFHSSxVQUFVOzt3QkFJRSxVQUFVOztBQUFuQixXQUFTLFVBQVUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFO0FBQ3pDLFFBQUksT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUM7O0FBRTdCLFVBQU0sR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FDeEMsS0FBSyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FDeEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FDdkIsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQzs7QUFFNUIsV0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7O0FBRXpDLFFBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQ3JCLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FDdEIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDOztBQUVwQixXQUFPLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQztBQUM3QixXQUFPLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztBQUN0QixXQUFPLENBQUMsU0FBUyxHQUFHLEtBQUssSUFBSSxTQUFTLENBQUM7O0FBRXZDLFdBQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQzs7QUFFcEIsUUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDOztBQUVkLFFBQUksS0FBSyxFQUFFO0FBQ1QsYUFBTyxDQUFDLElBQUksRUFBRSxDQUFDO0tBQ2hCOztBQUVELFdBQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQzs7Ozs7QUFLakIsV0FBTyxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUMzQyxXQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQzs7QUFFM0IsVUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDOztBQUVoQixXQUFPLE9BQU8sQ0FBQztHQUNoQjs7Ozs7Ozs7O0FBekNHLGdCQUFVLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FDdEMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQ3RCLEtBQUssQ0FBQyxHQUFHLENBQUMiLCJmaWxlIjoiaHR0cDovL3Byb2plY3RzLmRlbGltaXRlZC5pby93ZWJnbC1nbG9iZXMvanMvY29tbW9uL21hcFRleHR1cmUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVEhSRUUgZnJvbSAnVEhSRUUnO1xuaW1wb3J0IGQzIGZyb20gJ2QzJztcblxudmFyIHByb2plY3Rpb24gPSBkMy5nZW8uZXF1aXJlY3Rhbmd1bGFyKClcbiAgLnRyYW5zbGF0ZShbMTAyNCwgNTEyXSlcbiAgLnNjYWxlKDMyNSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXBUZXh0dXJlKGdlb2pzb24sIGNvbG9yKSB7XG4gIHZhciB0ZXh0dXJlLCBjb250ZXh0LCBjYW52YXM7XG5cbiAgY2FudmFzID0gZDMuc2VsZWN0KFwiYm9keVwiKS5hcHBlbmQoXCJjYW52YXNcIilcbiAgICAuc3R5bGUoXCJkaXNwbGF5XCIsIFwibm9uZVwiKVxuICAgIC5hdHRyKFwid2lkdGhcIiwgXCIyMDQ4cHhcIilcbiAgICAuYXR0cihcImhlaWdodFwiLCBcIjEwMjRweFwiKTtcblxuICBjb250ZXh0ID0gY2FudmFzLm5vZGUoKS5nZXRDb250ZXh0KFwiMmRcIik7XG5cbiAgdmFyIHBhdGggPSBkMy5nZW8ucGF0aCgpXG4gICAgLnByb2plY3Rpb24ocHJvamVjdGlvbilcbiAgICAuY29udGV4dChjb250ZXh0KTtcblxuICBjb250ZXh0LnN0cm9rZVN0eWxlID0gXCIjMzMzXCI7XG4gIGNvbnRleHQubGluZVdpZHRoID0gMTtcbiAgY29udGV4dC5maWxsU3R5bGUgPSBjb2xvciB8fCBcIiNDREIzODBcIjtcblxuICBjb250ZXh0LmJlZ2luUGF0aCgpO1xuXG4gIHBhdGgoZ2VvanNvbik7XG5cbiAgaWYgKGNvbG9yKSB7XG4gICAgY29udGV4dC5maWxsKCk7XG4gIH1cblxuICBjb250ZXh0LnN0cm9rZSgpO1xuXG4gIC8vIERFQlVHR0lORyAtIFJlYWxseSBleHBlbnNpdmUsIGRpc2FibGUgd2hlbiBkb25lLlxuICAvLyBjb25zb2xlLmxvZyhjYW52YXMubm9kZSgpLnRvRGF0YVVSTCgpKTtcblxuICB0ZXh0dXJlID0gbmV3IFRIUkVFLlRleHR1cmUoY2FudmFzLm5vZGUoKSk7XG4gIHRleHR1cmUubmVlZHNVcGRhdGUgPSB0cnVlO1xuXG4gIGNhbnZhcy5yZW1vdmUoKTtcblxuICByZXR1cm4gdGV4dHVyZTtcbn1cbiJdfQ==
  38. }).call(__global);