@xeokit/xeokit-sdk 2.6.105 → 2.6.106
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/README.md +0 -1
- package/dist/xeokit-sdk.cjs.js +29 -40
- package/dist/xeokit-sdk.es.js +29 -40
- package/dist/xeokit-sdk.es5.js +11 -11
- package/dist/xeokit-sdk.min.cjs.js +5 -5
- package/dist/xeokit-sdk.min.es.js +5 -5
- package/dist/xeokit-sdk.min.es5.js +5 -5
- package/package.json +1 -1
- package/src/plugins/XKTLoaderPlugin/XKTLoaderPlugin.js +1 -1
- package/src/plugins/XKTLoaderPlugin/parsers/ParserV10.js +2 -2
- package/src/plugins/XKTLoaderPlugin/parsers/ParserV11.js +2 -2
- package/src/plugins/XKTLoaderPlugin/parsers/ParserV12.js +3 -3
- package/src/plugins/XKTLoaderPlugin/parsers/ParserV9.js +2 -2
- package/src/viewer/scene/mesh/Mesh.js +15 -23
- package/src/viewer/scene/mesh/pick/PickMeshShaderSource.js +0 -1
- package/src/viewer/scene/mesh/pick/PickTriangleShaderSource.js +0 -1
- package/src/viewer/scene/mesh/shadow/ShadowShaderSource.js +0 -1
package/README.md
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://badge.fury.io/js/%40xeokit%2Fxeokit-sdk)
|
|
4
4
|
[](https://www.jsdelivr.com/package/npm/@xeokit/xeokit-sdk)
|
|
5
|
-
[](/advisor/npm-package/@xeokit/xeokit-sdk)
|
|
6
5
|
[](https://github.com/xeokit/xeokit-sdk/actions/workflows/codesee-arch-diagram.yml)
|
|
7
6
|
|
|
8
7
|
[xeokit](http://xeokit.io) is a JavaScript software development kit created by [xeolabs](http://xeolabs.com) and supported by [Creoox AG](https://creoox.com) for viewing
|
package/dist/xeokit-sdk.cjs.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* xeokit-sdk v2.6.
|
|
3
|
-
* Commit:
|
|
4
|
-
* Built: 2026-
|
|
2
|
+
* xeokit-sdk v2.6.106
|
|
3
|
+
* Commit: 198ae9cbd40c72fbcea53b2edf08d98c6fdac33e
|
|
4
|
+
* Built: 2026-02-20T12:48:25.197Z
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
if (typeof window !== 'undefined') {
|
|
8
|
-
window.__XEOKIT__ = { version: '2.6.
|
|
8
|
+
window.__XEOKIT__ = { version: '2.6.106', commit: '198ae9cbd40c72fbcea53b2edf08d98c6fdac33e', built: '2026-02-20T12:48:25.197Z' };
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
@@ -21796,7 +21796,6 @@ const PickMeshShaderSource = function(meshHash, programVariables) {
|
|
|
21796
21796
|
getHash: () => [ meshHash ],
|
|
21797
21797
|
programName: "PickMesh",
|
|
21798
21798
|
isPick: true,
|
|
21799
|
-
dontBillboardAnything: true,
|
|
21800
21799
|
appendFragmentOutputs: (src) => src.push(`${outColor} = ${pickColor};`)
|
|
21801
21800
|
};
|
|
21802
21801
|
};
|
|
@@ -21809,7 +21808,6 @@ const PickTriangleShaderSource = function(meshHash, programVariables, geometry)
|
|
|
21809
21808
|
programName: "PickTriangle",
|
|
21810
21809
|
isPick: true,
|
|
21811
21810
|
trianglePick: true,
|
|
21812
|
-
dontBillboardAnything: true,
|
|
21813
21811
|
appendFragmentOutputs: (src) => src.push(`${outColor} = ${vColor};`)
|
|
21814
21812
|
};
|
|
21815
21813
|
};
|
|
@@ -21842,7 +21840,6 @@ const ShadowShaderSource = function(meshHash, programVariables) {
|
|
|
21842
21840
|
programName: "Shadow",
|
|
21843
21841
|
setsLineWidth: true,
|
|
21844
21842
|
useShadowView: true,
|
|
21845
|
-
dontBillboardAnything: true,
|
|
21846
21843
|
dontGetLogDepth: true,
|
|
21847
21844
|
appendFragmentOutputs: (src, getGammaOutputExpression, gl_FragCoord) => src.push(`${outColor} = ${encodeFloat}(${gl_FragCoord}.z);`)
|
|
21848
21845
|
};
|
|
@@ -24239,7 +24236,7 @@ const instantiateMeshRenderer = (mesh, attributes, auxVariables, programSetup, p
|
|
|
24239
24236
|
const projMatrix = programVariables.createUniform("mat4", "projMatrix");
|
|
24240
24237
|
|
|
24241
24238
|
const billboard = mesh.billboard;
|
|
24242
|
-
const isBillboard = (
|
|
24239
|
+
const isBillboard = (billboard === "spherical") || (billboard === "cylindrical");
|
|
24243
24240
|
const stationary = mesh.stationary;
|
|
24244
24241
|
const defineBillboard = isBillboard && ((name, src) => [
|
|
24245
24242
|
`mat4 ${name}(in mat4 matIn) {`,
|
|
@@ -24262,17 +24259,13 @@ const instantiateMeshRenderer = (mesh, attributes, auxVariables, programSetup, p
|
|
|
24262
24259
|
})();
|
|
24263
24260
|
|
|
24264
24261
|
const fragmentOutputsSetup = [ ];
|
|
24265
|
-
|
|
24266
|
-
|
|
24267
|
-
|
|
24268
|
-
|
|
24269
|
-
|
|
24270
|
-
fragmentOutputsSetup.push("viewMatrix1[3].xyz = vec3(0.0, 0.0, 0.0);");
|
|
24271
|
-
} else if (meshStateBackground) {
|
|
24272
|
-
fragmentOutputsSetup.push("viewMatrix1[3] = vec4(0.0, 0.0, 0.0, 1.0);");
|
|
24273
|
-
}
|
|
24274
|
-
fragmentOutputsSetup.push(`mat4 viewMatrix2 = ${billboardIfApplicableFrag("viewMatrix1")};`);
|
|
24262
|
+
fragmentOutputsSetup.push(`mat4 viewMatrix1 = ${viewMatrix};`);
|
|
24263
|
+
if (stationary) {
|
|
24264
|
+
fragmentOutputsSetup.push("viewMatrix1[3].xyz = vec3(0.0, 0.0, 0.0);");
|
|
24265
|
+
} else if (meshStateBackground) {
|
|
24266
|
+
fragmentOutputsSetup.push("viewMatrix1[3] = vec4(0.0, 0.0, 0.0, 1.0);");
|
|
24275
24267
|
}
|
|
24268
|
+
fragmentOutputsSetup.push(`mat4 viewMatrix2 = ${billboardIfApplicableFrag("viewMatrix1")};`);
|
|
24276
24269
|
|
|
24277
24270
|
const clipPos = "clipPos";
|
|
24278
24271
|
const getVertexData = function() {
|
|
@@ -24284,20 +24277,16 @@ const instantiateMeshRenderer = (mesh, attributes, auxVariables, programSetup, p
|
|
|
24284
24277
|
}
|
|
24285
24278
|
src.push(`vec4 worldPosition = ${billboardIfApplicable(modelMatrix)} * localPosition;`);
|
|
24286
24279
|
src.push(`worldPosition.xyz = worldPosition.xyz + ${offset};`);
|
|
24287
|
-
|
|
24288
|
-
|
|
24289
|
-
|
|
24290
|
-
|
|
24291
|
-
|
|
24292
|
-
|
|
24293
|
-
|
|
24294
|
-
|
|
24295
|
-
}
|
|
24296
|
-
src.push(`mat4 viewMatrix2 = ${billboardIfApplicable("viewMatrix1")};`);
|
|
24297
|
-
src.push(`vec4 viewPosition = ${(isBillboard
|
|
24280
|
+
src.push(`mat4 viewMatrix1 = ${viewMatrix};`);
|
|
24281
|
+
if (stationary) {
|
|
24282
|
+
src.push("viewMatrix1[3].xyz = vec3(0.0, 0.0, 0.0);");
|
|
24283
|
+
} else if (meshStateBackground) {
|
|
24284
|
+
src.push("viewMatrix1[3] = vec4(0.0, 0.0, 0.0, 1.0);");
|
|
24285
|
+
}
|
|
24286
|
+
src.push(`mat4 viewMatrix2 = ${billboardIfApplicable("viewMatrix1")};`);
|
|
24287
|
+
src.push(`vec4 viewPosition = ${(isBillboard
|
|
24298
24288
|
? `${billboardIfApplicable(`viewMatrix1 * ${modelMatrix}`)} * localPosition`
|
|
24299
24289
|
: "viewMatrix2 * worldPosition")};`);
|
|
24300
|
-
}
|
|
24301
24290
|
decodedUv && decodedUv.needed && src.push(`vec2 ${decodedUv} = ${quantizedGeometry ? `(${uvDecodeMatrix} * vec3(${attributes.uv}, 1.0)).xy` : attributes.uv};`);
|
|
24302
24291
|
if (worldNormal && worldNormal.needed) {
|
|
24303
24292
|
const localNormal = quantizedGeometry ? `${programVariables.commonLibrary.octDecode}(${attributes.normal}.xy)` : attributes.normal;
|
|
@@ -124067,7 +124056,7 @@ function load$3(viewer, options, inflatedData, sceneModel, metaModel, manifestCt
|
|
|
124067
124056
|
if (geometryArrays.geometryPositions.length > 1000) ;
|
|
124068
124057
|
if (geometryArrays.batchThisMesh) {
|
|
124069
124058
|
geometryArrays.decompressedPositions = new Float32Array(geometryArrays.geometryPositions.length);
|
|
124070
|
-
geometryArrays.
|
|
124059
|
+
geometryArrays.transformedAndRecompressedPositionsLength = geometryArrays.geometryPositions.length;
|
|
124071
124060
|
const geometryPositions = geometryArrays.geometryPositions;
|
|
124072
124061
|
const decompressedPositions = geometryArrays.decompressedPositions;
|
|
124073
124062
|
for (let i = 0, len = geometryPositions.length; i < len; i += 3) {
|
|
@@ -124086,7 +124075,7 @@ function load$3(viewer, options, inflatedData, sceneModel, metaModel, manifestCt
|
|
|
124086
124075
|
if (geometryArrays.batchThisMesh) {
|
|
124087
124076
|
|
|
124088
124077
|
const decompressedPositions = geometryArrays.decompressedPositions;
|
|
124089
|
-
const transformedAndRecompressedPositions = geometryArrays.
|
|
124078
|
+
const transformedAndRecompressedPositions = new Uint16Array(geometryArrays.transformedAndRecompressedPositionsLength);
|
|
124090
124079
|
|
|
124091
124080
|
for (let i = 0, len = decompressedPositions.length; i < len; i += 3) {
|
|
124092
124081
|
tempVec4a$3[0] = decompressedPositions[i + 0];
|
|
@@ -124686,7 +124675,7 @@ function load$2(viewer, options, inflatedData, sceneModel, metaModel, manifestCt
|
|
|
124686
124675
|
if (geometryArrays.geometryPositions.length > 1000) ;
|
|
124687
124676
|
if (geometryArrays.batchThisMesh) {
|
|
124688
124677
|
geometryArrays.decompressedPositions = new Float32Array(geometryArrays.geometryPositions.length);
|
|
124689
|
-
geometryArrays.
|
|
124678
|
+
geometryArrays.transformedAndRecompressedPositionsLength = geometryArrays.geometryPositions.length;
|
|
124690
124679
|
const geometryPositions = geometryArrays.geometryPositions;
|
|
124691
124680
|
const decompressedPositions = geometryArrays.decompressedPositions;
|
|
124692
124681
|
for (let i = 0, len = geometryPositions.length; i < len; i += 3) {
|
|
@@ -124705,7 +124694,7 @@ function load$2(viewer, options, inflatedData, sceneModel, metaModel, manifestCt
|
|
|
124705
124694
|
if (geometryArrays.batchThisMesh) {
|
|
124706
124695
|
|
|
124707
124696
|
const decompressedPositions = geometryArrays.decompressedPositions;
|
|
124708
|
-
const transformedAndRecompressedPositions = geometryArrays.
|
|
124697
|
+
const transformedAndRecompressedPositions = new Uint16Array(geometryArrays.transformedAndRecompressedPositionsLength);
|
|
124709
124698
|
|
|
124710
124699
|
for (let i = 0, len = decompressedPositions.length; i < len; i += 3) {
|
|
124711
124700
|
tempVec4a$2[0] = decompressedPositions[i + 0];
|
|
@@ -125334,7 +125323,7 @@ function load$1(viewer, options, inflatedData, sceneModel, metaModel, manifestCt
|
|
|
125334
125323
|
if (geometryArrays.geometryPositions.length > 1000) ;
|
|
125335
125324
|
if (geometryArrays.batchThisMesh) {
|
|
125336
125325
|
geometryArrays.decompressedPositions = new Float32Array(geometryArrays.geometryPositions.length);
|
|
125337
|
-
geometryArrays.
|
|
125326
|
+
geometryArrays.transformedAndRecompressedPositionsLength = geometryArrays.geometryPositions.length;
|
|
125338
125327
|
const geometryPositions = geometryArrays.geometryPositions;
|
|
125339
125328
|
const decompressedPositions = geometryArrays.decompressedPositions;
|
|
125340
125329
|
for (let i = 0, len = geometryPositions.length; i < len; i += 3) {
|
|
@@ -125353,7 +125342,7 @@ function load$1(viewer, options, inflatedData, sceneModel, metaModel, manifestCt
|
|
|
125353
125342
|
if (geometryArrays.batchThisMesh) {
|
|
125354
125343
|
|
|
125355
125344
|
const decompressedPositions = geometryArrays.decompressedPositions;
|
|
125356
|
-
const transformedAndRecompressedPositions = geometryArrays.
|
|
125345
|
+
const transformedAndRecompressedPositions = new Uint16Array(geometryArrays.transformedAndRecompressedPositionsLength);
|
|
125357
125346
|
|
|
125358
125347
|
for (let i = 0, len = decompressedPositions.length; i < len; i += 3) {
|
|
125359
125348
|
tempVec4a$1[0] = decompressedPositions[i + 0];
|
|
@@ -126087,11 +126076,11 @@ function load(viewer, options, inflatedData, sceneModel, metaModel, manifestCtx)
|
|
|
126087
126076
|
if (geometryArrays.geometryPositions && geometryArrays.geometryPositions.length > 1000) ;
|
|
126088
126077
|
if (geometryArrays.batchThisMesh) {
|
|
126089
126078
|
if(primitiveType === 7) {
|
|
126090
|
-
geometryArrays.
|
|
126079
|
+
geometryArrays.transformedAndRecompressedPositionsLength = geometryArrays.decompressedPositions.length;
|
|
126091
126080
|
}
|
|
126092
126081
|
else {
|
|
126093
126082
|
geometryArrays.decompressedPositions = new Float32Array(geometryArrays.geometryPositions.length);
|
|
126094
|
-
geometryArrays.
|
|
126083
|
+
geometryArrays.transformedAndRecompressedPositionsLength = geometryArrays.geometryPositions.length;
|
|
126095
126084
|
const geometryPositions = geometryArrays.geometryPositions;
|
|
126096
126085
|
const decompressedPositions = geometryArrays.decompressedPositions;
|
|
126097
126086
|
for (let i = 0, len = geometryPositions.length; i < len; i += 3) {
|
|
@@ -126112,7 +126101,7 @@ function load(viewer, options, inflatedData, sceneModel, metaModel, manifestCtx)
|
|
|
126112
126101
|
if (geometryArrays.batchThisMesh) {
|
|
126113
126102
|
|
|
126114
126103
|
const decompressedPositions = geometryArrays.decompressedPositions;
|
|
126115
|
-
const transformedAndRecompressedPositions = geometryArrays.
|
|
126104
|
+
const transformedAndRecompressedPositions = new Uint16Array(geometryArrays.transformedAndRecompressedPositionsLength);
|
|
126116
126105
|
|
|
126117
126106
|
for (let i = 0, len = decompressedPositions.length; i < len; i += 3) {
|
|
126118
126107
|
tempVec4a[0] = decompressedPositions[i + 0];
|
|
@@ -126396,7 +126385,7 @@ parsers[ParserV12.version] = ParserV12;
|
|
|
126396
126385
|
* We have several ways to convert your files into XKT. See these tutorials for more info:
|
|
126397
126386
|
*
|
|
126398
126387
|
* * [Converting Models to XKT with convert2xkt](https://xeokit.io/blog/converting-models-to-xkt-with-convert2xkt) - how to convert various file formats (glTF, IFC, CityJSON, LAS/LAZ...) to XKT using our nodejs-based converter.
|
|
126399
|
-
* * [Converting IFC Models to XKT using 3rd-Party Open Source Tools](https://
|
|
126388
|
+
* * [Converting IFC Models to XKT using various different methods, including 3rd-Party Open Source Tools](https://xeokit.io/blog/xeokit-loaders-&-converters) - how to convert IFC files to XKT using various different methods, including 3rd-party open source CLI tools.
|
|
126400
126389
|
*
|
|
126401
126390
|
* # Scene representation
|
|
126402
126391
|
*
|
package/dist/xeokit-sdk.es.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* xeokit-sdk v2.6.
|
|
3
|
-
* Commit:
|
|
4
|
-
* Built: 2026-
|
|
2
|
+
* xeokit-sdk v2.6.106
|
|
3
|
+
* Commit: 198ae9cbd40c72fbcea53b2edf08d98c6fdac33e
|
|
4
|
+
* Built: 2026-02-20T12:48:25.197Z
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
if (typeof window !== 'undefined') {
|
|
8
|
-
window.__XEOKIT__ = { version: '2.6.
|
|
8
|
+
window.__XEOKIT__ = { version: '2.6.106', commit: '198ae9cbd40c72fbcea53b2edf08d98c6fdac33e', built: '2026-02-20T12:48:25.197Z' };
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
/** @private */
|
|
@@ -21792,7 +21792,6 @@ const PickMeshShaderSource = function(meshHash, programVariables) {
|
|
|
21792
21792
|
getHash: () => [ meshHash ],
|
|
21793
21793
|
programName: "PickMesh",
|
|
21794
21794
|
isPick: true,
|
|
21795
|
-
dontBillboardAnything: true,
|
|
21796
21795
|
appendFragmentOutputs: (src) => src.push(`${outColor} = ${pickColor};`)
|
|
21797
21796
|
};
|
|
21798
21797
|
};
|
|
@@ -21805,7 +21804,6 @@ const PickTriangleShaderSource = function(meshHash, programVariables, geometry)
|
|
|
21805
21804
|
programName: "PickTriangle",
|
|
21806
21805
|
isPick: true,
|
|
21807
21806
|
trianglePick: true,
|
|
21808
|
-
dontBillboardAnything: true,
|
|
21809
21807
|
appendFragmentOutputs: (src) => src.push(`${outColor} = ${vColor};`)
|
|
21810
21808
|
};
|
|
21811
21809
|
};
|
|
@@ -21838,7 +21836,6 @@ const ShadowShaderSource = function(meshHash, programVariables) {
|
|
|
21838
21836
|
programName: "Shadow",
|
|
21839
21837
|
setsLineWidth: true,
|
|
21840
21838
|
useShadowView: true,
|
|
21841
|
-
dontBillboardAnything: true,
|
|
21842
21839
|
dontGetLogDepth: true,
|
|
21843
21840
|
appendFragmentOutputs: (src, getGammaOutputExpression, gl_FragCoord) => src.push(`${outColor} = ${encodeFloat}(${gl_FragCoord}.z);`)
|
|
21844
21841
|
};
|
|
@@ -24235,7 +24232,7 @@ const instantiateMeshRenderer = (mesh, attributes, auxVariables, programSetup, p
|
|
|
24235
24232
|
const projMatrix = programVariables.createUniform("mat4", "projMatrix");
|
|
24236
24233
|
|
|
24237
24234
|
const billboard = mesh.billboard;
|
|
24238
|
-
const isBillboard = (
|
|
24235
|
+
const isBillboard = (billboard === "spherical") || (billboard === "cylindrical");
|
|
24239
24236
|
const stationary = mesh.stationary;
|
|
24240
24237
|
const defineBillboard = isBillboard && ((name, src) => [
|
|
24241
24238
|
`mat4 ${name}(in mat4 matIn) {`,
|
|
@@ -24258,17 +24255,13 @@ const instantiateMeshRenderer = (mesh, attributes, auxVariables, programSetup, p
|
|
|
24258
24255
|
})();
|
|
24259
24256
|
|
|
24260
24257
|
const fragmentOutputsSetup = [ ];
|
|
24261
|
-
|
|
24262
|
-
|
|
24263
|
-
|
|
24264
|
-
|
|
24265
|
-
|
|
24266
|
-
fragmentOutputsSetup.push("viewMatrix1[3].xyz = vec3(0.0, 0.0, 0.0);");
|
|
24267
|
-
} else if (meshStateBackground) {
|
|
24268
|
-
fragmentOutputsSetup.push("viewMatrix1[3] = vec4(0.0, 0.0, 0.0, 1.0);");
|
|
24269
|
-
}
|
|
24270
|
-
fragmentOutputsSetup.push(`mat4 viewMatrix2 = ${billboardIfApplicableFrag("viewMatrix1")};`);
|
|
24258
|
+
fragmentOutputsSetup.push(`mat4 viewMatrix1 = ${viewMatrix};`);
|
|
24259
|
+
if (stationary) {
|
|
24260
|
+
fragmentOutputsSetup.push("viewMatrix1[3].xyz = vec3(0.0, 0.0, 0.0);");
|
|
24261
|
+
} else if (meshStateBackground) {
|
|
24262
|
+
fragmentOutputsSetup.push("viewMatrix1[3] = vec4(0.0, 0.0, 0.0, 1.0);");
|
|
24271
24263
|
}
|
|
24264
|
+
fragmentOutputsSetup.push(`mat4 viewMatrix2 = ${billboardIfApplicableFrag("viewMatrix1")};`);
|
|
24272
24265
|
|
|
24273
24266
|
const clipPos = "clipPos";
|
|
24274
24267
|
const getVertexData = function() {
|
|
@@ -24280,20 +24273,16 @@ const instantiateMeshRenderer = (mesh, attributes, auxVariables, programSetup, p
|
|
|
24280
24273
|
}
|
|
24281
24274
|
src.push(`vec4 worldPosition = ${billboardIfApplicable(modelMatrix)} * localPosition;`);
|
|
24282
24275
|
src.push(`worldPosition.xyz = worldPosition.xyz + ${offset};`);
|
|
24283
|
-
|
|
24284
|
-
|
|
24285
|
-
|
|
24286
|
-
|
|
24287
|
-
|
|
24288
|
-
|
|
24289
|
-
|
|
24290
|
-
|
|
24291
|
-
}
|
|
24292
|
-
src.push(`mat4 viewMatrix2 = ${billboardIfApplicable("viewMatrix1")};`);
|
|
24293
|
-
src.push(`vec4 viewPosition = ${(isBillboard
|
|
24276
|
+
src.push(`mat4 viewMatrix1 = ${viewMatrix};`);
|
|
24277
|
+
if (stationary) {
|
|
24278
|
+
src.push("viewMatrix1[3].xyz = vec3(0.0, 0.0, 0.0);");
|
|
24279
|
+
} else if (meshStateBackground) {
|
|
24280
|
+
src.push("viewMatrix1[3] = vec4(0.0, 0.0, 0.0, 1.0);");
|
|
24281
|
+
}
|
|
24282
|
+
src.push(`mat4 viewMatrix2 = ${billboardIfApplicable("viewMatrix1")};`);
|
|
24283
|
+
src.push(`vec4 viewPosition = ${(isBillboard
|
|
24294
24284
|
? `${billboardIfApplicable(`viewMatrix1 * ${modelMatrix}`)} * localPosition`
|
|
24295
24285
|
: "viewMatrix2 * worldPosition")};`);
|
|
24296
|
-
}
|
|
24297
24286
|
decodedUv && decodedUv.needed && src.push(`vec2 ${decodedUv} = ${quantizedGeometry ? `(${uvDecodeMatrix} * vec3(${attributes.uv}, 1.0)).xy` : attributes.uv};`);
|
|
24298
24287
|
if (worldNormal && worldNormal.needed) {
|
|
24299
24288
|
const localNormal = quantizedGeometry ? `${programVariables.commonLibrary.octDecode}(${attributes.normal}.xy)` : attributes.normal;
|
|
@@ -124063,7 +124052,7 @@ function load$3(viewer, options, inflatedData, sceneModel, metaModel, manifestCt
|
|
|
124063
124052
|
if (geometryArrays.geometryPositions.length > 1000) ;
|
|
124064
124053
|
if (geometryArrays.batchThisMesh) {
|
|
124065
124054
|
geometryArrays.decompressedPositions = new Float32Array(geometryArrays.geometryPositions.length);
|
|
124066
|
-
geometryArrays.
|
|
124055
|
+
geometryArrays.transformedAndRecompressedPositionsLength = geometryArrays.geometryPositions.length;
|
|
124067
124056
|
const geometryPositions = geometryArrays.geometryPositions;
|
|
124068
124057
|
const decompressedPositions = geometryArrays.decompressedPositions;
|
|
124069
124058
|
for (let i = 0, len = geometryPositions.length; i < len; i += 3) {
|
|
@@ -124082,7 +124071,7 @@ function load$3(viewer, options, inflatedData, sceneModel, metaModel, manifestCt
|
|
|
124082
124071
|
if (geometryArrays.batchThisMesh) {
|
|
124083
124072
|
|
|
124084
124073
|
const decompressedPositions = geometryArrays.decompressedPositions;
|
|
124085
|
-
const transformedAndRecompressedPositions = geometryArrays.
|
|
124074
|
+
const transformedAndRecompressedPositions = new Uint16Array(geometryArrays.transformedAndRecompressedPositionsLength);
|
|
124086
124075
|
|
|
124087
124076
|
for (let i = 0, len = decompressedPositions.length; i < len; i += 3) {
|
|
124088
124077
|
tempVec4a$3[0] = decompressedPositions[i + 0];
|
|
@@ -124682,7 +124671,7 @@ function load$2(viewer, options, inflatedData, sceneModel, metaModel, manifestCt
|
|
|
124682
124671
|
if (geometryArrays.geometryPositions.length > 1000) ;
|
|
124683
124672
|
if (geometryArrays.batchThisMesh) {
|
|
124684
124673
|
geometryArrays.decompressedPositions = new Float32Array(geometryArrays.geometryPositions.length);
|
|
124685
|
-
geometryArrays.
|
|
124674
|
+
geometryArrays.transformedAndRecompressedPositionsLength = geometryArrays.geometryPositions.length;
|
|
124686
124675
|
const geometryPositions = geometryArrays.geometryPositions;
|
|
124687
124676
|
const decompressedPositions = geometryArrays.decompressedPositions;
|
|
124688
124677
|
for (let i = 0, len = geometryPositions.length; i < len; i += 3) {
|
|
@@ -124701,7 +124690,7 @@ function load$2(viewer, options, inflatedData, sceneModel, metaModel, manifestCt
|
|
|
124701
124690
|
if (geometryArrays.batchThisMesh) {
|
|
124702
124691
|
|
|
124703
124692
|
const decompressedPositions = geometryArrays.decompressedPositions;
|
|
124704
|
-
const transformedAndRecompressedPositions = geometryArrays.
|
|
124693
|
+
const transformedAndRecompressedPositions = new Uint16Array(geometryArrays.transformedAndRecompressedPositionsLength);
|
|
124705
124694
|
|
|
124706
124695
|
for (let i = 0, len = decompressedPositions.length; i < len; i += 3) {
|
|
124707
124696
|
tempVec4a$2[0] = decompressedPositions[i + 0];
|
|
@@ -125330,7 +125319,7 @@ function load$1(viewer, options, inflatedData, sceneModel, metaModel, manifestCt
|
|
|
125330
125319
|
if (geometryArrays.geometryPositions.length > 1000) ;
|
|
125331
125320
|
if (geometryArrays.batchThisMesh) {
|
|
125332
125321
|
geometryArrays.decompressedPositions = new Float32Array(geometryArrays.geometryPositions.length);
|
|
125333
|
-
geometryArrays.
|
|
125322
|
+
geometryArrays.transformedAndRecompressedPositionsLength = geometryArrays.geometryPositions.length;
|
|
125334
125323
|
const geometryPositions = geometryArrays.geometryPositions;
|
|
125335
125324
|
const decompressedPositions = geometryArrays.decompressedPositions;
|
|
125336
125325
|
for (let i = 0, len = geometryPositions.length; i < len; i += 3) {
|
|
@@ -125349,7 +125338,7 @@ function load$1(viewer, options, inflatedData, sceneModel, metaModel, manifestCt
|
|
|
125349
125338
|
if (geometryArrays.batchThisMesh) {
|
|
125350
125339
|
|
|
125351
125340
|
const decompressedPositions = geometryArrays.decompressedPositions;
|
|
125352
|
-
const transformedAndRecompressedPositions = geometryArrays.
|
|
125341
|
+
const transformedAndRecompressedPositions = new Uint16Array(geometryArrays.transformedAndRecompressedPositionsLength);
|
|
125353
125342
|
|
|
125354
125343
|
for (let i = 0, len = decompressedPositions.length; i < len; i += 3) {
|
|
125355
125344
|
tempVec4a$1[0] = decompressedPositions[i + 0];
|
|
@@ -126083,11 +126072,11 @@ function load(viewer, options, inflatedData, sceneModel, metaModel, manifestCtx)
|
|
|
126083
126072
|
if (geometryArrays.geometryPositions && geometryArrays.geometryPositions.length > 1000) ;
|
|
126084
126073
|
if (geometryArrays.batchThisMesh) {
|
|
126085
126074
|
if(primitiveType === 7) {
|
|
126086
|
-
geometryArrays.
|
|
126075
|
+
geometryArrays.transformedAndRecompressedPositionsLength = geometryArrays.decompressedPositions.length;
|
|
126087
126076
|
}
|
|
126088
126077
|
else {
|
|
126089
126078
|
geometryArrays.decompressedPositions = new Float32Array(geometryArrays.geometryPositions.length);
|
|
126090
|
-
geometryArrays.
|
|
126079
|
+
geometryArrays.transformedAndRecompressedPositionsLength = geometryArrays.geometryPositions.length;
|
|
126091
126080
|
const geometryPositions = geometryArrays.geometryPositions;
|
|
126092
126081
|
const decompressedPositions = geometryArrays.decompressedPositions;
|
|
126093
126082
|
for (let i = 0, len = geometryPositions.length; i < len; i += 3) {
|
|
@@ -126108,7 +126097,7 @@ function load(viewer, options, inflatedData, sceneModel, metaModel, manifestCtx)
|
|
|
126108
126097
|
if (geometryArrays.batchThisMesh) {
|
|
126109
126098
|
|
|
126110
126099
|
const decompressedPositions = geometryArrays.decompressedPositions;
|
|
126111
|
-
const transformedAndRecompressedPositions = geometryArrays.
|
|
126100
|
+
const transformedAndRecompressedPositions = new Uint16Array(geometryArrays.transformedAndRecompressedPositionsLength);
|
|
126112
126101
|
|
|
126113
126102
|
for (let i = 0, len = decompressedPositions.length; i < len; i += 3) {
|
|
126114
126103
|
tempVec4a[0] = decompressedPositions[i + 0];
|
|
@@ -126392,7 +126381,7 @@ parsers[ParserV12.version] = ParserV12;
|
|
|
126392
126381
|
* We have several ways to convert your files into XKT. See these tutorials for more info:
|
|
126393
126382
|
*
|
|
126394
126383
|
* * [Converting Models to XKT with convert2xkt](https://xeokit.io/blog/converting-models-to-xkt-with-convert2xkt) - how to convert various file formats (glTF, IFC, CityJSON, LAS/LAZ...) to XKT using our nodejs-based converter.
|
|
126395
|
-
* * [Converting IFC Models to XKT using 3rd-Party Open Source Tools](https://
|
|
126384
|
+
* * [Converting IFC Models to XKT using various different methods, including 3rd-Party Open Source Tools](https://xeokit.io/blog/xeokit-loaders-&-converters) - how to convert IFC files to XKT using various different methods, including 3rd-party open source CLI tools.
|
|
126396
126385
|
*
|
|
126397
126386
|
* # Scene representation
|
|
126398
126387
|
*
|