@inweb/viewer-three 26.9.1 → 26.9.2
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/plugins/components/AxesHelperComponent.js +8 -6
- package/dist/plugins/components/AxesHelperComponent.js.map +1 -1
- package/dist/plugins/components/AxesHelperComponent.min.js +1 -1
- package/dist/plugins/components/AxesHelperComponent.module.js +7 -5
- package/dist/plugins/components/AxesHelperComponent.module.js.map +1 -1
- package/dist/plugins/loaders/IFCXLoader.js.map +1 -1
- package/dist/plugins/loaders/IFCXLoader.module.js.map +1 -1
- package/dist/plugins/loaders/PotreeLoader.js +160 -0
- package/dist/plugins/loaders/PotreeLoader.js.map +1 -0
- package/dist/plugins/loaders/PotreeLoader.min.js +1 -0
- package/dist/plugins/loaders/PotreeLoader.module.js +68 -0
- package/dist/plugins/loaders/PotreeLoader.module.js.map +1 -0
- package/dist/viewer-three.js +41 -27
- package/dist/viewer-three.js.map +1 -1
- package/dist/viewer-three.min.js +2 -2
- package/dist/viewer-three.module.js +49 -31
- package/dist/viewer-three.module.js.map +1 -1
- package/lib/Viewer/Viewer.d.ts +3 -2
- package/package.json +6 -5
- package/plugins/components/AxesHelperComponent.ts +10 -6
- package/plugins/loaders/{IFCXCloudLoader.ts → IFCX/IFCXCloudLoader.ts} +1 -1
- package/plugins/loaders/{IFCXFileLoader.ts → IFCX/IFCXFileLoader.ts} +1 -1
- package/plugins/loaders/Potree/PotreeFileLoader.ts +106 -0
- package/plugins/loaders/Potree/PotreeModelImpl.ts +36 -0
- package/plugins/loaders/Potree/index.ts +28 -0
- package/src/Viewer/Viewer.ts +34 -10
- package/src/Viewer/components/ExtentsComponent.ts +1 -1
- package/src/Viewer/components/ResizeCanvasComponent.ts +1 -18
- package/src/Viewer/draggers/OrbitDragger.ts +9 -0
- package/src/Viewer/draggers/WalkDragger.ts +1 -0
- package/src/Viewer/helpers/WCSHelper.ts +3 -3
- /package/plugins/loaders/{IFCXLoader.ts → IFCX/index.ts} +0 -0
|
@@ -785,6 +785,13 @@ class OrbitDragger {
|
|
|
785
785
|
this.viewer.target.copy(this.orbit.target);
|
|
786
786
|
this.viewer.update();
|
|
787
787
|
switch (this.orbit.state) {
|
|
788
|
+
case STATE.ROTATE:
|
|
789
|
+
case STATE.TOUCH_ROTATE:
|
|
790
|
+
this.viewer.emitEvent({
|
|
791
|
+
type: "orbit"
|
|
792
|
+
});
|
|
793
|
+
break;
|
|
794
|
+
|
|
788
795
|
case STATE.PAN:
|
|
789
796
|
case STATE.TOUCH_PAN:
|
|
790
797
|
this.viewer.emitEvent({
|
|
@@ -805,6 +812,9 @@ class OrbitDragger {
|
|
|
805
812
|
});
|
|
806
813
|
break;
|
|
807
814
|
}
|
|
815
|
+
this.viewer.emitEvent({
|
|
816
|
+
type: "changecamera"
|
|
817
|
+
});
|
|
808
818
|
this.changed = true;
|
|
809
819
|
};
|
|
810
820
|
this.stopContextMenu = event => {
|
|
@@ -1448,6 +1458,9 @@ class WalkDragger {
|
|
|
1448
1458
|
};
|
|
1449
1459
|
this.controlsChange = () => {
|
|
1450
1460
|
this.viewer.update();
|
|
1461
|
+
this.viewer.emitEvent({
|
|
1462
|
+
type: "changecamera"
|
|
1463
|
+
});
|
|
1451
1464
|
};
|
|
1452
1465
|
this.walkspeedChange = event => {
|
|
1453
1466
|
this.viewer.emitEvent(event);
|
|
@@ -1898,7 +1911,7 @@ class ExtentsComponent {
|
|
|
1898
1911
|
const extents = new Box3;
|
|
1899
1912
|
this.viewer.models.forEach((model => model.getExtents(extents)));
|
|
1900
1913
|
this.viewer.extents.copy(extents);
|
|
1901
|
-
extents.getCenter(this.viewer.target);
|
|
1914
|
+
this.viewer.extents.getCenter(this.viewer.target);
|
|
1902
1915
|
};
|
|
1903
1916
|
this.viewer = viewer;
|
|
1904
1917
|
this.viewer.addEventListener("databasechunk", this.syncExtents);
|
|
@@ -1990,25 +2003,7 @@ class ResizeCanvasComponent {
|
|
|
1990
2003
|
this.resizeViewer = entries => {
|
|
1991
2004
|
const {width: width, height: height} = entries[0].contentRect;
|
|
1992
2005
|
if (!width || !height) return;
|
|
1993
|
-
|
|
1994
|
-
const aspect = width / height;
|
|
1995
|
-
if (camera.isPerspectiveCamera) {
|
|
1996
|
-
camera.aspect = aspect;
|
|
1997
|
-
camera.updateProjectionMatrix();
|
|
1998
|
-
}
|
|
1999
|
-
if (camera.isOrthographicCamera) {
|
|
2000
|
-
camera.left = camera.bottom * aspect;
|
|
2001
|
-
camera.right = camera.top * aspect;
|
|
2002
|
-
camera.updateProjectionMatrix();
|
|
2003
|
-
}
|
|
2004
|
-
this.viewer.renderer.setSize(width, height, true);
|
|
2005
|
-
this.viewer.composer.setSize(width, height);
|
|
2006
|
-
this.viewer.update(true);
|
|
2007
|
-
this.viewer.emitEvent({
|
|
2008
|
-
type: "resize",
|
|
2009
|
-
width: width,
|
|
2010
|
-
height: height
|
|
2011
|
-
});
|
|
2006
|
+
this.viewer.setSize(width, height);
|
|
2012
2007
|
};
|
|
2013
2008
|
this.viewer = viewer;
|
|
2014
2009
|
this.resizeObserver = new ResizeObserver(this.resizeViewer);
|
|
@@ -2322,15 +2317,15 @@ class WCSHelper extends Object3D {
|
|
|
2322
2317
|
this.orthoCamera.position.set(0, 0, 2);
|
|
2323
2318
|
const matRed = new MeshBasicMaterial({
|
|
2324
2319
|
toneMapped: false,
|
|
2325
|
-
color: "#
|
|
2320
|
+
color: "#dd0000"
|
|
2326
2321
|
});
|
|
2327
2322
|
const matGreen = new MeshBasicMaterial({
|
|
2328
2323
|
toneMapped: false,
|
|
2329
|
-
color: "#
|
|
2324
|
+
color: "#00dd00"
|
|
2330
2325
|
});
|
|
2331
2326
|
const matBlue = new MeshBasicMaterial({
|
|
2332
2327
|
toneMapped: false,
|
|
2333
|
-
color: "#
|
|
2328
|
+
color: "#0000dd"
|
|
2334
2329
|
});
|
|
2335
2330
|
const spriteRed = this.getSpriteMaterial(matRed.color, "X");
|
|
2336
2331
|
const spriteGreen = this.getSpriteMaterial(matGreen.color, "Y");
|
|
@@ -4859,7 +4854,7 @@ class Viewer extends EventEmitter2 {
|
|
|
4859
4854
|
this.target = new Vector3;
|
|
4860
4855
|
this._activeDragger = null;
|
|
4861
4856
|
this._components = [];
|
|
4862
|
-
this.
|
|
4857
|
+
this._renderTime = 0;
|
|
4863
4858
|
this.render = this.render.bind(this);
|
|
4864
4859
|
this.update = this.update.bind(this);
|
|
4865
4860
|
this._markup = new Markup;
|
|
@@ -4917,6 +4912,7 @@ class Viewer extends EventEmitter2 {
|
|
|
4917
4912
|
this.composer.addPass(this.fxaaPass);
|
|
4918
4913
|
this.composer.addPass(this.ssaaRenderPass);
|
|
4919
4914
|
this.composer.addPass(this.outputPass);
|
|
4915
|
+
this.composer.setSize(width, height);
|
|
4920
4916
|
this.canvas = canvas;
|
|
4921
4917
|
this.canvasEvents.forEach((x => canvas.addEventListener(x, this.canvaseventlistener)));
|
|
4922
4918
|
this._markup.initialize(this.canvas, this.canvasEvents, this, this);
|
|
@@ -4925,8 +4921,8 @@ class Viewer extends EventEmitter2 {
|
|
|
4925
4921
|
}
|
|
4926
4922
|
this.syncOptions();
|
|
4927
4923
|
this.syncOverlay();
|
|
4928
|
-
this.
|
|
4929
|
-
this.render(this.
|
|
4924
|
+
this._renderTime = performance.now();
|
|
4925
|
+
this.render(this._renderTime);
|
|
4930
4926
|
if (typeof onProgress === "function") onProgress(new ProgressEvent("progress", {
|
|
4931
4927
|
lengthComputable: true,
|
|
4932
4928
|
loaded: 1,
|
|
@@ -4982,8 +4978,30 @@ class Viewer extends EventEmitter2 {
|
|
|
4982
4978
|
isInitialized() {
|
|
4983
4979
|
return !!this.renderer;
|
|
4984
4980
|
}
|
|
4981
|
+
setSize(width, height, updateStyle = true) {
|
|
4982
|
+
if (!this.renderer) return;
|
|
4983
|
+
const camera = this.camera;
|
|
4984
|
+
const aspect = width / height;
|
|
4985
|
+
if (camera.isPerspectiveCamera) {
|
|
4986
|
+
camera.aspect = aspect;
|
|
4987
|
+
camera.updateProjectionMatrix();
|
|
4988
|
+
}
|
|
4989
|
+
if (camera.isOrthographicCamera) {
|
|
4990
|
+
camera.left = camera.bottom * aspect;
|
|
4991
|
+
camera.right = camera.top * aspect;
|
|
4992
|
+
camera.updateProjectionMatrix();
|
|
4993
|
+
}
|
|
4994
|
+
this.renderer.setSize(width, height, updateStyle);
|
|
4995
|
+
this.composer.setSize(width, height);
|
|
4996
|
+
this.update(true);
|
|
4997
|
+
this.emitEvent({
|
|
4998
|
+
type: "resize",
|
|
4999
|
+
width: width,
|
|
5000
|
+
height: height
|
|
5001
|
+
});
|
|
5002
|
+
}
|
|
4985
5003
|
update(force = false) {
|
|
4986
|
-
this.
|
|
5004
|
+
this._renderNeeded = true;
|
|
4987
5005
|
if (force) this.render();
|
|
4988
5006
|
this.emitEvent({
|
|
4989
5007
|
type: "update",
|
|
@@ -4993,11 +5011,11 @@ class Viewer extends EventEmitter2 {
|
|
|
4993
5011
|
render(time, force = false) {
|
|
4994
5012
|
var _a, _b;
|
|
4995
5013
|
if (!this.renderer) return;
|
|
4996
|
-
if (!
|
|
5014
|
+
if (!this._renderNeeded && !force) return;
|
|
4997
5015
|
if (!time) time = performance.now();
|
|
4998
|
-
const deltaTime = (time - this.
|
|
4999
|
-
this.
|
|
5000
|
-
this.
|
|
5016
|
+
const deltaTime = (time - this._renderTime) / 1e3;
|
|
5017
|
+
this._renderTime = time;
|
|
5018
|
+
this._renderNeeded = false;
|
|
5001
5019
|
if (this.options.antialiasing === true || this.options.antialiasing === "msaa") {
|
|
5002
5020
|
this.renderer.render(this.scene, this.camera);
|
|
5003
5021
|
this.renderer.render(this.helpers, this.camera);
|