@deck.gl/extensions 9.0.0-alpha.7 → 9.0.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (265) hide show
  1. package/dist/brushing/brushing-extension.js +80 -0
  2. package/{typed → dist}/brushing/shader-module.d.ts +1 -1
  3. package/{typed → dist}/brushing/shader-module.d.ts.map +1 -1
  4. package/dist/brushing/shader-module.js +92 -0
  5. package/{typed → dist}/clip/clip-extension.d.ts.map +1 -1
  6. package/dist/clip/clip-extension.js +117 -0
  7. package/{typed → dist}/collision-filter/collision-filter-effect.d.ts.map +1 -1
  8. package/dist/collision-filter/collision-filter-effect.js +193 -0
  9. package/dist/collision-filter/collision-filter-extension.js +49 -0
  10. package/{typed → dist}/collision-filter/collision-filter-pass.d.ts +4 -2
  11. package/{typed → dist}/collision-filter/collision-filter-pass.d.ts.map +1 -1
  12. package/dist/collision-filter/collision-filter-pass.js +25 -0
  13. package/{typed → dist}/collision-filter/shader-module.d.ts.map +1 -1
  14. package/dist/collision-filter/shader-module.js +87 -0
  15. package/dist/data-filter/aggregator.d.ts.map +1 -0
  16. package/dist/{esm/data-filter → data-filter}/aggregator.js +40 -41
  17. package/{typed → dist}/data-filter/data-filter-extension.d.ts +38 -6
  18. package/dist/data-filter/data-filter-extension.d.ts.map +1 -0
  19. package/dist/data-filter/data-filter-extension.js +249 -0
  20. package/{typed → dist}/data-filter/shader-module.d.ts +1 -1
  21. package/dist/data-filter/shader-module.d.ts.map +1 -0
  22. package/dist/data-filter/shader-module.js +179 -0
  23. package/dist/dist.dev.js +2079 -10477
  24. package/{typed → dist}/fill-style/fill-style-extension.d.ts +2 -30
  25. package/dist/fill-style/fill-style-extension.d.ts.map +1 -0
  26. package/dist/fill-style/fill-style-extension.js +116 -0
  27. package/{typed/fill-style/shaders.glsl.d.ts → dist/fill-style/shader-module.d.ts} +1 -1
  28. package/dist/fill-style/shader-module.d.ts.map +1 -0
  29. package/dist/fill-style/shader-module.js +96 -0
  30. package/dist/fp64/fp64-extension.js +35 -0
  31. package/dist/fp64/project64.glsl.js +81 -0
  32. package/dist/fp64/project64.js +50 -0
  33. package/dist/index.cjs +2756 -0
  34. package/dist/index.cjs.map +7 -0
  35. package/dist/index.d.ts +19 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +11 -0
  38. package/{typed → dist}/mask/mask-effect.d.ts +1 -1
  39. package/dist/mask/mask-effect.d.ts.map +1 -0
  40. package/dist/mask/mask-effect.js +194 -0
  41. package/dist/mask/mask-extension.js +57 -0
  42. package/{typed → dist}/mask/mask-pass.d.ts.map +1 -1
  43. package/dist/mask/mask-pass.js +44 -0
  44. package/{typed → dist}/mask/shader-module.d.ts.map +1 -1
  45. package/dist/mask/shader-module.js +77 -0
  46. package/dist/path-style/path-style-extension.js +111 -0
  47. package/dist/path-style/shaders.glsl.js +86 -0
  48. package/{typed → dist}/terrain/height-map-builder.d.ts +1 -1
  49. package/dist/terrain/height-map-builder.d.ts.map +1 -0
  50. package/dist/terrain/height-map-builder.js +104 -0
  51. package/{typed → dist}/terrain/shader-module.d.ts +5 -3
  52. package/dist/terrain/shader-module.d.ts.map +1 -0
  53. package/dist/terrain/shader-module.js +137 -0
  54. package/{typed → dist}/terrain/terrain-cover.d.ts +1 -1
  55. package/dist/terrain/terrain-cover.d.ts.map +1 -0
  56. package/dist/terrain/terrain-cover.js +187 -0
  57. package/{typed → dist}/terrain/terrain-effect.d.ts +2 -2
  58. package/dist/terrain/terrain-effect.d.ts.map +1 -0
  59. package/dist/terrain/terrain-effect.js +184 -0
  60. package/dist/terrain/terrain-extension.js +44 -0
  61. package/{typed → dist}/terrain/terrain-pass.d.ts +2 -2
  62. package/dist/terrain/terrain-pass.d.ts.map +1 -0
  63. package/dist/terrain/terrain-pass.js +61 -0
  64. package/{typed → dist}/terrain/terrain-picking-pass.d.ts +1 -1
  65. package/dist/terrain/terrain-picking-pass.d.ts.map +1 -0
  66. package/dist/terrain/terrain-picking-pass.js +66 -0
  67. package/dist/terrain/utils.js +21 -0
  68. package/{typed → dist}/utils/debug.d.ts.map +1 -1
  69. package/dist/utils/debug.js +50 -0
  70. package/dist/utils/projection-utils.js +153 -0
  71. package/dist/utils/syntax-tags.d.ts +6 -0
  72. package/dist/utils/syntax-tags.d.ts.map +1 -0
  73. package/dist/utils/syntax-tags.js +5 -0
  74. package/dist.min.js +898 -1257
  75. package/package.json +19 -16
  76. package/src/brushing/shader-module.ts +4 -3
  77. package/src/clip/clip-extension.ts +10 -9
  78. package/src/collision-filter/collision-filter-effect.ts +12 -8
  79. package/src/collision-filter/collision-filter-pass.ts +5 -5
  80. package/src/collision-filter/shader-module.ts +6 -4
  81. package/src/data-filter/aggregator.ts +8 -13
  82. package/src/data-filter/data-filter-extension.ts +147 -30
  83. package/src/data-filter/shader-module.ts +38 -9
  84. package/src/fill-style/fill-style-extension.ts +4 -5
  85. package/src/fill-style/{shaders.glsl.ts → shader-module.ts} +6 -5
  86. package/src/mask/mask-effect.ts +0 -1
  87. package/src/mask/mask-pass.ts +1 -3
  88. package/src/mask/shader-module.ts +7 -6
  89. package/src/terrain/shader-module.ts +16 -15
  90. package/src/terrain/terrain-effect.ts +12 -5
  91. package/src/terrain/terrain-pass.ts +2 -5
  92. package/src/terrain/terrain-picking-pass.ts +1 -3
  93. package/src/terrain/utils.ts +1 -1
  94. package/src/utils/debug.ts +1 -2
  95. package/src/utils/syntax-tags.ts +5 -0
  96. package/dist/es5/brushing/brushing-extension.js +0 -108
  97. package/dist/es5/brushing/brushing-extension.js.map +0 -1
  98. package/dist/es5/brushing/shader-module.js +0 -50
  99. package/dist/es5/brushing/shader-module.js.map +0 -1
  100. package/dist/es5/clip/clip-extension.js +0 -98
  101. package/dist/es5/clip/clip-extension.js.map +0 -1
  102. package/dist/es5/collision-filter/collision-filter-effect.js +0 -294
  103. package/dist/es5/collision-filter/collision-filter-effect.js.map +0 -1
  104. package/dist/es5/collision-filter/collision-filter-extension.js +0 -109
  105. package/dist/es5/collision-filter/collision-filter-extension.js.map +0 -1
  106. package/dist/es5/collision-filter/collision-filter-pass.js +0 -77
  107. package/dist/es5/collision-filter/collision-filter-pass.js.map +0 -1
  108. package/dist/es5/collision-filter/shader-module.js +0 -39
  109. package/dist/es5/collision-filter/shader-module.js.map +0 -1
  110. package/dist/es5/data-filter/aggregator.js +0 -79
  111. package/dist/es5/data-filter/aggregator.js.map +0 -1
  112. package/dist/es5/data-filter/data-filter-extension.js +0 -236
  113. package/dist/es5/data-filter/data-filter-extension.js.map +0 -1
  114. package/dist/es5/data-filter/shader-module.js +0 -122
  115. package/dist/es5/data-filter/shader-module.js.map +0 -1
  116. package/dist/es5/fill-style/fill-style-extension.js +0 -190
  117. package/dist/es5/fill-style/fill-style-extension.js.map +0 -1
  118. package/dist/es5/fill-style/shaders.glsl.js +0 -59
  119. package/dist/es5/fill-style/shaders.glsl.js.map +0 -1
  120. package/dist/es5/fp64/fp64-extension.js +0 -55
  121. package/dist/es5/fp64/fp64-extension.js.map +0 -1
  122. package/dist/es5/fp64/project64.glsl.js +0 -9
  123. package/dist/es5/fp64/project64.glsl.js.map +0 -1
  124. package/dist/es5/fp64/project64.js +0 -52
  125. package/dist/es5/fp64/project64.js.map +0 -1
  126. package/dist/es5/index.js +0 -88
  127. package/dist/es5/index.js.map +0 -1
  128. package/dist/es5/mask/mask-effect.js +0 -279
  129. package/dist/es5/mask/mask-effect.js.map +0 -1
  130. package/dist/es5/mask/mask-extension.js +0 -113
  131. package/dist/es5/mask/mask-extension.js.map +0 -1
  132. package/dist/es5/mask/mask-pass.js +0 -106
  133. package/dist/es5/mask/mask-pass.js.map +0 -1
  134. package/dist/es5/mask/shader-module.js +0 -38
  135. package/dist/es5/mask/shader-module.js.map +0 -1
  136. package/dist/es5/path-style/path-style-extension.js +0 -169
  137. package/dist/es5/path-style/path-style-extension.js.map +0 -1
  138. package/dist/es5/path-style/shaders.glsl.js +0 -25
  139. package/dist/es5/path-style/shaders.glsl.js.map +0 -1
  140. package/dist/es5/terrain/height-map-builder.js +0 -111
  141. package/dist/es5/terrain/height-map-builder.js.map +0 -1
  142. package/dist/es5/terrain/shader-module.js +0 -84
  143. package/dist/es5/terrain/shader-module.js.map +0 -1
  144. package/dist/es5/terrain/terrain-cover.js +0 -256
  145. package/dist/es5/terrain/terrain-cover.js.map +0 -1
  146. package/dist/es5/terrain/terrain-effect.js +0 -326
  147. package/dist/es5/terrain/terrain-effect.js.map +0 -1
  148. package/dist/es5/terrain/terrain-extension.js +0 -94
  149. package/dist/es5/terrain/terrain-extension.js.map +0 -1
  150. package/dist/es5/terrain/terrain-pass.js +0 -121
  151. package/dist/es5/terrain/terrain-pass.js.map +0 -1
  152. package/dist/es5/terrain/terrain-picking-pass.js +0 -124
  153. package/dist/es5/terrain/terrain-picking-pass.js.map +0 -1
  154. package/dist/es5/terrain/utils.js +0 -35
  155. package/dist/es5/terrain/utils.js.map +0 -1
  156. package/dist/es5/utils/debug.js +0 -71
  157. package/dist/es5/utils/debug.js.map +0 -1
  158. package/dist/es5/utils/projection-utils.js +0 -168
  159. package/dist/es5/utils/projection-utils.js.map +0 -1
  160. package/dist/esm/brushing/brushing-extension.js +0 -68
  161. package/dist/esm/brushing/brushing-extension.js.map +0 -1
  162. package/dist/esm/brushing/shader-module.js +0 -103
  163. package/dist/esm/brushing/shader-module.js.map +0 -1
  164. package/dist/esm/clip/clip-extension.js +0 -86
  165. package/dist/esm/clip/clip-extension.js.map +0 -1
  166. package/dist/esm/collision-filter/collision-filter-effect.js +0 -246
  167. package/dist/esm/collision-filter/collision-filter-effect.js.map +0 -1
  168. package/dist/esm/collision-filter/collision-filter-extension.js +0 -75
  169. package/dist/esm/collision-filter/collision-filter-extension.js.map +0 -1
  170. package/dist/esm/collision-filter/collision-filter-pass.js +0 -30
  171. package/dist/esm/collision-filter/collision-filter-pass.js.map +0 -1
  172. package/dist/esm/collision-filter/shader-module.js +0 -104
  173. package/dist/esm/collision-filter/shader-module.js.map +0 -1
  174. package/dist/esm/data-filter/aggregator.js.map +0 -1
  175. package/dist/esm/data-filter/data-filter-extension.js +0 -189
  176. package/dist/esm/data-filter/data-filter-extension.js.map +0 -1
  177. package/dist/esm/data-filter/shader-module.js +0 -164
  178. package/dist/esm/data-filter/shader-module.js.map +0 -1
  179. package/dist/esm/fill-style/fill-style-extension.js +0 -156
  180. package/dist/esm/fill-style/fill-style-extension.js.map +0 -1
  181. package/dist/esm/fill-style/shaders.glsl.js +0 -108
  182. package/dist/esm/fill-style/shaders.glsl.js.map +0 -1
  183. package/dist/esm/fp64/fp64-extension.js +0 -20
  184. package/dist/esm/fp64/fp64-extension.js.map +0 -1
  185. package/dist/esm/fp64/project64.glsl.js +0 -82
  186. package/dist/esm/fp64/project64.glsl.js.map +0 -1
  187. package/dist/esm/fp64/project64.js +0 -43
  188. package/dist/esm/fp64/project64.js.map +0 -1
  189. package/dist/esm/index.js +0 -11
  190. package/dist/esm/index.js.map +0 -1
  191. package/dist/esm/mask/mask-effect.js +0 -228
  192. package/dist/esm/mask/mask-effect.js.map +0 -1
  193. package/dist/esm/mask/mask-extension.js +0 -83
  194. package/dist/esm/mask/mask-extension.js.map +0 -1
  195. package/dist/esm/mask/mask-pass.js +0 -58
  196. package/dist/esm/mask/mask-pass.js.map +0 -1
  197. package/dist/esm/mask/shader-module.js +0 -84
  198. package/dist/esm/mask/shader-module.js.map +0 -1
  199. package/dist/esm/path-style/path-style-extension.js +0 -130
  200. package/dist/esm/path-style/path-style-extension.js.map +0 -1
  201. package/dist/esm/path-style/shaders.glsl.js +0 -84
  202. package/dist/esm/path-style/shaders.glsl.js.map +0 -1
  203. package/dist/esm/terrain/height-map-builder.js +0 -86
  204. package/dist/esm/terrain/height-map-builder.js.map +0 -1
  205. package/dist/esm/terrain/shader-module.js +0 -125
  206. package/dist/esm/terrain/shader-module.js.map +0 -1
  207. package/dist/esm/terrain/terrain-cover.js +0 -212
  208. package/dist/esm/terrain/terrain-cover.js.map +0 -1
  209. package/dist/esm/terrain/terrain-effect.js +0 -219
  210. package/dist/esm/terrain/terrain-effect.js.map +0 -1
  211. package/dist/esm/terrain/terrain-extension.js +0 -59
  212. package/dist/esm/terrain/terrain-extension.js.map +0 -1
  213. package/dist/esm/terrain/terrain-pass.js +0 -71
  214. package/dist/esm/terrain/terrain-pass.js.map +0 -1
  215. package/dist/esm/terrain/terrain-picking-pass.js +0 -73
  216. package/dist/esm/terrain/terrain-picking-pass.js.map +0 -1
  217. package/dist/esm/terrain/utils.js +0 -19
  218. package/dist/esm/terrain/utils.js.map +0 -1
  219. package/dist/esm/utils/debug.js +0 -61
  220. package/dist/esm/utils/debug.js.map +0 -1
  221. package/dist/esm/utils/projection-utils.js +0 -134
  222. package/dist/esm/utils/projection-utils.js.map +0 -1
  223. package/typed/data-filter/aggregator.d.ts.map +0 -1
  224. package/typed/data-filter/data-filter-extension.d.ts.map +0 -1
  225. package/typed/data-filter/shader-module.d.ts.map +0 -1
  226. package/typed/fill-style/fill-style-extension.d.ts.map +0 -1
  227. package/typed/fill-style/shaders.glsl.d.ts.map +0 -1
  228. package/typed/index.d.ts +0 -19
  229. package/typed/index.d.ts.map +0 -1
  230. package/typed/mask/mask-effect.d.ts.map +0 -1
  231. package/typed/terrain/height-map-builder.d.ts.map +0 -1
  232. package/typed/terrain/shader-module.d.ts.map +0 -1
  233. package/typed/terrain/terrain-cover.d.ts.map +0 -1
  234. package/typed/terrain/terrain-effect.d.ts.map +0 -1
  235. package/typed/terrain/terrain-pass.d.ts.map +0 -1
  236. package/typed/terrain/terrain-picking-pass.d.ts.map +0 -1
  237. /package/{typed → dist}/brushing/brushing-extension.d.ts +0 -0
  238. /package/{typed → dist}/brushing/brushing-extension.d.ts.map +0 -0
  239. /package/{typed → dist}/clip/clip-extension.d.ts +0 -0
  240. /package/{typed → dist}/collision-filter/collision-filter-effect.d.ts +0 -0
  241. /package/{typed → dist}/collision-filter/collision-filter-extension.d.ts +0 -0
  242. /package/{typed → dist}/collision-filter/collision-filter-extension.d.ts.map +0 -0
  243. /package/{typed → dist}/collision-filter/shader-module.d.ts +0 -0
  244. /package/{typed → dist}/data-filter/aggregator.d.ts +0 -0
  245. /package/{typed → dist}/fp64/fp64-extension.d.ts +0 -0
  246. /package/{typed → dist}/fp64/fp64-extension.d.ts.map +0 -0
  247. /package/{typed → dist}/fp64/project64.d.ts +0 -0
  248. /package/{typed → dist}/fp64/project64.d.ts.map +0 -0
  249. /package/{typed → dist}/fp64/project64.glsl.d.ts +0 -0
  250. /package/{typed → dist}/fp64/project64.glsl.d.ts.map +0 -0
  251. /package/{typed → dist}/mask/mask-extension.d.ts +0 -0
  252. /package/{typed → dist}/mask/mask-extension.d.ts.map +0 -0
  253. /package/{typed → dist}/mask/mask-pass.d.ts +0 -0
  254. /package/{typed → dist}/mask/shader-module.d.ts +0 -0
  255. /package/{typed → dist}/path-style/path-style-extension.d.ts +0 -0
  256. /package/{typed → dist}/path-style/path-style-extension.d.ts.map +0 -0
  257. /package/{typed → dist}/path-style/shaders.glsl.d.ts +0 -0
  258. /package/{typed → dist}/path-style/shaders.glsl.d.ts.map +0 -0
  259. /package/{typed → dist}/terrain/terrain-extension.d.ts +0 -0
  260. /package/{typed → dist}/terrain/terrain-extension.d.ts.map +0 -0
  261. /package/{typed → dist}/terrain/utils.d.ts +0 -0
  262. /package/{typed → dist}/terrain/utils.d.ts.map +0 -0
  263. /package/{typed → dist}/utils/debug.d.ts +0 -0
  264. /package/{typed → dist}/utils/projection-utils.d.ts +0 -0
  265. /package/{typed → dist}/utils/projection-utils.d.ts.map +0 -0
@@ -1,94 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
-
14
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
15
-
16
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
17
-
18
- var _core = require("@deck.gl/core");
19
-
20
- var _terrainEffect = require("./terrain-effect");
21
-
22
- var _shaderModule = require("./shader-module");
23
-
24
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
25
-
26
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
27
-
28
- var defaultProps = {
29
- terrainDrawMode: undefined
30
- };
31
-
32
- var TerrainExtension = function (_LayerExtension) {
33
- (0, _inherits2.default)(TerrainExtension, _LayerExtension);
34
-
35
- var _super = _createSuper(TerrainExtension);
36
-
37
- function TerrainExtension() {
38
- (0, _classCallCheck2.default)(this, TerrainExtension);
39
- return _super.apply(this, arguments);
40
- }
41
-
42
- var _proto = TerrainExtension.prototype;
43
-
44
- _proto.getShaders = function getShaders() {
45
- return {
46
- modules: [_shaderModule.terrainModule]
47
- };
48
- };
49
-
50
- _proto.initializeState = function initializeState() {
51
- var _this$context$deck;
52
-
53
- (_this$context$deck = this.context.deck) === null || _this$context$deck === void 0 ? void 0 : _this$context$deck._addDefaultEffect(new _terrainEffect.TerrainEffect());
54
- };
55
-
56
- _proto.updateState = function updateState(params) {
57
- var props = params.props,
58
- oldProps = params.oldProps;
59
-
60
- if (this.state.terrainDrawMode && props.terrainDrawMode === oldProps.terrainDrawMode && props.extruded === oldProps.extruded) {
61
- return;
62
- }
63
-
64
- var terrainDrawMode = props.terrainDrawMode;
65
-
66
- if (!terrainDrawMode) {
67
- var _this$getAttributeMan;
68
-
69
- var is3d = this.props.extruded;
70
- var attributes = (_this$getAttributeMan = this.getAttributeManager()) === null || _this$getAttributeMan === void 0 ? void 0 : _this$getAttributeMan.attributes;
71
- var hasAnchor = attributes && 'instancePositions' in attributes;
72
- terrainDrawMode = is3d || hasAnchor ? 'offset' : 'drape';
73
- }
74
-
75
- this.setState({
76
- terrainDrawMode: terrainDrawMode
77
- });
78
- };
79
-
80
- _proto.onNeedsRedraw = function onNeedsRedraw() {
81
- var state = this.state;
82
-
83
- if (state.terrainDrawMode === 'drape') {
84
- state.terrainCoverNeedsRedraw = true;
85
- }
86
- };
87
-
88
- return TerrainExtension;
89
- }(_core.LayerExtension);
90
-
91
- exports.default = TerrainExtension;
92
- TerrainExtension.defaultProps = defaultProps;
93
- TerrainExtension.extensionName = 'TerrainExtension';
94
- //# sourceMappingURL=terrain-extension.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/terrain/terrain-extension.ts"],"names":["defaultProps","terrainDrawMode","undefined","TerrainExtension","getShaders","modules","terrainModule","initializeState","context","deck","_addDefaultEffect","TerrainEffect","updateState","params","props","oldProps","state","extruded","is3d","attributes","getAttributeManager","hasAnchor","setState","onNeedsRedraw","terrainCoverNeedsRedraw","LayerExtension","extensionName"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;AAIA,IAAMA,YAAY,GAAG;AACnBC,EAAAA,eAAe,EAAEC;AADE,CAArB;;IAoBqBC,gB;;;;;;;;;;;;SAInBC,U,GAAA,sBAAoD;AAClD,WAAO;AACLC,MAAAA,OAAO,EAAE,CAACC,2BAAD;AADJ,KAAP;AAGD,G;;SAEDC,e,GAAA,2BAAoD;AAAA;;AAClD,+BAAKC,OAAL,CAAaC,IAAb,0EAAmBC,iBAAnB,CAAqC,IAAIC,4BAAJ,EAArC;AACD,G;;SAEDC,W,GAAA,qBAEEC,MAFF,EAGE;AACA,QAAOC,KAAP,GAA0BD,MAA1B,CAAOC,KAAP;AAAA,QAAcC,QAAd,GAA0BF,MAA1B,CAAcE,QAAd;;AAEA,QACE,KAAKC,KAAL,CAAWf,eAAX,IACAa,KAAK,CAACb,eAAN,KAA0Bc,QAAQ,CAACd,eADnC,IAGAa,KAAK,CAACG,QAAN,KAAmBF,QAAQ,CAACE,QAJ9B,EAKE;AACA;AACD;;AAED,QAAKhB,eAAL,GAAwBa,KAAxB,CAAKb,eAAL;;AACA,QAAI,CAACA,eAAL,EAAsB;AAAA;;AAGpB,UAAMiB,IAAI,GAAG,KAAKJ,KAAL,CAAWG,QAAxB;AACA,UAAME,UAAU,4BAAG,KAAKC,mBAAL,EAAH,0DAAG,sBAA4BD,UAA/C;AACA,UAAME,SAAS,GAAGF,UAAU,IAAI,uBAAuBA,UAAvD;AACAlB,MAAAA,eAAe,GAAGiB,IAAI,IAAIG,SAAR,GAAoB,QAApB,GAA+B,OAAjD;AACD;;AACD,SAAKC,QAAL,CAAc;AAACrB,MAAAA,eAAe,EAAfA;AAAD,KAAd;AACD,G;;SAEDsB,a,GAAA,yBAAqC;AACnC,QAAMP,KAAK,GAAG,KAAKA,KAAnB;;AACA,QAAIA,KAAK,CAACf,eAAN,KAA0B,OAA9B,EAAuC;AACrCe,MAAAA,KAAK,CAACQ,uBAAN,GAAgC,IAAhC;AACD;AACF,G;;;EA9C2CC,oB;;;AAAzBtB,gB,CACZH,Y,GAAeA,Y;AADHG,gB,CAEZuB,a,GAAgB,kB","sourcesContent":["import {LayerExtension, UpdateParameters} from '@deck.gl/core';\nimport {TerrainEffect} from './terrain-effect';\nimport {terrainModule} from './shader-module';\n\nimport type {Layer} from '@deck.gl/core';\n\nconst defaultProps = {\n terrainDrawMode: undefined\n};\n\nexport type TerrainExtensionProps = {\n /**\n * controls whether an object is drawn over the terrain surface by its anchor (usually defined by an accessor called `getPosition`, e.g. icon, scatterplot) or by its geometry (e.g. path, polygon).\n * If not specified, it is automatically deduced from the layer.\n */\n terrainDrawMode?: 'offset' | 'drape';\n};\n\ntype TerrainExtensionState = {\n /** Resolved fitting mode */\n terrainDrawMode: 'offset' | 'drape';\n /** Set when a layer is flagged as needs redraw */\n terrainCoverNeedsRedraw: boolean;\n};\n\n/** Allows layers to show/hide objects by a geofence. */\nexport default class TerrainExtension extends LayerExtension {\n static defaultProps = defaultProps;\n static extensionName = 'TerrainExtension';\n\n getShaders(this: Layer<TerrainExtensionProps>): any {\n return {\n modules: [terrainModule]\n };\n }\n\n initializeState(this: Layer<TerrainExtensionProps>) {\n this.context.deck?._addDefaultEffect(new TerrainEffect());\n }\n\n updateState(\n this: Layer<TerrainExtensionProps>,\n params: UpdateParameters<Layer<TerrainExtensionProps>>\n ) {\n const {props, oldProps} = params;\n\n if (\n this.state.terrainDrawMode &&\n props.terrainDrawMode === oldProps.terrainDrawMode &&\n // @ts-ignore `extruded` may not exist in props\n props.extruded === oldProps.extruded\n ) {\n return;\n }\n\n let {terrainDrawMode} = props;\n if (!terrainDrawMode) {\n // props.extruded is used as an indication that the layer is 2.5D\n // @ts-ignore `extruded` may not exist in props\n const is3d = this.props.extruded as boolean;\n const attributes = this.getAttributeManager()?.attributes;\n const hasAnchor = attributes && 'instancePositions' in attributes;\n terrainDrawMode = is3d || hasAnchor ? 'offset' : 'drape';\n }\n this.setState({terrainDrawMode});\n }\n\n onNeedsRedraw(this: Layer<{}>): void {\n const state = this.state as TerrainExtensionState;\n if (state.terrainDrawMode === 'drape') {\n state.terrainCoverNeedsRedraw = true;\n }\n }\n}\n"],"file":"terrain-extension.js"}
@@ -1,121 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.TerrainPass = void 0;
9
-
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
-
16
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
-
18
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
-
20
- var _webgl = require("@luma.gl/webgl");
21
-
22
- var _constants = require("@luma.gl/constants");
23
-
24
- var _core = require("@deck.gl/core");
25
-
26
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
27
-
28
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
29
-
30
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
31
-
32
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
33
-
34
- var TerrainPass = function (_LayersPass) {
35
- (0, _inherits2.default)(TerrainPass, _LayersPass);
36
-
37
- var _super = _createSuper(TerrainPass);
38
-
39
- function TerrainPass() {
40
- (0, _classCallCheck2.default)(this, TerrainPass);
41
- return _super.apply(this, arguments);
42
- }
43
-
44
- var _proto = TerrainPass.prototype;
45
-
46
- _proto.getRenderableLayers = function getRenderableLayers(viewport, opts) {
47
- var layers = opts.layers;
48
- var result = [];
49
-
50
- var drawParamsByIndex = this._getDrawLayerParams(viewport, opts, true);
51
-
52
- for (var i = 0; i < layers.length; i++) {
53
- var layer = layers[i];
54
-
55
- if (!layer.isComposite && drawParamsByIndex[i].shouldDrawLayer) {
56
- result.push(layer);
57
- }
58
- }
59
-
60
- return result;
61
- };
62
-
63
- _proto.renderHeightMap = function renderHeightMap(heightMap, opts) {
64
- var _this = this;
65
-
66
- var target = heightMap.getRenderFramebuffer();
67
- var viewport = heightMap.renderViewport;
68
-
69
- if (!target || !viewport) {
70
- return;
71
- }
72
-
73
- target.resize(viewport);
74
- (0, _webgl.withGLParameters)(this.device, {
75
- clearColor: [0, 0, 0, 0],
76
- blend: true,
77
- blendFunc: [1, 1],
78
- blendEquation: 32776,
79
- depthTest: false
80
- }, function () {
81
- return _this.render(_objectSpread(_objectSpread({}, opts), {}, {
82
- target: target,
83
- pass: 'terrain-height-map',
84
- layers: opts.layers,
85
- viewports: [viewport],
86
- effects: []
87
- }));
88
- });
89
- };
90
-
91
- _proto.renderTerrainCover = function renderTerrainCover(terrainCover, opts) {
92
- var _this2 = this;
93
-
94
- var target = terrainCover.getRenderFramebuffer();
95
- var viewport = terrainCover.renderViewport;
96
-
97
- if (!target || !viewport) {
98
- return;
99
- }
100
-
101
- var layers = terrainCover.filterLayers(opts.layers);
102
- target.resize(viewport);
103
- (0, _webgl.withGLParameters)(this.device, {
104
- clearColor: [0, 0, 0, 0],
105
- depthTest: false
106
- }, function () {
107
- return _this2.render(_objectSpread(_objectSpread({}, opts), {}, {
108
- target: target,
109
- pass: "terrain-cover-".concat(terrainCover.id),
110
- layers: layers,
111
- effects: [],
112
- viewports: [viewport]
113
- }));
114
- });
115
- };
116
-
117
- return TerrainPass;
118
- }(_core._LayersPass);
119
-
120
- exports.TerrainPass = TerrainPass;
121
- //# sourceMappingURL=terrain-pass.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/terrain/terrain-pass.ts"],"names":["TerrainPass","getRenderableLayers","viewport","opts","layers","result","drawParamsByIndex","_getDrawLayerParams","i","length","layer","isComposite","shouldDrawLayer","push","renderHeightMap","heightMap","target","getRenderFramebuffer","renderViewport","resize","device","clearColor","blend","blendFunc","blendEquation","depthTest","render","pass","viewports","effects","renderTerrainCover","terrainCover","filterLayers","id","LayersPass"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;IAOaA,W;;;;;;;;;;;;SACXC,mB,GAAA,6BAAoBC,QAApB,EAAwCC,IAAxC,EAAiF;AAC/E,QAAOC,MAAP,GAAiBD,IAAjB,CAAOC,MAAP;AACA,QAAMC,MAAe,GAAG,EAAxB;;AACA,QAAMC,iBAAiB,GAAG,KAAKC,mBAAL,CAAyBL,QAAzB,EAAmCC,IAAnC,EAAyC,IAAzC,CAA1B;;AACA,SAAK,IAAIK,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGJ,MAAM,CAACK,MAA3B,EAAmCD,CAAC,EAApC,EAAwC;AACtC,UAAME,KAAK,GAAGN,MAAM,CAACI,CAAD,CAApB;;AACA,UAAI,CAACE,KAAK,CAACC,WAAP,IAAsBL,iBAAiB,CAACE,CAAD,CAAjB,CAAqBI,eAA/C,EAAgE;AAC9DP,QAAAA,MAAM,CAACQ,IAAP,CAAYH,KAAZ;AACD;AACF;;AAED,WAAOL,MAAP;AACD,G;;SAEDS,e,GAAA,yBAAgBC,SAAhB,EAA6CZ,IAA7C,EAAsF;AAAA;;AAEpF,QAAMa,MAAM,GAAGD,SAAS,CAACE,oBAAV,EAAf;AACA,QAAMf,QAAQ,GAAGa,SAAS,CAACG,cAA3B;;AAEA,QAAI,CAACF,MAAD,IAAW,CAACd,QAAhB,EAA0B;AACxB;AACD;;AAEDc,IAAAA,MAAM,CAACG,MAAP,CAAcjB,QAAd;AAEA,iCACE,KAAKkB,MADP,EAEE;AACEC,MAAAA,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,CADd;AAEEC,MAAAA,KAAK,EAAE,IAFT;AAGEC,MAAAA,SAAS,EAAE,MAHb;AAIEC,MAAAA,aAAa,OAJf;AAKEC,MAAAA,SAAS,EAAE;AALb,KAFF,EASE;AAAA,aACE,KAAI,CAACC,MAAL,iCACKvB,IADL;AAEEa,QAAAA,MAAM,EAANA,MAFF;AAGEW,QAAAA,IAAI,EAAE,oBAHR;AAIEvB,QAAAA,MAAM,EAAED,IAAI,CAACC,MAJf;AAKEwB,QAAAA,SAAS,EAAE,CAAC1B,QAAD,CALb;AAME2B,QAAAA,OAAO,EAAE;AANX,SADF;AAAA,KATF;AAmBD,G;;SAEDC,kB,GAAA,4BAAmBC,YAAnB,EAA+C5B,IAA/C,EAAwF;AAAA;;AAEtF,QAAMa,MAAM,GAAGe,YAAY,CAACd,oBAAb,EAAf;AACA,QAAMf,QAAQ,GAAG6B,YAAY,CAACb,cAA9B;;AAEA,QAAI,CAACF,MAAD,IAAW,CAACd,QAAhB,EAA0B;AACxB;AACD;;AAED,QAAME,MAAM,GAAG2B,YAAY,CAACC,YAAb,CAA0B7B,IAAI,CAACC,MAA/B,CAAf;AACAY,IAAAA,MAAM,CAACG,MAAP,CAAcjB,QAAd;AAEA,iCACE,KAAKkB,MADP,EAEE;AACEC,MAAAA,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,CADd;AAEEI,MAAAA,SAAS,EAAE;AAFb,KAFF,EAME;AAAA,aACE,MAAI,CAACC,MAAL,iCACKvB,IADL;AAEEa,QAAAA,MAAM,EAANA,MAFF;AAGEW,QAAAA,IAAI,0BAAmBI,YAAY,CAACE,EAAhC,CAHN;AAIE7B,QAAAA,MAAM,EAANA,MAJF;AAKEyB,QAAAA,OAAO,EAAE,EALX;AAMED,QAAAA,SAAS,EAAE,CAAC1B,QAAD;AANb,SADF;AAAA,KANF;AAgBD,G;;;EA3E8BgC,iB","sourcesContent":["import {withGLParameters} from '@luma.gl/webgl';\nimport {GL} from '@luma.gl/constants';\nimport {Layer, Viewport, _LayersPass as LayersPass, LayersPassRenderOptions} from '@deck.gl/core';\nimport type {HeightMapBuilder} from './height-map-builder';\nimport type {TerrainCover} from './terrain-cover';\n\nexport type TerrainPassRenderOptions = LayersPassRenderOptions;\n\n/** Renders textures used by the TerrainEffect render pass */\nexport class TerrainPass extends LayersPass {\n getRenderableLayers(viewport: Viewport, opts: TerrainPassRenderOptions): Layer[] {\n const {layers} = opts;\n const result: Layer[] = [];\n const drawParamsByIndex = this._getDrawLayerParams(viewport, opts, true);\n for (let i = 0; i < layers.length; i++) {\n const layer = layers[i];\n if (!layer.isComposite && drawParamsByIndex[i].shouldDrawLayer) {\n result.push(layer);\n }\n }\n\n return result;\n }\n\n renderHeightMap(heightMap: HeightMapBuilder, opts: Partial<TerrainPassRenderOptions>) {\n // console.log('Updating height map')\n const target = heightMap.getRenderFramebuffer();\n const viewport = heightMap.renderViewport;\n\n if (!target || !viewport) {\n return;\n }\n\n target.resize(viewport);\n\n withGLParameters(\n this.device,\n {\n clearColor: [0, 0, 0, 0],\n blend: true,\n blendFunc: [GL.ONE, GL.ONE],\n blendEquation: GL.MAX,\n depthTest: false\n },\n () =>\n this.render({\n ...opts,\n target,\n pass: 'terrain-height-map',\n layers: opts.layers!,\n viewports: [viewport],\n effects: []\n })\n );\n }\n\n renderTerrainCover(terrainCover: TerrainCover, opts: Partial<TerrainPassRenderOptions>) {\n // console.log('Updating terrain cover ' + terrainCover.id)\n const target = terrainCover.getRenderFramebuffer();\n const viewport = terrainCover.renderViewport;\n\n if (!target || !viewport) {\n return;\n }\n\n const layers = terrainCover.filterLayers(opts.layers!);\n target.resize(viewport);\n\n withGLParameters(\n this.device,\n {\n clearColor: [0, 0, 0, 0],\n depthTest: false\n },\n () =>\n this.render({\n ...opts,\n target,\n pass: `terrain-cover-${terrainCover.id}`,\n layers,\n effects: [],\n viewports: [viewport]\n })\n );\n }\n}\n"],"file":"terrain-pass.js"}
@@ -1,124 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.TerrainPickingPass = void 0;
9
-
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
15
-
16
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
- var _core = require("@deck.gl/core");
23
-
24
- var _webgl = require("@luma.gl/webgl");
25
-
26
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
27
-
28
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
29
-
30
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
31
-
32
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
33
-
34
- var TerrainPickingPass = function (_PickLayersPass) {
35
- (0, _inherits2.default)(TerrainPickingPass, _PickLayersPass);
36
-
37
- var _super = _createSuper(TerrainPickingPass);
38
-
39
- function TerrainPickingPass() {
40
- var _this;
41
-
42
- (0, _classCallCheck2.default)(this, TerrainPickingPass);
43
-
44
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
45
- args[_key] = arguments[_key];
46
- }
47
-
48
- _this = _super.call.apply(_super, [this].concat(args));
49
- _this.drawParameters = {};
50
- return _this;
51
- }
52
-
53
- var _proto = TerrainPickingPass.prototype;
54
-
55
- _proto.getRenderableLayers = function getRenderableLayers(viewport, opts) {
56
- var layers = opts.layers;
57
- var result = [];
58
- this.drawParameters = {};
59
-
60
- this._resetColorEncoder(opts.pickZ);
61
-
62
- var drawParamsByIndex = this._getDrawLayerParams(viewport, opts);
63
-
64
- for (var i = 0; i < layers.length; i++) {
65
- var layer = layers[i];
66
-
67
- if (!layer.isComposite && drawParamsByIndex[i].shouldDrawLayer) {
68
- result.push(layer);
69
- this.drawParameters[layer.id] = drawParamsByIndex[i].layerParameters;
70
- }
71
- }
72
-
73
- return result;
74
- };
75
-
76
- _proto.renderTerrainCover = function renderTerrainCover(terrainCover, opts) {
77
- var _this2 = this;
78
-
79
- var target = terrainCover.getPickingFramebuffer();
80
- var viewport = terrainCover.renderViewport;
81
-
82
- if (!target || !viewport) {
83
- return;
84
- }
85
-
86
- var layers = terrainCover.filterLayers(opts.layers);
87
- var terrainLayer = terrainCover.targetLayer;
88
-
89
- if (terrainLayer.props.pickable) {
90
- layers.unshift(terrainLayer);
91
- }
92
-
93
- target.resize(viewport);
94
- (0, _webgl.withGLParameters)(this.device, {
95
- depthTest: false
96
- }, function () {
97
- return _this2.render(_objectSpread(_objectSpread({}, opts), {}, {
98
- pickingFBO: target,
99
- pass: "terrain-cover-picking-".concat(terrainCover.id),
100
- layers: layers,
101
- effects: [],
102
- viewports: [viewport],
103
- cullRect: undefined,
104
- deviceRect: viewport,
105
- pickZ: false
106
- }));
107
- });
108
- };
109
-
110
- _proto.getLayerParameters = function getLayerParameters(layer, layerIndex, viewport) {
111
- if (this.drawParameters[layer.id]) {
112
- return this.drawParameters[layer.id];
113
- }
114
-
115
- var parameters = (0, _get2.default)((0, _getPrototypeOf2.default)(TerrainPickingPass.prototype), "getLayerParameters", this).call(this, layer, layerIndex, viewport);
116
- parameters.blend = true;
117
- return parameters;
118
- };
119
-
120
- return TerrainPickingPass;
121
- }(_core._PickLayersPass);
122
-
123
- exports.TerrainPickingPass = TerrainPickingPass;
124
- //# sourceMappingURL=terrain-picking-pass.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/terrain/terrain-picking-pass.ts"],"names":["TerrainPickingPass","drawParameters","getRenderableLayers","viewport","opts","layers","result","_resetColorEncoder","pickZ","drawParamsByIndex","_getDrawLayerParams","i","length","layer","isComposite","shouldDrawLayer","push","id","layerParameters","renderTerrainCover","terrainCover","target","getPickingFramebuffer","renderViewport","filterLayers","terrainLayer","targetLayer","props","pickable","unshift","resize","device","depthTest","render","pickingFBO","pass","effects","viewports","cullRect","undefined","deviceRect","getLayerParameters","layerIndex","parameters","blend","PickLayersPass"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AAMA;;;;;;;;;;IAQaA,kB;;;;;;;;;;;;;;;UAOXC,c,GAAsC,E;;;;;;SAEtCC,mB,GAAA,6BAAoBC,QAApB,EAAwCC,IAAxC,EAAwF;AACtF,QAAOC,MAAP,GAAiBD,IAAjB,CAAOC,MAAP;AACA,QAAMC,MAAe,GAAG,EAAxB;AACA,SAAKL,cAAL,GAAsB,EAAtB;;AACA,SAAKM,kBAAL,CAAwBH,IAAI,CAACI,KAA7B;;AACA,QAAMC,iBAAiB,GAAG,KAAKC,mBAAL,CAAyBP,QAAzB,EAAmCC,IAAnC,CAA1B;;AACA,SAAK,IAAIO,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGN,MAAM,CAACO,MAA3B,EAAmCD,CAAC,EAApC,EAAwC;AACtC,UAAME,KAAK,GAAGR,MAAM,CAACM,CAAD,CAApB;;AACA,UAAI,CAACE,KAAK,CAACC,WAAP,IAAsBL,iBAAiB,CAACE,CAAD,CAAjB,CAAqBI,eAA/C,EAAgE;AAC9DT,QAAAA,MAAM,CAACU,IAAP,CAAYH,KAAZ;AACA,aAAKZ,cAAL,CAAoBY,KAAK,CAACI,EAA1B,IAAgCR,iBAAiB,CAACE,CAAD,CAAjB,CAAqBO,eAArD;AACD;AACF;;AAED,WAAOZ,MAAP;AACD,G;;SAEDa,kB,GAAA,4BAAmBC,YAAnB,EAA+ChB,IAA/C,EAA+F;AAAA;;AAE7F,QAAMiB,MAAM,GAAGD,YAAY,CAACE,qBAAb,EAAf;AACA,QAAMnB,QAAQ,GAAGiB,YAAY,CAACG,cAA9B;;AAEA,QAAI,CAACF,MAAD,IAAW,CAAClB,QAAhB,EAA0B;AACxB;AACD;;AAED,QAAME,MAAM,GAAGe,YAAY,CAACI,YAAb,CAA0BpB,IAAI,CAACC,MAA/B,CAAf;AACA,QAAMoB,YAAY,GAAGL,YAAY,CAACM,WAAlC;;AACA,QAAID,YAAY,CAACE,KAAb,CAAmBC,QAAvB,EAAiC;AAC/BvB,MAAAA,MAAM,CAACwB,OAAP,CAAeJ,YAAf;AACD;;AACDJ,IAAAA,MAAM,CAACS,MAAP,CAAc3B,QAAd;AAEA,iCACE,KAAK4B,MADP,EAEE;AACEC,MAAAA,SAAS,EAAE;AADb,KAFF,EAKE;AAAA,aACE,MAAI,CAACC,MAAL,iCACK7B,IADL;AAEE8B,QAAAA,UAAU,EAAEb,MAFd;AAGEc,QAAAA,IAAI,kCAA2Bf,YAAY,CAACH,EAAxC,CAHN;AAIEZ,QAAAA,MAAM,EAANA,MAJF;AAKE+B,QAAAA,OAAO,EAAE,EALX;AAMEC,QAAAA,SAAS,EAAE,CAAClC,QAAD,CANb;AASEmC,QAAAA,QAAQ,EAAEC,SATZ;AAUEC,QAAAA,UAAU,EAAErC,QAVd;AAWEK,QAAAA,KAAK,EAAE;AAXT,SADF;AAAA,KALF;AAoBD,G;;SAESiC,kB,GAAV,4BAA6B5B,KAA7B,EAA2C6B,UAA3C,EAA+DvC,QAA/D,EAAwF;AACtF,QAAI,KAAKF,cAAL,CAAoBY,KAAK,CAACI,EAA1B,CAAJ,EAAmC;AACjC,aAAO,KAAKhB,cAAL,CAAoBY,KAAK,CAACI,EAA1B,CAAP;AACD;;AACD,QAAM0B,UAAU,0HAA4B9B,KAA5B,EAAmC6B,UAAnC,EAA+CvC,QAA/C,CAAhB;AACAwC,IAAAA,UAAU,CAACC,KAAX,GAAmB,IAAnB;AACA,WAAOD,UAAP;AACD,G;;;EAvEqCE,qB","sourcesContent":["import {\n Layer,\n Viewport,\n LayersPassRenderOptions,\n _PickLayersPass as PickLayersPass\n} from '@deck.gl/core';\nimport {withGLParameters} from '@luma.gl/webgl';\nimport type {TerrainCover} from './terrain-cover';\n\nexport type TerrainPickingPassRenderOptions = LayersPassRenderOptions & {\n pickZ: boolean;\n};\n\n/** Renders textures used by the TerrainEffect picking pass */\nexport class TerrainPickingPass extends PickLayersPass {\n /** Save layer index for use when drawing to terrain cover.\n * When a terrain cover's picking buffer is rendered,\n * we need to make sure each layer receives a consistent index (encoded in the alpha channel)\n * so that a picked color can be decoded back to the correct layer.\n * Updated in getRenderableLayers which is called in TerrainEffect.preRender\n */\n drawParameters: Record<string, any> = {};\n\n getRenderableLayers(viewport: Viewport, opts: TerrainPickingPassRenderOptions): Layer[] {\n const {layers} = opts;\n const result: Layer[] = [];\n this.drawParameters = {};\n this._resetColorEncoder(opts.pickZ);\n const drawParamsByIndex = this._getDrawLayerParams(viewport, opts);\n for (let i = 0; i < layers.length; i++) {\n const layer = layers[i];\n if (!layer.isComposite && drawParamsByIndex[i].shouldDrawLayer) {\n result.push(layer);\n this.drawParameters[layer.id] = drawParamsByIndex[i].layerParameters;\n }\n }\n\n return result;\n }\n\n renderTerrainCover(terrainCover: TerrainCover, opts: Partial<TerrainPickingPassRenderOptions>) {\n // console.log('Updating terrain cover for picking ' + terrainCover.id)\n const target = terrainCover.getPickingFramebuffer();\n const viewport = terrainCover.renderViewport;\n\n if (!target || !viewport) {\n return;\n }\n\n const layers = terrainCover.filterLayers(opts.layers!);\n const terrainLayer = terrainCover.targetLayer;\n if (terrainLayer.props.pickable) {\n layers.unshift(terrainLayer);\n }\n target.resize(viewport);\n\n withGLParameters(\n this.device,\n {\n depthTest: false\n },\n () =>\n this.render({\n ...opts,\n pickingFBO: target,\n pass: `terrain-cover-picking-${terrainCover.id}`,\n layers,\n effects: [],\n viewports: [viewport],\n // Disable the default culling because TileLayer would cull sublayers based on the screen viewport,\n // not the viewport of the terrain cover. Culling is already done by `terrainCover.filterLayers`\n cullRect: undefined,\n deviceRect: viewport,\n pickZ: false\n })\n );\n }\n\n protected getLayerParameters(layer: Layer, layerIndex: number, viewport: Viewport): any {\n if (this.drawParameters[layer.id]) {\n return this.drawParameters[layer.id];\n }\n const parameters = super.getLayerParameters(layer, layerIndex, viewport);\n parameters.blend = true;\n return parameters;\n }\n}\n"],"file":"terrain-picking-pass.js"}
@@ -1,35 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.createRenderTarget = createRenderTarget;
9
-
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
- var _constants = require("@luma.gl/constants");
13
-
14
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
15
-
16
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
17
-
18
- function createRenderTarget(device, opts) {
19
- return device.createFramebuffer({
20
- id: opts.id,
21
- colorAttachments: [device.createTexture(_objectSpread(_objectSpread({}, opts.float && {
22
- format: device.info.type === 'webgl2' ? 'rgba32float' : 'rgba8unorm',
23
- type: 5126
24
- }), {}, {
25
- mipmaps: false,
26
- sampler: {
27
- minFilter: 'linear',
28
- magFilter: 'linear',
29
- addressModeU: 'clamp-to-edge',
30
- addressModeV: 'clamp-to-edge'
31
- }
32
- }))]
33
- });
34
- }
35
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/terrain/utils.ts"],"names":["createRenderTarget","device","opts","createFramebuffer","id","colorAttachments","createTexture","float","format","info","type","mipmaps","sampler","minFilter","magFilter","addressModeU","addressModeV"],"mappings":";;;;;;;;;;;AACA;;;;;;AAEO,SAASA,kBAAT,CACLC,MADK,EAELC,IAFK,EAML;AACA,SAAOD,MAAM,CAACE,iBAAP,CAAyB;AAC9BC,IAAAA,EAAE,EAAEF,IAAI,CAACE,EADqB;AAE9BC,IAAAA,gBAAgB,EAAE,CAChBJ,MAAM,CAACK,aAAP,iCACMJ,IAAI,CAACK,KAAL,IAAc;AAChBC,MAAAA,MAAM,EAAEP,MAAM,CAACQ,IAAP,CAAYC,IAAZ,KAAqB,QAArB,GAAgC,aAAhC,GAAgD,YADxC;AAEhBA,MAAAA,IAAI;AAFY,KADpB;AAKEC,MAAAA,OAAO,EAAE,KALX;AAMEC,MAAAA,OAAO,EAAE;AACPC,QAAAA,SAAS,EAAE,QADJ;AAEPC,QAAAA,SAAS,EAAE,QAFJ;AAGPC,QAAAA,YAAY,EAAE,eAHP;AAIPC,QAAAA,YAAY,EAAE;AAJP;AANX,OADgB;AAFY,GAAzB,CAAP;AAkBD","sourcesContent":["import type {Device} from '@luma.gl/core';\nimport {GL} from '@luma.gl/constants';\n\nexport function createRenderTarget(\n device: Device,\n opts: {\n id: string;\n float?: boolean;\n }\n) {\n return device.createFramebuffer({\n id: opts.id,\n colorAttachments: [\n device.createTexture({\n ...(opts.float && {\n format: device.info.type === 'webgl2' ? 'rgba32float' : 'rgba8unorm',\n type: GL.FLOAT\n }),\n mipmaps: false,\n sampler: {\n minFilter: 'linear',\n magFilter: 'linear',\n addressModeU: 'clamp-to-edge',\n addressModeV: 'clamp-to-edge'\n }\n })\n ]\n });\n}\n"],"file":"utils.js"}
@@ -1,71 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.debugFBO = void 0;
7
-
8
- var _webgl = require("@luma.gl/webgl");
9
-
10
- var debugFBO = function debugFBO(fbo) {
11
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
12
- minimap = _ref.minimap,
13
- opaque = _ref.opaque;
14
-
15
- var color = (0, _webgl.readPixelsToArray)(fbo);
16
- var canvas = document.getElementById('fbo-canvas');
17
- var canvasHeight = (minimap ? 2 : 1) * fbo.height;
18
-
19
- if (!canvas) {
20
- canvas = document.createElement('canvas');
21
- canvas.id = 'fbo-canvas';
22
- canvas.style.zIndex = '100';
23
- canvas.style.position = 'absolute';
24
- canvas.style.top = '0';
25
- canvas.style.right = '0';
26
- canvas.style.border = 'blue 1px solid';
27
- canvas.style.transform = 'scaleY(-1)';
28
- document.body.appendChild(canvas);
29
- }
30
-
31
- if (canvas.width !== fbo.width || canvas.height !== canvasHeight) {
32
- canvas.width = fbo.width;
33
- canvas.height = canvasHeight;
34
- canvas.style.width = '400px';
35
- }
36
-
37
- var ctx = canvas.getContext('2d');
38
- var imageData = ctx.createImageData(canvas.width, canvas.height);
39
-
40
- if (minimap) {
41
- var zoom = 8;
42
- var _canvas = canvas,
43
- width = _canvas.width,
44
- height = _canvas.height;
45
-
46
- for (var y = 0; y < height; y++) {
47
- for (var x = 0; x < width; x++) {
48
- var d = 4 * (x + y * width);
49
- var s = 4 * (Math.floor(x / zoom) + Math.floor(y / zoom) * width);
50
- imageData.data[d + 0] = color[s + 0];
51
- imageData.data[d + 1] = color[s + 1];
52
- imageData.data[d + 2] = color[s + 2];
53
- imageData.data[d + 3] = opaque ? 255 : color[s + 3];
54
- }
55
- }
56
- }
57
-
58
- var offset = minimap ? color.length : 0;
59
-
60
- for (var i = 0; i < color.length; i += 4) {
61
- imageData.data[offset + i + 0] = color[i + 0];
62
- imageData.data[offset + i + 1] = color[i + 1];
63
- imageData.data[offset + i + 2] = color[i + 2];
64
- imageData.data[offset + i + 3] = opaque ? 255 : color[i + 3];
65
- }
66
-
67
- ctx.putImageData(imageData, 0, 0);
68
- };
69
-
70
- exports.debugFBO = debugFBO;
71
- //# sourceMappingURL=debug.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/utils/debug.ts"],"names":["debugFBO","fbo","minimap","opaque","color","canvas","document","getElementById","canvasHeight","height","createElement","id","style","zIndex","position","top","right","border","transform","body","appendChild","width","ctx","getContext","imageData","createImageData","zoom","y","x","d","s","Math","floor","data","offset","length","i","putImageData"],"mappings":";;;;;;;AAGA;;AAIO,IAAMA,QAAQ,GAAG,SAAXA,QAAW,CACtBC,GADsB,EAGtB;AAAA,iFAD2D,EAC3D;AAAA,MADCC,OACD,QADCA,OACD;AAAA,MADUC,MACV,QADUA,MACV;;AACA,MAAMC,KAAK,GAAG,8BAAkBH,GAAlB,CAAd;AACA,MAAII,MAAM,GAAGC,QAAQ,CAACC,cAAT,CAAwB,YAAxB,CAAb;AACA,MAAMC,YAAY,GAAG,CAACN,OAAO,GAAG,CAAH,GAAO,CAAf,IAAoBD,GAAG,CAACQ,MAA7C;;AACA,MAAI,CAACJ,MAAL,EAAa;AACXA,IAAAA,MAAM,GAAGC,QAAQ,CAACI,aAAT,CAAuB,QAAvB,CAAT;AACAL,IAAAA,MAAM,CAACM,EAAP,GAAY,YAAZ;AACAN,IAAAA,MAAM,CAACO,KAAP,CAAaC,MAAb,GAAsB,KAAtB;AACAR,IAAAA,MAAM,CAACO,KAAP,CAAaE,QAAb,GAAwB,UAAxB;AACAT,IAAAA,MAAM,CAACO,KAAP,CAAaG,GAAb,GAAmB,GAAnB;AACAV,IAAAA,MAAM,CAACO,KAAP,CAAaI,KAAb,GAAqB,GAArB;AACAX,IAAAA,MAAM,CAACO,KAAP,CAAaK,MAAb,GAAsB,gBAAtB;AACAZ,IAAAA,MAAM,CAACO,KAAP,CAAaM,SAAb,GAAyB,YAAzB;AACAZ,IAAAA,QAAQ,CAACa,IAAT,CAAcC,WAAd,CAA0Bf,MAA1B;AACD;;AACD,MAAIA,MAAM,CAACgB,KAAP,KAAiBpB,GAAG,CAACoB,KAArB,IAA8BhB,MAAM,CAACI,MAAP,KAAkBD,YAApD,EAAkE;AAChEH,IAAAA,MAAM,CAACgB,KAAP,GAAepB,GAAG,CAACoB,KAAnB;AACAhB,IAAAA,MAAM,CAACI,MAAP,GAAgBD,YAAhB;AACAH,IAAAA,MAAM,CAACO,KAAP,CAAaS,KAAb,GAAqB,OAArB;AACD;;AACD,MAAMC,GAAG,GAAGjB,MAAM,CAACkB,UAAP,CAAkB,IAAlB,CAAZ;AACA,MAAMC,SAAS,GAAGF,GAAG,CAACG,eAAJ,CAAoBpB,MAAM,CAACgB,KAA3B,EAAkChB,MAAM,CAACI,MAAzC,CAAlB;;AAGA,MAAIP,OAAJ,EAAa;AACX,QAAMwB,IAAI,GAAG,CAAb;AACA,kBAAwBrB,MAAxB;AAAA,QAAOgB,KAAP,WAAOA,KAAP;AAAA,QAAcZ,MAAd,WAAcA,MAAd;;AACA,SAAK,IAAIkB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGlB,MAApB,EAA4BkB,CAAC,EAA7B,EAAiC;AAC/B,WAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGP,KAApB,EAA2BO,CAAC,EAA5B,EAAgC;AAC9B,YAAMC,CAAC,GAAG,KAAKD,CAAC,GAAGD,CAAC,GAAGN,KAAb,CAAV;AACA,YAAMS,CAAC,GAAG,KAAKC,IAAI,CAACC,KAAL,CAAWJ,CAAC,GAAGF,IAAf,IAAuBK,IAAI,CAACC,KAAL,CAAWL,CAAC,GAAGD,IAAf,IAAuBL,KAAnD,CAAV;AACAG,QAAAA,SAAS,CAACS,IAAV,CAAeJ,CAAC,GAAG,CAAnB,IAAwBzB,KAAK,CAAC0B,CAAC,GAAG,CAAL,CAA7B;AACAN,QAAAA,SAAS,CAACS,IAAV,CAAeJ,CAAC,GAAG,CAAnB,IAAwBzB,KAAK,CAAC0B,CAAC,GAAG,CAAL,CAA7B;AACAN,QAAAA,SAAS,CAACS,IAAV,CAAeJ,CAAC,GAAG,CAAnB,IAAwBzB,KAAK,CAAC0B,CAAC,GAAG,CAAL,CAA7B;AACAN,QAAAA,SAAS,CAACS,IAAV,CAAeJ,CAAC,GAAG,CAAnB,IAAwB1B,MAAM,GAAG,GAAH,GAASC,KAAK,CAAC0B,CAAC,GAAG,CAAL,CAA5C;AACD;AACF;AACF;;AAGD,MAAMI,MAAM,GAAGhC,OAAO,GAAGE,KAAK,CAAC+B,MAAT,GAAkB,CAAxC;;AACA,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGhC,KAAK,CAAC+B,MAA1B,EAAkCC,CAAC,IAAI,CAAvC,EAA0C;AACxCZ,IAAAA,SAAS,CAACS,IAAV,CAAeC,MAAM,GAAGE,CAAT,GAAa,CAA5B,IAAiChC,KAAK,CAACgC,CAAC,GAAG,CAAL,CAAtC;AACAZ,IAAAA,SAAS,CAACS,IAAV,CAAeC,MAAM,GAAGE,CAAT,GAAa,CAA5B,IAAiChC,KAAK,CAACgC,CAAC,GAAG,CAAL,CAAtC;AACAZ,IAAAA,SAAS,CAACS,IAAV,CAAeC,MAAM,GAAGE,CAAT,GAAa,CAA5B,IAAiChC,KAAK,CAACgC,CAAC,GAAG,CAAL,CAAtC;AACAZ,IAAAA,SAAS,CAACS,IAAV,CAAeC,MAAM,GAAGE,CAAT,GAAa,CAA5B,IAAiCjC,MAAM,GAAG,GAAH,GAASC,KAAK,CAACgC,CAAC,GAAG,CAAL,CAArD;AACD;;AAEDd,EAAAA,GAAG,CAACe,YAAJ,CAAiBb,SAAjB,EAA4B,CAA5B,EAA+B,CAA/B;AACD,CApDM","sourcesContent":["/* global document */\n\nimport {Framebuffer} from '@luma.gl/core';\nimport {readPixelsToArray} from '@luma.gl/webgl';\n\n/** Debug utility to draw FBO contents onto screen */\n// eslint-disable-next-line\nexport const debugFBO = function (\n fbo: Framebuffer,\n {minimap, opaque}: {minimap?: boolean; opaque?: boolean} = {}\n) {\n const color = readPixelsToArray(fbo);\n let canvas = document.getElementById('fbo-canvas') as HTMLCanvasElement;\n const canvasHeight = (minimap ? 2 : 1) * fbo.height;\n if (!canvas) {\n canvas = document.createElement('canvas');\n canvas.id = 'fbo-canvas';\n canvas.style.zIndex = '100';\n canvas.style.position = 'absolute';\n canvas.style.top = '0';\n canvas.style.right = '0';\n canvas.style.border = 'blue 1px solid';\n canvas.style.transform = 'scaleY(-1)';\n document.body.appendChild(canvas);\n }\n if (canvas.width !== fbo.width || canvas.height !== canvasHeight) {\n canvas.width = fbo.width;\n canvas.height = canvasHeight;\n canvas.style.width = '400px';\n }\n const ctx = canvas.getContext('2d')!;\n const imageData = ctx.createImageData(canvas.width, canvas.height);\n\n // Minimap\n if (minimap) {\n const zoom = 8; // Zoom factor for minimap\n const {width, height} = canvas;\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n const d = 4 * (x + y * width); // destination pixel\n const s = 4 * (Math.floor(x / zoom) + Math.floor(y / zoom) * width); // source\n imageData.data[d + 0] = color[s + 0];\n imageData.data[d + 1] = color[s + 1];\n imageData.data[d + 2] = color[s + 2];\n imageData.data[d + 3] = opaque ? 255 : color[s + 3];\n }\n }\n }\n\n // Full map\n const offset = minimap ? color.length : 0;\n for (let i = 0; i < color.length; i += 4) {\n imageData.data[offset + i + 0] = color[i + 0];\n imageData.data[offset + i + 1] = color[i + 1];\n imageData.data[offset + i + 2] = color[i + 2];\n imageData.data[offset + i + 3] = opaque ? 255 : color[i + 3];\n }\n\n ctx.putImageData(imageData, 0, 0);\n};\n"],"file":"debug.js"}