@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.
Files changed (32) hide show
  1. package/dist/plugins/components/AxesHelperComponent.js +8 -6
  2. package/dist/plugins/components/AxesHelperComponent.js.map +1 -1
  3. package/dist/plugins/components/AxesHelperComponent.min.js +1 -1
  4. package/dist/plugins/components/AxesHelperComponent.module.js +7 -5
  5. package/dist/plugins/components/AxesHelperComponent.module.js.map +1 -1
  6. package/dist/plugins/loaders/IFCXLoader.js.map +1 -1
  7. package/dist/plugins/loaders/IFCXLoader.module.js.map +1 -1
  8. package/dist/plugins/loaders/PotreeLoader.js +160 -0
  9. package/dist/plugins/loaders/PotreeLoader.js.map +1 -0
  10. package/dist/plugins/loaders/PotreeLoader.min.js +1 -0
  11. package/dist/plugins/loaders/PotreeLoader.module.js +68 -0
  12. package/dist/plugins/loaders/PotreeLoader.module.js.map +1 -0
  13. package/dist/viewer-three.js +41 -27
  14. package/dist/viewer-three.js.map +1 -1
  15. package/dist/viewer-three.min.js +2 -2
  16. package/dist/viewer-three.module.js +49 -31
  17. package/dist/viewer-three.module.js.map +1 -1
  18. package/lib/Viewer/Viewer.d.ts +3 -2
  19. package/package.json +6 -5
  20. package/plugins/components/AxesHelperComponent.ts +10 -6
  21. package/plugins/loaders/{IFCXCloudLoader.ts → IFCX/IFCXCloudLoader.ts} +1 -1
  22. package/plugins/loaders/{IFCXFileLoader.ts → IFCX/IFCXFileLoader.ts} +1 -1
  23. package/plugins/loaders/Potree/PotreeFileLoader.ts +106 -0
  24. package/plugins/loaders/Potree/PotreeModelImpl.ts +36 -0
  25. package/plugins/loaders/Potree/index.ts +28 -0
  26. package/src/Viewer/Viewer.ts +34 -10
  27. package/src/Viewer/components/ExtentsComponent.ts +1 -1
  28. package/src/Viewer/components/ResizeCanvasComponent.ts +1 -18
  29. package/src/Viewer/draggers/OrbitDragger.ts +9 -0
  30. package/src/Viewer/draggers/WalkDragger.ts +1 -0
  31. package/src/Viewer/helpers/WCSHelper.ts +3 -3
  32. /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
- const camera = this.viewer.camera;
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: "#aa0000"
2320
+ color: "#dd0000"
2326
2321
  });
2327
2322
  const matGreen = new MeshBasicMaterial({
2328
2323
  toneMapped: false,
2329
- color: "#00aa00"
2324
+ color: "#00dd00"
2330
2325
  });
2331
2326
  const matBlue = new MeshBasicMaterial({
2332
2327
  toneMapped: false,
2333
- color: "#0000aa"
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.renderTime = 0;
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.renderTime = performance.now();
4929
- this.render(this.renderTime);
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.renderNeeded = true;
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 (!(this.renderNeeded || force)) return;
5014
+ if (!this._renderNeeded && !force) return;
4997
5015
  if (!time) time = performance.now();
4998
- const deltaTime = (time - this.renderTime) / 1e3;
4999
- this.renderTime = time;
5000
- this.renderNeeded = false;
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);