@loaders.gl/3d-tiles 3.1.3 → 4.0.0-alpha.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle.js +2 -2
- package/dist/bundle.js.map +1 -0
- package/dist/cesium-ion-loader.js +32 -36
- package/dist/cesium-ion-loader.js.map +1 -0
- package/dist/dist.min.js +88 -40
- package/dist/index.js +9 -26
- package/dist/index.js.map +1 -0
- package/dist/lib/classes/helpers/tile-3d-accessor-utils.js +89 -106
- package/dist/lib/classes/helpers/tile-3d-accessor-utils.js.map +1 -0
- package/dist/lib/classes/tile-3d-batch-table-hierarchy.js +202 -184
- package/dist/lib/classes/tile-3d-batch-table-hierarchy.js.map +1 -0
- package/dist/lib/classes/tile-3d-batch-table.js +282 -223
- package/dist/lib/classes/tile-3d-batch-table.js.map +1 -0
- package/dist/lib/classes/tile-3d-feature-table.js +86 -64
- package/dist/lib/classes/tile-3d-feature-table.js.map +1 -0
- package/dist/lib/constants.js +19 -23
- package/dist/lib/constants.js.map +1 -0
- package/dist/lib/encoders/encode-3d-tile-batched-model.js +45 -45
- package/dist/lib/encoders/encode-3d-tile-batched-model.js.map +1 -0
- package/dist/lib/encoders/encode-3d-tile-composite.js +24 -23
- package/dist/lib/encoders/encode-3d-tile-composite.js.map +1 -0
- package/dist/lib/encoders/encode-3d-tile-instanced-model.js +37 -37
- package/dist/lib/encoders/encode-3d-tile-instanced-model.js.map +1 -0
- package/dist/lib/encoders/encode-3d-tile-point-cloud.js +38 -36
- package/dist/lib/encoders/encode-3d-tile-point-cloud.js.map +1 -0
- package/dist/lib/encoders/encode-3d-tile.js +32 -30
- package/dist/lib/encoders/encode-3d-tile.js.map +1 -0
- package/dist/lib/encoders/helpers/encode-3d-tile-header.js +29 -28
- package/dist/lib/encoders/helpers/encode-3d-tile-header.js.map +1 -0
- package/dist/lib/ion/ion.js +69 -60
- package/dist/lib/ion/ion.js.map +1 -0
- package/dist/lib/parsers/helpers/normalize-3d-tile-colors.js +62 -60
- package/dist/lib/parsers/helpers/normalize-3d-tile-colors.js.map +1 -0
- package/dist/lib/parsers/helpers/normalize-3d-tile-normals.js +26 -26
- package/dist/lib/parsers/helpers/normalize-3d-tile-normals.js.map +1 -0
- package/dist/lib/parsers/helpers/normalize-3d-tile-positions.js +28 -39
- package/dist/lib/parsers/helpers/normalize-3d-tile-positions.js.map +1 -0
- package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.d.ts +18 -11
- package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.d.ts.map +1 -1
- package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.js +203 -170
- package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.js.map +1 -0
- package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.js +63 -82
- package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +1 -0
- package/dist/lib/parsers/helpers/parse-3d-tile-header.js +15 -26
- package/dist/lib/parsers/helpers/parse-3d-tile-header.js.map +1 -0
- package/dist/lib/parsers/helpers/parse-3d-tile-subtree.js +57 -68
- package/dist/lib/parsers/helpers/parse-3d-tile-subtree.js.map +1 -0
- package/dist/lib/parsers/helpers/parse-3d-tile-tables.js +80 -84
- package/dist/lib/parsers/helpers/parse-3d-tile-tables.js.map +1 -0
- package/dist/lib/parsers/helpers/parse-utils.js +16 -29
- package/dist/lib/parsers/helpers/parse-utils.js.map +1 -0
- package/dist/lib/parsers/parse-3d-tile-batched-model.js +26 -30
- package/dist/lib/parsers/parse-3d-tile-batched-model.js.map +1 -0
- package/dist/lib/parsers/parse-3d-tile-composite.js +16 -25
- package/dist/lib/parsers/parse-3d-tile-composite.js.map +1 -0
- package/dist/lib/parsers/parse-3d-tile-gltf.js +9 -17
- package/dist/lib/parsers/parse-3d-tile-gltf.js.map +1 -0
- package/dist/lib/parsers/parse-3d-tile-header.d.ts.map +1 -1
- package/dist/lib/parsers/parse-3d-tile-header.js +139 -122
- package/dist/lib/parsers/parse-3d-tile-header.js.map +1 -0
- package/dist/lib/parsers/parse-3d-tile-instanced-model.js +170 -179
- package/dist/{es5/lib → lib}/parsers/parse-3d-tile-instanced-model.js.map +1 -1
- package/dist/lib/parsers/parse-3d-tile-point-cloud.js +184 -350
- package/dist/lib/parsers/parse-3d-tile-point-cloud.js.map +1 -0
- package/dist/lib/parsers/parse-3d-tile.js +31 -36
- package/dist/lib/parsers/parse-3d-tile.js.map +1 -0
- package/dist/lib/utils/version.js +2 -7
- package/dist/lib/utils/version.js.map +1 -0
- package/dist/tile-3d-subtree-loader.js +13 -22
- package/dist/tile-3d-subtree-loader.js.map +1 -0
- package/dist/tile-3d-writer.js +17 -24
- package/dist/tile-3d-writer.js.map +1 -0
- package/dist/tiles-3d-loader.js +66 -67
- package/dist/tiles-3d-loader.js.map +1 -0
- package/dist/types.d.ts +2 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -2
- package/dist/{es5/types.js.map → types.js.map} +0 -0
- package/package.json +10 -10
- package/src/lib/parsers/helpers/parse-3d-implicit-tiles.ts +95 -31
- package/src/lib/parsers/parse-3d-tile-header.ts +3 -1
- package/src/types.ts +2 -1
- package/dist/es5/bundle.js +0 -7
- package/dist/es5/bundle.js.map +0 -1
- package/dist/es5/cesium-ion-loader.js +0 -100
- package/dist/es5/cesium-ion-loader.js.map +0 -1
- package/dist/es5/index.js +0 -72
- package/dist/es5/index.js.map +0 -1
- package/dist/es5/lib/classes/helpers/tile-3d-accessor-utils.js +0 -120
- package/dist/es5/lib/classes/helpers/tile-3d-accessor-utils.js.map +0 -1
- package/dist/es5/lib/classes/tile-3d-batch-table-hierarchy.js +0 -225
- package/dist/es5/lib/classes/tile-3d-batch-table-hierarchy.js.map +0 -1
- package/dist/es5/lib/classes/tile-3d-batch-table.js +0 -349
- package/dist/es5/lib/classes/tile-3d-batch-table.js.map +0 -1
- package/dist/es5/lib/classes/tile-3d-feature-table.js +0 -119
- package/dist/es5/lib/classes/tile-3d-feature-table.js.map +0 -1
- package/dist/es5/lib/constants.js +0 -32
- package/dist/es5/lib/constants.js.map +0 -1
- package/dist/es5/lib/encoders/encode-3d-tile-batched-model.js +0 -63
- package/dist/es5/lib/encoders/encode-3d-tile-batched-model.js.map +0 -1
- package/dist/es5/lib/encoders/encode-3d-tile-composite.js +0 -41
- package/dist/es5/lib/encoders/encode-3d-tile-composite.js.map +0 -1
- package/dist/es5/lib/encoders/encode-3d-tile-instanced-model.js +0 -57
- package/dist/es5/lib/encoders/encode-3d-tile-instanced-model.js.map +0 -1
- package/dist/es5/lib/encoders/encode-3d-tile-point-cloud.js +0 -59
- package/dist/es5/lib/encoders/encode-3d-tile-point-cloud.js.map +0 -1
- package/dist/es5/lib/encoders/encode-3d-tile.js +0 -48
- package/dist/es5/lib/encoders/encode-3d-tile.js.map +0 -1
- package/dist/es5/lib/encoders/helpers/encode-3d-tile-header.js +0 -41
- package/dist/es5/lib/encoders/helpers/encode-3d-tile-header.js.map +0 -1
- package/dist/es5/lib/ion/ion.js +0 -219
- package/dist/es5/lib/ion/ion.js.map +0 -1
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-colors.js +0 -76
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-colors.js.map +0 -1
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-normals.js +0 -40
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-normals.js.map +0 -1
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-positions.js +0 -40
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-positions.js.map +0 -1
- package/dist/es5/lib/parsers/helpers/parse-3d-implicit-tiles.js +0 -270
- package/dist/es5/lib/parsers/helpers/parse-3d-implicit-tiles.js.map +0 -1
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-gltf-view.js +0 -123
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +0 -1
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-header.js +0 -25
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-header.js.map +0 -1
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-subtree.js +0 -161
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-subtree.js.map +0 -1
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-tables.js +0 -98
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-tables.js.map +0 -1
- package/dist/es5/lib/parsers/helpers/parse-utils.js +0 -32
- package/dist/es5/lib/parsers/helpers/parse-utils.js.map +0 -1
- package/dist/es5/lib/parsers/parse-3d-tile-batched-model.js +0 -69
- package/dist/es5/lib/parsers/parse-3d-tile-batched-model.js.map +0 -1
- package/dist/es5/lib/parsers/parse-3d-tile-composite.js +0 -61
- package/dist/es5/lib/parsers/parse-3d-tile-composite.js.map +0 -1
- package/dist/es5/lib/parsers/parse-3d-tile-gltf.js +0 -45
- package/dist/es5/lib/parsers/parse-3d-tile-gltf.js.map +0 -1
- package/dist/es5/lib/parsers/parse-3d-tile-header.js +0 -233
- package/dist/es5/lib/parsers/parse-3d-tile-header.js.map +0 -1
- package/dist/es5/lib/parsers/parse-3d-tile-instanced-model.js +0 -220
- package/dist/es5/lib/parsers/parse-3d-tile-point-cloud.js +0 -346
- package/dist/es5/lib/parsers/parse-3d-tile-point-cloud.js.map +0 -1
- package/dist/es5/lib/parsers/parse-3d-tile.js +0 -100
- package/dist/es5/lib/parsers/parse-3d-tile.js.map +0 -1
- package/dist/es5/lib/utils/version.js +0 -9
- package/dist/es5/lib/utils/version.js.map +0 -1
- package/dist/es5/tile-3d-subtree-loader.js +0 -26
- package/dist/es5/tile-3d-subtree-loader.js.map +0 -1
- package/dist/es5/tile-3d-writer.js +0 -32
- package/dist/es5/tile-3d-writer.js.map +0 -1
- package/dist/es5/tiles-3d-loader.js +0 -190
- package/dist/es5/tiles-3d-loader.js.map +0 -1
- package/dist/es5/types.js +0 -2
- package/dist/esm/bundle.js +0 -5
- package/dist/esm/bundle.js.map +0 -1
- package/dist/esm/cesium-ion-loader.js +0 -36
- package/dist/esm/cesium-ion-loader.js.map +0 -1
- package/dist/esm/index.js +0 -9
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/lib/classes/helpers/tile-3d-accessor-utils.js +0 -96
- package/dist/esm/lib/classes/helpers/tile-3d-accessor-utils.js.map +0 -1
- package/dist/esm/lib/classes/tile-3d-batch-table-hierarchy.js +0 -215
- package/dist/esm/lib/classes/tile-3d-batch-table-hierarchy.js.map +0 -1
- package/dist/esm/lib/classes/tile-3d-batch-table.js +0 -304
- package/dist/esm/lib/classes/tile-3d-batch-table.js.map +0 -1
- package/dist/esm/lib/classes/tile-3d-feature-table.js +0 -94
- package/dist/esm/lib/classes/tile-3d-feature-table.js.map +0 -1
- package/dist/esm/lib/constants.js +0 -22
- package/dist/esm/lib/constants.js.map +0 -1
- package/dist/esm/lib/encoders/encode-3d-tile-batched-model.js +0 -46
- package/dist/esm/lib/encoders/encode-3d-tile-batched-model.js.map +0 -1
- package/dist/esm/lib/encoders/encode-3d-tile-composite.js +0 -25
- package/dist/esm/lib/encoders/encode-3d-tile-composite.js.map +0 -1
- package/dist/esm/lib/encoders/encode-3d-tile-instanced-model.js +0 -38
- package/dist/esm/lib/encoders/encode-3d-tile-instanced-model.js.map +0 -1
- package/dist/esm/lib/encoders/encode-3d-tile-point-cloud.js +0 -41
- package/dist/esm/lib/encoders/encode-3d-tile-point-cloud.js.map +0 -1
- package/dist/esm/lib/encoders/encode-3d-tile.js +0 -35
- package/dist/esm/lib/encoders/encode-3d-tile.js.map +0 -1
- package/dist/esm/lib/encoders/helpers/encode-3d-tile-header.js +0 -31
- package/dist/esm/lib/encoders/helpers/encode-3d-tile-header.js.map +0 -1
- package/dist/esm/lib/ion/ion.js +0 -77
- package/dist/esm/lib/ion/ion.js.map +0 -1
- package/dist/esm/lib/parsers/helpers/normalize-3d-tile-colors.js +0 -67
- package/dist/esm/lib/parsers/helpers/normalize-3d-tile-colors.js.map +0 -1
- package/dist/esm/lib/parsers/helpers/normalize-3d-tile-normals.js +0 -30
- package/dist/esm/lib/parsers/helpers/normalize-3d-tile-normals.js.map +0 -1
- package/dist/esm/lib/parsers/helpers/normalize-3d-tile-positions.js +0 -31
- package/dist/esm/lib/parsers/helpers/normalize-3d-tile-positions.js.map +0 -1
- package/dist/esm/lib/parsers/helpers/parse-3d-implicit-tiles.js +0 -173
- package/dist/esm/lib/parsers/helpers/parse-3d-implicit-tiles.js.map +0 -1
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-gltf-view.js +0 -69
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +0 -1
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-header.js +0 -17
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-header.js.map +0 -1
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-subtree.js +0 -64
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-subtree.js.map +0 -1
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-tables.js +0 -89
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-tables.js.map +0 -1
- package/dist/esm/lib/parsers/helpers/parse-utils.js +0 -19
- package/dist/esm/lib/parsers/helpers/parse-utils.js.map +0 -1
- package/dist/esm/lib/parsers/parse-3d-tile-batched-model.js +0 -29
- package/dist/esm/lib/parsers/parse-3d-tile-batched-model.js.map +0 -1
- package/dist/esm/lib/parsers/parse-3d-tile-composite.js +0 -17
- package/dist/esm/lib/parsers/parse-3d-tile-composite.js.map +0 -1
- package/dist/esm/lib/parsers/parse-3d-tile-gltf.js +0 -10
- package/dist/esm/lib/parsers/parse-3d-tile-gltf.js.map +0 -1
- package/dist/esm/lib/parsers/parse-3d-tile-header.js +0 -144
- package/dist/esm/lib/parsers/parse-3d-tile-header.js.map +0 -1
- package/dist/esm/lib/parsers/parse-3d-tile-instanced-model.js +0 -177
- package/dist/esm/lib/parsers/parse-3d-tile-instanced-model.js.map +0 -1
- package/dist/esm/lib/parsers/parse-3d-tile-point-cloud.js +0 -245
- package/dist/esm/lib/parsers/parse-3d-tile-point-cloud.js.map +0 -1
- package/dist/esm/lib/parsers/parse-3d-tile.js +0 -32
- package/dist/esm/lib/parsers/parse-3d-tile.js.map +0 -1
- package/dist/esm/lib/utils/version.js +0 -2
- package/dist/esm/lib/utils/version.js.map +0 -1
- package/dist/esm/tile-3d-subtree-loader.js +0 -14
- package/dist/esm/tile-3d-subtree-loader.js.map +0 -1
- package/dist/esm/tile-3d-writer.js +0 -20
- package/dist/esm/tile-3d-writer.js.map +0 -1
- package/dist/esm/tiles-3d-loader.js +0 -79
- package/dist/esm/tiles-3d-loader.js.map +0 -1
- package/dist/esm/types.js +0 -2
- package/dist/esm/types.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {Availability, Subtree} from '../../../types';
|
|
1
|
+
import type {Availability, BoundingVolume, Subtree} from '../../../types';
|
|
2
2
|
import {Tile3DSubtreeLoader} from '../../../tile-3d-subtree-loader';
|
|
3
3
|
import {load} from '@loaders.gl/core';
|
|
4
4
|
|
|
@@ -22,27 +22,33 @@ const SUBDIVISION_COUNT_MAP = {
|
|
|
22
22
|
* @param level
|
|
23
23
|
* @param globalData
|
|
24
24
|
*/
|
|
25
|
-
// eslint-disable-next-line max-params
|
|
26
25
|
// eslint-disable-next-line max-statements
|
|
27
|
-
export async function parseImplicitTiles(
|
|
28
|
-
subtree: Subtree
|
|
29
|
-
options: any
|
|
30
|
-
parentData
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
26
|
+
export async function parseImplicitTiles(params: {
|
|
27
|
+
subtree: Subtree;
|
|
28
|
+
options: any;
|
|
29
|
+
parentData?: {mortonIndex: number; x: number; y: number; z: number};
|
|
30
|
+
childIndex?: number;
|
|
31
|
+
level?: number;
|
|
32
|
+
globalData?: {level: number; mortonIndex: number; x: number; y: number; z: number};
|
|
33
|
+
}) {
|
|
34
|
+
const {
|
|
35
|
+
options,
|
|
36
|
+
parentData = {
|
|
37
|
+
mortonIndex: 0,
|
|
38
|
+
x: 0,
|
|
39
|
+
y: 0,
|
|
40
|
+
z: 0
|
|
41
|
+
},
|
|
42
|
+
childIndex = 0,
|
|
43
|
+
globalData = {
|
|
44
|
+
level: 0,
|
|
45
|
+
mortonIndex: 0,
|
|
46
|
+
x: 0,
|
|
47
|
+
y: 0,
|
|
48
|
+
z: 0
|
|
49
|
+
}
|
|
50
|
+
} = params;
|
|
51
|
+
let {subtree, level = 0} = params;
|
|
46
52
|
const {
|
|
47
53
|
subdivisionScheme,
|
|
48
54
|
subtreeLevels,
|
|
@@ -132,18 +138,19 @@ export async function parseImplicitTiles(
|
|
|
132
138
|
const pData = {mortonIndex: childTileMortonIndex, x: childTileX, y: childTileY, z: childTileZ};
|
|
133
139
|
|
|
134
140
|
for (let index = 0; index < childrenPerTile; index++) {
|
|
135
|
-
const currentTile = await parseImplicitTiles(
|
|
141
|
+
const currentTile = await parseImplicitTiles({
|
|
136
142
|
subtree,
|
|
137
143
|
options,
|
|
138
|
-
pData,
|
|
139
|
-
index,
|
|
140
|
-
childTileLevel,
|
|
144
|
+
parentData: pData,
|
|
145
|
+
childIndex: index,
|
|
146
|
+
level: childTileLevel,
|
|
141
147
|
globalData
|
|
142
|
-
);
|
|
148
|
+
});
|
|
143
149
|
|
|
144
150
|
if (currentTile.contentUrl || currentTile.children.length) {
|
|
145
151
|
const globalLevel = lev + 1;
|
|
146
|
-
const
|
|
152
|
+
const childCoordinates = {childTileX, childTileY, childTileZ};
|
|
153
|
+
const formattedTile = formatTileData(currentTile, globalLevel, childCoordinates, options);
|
|
147
154
|
// @ts-ignore
|
|
148
155
|
tile.children.push(formattedTile);
|
|
149
156
|
}
|
|
@@ -172,11 +179,29 @@ function getAvailabilityResult(availabilityData: Availability, index: number): b
|
|
|
172
179
|
* @param options
|
|
173
180
|
* @returns
|
|
174
181
|
*/
|
|
175
|
-
function formatTileData(
|
|
176
|
-
|
|
182
|
+
function formatTileData(
|
|
183
|
+
tile,
|
|
184
|
+
level: number,
|
|
185
|
+
childCoordinates: {childTileX: number; childTileY: number; childTileZ: number},
|
|
186
|
+
options: any
|
|
187
|
+
) {
|
|
188
|
+
const {
|
|
189
|
+
basePath,
|
|
190
|
+
refine,
|
|
191
|
+
getRefine,
|
|
192
|
+
lodMetricType,
|
|
193
|
+
getTileType,
|
|
194
|
+
rootLodMetricValue,
|
|
195
|
+
rootBoundingVolume
|
|
196
|
+
} = options;
|
|
177
197
|
const uri = tile.contentUrl && tile.contentUrl.replace(`${basePath}/`, '');
|
|
178
198
|
const lodMetricValue = rootLodMetricValue / 2 ** level;
|
|
179
|
-
|
|
199
|
+
const boundingVolume = calculateBoundingVolumeForChildTile(
|
|
200
|
+
level,
|
|
201
|
+
rootBoundingVolume,
|
|
202
|
+
childCoordinates
|
|
203
|
+
);
|
|
204
|
+
|
|
180
205
|
return {
|
|
181
206
|
children: tile.children,
|
|
182
207
|
contentUrl: tile.contentUrl,
|
|
@@ -185,7 +210,8 @@ function formatTileData(tile, level: number, options: any) {
|
|
|
185
210
|
refine: getRefine(refine),
|
|
186
211
|
type: getTileType(tile),
|
|
187
212
|
lodMetricType,
|
|
188
|
-
lodMetricValue
|
|
213
|
+
lodMetricValue,
|
|
214
|
+
boundingVolume
|
|
189
215
|
// Temp debug values. Remove when real implicit tileset will be tested.
|
|
190
216
|
// x: tile.x,
|
|
191
217
|
// y: tile.y,
|
|
@@ -194,6 +220,44 @@ function formatTileData(tile, level: number, options: any) {
|
|
|
194
220
|
};
|
|
195
221
|
}
|
|
196
222
|
|
|
223
|
+
/**
|
|
224
|
+
* Calculate child bounding volume.
|
|
225
|
+
* Spec - https://github.com/CesiumGS/3d-tiles/tree/main/extensions/3DTILES_implicit_tiling#subdivision-rules
|
|
226
|
+
* @param level
|
|
227
|
+
* @param rootBoundingVolume
|
|
228
|
+
* @param childCoordinates
|
|
229
|
+
*/
|
|
230
|
+
function calculateBoundingVolumeForChildTile(
|
|
231
|
+
level: number,
|
|
232
|
+
rootBoundingVolume: BoundingVolume,
|
|
233
|
+
childCoordinates: {childTileX: number; childTileY: number; childTileZ: number}
|
|
234
|
+
): BoundingVolume | null {
|
|
235
|
+
if (rootBoundingVolume.region) {
|
|
236
|
+
const {childTileX, childTileY, childTileZ} = childCoordinates;
|
|
237
|
+
const [west, south, east, north, minimumHeight, maximumHeight] = rootBoundingVolume.region;
|
|
238
|
+
const boundingVolumesCount = 2 ** level;
|
|
239
|
+
|
|
240
|
+
const sizeX = (east - west) / boundingVolumesCount;
|
|
241
|
+
const sizeY = (north - south) / boundingVolumesCount;
|
|
242
|
+
const sizeZ = (maximumHeight - minimumHeight) / boundingVolumesCount;
|
|
243
|
+
|
|
244
|
+
const [childWest, childEast] = [west + sizeX * childTileX, west + sizeX * (childTileX + 1)];
|
|
245
|
+
const [childSouth, childNorth] = [south + sizeY * childTileY, south + sizeY * (childTileY + 1)];
|
|
246
|
+
const [childMinimumHeight, childMaximumHeight] = [
|
|
247
|
+
minimumHeight + sizeZ * childTileZ,
|
|
248
|
+
minimumHeight + sizeZ * (childTileZ + 1)
|
|
249
|
+
];
|
|
250
|
+
|
|
251
|
+
return {
|
|
252
|
+
region: [childWest, childSouth, childEast, childNorth, childMinimumHeight, childMaximumHeight]
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
// eslint-disable-next-line no-console
|
|
257
|
+
console.warn('Unsupported bounding volume type: ', rootBoundingVolume);
|
|
258
|
+
return null;
|
|
259
|
+
}
|
|
260
|
+
|
|
197
261
|
/**
|
|
198
262
|
* Do binary concatenation
|
|
199
263
|
* @param first
|
|
@@ -100,6 +100,7 @@ export async function normalizeImplicitTileHeaders(tileset: Tileset3D) {
|
|
|
100
100
|
const refine = tileset.root.refine;
|
|
101
101
|
// @ts-ignore
|
|
102
102
|
const rootLodMetricValue = tileset.root.geometricError;
|
|
103
|
+
const rootBoundingVolume = tileset.root.boundingVolume;
|
|
103
104
|
|
|
104
105
|
const options = {
|
|
105
106
|
contentUrlTemplate,
|
|
@@ -111,6 +112,7 @@ export async function normalizeImplicitTileHeaders(tileset: Tileset3D) {
|
|
|
111
112
|
basePath,
|
|
112
113
|
lodMetricType: LOD_METRIC_TYPE.GEOMETRIC_ERROR,
|
|
113
114
|
rootLodMetricValue,
|
|
115
|
+
rootBoundingVolume,
|
|
114
116
|
getTileType,
|
|
115
117
|
getRefine
|
|
116
118
|
};
|
|
@@ -134,7 +136,7 @@ export async function normalizeImplicitTileData(tile, rootSubtree: Subtree, opti
|
|
|
134
136
|
tile.lodMetricValue = tile.geometricError;
|
|
135
137
|
tile.transformMatrix = tile.transform;
|
|
136
138
|
|
|
137
|
-
const {children, contentUrl} = await parseImplicitTiles(rootSubtree, options);
|
|
139
|
+
const {children, contentUrl} = await parseImplicitTiles({subtree: rootSubtree, options});
|
|
138
140
|
|
|
139
141
|
if (contentUrl) {
|
|
140
142
|
tile.contentUrl = contentUrl;
|
package/src/types.ts
CHANGED
package/dist/es5/bundle.js
DELETED
package/dist/es5/bundle.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/bundle.ts"],"names":["moduleExports","require","globalThis","loaders","module","exports","Object","assign"],"mappings":";;AACA,IAAMA,aAAa,GAAGC,OAAO,CAAC,SAAD,CAA7B;;AACAC,UAAU,CAACC,OAAX,GAAqBD,UAAU,CAACC,OAAX,IAAsB,EAA3C;AACAC,MAAM,CAACC,OAAP,GAAiBC,MAAM,CAACC,MAAP,CAAcL,UAAU,CAACC,OAAzB,EAAkCH,aAAlC,CAAjB","sourcesContent":["// @ts-nocheck\nconst moduleExports = require('./index');\nglobalThis.loaders = globalThis.loaders || {};\nmodule.exports = Object.assign(globalThis.loaders, moduleExports);\n"],"file":"bundle.js"}
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.CesiumIonLoader = void 0;
|
|
9
|
-
|
|
10
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
|
|
14
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
|
-
|
|
16
|
-
var _tiles3dLoader = require("./tiles-3d-loader");
|
|
17
|
-
|
|
18
|
-
var _ion = require("./lib/ion/ion");
|
|
19
|
-
|
|
20
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
21
|
-
|
|
22
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
23
|
-
|
|
24
|
-
function preload(_x) {
|
|
25
|
-
return _preload.apply(this, arguments);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
function _preload() {
|
|
29
|
-
_preload = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(url) {
|
|
30
|
-
var options,
|
|
31
|
-
_options,
|
|
32
|
-
accessToken,
|
|
33
|
-
assetId,
|
|
34
|
-
matched,
|
|
35
|
-
_args2 = arguments;
|
|
36
|
-
|
|
37
|
-
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
38
|
-
while (1) {
|
|
39
|
-
switch (_context2.prev = _context2.next) {
|
|
40
|
-
case 0:
|
|
41
|
-
options = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : {};
|
|
42
|
-
options = options['cesium-ion'] || {};
|
|
43
|
-
_options = options, accessToken = _options.accessToken;
|
|
44
|
-
assetId = options.assetId;
|
|
45
|
-
|
|
46
|
-
if (!Number.isFinite(assetId)) {
|
|
47
|
-
matched = url.match(/\/([0-9]+)\/tileset.json/);
|
|
48
|
-
assetId = matched && matched[1];
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
return _context2.abrupt("return", (0, _ion.getIonTilesetMetadata)(accessToken, assetId));
|
|
52
|
-
|
|
53
|
-
case 6:
|
|
54
|
-
case "end":
|
|
55
|
-
return _context2.stop();
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}, _callee2);
|
|
59
|
-
}));
|
|
60
|
-
return _preload.apply(this, arguments);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
var CesiumIonLoader = _objectSpread(_objectSpread({}, _tiles3dLoader.Tiles3DLoader), {}, {
|
|
64
|
-
id: 'cesium-ion',
|
|
65
|
-
name: 'Cesium Ion',
|
|
66
|
-
preload: preload,
|
|
67
|
-
parse: function () {
|
|
68
|
-
var _parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(data, options, context) {
|
|
69
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
70
|
-
while (1) {
|
|
71
|
-
switch (_context.prev = _context.next) {
|
|
72
|
-
case 0:
|
|
73
|
-
options = _objectSpread({}, options);
|
|
74
|
-
options['3d-tiles'] = options['cesium-ion'];
|
|
75
|
-
options.loader = CesiumIonLoader;
|
|
76
|
-
return _context.abrupt("return", _tiles3dLoader.Tiles3DLoader.parse(data, options, context));
|
|
77
|
-
|
|
78
|
-
case 4:
|
|
79
|
-
case "end":
|
|
80
|
-
return _context.stop();
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}, _callee);
|
|
84
|
-
}));
|
|
85
|
-
|
|
86
|
-
function parse(_x2, _x3, _x4) {
|
|
87
|
-
return _parse.apply(this, arguments);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
return parse;
|
|
91
|
-
}(),
|
|
92
|
-
options: {
|
|
93
|
-
'cesium-ion': _objectSpread(_objectSpread({}, _tiles3dLoader.Tiles3DLoader.options['3d-tiles']), {}, {
|
|
94
|
-
accessToken: null
|
|
95
|
-
})
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
|
|
99
|
-
exports.CesiumIonLoader = CesiumIonLoader;
|
|
100
|
-
//# sourceMappingURL=cesium-ion-loader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/cesium-ion-loader.ts"],"names":["preload","url","options","accessToken","assetId","Number","isFinite","matched","match","CesiumIonLoader","Tiles3DLoader","id","name","parse","data","context","loader"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;;;;;SAEeA,O;;;;;uEAAf,kBAAuBC,GAAvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAA4BC,YAAAA,OAA5B,8DAAsC,EAAtC;AACEA,YAAAA,OAAO,GAAGA,OAAO,CAAC,YAAD,CAAP,IAAyB,EAAnC;AADF,uBAGwBA,OAHxB,EAGSC,WAHT,YAGSA,WAHT;AAKMC,YAAAA,OALN,GAKgBF,OAAO,CAACE,OALxB;;AAME,gBAAI,CAACC,MAAM,CAACC,QAAP,CAAgBF,OAAhB,CAAL,EAA+B;AACvBG,cAAAA,OADuB,GACbN,GAAG,CAACO,KAAJ,CAAU,0BAAV,CADa;AAE7BJ,cAAAA,OAAO,GAAGG,OAAO,IAAIA,OAAO,CAAC,CAAD,CAA5B;AACD;;AATH,8CAUS,gCAAsBJ,WAAtB,EAAmCC,OAAnC,CAVT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;AAgBO,IAAMK,eAAiC,mCACzCC,4BADyC;AAE5CC,EAAAA,EAAE,EAAE,YAFwC;AAG5CC,EAAAA,IAAI,EAAE,YAHsC;AAK5CZ,EAAAA,OAAO,EAAPA,OAL4C;AAM5Ca,EAAAA,KAAK;AAAA,2EAAE,iBAAOC,IAAP,EAAaZ,OAAb,EAAuBa,OAAvB;AAAA;AAAA;AAAA;AAAA;AACLb,cAAAA,OAAO,qBAAOA,OAAP,CAAP;AACAA,cAAAA,OAAO,CAAC,UAAD,CAAP,GAAsBA,OAAO,CAAC,YAAD,CAA7B;AAEAA,cAAAA,OAAO,CAACc,MAAR,GAAiBP,eAAjB;AAJK,+CAKEC,6BAAcG,KAAd,CAAoBC,IAApB,EAA0BZ,OAA1B,EAAmCa,OAAnC,CALF;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAF;;AAAA;AAAA;AAAA;;AAAA;AAAA,KANuC;AAa5Cb,EAAAA,OAAO,EAAE;AACP,kDACKQ,6BAAcR,OAAd,CAAsB,UAAtB,CADL;AAEEC,MAAAA,WAAW,EAAE;AAFf;AADO;AAbmC,EAAvC","sourcesContent":["import type {LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {Tiles3DLoader} from './tiles-3d-loader';\nimport {getIonTilesetMetadata} from './lib/ion/ion';\n\nasync function preload(url, options = {}) {\n options = options['cesium-ion'] || {};\n // @ts-ignore\n const {accessToken} = options;\n // @ts-ignore\n let assetId = options.assetId;\n if (!Number.isFinite(assetId)) {\n const matched = url.match(/\\/([0-9]+)\\/tileset.json/);\n assetId = matched && matched[1];\n }\n return getIonTilesetMetadata(accessToken, assetId);\n}\n\n/**\n * Loader for 3D tiles from Cesium ION\n */\nexport const CesiumIonLoader: LoaderWithParser = {\n ...Tiles3DLoader,\n id: 'cesium-ion',\n name: 'Cesium Ion',\n // @ts-ignore\n preload,\n parse: async (data, options?, context?) => {\n options = {...options};\n options['3d-tiles'] = options['cesium-ion'];\n // @ts-ignore\n options.loader = CesiumIonLoader;\n return Tiles3DLoader.parse(data, options, context); // , loader);\n },\n options: {\n 'cesium-ion': {\n ...Tiles3DLoader.options['3d-tiles'],\n accessToken: null\n }\n }\n};\n"],"file":"cesium-ion-loader.js"}
|
package/dist/es5/index.js
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
Object.defineProperty(exports, "Tiles3DLoader", {
|
|
9
|
-
enumerable: true,
|
|
10
|
-
get: function get() {
|
|
11
|
-
return _tiles3dLoader.Tiles3DLoader;
|
|
12
|
-
}
|
|
13
|
-
});
|
|
14
|
-
Object.defineProperty(exports, "CesiumIonLoader", {
|
|
15
|
-
enumerable: true,
|
|
16
|
-
get: function get() {
|
|
17
|
-
return _cesiumIonLoader.CesiumIonLoader;
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
Object.defineProperty(exports, "Tile3DSubtreeLoader", {
|
|
21
|
-
enumerable: true,
|
|
22
|
-
get: function get() {
|
|
23
|
-
return _tile3dSubtreeLoader.Tile3DSubtreeLoader;
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
Object.defineProperty(exports, "Tile3DWriter", {
|
|
27
|
-
enumerable: true,
|
|
28
|
-
get: function get() {
|
|
29
|
-
return _tile3dWriter.Tile3DWriter;
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
Object.defineProperty(exports, "Tile3DFeatureTable", {
|
|
33
|
-
enumerable: true,
|
|
34
|
-
get: function get() {
|
|
35
|
-
return _tile3dFeatureTable.default;
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
Object.defineProperty(exports, "Tile3DBatchTable", {
|
|
39
|
-
enumerable: true,
|
|
40
|
-
get: function get() {
|
|
41
|
-
return _tile3dBatchTable.default;
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
Object.defineProperty(exports, "TILE3D_TYPE", {
|
|
45
|
-
enumerable: true,
|
|
46
|
-
get: function get() {
|
|
47
|
-
return _constants.TILE3D_TYPE;
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
Object.defineProperty(exports, "_getIonTilesetMetadata", {
|
|
51
|
-
enumerable: true,
|
|
52
|
-
get: function get() {
|
|
53
|
-
return _ion.getIonTilesetMetadata;
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
var _tiles3dLoader = require("./tiles-3d-loader");
|
|
58
|
-
|
|
59
|
-
var _cesiumIonLoader = require("./cesium-ion-loader");
|
|
60
|
-
|
|
61
|
-
var _tile3dSubtreeLoader = require("./tile-3d-subtree-loader");
|
|
62
|
-
|
|
63
|
-
var _tile3dWriter = require("./tile-3d-writer");
|
|
64
|
-
|
|
65
|
-
var _tile3dFeatureTable = _interopRequireDefault(require("./lib/classes/tile-3d-feature-table"));
|
|
66
|
-
|
|
67
|
-
var _tile3dBatchTable = _interopRequireDefault(require("./lib/classes/tile-3d-batch-table"));
|
|
68
|
-
|
|
69
|
-
var _constants = require("./lib/constants");
|
|
70
|
-
|
|
71
|
-
var _ion = require("./lib/ion/ion");
|
|
72
|
-
//# sourceMappingURL=index.js.map
|
package/dist/es5/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AAGA;;AAGA;;AACA;;AAGA;;AACA","sourcesContent":["// LOADERS\nexport {Tiles3DLoader} from './tiles-3d-loader';\nexport {CesiumIonLoader} from './cesium-ion-loader';\nexport {Tile3DSubtreeLoader} from './tile-3d-subtree-loader';\n\n// WRITERS\nexport {Tile3DWriter} from './tile-3d-writer';\n\n// CLASSES\nexport {default as Tile3DFeatureTable} from './lib/classes/tile-3d-feature-table';\nexport {default as Tile3DBatchTable} from './lib/classes/tile-3d-batch-table';\n\n// EXPERIMENTAL\nexport {TILE3D_TYPE} from './lib/constants';\nexport {getIonTilesetMetadata as _getIonTilesetMetadata} from './lib/ion/ion';\nexport type {BatchTableJson, B3DMContent, Node3D} from './types';\n"],"file":"index.js"}
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.createTypedArrayFromAccessor = createTypedArrayFromAccessor;
|
|
7
|
-
|
|
8
|
-
var _math = require("@loaders.gl/math");
|
|
9
|
-
|
|
10
|
-
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
11
|
-
|
|
12
|
-
var COMPONENTS_PER_ATTRIBUTE = {
|
|
13
|
-
SCALAR: 1,
|
|
14
|
-
VEC2: 2,
|
|
15
|
-
VEC3: 3,
|
|
16
|
-
VEC4: 4,
|
|
17
|
-
MAT2: 4,
|
|
18
|
-
MAT3: 9,
|
|
19
|
-
MAT4: 16
|
|
20
|
-
};
|
|
21
|
-
var UNPACKER = {
|
|
22
|
-
SCALAR: function SCALAR(values, i) {
|
|
23
|
-
return values[i];
|
|
24
|
-
},
|
|
25
|
-
VEC2: function VEC2(values, i) {
|
|
26
|
-
return [values[2 * i + 0], values[2 * i + 1]];
|
|
27
|
-
},
|
|
28
|
-
VEC3: function VEC3(values, i) {
|
|
29
|
-
return [values[3 * i + 0], values[3 * i + 1], values[3 * i + 2]];
|
|
30
|
-
},
|
|
31
|
-
VEC4: function VEC4(values, i) {
|
|
32
|
-
return [values[4 * i + 0], values[4 * i + 1], values[4 * i + 2], values[4 * i + 3]];
|
|
33
|
-
},
|
|
34
|
-
MAT2: function MAT2(values, i) {
|
|
35
|
-
return [values[4 * i + 0], values[4 * i + 1], values[4 * i + 2], values[4 * i + 3]];
|
|
36
|
-
},
|
|
37
|
-
MAT3: function MAT3(values, i) {
|
|
38
|
-
return [values[9 * i + 0], values[9 * i + 1], values[9 * i + 2], values[9 * i + 3], values[9 * i + 4], values[9 * i + 5], values[9 * i + 6], values[9 * i + 7], values[9 * i + 8]];
|
|
39
|
-
},
|
|
40
|
-
MAT4: function MAT4(values, i) {
|
|
41
|
-
return [values[16 * i + 0], values[16 * i + 1], values[16 * i + 2], values[16 * i + 3], values[16 * i + 4], values[16 * i + 5], values[16 * i + 6], values[16 * i + 7], values[16 * i + 8], values[16 * i + 9], values[16 * i + 10], values[16 * i + 11], values[16 * i + 12], values[16 * i + 13], values[16 * i + 14], values[16 * i + 15]];
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
var PACKER = {
|
|
45
|
-
SCALAR: function SCALAR(x, values, i) {
|
|
46
|
-
values[i] = x;
|
|
47
|
-
},
|
|
48
|
-
VEC2: function VEC2(x, values, i) {
|
|
49
|
-
values[2 * i + 0] = x[0];
|
|
50
|
-
values[2 * i + 1] = x[1];
|
|
51
|
-
},
|
|
52
|
-
VEC3: function VEC3(x, values, i) {
|
|
53
|
-
values[3 * i + 0] = x[0];
|
|
54
|
-
values[3 * i + 1] = x[1];
|
|
55
|
-
values[3 * i + 2] = x[2];
|
|
56
|
-
},
|
|
57
|
-
VEC4: function VEC4(x, values, i) {
|
|
58
|
-
values[4 * i + 0] = x[0];
|
|
59
|
-
values[4 * i + 1] = x[1];
|
|
60
|
-
values[4 * i + 2] = x[2];
|
|
61
|
-
values[4 * i + 3] = x[3];
|
|
62
|
-
},
|
|
63
|
-
MAT2: function MAT2(x, values, i) {
|
|
64
|
-
values[4 * i + 0] = x[0];
|
|
65
|
-
values[4 * i + 1] = x[1];
|
|
66
|
-
values[4 * i + 2] = x[2];
|
|
67
|
-
values[4 * i + 3] = x[3];
|
|
68
|
-
},
|
|
69
|
-
MAT3: function MAT3(x, values, i) {
|
|
70
|
-
values[9 * i + 0] = x[0];
|
|
71
|
-
values[9 * i + 1] = x[1];
|
|
72
|
-
values[9 * i + 2] = x[2];
|
|
73
|
-
values[9 * i + 3] = x[3];
|
|
74
|
-
values[9 * i + 4] = x[4];
|
|
75
|
-
values[9 * i + 5] = x[5];
|
|
76
|
-
values[9 * i + 6] = x[6];
|
|
77
|
-
values[9 * i + 7] = x[7];
|
|
78
|
-
values[9 * i + 8] = x[8];
|
|
79
|
-
values[9 * i + 9] = x[9];
|
|
80
|
-
},
|
|
81
|
-
MAT4: function MAT4(x, values, i) {
|
|
82
|
-
values[16 * i + 0] = x[0];
|
|
83
|
-
values[16 * i + 1] = x[1];
|
|
84
|
-
values[16 * i + 2] = x[2];
|
|
85
|
-
values[16 * i + 3] = x[3];
|
|
86
|
-
values[16 * i + 4] = x[4];
|
|
87
|
-
values[16 * i + 5] = x[5];
|
|
88
|
-
values[16 * i + 6] = x[6];
|
|
89
|
-
values[16 * i + 7] = x[7];
|
|
90
|
-
values[16 * i + 8] = x[8];
|
|
91
|
-
values[16 * i + 9] = x[9];
|
|
92
|
-
values[16 * i + 10] = x[10];
|
|
93
|
-
values[16 * i + 11] = x[11];
|
|
94
|
-
values[16 * i + 12] = x[12];
|
|
95
|
-
values[16 * i + 13] = x[13];
|
|
96
|
-
values[16 * i + 14] = x[14];
|
|
97
|
-
values[16 * i + 15] = x[15];
|
|
98
|
-
}
|
|
99
|
-
};
|
|
100
|
-
|
|
101
|
-
function createTypedArrayFromAccessor(tile3DAccessor, buffer, byteOffset, length) {
|
|
102
|
-
var componentType = tile3DAccessor.componentType;
|
|
103
|
-
(0, _loaderUtils.assert)(tile3DAccessor.componentType);
|
|
104
|
-
var type = typeof componentType === 'string' ? _math.GLType.fromName(componentType) : componentType;
|
|
105
|
-
var size = COMPONENTS_PER_ATTRIBUTE[tile3DAccessor.type];
|
|
106
|
-
var unpacker = UNPACKER[tile3DAccessor.type];
|
|
107
|
-
var packer = PACKER[tile3DAccessor.type];
|
|
108
|
-
byteOffset += tile3DAccessor.byteOffset;
|
|
109
|
-
|
|
110
|
-
var values = _math.GLType.createTypedArray(type, buffer, byteOffset, size * length);
|
|
111
|
-
|
|
112
|
-
return {
|
|
113
|
-
values: values,
|
|
114
|
-
type: type,
|
|
115
|
-
size: size,
|
|
116
|
-
unpacker: unpacker,
|
|
117
|
-
packer: packer
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
//# sourceMappingURL=tile-3d-accessor-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/lib/classes/helpers/tile-3d-accessor-utils.ts"],"names":["COMPONENTS_PER_ATTRIBUTE","SCALAR","VEC2","VEC3","VEC4","MAT2","MAT3","MAT4","UNPACKER","values","i","PACKER","x","createTypedArrayFromAccessor","tile3DAccessor","buffer","byteOffset","length","componentType","type","GLType","fromName","size","unpacker","packer","createTypedArray"],"mappings":"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","sourcesContent":["import {GLType} from '@loaders.gl/math'; // '@math.gl/geometry';\nimport {assert} from '@loaders.gl/loader-utils';\n\nconst COMPONENTS_PER_ATTRIBUTE = {\n SCALAR: 1,\n VEC2: 2,\n VEC3: 3,\n VEC4: 4,\n MAT2: 4,\n MAT3: 9,\n MAT4: 16\n};\n\n// TODO - could just return typed array views...\n// prettier-ignore\nconst UNPACKER = {\n SCALAR: (values, i) => values[i],\n VEC2: (values, i) => [values[2 * i + 0], values[2 * i + 1]],\n VEC3: (values, i) => [values[3 * i + 0], values[3 * i + 1], values[3 * i + 2]],\n VEC4: (values, i) => [values[4 * i + 0], values[4 * i + 1], values[4 * i + 2], values[4 * i + 3]],\n // TODO: check column major\n MAT2: (values, i) => [\n values[4 * i + 0], values[4 * i + 1],\n values[4 * i + 2], values[4 * i + 3]\n ],\n MAT3: (values, i) => [\n values[9 * i + 0], values[9 * i + 1], values[9 * i + 2],\n values[9 * i + 3], values[9 * i + 4], values[9 * i + 5],\n values[9 * i + 6], values[9 * i + 7], values[9 * i + 8]\n ],\n MAT4: (values, i) => [\n values[16 * i + 0], values[16 * i + 1], values[16 * i + 2], values[16 * i + 3],\n values[16 * i + 4], values[16 * i + 5], values[16 * i + 6], values[16 * i + 7],\n values[16 * i + 8], values[16 * i + 9], values[16 * i + 10], values[16 * i + 11],\n values[16 * i + 12], values[16 * i + 13], values[16 * i + 14], values[16 * i + 15]\n ]\n};\n\nconst PACKER = {\n SCALAR: (x, values, i) => {\n values[i] = x;\n },\n VEC2: (x, values, i) => {\n values[2 * i + 0] = x[0];\n values[2 * i + 1] = x[1];\n },\n VEC3: (x, values, i) => {\n values[3 * i + 0] = x[0];\n values[3 * i + 1] = x[1];\n values[3 * i + 2] = x[2];\n },\n VEC4: (x, values, i) => {\n values[4 * i + 0] = x[0];\n values[4 * i + 1] = x[1];\n values[4 * i + 2] = x[2];\n values[4 * i + 3] = x[3];\n },\n // TODO: check column major correctness\n MAT2: (x, values, i) => {\n values[4 * i + 0] = x[0];\n values[4 * i + 1] = x[1];\n values[4 * i + 2] = x[2];\n values[4 * i + 3] = x[3];\n },\n MAT3: (x, values, i) => {\n values[9 * i + 0] = x[0];\n values[9 * i + 1] = x[1];\n values[9 * i + 2] = x[2];\n values[9 * i + 3] = x[3];\n values[9 * i + 4] = x[4];\n values[9 * i + 5] = x[5];\n values[9 * i + 6] = x[6];\n values[9 * i + 7] = x[7];\n values[9 * i + 8] = x[8];\n values[9 * i + 9] = x[9];\n },\n MAT4: (x, values, i) => {\n values[16 * i + 0] = x[0];\n values[16 * i + 1] = x[1];\n values[16 * i + 2] = x[2];\n values[16 * i + 3] = x[3];\n values[16 * i + 4] = x[4];\n values[16 * i + 5] = x[5];\n values[16 * i + 6] = x[6];\n values[16 * i + 7] = x[7];\n values[16 * i + 8] = x[8];\n values[16 * i + 9] = x[9];\n values[16 * i + 10] = x[10];\n values[16 * i + 11] = x[11];\n values[16 * i + 12] = x[12];\n values[16 * i + 13] = x[13];\n values[16 * i + 14] = x[14];\n values[16 * i + 15] = x[15];\n }\n};\n\nexport function createTypedArrayFromAccessor(tile3DAccessor, buffer, byteOffset, length) {\n const {componentType} = tile3DAccessor;\n assert(tile3DAccessor.componentType);\n const type = typeof componentType === 'string' ? GLType.fromName(componentType) : componentType;\n const size = COMPONENTS_PER_ATTRIBUTE[tile3DAccessor.type];\n const unpacker = UNPACKER[tile3DAccessor.type];\n const packer = PACKER[tile3DAccessor.type];\n\n byteOffset += tile3DAccessor.byteOffset;\n const values = GLType.createTypedArray(type, buffer, byteOffset, size * length);\n\n return {\n values,\n type,\n size,\n unpacker,\n packer\n };\n}\n"],"file":"tile-3d-accessor-utils.js"}
|