@xeokit/xeokit-sdk 2.6.41 → 2.6.43
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 +116 -146
- package/dist/xeokit-sdk.es.js +116 -146
- package/dist/xeokit-sdk.es5.js +260 -252
- package/dist/xeokit-sdk.min.cjs.js +4 -4
- package/dist/xeokit-sdk.min.es.js +5 -5
- package/dist/xeokit-sdk.min.es5.js +4 -4
- package/package.json +1 -1
- package/src/extras/ContextMenu/ContextMenu.js +1 -2
- package/src/plugins/DistanceMeasurementsPlugin/DistanceMeasurement.js +23 -3
- package/src/plugins/GLTFLoaderPlugin/GLTFDefaultDataSource.js +0 -6
- package/src/plugins/LASLoaderPlugin/LASLoaderPlugin.js +1 -0
- package/src/plugins/StoreyViewsPlugin/StoreyViewsPlugin.js +7 -1
- package/src/plugins/ZonesPlugin/ZonesPlugin.js +1 -1
- package/src/viewer/scene/model/dtx/triangles/DTXTrianglesLayer.js +2 -2
- package/src/viewer/scene/model/vbo/batching/points/VBOBatchingPointsLayer.js +80 -115
- package/types/plugins/DistanceMeasurementsPlugin/DistanceMeasurement.d.ts +14 -0
- package/types/plugins/StoreyViewsPlugin/StoreyViewsPlugin.d.ts +5 -5
- package/src/viewer/scene/model/vbo/batching/points/VBOBatchingPointsBuffer.js +0 -20
package/dist/xeokit-sdk.es.js
CHANGED
|
@@ -678,9 +678,8 @@ class ContextMenu {
|
|
|
678
678
|
if (itemSubMenu) {
|
|
679
679
|
|
|
680
680
|
html.push(
|
|
681
|
-
'<li id="' + item.id + '" class="xeokit-context-menu-item">' +
|
|
681
|
+
'<li id="' + item.id + '" class="xeokit-context-menu-item xeokit-context-menu-submenu">' +
|
|
682
682
|
actionTitle +
|
|
683
|
-
' [MORE]' +
|
|
684
683
|
'</li>');
|
|
685
684
|
if (!((groupIdx === groupLen - 1) || (j < lenj - 1))) {
|
|
686
685
|
html.push(
|
|
@@ -11349,7 +11348,7 @@ function activateDraggableDots(cfg) {
|
|
|
11349
11348
|
};
|
|
11350
11349
|
}
|
|
11351
11350
|
|
|
11352
|
-
const touchPointSelector
|
|
11351
|
+
const touchPointSelector = function(viewer, pointerCircle, ray2WorldPos) {
|
|
11353
11352
|
return function(onCancel, onChange, onCommit) {
|
|
11354
11353
|
const scene = viewer.scene;
|
|
11355
11354
|
const canvas = scene.canvas.canvas;
|
|
@@ -67636,27 +67635,6 @@ function getRenderers$3(scene) {
|
|
|
67636
67635
|
return renderers;
|
|
67637
67636
|
}
|
|
67638
67637
|
|
|
67639
|
-
/**
|
|
67640
|
-
* @private
|
|
67641
|
-
*/
|
|
67642
|
-
class VBOBatchingPointsBuffer {
|
|
67643
|
-
|
|
67644
|
-
constructor(maxGeometryBatchSize = 5000000) {
|
|
67645
|
-
|
|
67646
|
-
if (maxGeometryBatchSize > 5000000) {
|
|
67647
|
-
maxGeometryBatchSize = 5000000;
|
|
67648
|
-
}
|
|
67649
|
-
|
|
67650
|
-
this.maxVerts = maxGeometryBatchSize;
|
|
67651
|
-
this.maxIndices = maxGeometryBatchSize * 3; // Rough rule-of-thumb
|
|
67652
|
-
this.positions = [];
|
|
67653
|
-
this.colors = [];
|
|
67654
|
-
this.intensities = [];
|
|
67655
|
-
this.pickColors = [];
|
|
67656
|
-
this.offsets = [];
|
|
67657
|
-
}
|
|
67658
|
-
}
|
|
67659
|
-
|
|
67660
67638
|
/**
|
|
67661
67639
|
* @private
|
|
67662
67640
|
*/
|
|
@@ -67695,7 +67673,58 @@ class VBOBatchingPointsLayer {
|
|
|
67695
67673
|
|
|
67696
67674
|
this._renderers = getRenderers$3(cfg.model.scene);
|
|
67697
67675
|
|
|
67698
|
-
|
|
67676
|
+
const maxGeometryBatchSize = cfg.maxGeometryBatchSize || 5000000;
|
|
67677
|
+
|
|
67678
|
+
const attribute = function() {
|
|
67679
|
+
const portions = [ ];
|
|
67680
|
+
|
|
67681
|
+
return {
|
|
67682
|
+
append: function(data, times = 1, denormalizeScale = 1.0) {
|
|
67683
|
+
portions.push({ data: data, times: times, denormalizeScale: denormalizeScale });
|
|
67684
|
+
},
|
|
67685
|
+
compileBuffer: function(type) {
|
|
67686
|
+
let len = 0;
|
|
67687
|
+
portions.forEach(p => { len += p.times * p.data.length; });
|
|
67688
|
+
const buf = new type(len);
|
|
67689
|
+
|
|
67690
|
+
let begin = 0;
|
|
67691
|
+
portions.forEach(p => {
|
|
67692
|
+
const data = p.data;
|
|
67693
|
+
const dScale = p.denormalizeScale;
|
|
67694
|
+
const subBuf = buf.subarray(begin);
|
|
67695
|
+
|
|
67696
|
+
if (dScale === 1.0) {
|
|
67697
|
+
subBuf.set(data, 0);
|
|
67698
|
+
} else {
|
|
67699
|
+
for (let i = 0; i < data.length; ++i) {
|
|
67700
|
+
subBuf[i] = data[i] * dScale;
|
|
67701
|
+
}
|
|
67702
|
+
}
|
|
67703
|
+
|
|
67704
|
+
let soFar = data.length;
|
|
67705
|
+
const allDataLen = p.times * data.length;
|
|
67706
|
+
while (soFar < allDataLen) {
|
|
67707
|
+
const toCopy = Math.min(soFar, allDataLen - soFar);
|
|
67708
|
+
subBuf.set(subBuf.subarray(0, toCopy), soFar);
|
|
67709
|
+
soFar += toCopy;
|
|
67710
|
+
}
|
|
67711
|
+
|
|
67712
|
+
begin += soFar;
|
|
67713
|
+
});
|
|
67714
|
+
|
|
67715
|
+
return buf;
|
|
67716
|
+
}
|
|
67717
|
+
};
|
|
67718
|
+
};
|
|
67719
|
+
|
|
67720
|
+
this._buffer = {
|
|
67721
|
+
maxVerts: maxGeometryBatchSize,
|
|
67722
|
+
positions: attribute(),
|
|
67723
|
+
colors: attribute(),
|
|
67724
|
+
pickColors: attribute(),
|
|
67725
|
+
vertsIndex: 0
|
|
67726
|
+
};
|
|
67727
|
+
|
|
67699
67728
|
this._scratchMemory = cfg.scratchMemory;
|
|
67700
67729
|
|
|
67701
67730
|
this._state = new RenderState({
|
|
@@ -67760,7 +67789,7 @@ class VBOBatchingPointsLayer {
|
|
|
67760
67789
|
if (this._finalized) {
|
|
67761
67790
|
throw "Already finalized";
|
|
67762
67791
|
}
|
|
67763
|
-
return (
|
|
67792
|
+
return (this._buffer.vertsIndex + (lenPositions / 3)) <= this._buffer.maxVerts;
|
|
67764
67793
|
}
|
|
67765
67794
|
|
|
67766
67795
|
/**
|
|
@@ -67785,97 +67814,40 @@ class VBOBatchingPointsLayer {
|
|
|
67785
67814
|
throw "Already finalized";
|
|
67786
67815
|
}
|
|
67787
67816
|
|
|
67788
|
-
const positions = cfg.positions;
|
|
67789
|
-
const positionsCompressed = cfg.positionsCompressed;
|
|
67790
|
-
const color = cfg.color;
|
|
67791
|
-
const colorsCompressed = cfg.colorsCompressed;
|
|
67792
|
-
const colors = cfg.colors;
|
|
67793
|
-
const pickColor = cfg.pickColor;
|
|
67794
|
-
|
|
67795
67817
|
const buffer = this._buffer;
|
|
67796
|
-
const positionsIndex = buffer.positions.length;
|
|
67797
|
-
const vertsIndex = positionsIndex / 3;
|
|
67798
67818
|
|
|
67799
|
-
|
|
67800
|
-
|
|
67801
|
-
|
|
67802
|
-
|
|
67803
|
-
if (this._preCompressedPositionsExpected) {
|
|
67804
|
-
|
|
67805
|
-
if (!positionsCompressed) {
|
|
67806
|
-
throw "positionsCompressed expected";
|
|
67807
|
-
}
|
|
67808
|
-
|
|
67809
|
-
for (let i = 0, len = positionsCompressed.length; i < len; i++) {
|
|
67810
|
-
buffer.positions.push(positionsCompressed[i]);
|
|
67811
|
-
}
|
|
67812
|
-
|
|
67813
|
-
numVerts = positionsCompressed.length / 3;
|
|
67814
|
-
|
|
67815
|
-
} else {
|
|
67816
|
-
|
|
67817
|
-
if (!positions) {
|
|
67818
|
-
throw "positions expected";
|
|
67819
|
-
}
|
|
67819
|
+
const positions = this._preCompressedPositionsExpected ? cfg.positionsCompressed : cfg.positions;
|
|
67820
|
+
if (! positions) {
|
|
67821
|
+
throw ((this._preCompressedPositionsExpected ? "positionsCompressed" : "positions") + " expected");
|
|
67822
|
+
}
|
|
67820
67823
|
|
|
67821
|
-
|
|
67824
|
+
buffer.positions.append(positions);
|
|
67822
67825
|
|
|
67823
|
-
|
|
67824
|
-
buffer.positions.length;
|
|
67826
|
+
const numVerts = positions.length / 3;
|
|
67825
67827
|
|
|
67826
|
-
|
|
67827
|
-
|
|
67828
|
-
|
|
67829
|
-
|
|
67828
|
+
const color = cfg.color;
|
|
67829
|
+
const colorsCompressed = cfg.colorsCompressed;
|
|
67830
|
+
const colors = cfg.colors;
|
|
67831
|
+
const pickColor = cfg.pickColor;
|
|
67830
67832
|
|
|
67831
67833
|
if (colorsCompressed) {
|
|
67832
|
-
|
|
67833
|
-
buffer.colors.push(colorsCompressed[i]);
|
|
67834
|
-
}
|
|
67835
|
-
|
|
67834
|
+
buffer.colors.append(colorsCompressed);
|
|
67836
67835
|
} else if (colors) {
|
|
67837
|
-
|
|
67838
|
-
buffer.colors.push(colors[i] * 255);
|
|
67839
|
-
}
|
|
67840
|
-
|
|
67836
|
+
buffer.colors.append(colors, 1, 255.0);
|
|
67841
67837
|
} else if (color) {
|
|
67842
|
-
|
|
67843
|
-
|
|
67844
|
-
const g = color[1];
|
|
67845
|
-
const b = color[2];
|
|
67846
|
-
const a = 1.0;
|
|
67847
|
-
|
|
67848
|
-
for (let i = 0; i < numVerts; i++) {
|
|
67849
|
-
buffer.colors.push(r);
|
|
67850
|
-
buffer.colors.push(g);
|
|
67851
|
-
buffer.colors.push(b);
|
|
67852
|
-
buffer.colors.push(a);
|
|
67853
|
-
}
|
|
67838
|
+
// Color is pre-quantized by VBOSceneModel
|
|
67839
|
+
buffer.colors.append([ color[0], color[1], color[2], 1.0 ], numVerts);
|
|
67854
67840
|
}
|
|
67855
67841
|
|
|
67856
|
-
|
|
67857
|
-
const pickColorsBase = buffer.pickColors.length;
|
|
67858
|
-
const lenPickColors = numVerts * 4;
|
|
67859
|
-
for (let i = pickColorsBase, len = pickColorsBase + lenPickColors; i < len; i += 4) {
|
|
67860
|
-
buffer.pickColors.push(pickColor[0]);
|
|
67861
|
-
buffer.pickColors.push(pickColor[1]);
|
|
67862
|
-
buffer.pickColors.push(pickColor[2]);
|
|
67863
|
-
buffer.pickColors.push(pickColor[3]);
|
|
67864
|
-
}
|
|
67865
|
-
}
|
|
67842
|
+
buffer.pickColors.append(pickColor.slice(0, 4), numVerts);
|
|
67866
67843
|
|
|
67867
|
-
|
|
67868
|
-
for (let i = 0; i < numVerts; i++) {
|
|
67869
|
-
buffer.offsets.push(0);
|
|
67870
|
-
buffer.offsets.push(0);
|
|
67871
|
-
buffer.offsets.push(0);
|
|
67872
|
-
}
|
|
67873
|
-
}
|
|
67844
|
+
math.expandAABB3(this._modelAABB, cfg.aabb);
|
|
67874
67845
|
|
|
67875
67846
|
const portionId = this._portions.length / 2;
|
|
67876
67847
|
|
|
67877
|
-
this._portions.push(vertsIndex);
|
|
67848
|
+
this._portions.push(this._buffer.vertsIndex);
|
|
67878
67849
|
this._portions.push(numVerts);
|
|
67850
|
+
this._buffer.vertsIndex += numVerts;
|
|
67879
67851
|
|
|
67880
67852
|
this._numPortions++;
|
|
67881
67853
|
this.model.numPortions++;
|
|
@@ -67896,43 +67868,20 @@ class VBOBatchingPointsLayer {
|
|
|
67896
67868
|
const state = this._state;
|
|
67897
67869
|
const gl = this.model.scene.canvas.gl;
|
|
67898
67870
|
const buffer = this._buffer;
|
|
67871
|
+
const maybeCreateGlBuffer = (srcData, size, usage) => (srcData.length > 0) ? new ArrayBuf(gl, gl.ARRAY_BUFFER, srcData, srcData.length, size, usage) : null;
|
|
67899
67872
|
|
|
67900
|
-
|
|
67901
|
-
|
|
67902
|
-
|
|
67903
|
-
|
|
67904
|
-
} else {
|
|
67905
|
-
const positions = new Float32Array(buffer.positions);
|
|
67906
|
-
const quantizedPositions = quantizePositions(positions, this._modelAABB, state.positionsDecodeMatrix);
|
|
67907
|
-
state.positionsBuf = new ArrayBuf(gl, gl.ARRAY_BUFFER, quantizedPositions, buffer.positions.length, 3, gl.STATIC_DRAW);
|
|
67908
|
-
}
|
|
67909
|
-
}
|
|
67873
|
+
const positions = (this._preCompressedPositionsExpected
|
|
67874
|
+
? buffer.positions.compileBuffer(Uint16Array)
|
|
67875
|
+
: (quantizePositions(buffer.positions.compileBuffer(Float32Array), this._modelAABB, state.positionsDecodeMatrix)));
|
|
67876
|
+
state.positionsBuf = maybeCreateGlBuffer(positions, 3, gl.STATIC_DRAW);
|
|
67910
67877
|
|
|
67911
|
-
|
|
67912
|
-
const colors = new Uint8Array(buffer.colors);
|
|
67913
|
-
let normalized = false;
|
|
67914
|
-
state.colorsBuf = new ArrayBuf(gl, gl.ARRAY_BUFFER, colors, buffer.colors.length, 4, gl.STATIC_DRAW, normalized);
|
|
67915
|
-
}
|
|
67878
|
+
state.flagsBuf = maybeCreateGlBuffer(new Float32Array(this._buffer.vertsIndex), 1, gl.DYNAMIC_DRAW); // Because we build flags arrays here, get their length from the positions array
|
|
67916
67879
|
|
|
67917
|
-
|
|
67918
|
-
const flagsLength = buffer.positions.length / 3;
|
|
67919
|
-
const flags = new Float32Array(flagsLength);
|
|
67920
|
-
let notNormalized = false;
|
|
67921
|
-
state.flagsBuf = new ArrayBuf(gl, gl.ARRAY_BUFFER, flags, flags.length, 1, gl.DYNAMIC_DRAW, notNormalized);
|
|
67922
|
-
}
|
|
67880
|
+
state.colorsBuf = maybeCreateGlBuffer(buffer.colors.compileBuffer(Uint8Array), 4, gl.STATIC_DRAW);
|
|
67923
67881
|
|
|
67924
|
-
|
|
67925
|
-
const pickColors = new Uint8Array(buffer.pickColors);
|
|
67926
|
-
let normalized = false;
|
|
67927
|
-
state.pickColorsBuf = new ArrayBuf(gl, gl.ARRAY_BUFFER, pickColors, buffer.pickColors.length, 4, gl.STATIC_DRAW, normalized);
|
|
67928
|
-
}
|
|
67882
|
+
state.pickColorsBuf = maybeCreateGlBuffer(buffer.pickColors.compileBuffer(Uint8Array), 4, gl.STATIC_DRAW);
|
|
67929
67883
|
|
|
67930
|
-
|
|
67931
|
-
if (buffer.offsets.length > 0) {
|
|
67932
|
-
const offsets = new Float32Array(buffer.offsets);
|
|
67933
|
-
state.offsetsBuf = new ArrayBuf(gl, gl.ARRAY_BUFFER, offsets, buffer.offsets.length, 3, gl.DYNAMIC_DRAW);
|
|
67934
|
-
}
|
|
67935
|
-
}
|
|
67884
|
+
state.offsetsBuf = this.model.scene.entityOffsetsEnabled ? maybeCreateGlBuffer(new Float32Array(this._buffer.vertsIndex * 3), 3, gl.DYNAMIC_DRAW) : null;
|
|
67936
67885
|
|
|
67937
67886
|
this._buffer = null;
|
|
67938
67887
|
this._finalized = true;
|
|
@@ -80205,14 +80154,14 @@ class DTXTrianglesLayer {
|
|
|
80205
80154
|
// object colors
|
|
80206
80155
|
textureState.texturePerObjectColorsAndFlags._textureData.set(tempUint8Array4, subPortionId * 32);
|
|
80207
80156
|
if (this._deferredSetFlagsActive) {
|
|
80208
|
-
console.info("_subPortionSetColor defer");
|
|
80157
|
+
//console.info("_subPortionSetColor defer");
|
|
80209
80158
|
this._deferredSetFlagsDirty = true;
|
|
80210
80159
|
return;
|
|
80211
80160
|
}
|
|
80212
80161
|
if (++this._numUpdatesInFrame >= MAX_OBJECT_UPDATES_IN_FRAME_WITHOUT_BATCHED_UPDATE) {
|
|
80213
80162
|
this._beginDeferredFlags(); // Subsequent flags updates now deferred
|
|
80214
80163
|
}
|
|
80215
|
-
console.info("_subPortionSetColor write through");
|
|
80164
|
+
//console.info("_subPortionSetColor write through");
|
|
80216
80165
|
gl.bindTexture(gl.TEXTURE_2D, textureState.texturePerObjectColorsAndFlags._texture);
|
|
80217
80166
|
gl.texSubImage2D(
|
|
80218
80167
|
gl.TEXTURE_2D,
|
|
@@ -88170,6 +88119,7 @@ class DistanceMeasurement extends Component {
|
|
|
88170
88119
|
this._visible = false;
|
|
88171
88120
|
this._originVisible = false;
|
|
88172
88121
|
this._targetVisible = false;
|
|
88122
|
+
this._useRotationAdjustment = false;
|
|
88173
88123
|
this._wireVisible = false;
|
|
88174
88124
|
this._axisVisible = false;
|
|
88175
88125
|
this._xAxisVisible = false;
|
|
@@ -88246,7 +88196,7 @@ class DistanceMeasurement extends Component {
|
|
|
88246
88196
|
this.lengthLabelEnabled = cfg.lengthLabelEnabled;
|
|
88247
88197
|
this.labelsVisible = cfg.labelsVisible;
|
|
88248
88198
|
this.labelsOnWires = cfg.labelsOnWires;
|
|
88249
|
-
this.
|
|
88199
|
+
this._useRotationAdjustment = cfg.useRotationAdjustment;
|
|
88250
88200
|
|
|
88251
88201
|
/**
|
|
88252
88202
|
* @type {number[]}
|
|
@@ -88308,7 +88258,7 @@ class DistanceMeasurement extends Component {
|
|
|
88308
88258
|
this._factors = math.transformVec3(this._axesBasis, delta);
|
|
88309
88259
|
|
|
88310
88260
|
this._measurementOrientation = determineMeasurementOrientation(this._originWorld, this._targetWorld, 0);
|
|
88311
|
-
if(this._measurementOrientation === 'Vertical' && this.
|
|
88261
|
+
if (this._measurementOrientation === 'Vertical' && this._useRotationAdjustment) {
|
|
88312
88262
|
this._wp[0] = this._originWorld[0];
|
|
88313
88263
|
this._wp[1] = this._originWorld[1];
|
|
88314
88264
|
this._wp[2] = this._originWorld[2];
|
|
@@ -88518,7 +88468,7 @@ class DistanceMeasurement extends Component {
|
|
|
88518
88468
|
}
|
|
88519
88469
|
|
|
88520
88470
|
if (!this._zAxisLabelCulled) {
|
|
88521
|
-
if(this._measurementOrientation === 'Vertical' && this.
|
|
88471
|
+
if (this._measurementOrientation === 'Vertical' && this._useRotationAdjustment) {
|
|
88522
88472
|
this._zAxisLabel.setPrefix("");
|
|
88523
88473
|
this._zAxisLabel.setText(tilde + Math.abs(math.lenVec3(math.subVec3(this._targetWorld, [this._originWorld[0], this._targetWorld[1], this._originWorld[2]], distVec3)) * scale).toFixed(2) + unitAbbrev);
|
|
88524
88474
|
}
|
|
@@ -88713,6 +88663,25 @@ class DistanceMeasurement extends Component {
|
|
|
88713
88663
|
return this._targetVisible;
|
|
88714
88664
|
}
|
|
88715
88665
|
|
|
88666
|
+
/**
|
|
88667
|
+
* Sets if the measurement is adjusted based on rotation
|
|
88668
|
+
*
|
|
88669
|
+
* @type {Boolean}
|
|
88670
|
+
*/
|
|
88671
|
+
set useRotationAdjustment(value) {
|
|
88672
|
+
value = value !== undefined ? Boolean(value) : this.plugin.useRotationAdjustment;
|
|
88673
|
+
this._useRotationAdjustment = value;
|
|
88674
|
+
}
|
|
88675
|
+
|
|
88676
|
+
/**
|
|
88677
|
+
* Gets if the measurement is adjusted based on rotation
|
|
88678
|
+
*
|
|
88679
|
+
* @type {Boolean}
|
|
88680
|
+
*/
|
|
88681
|
+
get useRotationAdjustment() {
|
|
88682
|
+
return this._useRotationAdjustment;
|
|
88683
|
+
}
|
|
88684
|
+
|
|
88716
88685
|
/**
|
|
88717
88686
|
* Sets if the axis-aligned wires between {@link DistanceMeasurement#origin} and {@link DistanceMeasurement#target} are enabled.
|
|
88718
88687
|
*
|
|
@@ -91482,12 +91451,6 @@ class FastNavPlugin extends Plugin {
|
|
|
91482
91451
|
class GLTFDefaultDataSource {
|
|
91483
91452
|
|
|
91484
91453
|
constructor(cfg = {}) {
|
|
91485
|
-
|
|
91486
|
-
/**
|
|
91487
|
-
* Set `true` to enable cache busting for HTTP GETs.
|
|
91488
|
-
* This is `true` by default.
|
|
91489
|
-
* @type {boolean}
|
|
91490
|
-
*/
|
|
91491
91454
|
this.cacheBuster = (cfg.cacheBuster !== false);
|
|
91492
91455
|
}
|
|
91493
91456
|
|
|
@@ -123753,7 +123716,13 @@ class StoreyViewsPlugin extends Plugin {
|
|
|
123753
123716
|
return null;
|
|
123754
123717
|
}
|
|
123755
123718
|
|
|
123756
|
-
|
|
123719
|
+
/**
|
|
123720
|
+
* Returns whether a position is above or below a building
|
|
123721
|
+
*
|
|
123722
|
+
* @param {Number[]} worldPos 3D World-space position.
|
|
123723
|
+
* @returns {String} ID of the lowest/highest story or null.
|
|
123724
|
+
*/
|
|
123725
|
+
isPositionAboveOrBelowBuilding(worldPos) {
|
|
123757
123726
|
const keys = Object.keys(this.storeys);
|
|
123758
123727
|
const ids = [keys[0], keys[keys.length-1]];
|
|
123759
123728
|
if(worldPos[1] < this.storeys[ids[0]].storeyAABB[1])
|
|
@@ -137850,6 +137819,7 @@ class LASLoaderPlugin extends Plugin {
|
|
|
137850
137819
|
}
|
|
137851
137820
|
|
|
137852
137821
|
const sceneModel = new SceneModel(this.viewer.scene, utils.apply(params, {
|
|
137822
|
+
maxGeometryBatchSize: MAX_VERTICES,
|
|
137853
137823
|
isModel: true
|
|
137854
137824
|
}));
|
|
137855
137825
|
|
|
@@ -141979,4 +141949,4 @@ class ZoneTranslateTouchControl extends ZoneTranslateControl {
|
|
|
141979
141949
|
}
|
|
141980
141950
|
}
|
|
141981
141951
|
|
|
141982
|
-
export { AlphaFormat, AmbientLight, AngleMeasurementEditMouseControl, AngleMeasurementEditTouchControl, AngleMeasurementsControl, AngleMeasurementsMouseControl, AngleMeasurementsPlugin, AngleMeasurementsTouchControl, AnnotationsPlugin, AxisGizmoPlugin, BCFViewpointsPlugin, Bitmap, ByteType, CameraMemento, CameraPath, CameraPathAnimation, CityJSONLoaderPlugin, ClampToEdgeWrapping, Component, CompressedMediaType, Configs, ContextMenu, CubicBezierCurve, Curve, DefaultLoadingManager, DepthFormat, DepthStencilFormat, DirLight, DistanceMeasurementEditControl, DistanceMeasurementEditMouseControl, DistanceMeasurementEditTouchControl, DistanceMeasurementsControl, DistanceMeasurementsMouseControl, DistanceMeasurementsPlugin, DistanceMeasurementsTouchControl, Dot3D, DotBIMDefaultDataSource, DotBIMLoaderPlugin, EdgeMaterial, EmphasisMaterial, FaceAlignedSectionPlanesPlugin, FastNavPlugin, FloatType, Fresnel, Frustum$1 as Frustum, FrustumPlane, GIFMediaType, GLTFDefaultDataSource, GLTFLoaderPlugin, HalfFloatType, ImagePlane, IntType, JPEGMediaType, KTX2TextureTranscoder, LASLoaderPlugin, LambertMaterial, LightMap, LineSet, LinearEncoding, LinearFilter, LinearMipMapLinearFilter, LinearMipMapNearestFilter, LinearMipmapLinearFilter, LinearMipmapNearestFilter, Loader, LoadingManager, LocaleService, LuminanceAlphaFormat, LuminanceFormat, Map$1 as Map, Marker, MarqueePicker, MarqueePickerMouseControl, Mesh, MeshSurfaceArea, MeshVolume, MetallicMaterial, MirroredRepeatWrapping, ModelMemento, NavCubePlugin, NearestFilter, NearestMipMapLinearFilter, NearestMipMapNearestFilter, NearestMipmapLinearFilter, NearestMipmapNearestFilter, Node$2 as Node, OBJLoaderPlugin, ObjectsKdTree3, ObjectsMemento, PNGMediaType, Path, PerformanceModel, PhongMaterial, PickResult, Plugin, PointLight, PointerCircle, PointerLens, QuadraticBezierCurve, Queue, RGBAFormat, RGBAIntegerFormat, RGBA_ASTC_10x10_Format, RGBA_ASTC_10x5_Format, RGBA_ASTC_10x6_Format, RGBA_ASTC_10x8_Format, RGBA_ASTC_12x10_Format, RGBA_ASTC_12x12_Format, RGBA_ASTC_4x4_Format, RGBA_ASTC_5x4_Format, RGBA_ASTC_5x5_Format, RGBA_ASTC_6x5_Format, RGBA_ASTC_6x6_Format, RGBA_ASTC_8x5_Format, RGBA_ASTC_8x6_Format, RGBA_ASTC_8x8_Format, RGBA_BPTC_Format, RGBA_ETC2_EAC_Format, RGBA_PVRTC_2BPPV1_Format, RGBA_PVRTC_4BPPV1_Format, RGBA_S3TC_DXT1_Format, RGBA_S3TC_DXT3_Format, RGBA_S3TC_DXT5_Format, RGBFormat, RGB_ETC1_Format, RGB_ETC2_Format, RGB_PVRTC_2BPPV1_Format, RGB_PVRTC_4BPPV1_Format, RGB_S3TC_DXT1_Format, RGFormat, RGIntegerFormat, ReadableGeometry, RedFormat, RedIntegerFormat, ReflectionMap, RepeatWrapping, STLDefaultDataSource, STLLoaderPlugin, SceneModel, SceneModelMesh, SceneModelTransform, SectionPlane, SectionPlanesPlugin, ShortType, Skybox, SkyboxesPlugin, SpecularMaterial, SplineCurve, SpriteMarker, StoreyViewsPlugin, Texture, TextureTranscoder, TreeViewPlugin, UnsignedByteType, UnsignedInt248Type, UnsignedIntType, UnsignedShort4444Type, UnsignedShort5551Type, UnsignedShortType, VBOGeometry, ViewCullPlugin, Viewer, WebIFCLoaderPlugin, WorkerPool$1 as WorkerPool, XKTDefaultDataSource, XKTLoaderPlugin, XML3DLoaderPlugin, ZoneEditControl, ZoneEditMouseControl, ZoneEditTouchControl, ZoneTranslateControl, ZoneTranslateMouseControl, ZoneTranslateTouchControl, ZonesMouseControl, ZonesPlugin, ZonesPolysurfaceMouseControl, ZonesPolysurfaceTouchControl, ZonesTouchControl, activateDraggableDot, activateDraggableDots, buildBoxGeometry, buildBoxLinesGeometry, buildBoxLinesGeometryFromAABB, buildCylinderGeometry, buildGridGeometry, buildLineGeometry, buildPlaneGeometry, buildPolylineGeometry, buildPolylineGeometryFromCurve, buildSphereGeometry, buildTorusGeometry, buildVectorTextGeometry, createRTCViewMat, frustumIntersectsAABB3, getKTX2TextureTranscoder, getPlaneRTCPos, isTriangleMeshSolid, load3DSGeometry, loadOBJGeometry, math, meshSurfaceArea, meshVolume, rtcToWorldPos, sRGBEncoding, setFrustum, stats, touchPointSelector
|
|
141952
|
+
export { AlphaFormat, AmbientLight, AngleMeasurementEditMouseControl, AngleMeasurementEditTouchControl, AngleMeasurementsControl, AngleMeasurementsMouseControl, AngleMeasurementsPlugin, AngleMeasurementsTouchControl, AnnotationsPlugin, AxisGizmoPlugin, BCFViewpointsPlugin, Bitmap, ByteType, CameraMemento, CameraPath, CameraPathAnimation, CityJSONLoaderPlugin, ClampToEdgeWrapping, Component, CompressedMediaType, Configs, ContextMenu, CubicBezierCurve, Curve, DefaultLoadingManager, DepthFormat, DepthStencilFormat, DirLight, DistanceMeasurementEditControl, DistanceMeasurementEditMouseControl, DistanceMeasurementEditTouchControl, DistanceMeasurementsControl, DistanceMeasurementsMouseControl, DistanceMeasurementsPlugin, DistanceMeasurementsTouchControl, Dot3D, DotBIMDefaultDataSource, DotBIMLoaderPlugin, EdgeMaterial, EmphasisMaterial, FaceAlignedSectionPlanesPlugin, FastNavPlugin, FloatType, Fresnel, Frustum$1 as Frustum, FrustumPlane, GIFMediaType, GLTFDefaultDataSource, GLTFLoaderPlugin, HalfFloatType, ImagePlane, IntType, JPEGMediaType, KTX2TextureTranscoder, LASLoaderPlugin, LambertMaterial, LightMap, LineSet, LinearEncoding, LinearFilter, LinearMipMapLinearFilter, LinearMipMapNearestFilter, LinearMipmapLinearFilter, LinearMipmapNearestFilter, Loader, LoadingManager, LocaleService, LuminanceAlphaFormat, LuminanceFormat, Map$1 as Map, Marker, MarqueePicker, MarqueePickerMouseControl, Mesh, MeshSurfaceArea, MeshVolume, MetallicMaterial, MirroredRepeatWrapping, ModelMemento, NavCubePlugin, NearestFilter, NearestMipMapLinearFilter, NearestMipMapNearestFilter, NearestMipmapLinearFilter, NearestMipmapNearestFilter, Node$2 as Node, OBJLoaderPlugin, ObjectsKdTree3, ObjectsMemento, PNGMediaType, Path, PerformanceModel, PhongMaterial, PickResult, Plugin, PointLight, PointerCircle, PointerLens, QuadraticBezierCurve, Queue, RGBAFormat, RGBAIntegerFormat, RGBA_ASTC_10x10_Format, RGBA_ASTC_10x5_Format, RGBA_ASTC_10x6_Format, RGBA_ASTC_10x8_Format, RGBA_ASTC_12x10_Format, RGBA_ASTC_12x12_Format, RGBA_ASTC_4x4_Format, RGBA_ASTC_5x4_Format, RGBA_ASTC_5x5_Format, RGBA_ASTC_6x5_Format, RGBA_ASTC_6x6_Format, RGBA_ASTC_8x5_Format, RGBA_ASTC_8x6_Format, RGBA_ASTC_8x8_Format, RGBA_BPTC_Format, RGBA_ETC2_EAC_Format, RGBA_PVRTC_2BPPV1_Format, RGBA_PVRTC_4BPPV1_Format, RGBA_S3TC_DXT1_Format, RGBA_S3TC_DXT3_Format, RGBA_S3TC_DXT5_Format, RGBFormat, RGB_ETC1_Format, RGB_ETC2_Format, RGB_PVRTC_2BPPV1_Format, RGB_PVRTC_4BPPV1_Format, RGB_S3TC_DXT1_Format, RGFormat, RGIntegerFormat, ReadableGeometry, RedFormat, RedIntegerFormat, ReflectionMap, RepeatWrapping, STLDefaultDataSource, STLLoaderPlugin, SceneModel, SceneModelMesh, SceneModelTransform, SectionPlane, SectionPlanesPlugin, ShortType, Skybox, SkyboxesPlugin, SpecularMaterial, SplineCurve, SpriteMarker, StoreyViewsPlugin, Texture, TextureTranscoder, TreeViewPlugin, UnsignedByteType, UnsignedInt248Type, UnsignedIntType, UnsignedShort4444Type, UnsignedShort5551Type, UnsignedShortType, VBOGeometry, ViewCullPlugin, Viewer, WebIFCLoaderPlugin, WorkerPool$1 as WorkerPool, XKTDefaultDataSource, XKTLoaderPlugin, XML3DLoaderPlugin, ZoneEditControl, ZoneEditMouseControl, ZoneEditTouchControl, ZoneTranslateControl, ZoneTranslateMouseControl, ZoneTranslateTouchControl, ZonesMouseControl, ZonesPlugin, ZonesPolysurfaceMouseControl, ZonesPolysurfaceTouchControl, ZonesTouchControl, activateDraggableDot, activateDraggableDots, buildBoxGeometry, buildBoxLinesGeometry, buildBoxLinesGeometryFromAABB, buildCylinderGeometry, buildGridGeometry, buildLineGeometry, buildPlaneGeometry, buildPolylineGeometry, buildPolylineGeometryFromCurve, buildSphereGeometry, buildTorusGeometry, buildVectorTextGeometry, createRTCViewMat, frustumIntersectsAABB3, getKTX2TextureTranscoder, getPlaneRTCPos, isTriangleMeshSolid, load3DSGeometry, loadOBJGeometry, math, meshSurfaceArea, meshVolume, rtcToWorldPos, sRGBEncoding, setFrustum, stats, touchPointSelector, transformToNode, utils, worldToRTCPos, worldToRTCPositions };
|