@xeokit/xeokit-sdk 2.4.0-alpha-64 → 2.4.0-alpha-65
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/xeokit-sdk.cjs.js +66 -42
- package/dist/xeokit-sdk.es.js +66 -42
- package/dist/xeokit-sdk.es5.js +30 -30
- package/dist/xeokit-sdk.min.cjs.js +1 -1
- package/dist/xeokit-sdk.min.es.js +1 -1
- package/dist/xeokit-sdk.min.es5.js +1 -1
- package/package.json +1 -1
package/dist/xeokit-sdk.es.js
CHANGED
|
@@ -118095,6 +118095,8 @@ function inflate$9(deflatedData) {
|
|
|
118095
118095
|
|
|
118096
118096
|
function load$9(viewer, options, inflatedData, sceneModel, metaModel, manifestCtx) {
|
|
118097
118097
|
|
|
118098
|
+
manifestCtx.getNextId();
|
|
118099
|
+
|
|
118098
118100
|
sceneModel.positionsCompression = "precompressed";
|
|
118099
118101
|
sceneModel.normalsCompression = "precompressed";
|
|
118100
118102
|
|
|
@@ -118192,7 +118194,7 @@ const ParserV1 = {
|
|
|
118192
118194
|
parse: function (viewer, options, elements, sceneModel, metaModel, manifestCtx) {
|
|
118193
118195
|
const deflatedData = extract$9(elements);
|
|
118194
118196
|
const inflatedData = inflate$9(deflatedData);
|
|
118195
|
-
load$9(viewer, options, inflatedData, sceneModel);
|
|
118197
|
+
load$9(viewer, options, inflatedData, sceneModel, metaModel, manifestCtx);
|
|
118196
118198
|
}
|
|
118197
118199
|
};
|
|
118198
118200
|
|
|
@@ -118272,6 +118274,8 @@ const decompressColor$8 = (function () {
|
|
|
118272
118274
|
|
|
118273
118275
|
function load$8(viewer, options, inflatedData, sceneModel, metaModel, manifestCtx) {
|
|
118274
118276
|
|
|
118277
|
+
const modelPartId = manifestCtx.getNextId();
|
|
118278
|
+
|
|
118275
118279
|
sceneModel.positionsCompression = "precompressed";
|
|
118276
118280
|
sceneModel.normalsCompression = "precompressed";
|
|
118277
118281
|
|
|
@@ -118341,7 +118345,7 @@ function load$8(viewer, options, inflatedData, sceneModel, metaModel, manifestCt
|
|
|
118341
118345
|
const jj = entityMeshIds [j];
|
|
118342
118346
|
|
|
118343
118347
|
const lastMesh = (jj === (numMeshes - 1));
|
|
118344
|
-
const meshId = manifestCtx.
|
|
118348
|
+
const meshId = manifestCtx.getNextId();
|
|
118345
118349
|
|
|
118346
118350
|
const color = decompressColor$8(meshColors.subarray((jj * 4), (jj * 4) + 3));
|
|
118347
118351
|
const opacity = meshColors[(jj * 4) + 3] / 255.0;
|
|
@@ -118353,7 +118357,7 @@ function load$8(viewer, options, inflatedData, sceneModel, metaModel, manifestCt
|
|
|
118353
118357
|
|
|
118354
118358
|
if (entityUsesInstancing [i] === 1) {
|
|
118355
118359
|
|
|
118356
|
-
const geometryId =
|
|
118360
|
+
const geometryId = `${modelPartId}.geometry.${meshId}.${jj}`;
|
|
118357
118361
|
|
|
118358
118362
|
if (!(geometryId in alreadyCreatedGeometries)) {
|
|
118359
118363
|
|
|
@@ -118375,7 +118379,7 @@ function load$8(viewer, options, inflatedData, sceneModel, metaModel, manifestCt
|
|
|
118375
118379
|
color: color,
|
|
118376
118380
|
opacity: opacity,
|
|
118377
118381
|
matrix: entityMatrix,
|
|
118378
|
-
geometryId
|
|
118382
|
+
geometryId,
|
|
118379
118383
|
}));
|
|
118380
118384
|
|
|
118381
118385
|
meshIds.push(meshId);
|
|
@@ -118486,6 +118490,8 @@ const decompressColor$7 = (function () {
|
|
|
118486
118490
|
|
|
118487
118491
|
function load$7(viewer, options, inflatedData, sceneModel, metaModel, manifestCtx) {
|
|
118488
118492
|
|
|
118493
|
+
const modelPartId = manifestCtx.getNextId();
|
|
118494
|
+
|
|
118489
118495
|
sceneModel.positionsCompression = "precompressed";
|
|
118490
118496
|
sceneModel.normalsCompression = "precompressed";
|
|
118491
118497
|
|
|
@@ -118558,7 +118564,7 @@ function load$7(viewer, options, inflatedData, sceneModel, metaModel, manifestCt
|
|
|
118558
118564
|
var jj = entityMeshIds [j];
|
|
118559
118565
|
|
|
118560
118566
|
const lastMesh = (jj === (numMeshes - 1));
|
|
118561
|
-
const meshId = entityId
|
|
118567
|
+
const meshId = `${modelPartId}.${entityId}.mesh.${jj}`;
|
|
118562
118568
|
|
|
118563
118569
|
const color = decompressColor$7(meshColors.subarray((jj * 4), (jj * 4) + 3));
|
|
118564
118570
|
const opacity = meshColors[(jj * 4) + 3] / 255.0;
|
|
@@ -118569,7 +118575,8 @@ function load$7(viewer, options, inflatedData, sceneModel, metaModel, manifestCt
|
|
|
118569
118575
|
var tmpEdgeIndices = edgeIndices.subarray(meshEdgesIndices [jj], lastMesh ? edgeIndices.length : meshEdgesIndices [jj + 1]);
|
|
118570
118576
|
|
|
118571
118577
|
if (entityUsesInstancing [i] === 1) {
|
|
118572
|
-
|
|
118578
|
+
|
|
118579
|
+
const geometryId = `${modelPartId}.geometry.${meshId}.${jj}`;
|
|
118573
118580
|
|
|
118574
118581
|
if (!(geometryId in _alreadyCreatedGeometries)) {
|
|
118575
118582
|
|
|
@@ -118591,7 +118598,7 @@ function load$7(viewer, options, inflatedData, sceneModel, metaModel, manifestCt
|
|
|
118591
118598
|
color: color,
|
|
118592
118599
|
opacity: opacity,
|
|
118593
118600
|
matrix: entityMatrix,
|
|
118594
|
-
geometryId
|
|
118601
|
+
geometryId,
|
|
118595
118602
|
}));
|
|
118596
118603
|
|
|
118597
118604
|
meshIds.push(meshId);
|
|
@@ -118630,7 +118637,7 @@ const ParserV3 = {
|
|
|
118630
118637
|
parse: function (viewer, options, elements, sceneModel, metaModel, manifestCtx) {
|
|
118631
118638
|
const deflatedData = extract$7(elements);
|
|
118632
118639
|
const inflatedData = inflate$7(deflatedData);
|
|
118633
|
-
load$7(viewer, options, inflatedData, sceneModel);
|
|
118640
|
+
load$7(viewer, options, inflatedData, sceneModel, metaModel, manifestCtx);
|
|
118634
118641
|
}
|
|
118635
118642
|
};
|
|
118636
118643
|
|
|
@@ -118700,6 +118707,8 @@ const decompressColor$6 = (function () {
|
|
|
118700
118707
|
|
|
118701
118708
|
function load$6(viewer, options, inflatedData, sceneModel, metaModel, manifestCtx) {
|
|
118702
118709
|
|
|
118710
|
+
const modelPartId = manifestCtx.getNextId();
|
|
118711
|
+
|
|
118703
118712
|
sceneModel.positionsCompression = "precompressed";
|
|
118704
118713
|
sceneModel.normalsCompression = "precompressed";
|
|
118705
118714
|
|
|
@@ -118805,7 +118814,7 @@ function load$6(viewer, options, inflatedData, sceneModel, metaModel, manifestCt
|
|
|
118805
118814
|
|
|
118806
118815
|
// Primitive instanced by more than one entity, and has positions in Model-space
|
|
118807
118816
|
|
|
118808
|
-
|
|
118817
|
+
const geometryId = `${modelPartId}-geometry.${orderedPrimitiveIndex}`; // These IDs are local to the SceneModel
|
|
118809
118818
|
|
|
118810
118819
|
sceneModel.createGeometry({
|
|
118811
118820
|
id: geometryId,
|
|
@@ -118821,7 +118830,7 @@ function load$6(viewer, options, inflatedData, sceneModel, metaModel, manifestCt
|
|
|
118821
118830
|
|
|
118822
118831
|
// Primitive is used only by one entity, and has positions pre-transformed into World-space
|
|
118823
118832
|
|
|
118824
|
-
const meshId = orderedPrimitiveIndex
|
|
118833
|
+
const meshId = `${modelPartId}-${orderedPrimitiveIndex}`;
|
|
118825
118834
|
|
|
118826
118835
|
const entityIndex = batchedPrimitiveEntityIndexes[orderedPrimitiveIndex];
|
|
118827
118836
|
eachEntityId[entityIndex];
|
|
@@ -118864,8 +118873,9 @@ function load$6(viewer, options, inflatedData, sceneModel, metaModel, manifestCt
|
|
|
118864
118873
|
|
|
118865
118874
|
const meshDefaults = {}; // TODO: get from lookup from entity IDs
|
|
118866
118875
|
|
|
118867
|
-
const meshId =
|
|
118868
|
-
const geometryId =
|
|
118876
|
+
const meshId = `${modelPartId}-instance.${countInstances++}`;
|
|
118877
|
+
const geometryId = `${modelPartId}-geometry.${primitiveIndex}`; // These IDs are local to the SceneModel
|
|
118878
|
+
|
|
118869
118879
|
const matricesIndex = (eachEntityMatricesPortion [entityIndex]) * 16;
|
|
118870
118880
|
const matrix = matrices.subarray(matricesIndex, matricesIndex + 16);
|
|
118871
118881
|
|
|
@@ -118901,7 +118911,7 @@ const ParserV4 = {
|
|
|
118901
118911
|
parse: function (viewer, options, elements, sceneModel, metaModel, manifestCtx) {
|
|
118902
118912
|
const deflatedData = extract$6(elements);
|
|
118903
118913
|
const inflatedData = inflate$6(deflatedData);
|
|
118904
|
-
load$6(viewer, options, inflatedData, sceneModel);
|
|
118914
|
+
load$6(viewer, options, inflatedData, sceneModel, metaModel, manifestCtx);
|
|
118905
118915
|
}
|
|
118906
118916
|
};
|
|
118907
118917
|
|
|
@@ -118966,6 +118976,8 @@ const decompressColor$5 = (function () {
|
|
|
118966
118976
|
|
|
118967
118977
|
function load$5(viewer, options, inflatedData, sceneModel, metaModel, manifestCtx) {
|
|
118968
118978
|
|
|
118979
|
+
const modelPartId = manifestCtx.getNextId();
|
|
118980
|
+
|
|
118969
118981
|
sceneModel.positionsCompression = "disabled"; // Positions in XKT V4 are floats, which we never quantize, for precision with big models
|
|
118970
118982
|
sceneModel.normalsCompression = "precompressed"; // Normals are oct-encoded though
|
|
118971
118983
|
|
|
@@ -119043,7 +119055,7 @@ function load$5(viewer, options, inflatedData, sceneModel, metaModel, manifestCt
|
|
|
119043
119055
|
|
|
119044
119056
|
// Primitive instanced by more than one entity, and has positions in Model-space
|
|
119045
119057
|
|
|
119046
|
-
|
|
119058
|
+
const geometryId = `${modelPartId}-geometry.${primitiveIndex}`; // These IDs are local to the SceneModel
|
|
119047
119059
|
|
|
119048
119060
|
sceneModel.createGeometry({
|
|
119049
119061
|
id: geometryId,
|
|
@@ -119137,7 +119149,7 @@ const ParserV5 = {
|
|
|
119137
119149
|
parse: function (viewer, options, elements, sceneModel, metaModel, manifestCtx) {
|
|
119138
119150
|
const deflatedData = extract$5(elements);
|
|
119139
119151
|
const inflatedData = inflate$5(deflatedData);
|
|
119140
|
-
load$5(viewer, options, inflatedData, sceneModel);
|
|
119152
|
+
load$5(viewer, options, inflatedData, sceneModel, metaModel, manifestCtx);
|
|
119141
119153
|
}
|
|
119142
119154
|
};
|
|
119143
119155
|
|
|
@@ -119212,6 +119224,8 @@ const decompressColor$4 = (function () {
|
|
|
119212
119224
|
|
|
119213
119225
|
function load$4(viewer, options, inflatedData, sceneModel, metaModel, manifestCtx) {
|
|
119214
119226
|
|
|
119227
|
+
const modelPartId = manifestCtx.getNextId();
|
|
119228
|
+
|
|
119215
119229
|
const positions = inflatedData.positions;
|
|
119216
119230
|
const normals = inflatedData.normals;
|
|
119217
119231
|
const indices = inflatedData.indices;
|
|
@@ -119359,13 +119373,13 @@ function load$4(viewer, options, inflatedData, sceneModel, metaModel, manifestCt
|
|
|
119359
119373
|
const color = decompressColor$4(eachPrimitiveColorAndOpacity.subarray((primitiveIndex * 4), (primitiveIndex * 4) + 3));
|
|
119360
119374
|
const opacity = eachPrimitiveColorAndOpacity[(primitiveIndex * 4) + 3] / 255.0;
|
|
119361
119375
|
|
|
119362
|
-
const meshId = manifestCtx.
|
|
119376
|
+
const meshId = manifestCtx.getNextId();
|
|
119363
119377
|
|
|
119364
119378
|
if (isReusedPrimitive) {
|
|
119365
119379
|
|
|
119366
119380
|
// Create mesh for multi-use primitive - create (or reuse) geometry, create mesh using that geometry
|
|
119367
119381
|
|
|
119368
|
-
const geometryId =
|
|
119382
|
+
const geometryId = `${modelPartId}-geometry.${tileIndex}.${primitiveIndex}`; // These IDs are local to the SceneModel
|
|
119369
119383
|
|
|
119370
119384
|
if (!geometryCreated[geometryId]) {
|
|
119371
119385
|
|
|
@@ -119551,6 +119565,8 @@ function convertColorsRGBToRGBA$1(colorsRGB) {
|
|
|
119551
119565
|
|
|
119552
119566
|
function load$3(viewer, options, inflatedData, sceneModel, metaModel, manifestCtx) {
|
|
119553
119567
|
|
|
119568
|
+
const modelPartId = manifestCtx.getNextId();
|
|
119569
|
+
|
|
119554
119570
|
const positions = inflatedData.positions;
|
|
119555
119571
|
const normals = inflatedData.normals;
|
|
119556
119572
|
const colors = inflatedData.colors;
|
|
@@ -119703,7 +119719,7 @@ function load$3(viewer, options, inflatedData, sceneModel, metaModel, manifestCt
|
|
|
119703
119719
|
const meshMetallic = eachMeshMaterial[(meshIndex * 6) + 4] / 255.0;
|
|
119704
119720
|
const meshRoughness = eachMeshMaterial[(meshIndex * 6) + 5] / 255.0;
|
|
119705
119721
|
|
|
119706
|
-
const meshId = manifestCtx.
|
|
119722
|
+
const meshId = manifestCtx.getNextId();
|
|
119707
119723
|
|
|
119708
119724
|
if (isReusedGeometry) {
|
|
119709
119725
|
|
|
@@ -119712,7 +119728,7 @@ function load$3(viewer, options, inflatedData, sceneModel, metaModel, manifestCt
|
|
|
119712
119728
|
const meshMatrixIndex = eachMeshMatricesPortion[meshIndex];
|
|
119713
119729
|
const meshMatrix = matrices.slice(meshMatrixIndex, meshMatrixIndex + 16);
|
|
119714
119730
|
|
|
119715
|
-
const geometryId =
|
|
119731
|
+
const geometryId = `${modelPartId}-geometry.${tileIndex}.${geometryIndex}`; // These IDs are local to the SceneModel
|
|
119716
119732
|
|
|
119717
119733
|
if (!geometryCreated[geometryId]) {
|
|
119718
119734
|
|
|
@@ -119990,6 +120006,8 @@ function convertColorsRGBToRGBA(colorsRGB) {
|
|
|
119990
120006
|
|
|
119991
120007
|
function load$2(viewer, options, inflatedData, sceneModel, metaModel, manifestCtx) {
|
|
119992
120008
|
|
|
120009
|
+
const modelPartId = manifestCtx.getNextId();
|
|
120010
|
+
|
|
119993
120011
|
const types = JSON.parse(inflatedData.types);
|
|
119994
120012
|
const eachMetaObjectId = JSON.parse(inflatedData.eachMetaObjectId);
|
|
119995
120013
|
const eachMetaObjectType = inflatedData.eachMetaObjectType;
|
|
@@ -120177,7 +120195,7 @@ function load$2(viewer, options, inflatedData, sceneModel, metaModel, manifestCt
|
|
|
120177
120195
|
const meshMetallic = eachMeshMaterial[(meshIndex * 6) + 4] / 255.0;
|
|
120178
120196
|
const meshRoughness = eachMeshMaterial[(meshIndex * 6) + 5] / 255.0;
|
|
120179
120197
|
|
|
120180
|
-
const meshId = manifestCtx.
|
|
120198
|
+
const meshId = manifestCtx.getNextId();
|
|
120181
120199
|
|
|
120182
120200
|
if (isReusedGeometry) {
|
|
120183
120201
|
|
|
@@ -120186,7 +120204,7 @@ function load$2(viewer, options, inflatedData, sceneModel, metaModel, manifestCt
|
|
|
120186
120204
|
const meshMatrixIndex = eachMeshMatricesPortion[meshIndex];
|
|
120187
120205
|
const meshMatrix = matrices.slice(meshMatrixIndex, meshMatrixIndex + 16);
|
|
120188
120206
|
|
|
120189
|
-
|
|
120207
|
+
const geometryId = `${modelPartId}-geometry.${tileIndex}.${geometryIndex}`; // These IDs are local to the SceneModel
|
|
120190
120208
|
|
|
120191
120209
|
let geometryArrays = geometryArraysCache[geometryId];
|
|
120192
120210
|
|
|
@@ -120521,6 +120539,8 @@ const decompressColor$1 = (function () {
|
|
|
120521
120539
|
|
|
120522
120540
|
function load$1(viewer, options, inflatedData, sceneModel, metaModel, manifestCtx) {
|
|
120523
120541
|
|
|
120542
|
+
const modelPartId = manifestCtx.getNextId();
|
|
120543
|
+
|
|
120524
120544
|
const metadata = inflatedData.metadata;
|
|
120525
120545
|
|
|
120526
120546
|
const positions = inflatedData.positions;
|
|
@@ -120680,7 +120700,7 @@ function load$1(viewer, options, inflatedData, sceneModel, metaModel, manifestCt
|
|
|
120680
120700
|
const meshMetallic = eachMeshMaterial[(meshIndex * 6) + 4] / 255.0;
|
|
120681
120701
|
const meshRoughness = eachMeshMaterial[(meshIndex * 6) + 5] / 255.0;
|
|
120682
120702
|
|
|
120683
|
-
const meshId = manifestCtx.
|
|
120703
|
+
const meshId = manifestCtx.getNextId();
|
|
120684
120704
|
|
|
120685
120705
|
if (isReusedGeometry) {
|
|
120686
120706
|
|
|
@@ -120689,7 +120709,7 @@ function load$1(viewer, options, inflatedData, sceneModel, metaModel, manifestCt
|
|
|
120689
120709
|
const meshMatrixIndex = eachMeshMatricesPortion[meshIndex];
|
|
120690
120710
|
const meshMatrix = matrices.slice(meshMatrixIndex, meshMatrixIndex + 16);
|
|
120691
120711
|
|
|
120692
|
-
const geometryId =
|
|
120712
|
+
const geometryId = `${modelPartId}-geometry.${tileIndex}.${geometryIndex}`; // These IDs are local to the SceneModel
|
|
120693
120713
|
|
|
120694
120714
|
let geometryArrays = geometryArraysCache[geometryId];
|
|
120695
120715
|
|
|
@@ -121025,6 +121045,8 @@ const decompressColor = (function () {
|
|
|
121025
121045
|
|
|
121026
121046
|
function load(viewer, options, inflatedData, sceneModel, metaModel, manifestCtx) {
|
|
121027
121047
|
|
|
121048
|
+
const modelPartId = manifestCtx.getNextId();
|
|
121049
|
+
|
|
121028
121050
|
const metadata = inflatedData.metadata;
|
|
121029
121051
|
const textureData = inflatedData.textureData;
|
|
121030
121052
|
const eachTextureDataPortion = inflatedData.eachTextureDataPortion;
|
|
@@ -121091,7 +121113,7 @@ function load(viewer, options, inflatedData, sceneModel, metaModel, manifestCtx)
|
|
|
121091
121113
|
|
|
121092
121114
|
const imageDataSubarray = new Uint8Array(textureData.subarray(textureDataPortionStart, textureDataPortionEnd));
|
|
121093
121115
|
const arrayBuffer = imageDataSubarray.buffer;
|
|
121094
|
-
const textureId =
|
|
121116
|
+
const textureId = `${modelPartId}-texture-${textureIndex}`;
|
|
121095
121117
|
|
|
121096
121118
|
if (compressed) {
|
|
121097
121119
|
|
|
@@ -121132,7 +121154,7 @@ function load(viewer, options, inflatedData, sceneModel, metaModel, manifestCtx)
|
|
|
121132
121154
|
|
|
121133
121155
|
for (let textureSetIndex = 0; textureSetIndex < numTextureSets; textureSetIndex++) {
|
|
121134
121156
|
const eachTextureSetTexturesIndex = textureSetIndex * 5;
|
|
121135
|
-
const textureSetId =
|
|
121157
|
+
const textureSetId = `${modelPartId}-textureSet-${textureSetIndex}`;
|
|
121136
121158
|
const colorTextureIndex = eachTextureSetTextures[eachTextureSetTexturesIndex + 0];
|
|
121137
121159
|
const metallicRoughnessTextureIndex = eachTextureSetTextures[eachTextureSetTexturesIndex + 1];
|
|
121138
121160
|
const normalsTextureIndex = eachTextureSetTextures[eachTextureSetTexturesIndex + 2];
|
|
@@ -121140,11 +121162,11 @@ function load(viewer, options, inflatedData, sceneModel, metaModel, manifestCtx)
|
|
|
121140
121162
|
const occlusionTextureIndex = eachTextureSetTextures[eachTextureSetTexturesIndex + 4];
|
|
121141
121163
|
sceneModel.createTextureSet({
|
|
121142
121164
|
id: textureSetId,
|
|
121143
|
-
colorTextureId: colorTextureIndex >= 0 ?
|
|
121144
|
-
normalsTextureId: normalsTextureIndex >= 0 ?
|
|
121145
|
-
metallicRoughnessTextureId: metallicRoughnessTextureIndex >= 0 ?
|
|
121146
|
-
emissiveTextureId: emissiveTextureIndex >= 0 ?
|
|
121147
|
-
occlusionTextureId: occlusionTextureIndex >= 0 ?
|
|
121165
|
+
colorTextureId: colorTextureIndex >= 0 ? `${modelPartId}-texture-${colorTextureIndex}` : null,
|
|
121166
|
+
normalsTextureId: normalsTextureIndex >= 0 ? `${modelPartId}-texture-${normalsTextureIndex}` : null,
|
|
121167
|
+
metallicRoughnessTextureId: metallicRoughnessTextureIndex >= 0 ? `${modelPartId}-texture-${metallicRoughnessTextureIndex}` : null,
|
|
121168
|
+
emissiveTextureId: emissiveTextureIndex >= 0 ? `${modelPartId}-texture-${emissiveTextureIndex}` : null,
|
|
121169
|
+
occlusionTextureId: occlusionTextureIndex >= 0 ? `${modelPartId}-texture-${occlusionTextureIndex}` : null
|
|
121148
121170
|
});
|
|
121149
121171
|
}
|
|
121150
121172
|
|
|
@@ -121267,14 +121289,14 @@ function load(viewer, options, inflatedData, sceneModel, metaModel, manifestCtx)
|
|
|
121267
121289
|
|
|
121268
121290
|
const textureSetIndex = eachMeshTextureSet[meshIndex];
|
|
121269
121291
|
|
|
121270
|
-
const textureSetId = (textureSetIndex >= 0) ?
|
|
121292
|
+
const textureSetId = (textureSetIndex >= 0) ? `${modelPartId}-textureSet-${textureSetIndex}` : null;
|
|
121271
121293
|
|
|
121272
121294
|
const meshColor = decompressColor(eachMeshMaterialAttributes.subarray((meshIndex * 6), (meshIndex * 6) + 3));
|
|
121273
121295
|
const meshOpacity = eachMeshMaterialAttributes[(meshIndex * 6) + 3] / 255.0;
|
|
121274
121296
|
const meshMetallic = eachMeshMaterialAttributes[(meshIndex * 6) + 4] / 255.0;
|
|
121275
121297
|
const meshRoughness = eachMeshMaterialAttributes[(meshIndex * 6) + 5] / 255.0;
|
|
121276
121298
|
|
|
121277
|
-
const meshId = manifestCtx.
|
|
121299
|
+
const meshId = manifestCtx.getNextId();
|
|
121278
121300
|
|
|
121279
121301
|
if (isReusedGeometry) {
|
|
121280
121302
|
|
|
@@ -121283,7 +121305,7 @@ function load(viewer, options, inflatedData, sceneModel, metaModel, manifestCtx)
|
|
|
121283
121305
|
const meshMatrixIndex = eachMeshMatricesPortion[meshIndex];
|
|
121284
121306
|
const meshMatrix = matrices.slice(meshMatrixIndex, meshMatrixIndex + 16);
|
|
121285
121307
|
|
|
121286
|
-
const geometryId =
|
|
121308
|
+
const geometryId = `${modelPartId}-geometry.${tileIndex}.${geometryIndex}`; // These IDs are local to the SceneModel
|
|
121287
121309
|
|
|
121288
121310
|
let geometryArrays = geometryArraysCache[geometryId];
|
|
121289
121311
|
|
|
@@ -121382,7 +121404,7 @@ function load(viewer, options, inflatedData, sceneModel, metaModel, manifestCtx)
|
|
|
121382
121404
|
|
|
121383
121405
|
sceneModel.createMesh(utils.apply(meshDefaults, {
|
|
121384
121406
|
id: meshId,
|
|
121385
|
-
textureSetId
|
|
121407
|
+
textureSetId,
|
|
121386
121408
|
origin: tileCenter,
|
|
121387
121409
|
primitive: geometryArrays.primitiveName,
|
|
121388
121410
|
positionsCompressed: transformedAndRecompressedPositions,
|
|
@@ -121421,8 +121443,8 @@ function load(viewer, options, inflatedData, sceneModel, metaModel, manifestCtx)
|
|
|
121421
121443
|
|
|
121422
121444
|
sceneModel.createMesh(utils.apply(meshDefaults, {
|
|
121423
121445
|
id: meshId,
|
|
121424
|
-
geometryId
|
|
121425
|
-
textureSetId
|
|
121446
|
+
geometryId,
|
|
121447
|
+
textureSetId,
|
|
121426
121448
|
matrix: meshMatrix,
|
|
121427
121449
|
color: meshColor,
|
|
121428
121450
|
metallic: meshMetallic,
|
|
@@ -121497,7 +121519,7 @@ function load(viewer, options, inflatedData, sceneModel, metaModel, manifestCtx)
|
|
|
121497
121519
|
|
|
121498
121520
|
sceneModel.createMesh(utils.apply(meshDefaults, {
|
|
121499
121521
|
id: meshId,
|
|
121500
|
-
textureSetId
|
|
121522
|
+
textureSetId,
|
|
121501
121523
|
origin: tileCenter,
|
|
121502
121524
|
primitive: primitiveName,
|
|
121503
121525
|
positionsCompressed: geometryPositions,
|
|
@@ -122439,8 +122461,11 @@ class XKTLoaderPlugin extends Plugin {
|
|
|
122439
122461
|
sceneModel.fire("error", errMsg);
|
|
122440
122462
|
};
|
|
122441
122463
|
|
|
122464
|
+
let nextId = 0;
|
|
122442
122465
|
const manifestCtx = {
|
|
122443
|
-
|
|
122466
|
+
getNextId: () => {
|
|
122467
|
+
return `${modelId}.${nextId++}`;
|
|
122468
|
+
}
|
|
122444
122469
|
};
|
|
122445
122470
|
|
|
122446
122471
|
if (params.metaModelSrc || params.metaModelData) {
|
|
@@ -122483,7 +122508,6 @@ class XKTLoaderPlugin extends Plugin {
|
|
|
122483
122508
|
}
|
|
122484
122509
|
|
|
122485
122510
|
|
|
122486
|
-
|
|
122487
122511
|
} else {
|
|
122488
122512
|
|
|
122489
122513
|
if (params.src) {
|
|
@@ -122555,9 +122579,9 @@ class XKTLoaderPlugin extends Plugin {
|
|
|
122555
122579
|
|
|
122556
122580
|
_loadModel(src, params, options, sceneModel, metaModel, manifestCtx, done, error) {
|
|
122557
122581
|
this._dataSource.getXKT(params.src, (arrayBuffer) => {
|
|
122558
|
-
|
|
122559
|
-
|
|
122560
|
-
|
|
122582
|
+
this._parseModel(arrayBuffer, params, options, sceneModel, metaModel, manifestCtx);
|
|
122583
|
+
done();
|
|
122584
|
+
}, error);
|
|
122561
122585
|
}
|
|
122562
122586
|
|
|
122563
122587
|
_parseModel(arrayBuffer, params, options, sceneModel, metaModel, manifestCtx) {
|