@loaders.gl/math 4.0.0-beta.1 → 4.0.0-beta.3

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 (106) hide show
  1. package/dist/{esm/geometry → geometry}/attributes/compute-bounding-box.js +2 -2
  2. package/dist/geometry/attributes/compute-bounding-box.js.map +1 -0
  3. package/dist/geometry/attributes/compute-bounding-sphere.js.map +1 -0
  4. package/dist/geometry/attributes/compute-tangents.js.map +1 -0
  5. package/dist/{esm/geometry → geometry}/attributes/compute-vertex-normals.js +5 -5
  6. package/dist/geometry/attributes/compute-vertex-normals.js.map +1 -0
  7. package/dist/geometry/attributes/convert-to-non-indexed.js.map +1 -0
  8. package/dist/{esm/geometry → geometry}/attributes/get-attribute-from-geometry.js +2 -2
  9. package/dist/geometry/attributes/get-attribute-from-geometry.js.map +1 -0
  10. package/dist/geometry/attributes/normalize.js.map +1 -0
  11. package/dist/geometry/colors/rgb565.js.map +1 -0
  12. package/dist/{esm/geometry → geometry}/compression/attribute-compression.js +2 -2
  13. package/dist/geometry/compression/attribute-compression.js.map +1 -0
  14. package/dist/geometry/constants.js.map +1 -0
  15. package/dist/{esm/geometry → geometry}/gl/gl-type.js +1 -1
  16. package/dist/{es5/geometry → geometry}/gl/gl-type.js.map +1 -1
  17. package/dist/geometry/is-geometry.js.map +1 -0
  18. package/dist/geometry/iterators/attribute-iterator.js.map +1 -0
  19. package/dist/{esm/geometry → geometry}/iterators/primitive-iterator.js +2 -2
  20. package/dist/geometry/iterators/primitive-iterator.js.map +1 -0
  21. package/dist/{esm/geometry → geometry}/primitives/modes.js +1 -1
  22. package/dist/geometry/primitives/modes.js.map +1 -0
  23. package/dist/geometry/typed-arrays/typed-array-utils.js.map +1 -0
  24. package/dist/geometry/utils/assert.js +6 -0
  25. package/dist/geometry/utils/assert.js.map +1 -0
  26. package/dist/geometry/utils/coordinates.js.map +1 -0
  27. package/dist/index.cjs +545 -0
  28. package/dist/index.d.ts +1 -1
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +12 -0
  31. package/dist/index.js.map +1 -0
  32. package/dist/utils/assert.js.map +1 -0
  33. package/package.json +15 -7
  34. package/src/index.ts +0 -2
  35. package/dist/es5/geometry/attributes/compute-bounding-box.js +0 -46
  36. package/dist/es5/geometry/attributes/compute-bounding-box.js.map +0 -1
  37. package/dist/es5/geometry/attributes/compute-bounding-sphere.js +0 -2
  38. package/dist/es5/geometry/attributes/compute-bounding-sphere.js.map +0 -1
  39. package/dist/es5/geometry/attributes/compute-tangents.js +0 -2
  40. package/dist/es5/geometry/attributes/compute-tangents.js.map +0 -1
  41. package/dist/es5/geometry/attributes/compute-vertex-normals.js +0 -56
  42. package/dist/es5/geometry/attributes/compute-vertex-normals.js.map +0 -1
  43. package/dist/es5/geometry/attributes/convert-to-non-indexed.js +0 -43
  44. package/dist/es5/geometry/attributes/convert-to-non-indexed.js.map +0 -1
  45. package/dist/es5/geometry/attributes/get-attribute-from-geometry.js +0 -29
  46. package/dist/es5/geometry/attributes/get-attribute-from-geometry.js.map +0 -1
  47. package/dist/es5/geometry/attributes/normalize.js +0 -19
  48. package/dist/es5/geometry/attributes/normalize.js.map +0 -1
  49. package/dist/es5/geometry/colors/rgb565.js +0 -24
  50. package/dist/es5/geometry/colors/rgb565.js.map +0 -1
  51. package/dist/es5/geometry/compression/attribute-compression.js +0 -178
  52. package/dist/es5/geometry/compression/attribute-compression.js.map +0 -1
  53. package/dist/es5/geometry/constants.js +0 -40
  54. package/dist/es5/geometry/constants.js.map +0 -1
  55. package/dist/es5/geometry/gl/gl-type.js +0 -92
  56. package/dist/es5/geometry/is-geometry.js +0 -12
  57. package/dist/es5/geometry/is-geometry.js.map +0 -1
  58. package/dist/es5/geometry/iterators/attribute-iterator.js +0 -38
  59. package/dist/es5/geometry/iterators/attribute-iterator.js.map +0 -1
  60. package/dist/es5/geometry/iterators/primitive-iterator.js +0 -102
  61. package/dist/es5/geometry/iterators/primitive-iterator.js.map +0 -1
  62. package/dist/es5/geometry/primitives/modes.js +0 -56
  63. package/dist/es5/geometry/primitives/modes.js.map +0 -1
  64. package/dist/es5/geometry/typed-arrays/typed-array-utils.js +0 -24
  65. package/dist/es5/geometry/typed-arrays/typed-array-utils.js.map +0 -1
  66. package/dist/es5/geometry/utils/assert.js +0 -12
  67. package/dist/es5/geometry/utils/assert.js.map +0 -1
  68. package/dist/es5/geometry/utils/coordinates.js +0 -10
  69. package/dist/es5/geometry/utils/coordinates.js.map +0 -1
  70. package/dist/es5/index.js +0 -167
  71. package/dist/es5/index.js.map +0 -1
  72. package/dist/es5/utils/assert.js +0 -12
  73. package/dist/es5/utils/assert.js.map +0 -1
  74. package/dist/esm/geometry/attributes/compute-bounding-box.js.map +0 -1
  75. package/dist/esm/geometry/attributes/compute-bounding-sphere.js.map +0 -1
  76. package/dist/esm/geometry/attributes/compute-tangents.js.map +0 -1
  77. package/dist/esm/geometry/attributes/compute-vertex-normals.js.map +0 -1
  78. package/dist/esm/geometry/attributes/convert-to-non-indexed.js.map +0 -1
  79. package/dist/esm/geometry/attributes/get-attribute-from-geometry.js.map +0 -1
  80. package/dist/esm/geometry/attributes/normalize.js.map +0 -1
  81. package/dist/esm/geometry/colors/rgb565.js.map +0 -1
  82. package/dist/esm/geometry/compression/attribute-compression.js.map +0 -1
  83. package/dist/esm/geometry/constants.js.map +0 -1
  84. package/dist/esm/geometry/gl/gl-type.js.map +0 -1
  85. package/dist/esm/geometry/is-geometry.js.map +0 -1
  86. package/dist/esm/geometry/iterators/attribute-iterator.js.map +0 -1
  87. package/dist/esm/geometry/iterators/primitive-iterator.js.map +0 -1
  88. package/dist/esm/geometry/primitives/modes.js.map +0 -1
  89. package/dist/esm/geometry/typed-arrays/typed-array-utils.js.map +0 -1
  90. package/dist/esm/geometry/utils/assert.js +0 -6
  91. package/dist/esm/geometry/utils/assert.js.map +0 -1
  92. package/dist/esm/geometry/utils/coordinates.js.map +0 -1
  93. package/dist/esm/index.js +0 -12
  94. package/dist/esm/index.js.map +0 -1
  95. package/dist/esm/utils/assert.js.map +0 -1
  96. /package/dist/{esm/geometry → geometry}/attributes/compute-bounding-sphere.js +0 -0
  97. /package/dist/{esm/geometry → geometry}/attributes/compute-tangents.js +0 -0
  98. /package/dist/{esm/geometry → geometry}/attributes/convert-to-non-indexed.js +0 -0
  99. /package/dist/{esm/geometry → geometry}/attributes/normalize.js +0 -0
  100. /package/dist/{esm/geometry → geometry}/colors/rgb565.js +0 -0
  101. /package/dist/{esm/geometry → geometry}/constants.js +0 -0
  102. /package/dist/{esm/geometry → geometry}/is-geometry.js +0 -0
  103. /package/dist/{esm/geometry → geometry}/iterators/attribute-iterator.js +0 -0
  104. /package/dist/{esm/geometry → geometry}/typed-arrays/typed-array-utils.js +0 -0
  105. /package/dist/{esm/geometry → geometry}/utils/coordinates.js +0 -0
  106. /package/dist/{esm/utils → utils}/assert.js +0 -0
@@ -1,12 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = isGeometry;
8
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
9
- function isGeometry(geometry) {
10
- return geometry && (0, _typeof2.default)(geometry) === 'object' && geometry.mode && geometry.attributes && (0, _typeof2.default)(geometry.attributes) === 'object';
11
- }
12
- //# sourceMappingURL=is-geometry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"is-geometry.js","names":["isGeometry","geometry","_typeof2","default","mode","attributes"],"sources":["../../../src/geometry/is-geometry.ts"],"sourcesContent":["/**\n * Checking if it is geometry\n * @param geometry\n */\nexport default function isGeometry(geometry: any): boolean {\n return (\n geometry &&\n typeof geometry === 'object' &&\n geometry.mode &&\n geometry.attributes &&\n typeof geometry.attributes === 'object'\n );\n}\n"],"mappings":";;;;;;;;AAIe,SAASA,UAAUA,CAACC,QAAa,EAAW;EACzD,OACEA,QAAQ,IACR,IAAAC,QAAA,CAAAC,OAAA,EAAOF,QAAQ,MAAK,QAAQ,IAC5BA,QAAQ,CAACG,IAAI,IACbH,QAAQ,CAACI,UAAU,IACnB,IAAAH,QAAA,CAAAC,OAAA,EAAOF,QAAQ,CAACI,UAAU,MAAK,QAAQ;AAE3C"}
@@ -1,38 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.makeAttributeIterator = makeAttributeIterator;
8
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
- var _marked = _regenerator.default.mark(makeAttributeIterator);
10
- function makeAttributeIterator(values, size) {
11
- var ArrayType, element, i, j;
12
- return _regenerator.default.wrap(function makeAttributeIterator$(_context) {
13
- while (1) switch (_context.prev = _context.next) {
14
- case 0:
15
- ArrayType = values.constructor;
16
- element = new ArrayType(size);
17
- i = 0;
18
- case 3:
19
- if (!(i < values.length)) {
20
- _context.next = 10;
21
- break;
22
- }
23
- for (j = 0; j < size; j++) {
24
- element[j] = element[i + j];
25
- }
26
- _context.next = 7;
27
- return element;
28
- case 7:
29
- i += size;
30
- _context.next = 3;
31
- break;
32
- case 10:
33
- case "end":
34
- return _context.stop();
35
- }
36
- }, _marked);
37
- }
38
- //# sourceMappingURL=attribute-iterator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"attribute-iterator.js","names":["makeAttributeIterator","values","size","ArrayType","element","i","j","_regenerator","default","wrap","makeAttributeIterator$","_context","prev","next","constructor","length","stop","_marked"],"sources":["../../../../src/geometry/iterators/attribute-iterator.ts"],"sourcesContent":["/**\n * Iterates over a single attribute\n * NOTE: For performance, re-yields the same modified element\n * @param param0\n */\nexport function* makeAttributeIterator(values: any, size: number): Iterable<any> {\n const ArrayType = values.constructor;\n const element = new ArrayType(size);\n for (let i = 0; i < values.length; i += size) {\n for (let j = 0; j < size; j++) {\n element[j] = element[i + j];\n }\n yield element;\n }\n}\n"],"mappings":";;;;;;;;wCAKiBA,qBAAqB;AAA/B,SAAUA,qBAAqBA,CAACC,MAAW,EAAEC,IAAY;EAAA,IAAAC,SAAA,EAAAC,OAAA,EAAAC,CAAA,EAAAC,CAAA;EAAA,OAAAC,YAAA,CAAAC,OAAA,CAAAC,IAAA,UAAAC,uBAAAC,QAAA;IAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;MAAA;QACxDV,SAAS,GAAGF,MAAM,CAACa,WAAW;QAC9BV,OAAO,GAAG,IAAID,SAAS,CAACD,IAAI,CAAC;QAC1BG,CAAC,GAAG,CAAC;MAAA;QAAA,MAAEA,CAAC,GAAGJ,MAAM,CAACc,MAAM;UAAAJ,QAAA,CAAAE,IAAA;UAAA;QAAA;QAC/B,KAASP,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGJ,IAAI,EAAEI,CAAC,EAAE,EAAE;UAC7BF,OAAO,CAACE,CAAC,CAAC,GAAGF,OAAO,CAACC,CAAC,GAAGC,CAAC,CAAC;QAC7B;QAACK,QAAA,CAAAE,IAAA;QACD,OAAMT,OAAO;MAAA;QAJoBC,CAAC,IAAIH,IAAI;QAAAS,QAAA,CAAAE,IAAA;QAAA;MAAA;MAAA;QAAA,OAAAF,QAAA,CAAAK,IAAA;IAAA;EAAA,GAAAC,OAAA;AAAA"}
@@ -1,102 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.makePrimitiveIterator = makePrimitiveIterator;
8
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
- var _constants = require("../constants");
10
- var _modes = require("../primitives/modes");
11
- var _loaderUtils = require("@loaders.gl/loader-utils");
12
- function makePrimitiveIterator(indices) {
13
- var attributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
14
- var mode = arguments.length > 2 ? arguments[2] : undefined;
15
- var start = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
16
- var end = arguments.length > 4 ? arguments[4] : undefined;
17
- return _regenerator.default.mark(function _callee() {
18
- var info, i;
19
- return _regenerator.default.wrap(function _callee$(_context) {
20
- while (1) switch (_context.prev = _context.next) {
21
- case 0:
22
- if (indices) {
23
- indices = indices.values || indices.value || indices;
24
- }
25
- if (end === undefined) {
26
- end = indices ? indices.length : start;
27
- }
28
- info = {
29
- attributes: attributes,
30
- type: (0, _modes.getPrimitiveModeType)(mode),
31
- i1: 0,
32
- i2: 0,
33
- i3: 0
34
- };
35
- i = start;
36
- case 4:
37
- if (!(i < end)) {
38
- _context.next = 43;
39
- break;
40
- }
41
- _context.t0 = mode;
42
- _context.next = _context.t0 === _constants.GL.POINTS ? 8 : _context.t0 === _constants.GL.LINES ? 11 : _context.t0 === _constants.GL.LINE_STRIP ? 15 : _context.t0 === _constants.GL.LINE_LOOP ? 19 : _context.t0 === _constants.GL.TRIANGLES ? 23 : _context.t0 === _constants.GL.TRIANGLE_STRIP ? 28 : _context.t0 === _constants.GL.TRIANGLE_FAN ? 32 : 37;
43
- break;
44
- case 8:
45
- info.i1 = i;
46
- i += 1;
47
- return _context.abrupt("break", 38);
48
- case 11:
49
- info.i1 = i;
50
- info.i2 = i + 1;
51
- i += 2;
52
- return _context.abrupt("break", 38);
53
- case 15:
54
- info.i1 = i;
55
- info.i2 = i + 1;
56
- i += 1;
57
- return _context.abrupt("break", 38);
58
- case 19:
59
- info.i1 = i;
60
- info.i2 = i + 1;
61
- i += 1;
62
- return _context.abrupt("break", 38);
63
- case 23:
64
- info.i1 = i;
65
- info.i2 = i + 1;
66
- info.i3 = i + 2;
67
- i += 3;
68
- return _context.abrupt("break", 38);
69
- case 28:
70
- info.i1 = i;
71
- info.i2 = i + 1;
72
- i += 1;
73
- return _context.abrupt("break", 38);
74
- case 32:
75
- info.i1 = 1;
76
- info.i2 = i;
77
- info.i3 = i + 1;
78
- i += 1;
79
- return _context.abrupt("break", 38);
80
- case 37:
81
- (0, _loaderUtils.assert)(false);
82
- case 38:
83
- if (indices) {
84
- if ('i1' in info) {
85
- info.i1 = indices[info.i1];
86
- info.i2 = indices[info.i2];
87
- info.i3 = indices[info.i3];
88
- }
89
- }
90
- _context.next = 41;
91
- return info;
92
- case 41:
93
- _context.next = 4;
94
- break;
95
- case 43:
96
- case "end":
97
- return _context.stop();
98
- }
99
- }, _callee);
100
- })();
101
- }
102
- //# sourceMappingURL=primitive-iterator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"primitive-iterator.js","names":["_constants","require","_modes","_loaderUtils","makePrimitiveIterator","indices","attributes","arguments","length","undefined","mode","start","end","_regenerator","default","mark","_callee","info","i","wrap","_callee$","_context","prev","next","values","value","type","getPrimitiveModeType","i1","i2","i3","t0","GL","POINTS","LINES","LINE_STRIP","LINE_LOOP","TRIANGLES","TRIANGLE_STRIP","TRIANGLE_FAN","abrupt","assert","stop"],"sources":["../../../../src/geometry/iterators/primitive-iterator.ts"],"sourcesContent":["import {GL} from '../constants';\nimport {getPrimitiveModeType} from '../primitives/modes';\nimport {assert} from '@loaders.gl/loader-utils';\n\n/**\n * Iteration info for making primitive iterator\n */\ntype Information = {\n attributes: object;\n type: number | void;\n i1: number;\n i2: number;\n i3: number;\n primitiveIndex?: object;\n};\n/**\n * Will iterate over each primitive, expanding (dereferencing) indices\n * @param indices\n * @param attributes\n * @param mode\n * @param start\n * @param end\n */\n// eslint-disable-next-line complexity\nexport function* makePrimitiveIterator(\n indices?: any,\n attributes: object = {},\n mode?: number,\n start = 0,\n end?: number\n): Iterable<{attributes: object; type: number; i1: number; i2: number; i3: number}> {\n // support indices being an object with a values array\n if (indices) {\n indices = indices.values || indices.value || indices;\n }\n\n // Autodeduce length from indices\n if (end === undefined) {\n end = indices ? indices.length : start;\n }\n\n // iteration info\n const info: Information = {\n attributes,\n type: getPrimitiveModeType(mode),\n i1: 0,\n i2: 0,\n i3: 0\n };\n\n let i = start;\n // @ts-ignore\n while (i < end) {\n switch (mode) {\n case GL.POINTS: // draw single points.\n info.i1 = i;\n i += 1;\n break;\n case GL.LINES: // draw lines. Each set of two vertices is treated as a separate line segment.\n info.i1 = i;\n info.i2 = i + 1;\n i += 2;\n break;\n case GL.LINE_STRIP: // draw lines. Each vertex connects to the one after it.\n info.i1 = i;\n info.i2 = i + 1;\n i += 1;\n break;\n case GL.LINE_LOOP: // draw a connected group of line segments from the first vertex to the last\n info.i1 = i;\n info.i2 = i + 1;\n i += 1;\n break;\n case GL.TRIANGLES: // draw triangles. Each set of three vertices creates a separate triangle.\n info.i1 = i;\n info.i2 = i + 1;\n info.i3 = i + 2;\n i += 3;\n break;\n case GL.TRIANGLE_STRIP: // draw a connected group of triangles.\n info.i1 = i;\n info.i2 = i + 1;\n i += 1;\n break;\n case GL.TRIANGLE_FAN: // draw a connected group of triangles.\n info.i1 = 1;\n info.i2 = i;\n info.i3 = i + 1;\n i += 1;\n break;\n\n default:\n assert(false);\n }\n\n // if indices are present, lookup actual vertices in indices\n if (indices) {\n if ('i1' in info) {\n info.i1 = indices[info.i1];\n info.i2 = indices[info.i2];\n info.i3 = indices[info.i3];\n }\n }\n // @ts-ignore\n yield info;\n }\n}\n"],"mappings":"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"}
@@ -1,56 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getPrimitiveModeExpandedLength = getPrimitiveModeExpandedLength;
7
- exports.getPrimitiveModeType = getPrimitiveModeType;
8
- exports.isPrimitiveModeExpandable = isPrimitiveModeExpandable;
9
- var _constants = require("../constants");
10
- function getPrimitiveModeType(mode) {
11
- switch (mode) {
12
- case _constants.GL.POINTS:
13
- return _constants.GL.POINTS;
14
- case _constants.GL.LINES:
15
- case _constants.GL.LINE_STRIP:
16
- case _constants.GL.LINE_LOOP:
17
- return _constants.GL.LINES;
18
- case _constants.GL.TRIANGLES:
19
- case _constants.GL.TRIANGLE_STRIP:
20
- case _constants.GL.TRIANGLE_FAN:
21
- return _constants.GL.TRIANGLES;
22
- default:
23
- throw new Error('Unknown primitive mode');
24
- }
25
- }
26
- function isPrimitiveModeExpandable(mode) {
27
- switch (mode) {
28
- case _constants.GL.LINE_STRIP:
29
- case _constants.GL.LINE_LOOP:
30
- case _constants.GL.TRIANGLE_STRIP:
31
- case _constants.GL.TRIANGLE_FAN:
32
- return true;
33
- default:
34
- return false;
35
- }
36
- }
37
- function getPrimitiveModeExpandedLength(mode, length) {
38
- switch (mode) {
39
- case _constants.GL.POINTS:
40
- return length;
41
- case _constants.GL.LINES:
42
- return length;
43
- case _constants.GL.LINE_STRIP:
44
- return length;
45
- case _constants.GL.LINE_LOOP:
46
- return length + 1;
47
- case _constants.GL.TRIANGLES:
48
- return length;
49
- case _constants.GL.TRIANGLE_STRIP:
50
- case _constants.GL.TRIANGLE_FAN:
51
- return (length - 2) * 3;
52
- default:
53
- throw new Error('Unknown length');
54
- }
55
- }
56
- //# sourceMappingURL=modes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"modes.js","names":["_constants","require","getPrimitiveModeType","mode","GL","POINTS","LINES","LINE_STRIP","LINE_LOOP","TRIANGLES","TRIANGLE_STRIP","TRIANGLE_FAN","Error","isPrimitiveModeExpandable","getPrimitiveModeExpandedLength","length"],"sources":["../../../../src/geometry/primitives/modes.ts"],"sourcesContent":["import {GL} from '../constants';\n\n/**\n * Different methods of working with geometries depending on glType\n /**\n\n/**\n * @param mode\n * @returns draw points | lines | triangles\n */\nexport function getPrimitiveModeType(mode?: number): number {\n switch (mode) {\n case GL.POINTS: // draw single points.\n return GL.POINTS;\n case GL.LINES: // draw lines. Each set of two vertices is treated as a separate line segment.\n case GL.LINE_STRIP: // draw lines. Each vertex connects to the one after it.\n case GL.LINE_LOOP: // draw a connected group of line segments from the first vertex to the last\n return GL.LINES;\n case GL.TRIANGLES:\n case GL.TRIANGLE_STRIP:\n case GL.TRIANGLE_FAN: // draw a connected group of triangles.\n return GL.TRIANGLES;\n default:\n throw new Error('Unknown primitive mode');\n }\n}\n/**\n * @param mode\n * @returns true | false\n */\nexport function isPrimitiveModeExpandable(mode: number): boolean {\n switch (mode) {\n case GL.LINE_STRIP: // draw lines. Each vertex connects to the one after it.\n case GL.LINE_LOOP: // draw a connected group of line segments from the first vertex to the last\n case GL.TRIANGLE_STRIP: // draw a connected group of triangles.\n case GL.TRIANGLE_FAN: // draw a connected group of triangles.\n return true;\n default:\n return false;\n }\n}\n/**\n * Returns new length depends on glType\n * @param mode\n * @param length\n * @returns new length\n */\nexport function getPrimitiveModeExpandedLength(mode: number, length: number): number {\n switch (mode) {\n case GL.POINTS: // draw single points.\n return length;\n case GL.LINES: // draw lines. Each set of two vertices is treated as a separate line segment.\n return length;\n case GL.LINE_STRIP: // draw lines. Each vertex connects to the one after it.\n return length;\n case GL.LINE_LOOP: // draw a connected group of line segments from the first vertex to the last\n return length + 1;\n case GL.TRIANGLES: // draw triangles. Each set of three vertices creates a separate triangle.\n return length;\n case GL.TRIANGLE_STRIP: // draw a connected group of triangles.\n case GL.TRIANGLE_FAN: // draw a connected group of triangles.\n return (length - 2) * 3;\n default:\n throw new Error('Unknown length');\n }\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAUO,SAASC,oBAAoBA,CAACC,IAAa,EAAU;EAC1D,QAAQA,IAAI;IACV,KAAKC,aAAE,CAACC,MAAM;MACZ,OAAOD,aAAE,CAACC,MAAM;IAClB,KAAKD,aAAE,CAACE,KAAK;IACb,KAAKF,aAAE,CAACG,UAAU;IAClB,KAAKH,aAAE,CAACI,SAAS;MACf,OAAOJ,aAAE,CAACE,KAAK;IACjB,KAAKF,aAAE,CAACK,SAAS;IACjB,KAAKL,aAAE,CAACM,cAAc;IACtB,KAAKN,aAAE,CAACO,YAAY;MAClB,OAAOP,aAAE,CAACK,SAAS;IACrB;MACE,MAAM,IAAIG,KAAK,CAAC,wBAAwB,CAAC;EAC7C;AACF;AAKO,SAASC,yBAAyBA,CAACV,IAAY,EAAW;EAC/D,QAAQA,IAAI;IACV,KAAKC,aAAE,CAACG,UAAU;IAClB,KAAKH,aAAE,CAACI,SAAS;IACjB,KAAKJ,aAAE,CAACM,cAAc;IACtB,KAAKN,aAAE,CAACO,YAAY;MAClB,OAAO,IAAI;IACb;MACE,OAAO,KAAK;EAChB;AACF;AAOO,SAASG,8BAA8BA,CAACX,IAAY,EAAEY,MAAc,EAAU;EACnF,QAAQZ,IAAI;IACV,KAAKC,aAAE,CAACC,MAAM;MACZ,OAAOU,MAAM;IACf,KAAKX,aAAE,CAACE,KAAK;MACX,OAAOS,MAAM;IACf,KAAKX,aAAE,CAACG,UAAU;MAChB,OAAOQ,MAAM;IACf,KAAKX,aAAE,CAACI,SAAS;MACf,OAAOO,MAAM,GAAG,CAAC;IACnB,KAAKX,aAAE,CAACK,SAAS;MACf,OAAOM,MAAM;IACf,KAAKX,aAAE,CAACM,cAAc;IACtB,KAAKN,aAAE,CAACO,YAAY;MAClB,OAAO,CAACI,MAAM,GAAG,CAAC,IAAI,CAAC;IACzB;MACE,MAAM,IAAIH,KAAK,CAAC,gBAAgB,CAAC;EACrC;AACF"}
@@ -1,24 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.concatTypedArrays = concatTypedArrays;
7
- function concatTypedArrays() {
8
- var arrays = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
9
- var byteLength = 0;
10
- for (var i = 0; i < arrays.length; ++i) {
11
- byteLength += arrays[i].byteLength;
12
- }
13
- var buffer = new Uint8Array(byteLength);
14
- var byteOffset = 0;
15
- for (var _i = 0; _i < arrays.length; ++_i) {
16
- var data = new Uint8Array(arrays[_i].buffer);
17
- byteLength = data.length;
18
- for (var j = 0; j < byteLength; ++j) {
19
- buffer[byteOffset++] = data[j];
20
- }
21
- }
22
- return buffer;
23
- }
24
- //# sourceMappingURL=typed-array-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"typed-array-utils.js","names":["concatTypedArrays","arrays","arguments","length","undefined","byteLength","i","buffer","Uint8Array","byteOffset","data","j"],"sources":["../../../../src/geometry/typed-arrays/typed-array-utils.ts"],"sourcesContent":["/**\n * Concats typed arrays\n * @param arrays\n * @returns new Uint8Array\n */\nexport function concatTypedArrays(arrays: any = []): Uint8Array {\n let byteLength = 0;\n for (let i = 0; i < arrays.length; ++i) {\n byteLength += arrays[i].byteLength;\n }\n const buffer = new Uint8Array(byteLength);\n\n let byteOffset = 0;\n for (let i = 0; i < arrays.length; ++i) {\n const data = new Uint8Array(arrays[i].buffer);\n byteLength = data.length;\n for (let j = 0; j < byteLength; ++j) {\n buffer[byteOffset++] = data[j];\n }\n }\n return buffer;\n}\n"],"mappings":";;;;;;AAKO,SAASA,iBAAiBA,CAAA,EAA+B;EAAA,IAA9BC,MAAW,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAChD,IAAIG,UAAU,GAAG,CAAC;EAClB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGL,MAAM,CAACE,MAAM,EAAE,EAAEG,CAAC,EAAE;IACtCD,UAAU,IAAIJ,MAAM,CAACK,CAAC,CAAC,CAACD,UAAU;EACpC;EACA,IAAME,MAAM,GAAG,IAAIC,UAAU,CAACH,UAAU,CAAC;EAEzC,IAAII,UAAU,GAAG,CAAC;EAClB,KAAK,IAAIH,EAAC,GAAG,CAAC,EAAEA,EAAC,GAAGL,MAAM,CAACE,MAAM,EAAE,EAAEG,EAAC,EAAE;IACtC,IAAMI,IAAI,GAAG,IAAIF,UAAU,CAACP,MAAM,CAACK,EAAC,CAAC,CAACC,MAAM,CAAC;IAC7CF,UAAU,GAAGK,IAAI,CAACP,MAAM;IACxB,KAAK,IAAIQ,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGN,UAAU,EAAE,EAAEM,CAAC,EAAE;MACnCJ,MAAM,CAACE,UAAU,EAAE,CAAC,GAAGC,IAAI,CAACC,CAAC,CAAC;IAChC;EACF;EACA,OAAOJ,MAAM;AACf"}
@@ -1,12 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.assert = assert;
7
- function assert(condition, message) {
8
- if (!condition) {
9
- throw new Error("math.gl assertion failed. ".concat(message));
10
- }
11
- }
12
- //# sourceMappingURL=assert.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assert.js","names":["assert","condition","message","Error","concat"],"sources":["../../../../src/geometry/utils/assert.ts"],"sourcesContent":["/**\n * Throws error message\n * @param condition checks if an attribute equal to condition\n * @param message error message\n */\nexport function assert(condition: any, message?: any): void {\n if (!condition) {\n throw new Error(`math.gl assertion failed. ${message}`);\n }\n}\n"],"mappings":";;;;;;AAKO,SAASA,MAAMA,CAACC,SAAc,EAAEC,OAAa,EAAQ;EAC1D,IAAI,CAACD,SAAS,EAAE;IACd,MAAM,IAAIE,KAAK,8BAAAC,MAAA,CAA8BF,OAAO,CAAE,CAAC;EACzD;AACF"}
@@ -1,10 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.emod = emod;
7
- function emod(n) {
8
- return (n % 1 + 1) % 1;
9
- }
10
- //# sourceMappingURL=coordinates.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"coordinates.js","names":["emod","n"],"sources":["../../../../src/geometry/utils/coordinates.ts"],"sourcesContent":["/**\n * Handle UVs if they are out of range [0,1].\n * @param n\n */\nexport function emod(n: number): number {\n return ((n % 1) + 1) % 1;\n}\n"],"mappings":";;;;;;AAIO,SAASA,IAAIA,CAACC,CAAS,EAAU;EACtC,OAAO,CAAEA,CAAC,GAAG,CAAC,GAAI,CAAC,IAAI,CAAC;AAC1B"}
package/dist/es5/index.js DELETED
@@ -1,167 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- Object.defineProperty(exports, "GL", {
8
- enumerable: true,
9
- get: function get() {
10
- return _constants.GL;
11
- }
12
- });
13
- Object.defineProperty(exports, "GLType", {
14
- enumerable: true,
15
- get: function get() {
16
- return _glType.default;
17
- }
18
- });
19
- Object.defineProperty(exports, "GL_TYPE", {
20
- enumerable: true,
21
- get: function get() {
22
- return _constants.GL_TYPE;
23
- }
24
- });
25
- Object.defineProperty(exports, "compressTextureCoordinates", {
26
- enumerable: true,
27
- get: function get() {
28
- return _attributeCompression.compressTextureCoordinates;
29
- }
30
- });
31
- Object.defineProperty(exports, "computeVertexNormals", {
32
- enumerable: true,
33
- get: function get() {
34
- return _computeVertexNormals.computeVertexNormals;
35
- }
36
- });
37
- Object.defineProperty(exports, "concatTypedArrays", {
38
- enumerable: true,
39
- get: function get() {
40
- return _typedArrayUtils.concatTypedArrays;
41
- }
42
- });
43
- Object.defineProperty(exports, "decodeRGB565", {
44
- enumerable: true,
45
- get: function get() {
46
- return _rgb.decodeRGB565;
47
- }
48
- });
49
- Object.defineProperty(exports, "decompressTextureCoordinates", {
50
- enumerable: true,
51
- get: function get() {
52
- return _attributeCompression.decompressTextureCoordinates;
53
- }
54
- });
55
- Object.defineProperty(exports, "emod", {
56
- enumerable: true,
57
- get: function get() {
58
- return _coordinates.emod;
59
- }
60
- });
61
- Object.defineProperty(exports, "encodeRGB565", {
62
- enumerable: true,
63
- get: function get() {
64
- return _rgb.encodeRGB565;
65
- }
66
- });
67
- Object.defineProperty(exports, "isGeometry", {
68
- enumerable: true,
69
- get: function get() {
70
- return _isGeometry.default;
71
- }
72
- });
73
- Object.defineProperty(exports, "makeAttributeIterator", {
74
- enumerable: true,
75
- get: function get() {
76
- return _attributeIterator.makeAttributeIterator;
77
- }
78
- });
79
- Object.defineProperty(exports, "makePrimitiveIterator", {
80
- enumerable: true,
81
- get: function get() {
82
- return _primitiveIterator.makePrimitiveIterator;
83
- }
84
- });
85
- Object.defineProperty(exports, "octDecode", {
86
- enumerable: true,
87
- get: function get() {
88
- return _attributeCompression.octDecode;
89
- }
90
- });
91
- Object.defineProperty(exports, "octDecodeFloat", {
92
- enumerable: true,
93
- get: function get() {
94
- return _attributeCompression.octDecodeFloat;
95
- }
96
- });
97
- Object.defineProperty(exports, "octDecodeFromVector4", {
98
- enumerable: true,
99
- get: function get() {
100
- return _attributeCompression.octDecodeFromVector4;
101
- }
102
- });
103
- Object.defineProperty(exports, "octDecodeInRange", {
104
- enumerable: true,
105
- get: function get() {
106
- return _attributeCompression.octDecodeInRange;
107
- }
108
- });
109
- Object.defineProperty(exports, "octEncode", {
110
- enumerable: true,
111
- get: function get() {
112
- return _attributeCompression.octEncode;
113
- }
114
- });
115
- Object.defineProperty(exports, "octEncodeFloat", {
116
- enumerable: true,
117
- get: function get() {
118
- return _attributeCompression.octEncodeFloat;
119
- }
120
- });
121
- Object.defineProperty(exports, "octEncodeInRange", {
122
- enumerable: true,
123
- get: function get() {
124
- return _attributeCompression.octEncodeInRange;
125
- }
126
- });
127
- Object.defineProperty(exports, "octEncodeToVector4", {
128
- enumerable: true,
129
- get: function get() {
130
- return _attributeCompression.octEncodeToVector4;
131
- }
132
- });
133
- Object.defineProperty(exports, "octPack", {
134
- enumerable: true,
135
- get: function get() {
136
- return _attributeCompression.octPack;
137
- }
138
- });
139
- Object.defineProperty(exports, "octPackFloat", {
140
- enumerable: true,
141
- get: function get() {
142
- return _attributeCompression.octPackFloat;
143
- }
144
- });
145
- Object.defineProperty(exports, "octUnpack", {
146
- enumerable: true,
147
- get: function get() {
148
- return _attributeCompression.octUnpack;
149
- }
150
- });
151
- Object.defineProperty(exports, "zigZagDeltaDecode", {
152
- enumerable: true,
153
- get: function get() {
154
- return _attributeCompression.zigZagDeltaDecode;
155
- }
156
- });
157
- var _constants = require("./geometry/constants");
158
- var _glType = _interopRequireDefault(require("./geometry/gl/gl-type"));
159
- var _isGeometry = _interopRequireDefault(require("./geometry/is-geometry"));
160
- var _attributeIterator = require("./geometry/iterators/attribute-iterator");
161
- var _primitiveIterator = require("./geometry/iterators/primitive-iterator");
162
- var _computeVertexNormals = require("./geometry/attributes/compute-vertex-normals");
163
- var _rgb = require("./geometry/colors/rgb565");
164
- var _typedArrayUtils = require("./geometry/typed-arrays/typed-array-utils");
165
- var _attributeCompression = require("./geometry/compression/attribute-compression");
166
- var _coordinates = require("./geometry/utils/coordinates");
167
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_constants","require","_glType","_interopRequireDefault","_isGeometry","_attributeIterator","_primitiveIterator","_computeVertexNormals","_rgb","_typedArrayUtils","_attributeCompression","_coordinates"],"sources":["../../src/index.ts"],"sourcesContent":["export type TypedArrayConstructor =\n | Int8ArrayConstructor\n | Uint8ArrayConstructor\n | Int16ArrayConstructor\n | Uint16ArrayConstructor\n | Int32ArrayConstructor\n | Uint32ArrayConstructor\n | Int32ArrayConstructor\n | Uint32ArrayConstructor\n | Float32ArrayConstructor\n | Float64ArrayConstructor;\n\nexport {GL} from './geometry/constants';\n\n// GL support\nexport {GL_TYPE} from './geometry/constants';\nexport {default as GLType} from './geometry/gl/gl-type';\n\n// Geometry\nexport {default as isGeometry} from './geometry/is-geometry';\n\n// Iterators\nexport {makeAttributeIterator} from './geometry/iterators/attribute-iterator';\nexport {makePrimitiveIterator} from './geometry/iterators/primitive-iterator';\n\n// Helper methods\nexport {computeVertexNormals} from './geometry/attributes/compute-vertex-normals';\n\nexport {encodeRGB565, decodeRGB565} from './geometry/colors/rgb565';\n\n// Typed array utils\nexport {concatTypedArrays} from './geometry/typed-arrays/typed-array-utils';\n\n// Compression\nexport {\n octEncodeInRange,\n octEncode,\n octEncodeToVector4,\n octDecodeInRange,\n octDecode,\n octDecodeFromVector4,\n octPackFloat,\n octEncodeFloat,\n octDecodeFloat,\n octPack,\n octUnpack,\n compressTextureCoordinates,\n decompressTextureCoordinates,\n zigZagDeltaDecode\n} from './geometry/compression/attribute-compression';\n\nexport {emod} from './geometry/utils/coordinates';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,IAAAA,UAAA,GAAAC,OAAA;AAIA,IAAAC,OAAA,GAAAC,sBAAA,CAAAF,OAAA;AAGA,IAAAG,WAAA,GAAAD,sBAAA,CAAAF,OAAA;AAGA,IAAAI,kBAAA,GAAAJ,OAAA;AACA,IAAAK,kBAAA,GAAAL,OAAA;AAGA,IAAAM,qBAAA,GAAAN,OAAA;AAEA,IAAAO,IAAA,GAAAP,OAAA;AAGA,IAAAQ,gBAAA,GAAAR,OAAA;AAGA,IAAAS,qBAAA,GAAAT,OAAA;AAiBA,IAAAU,YAAA,GAAAV,OAAA"}
@@ -1,12 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.assert = assert;
7
- function assert(condition, message) {
8
- if (!condition) {
9
- throw new Error(message || '3d-tile loader: assertion failed.');
10
- }
11
- }
12
- //# sourceMappingURL=assert.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assert.js","names":["assert","condition","message","Error"],"sources":["../../../src/utils/assert.ts"],"sourcesContent":["// Replacement for the external assert method to reduce bundle size\n// Note: We don't use the second \"message\" argument in calling code,\n// so no need to support it here\nexport function assert(condition: Boolean, message?: string): void {\n if (!condition) {\n throw new Error(message || '3d-tile loader: assertion failed.');\n }\n}\n"],"mappings":";;;;;;AAGO,SAASA,MAAMA,CAACC,SAAkB,EAAEC,OAAgB,EAAQ;EACjE,IAAI,CAACD,SAAS,EAAE;IACd,MAAM,IAAIE,KAAK,CAACD,OAAO,IAAI,mCAAmC,CAAC;EACjE;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"compute-bounding-box.js","names":["makeAttributeIterator","assert","computeBoundingBox","positions","arguments","length","undefined","min","Number","Infinity","max","position","x","y","z","boundingBox","validateBoundingBox","isFinite"],"sources":["../../../../src/geometry/attributes/compute-bounding-box.ts"],"sourcesContent":["import {makeAttributeIterator} from '../iterators/attribute-iterator';\nimport {assert} from '../utils/assert';\n\n/**\n * Type for Bounding Box computing\n */\ntype BoundingBox = {\n min: number[];\n max: number[];\n};\n/**\n * Getting bounding box geometry according to positions parameters\n * @param positions\n * @returns Bounding Box\n */\nexport function computeBoundingBox(positions: any = []) {\n const min = [Number(Infinity), Number(Infinity), Number(Infinity)];\n const max = [-Infinity, -Infinity, -Infinity];\n // @ts-ignore\n for (const position of makeAttributeIterator(positions)) {\n const x = position[0];\n const y = position[1];\n const z = position[2];\n\n if (x < min[0]) min[0] = x;\n if (y < min[1]) min[1] = y;\n if (z < min[2]) min[2] = z;\n\n if (x > max[0]) max[0] = x;\n if (y > max[1]) max[1] = y;\n if (z > max[2]) max[2] = z;\n }\n\n const boundingBox = {min, max};\n validateBoundingBox(boundingBox);\n return boundingBox;\n}\n\nfunction validateBoundingBox(boundingBox: BoundingBox) {\n assert(\n Number.isFinite(boundingBox.min[0]) &&\n Number.isFinite(boundingBox.min[1]) &&\n Number.isFinite(boundingBox.min[2]) &&\n Number.isFinite(boundingBox.max[0]) &&\n Number.isFinite(boundingBox.max[1]) &&\n Number.isFinite(boundingBox.max[2])\n );\n}\n"],"mappings":"AAAA,SAAQA,qBAAqB,QAAO,iCAAiC;AACrE,SAAQC,MAAM,QAAO,iBAAiB;AActC,OAAO,SAASC,kBAAkBA,CAAA,EAAsB;EAAA,IAArBC,SAAc,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EACpD,MAAMG,GAAG,GAAG,CAACC,MAAM,CAACC,QAAQ,CAAC,EAAED,MAAM,CAACC,QAAQ,CAAC,EAAED,MAAM,CAACC,QAAQ,CAAC,CAAC;EAClE,MAAMC,GAAG,GAAG,CAAC,CAACD,QAAQ,EAAE,CAACA,QAAQ,EAAE,CAACA,QAAQ,CAAC;EAE7C,KAAK,MAAME,QAAQ,IAAIX,qBAAqB,CAACG,SAAS,CAAC,EAAE;IACvD,MAAMS,CAAC,GAAGD,QAAQ,CAAC,CAAC,CAAC;IACrB,MAAME,CAAC,GAAGF,QAAQ,CAAC,CAAC,CAAC;IACrB,MAAMG,CAAC,GAAGH,QAAQ,CAAC,CAAC,CAAC;IAErB,IAAIC,CAAC,GAAGL,GAAG,CAAC,CAAC,CAAC,EAAEA,GAAG,CAAC,CAAC,CAAC,GAAGK,CAAC;IAC1B,IAAIC,CAAC,GAAGN,GAAG,CAAC,CAAC,CAAC,EAAEA,GAAG,CAAC,CAAC,CAAC,GAAGM,CAAC;IAC1B,IAAIC,CAAC,GAAGP,GAAG,CAAC,CAAC,CAAC,EAAEA,GAAG,CAAC,CAAC,CAAC,GAAGO,CAAC;IAE1B,IAAIF,CAAC,GAAGF,GAAG,CAAC,CAAC,CAAC,EAAEA,GAAG,CAAC,CAAC,CAAC,GAAGE,CAAC;IAC1B,IAAIC,CAAC,GAAGH,GAAG,CAAC,CAAC,CAAC,EAAEA,GAAG,CAAC,CAAC,CAAC,GAAGG,CAAC;IAC1B,IAAIC,CAAC,GAAGJ,GAAG,CAAC,CAAC,CAAC,EAAEA,GAAG,CAAC,CAAC,CAAC,GAAGI,CAAC;EAC5B;EAEA,MAAMC,WAAW,GAAG;IAACR,GAAG;IAAEG;EAAG,CAAC;EAC9BM,mBAAmB,CAACD,WAAW,CAAC;EAChC,OAAOA,WAAW;AACpB;AAEA,SAASC,mBAAmBA,CAACD,WAAwB,EAAE;EACrDd,MAAM,CACJO,MAAM,CAACS,QAAQ,CAACF,WAAW,CAACR,GAAG,CAAC,CAAC,CAAC,CAAC,IACjCC,MAAM,CAACS,QAAQ,CAACF,WAAW,CAACR,GAAG,CAAC,CAAC,CAAC,CAAC,IACnCC,MAAM,CAACS,QAAQ,CAACF,WAAW,CAACR,GAAG,CAAC,CAAC,CAAC,CAAC,IACnCC,MAAM,CAACS,QAAQ,CAACF,WAAW,CAACL,GAAG,CAAC,CAAC,CAAC,CAAC,IACnCF,MAAM,CAACS,QAAQ,CAACF,WAAW,CAACL,GAAG,CAAC,CAAC,CAAC,CAAC,IACnCF,MAAM,CAACS,QAAQ,CAACF,WAAW,CAACL,GAAG,CAAC,CAAC,CAAC,CACtC,CAAC;AACH"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"compute-bounding-sphere.js","names":[],"sources":["../../../../src/geometry/attributes/compute-bounding-sphere.ts"],"sourcesContent":["/* eslint-disable */\n/**\nimport {getPositions} from './get-attribute-from-geometry';\n\nexport function computeBoundingSphere(geometry: any, boundingBox: object, vector: Vector3 ) {\n const positions = getPositions(geometry);\n\n const center = getBoundingBox(center);\n box.setFromBufferAttribute(position);\n box.getCenter(center);\n\n // hoping to find a boundingSphere with a radius smaller than the\n // boundingSphere of the boundingBox: sqrt(3) smaller in the best case\n\n var maxRadiusSq = 0;\n\n for (const position of makeAttributeIterator(positions)) {\n vector.x = position[0];\n vector.y = position[1];\n vector.z = position[2];\n maxRadiusSq = Math.max(maxRadiusSq, center.distanceToSquared(vector));\n }\n\n const radius = Math.sqrt(maxRadiusSq);\n assert(Number.isFinite(radius));\n\n return {center, radius};\n}\n*/\n"],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"compute-tangents.js","names":[],"sources":["../../../../src/geometry/attributes/compute-tangents.ts"],"sourcesContent":["/*\nexport function computeTangents({indices, positions, normals, uvs}) {\n var index = geometry.index;\n var attributes = geometry.attributes;\n\n // based on http://www.terathon.com/code/tangent.html\n // (per vertex tangents)\n\n if (\n index === null ||\n attributes.position === undefined ||\n attributes.normal === undefined ||\n attributes.uv === undefined\n ) {\n console.warn(\n 'THREE.BufferGeometry: Missing required attributes (index, position, normal or uv) in BufferGeometry.computeTangents()'\n );\n return;\n }\n\n var nVertices = positions.length / 3;\n\n var tangents = new Float32Array(4 * nVertices); // size: 4\n\n var tan1 = [],\n tan2 = [];\n\n for (var k = 0; k < nVertices; k++) {\n tan1[k] = new THREE.Vector3();\n tan2[k] = new THREE.Vector3();\n }\n\n var vA = new THREE.Vector3(),\n vB = new THREE.Vector3(),\n vC = new THREE.Vector3(),\n uvA = new THREE.Vector2(),\n uvB = new THREE.Vector2(),\n uvC = new THREE.Vector2(),\n sdir = new THREE.Vector3(),\n tdir = new THREE.Vector3();\n\n function handleTriangle(a, b, c) {\n vA.fromArray(positions, a * 3);\n vB.fromArray(positions, b * 3);\n vC.fromArray(positions, c * 3);\n\n uvA.fromArray(uvs, a * 2);\n uvB.fromArray(uvs, b * 2);\n uvC.fromArray(uvs, c * 2);\n\n var x1 = vB.x - vA.x;\n var x2 = vC.x - vA.x;\n\n var y1 = vB.y - vA.y;\n var y2 = vC.y - vA.y;\n\n var z1 = vB.z - vA.z;\n var z2 = vC.z - vA.z;\n\n var s1 = uvB.x - uvA.x;\n var s2 = uvC.x - uvA.x;\n\n var t1 = uvB.y - uvA.y;\n var t2 = uvC.y - uvA.y;\n\n var r = 1.0 / (s1 * t2 - s2 * t1);\n\n sdir.set((t2 * x1 - t1 * x2) * r, (t2 * y1 - t1 * y2) * r, (t2 * z1 - t1 * z2) * r);\n\n tdir.set((s1 * x2 - s2 * x1) * r, (s1 * y2 - s2 * y1) * r, (s1 * z2 - s2 * z1) * r);\n\n tan1[a].add(sdir);\n tan1[b].add(sdir);\n tan1[c].add(sdir);\n\n tan2[a].add(tdir);\n tan2[b].add(tdir);\n tan2[c].add(tdir);\n }\n\n var groups = geometry.groups;\n\n if (groups.length === 0) {\n groups = [\n {\n start: 0,\n count: indices.length\n }\n ];\n }\n\n for (var j = 0, jl = groups.length; j < jl; ++j) {\n var group = groups[j];\n\n var start = group.start;\n var count = group.count;\n\n for (var i = start, il = start + count; i < il; i += 3) {\n handleTriangle(indices[i + 0], indices[i + 1], indices[i + 2]);\n }\n }\n\n var tmp = new THREE.Vector3(),\n tmp2 = new THREE.Vector3();\n var n = new THREE.Vector3(),\n n2 = new THREE.Vector3();\n var w, t, test;\n\n function handleVertex(v) {\n n.fromArray(normals, v * 3);\n n2.copy(n);\n\n t = tan1[v];\n\n // Gram-Schmidt orthogonalize\n\n tmp.copy(t);\n tmp.sub(n.multiplyScalar(n.dot(t))).normalize();\n\n // Calculate handedness\n\n tmp2.crossVectors(n2, t);\n test = tmp2.dot(tan2[v]);\n w = test < 0.0 ? -1.0 : 1.0;\n\n tangents[v * 4] = tmp.x;\n tangents[v * 4 + 1] = tmp.y;\n tangents[v * 4 + 2] = tmp.z;\n tangents[v * 4 + 3] = w;\n }\n\n for (var j = 0, jl = groups.length; j < jl; ++j) {\n var group = groups[j];\n\n var start = group.start;\n var count = group.count;\n\n for (var i = start, il = start + count; i < il; i += 3) {\n handleVertex(indices[i + 0]);\n handleVertex(indices[i + 1]);\n handleVertex(indices[i + 2]);\n }\n }\n}\n*/\n"],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"compute-vertex-normals.js","names":["Vector3","GL","assert","makePrimitiveIterator","getPrimitiveModeType","getPositions","computeVertexNormals","geometry","mode","TRIANGLES","values","positions","normals","Float32Array","length","vectorA","vectorB","vectorC","vectorCB","vectorAB","primitive","fromArray","i1","i2","i3","subVectors","normal","cross","normalize","primitiveIndex","x","y","z"],"sources":["../../../../src/geometry/attributes/compute-vertex-normals.ts"],"sourcesContent":["import type {TypedArray} from '@math.gl/core';\nimport {Vector3} from '@math.gl/core';\nimport {GL} from '../constants';\nimport {assert} from '../utils/assert';\nimport {makePrimitiveIterator} from '../iterators/primitive-iterator';\nimport {getPrimitiveModeType} from '../primitives/modes';\nimport {getPositions} from './get-attribute-from-geometry';\n\ntype Geometry = {\n mode: any;\n indices?: {size: number; values: TypedArray};\n attributes?: {};\n};\n/**\n * Computes vertex normals for a geometry\n * @param param0\n * @returns\n */\n// eslint-disable-next-line max-statements\nexport function computeVertexNormals(geometry: Geometry): Float32Array {\n // Only support GL.TRIANGLES, GL.TRIANGLE_STRIP, GL.TRIANGLE_FAN\n assert(getPrimitiveModeType(geometry.mode) === GL.TRIANGLES, 'TRIANGLES required');\n\n const {values: positions} = getPositions(geometry);\n\n const normals = new Float32Array(positions.length);\n\n const vectorA = new Vector3();\n const vectorB = new Vector3();\n const vectorC = new Vector3();\n\n const vectorCB = new Vector3();\n const vectorAB = new Vector3();\n\n for (const primitive of makePrimitiveIterator(geometry)) {\n vectorA.fromArray(positions, primitive.i1 * 3);\n vectorB.fromArray(positions, primitive.i2 * 3 + 3);\n vectorC.fromArray(positions, primitive.i3 * 3 + 6);\n\n vectorCB.subVectors(vectorC, vectorB);\n vectorAB.subVectors(vectorA, vectorB);\n const normal = vectorCB.cross(vectorAB);\n normal.normalize();\n // @ts-ignore\n const {primitiveIndex} = primitive;\n\n normals[primitiveIndex * 9 + 0] = normal.x;\n normals[primitiveIndex * 9 + 1] = normal.y;\n normals[primitiveIndex * 9 + 2] = normal.z;\n\n normals[primitiveIndex * 9 + 3] = normal.x;\n normals[primitiveIndex * 9 + 4] = normal.y;\n normals[primitiveIndex * 9 + 5] = normal.z;\n\n normals[primitiveIndex * 9 + 6] = normal.x;\n normals[primitiveIndex * 9 + 7] = normal.y;\n normals[primitiveIndex * 9 + 8] = normal.z;\n }\n\n return normals;\n}\n"],"mappings":"AACA,SAAQA,OAAO,QAAO,eAAe;AACrC,SAAQC,EAAE,QAAO,cAAc;AAC/B,SAAQC,MAAM,QAAO,iBAAiB;AACtC,SAAQC,qBAAqB,QAAO,iCAAiC;AACrE,SAAQC,oBAAoB,QAAO,qBAAqB;AACxD,SAAQC,YAAY,QAAO,+BAA+B;AAa1D,OAAO,SAASC,oBAAoBA,CAACC,QAAkB,EAAgB;EAErEL,MAAM,CAACE,oBAAoB,CAACG,QAAQ,CAACC,IAAI,CAAC,KAAKP,EAAE,CAACQ,SAAS,EAAE,oBAAoB,CAAC;EAElF,MAAM;IAACC,MAAM,EAAEC;EAAS,CAAC,GAAGN,YAAY,CAACE,QAAQ,CAAC;EAElD,MAAMK,OAAO,GAAG,IAAIC,YAAY,CAACF,SAAS,CAACG,MAAM,CAAC;EAElD,MAAMC,OAAO,GAAG,IAAIf,OAAO,CAAC,CAAC;EAC7B,MAAMgB,OAAO,GAAG,IAAIhB,OAAO,CAAC,CAAC;EAC7B,MAAMiB,OAAO,GAAG,IAAIjB,OAAO,CAAC,CAAC;EAE7B,MAAMkB,QAAQ,GAAG,IAAIlB,OAAO,CAAC,CAAC;EAC9B,MAAMmB,QAAQ,GAAG,IAAInB,OAAO,CAAC,CAAC;EAE9B,KAAK,MAAMoB,SAAS,IAAIjB,qBAAqB,CAACI,QAAQ,CAAC,EAAE;IACvDQ,OAAO,CAACM,SAAS,CAACV,SAAS,EAAES,SAAS,CAACE,EAAE,GAAG,CAAC,CAAC;IAC9CN,OAAO,CAACK,SAAS,CAACV,SAAS,EAAES,SAAS,CAACG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAClDN,OAAO,CAACI,SAAS,CAACV,SAAS,EAAES,SAAS,CAACI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAElDN,QAAQ,CAACO,UAAU,CAACR,OAAO,EAAED,OAAO,CAAC;IACrCG,QAAQ,CAACM,UAAU,CAACV,OAAO,EAAEC,OAAO,CAAC;IACrC,MAAMU,MAAM,GAAGR,QAAQ,CAACS,KAAK,CAACR,QAAQ,CAAC;IACvCO,MAAM,CAACE,SAAS,CAAC,CAAC;IAElB,MAAM;MAACC;IAAc,CAAC,GAAGT,SAAS;IAElCR,OAAO,CAACiB,cAAc,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGH,MAAM,CAACI,CAAC;IAC1ClB,OAAO,CAACiB,cAAc,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGH,MAAM,CAACK,CAAC;IAC1CnB,OAAO,CAACiB,cAAc,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGH,MAAM,CAACM,CAAC;IAE1CpB,OAAO,CAACiB,cAAc,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGH,MAAM,CAACI,CAAC;IAC1ClB,OAAO,CAACiB,cAAc,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGH,MAAM,CAACK,CAAC;IAC1CnB,OAAO,CAACiB,cAAc,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGH,MAAM,CAACM,CAAC;IAE1CpB,OAAO,CAACiB,cAAc,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGH,MAAM,CAACI,CAAC;IAC1ClB,OAAO,CAACiB,cAAc,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGH,MAAM,CAACK,CAAC;IAC1CnB,OAAO,CAACiB,cAAc,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGH,MAAM,CAACM,CAAC;EAC5C;EAEA,OAAOpB,OAAO;AAChB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"convert-to-non-indexed.js","names":["convertBuffersToNonIndexed","_ref","indices","attributes","geometry2","BufferGeometry","name","attribute","array","itemSize","array2","constructor","length","index","index2","i","l","j","addAttribute","BufferAttribute","group","groups","addGroup","start","count","materialIndex"],"sources":["../../../../src/geometry/attributes/convert-to-non-indexed.ts"],"sourcesContent":["/* eslint-disable */\n// @ts-nocheck\n/**\n * Converts indices of geometry.\n *\n * @param param0\n * @returns no indexed geometry\n */\nexport function convertBuffersToNonIndexed({indices, attributes}): any {\n const geometry2 = new BufferGeometry();\n\n for (const name in attributes) {\n const attribute = attributes[name];\n\n const array = attribute.array;\n const itemSize = attribute.itemSize;\n\n const array2 = new array.constructor(indices.length * itemSize);\n let index = 0,\n index2 = 0;\n\n for (var i = 0, l = indices.length; i < l; i++) {\n index = indices[i] * itemSize;\n for (var j = 0; j < itemSize; j++) {\n array2[index2++] = array[index++];\n }\n }\n geometry2.addAttribute(name, new BufferAttribute(array2, itemSize));\n }\n\n for (const group of this.groups) {\n geometry2.addGroup(group.start, group.count, group.materialIndex);\n }\n\n return geometry2;\n}\n"],"mappings":"AAQA,OAAO,SAASA,0BAA0BA,CAAAC,IAAA,EAA6B;EAAA,IAA5B;IAACC,OAAO;IAAEC;EAAU,CAAC,GAAAF,IAAA;EAC9D,MAAMG,SAAS,GAAG,IAAIC,cAAc,CAAC,CAAC;EAEtC,KAAK,MAAMC,IAAI,IAAIH,UAAU,EAAE;IAC7B,MAAMI,SAAS,GAAGJ,UAAU,CAACG,IAAI,CAAC;IAElC,MAAME,KAAK,GAAGD,SAAS,CAACC,KAAK;IAC7B,MAAMC,QAAQ,GAAGF,SAAS,CAACE,QAAQ;IAEnC,MAAMC,MAAM,GAAG,IAAIF,KAAK,CAACG,WAAW,CAACT,OAAO,CAACU,MAAM,GAAGH,QAAQ,CAAC;IAC/D,IAAII,KAAK,GAAG,CAAC;MACXC,MAAM,GAAG,CAAC;IAEZ,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEC,CAAC,GAAGd,OAAO,CAACU,MAAM,EAAEG,CAAC,GAAGC,CAAC,EAAED,CAAC,EAAE,EAAE;MAC9CF,KAAK,GAAGX,OAAO,CAACa,CAAC,CAAC,GAAGN,QAAQ;MAC7B,KAAK,IAAIQ,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGR,QAAQ,EAAEQ,CAAC,EAAE,EAAE;QACjCP,MAAM,CAACI,MAAM,EAAE,CAAC,GAAGN,KAAK,CAACK,KAAK,EAAE,CAAC;MACnC;IACF;IACAT,SAAS,CAACc,YAAY,CAACZ,IAAI,EAAE,IAAIa,eAAe,CAACT,MAAM,EAAED,QAAQ,CAAC,CAAC;EACrE;EAEA,KAAK,MAAMW,KAAK,IAAI,IAAI,CAACC,MAAM,EAAE;IAC/BjB,SAAS,CAACkB,QAAQ,CAACF,KAAK,CAACG,KAAK,EAAEH,KAAK,CAACI,KAAK,EAAEJ,KAAK,CAACK,aAAa,CAAC;EACnE;EAEA,OAAOrB,SAAS;AAClB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-attribute-from-geometry.js","names":["isGeometry","assert","getPositions","geometry","attributes","position","POSITION","positions","ArrayBuffer","isView","values","size"],"sources":["../../../../src/geometry/attributes/get-attribute-from-geometry.ts"],"sourcesContent":["import isGeometry from '../is-geometry';\nimport {assert} from '../utils/assert';\n\n/**\n * analyze positions of geometry\n *\n * @param geometry\n * @returns Position| New geometry |assert\n */\n\nexport function getPositions(geometry: any) {\n // If geometry, extract positions\n if (isGeometry(geometry)) {\n const {attributes} = geometry;\n const position = attributes.POSITION || attributes.positions;\n assert(position);\n return position;\n }\n\n // If arraybuffer, assume 3 components\n if (ArrayBuffer.isView(geometry)) {\n return {values: geometry, size: 3};\n }\n\n // Else assume accessor object\n if (geometry) {\n assert(geometry.values);\n return geometry;\n }\n\n return assert(false);\n}\n"],"mappings":"AAAA,OAAOA,UAAU,MAAM,gBAAgB;AACvC,SAAQC,MAAM,QAAO,iBAAiB;AAStC,OAAO,SAASC,YAAYA,CAACC,QAAa,EAAE;EAE1C,IAAIH,UAAU,CAACG,QAAQ,CAAC,EAAE;IACxB,MAAM;MAACC;IAAU,CAAC,GAAGD,QAAQ;IAC7B,MAAME,QAAQ,GAAGD,UAAU,CAACE,QAAQ,IAAIF,UAAU,CAACG,SAAS;IAC5DN,MAAM,CAACI,QAAQ,CAAC;IAChB,OAAOA,QAAQ;EACjB;EAGA,IAAIG,WAAW,CAACC,MAAM,CAACN,QAAQ,CAAC,EAAE;IAChC,OAAO;MAACO,MAAM,EAAEP,QAAQ;MAAEQ,IAAI,EAAE;IAAC,CAAC;EACpC;EAGA,IAAIR,QAAQ,EAAE;IACZF,MAAM,CAACE,QAAQ,CAACO,MAAM,CAAC;IACvB,OAAOP,QAAQ;EACjB;EAEA,OAAOF,MAAM,CAAC,KAAK,CAAC;AACtB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"normalize.js","names":["normalize","normals","arguments","length","undefined","vector","attributes","normal","i","il","count","x","getX","y","getY","z","getZ","setXYZ"],"sources":["../../../../src/geometry/attributes/normalize.ts"],"sourcesContent":["/* eslint-disable */\nimport {Vector3} from '@math.gl/core';\n\n/**\n * Setting X, Y, Z for Vector\n * @param normals\n * @param vector\n */\nexport function normalize(normals: any = {}, vector: Vector3) {\n //@ts-ignore\n normals = this.attributes.normal;\n for (let i = 0, il = normals.count; i < il; i++) {\n vector.x = normals.getX(i);\n vector.y = normals.getY(i);\n vector.z = normals.getZ(i);\n vector.normalize();\n normals.setXYZ(i, vector.x, vector.y, vector.z);\n }\n}\n"],"mappings":"AAQA,OAAO,SAASA,SAASA,CAAA,EAAqC;EAAA,IAApCC,OAAY,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,IAAEG,MAAe,GAAAH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAE1DH,OAAO,GAAG,IAAI,CAACK,UAAU,CAACC,MAAM;EAChC,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEC,EAAE,GAAGR,OAAO,CAACS,KAAK,EAAEF,CAAC,GAAGC,EAAE,EAAED,CAAC,EAAE,EAAE;IAC/CH,MAAM,CAACM,CAAC,GAAGV,OAAO,CAACW,IAAI,CAACJ,CAAC,CAAC;IAC1BH,MAAM,CAACQ,CAAC,GAAGZ,OAAO,CAACa,IAAI,CAACN,CAAC,CAAC;IAC1BH,MAAM,CAACU,CAAC,GAAGd,OAAO,CAACe,IAAI,CAACR,CAAC,CAAC;IAC1BH,MAAM,CAACL,SAAS,CAAC,CAAC;IAClBC,OAAO,CAACgB,MAAM,CAACT,CAAC,EAAEH,MAAM,CAACM,CAAC,EAAEN,MAAM,CAACQ,CAAC,EAAER,MAAM,CAACU,CAAC,CAAC;EACjD;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"rgb565.js","names":["decodeRGB565","rgb565","target","arguments","length","undefined","r5","g6","b5","encodeRGB565","rgb","Math","floor"],"sources":["../../../../src/geometry/colors/rgb565.ts"],"sourcesContent":["/**\n * Decode color values\n * @param rgb565\n * @param target\n * @returns target\n */\nexport function decodeRGB565(rgb565: number, target: number[] = [0, 0, 0]): number[] {\n const r5 = (rgb565 >> 11) & 31;\n const g6 = (rgb565 >> 5) & 63;\n const b5 = rgb565 & 31;\n\n target[0] = r5 << 3;\n target[1] = g6 << 2;\n target[2] = b5 << 3;\n\n return target;\n}\n\n/**\n * Encode color values\n * @param rgb\n * @returns color\n */\nexport function encodeRGB565(rgb: number[]): number {\n const r5 = Math.floor(rgb[0] / 8) + 4;\n const g6 = Math.floor(rgb[1] / 4) + 2;\n const b5 = Math.floor(rgb[2] / 8) + 4;\n return r5 + (g6 << 5) + (b5 << 11);\n}\n"],"mappings":"AAMA,OAAO,SAASA,YAAYA,CAACC,MAAc,EAA0C;EAAA,IAAxCC,MAAgB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EACvE,MAAMG,EAAE,GAAIL,MAAM,IAAI,EAAE,GAAI,EAAE;EAC9B,MAAMM,EAAE,GAAIN,MAAM,IAAI,CAAC,GAAI,EAAE;EAC7B,MAAMO,EAAE,GAAGP,MAAM,GAAG,EAAE;EAEtBC,MAAM,CAAC,CAAC,CAAC,GAAGI,EAAE,IAAI,CAAC;EACnBJ,MAAM,CAAC,CAAC,CAAC,GAAGK,EAAE,IAAI,CAAC;EACnBL,MAAM,CAAC,CAAC,CAAC,GAAGM,EAAE,IAAI,CAAC;EAEnB,OAAON,MAAM;AACf;AAOA,OAAO,SAASO,YAAYA,CAACC,GAAa,EAAU;EAClD,MAAMJ,EAAE,GAAGK,IAAI,CAACC,KAAK,CAACF,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;EACrC,MAAMH,EAAE,GAAGI,IAAI,CAACC,KAAK,CAACF,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;EACrC,MAAMF,EAAE,GAAGG,IAAI,CAACC,KAAK,CAACF,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;EACrC,OAAOJ,EAAE,IAAIC,EAAE,IAAI,CAAC,CAAC,IAAIC,EAAE,IAAI,EAAE,CAAC;AACpC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"attribute-compression.js","names":["Vector2","Vector3","clamp","_MathUtils","assert","RIGHT_SHIFT","LEFT_SHIFT","scratchVector2","scratchVector3","scratchEncodeVector2","octEncodeScratch","uint8ForceArray","Uint8Array","forceUint8","value","fromSNorm","rangeMaximum","arguments","length","undefined","toSNorm","Math","round","signNotZero","octEncodeInRange","vector","rangeMax","result","vector3","from","abs","magnitudeSquared","EPSILON6","x","y","z","octEncode","octEncodeToVector4","w","octDecodeInRange","Error","concat","oldVX","normalize","octDecode","octDecodeFromVector4","encoded","xOct16","yOct16","octPackFloat","vector2","octEncodeFloat","octDecodeFloat","Number","isFinite","temp","floor","octPack","v1","v2","v3","encoded1","encoded2","encoded3","octUnpack","packed","encodedFloat1","encodedFloat2","compressTextureCoordinates","textureCoordinates","decompressTextureCoordinates","compressed","xZeroTo4095","zigZagDeltaDecode","uBuffer","vBuffer","heightBuffer","zigZagDecode","u","v","height","i"],"sources":["../../../../src/geometry/compression/attribute-compression.ts"],"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// Attribute compression and decompression functions.\n\nimport {Vector2, Vector3, clamp, _MathUtils} from '@math.gl/core';\nimport {assert} from '../utils/assert';\n\ntype Vector4 = {\n x: number;\n y: number;\n z: number;\n w: number;\n};\n\nconst RIGHT_SHIFT = 1.0 / 256.0;\nconst LEFT_SHIFT = 256.0;\n\nconst scratchVector2 = new Vector2();\nconst scratchVector3 = new Vector3();\nconst scratchEncodeVector2 = new Vector2();\nconst octEncodeScratch = new Vector2();\n\nconst uint8ForceArray = new Uint8Array(1);\n\n/**\n * Force a value to Uint8\n *\n * @param value\n * @returns\n */\nfunction forceUint8(value: number): number {\n uint8ForceArray[0] = value;\n return uint8ForceArray[0];\n}\n\n/**\n * Converts a SNORM value in the range [0, rangeMaximum] to a scalar in the range [-1.0, 1.0].\n *\n * @param value SNORM value in the range [0, rangeMaximum]\n * @param [rangeMaximum=255] The maximum value in the SNORM range, 255 by default.\n * @returns Scalar in the range [-1.0, 1.0].\n *\n * @see CesiumMath.toSNorm\n */\nfunction fromSNorm(value: number, rangeMaximum = 255): number {\n return (clamp(value, 0.0, rangeMaximum) / rangeMaximum) * 2.0 - 1.0;\n}\n\n/**\n * Converts a scalar value in the range [-1.0, 1.0] to a SNORM in the range [0, rangeMaximum].\n *\n * @param value The scalar value in the range [-1.0, 1.0]\n * @param [rangeMaximum=255] The maximum value in the mapped range, 255 by default.\n * @returns A SNORM value, where 0 maps to -1.0 and rangeMaximum maps to 1.0.\n *\n * @see CesiumMath.fromSNorm\n */\nfunction toSNorm(value: number, rangeMaximum = 255): number {\n return Math.round((clamp(value, -1.0, 1.0) * 0.5 + 0.5) * rangeMaximum);\n}\n\n/**\n * Returns 1.0 if the given value is positive or zero, and -1.0 if it is negative.\n * This is similar to `Math.sign` except that returns 1.0 instead of\n * 0.0 when the input value is 0.0.\n *\n * @param value The value to return the sign of.\n * @returns The sign of value.\n */\nfunction signNotZero(value: number): number {\n return value < 0.0 ? -1.0 : 1.0;\n}\n\n/**\n * Encodes a normalized vector into 2 SNORM values in the range of [0-rangeMax] following the 'oct' encoding.\n *\n * Oct encoding is a compact representation of unit length vectors.\n * The 'oct' encoding is described in \"A Survey of Efficient Representations of Independent Unit Vectors\",\n * Cigolle et al 2014: {@link http://jcgt.org/published/0003/02/01/}\n *\n * @param vector The normalized vector to be compressed into 2 component 'oct' encoding.\n * @param result The 2 component oct-encoded unit length vector.\n * @param rangeMax The maximum value of the SNORM range. The encoded vector is stored in log2(rangeMax+1) bits.\n * @returns The 2 component oct-encoded unit length vector.\n *\n * @exception vector must be normalized.\n *\n * @see octDecodeInRange\n */\nexport function octEncodeInRange(vector: Vector3, rangeMax: number, result: Vector2): Vector2 {\n assert(vector);\n assert(result);\n\n const vector3 = scratchVector3.from(vector);\n\n assert(Math.abs(vector3.magnitudeSquared() - 1.0) <= _MathUtils.EPSILON6);\n\n result.x = vector.x / (Math.abs(vector.x) + Math.abs(vector.y) + Math.abs(vector.z));\n result.y = vector.y / (Math.abs(vector.x) + Math.abs(vector.y) + Math.abs(vector.z));\n\n if (vector.z < 0) {\n const x = result.x;\n const y = result.y;\n result.x = (1.0 - Math.abs(y)) * signNotZero(x);\n result.y = (1.0 - Math.abs(x)) * signNotZero(y);\n }\n\n result.x = toSNorm(result.x, rangeMax);\n result.y = toSNorm(result.y, rangeMax);\n\n return result;\n}\n\n/**\n * Encodes a normalized vector into 2 SNORM values in the range of [0-255] following the 'oct' encoding.\n *\n * @param vector The normalized vector to be compressed into 2 byte 'oct' encoding.\n * @param result The 2 byte oct-encoded unit length vector.\n * @returns he 2 byte oct-encoded unit length vector.\n *\n * @exception vector must be normalized.\n *\n * @see octEncodeInRange\n * @see octDecode\n */\nexport function octEncode(vector: Vector3, result: Vector2): Vector2 {\n return octEncodeInRange(vector, 255, result);\n}\n\n/**\n * Encodes a normalized vector into 4-byte vector\n * @param vector The normalized vector to be compressed into 4 byte 'oct' encoding.\n * @param result The 4 byte oct-encoded unit length vector.\n * @returns The 4 byte oct-encoded unit length vector.\n *\n * @exception vector must be normalized.\n *\n * @see octEncodeInRange\n * @see octDecodeFromVector4\n */\nexport function octEncodeToVector4(vector: Vector3, result: Vector4): Vector4 {\n octEncodeInRange(vector, 65535, octEncodeScratch);\n result.x = forceUint8(octEncodeScratch.x * RIGHT_SHIFT);\n result.y = forceUint8(octEncodeScratch.x);\n result.z = forceUint8(octEncodeScratch.y * RIGHT_SHIFT);\n result.w = forceUint8(octEncodeScratch.y);\n return result;\n}\n\n/**\n * Decodes a unit-length vector in 'oct' encoding to a normalized 3-component vector.\n *\n * @param x The x component of the oct-encoded unit length vector.\n * @param y The y component of the oct-encoded unit length vector.\n * @param rangeMax The maximum value of the SNORM range. The encoded vector is stored in log2(rangeMax+1) bits.\n * @param result The decoded and normalized vector\n * @returns The decoded and normalized vector.\n *\n * @exception x and y must be unsigned normalized integers between 0 and rangeMax.\n *\n * @see octEncodeInRange\n */\nexport function octDecodeInRange(x: number, y: number, rangeMax: number, result: Vector3): Vector3 {\n assert(result);\n if (x < 0 || x > rangeMax || y < 0 || y > rangeMax) {\n throw new Error(`x and y must be unsigned normalized integers between 0 and ${rangeMax}`);\n }\n\n result.x = fromSNorm(x, rangeMax);\n result.y = fromSNorm(y, rangeMax);\n result.z = 1.0 - (Math.abs(result.x) + Math.abs(result.y));\n\n if (result.z < 0.0) {\n const oldVX = result.x;\n result.x = (1.0 - Math.abs(result.y)) * signNotZero(oldVX);\n result.y = (1.0 - Math.abs(oldVX)) * signNotZero(result.y);\n }\n\n return result.normalize();\n}\n\n/**\n * Decodes a unit-length vector in 2 byte 'oct' encoding to a normalized 3-component vector.\n *\n * @param x The x component of the oct-encoded unit length vector.\n * @param y The y component of the oct-encoded unit length vector.\n * @param result The decoded and normalized vector.\n * @returns he decoded and normalized vector.\n *\n * @exception x and y must be an unsigned normalized integer between 0 and 255.\n *\n * @see octDecodeInRange\n */\nexport function octDecode(x: number, y: number, result: Vector3): Vector3 {\n return octDecodeInRange(x, y, 255, result);\n}\n\n/**\n * Decodes a unit-length vector in 4 byte 'oct' encoding to a normalized 3-component vector.\n *\n * @param encoded The oct-encoded unit length vector.\n * @param esult The decoded and normalized vector.\n * @returns The decoded and normalized vector.\n *\n * @exception x, y, z, and w must be unsigned normalized integers between 0 and 255.\n *\n * @see octDecodeInRange\n * @see octEncodeToVector4\n */\nexport function octDecodeFromVector4(encoded: Vector4, result: Vector3): Vector3 {\n assert(encoded);\n assert(result);\n const x = encoded.x;\n const y = encoded.y;\n const z = encoded.z;\n const w = encoded.w;\n\n if (x < 0 || x > 255 || y < 0 || y > 255 || z < 0 || z > 255 || w < 0 || w > 255) {\n throw new Error('x, y, z, and w must be unsigned normalized integers between 0 and 255');\n }\n\n const xOct16 = x * LEFT_SHIFT + y;\n const yOct16 = z * LEFT_SHIFT + w;\n return octDecodeInRange(xOct16, yOct16, 65535, result);\n}\n\n/**\n * Packs an oct encoded vector into a single floating-point number.\n *\n * @param encoded The oct encoded vector.\n * @returns The oct encoded vector packed into a single float.\n *\n */\nexport function octPackFloat(encoded: Vector2): number {\n const vector2 = scratchVector2.from(encoded);\n return 256.0 * vector2.x + vector2.y;\n}\n\n/**\n * Encodes a normalized vector into 2 SNORM values in the range of [0-255] following the 'oct' encoding and\n * stores those values in a single float-point number.\n *\n * @param vector The normalized vector to be compressed into 2 byte 'oct' encoding.\n * @returns The 2 byte oct-encoded unit length vector.\n *\n * @exception vector must be normalized.\n */\nexport function octEncodeFloat(vector: Vector3): number {\n octEncode(vector, scratchEncodeVector2);\n return octPackFloat(scratchEncodeVector2);\n}\n\n/**\n * Decodes a unit-length vector in 'oct' encoding packed in a floating-point number to a normalized 3-component vector.\n *\n * @param value The oct-encoded unit length vector stored as a single floating-point number.\n * @param result The decoded and normalized vector\n * @returns The decoded and normalized vector.\n *\n */\nexport function octDecodeFloat(value: number, result: Vector3): Vector3 {\n assert(Number.isFinite(value));\n\n const temp = value / 256.0;\n const x = Math.floor(temp);\n const y = (temp - x) * 256.0;\n\n return octDecode(x, y, result);\n}\n\n/**\n * Encodes three normalized vectors into 6 SNORM values in the range of [0-255] following the 'oct' encoding and\n * packs those into two floating-point numbers.\n *\n * @param v1 A normalized vector to be compressed.\n * @param v2 A normalized vector to be compressed.\n * @param v3 A normalized vector to be compressed.\n * @param result The 'oct' encoded vectors packed into two floating-point numbers.\n * @returns The 'oct' encoded vectors packed into two floating-point numbers.\n *\n */\nexport function octPack(v1: Vector3, v2: Vector3, v3: Vector3, result: Vector2): Vector2 {\n assert(v1);\n assert(v2);\n assert(v3);\n assert(result);\n\n const encoded1 = octEncodeFloat(v1);\n const encoded2 = octEncodeFloat(v2);\n\n const encoded3 = octEncode(v3, scratchEncodeVector2);\n result.x = 65536.0 * encoded3.x + encoded1;\n result.y = 65536.0 * encoded3.y + encoded2;\n return result;\n}\n\n/**\n * Decodes three unit-length vectors in 'oct' encoding packed into a floating-point number to a normalized 3-component vector.\n *\n * @param packed The three oct-encoded unit length vectors stored as two floating-point number.\n * @param v1 One decoded and normalized vector.\n * @param v2 One decoded and normalized vector.\n * @param v3 One decoded and normalized vector.\n */\nexport function octUnpack(packed: Vector2, v1: Vector3, v2: Vector3, v3: Vector3): void {\n let temp = packed.x / 65536.0;\n const x = Math.floor(temp);\n const encodedFloat1 = (temp - x) * 65536.0;\n\n temp = packed.y / 65536.0;\n const y = Math.floor(temp);\n const encodedFloat2 = (temp - y) * 65536.0;\n\n octDecodeFloat(encodedFloat1, v1);\n octDecodeFloat(encodedFloat2, v2);\n octDecode(x, y, v3);\n}\n\n/**\n * Pack texture coordinates into a single float. The texture coordinates will only preserve 12 bits of precision.\n *\n * @param textureCoordinates The texture coordinates to compress. Both coordinates must be in the range 0.0-1.0.\n * @returns The packed texture coordinates.\n *\n */\nexport function compressTextureCoordinates(textureCoordinates: Vector2): number {\n // Move x and y to the range 0-4095;\n const x = (textureCoordinates.x * 4095.0) | 0;\n const y = (textureCoordinates.y * 4095.0) | 0;\n return 4096.0 * x + y;\n}\n\n/**\n * Decompresses texture coordinates that were packed into a single float.\n *\n * @param compressed The compressed texture coordinates.\n * @param result The decompressed texture coordinates.\n * @returns The modified result parameter.\n *\n */\nexport function decompressTextureCoordinates(compressed: number, result: Vector2): Vector2 {\n const temp = compressed / 4096.0;\n const xZeroTo4095 = Math.floor(temp);\n result.x = xZeroTo4095 / 4095.0;\n result.y = (compressed - xZeroTo4095 * 4096) / 4095;\n return result;\n}\n\n/**\n * Decodes delta and ZigZag encoded vertices. This modifies the buffers in place.\n *\n * @param uBuffer The buffer view of u values.\n * @param vBuffer The buffer view of v values.\n * @param [heightBuffer] The buffer view of height values.\n *\n * @link https://github.com/AnalyticalGraphicsInc/quantized-mesh|quantized-mesh-1.0 terrain format\n */\nexport function zigZagDeltaDecode(\n uBuffer: Uint16Array,\n vBuffer: Uint16Array,\n heightBuffer?: Uint16Array | number[]\n) {\n assert(uBuffer);\n assert(vBuffer);\n assert(uBuffer.length === vBuffer.length);\n if (heightBuffer) {\n assert(uBuffer.length === heightBuffer.length);\n }\n\n function zigZagDecode(value: number) {\n return (value >> 1) ^ -(value & 1);\n }\n\n let u = 0;\n let v = 0;\n let height = 0;\n\n for (let i = 0; i < uBuffer.length; ++i) {\n u += zigZagDecode(uBuffer[i]);\n v += zigZagDecode(vBuffer[i]);\n\n uBuffer[i] = u;\n vBuffer[i] = v;\n\n if (heightBuffer) {\n height += zigZagDecode(heightBuffer[i]);\n heightBuffer[i] = height;\n }\n }\n}\n"],"mappings":"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"}