@loaders.gl/tiles 3.1.3 → 4.0.0-alpha.5

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 (122) hide show
  1. package/dist/bundle.js +2 -2
  2. package/dist/bundle.js.map +1 -0
  3. package/dist/constants.js +26 -29
  4. package/dist/constants.js.map +1 -0
  5. package/dist/dist.min.js +45 -264
  6. package/dist/index.js +10 -28
  7. package/dist/index.js.map +1 -0
  8. package/dist/tileset/helpers/3d-tiles-options.js +5 -8
  9. package/dist/tileset/helpers/3d-tiles-options.js.map +1 -0
  10. package/dist/tileset/helpers/bounding-volume.js +70 -159
  11. package/dist/tileset/helpers/bounding-volume.js.map +1 -0
  12. package/dist/tileset/helpers/frame-state.js +48 -67
  13. package/dist/tileset/helpers/frame-state.js.map +1 -0
  14. package/dist/tileset/helpers/i3s-lod.js +64 -80
  15. package/dist/tileset/helpers/i3s-lod.js.map +1 -0
  16. package/dist/tileset/helpers/tiles-3d-lod.js +100 -111
  17. package/dist/tileset/helpers/tiles-3d-lod.js.map +1 -0
  18. package/dist/tileset/helpers/transform-utils.js +56 -50
  19. package/dist/tileset/helpers/transform-utils.js.map +1 -0
  20. package/dist/tileset/helpers/zoom.js +30 -36
  21. package/dist/tileset/helpers/zoom.js.map +1 -0
  22. package/dist/tileset/tile-3d.js +533 -551
  23. package/dist/tileset/tile-3d.js.map +1 -0
  24. package/dist/tileset/tileset-3d.js +649 -576
  25. package/dist/tileset/tileset-3d.js.map +1 -0
  26. package/dist/tileset/tileset-cache.js +71 -71
  27. package/dist/tileset/tileset-cache.js.map +1 -0
  28. package/dist/tileset/traversers/i3s-tile-manager.js +40 -31
  29. package/dist/tileset/traversers/i3s-tile-manager.js.map +1 -0
  30. package/dist/tileset/traversers/i3s-tileset-traverser.js +76 -81
  31. package/dist/tileset/traversers/i3s-tileset-traverser.js.map +1 -0
  32. package/dist/tileset/traversers/tileset-3d-traverser.js +49 -51
  33. package/dist/tileset/traversers/tileset-3d-traverser.js.map +1 -0
  34. package/dist/tileset/traversers/tileset-traverser.js +276 -274
  35. package/dist/tileset/traversers/tileset-traverser.js.map +1 -0
  36. package/dist/utils/doubly-linked-list-node.js +15 -16
  37. package/dist/utils/doubly-linked-list-node.js.map +1 -0
  38. package/dist/utils/doubly-linked-list.js +75 -94
  39. package/dist/utils/doubly-linked-list.js.map +1 -0
  40. package/dist/utils/managed-array.js +109 -143
  41. package/dist/utils/managed-array.js.map +1 -0
  42. package/package.json +7 -7
  43. package/dist/es5/bundle.js +0 -7
  44. package/dist/es5/bundle.js.map +0 -1
  45. package/dist/es5/constants.js +0 -44
  46. package/dist/es5/constants.js.map +0 -1
  47. package/dist/es5/index.js +0 -104
  48. package/dist/es5/index.js.map +0 -1
  49. package/dist/es5/tileset/helpers/3d-tiles-options.js +0 -13
  50. package/dist/es5/tileset/helpers/3d-tiles-options.js.map +0 -1
  51. package/dist/es5/tileset/helpers/bounding-volume.js +0 -114
  52. package/dist/es5/tileset/helpers/bounding-volume.js.map +0 -1
  53. package/dist/es5/tileset/helpers/frame-state.js +0 -65
  54. package/dist/es5/tileset/helpers/frame-state.js.map +0 -1
  55. package/dist/es5/tileset/helpers/i3s-lod.js +0 -86
  56. package/dist/es5/tileset/helpers/i3s-lod.js.map +0 -1
  57. package/dist/es5/tileset/helpers/tiles-3d-lod.js +0 -119
  58. package/dist/es5/tileset/helpers/tiles-3d-lod.js.map +0 -1
  59. package/dist/es5/tileset/helpers/transform-utils.js +0 -65
  60. package/dist/es5/tileset/helpers/transform-utils.js.map +0 -1
  61. package/dist/es5/tileset/helpers/zoom.js +0 -43
  62. package/dist/es5/tileset/helpers/zoom.js.map +0 -1
  63. package/dist/es5/tileset/tile-3d.js +0 -605
  64. package/dist/es5/tileset/tile-3d.js.map +0 -1
  65. package/dist/es5/tileset/tileset-3d.js +0 -838
  66. package/dist/es5/tileset/tileset-3d.js.map +0 -1
  67. package/dist/es5/tileset/tileset-cache.js +0 -101
  68. package/dist/es5/tileset/tileset-cache.js.map +0 -1
  69. package/dist/es5/tileset/traversers/i3s-tile-manager.js +0 -69
  70. package/dist/es5/tileset/traversers/i3s-tile-manager.js.map +0 -1
  71. package/dist/es5/tileset/traversers/i3s-tileset-traverser.js +0 -185
  72. package/dist/es5/tileset/traversers/i3s-tileset-traverser.js.map +0 -1
  73. package/dist/es5/tileset/traversers/tileset-3d-traverser.js +0 -94
  74. package/dist/es5/tileset/traversers/tileset-3d-traverser.js.map +0 -1
  75. package/dist/es5/tileset/traversers/tileset-traverser.js +0 -377
  76. package/dist/es5/tileset/traversers/tileset-traverser.js.map +0 -1
  77. package/dist/es5/utils/doubly-linked-list-node.js +0 -25
  78. package/dist/es5/utils/doubly-linked-list-node.js.map +0 -1
  79. package/dist/es5/utils/doubly-linked-list.js +0 -104
  80. package/dist/es5/utils/doubly-linked-list.js.map +0 -1
  81. package/dist/es5/utils/managed-array.js +0 -147
  82. package/dist/es5/utils/managed-array.js.map +0 -1
  83. package/dist/esm/bundle.js +0 -5
  84. package/dist/esm/bundle.js.map +0 -1
  85. package/dist/esm/constants.js +0 -32
  86. package/dist/esm/constants.js.map +0 -1
  87. package/dist/esm/index.js +0 -10
  88. package/dist/esm/index.js.map +0 -1
  89. package/dist/esm/tileset/helpers/3d-tiles-options.js +0 -6
  90. package/dist/esm/tileset/helpers/3d-tiles-options.js.map +0 -1
  91. package/dist/esm/tileset/helpers/bounding-volume.js +0 -88
  92. package/dist/esm/tileset/helpers/bounding-volume.js.map +0 -1
  93. package/dist/esm/tileset/helpers/frame-state.js +0 -51
  94. package/dist/esm/tileset/helpers/frame-state.js.map +0 -1
  95. package/dist/esm/tileset/helpers/i3s-lod.js +0 -67
  96. package/dist/esm/tileset/helpers/i3s-lod.js.map +0 -1
  97. package/dist/esm/tileset/helpers/tiles-3d-lod.js +0 -105
  98. package/dist/esm/tileset/helpers/tiles-3d-lod.js.map +0 -1
  99. package/dist/esm/tileset/helpers/transform-utils.js +0 -58
  100. package/dist/esm/tileset/helpers/transform-utils.js.map +0 -1
  101. package/dist/esm/tileset/helpers/zoom.js +0 -36
  102. package/dist/esm/tileset/helpers/zoom.js.map +0 -1
  103. package/dist/esm/tileset/tile-3d.js +0 -537
  104. package/dist/esm/tileset/tile-3d.js.map +0 -1
  105. package/dist/esm/tileset/tileset-3d.js +0 -674
  106. package/dist/esm/tileset/tileset-3d.js.map +0 -1
  107. package/dist/esm/tileset/tileset-cache.js +0 -79
  108. package/dist/esm/tileset/tileset-cache.js.map +0 -1
  109. package/dist/esm/tileset/traversers/i3s-tile-manager.js +0 -45
  110. package/dist/esm/tileset/traversers/i3s-tile-manager.js.map +0 -1
  111. package/dist/esm/tileset/traversers/i3s-tileset-traverser.js +0 -80
  112. package/dist/esm/tileset/traversers/i3s-tileset-traverser.js.map +0 -1
  113. package/dist/esm/tileset/traversers/tileset-3d-traverser.js +0 -53
  114. package/dist/esm/tileset/traversers/tileset-3d-traverser.js.map +0 -1
  115. package/dist/esm/tileset/traversers/tileset-traverser.js +0 -296
  116. package/dist/esm/tileset/traversers/tileset-traverser.js.map +0 -1
  117. package/dist/esm/utils/doubly-linked-list-node.js +0 -16
  118. package/dist/esm/utils/doubly-linked-list-node.js.map +0 -1
  119. package/dist/esm/utils/doubly-linked-list.js +0 -81
  120. package/dist/esm/utils/doubly-linked-list.js.map +0 -1
  121. package/dist/esm/utils/managed-array.js +0 -117
  122. package/dist/esm/utils/managed-array.js.map +0 -1
@@ -1,17 +1,16 @@
1
- "use strict";
2
- // This file is derived from the Cesium code base under Apache 2 license
3
- // See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- /**
6
- * Doubly linked list node
7
- *
8
- * @private
9
- */
10
- class DoublyLinkedListNode {
11
- constructor(item, previous, next) {
12
- this.item = item;
13
- this.previous = previous;
14
- this.next = next;
15
- }
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ export default class DoublyLinkedListNode {
3
+ constructor(item, previous, next) {
4
+ _defineProperty(this, "item", void 0);
5
+
6
+ _defineProperty(this, "previous", void 0);
7
+
8
+ _defineProperty(this, "next", void 0);
9
+
10
+ this.item = item;
11
+ this.previous = previous;
12
+ this.next = next;
13
+ }
14
+
16
15
  }
17
- exports.default = DoublyLinkedListNode;
16
+ //# sourceMappingURL=doubly-linked-list-node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/doubly-linked-list-node.ts"],"names":["DoublyLinkedListNode","constructor","item","previous","next"],"mappings":";AAQA,eAAe,MAAMA,oBAAN,CAA2B;AAKxCC,EAAAA,WAAW,CAACC,IAAD,EAAOC,QAAP,EAAiBC,IAAjB,EAAuB;AAAA;;AAAA;;AAAA;;AAChC,SAAKF,IAAL,GAAYA,IAAZ;AACA,SAAKC,QAAL,GAAgBA,QAAhB;AACA,SAAKC,IAAL,GAAYA,IAAZ;AACD;;AATuC","sourcesContent":["// This file is derived from the Cesium code base under Apache 2 license\n// See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md\n\n/**\n * Doubly linked list node\n *\n * @private\n */\nexport default class DoublyLinkedListNode {\n item;\n previous;\n next;\n\n constructor(item, previous, next) {\n this.item = item;\n this.previous = previous;\n this.next = next;\n }\n}\n"],"file":"doubly-linked-list-node.js"}
@@ -1,100 +1,81 @@
1
- "use strict";
2
- // This file is derived from the Cesium code base under Apache 2 license
3
- // See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md
4
- var __importDefault = (this && this.__importDefault) || function (mod) {
5
- return (mod && mod.__esModule) ? mod : { "default": mod };
6
- };
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- const doubly_linked_list_node_1 = __importDefault(require("../utils/doubly-linked-list-node"));
9
- /**
10
- * Doubly linked list
11
- *
12
- * @private
13
- */
14
- class DoublyLinkedList {
15
- constructor() {
16
- this.head = null;
17
- this.tail = null;
18
- this._length = 0;
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import DoublyLinkedListNode from '../utils/doubly-linked-list-node';
3
+ export default class DoublyLinkedList {
4
+ constructor() {
5
+ _defineProperty(this, "head", null);
6
+
7
+ _defineProperty(this, "tail", null);
8
+
9
+ _defineProperty(this, "_length", 0);
10
+ }
11
+
12
+ get length() {
13
+ return this._length;
14
+ }
15
+
16
+ add(item) {
17
+ const node = new DoublyLinkedListNode(item, this.tail, null);
18
+
19
+ if (this.tail) {
20
+ this.tail.next = node;
21
+ this.tail = node;
22
+ } else {
23
+ this.head = node;
24
+ this.tail = node;
19
25
  }
20
- get length() {
21
- return this._length;
26
+
27
+ ++this._length;
28
+ return node;
29
+ }
30
+
31
+ remove(node) {
32
+ if (!node) {
33
+ return;
22
34
  }
23
- /**
24
- * Adds the item to the end of the list
25
- * @param {*} [item]
26
- * @return {DoublyLinkedListNode}
27
- */
28
- add(item) {
29
- const node = new doubly_linked_list_node_1.default(item, this.tail, null);
30
- if (this.tail) {
31
- this.tail.next = node;
32
- this.tail = node;
33
- }
34
- else {
35
- this.head = node;
36
- this.tail = node;
37
- }
38
- ++this._length;
39
- return node;
35
+
36
+ if (node.previous && node.next) {
37
+ node.previous.next = node.next;
38
+ node.next.previous = node.previous;
39
+ } else if (node.previous) {
40
+ node.previous.next = null;
41
+ this.tail = node.previous;
42
+ } else if (node.next) {
43
+ node.next.previous = null;
44
+ this.head = node.next;
45
+ } else {
46
+ this.head = null;
47
+ this.tail = null;
40
48
  }
41
- /**
42
- * Removes the given node from the list
43
- * @param {DoublyLinkedListNode} node
44
- */
45
- remove(node) {
46
- if (!node) {
47
- return;
48
- }
49
- if (node.previous && node.next) {
50
- node.previous.next = node.next;
51
- node.next.previous = node.previous;
52
- }
53
- else if (node.previous) {
54
- // Remove last node
55
- node.previous.next = null;
56
- this.tail = node.previous;
57
- }
58
- else if (node.next) {
59
- // Remove first node
60
- node.next.previous = null;
61
- this.head = node.next;
62
- }
63
- else {
64
- // Remove last node in the linked list
65
- this.head = null;
66
- this.tail = null;
67
- }
68
- node.next = null;
69
- node.previous = null;
70
- --this._length;
49
+
50
+ node.next = null;
51
+ node.previous = null;
52
+ --this._length;
53
+ }
54
+
55
+ splice(node, nextNode) {
56
+ if (node === nextNode) {
57
+ return;
71
58
  }
72
- /**
73
- * Moves nextNode after node
74
- * @param {DoublyLinkedListNode} node
75
- * @param {DoublyLinkedListNode} nextNode
76
- */
77
- splice(node, nextNode) {
78
- if (node === nextNode) {
79
- return;
80
- }
81
- // Remove nextNode, then insert after node
82
- this.remove(nextNode);
83
- this._insert(node, nextNode);
84
- }
85
- _insert(node, nextNode) {
86
- const oldNodeNext = node.next;
87
- node.next = nextNode;
88
- // nextNode is the new tail
89
- if (this.tail === node) {
90
- this.tail = nextNode;
91
- }
92
- else {
93
- oldNodeNext.previous = nextNode;
94
- }
95
- nextNode.next = oldNodeNext;
96
- nextNode.previous = node;
97
- ++this._length;
59
+
60
+ this.remove(nextNode);
61
+
62
+ this._insert(node, nextNode);
63
+ }
64
+
65
+ _insert(node, nextNode) {
66
+ const oldNodeNext = node.next;
67
+ node.next = nextNode;
68
+
69
+ if (this.tail === node) {
70
+ this.tail = nextNode;
71
+ } else {
72
+ oldNodeNext.previous = nextNode;
98
73
  }
74
+
75
+ nextNode.next = oldNodeNext;
76
+ nextNode.previous = node;
77
+ ++this._length;
78
+ }
79
+
99
80
  }
100
- exports.default = DoublyLinkedList;
81
+ //# sourceMappingURL=doubly-linked-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/doubly-linked-list.ts"],"names":["DoublyLinkedListNode","DoublyLinkedList","length","_length","add","item","node","tail","next","head","remove","previous","splice","nextNode","_insert","oldNodeNext"],"mappings":";AAGA,OAAOA,oBAAP,MAAiC,kCAAjC;AAOA,eAAe,MAAMC,gBAAN,CAAuB;AAAA;AAAA,kCACA,IADA;;AAAA,kCAEA,IAFA;;AAAA,qCAG1B,CAH0B;AAAA;;AAK1B,MAANC,MAAM,GAAG;AACX,WAAO,KAAKC,OAAZ;AACD;;AAODC,EAAAA,GAAG,CAACC,IAAD,EAAO;AACR,UAAMC,IAAI,GAAG,IAAIN,oBAAJ,CAAyBK,IAAzB,EAA+B,KAAKE,IAApC,EAA0C,IAA1C,CAAb;;AAEA,QAAI,KAAKA,IAAT,EAAe;AACb,WAAKA,IAAL,CAAUC,IAAV,GAAiBF,IAAjB;AACA,WAAKC,IAAL,GAAYD,IAAZ;AACD,KAHD,MAGO;AACL,WAAKG,IAAL,GAAYH,IAAZ;AACA,WAAKC,IAAL,GAAYD,IAAZ;AACD;;AAED,MAAE,KAAKH,OAAP;AAEA,WAAOG,IAAP;AACD;;AAMDI,EAAAA,MAAM,CAACJ,IAAD,EAAO;AACX,QAAI,CAACA,IAAL,EAAW;AACT;AACD;;AAED,QAAIA,IAAI,CAACK,QAAL,IAAiBL,IAAI,CAACE,IAA1B,EAAgC;AAC9BF,MAAAA,IAAI,CAACK,QAAL,CAAcH,IAAd,GAAqBF,IAAI,CAACE,IAA1B;AACAF,MAAAA,IAAI,CAACE,IAAL,CAAUG,QAAV,GAAqBL,IAAI,CAACK,QAA1B;AACD,KAHD,MAGO,IAAIL,IAAI,CAACK,QAAT,EAAmB;AAExBL,MAAAA,IAAI,CAACK,QAAL,CAAcH,IAAd,GAAqB,IAArB;AACA,WAAKD,IAAL,GAAYD,IAAI,CAACK,QAAjB;AACD,KAJM,MAIA,IAAIL,IAAI,CAACE,IAAT,EAAe;AAEpBF,MAAAA,IAAI,CAACE,IAAL,CAAUG,QAAV,GAAqB,IAArB;AACA,WAAKF,IAAL,GAAYH,IAAI,CAACE,IAAjB;AACD,KAJM,MAIA;AAEL,WAAKC,IAAL,GAAY,IAAZ;AACA,WAAKF,IAAL,GAAY,IAAZ;AACD;;AAEDD,IAAAA,IAAI,CAACE,IAAL,GAAY,IAAZ;AACAF,IAAAA,IAAI,CAACK,QAAL,GAAgB,IAAhB;AAEA,MAAE,KAAKR,OAAP;AACD;;AAODS,EAAAA,MAAM,CAACN,IAAD,EAAOO,QAAP,EAAiB;AACrB,QAAIP,IAAI,KAAKO,QAAb,EAAuB;AACrB;AACD;;AAGD,SAAKH,MAAL,CAAYG,QAAZ;;AACA,SAAKC,OAAL,CAAaR,IAAb,EAAmBO,QAAnB;AACD;;AAEDC,EAAAA,OAAO,CAACR,IAAD,EAAOO,QAAP,EAAiB;AACtB,UAAME,WAAW,GAAGT,IAAI,CAACE,IAAzB;AACAF,IAAAA,IAAI,CAACE,IAAL,GAAYK,QAAZ;;AAGA,QAAI,KAAKN,IAAL,KAAcD,IAAlB,EAAwB;AACtB,WAAKC,IAAL,GAAYM,QAAZ;AACD,KAFD,MAEO;AACLE,MAAAA,WAAW,CAACJ,QAAZ,GAAuBE,QAAvB;AACD;;AAEDA,IAAAA,QAAQ,CAACL,IAAT,GAAgBO,WAAhB;AACAF,IAAAA,QAAQ,CAACF,QAAT,GAAoBL,IAApB;AAEA,MAAE,KAAKH,OAAP;AACD;;AA5FmC","sourcesContent":["// This file is derived from the Cesium code base under Apache 2 license\n// See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md\n\nimport DoublyLinkedListNode from '../utils/doubly-linked-list-node';\n\n/**\n * Doubly linked list\n *\n * @private\n */\nexport default class DoublyLinkedList {\n head: DoublyLinkedListNode | null = null;\n tail: DoublyLinkedListNode | null = null;\n _length = 0;\n\n get length() {\n return this._length;\n }\n\n /**\n * Adds the item to the end of the list\n * @param {*} [item]\n * @return {DoublyLinkedListNode}\n */\n add(item) {\n const node = new DoublyLinkedListNode(item, this.tail, null);\n\n if (this.tail) {\n this.tail.next = node;\n this.tail = node;\n } else {\n this.head = node;\n this.tail = node;\n }\n\n ++this._length;\n\n return node;\n }\n\n /**\n * Removes the given node from the list\n * @param {DoublyLinkedListNode} node\n */\n remove(node) {\n if (!node) {\n return;\n }\n\n if (node.previous && node.next) {\n node.previous.next = node.next;\n node.next.previous = node.previous;\n } else if (node.previous) {\n // Remove last node\n node.previous.next = null;\n this.tail = node.previous;\n } else if (node.next) {\n // Remove first node\n node.next.previous = null;\n this.head = node.next;\n } else {\n // Remove last node in the linked list\n this.head = null;\n this.tail = null;\n }\n\n node.next = null;\n node.previous = null;\n\n --this._length;\n }\n\n /**\n * Moves nextNode after node\n * @param {DoublyLinkedListNode} node\n * @param {DoublyLinkedListNode} nextNode\n */\n splice(node, nextNode) {\n if (node === nextNode) {\n return;\n }\n\n // Remove nextNode, then insert after node\n this.remove(nextNode);\n this._insert(node, nextNode);\n }\n\n _insert(node, nextNode) {\n const oldNodeNext = node.next;\n node.next = nextNode;\n\n // nextNode is the new tail\n if (this.tail === node) {\n this.tail = nextNode;\n } else {\n oldNodeNext.previous = nextNode;\n }\n\n nextNode.next = oldNodeNext;\n nextNode.previous = node;\n\n ++this._length;\n }\n}\n"],"file":"doubly-linked-list.js"}
@@ -1,151 +1,117 @@
1
- "use strict";
2
- // This file is derived from the Cesium code base under Apache 2 license
3
- // See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- const loader_utils_1 = require("@loaders.gl/loader-utils");
6
- /**
7
- * A wrapper around arrays so that the internal length of the array can be manually managed.
8
- *
9
- * @alias ManagedArray
10
- * @constructor
11
- * @private
12
- *
13
- * @param {Number} [length=0] The initial length of the array.
14
- */
15
- class ManagedArray {
16
- constructor(length = 0) {
17
- this._map = new Map();
18
- this._array = new Array(length);
19
- this._length = length;
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import { assert } from '@loaders.gl/loader-utils';
3
+ export default class ManagedArray {
4
+ constructor(length = 0) {
5
+ _defineProperty(this, "_map", new Map());
6
+
7
+ _defineProperty(this, "_array", void 0);
8
+
9
+ _defineProperty(this, "_length", void 0);
10
+
11
+ this._array = new Array(length);
12
+ this._length = length;
13
+ }
14
+
15
+ get length() {
16
+ return this._length;
17
+ }
18
+
19
+ set length(length) {
20
+ this._length = length;
21
+
22
+ if (length > this._array.length) {
23
+ this._array.length = length;
20
24
  }
21
- /**
22
- * Gets or sets the length of the array.
23
- * If the set length is greater than the length of the internal array, the internal array is resized.
24
- *
25
- * @memberof ManagedArray.prototype
26
- * @type Number
27
- */
28
- get length() {
29
- return this._length;
25
+ }
26
+
27
+ get values() {
28
+ return this._array;
29
+ }
30
+
31
+ get(index) {
32
+ assert(index < this._array.length);
33
+ return this._array[index];
34
+ }
35
+
36
+ set(index, element) {
37
+ assert(index >= 0);
38
+
39
+ if (index >= this.length) {
40
+ this.length = index + 1;
30
41
  }
31
- set length(length) {
32
- this._length = length;
33
- if (length > this._array.length) {
34
- this._array.length = length;
35
- }
42
+
43
+ if (this._map.has(this._array[index])) {
44
+ this._map.delete(this._array[index]);
36
45
  }
37
- /**
38
- * Gets the internal array.
39
- *
40
- * @memberof ManagedArray.prototype
41
- * @type Array
42
- * @readonly
43
- */
44
- get values() {
45
- return this._array;
46
+
47
+ this._array[index] = element;
48
+
49
+ this._map.set(element, index);
50
+ }
51
+
52
+ delete(element) {
53
+ const index = this._map.get(element);
54
+
55
+ if (index >= 0) {
56
+ this._array.splice(index, 1);
57
+
58
+ this._map.delete(element);
59
+
60
+ this.length--;
46
61
  }
47
- /**
48
- * Gets the element at an index.
49
- *
50
- * @param {Number} index The index to get.
51
- */
52
- get(index) {
53
- (0, loader_utils_1.assert)(index < this._array.length);
54
- return this._array[index];
62
+ }
63
+
64
+ peek() {
65
+ return this._array[this._length - 1];
66
+ }
67
+
68
+ push(element) {
69
+ if (!this._map.has(element)) {
70
+ const index = this.length++;
71
+ this._array[index] = element;
72
+
73
+ this._map.set(element, index);
55
74
  }
56
- /**
57
- * Sets the element at an index. Resizes the array if index is greater than the length of the array.
58
- *
59
- * @param {Number} index The index to set.
60
- * @param {*} element The element to set at index.
61
- */
62
- set(index, element) {
63
- (0, loader_utils_1.assert)(index >= 0);
64
- if (index >= this.length) {
65
- this.length = index + 1;
66
- }
67
- if (this._map.has(this._array[index])) {
68
- this._map.delete(this._array[index]);
69
- }
70
- this._array[index] = element;
71
- this._map.set(element, index);
75
+ }
76
+
77
+ pop() {
78
+ const element = this._array[--this.length];
79
+
80
+ this._map.delete(element);
81
+
82
+ return element;
83
+ }
84
+
85
+ reserve(length) {
86
+ assert(length >= 0);
87
+
88
+ if (length > this._array.length) {
89
+ this._array.length = length;
72
90
  }
73
- delete(element) {
74
- const index = this._map.get(element);
75
- if (index >= 0) {
76
- this._array.splice(index, 1);
77
- this._map.delete(element);
78
- this.length--;
79
- }
80
- }
81
- /**
82
- * Returns the last element in the array without modifying the array.
83
- *
84
- * @returns {*} The last element in the array.
85
- */
86
- peek() {
87
- return this._array[this._length - 1];
88
- }
89
- /**
90
- * Push an element into the array.
91
- *
92
- * @param {*} element The element to push.
93
- */
94
- push(element) {
95
- if (!this._map.has(element)) {
96
- const index = this.length++;
97
- this._array[index] = element;
98
- this._map.set(element, index);
99
- }
100
- }
101
- /**
102
- * Pop an element from the array.
103
- *
104
- * @returns {*} The last element in the array.
105
- */
106
- pop() {
107
- const element = this._array[--this.length];
108
- this._map.delete(element);
109
- return element;
110
- }
111
- /**
112
- * Resize the internal array if length > _array.length.
113
- *
114
- * @param {Number} length The length.
115
- */
116
- reserve(length) {
117
- (0, loader_utils_1.assert)(length >= 0);
118
- if (length > this._array.length) {
119
- this._array.length = length;
120
- }
121
- }
122
- /**
123
- * Resize the array.
124
- *
125
- * @param {Number} length The length.
126
- */
127
- resize(length) {
128
- (0, loader_utils_1.assert)(length >= 0);
129
- this.length = length;
130
- }
131
- /**
132
- * Trim the internal array to the specified length. Defaults to the current length.
133
- *
134
- * @param {Number} [length] The length.
135
- */
136
- trim(length) {
137
- if (length === null || length === undefined) {
138
- length = this.length;
139
- }
140
- this._array.length = length;
141
- }
142
- reset() {
143
- this._array = [];
144
- this._map = new Map();
145
- this._length = 0;
146
- }
147
- find(target) {
148
- return this._map.has(target);
91
+ }
92
+
93
+ resize(length) {
94
+ assert(length >= 0);
95
+ this.length = length;
96
+ }
97
+
98
+ trim(length) {
99
+ if (length === null || length === undefined) {
100
+ length = this.length;
149
101
  }
102
+
103
+ this._array.length = length;
104
+ }
105
+
106
+ reset() {
107
+ this._array = [];
108
+ this._map = new Map();
109
+ this._length = 0;
110
+ }
111
+
112
+ find(target) {
113
+ return this._map.has(target);
114
+ }
115
+
150
116
  }
151
- exports.default = ManagedArray;
117
+ //# sourceMappingURL=managed-array.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/managed-array.ts"],"names":["assert","ManagedArray","constructor","length","Map","_array","Array","_length","values","get","index","set","element","_map","has","delete","splice","peek","push","pop","reserve","resize","trim","undefined","reset","find","target"],"mappings":"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","sourcesContent":["// This file is derived from the Cesium code base under Apache 2 license\n// See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md\n\nimport {assert} from '@loaders.gl/loader-utils';\n\n/**\n * A wrapper around arrays so that the internal length of the array can be manually managed.\n *\n * @alias ManagedArray\n * @constructor\n * @private\n *\n * @param {Number} [length=0] The initial length of the array.\n */\nexport default class ManagedArray {\n _map = new Map();\n _array: any[];\n _length: number;\n\n constructor(length = 0) {\n this._array = new Array(length);\n this._length = length;\n }\n\n /**\n * Gets or sets the length of the array.\n * If the set length is greater than the length of the internal array, the internal array is resized.\n *\n * @memberof ManagedArray.prototype\n * @type Number\n */\n get length() {\n return this._length;\n }\n\n set length(length) {\n this._length = length;\n if (length > this._array.length) {\n this._array.length = length;\n }\n }\n\n /**\n * Gets the internal array.\n *\n * @memberof ManagedArray.prototype\n * @type Array\n * @readonly\n */\n get values() {\n return this._array;\n }\n\n /**\n * Gets the element at an index.\n *\n * @param {Number} index The index to get.\n */\n get(index) {\n assert(index < this._array.length);\n return this._array[index];\n }\n\n /**\n * Sets the element at an index. Resizes the array if index is greater than the length of the array.\n *\n * @param {Number} index The index to set.\n * @param {*} element The element to set at index.\n */\n set(index, element) {\n assert(index >= 0);\n\n if (index >= this.length) {\n this.length = index + 1;\n }\n\n if (this._map.has(this._array[index])) {\n this._map.delete(this._array[index]);\n }\n\n this._array[index] = element;\n this._map.set(element, index);\n }\n\n delete(element) {\n const index = this._map.get(element);\n if (index >= 0) {\n this._array.splice(index, 1);\n this._map.delete(element);\n this.length--;\n }\n }\n\n /**\n * Returns the last element in the array without modifying the array.\n *\n * @returns {*} The last element in the array.\n */\n peek() {\n return this._array[this._length - 1];\n }\n\n /**\n * Push an element into the array.\n *\n * @param {*} element The element to push.\n */\n push(element) {\n if (!this._map.has(element)) {\n const index = this.length++;\n this._array[index] = element;\n this._map.set(element, index);\n }\n }\n\n /**\n * Pop an element from the array.\n *\n * @returns {*} The last element in the array.\n */\n pop() {\n const element = this._array[--this.length];\n this._map.delete(element);\n return element;\n }\n\n /**\n * Resize the internal array if length > _array.length.\n *\n * @param {Number} length The length.\n */\n reserve(length) {\n assert(length >= 0);\n\n if (length > this._array.length) {\n this._array.length = length;\n }\n }\n\n /**\n * Resize the array.\n *\n * @param {Number} length The length.\n */\n resize(length) {\n assert(length >= 0);\n\n this.length = length;\n }\n\n /**\n * Trim the internal array to the specified length. Defaults to the current length.\n *\n * @param {Number} [length] The length.\n */\n trim(length) {\n if (length === null || length === undefined) {\n length = this.length;\n }\n this._array.length = length;\n }\n\n reset() {\n this._array = [];\n this._map = new Map();\n this._length = 0;\n }\n\n find(target) {\n return this._map.has(target);\n }\n}\n"],"file":"managed-array.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loaders.gl/tiles",
3
- "version": "3.1.3",
3
+ "version": "4.0.0-alpha.5",
4
4
  "description": "Common components for different tiles loaders.",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -20,8 +20,8 @@
20
20
  "pointcloud"
21
21
  ],
22
22
  "types": "dist/index.d.ts",
23
- "main": "dist/es5/index.js",
24
- "module": "dist/esm/index.js",
23
+ "main": "dist/index.js",
24
+ "module": "dist/index.js",
25
25
  "sideEffects": false,
26
26
  "files": [
27
27
  "src",
@@ -33,8 +33,8 @@
33
33
  "build-bundle": "esbuild src/bundle.ts --bundle --outfile=dist/dist.min.js"
34
34
  },
35
35
  "dependencies": {
36
- "@loaders.gl/loader-utils": "3.1.3",
37
- "@loaders.gl/math": "3.1.3",
36
+ "@loaders.gl/loader-utils": "4.0.0-alpha.5",
37
+ "@loaders.gl/math": "4.0.0-alpha.5",
38
38
  "@math.gl/core": "^3.5.1",
39
39
  "@math.gl/culling": "^3.5.1",
40
40
  "@math.gl/geospatial": "^3.5.1",
@@ -42,7 +42,7 @@
42
42
  "@probe.gl/stats": "^3.5.0"
43
43
  },
44
44
  "peerDependencies": {
45
- "@loaders.gl/core": "3.1.0"
45
+ "@loaders.gl/core": "4.0.0-alpha.4"
46
46
  },
47
- "gitHead": "4a690c369779346d73c9a27395d1c08d77d279a4"
47
+ "gitHead": "7a71a54bdf1ddf985cc3af3db90b82e7fa97d025"
48
48
  }
@@ -1,7 +0,0 @@
1
- "use strict";
2
-
3
- var moduleExports = require('./index');
4
-
5
- globalThis.loaders = globalThis.loaders || {};
6
- module.exports = Object.assign(globalThis.loaders, moduleExports);
7
- //# sourceMappingURL=bundle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/bundle.ts"],"names":["moduleExports","require","globalThis","loaders","module","exports","Object","assign"],"mappings":";;AACA,IAAMA,aAAa,GAAGC,OAAO,CAAC,SAAD,CAA7B;;AACAC,UAAU,CAACC,OAAX,GAAqBD,UAAU,CAACC,OAAX,IAAsB,EAA3C;AACAC,MAAM,CAACC,OAAP,GAAiBC,MAAM,CAACC,MAAP,CAAcL,UAAU,CAACC,OAAzB,EAAkCH,aAAlC,CAAjB","sourcesContent":["// @ts-nocheck\nconst moduleExports = require('./index');\nglobalThis.loaders = globalThis.loaders || {};\nmodule.exports = Object.assign(globalThis.loaders, moduleExports);\n"],"file":"bundle.js"}
@@ -1,44 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.TILE3D_OPTIMIZATION_HINT = exports.LOD_METRIC_TYPE = exports.TILESET_TYPE = exports.TILE_TYPE = exports.TILE_REFINEMENT = exports.TILE_CONTENT_STATE = void 0;
7
- var TILE_CONTENT_STATE = {
8
- UNLOADED: 0,
9
- LOADING: 1,
10
- PROCESSING: 2,
11
- READY: 3,
12
- EXPIRED: 4,
13
- FAILED: 5
14
- };
15
- exports.TILE_CONTENT_STATE = TILE_CONTENT_STATE;
16
- var TILE_REFINEMENT = {
17
- ADD: 1,
18
- REPLACE: 2
19
- };
20
- exports.TILE_REFINEMENT = TILE_REFINEMENT;
21
- var TILE_TYPE = {
22
- EMPTY: 'empty',
23
- SCENEGRAPH: 'scenegraph',
24
- POINTCLOUD: 'pointcloud',
25
- MESH: 'mesh'
26
- };
27
- exports.TILE_TYPE = TILE_TYPE;
28
- var TILESET_TYPE = {
29
- I3S: 'I3S',
30
- TILES3D: 'TILES3D'
31
- };
32
- exports.TILESET_TYPE = TILESET_TYPE;
33
- var LOD_METRIC_TYPE = {
34
- GEOMETRIC_ERROR: 'geometricError',
35
- MAX_SCREEN_THRESHOLD: 'maxScreenThreshold'
36
- };
37
- exports.LOD_METRIC_TYPE = LOD_METRIC_TYPE;
38
- var TILE3D_OPTIMIZATION_HINT = {
39
- NOT_COMPUTED: -1,
40
- USE_OPTIMIZATION: 1,
41
- SKIP_OPTIMIZATION: 0
42
- };
43
- exports.TILE3D_OPTIMIZATION_HINT = TILE3D_OPTIMIZATION_HINT;
44
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/constants.ts"],"names":["TILE_CONTENT_STATE","UNLOADED","LOADING","PROCESSING","READY","EXPIRED","FAILED","TILE_REFINEMENT","ADD","REPLACE","TILE_TYPE","EMPTY","SCENEGRAPH","POINTCLOUD","MESH","TILESET_TYPE","I3S","TILES3D","LOD_METRIC_TYPE","GEOMETRIC_ERROR","MAX_SCREEN_THRESHOLD","TILE3D_OPTIMIZATION_HINT","NOT_COMPUTED","USE_OPTIMIZATION","SKIP_OPTIMIZATION"],"mappings":";;;;;;AAAO,IAAMA,kBAAkB,GAAG;AAChCC,EAAAA,QAAQ,EAAE,CADsB;AAEhCC,EAAAA,OAAO,EAAE,CAFuB;AAGhCC,EAAAA,UAAU,EAAE,CAHoB;AAIhCC,EAAAA,KAAK,EAAE,CAJyB;AAKhCC,EAAAA,OAAO,EAAE,CALuB;AAMhCC,EAAAA,MAAM,EAAE;AANwB,CAA3B;;AASA,IAAMC,eAAe,GAAG;AAC7BC,EAAAA,GAAG,EAAE,CADwB;AAE7BC,EAAAA,OAAO,EAAE;AAFoB,CAAxB;;AAKA,IAAMC,SAAS,GAAG;AACvBC,EAAAA,KAAK,EAAE,OADgB;AAEvBC,EAAAA,UAAU,EAAE,YAFW;AAGvBC,EAAAA,UAAU,EAAE,YAHW;AAIvBC,EAAAA,IAAI,EAAE;AAJiB,CAAlB;;AAOA,IAAMC,YAAY,GAAG;AAC1BC,EAAAA,GAAG,EAAE,KADqB;AAE1BC,EAAAA,OAAO,EAAE;AAFiB,CAArB;;AAKA,IAAMC,eAAe,GAAG;AAC7BC,EAAAA,eAAe,EAAE,gBADY;AAE7BC,EAAAA,oBAAoB,EAAE;AAFO,CAAxB;;AAMA,IAAMC,wBAAwB,GAAG;AACtCC,EAAAA,YAAY,EAAE,CAAC,CADuB;AAEtCC,EAAAA,gBAAgB,EAAE,CAFoB;AAGtCC,EAAAA,iBAAiB,EAAE;AAHmB,CAAjC","sourcesContent":["export const TILE_CONTENT_STATE = {\n UNLOADED: 0, // Has never been requested\n LOADING: 1, // Is waiting on a pending request\n PROCESSING: 2, // Request received. Contents are being processed for rendering. Depending on the content, it might make its own requests for external data.\n READY: 3, // Ready to render.\n EXPIRED: 4, // Is expired and will be unloaded once new content is loaded.\n FAILED: 5 // Request failed.\n};\n\nexport const TILE_REFINEMENT = {\n ADD: 1, // Render tile and, if screen space error exceeded, also refine to its children.\n REPLACE: 2 // Render tile or, if screen space error exceeded, refine to its descendants instead.\n};\n\nexport const TILE_TYPE = {\n EMPTY: 'empty',\n SCENEGRAPH: 'scenegraph',\n POINTCLOUD: 'pointcloud',\n MESH: 'mesh'\n};\n\nexport const TILESET_TYPE = {\n I3S: 'I3S',\n TILES3D: 'TILES3D'\n};\n\nexport const LOD_METRIC_TYPE = {\n GEOMETRIC_ERROR: 'geometricError',\n MAX_SCREEN_THRESHOLD: 'maxScreenThreshold'\n};\n\n// Cesium 3D Tiles Specific\nexport const TILE3D_OPTIMIZATION_HINT = {\n NOT_COMPUTED: -1,\n USE_OPTIMIZATION: 1,\n SKIP_OPTIMIZATION: 0\n};\n"],"file":"constants.js"}