@pirireis/webglobeplugins 0.9.8 → 0.9.9

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 (213) hide show
  1. package/index.js +58 -15
  2. package/package.json +1 -1
  3. package/dist/Math/angle-calculation.js +0 -15
  4. package/dist/Math/arc.js +0 -65
  5. package/dist/Math/bounds/line-bbox.js +0 -188
  6. package/dist/Math/constants.js +0 -9
  7. package/dist/Math/frustum/camera.js +0 -24
  8. package/dist/Math/frustum/from-globeinfo.js +0 -48
  9. package/dist/Math/frustum/types.js +0 -2
  10. package/dist/Math/globe-util/horizon-plane.js +0 -112
  11. package/dist/Math/index.js +0 -1
  12. package/dist/Math/juction/arc-plane.js +0 -83
  13. package/dist/Math/juction/line-sphere.js +0 -25
  14. package/dist/Math/juction/plane-plane.js +0 -58
  15. package/dist/Math/line.js +0 -56
  16. package/dist/Math/matrix4.js +0 -1
  17. package/dist/Math/methods.js +0 -201
  18. package/dist/Math/plane.js +0 -60
  19. package/dist/Math/quaternion.js +0 -104
  20. package/dist/Math/types.js +0 -2
  21. package/dist/Math/utils.js +0 -4
  22. package/dist/Math/vec3.js +0 -126
  23. package/dist/algorithms/search-binary.js +0 -19
  24. package/dist/altitude-locator/adaptors.js +0 -1
  25. package/dist/altitude-locator/draw-subset-obj.js +0 -18
  26. package/dist/altitude-locator/keymethod.js +0 -1
  27. package/dist/altitude-locator/plugin.js +0 -341
  28. package/dist/altitude-locator/types.js +0 -23
  29. package/dist/arrowfield/adaptor.js +0 -14
  30. package/dist/arrowfield/index.js +0 -10
  31. package/dist/arrowfield/plugin.js +0 -86
  32. package/dist/bearing-line/index.js +0 -8
  33. package/dist/bearing-line/plugin.js +0 -449
  34. package/dist/circle-line-chain/chain-list-map.js +0 -205
  35. package/dist/circle-line-chain/init.js +0 -1
  36. package/dist/circle-line-chain/plugin.js +0 -424
  37. package/dist/circle-line-chain/util.js +0 -5
  38. package/dist/compass-rose/compass-rose-padding-flat.js +0 -225
  39. package/dist/compass-rose/compass-text-writer.js +0 -153
  40. package/dist/compass-rose/index.js +0 -7
  41. package/dist/compassrose/compassrose.js +0 -296
  42. package/dist/compassrose/index.js +0 -8
  43. package/dist/globe-types.js +0 -1
  44. package/dist/heatwave/index.js +0 -10
  45. package/dist/heatwave/isobar/objectarraylabels.js +0 -202
  46. package/dist/heatwave/isobar/plugin.js +0 -343
  47. package/dist/heatwave/isobar/quadtreecontours.js +0 -300
  48. package/dist/heatwave/plugins/heatwaveglobeshell.js +0 -206
  49. package/dist/index.js +0 -58
  50. package/dist/jest.config.js +0 -7
  51. package/dist/partialrings/buffer-manager.js +0 -81
  52. package/dist/partialrings/index.js +0 -41
  53. package/dist/partialrings/plugin.js +0 -135
  54. package/dist/partialrings/program.js +0 -286
  55. package/dist/pin/pin-object-array.js +0 -305
  56. package/dist/pin/pin-point-totem.js +0 -60
  57. package/dist/point-heat-map/adaptors/timetracksplugin-format-to-this.js +0 -66
  58. package/dist/point-heat-map/index.js +0 -1
  59. package/dist/point-heat-map/plugin-webworker.js +0 -126
  60. package/dist/point-heat-map/point-to-heat-map-flow.js +0 -127
  61. package/dist/point-tracks/key-methods.js +0 -5
  62. package/dist/point-tracks/plugin.js +0 -338
  63. package/dist/programs/arrowfield/index.js +0 -7
  64. package/dist/programs/arrowfield/logic.js +0 -257
  65. package/dist/programs/arrowfield/object.js +0 -66
  66. package/dist/programs/data2legend/density-to-legend.js +0 -101
  67. package/dist/programs/data2legend/point-to-density-texture.js +0 -100
  68. package/dist/programs/float2legendwithratio/index.js +0 -8
  69. package/dist/programs/float2legendwithratio/logic.js +0 -171
  70. package/dist/programs/float2legendwithratio/object.js +0 -110
  71. package/dist/programs/globe-util/is-globe-moved.js +0 -21
  72. package/dist/programs/globeshell/index.js +0 -8
  73. package/dist/programs/globeshell/noise/noises.js +0 -1
  74. package/dist/programs/globeshell/wiggle/index.js +0 -8
  75. package/dist/programs/globeshell/wiggle/logic.js +0 -345
  76. package/dist/programs/globeshell/wiggle/object.js +0 -72
  77. package/dist/programs/helpers/blender/index.js +0 -1
  78. package/dist/programs/helpers/blender/program.js +0 -79
  79. package/dist/programs/helpers/fadeaway/index.js +0 -7
  80. package/dist/programs/helpers/fadeaway/logic.js +0 -72
  81. package/dist/programs/helpers/fadeaway/object.js +0 -20
  82. package/dist/programs/helpers/index.js +0 -8
  83. package/dist/programs/index.js +0 -58
  84. package/dist/programs/interface.js +0 -1
  85. package/dist/programs/line-on-globe/angled-line.js +0 -176
  86. package/dist/programs/line-on-globe/circle-accurate-3d.js +0 -141
  87. package/dist/programs/line-on-globe/circle-accurate-flat.js +0 -216
  88. package/dist/programs/line-on-globe/circle-accurate.js +0 -178
  89. package/dist/programs/line-on-globe/circle.js +0 -167
  90. package/dist/programs/line-on-globe/degree-padding-around-circle-3d.js +0 -159
  91. package/dist/programs/line-on-globe/index.js +0 -1
  92. package/dist/programs/line-on-globe/lines-color-instanced-flat.js +0 -136
  93. package/dist/programs/line-on-globe/linestrip.js +0 -171
  94. package/dist/programs/line-on-globe/naive-accurate-flexible.js +0 -195
  95. package/dist/programs/line-on-globe/to-the-surface.js +0 -111
  96. package/dist/programs/line-on-globe/util.js +0 -8
  97. package/dist/programs/picking/pickable-renderer.js +0 -188
  98. package/dist/programs/point-on-globe/element-globe-surface-glow.js +0 -142
  99. package/dist/programs/point-on-globe/element-point-glow.js +0 -153
  100. package/dist/programs/point-on-globe/square-pixel-point.js +0 -174
  101. package/dist/programs/programcache.js +0 -131
  102. package/dist/programs/rings/distancering/circleflatprogram.js +0 -156
  103. package/dist/programs/rings/distancering/circlepaddingfreeangleprogram.js +0 -369
  104. package/dist/programs/rings/distancering/circlepaddysharedbuffer.js +0 -357
  105. package/dist/programs/rings/distancering/index.js +0 -14
  106. package/dist/programs/rings/distancering/paddyflatprogram.js +0 -172
  107. package/dist/programs/rings/distancering/paddyflatprogram2d.js +0 -174
  108. package/dist/programs/rings/distancering/paddyflatprogram3d.js +0 -172
  109. package/dist/programs/rings/distancering/shader.js +0 -1
  110. package/dist/programs/rings/index.js +0 -17
  111. package/dist/programs/rings/partial-ring/piece-of-pie.js +0 -275
  112. package/dist/programs/totems/camerauniformblock.js +0 -160
  113. package/dist/programs/totems/canvas-webglobe-info.js +0 -110
  114. package/dist/programs/totems/gpu-selection-uniform-block.js +0 -108
  115. package/dist/programs/totems/index.js +0 -40
  116. package/dist/programs/two-d/pixel-circle.js +0 -1
  117. package/dist/programs/two-d/pixel-padding-for-compass.js +0 -162
  118. package/dist/programs/util.js +0 -17
  119. package/dist/programs/vectorfields/index.js +0 -23
  120. package/dist/programs/vectorfields/logics/drawrectangleparticles.js +0 -107
  121. package/dist/programs/vectorfields/logics/index.js +0 -12
  122. package/dist/programs/vectorfields/logics/pixelbased.js +0 -142
  123. package/dist/programs/vectorfields/logics/ubo.js +0 -63
  124. package/dist/programs/vectorfields/pingpongbuffermanager.js +0 -76
  125. package/dist/rangerings/enum.js +0 -5
  126. package/dist/rangerings/index.js +0 -15
  127. package/dist/rangerings/plugin.js +0 -560
  128. package/dist/rangerings/rangeringangletext.js +0 -329
  129. package/dist/rangerings/ring-account.js +0 -117
  130. package/dist/shaders/fragment-toy/firework.js +0 -58
  131. package/dist/shaders/fragment-toy/singularity.js +0 -59
  132. package/dist/shape-on-terrain/arc/naive/plugin.js +0 -252
  133. package/dist/timetracks/adaptors-line-strip.js +0 -71
  134. package/dist/timetracks/adaptors.js +0 -122
  135. package/dist/timetracks/index.js +0 -19
  136. package/dist/timetracks/plugin-line-strip.js +0 -250
  137. package/dist/timetracks/plugin.js +0 -258
  138. package/dist/timetracks/program-line-strip.js +0 -611
  139. package/dist/timetracks/program.js +0 -772
  140. package/dist/timetracks/programpoint-line-strip.js +0 -154
  141. package/dist/timetracks/programpoint.js +0 -147
  142. package/dist/types.js +0 -15
  143. package/dist/util/account/bufferoffsetmanager.js +0 -179
  144. package/dist/util/account/index.js +0 -23
  145. package/dist/util/account/single-attribute-buffer-management/buffer-manager.js +0 -108
  146. package/dist/util/account/single-attribute-buffer-management/buffer-orchestrator.js +0 -150
  147. package/dist/util/account/single-attribute-buffer-management/index.js +0 -9
  148. package/dist/util/account/single-attribute-buffer-management/object-store.js +0 -51
  149. package/dist/util/account/single-attribute-buffer-management/types.js +0 -2
  150. package/dist/util/account/util.js +0 -22
  151. package/dist/util/algorithms/index.js +0 -1
  152. package/dist/util/algorithms/search-binary.js +0 -28
  153. package/dist/util/check/get.js +0 -18
  154. package/dist/util/check/index.js +0 -1
  155. package/dist/util/check/typecheck.js +0 -49
  156. package/dist/util/geometry/index.js +0 -51
  157. package/dist/util/gl-util/buffer/attribute-loader.js +0 -69
  158. package/dist/util/gl-util/buffer/index.js +0 -6
  159. package/dist/util/gl-util/buffer/types.js +0 -1
  160. package/dist/util/gl-util/draw-options/methods.js +0 -38
  161. package/dist/util/gl-util/draw-options/types.js +0 -15
  162. package/dist/util/gl-util/uniform-block/manager.js +0 -156
  163. package/dist/util/gl-util/uniform-block/shader.js +0 -1
  164. package/dist/util/gl-util/uniform-block/types.js +0 -8
  165. package/dist/util/heatwavedatamanager/datamanager.js +0 -152
  166. package/dist/util/heatwavedatamanager/index.js +0 -10
  167. package/dist/util/heatwavedatamanager/pointcoordinatesdatacalculator.js +0 -122
  168. package/dist/util/heatwavedatamanager/pointcoordsmeta.js +0 -20
  169. package/dist/util/index.js +0 -57
  170. package/dist/util/interpolation/index.js +0 -1
  171. package/dist/util/interpolation/timetrack/index.js +0 -5
  172. package/dist/util/interpolation/timetrack/timetrack-interpolator.js +0 -79
  173. package/dist/util/interpolation/timetrack/web-worker-str.js +0 -183
  174. package/dist/util/interpolation/timetrack/web-worker.js +0 -48
  175. package/dist/util/jshelpers/data-filler.js +0 -20
  176. package/dist/util/jshelpers/equality.js +0 -20
  177. package/dist/util/jshelpers/index.js +0 -37
  178. package/dist/util/jshelpers/timefilters.js +0 -32
  179. package/dist/util/picking/fence.js +0 -46
  180. package/dist/util/picking/picker-displayer.js +0 -139
  181. package/dist/util/programs/draw-texture-on-canvas.js +0 -89
  182. package/dist/util/programs/index.js +0 -17
  183. package/dist/util/programs/shapesonglobe.js +0 -214
  184. package/dist/util/programs/supersampletotextures.js +0 -113
  185. package/dist/util/programs/texturetoglobe.js +0 -182
  186. package/dist/util/shaderfunctions/geometrytransformations.js +0 -340
  187. package/dist/util/shaderfunctions/index.js +0 -18
  188. package/dist/util/shaderfunctions/nodata.js +0 -11
  189. package/dist/util/shaderfunctions/noisefunctions.js +0 -43
  190. package/dist/util/surface-line-data/arc-bboxes.js +0 -25
  191. package/dist/util/surface-line-data/arcs-to-cuts.js +0 -50
  192. package/dist/util/surface-line-data/cut-arc.js +0 -1
  193. package/dist/util/surface-line-data/flow.js +0 -28
  194. package/dist/util/surface-line-data/rbush-manager.js +0 -1
  195. package/dist/util/surface-line-data/types.js +0 -1
  196. package/dist/util/surface-line-data/web-worker.js +0 -1
  197. package/dist/util/webglobe/gldefaultstates.js +0 -7
  198. package/dist/util/webglobe/index.js +0 -18
  199. package/dist/util/webglobe/rasteroverlay.js +0 -78
  200. package/dist/util/webglobjectbuilders.js +0 -388
  201. package/dist/util/webglobjectbuilders1.js +0 -237
  202. package/dist/waveparticles/adaptor.js +0 -17
  203. package/dist/waveparticles/index.js +0 -10
  204. package/dist/waveparticles/plugin.js +0 -266
  205. package/dist/wind/imagetovectorfieldandmagnitude.js +0 -35
  206. package/dist/wind/index.js +0 -14
  207. package/dist/wind/plugin.js +0 -926
  208. package/dist/wind/vectorfieldimage.js +0 -25
  209. package/dist/write-text/attached-text-writer.js +0 -91
  210. package/dist/write-text/context-text.js +0 -98
  211. package/dist/write-text/context-text3.js +0 -155
  212. package/dist/write-text/index.js +0 -5
  213. package/dist/write-text/writer-plugin.js +0 -8
@@ -1,150 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BufferOrchestrator = void 0;
4
- const EXTRA_SIZE = 10;
5
- class BufferOrchestrator {
6
- constructor({ capacity = 10 } = {}) {
7
- this._capacity = capacity;
8
- this.offsetMap = new Map();
9
- this.tombstoneOffsets = [];
10
- this._length = 0;
11
- }
12
- resetWithCapacity(bufferManagersMap, capacity = null) {
13
- this._capacity = capacity !== null ? capacity : this._capacity;
14
- for (const [key, { bufferManager }] of bufferManagersMap) {
15
- bufferManager.resetWithCapacity(this._capacity);
16
- }
17
- this.offsetMap.clear();
18
- this.tombstoneOffsets = [];
19
- this._length = 0;
20
- }
21
- insertBulk(items, bufferManagersMap) {
22
- this.autoExtendBuffers(items.length, bufferManagersMap);
23
- const { offsetMap } = this;
24
- const offsets = [];
25
- for (const item of items) {
26
- let o = offsetMap.get(item.key);
27
- const offset = o !== undefined ? o : this.nextOffset();
28
- offsetMap.set(item.key, offset);
29
- offsets.push(offset);
30
- }
31
- for (const [key, { bufferManager, adaptor }] of bufferManagersMap) {
32
- bufferManager.insertBulk(items.map(adaptor), offsets);
33
- }
34
- }
35
- // does not assign offset to the new items.
36
- updateBulk(items, bufferManagersMap, bufferKeys = null) {
37
- const { offsetMap } = this;
38
- const offsets = [];
39
- for (const item of items) {
40
- const offset = offsetMap.get(item.key);
41
- if (offset !== undefined) {
42
- offsets.push(offset);
43
- }
44
- else {
45
- throw new Error("updateBulk item Key does not exist");
46
- }
47
- }
48
- if (bufferKeys) {
49
- for (const key of bufferKeys) {
50
- const bufferManagerComp = bufferManagersMap.get(key);
51
- if (bufferManagerComp === undefined)
52
- throw new Error("updateBulk bufferKey does not exist");
53
- const { bufferManager, adaptor } = bufferManagerComp;
54
- bufferManager.insertBulk(items.map(adaptor), offsets);
55
- }
56
- }
57
- else {
58
- for (const [key, { bufferManager, adaptor }] of bufferManagersMap) {
59
- bufferManager.insertBulk(items.map(adaptor), offsets);
60
- }
61
- }
62
- }
63
- deleteBulk(keys, bufferManagersMap) {
64
- const offsets = [];
65
- for (const key of keys) {
66
- const offset = this.getOffset(key);
67
- if (offset !== undefined) {
68
- offsets.push(offset);
69
- this.offsetMap.delete(key);
70
- this.tombstoneOffsets.push(offset);
71
- }
72
- }
73
- for (const [key, { bufferManager }] of bufferManagersMap) {
74
- bufferManager.deleteBulk(offsets);
75
- }
76
- }
77
- getOffset(key) {
78
- return this.offsetMap.get(key);
79
- }
80
- nextOffset() {
81
- if (this.tombstoneOffsets.length > 0) {
82
- const offset = this.tombstoneOffsets.pop();
83
- return offset;
84
- }
85
- if (this._length < this._capacity) {
86
- return this._length++;
87
- }
88
- return false;
89
- }
90
- autoExtendBuffers(itemsLength, bufferManagersMap) {
91
- if (itemsLength <= this.emptySpace)
92
- return;
93
- const newCapacity = this.length + itemsLength;
94
- for (const [key, { bufferManager }] of bufferManagersMap) {
95
- bufferManager.extendBuffer(this.length, newCapacity);
96
- }
97
- this._capacity = newCapacity;
98
- }
99
- defrag(bufferManagers, bufferKeys) {
100
- const offsetMap = this.offsetMap;
101
- const newCapacity = offsetMap.size + EXTRA_SIZE;
102
- if (bufferKeys) {
103
- for (const key of bufferKeys) {
104
- const offset = offsetMap.get(key);
105
- if (offset !== undefined) {
106
- for (const [key, { bufferManager }] of bufferManagers) {
107
- bufferManager.defrag([offset], this.length, newCapacity);
108
- }
109
- }
110
- }
111
- }
112
- else {
113
- for (const [key, { bufferManager }] of bufferManagers) {
114
- bufferManager.defrag(offsetMap.values(), this.length, newCapacity);
115
- }
116
- }
117
- this._defrag();
118
- this._length = offsetMap.size;
119
- this._capacity = newCapacity;
120
- this.tombstoneOffsets = [];
121
- }
122
- /**
123
- * Flushes metadata and sets length to 0 without actualize change on buffers
124
- * This method created for cases in which data is loaded on each frame
125
- */
126
- flush({ capacity = 10 } = {}) {
127
- this._length = 0;
128
- this._capacity = capacity;
129
- this.tombstoneOffsets = [];
130
- this.offsetMap.clear();
131
- }
132
- _defrag() {
133
- const newOffsetMap = new Map();
134
- let newOffset = 0;
135
- for (const [key, offset] of this.offsetMap) {
136
- newOffsetMap.set(key, newOffset++);
137
- }
138
- this.offsetMap = newOffsetMap;
139
- }
140
- get length() {
141
- return this._length;
142
- }
143
- get emptySpace() {
144
- return this._capacity - this.offsetMap.size;
145
- }
146
- get capacity() {
147
- return this._capacity;
148
- }
149
- }
150
- exports.BufferOrchestrator = BufferOrchestrator;
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ObjectStore = exports.BufferManager = exports.BufferOrchestrator = void 0;
4
- const buffer_orchestrator_1 = require("./buffer-orchestrator");
5
- Object.defineProperty(exports, "BufferOrchestrator", { enumerable: true, get: function () { return buffer_orchestrator_1.BufferOrchestrator; } });
6
- const buffer_manager_1 = require("./buffer-manager");
7
- Object.defineProperty(exports, "BufferManager", { enumerable: true, get: function () { return buffer_manager_1.BufferManager; } });
8
- const object_store_1 = require("./object-store");
9
- Object.defineProperty(exports, "ObjectStore", { enumerable: true, get: function () { return object_store_1.ObjectStore; } });
@@ -1,51 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ObjectStore = void 0;
4
- class ObjectStore {
5
- constructor({ initialCapcity = 10 } = {}) {
6
- this._container = this._createEmptyList(initialCapcity);
7
- }
8
- resetWithCapacity(capacity) {
9
- this._container = this._createEmptyList(capacity);
10
- }
11
- deleteBulk(offsets) {
12
- for (let i = 0; i < offsets.length; i++) {
13
- const offset = offsets[i];
14
- if (offset !== undefined) {
15
- this._container[offset] = null;
16
- }
17
- }
18
- }
19
- insertBulk(objects, offsets) {
20
- for (let i = 0; i < objects.length; i++) {
21
- const object = objects[i];
22
- const offset = offsets[i];
23
- if (offset !== undefined) {
24
- this._container[offset] = object;
25
- }
26
- }
27
- }
28
- defrag(offsetValues, occupiedCapacity, newCapacity) {
29
- const hold = this._createEmptyList(newCapacity);
30
- for (let i = 0; i < offsetValues.length; i++) {
31
- const offset = offsetValues[i];
32
- if (offset !== undefined) {
33
- hold[i] = this._container[offset];
34
- }
35
- }
36
- this._container = hold;
37
- }
38
- extendBuffer(occupiedCapacity, newCapacity) {
39
- const oldCapacity = this._container.length;
40
- this._container = this._container.concat(this._createEmptyList(newCapacity - oldCapacity));
41
- }
42
- _createEmptyList(size) {
43
- return new Array(size).fill(null);
44
- }
45
- get(index) {
46
- return this._container[index];
47
- }
48
- free() {
49
- }
50
- }
51
- exports.ObjectStore = ObjectStore;
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.vaoAttributeLoader = void 0;
4
- const vaoAttributeLoader = (gl, buffer, index, size, stride, offset, divisor = null, type = null) => {
5
- if (!gl || !buffer) {
6
- throw new Error("Invalid WebGL context or buffer");
7
- }
8
- if (index < 0) {
9
- throw new Error("Attribute index must be non-negative");
10
- }
11
- if (stride < 0 || offset < 0) {
12
- throw new Error("Stride and offset must be non-negative");
13
- }
14
- const attribType = type === null ? gl.FLOAT : type;
15
- gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
16
- gl.enableVertexAttribArray(index);
17
- gl.vertexAttribPointer(index, size, attribType, false, stride, offset);
18
- if (divisor !== null) {
19
- gl.vertexAttribDivisor(index, divisor);
20
- }
21
- };
22
- exports.vaoAttributeLoader = vaoAttributeLoader;
@@ -1 +0,0 @@
1
- "use strict";
@@ -1,28 +0,0 @@
1
- "use strict";
2
- /**
3
- * @typedef {Array<number>} ListLike
4
- * @typedef {number || null} Index
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.findFirstIndexInRange = void 0;
8
- /**
9
- * @param {ListLike} container
10
- * @param {number} value
11
- * @returns {Index}
12
- */
13
- const findFirstIndexInRange = (container, value) => {
14
- let start = 0;
15
- let end = container.length - 1;
16
- let mid = 0;
17
- while (start <= end) {
18
- mid = Math.floor((start + end) / 2);
19
- if (container[mid] <= value && value <= container[mid + 1])
20
- return mid;
21
- if (container[mid] < value)
22
- start = mid + 1;
23
- else
24
- end = mid - 1;
25
- }
26
- return null;
27
- };
28
- exports.findFirstIndexInRange = findFirstIndexInRange;
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mapGetOrThrow = void 0;
4
- const mapGetOrThrow = (errorNote) => {
5
- return (mapInstance, ids) => {
6
- if (!ids)
7
- throw new Error("There is no map keys to get");
8
- const result = [];
9
- for (let i = 0; i < ids.length; i++) {
10
- const e = mapInstance.get(ids[i]);
11
- if (e === undefined)
12
- throw new Error(errorNote + " " + ids[i]);
13
- result.push(e);
14
- }
15
- return result;
16
- };
17
- };
18
- exports.mapGetOrThrow = mapGetOrThrow;
@@ -1 +0,0 @@
1
- "use strict";
@@ -1,49 +0,0 @@
1
- "use strict";
2
- // Generic
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.isBoolean = exports.constraintFloat = exports.isTextFont = exports.opacityCheck = exports.isHexColorWithOpacity = exports.isHexColor = void 0;
5
- const doesOwnProperties = (properties, errorMessage) => {
6
- return (object) => {
7
- properties.forEach(element => {
8
- if (!Object.hasOwn(object, element))
9
- throw new TypeError(errorMessage + ':' + element);
10
- });
11
- };
12
- };
13
- const isHexColor = (hexColor) => /^#[0-9A-F]{6}$/i.test(hexColor);
14
- exports.isHexColor = isHexColor;
15
- const isHexColorWithOpacity = (hexColor) => /^#[0-9A-F]{6}[0-9a-f]{0,2}$/i.test(hexColor);
16
- exports.isHexColorWithOpacity = isHexColorWithOpacity;
17
- const opacityCheck = (opacity) => {
18
- if (typeof opacity !== "number")
19
- throw new TypeError("style.opacity must a number");
20
- if (opacity < 0 || 1 < opacity)
21
- throw new RangeError("Opacity Range Must be 0-1");
22
- };
23
- exports.opacityCheck = opacityCheck;
24
- // Text Related
25
- const fontCheckTypes = doesOwnProperties(["name", "textColor", "hollowColor", "size", "bold", "italic"], "font does not have");
26
- const fontCheckColors = (textColor, hollowColor) => (0, exports.isHexColor)(textColor) && (0, exports.isHexColor)(hollowColor);
27
- const isTextFont = (textFont) => {
28
- fontCheckTypes(textFont);
29
- fontCheckColors(textFont.textColor, textFont.hollowColor);
30
- if (typeof textFont.size !== "number")
31
- throw new TypeError("textFont size is not a number");
32
- };
33
- exports.isTextFont = isTextFont;
34
- const constraintFloat = (x, lowerBound = null, upperBound = null) => {
35
- if (typeof x !== "number")
36
- throw new Error("type must be numberic");
37
- if (lowerBound === null && upperBound === null)
38
- return;
39
- if (lowerBound !== null && lowerBound > x)
40
- throw new Error(`input must be greater than ${lowerBound}`);
41
- if (upperBound !== null && x > upperBound)
42
- throw new Error(`input must be less than ${upperBound}`);
43
- };
44
- exports.constraintFloat = constraintFloat;
45
- const isBoolean = (x) => {
46
- if (typeof x !== "boolean")
47
- throw new TypeError("type must be boolean");
48
- };
49
- exports.isBoolean = isBoolean;
@@ -1,51 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createBBoxMatrix = createBBoxMatrix;
4
- exports.latLongToPixelXY = latLongToPixelXY;
5
- exports.latLongBboxtoPixelXYBbox = latLongBboxtoPixelXYBbox;
6
- exports.sphereCoord = sphereCoord;
7
- exports.normalize = normalize;
8
- function latLongToPixelXY(latitude, longitude) {
9
- return {
10
- x: (longitude + 180) / 360,
11
- y: (90 - latitude) / 180
12
- };
13
- }
14
- /**
15
- * createBBoxMatrix( minX, maxX, minY, maxY)
16
- * use this matrix to transform a point from 0 to 1 range to the bounding box
17
- * for example: Transform image coordinates to map coordinates
18
- * glsl`vec3 pos = u_bbox_matrix * vec3(v_particle_pos.x, v_particle_pos.y, 1.0);`
19
- */
20
- function createBBoxMatrix(minX, maxX, minY, maxY) {
21
- return new Float32Array([
22
- maxX - minX, 0, 0,
23
- 0, maxY - minY, 0,
24
- minX, minY, 1
25
- ]);
26
- }
27
- function latLongBboxtoPixelXYBbox(minX, minY, maxX, maxY) {
28
- const minXY = latLongToPixelXY(minY, minX);
29
- const maxXY = latLongToPixelXY(maxY, maxX);
30
- return createBBoxMatrix(minXY.x, maxXY.x, minXY.y, maxXY.y);
31
- }
32
- /**
33
- *
34
- * @param {Float32List} array
35
- * @returns {Float32Array}
36
- */
37
- function normalize(array, newLength = 1) {
38
- let total = 0;
39
- for (let i = 0; i < array.length; i++) {
40
- total += array[i] * array[i];
41
- }
42
- const len = newLength / Math.sqrt(total);
43
- const result = new Float32Array(array.length);
44
- for (let i = 0; i < array.length; i++) {
45
- result[i] = array[i] * len;
46
- }
47
- return result;
48
- }
49
- function sphereCoord(long, lat, globe, height = 0) {
50
- return normalize(globe.api_GetCartesian3DPoint(long, lat, 0, 0), 6378.137 + height);
51
- }
@@ -1,69 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createBufferAndReadInfo = exports.attributeLoader = void 0;
4
- require("./types");
5
- /**
6
- * @typedef BufferAndReadInfo Buffers can be intertwined or interleaved.
7
- * This object forces user to adapt generic convention of buffer and read information.
8
- * @type {Object}
9
- * @property {WebGLBuffer} buffer
10
- * @property {number} stride
11
- * @property {number} offset
12
- */
13
- /**
14
- *
15
- * @param {WebGLBuffer} gl
16
- * @param {BufferAndReadInfo} bufferAndReadInfo
17
- * @param {number} index
18
- * @param {number} size
19
- * @param {Object} options
20
- * @param {*} options.type | default gl.FLOAT, gl.UNSIGNED_BYTE, gl.SHORT, gl.UNSIGNED_SHORT, gl.INT, gl.UNSIGNED_INT
21
- * @param {number} options.divisor
22
- * @param {Array<number>} options.escapeValues
23
- * @returns
24
- */
25
- const attributeLoader = (gl, bufferAndReadInfo, index, size, { divisor = null, type = null, escapeValues = null, normalized = false } = {}) => {
26
- if (size < 1 || size > 4)
27
- throw new Error("Size must be between 1 and 4");
28
- if (bufferAndReadInfo == null) {
29
- if (escapeValues !== null)
30
- constantFunction(gl, index, size, escapeValues);
31
- return;
32
- }
33
- const { buffer, stride, offset } = bufferAndReadInfo;
34
- if (!gl || !buffer) {
35
- throw new Error("Invalid WebGL context or buffer");
36
- }
37
- if (index < 0) {
38
- throw new Error("Attribute index must be non-negative");
39
- }
40
- if (stride < 0 || offset < 0) {
41
- throw new Error("Stride and offset must be non-negative");
42
- }
43
- const attribType = type === null ? gl.FLOAT : type;
44
- gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
45
- gl.enableVertexAttribArray(index);
46
- gl.vertexAttribPointer(index, size, attribType, normalized, stride, offset);
47
- if (divisor !== null) {
48
- gl.vertexAttribDivisor(index, divisor);
49
- }
50
- };
51
- exports.attributeLoader = attributeLoader;
52
- /**
53
- *
54
- * @param {WebGLBuffer} buffer
55
- * @param {number} stride
56
- * @param {number} offset
57
- * @returns {BufferAndReadInfo}
58
- */
59
- const createBufferAndReadInfo = (buffer, stride = 0, offset = 0) => {
60
- if (buffer == null)
61
- return null;
62
- return { buffer, stride, offset };
63
- };
64
- exports.createBufferAndReadInfo = createBufferAndReadInfo;
65
- const constantFunction = (gl, index, size, escapeValues) => {
66
- const func = `vertexAttrib${size}f`;
67
- // @ts-ignore
68
- gl[func](index, ...escapeValues);
69
- };
@@ -1,6 +0,0 @@
1
- "use strict";
2
- // import './types';
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.attributeLoader = void 0;
5
- const attribute_loader_1 = require("./attribute-loader");
6
- Object.defineProperty(exports, "attributeLoader", { enumerable: true, get: function () { return attribute_loader_1.attributeLoader; } });
@@ -1 +0,0 @@
1
- "use strict";
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.drawInstanced = exports.drawArrays = void 0;
4
- require("./types");
5
- /**
6
- * Draws instanced geometry using WebGL2.
7
- */
8
- const drawInstanced = (gl, mode, drawOptions, vertexCount) => {
9
- var _a;
10
- const { drawRange, elementBufferIndexType = gl.UNSIGNED_INT } = drawOptions;
11
- const { first = 0, count: instanceCount = 1 } = drawRange;
12
- if (first > 0 || drawOptions.elementBuffer) {
13
- gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, (_a = drawOptions.elementBuffer) !== null && _a !== void 0 ? _a : null);
14
- gl.drawElementsInstanced(mode, vertexCount, elementBufferIndexType, first, instanceCount);
15
- gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, null);
16
- }
17
- else {
18
- gl.drawArraysInstanced(mode, first, vertexCount, instanceCount);
19
- }
20
- };
21
- exports.drawInstanced = drawInstanced;
22
- /**
23
- * Draws geometry using WebGL2.
24
- */
25
- const drawArrays = (gl, defaultMode, drawOptions) => {
26
- const { drawRange, elementBuffer, elementBufferIndexType = gl.UNSIGNED_INT, drawMode = null } = drawOptions;
27
- const { first = 0, count } = drawRange;
28
- const mode = drawMode !== null && drawMode !== void 0 ? drawMode : defaultMode;
29
- if (elementBuffer) {
30
- gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, elementBuffer);
31
- gl.drawElements(mode, count, elementBufferIndexType, first);
32
- gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, null);
33
- }
34
- else {
35
- gl.drawArrays(mode, first, count);
36
- }
37
- };
38
- exports.drawArrays = drawArrays;
@@ -1,15 +0,0 @@
1
- "use strict";
2
- /**
3
- * @typedef DrawRange
4
- * @type {Object}
5
- * @property {int} first
6
- * @property {int} count
7
- *
8
- * @typedef DrawRangeIndexParams
9
- * @type {Object}
10
- * @property {null|DrawRange} drawRange
11
- * @property {null|ElementBuffer} elementBuffer
12
- * @property {null|indexType} indexType
13
- * @property {null|int} drawMode
14
- *
15
- */