@inweb/viewer-three 26.5.5 → 26.6.1

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 (28) hide show
  1. package/dist/plugins/components/LightHelperComponent.js +9 -3
  2. package/dist/plugins/components/LightHelperComponent.js.map +1 -1
  3. package/dist/plugins/components/LightHelperComponent.min.js +1 -1
  4. package/dist/plugins/components/LightHelperComponent.module.js +5 -4
  5. package/dist/plugins/components/LightHelperComponent.module.js.map +1 -1
  6. package/dist/plugins/components/RoomEnvironmentComponent.js +178 -0
  7. package/dist/plugins/components/RoomEnvironmentComponent.js.map +1 -0
  8. package/dist/plugins/components/RoomEnvironmentComponent.min.js +1 -0
  9. package/dist/plugins/components/RoomEnvironmentComponent.module.js +21 -0
  10. package/dist/plugins/components/RoomEnvironmentComponent.module.js.map +1 -0
  11. package/dist/plugins/loaders/IFCXLoader.js +21 -27
  12. package/dist/plugins/loaders/IFCXLoader.js.map +1 -1
  13. package/dist/plugins/loaders/IFCXLoader.min.js +1 -1
  14. package/dist/plugins/loaders/IFCXLoader.module.js +7 -18
  15. package/dist/plugins/loaders/IFCXLoader.module.js.map +1 -1
  16. package/dist/viewer-three.js +25 -173
  17. package/dist/viewer-three.js.map +1 -1
  18. package/dist/viewer-three.min.js +2 -2
  19. package/dist/viewer-three.module.js +21 -21
  20. package/dist/viewer-three.module.js.map +1 -1
  21. package/lib/Viewer/components/LightComponent.d.ts +3 -1
  22. package/package.json +5 -5
  23. package/plugins/components/LightHelperComponent.ts +10 -5
  24. package/{src/Viewer → plugins}/components/RoomEnvironmentComponent.ts +4 -4
  25. package/plugins/loaders/IFCX/render.js +26 -21
  26. package/src/Viewer/components/LightComponent.ts +33 -4
  27. package/src/Viewer/components/index.ts +0 -2
  28. package/lib/Viewer/components/RoomEnvironmentComponent.d.ts +0 -7
@@ -2,12 +2,10 @@ import { draggersRegistry, commandsRegistry, componentsRegistry, Loader, loaders
2
2
 
3
3
  export * from "@inweb/viewer-core";
4
4
 
5
- import { Line, Vector3, BufferGeometry, Float32BufferAttribute, LineBasicMaterial, Mesh, MeshBasicMaterial, DoubleSide, EventDispatcher, MOUSE, TOUCH, Spherical, Quaternion, Vector2, Plane, Object3D, Matrix4, Vector4, Raycaster, Controls, Clock, Box3, Sphere, MathUtils, Color, PMREMGenerator, AmbientLight, DirectionalLight, OrthographicCamera, CylinderGeometry, Sprite, CanvasTexture, SRGBColorSpace, SpriteMaterial, LoadingManager, LoaderUtils, Scene, PerspectiveCamera, WebGLRenderer, LinearToneMapping } from "three";
5
+ import { Line, Vector3, BufferGeometry, Float32BufferAttribute, LineBasicMaterial, Mesh, MeshBasicMaterial, DoubleSide, EventDispatcher, MOUSE, TOUCH, Spherical, Quaternion, Vector2, Plane, Object3D, Matrix4, Vector4, Raycaster, Controls, Clock, Box3, Sphere, MathUtils, Color, AmbientLight, DirectionalLight, HemisphereLight, OrthographicCamera, CylinderGeometry, Sprite, CanvasTexture, SRGBColorSpace, SpriteMaterial, LoadingManager, LoaderUtils, Scene, PerspectiveCamera, WebGLRenderer, LinearToneMapping } from "three";
6
6
 
7
7
  import { TransformControls } from "three/examples/jsm/controls/TransformControls.js";
8
8
 
9
- import { RoomEnvironment } from "three/examples/jsm/environments/RoomEnvironment.js";
10
-
11
9
  import { GLTFLoader } from "three/examples/jsm/loaders/GLTFLoader.js";
12
10
 
13
11
  import { EventEmitter2 } from "@inweb/eventemitter2";
@@ -1957,19 +1955,6 @@ class BackgroundComponent {
1957
1955
  }
1958
1956
  }
1959
1957
 
1960
- class RoomEnvironmentComponent {
1961
- constructor(viewer) {
1962
- this.viewer = viewer;
1963
- const environment = new RoomEnvironment;
1964
- const pmremGenerator = new PMREMGenerator(this.viewer.renderer);
1965
- this.viewer.scene.environment = pmremGenerator.fromScene(environment).texture;
1966
- environment.dispose();
1967
- }
1968
- dispose() {
1969
- this.viewer.scene.environment = undefined;
1970
- }
1971
- }
1972
-
1973
1958
  class CameraComponent {
1974
1959
  constructor(viewer) {
1975
1960
  this.geometryEnd = () => {
@@ -2043,20 +2028,33 @@ class LightComponent {
2043
2028
  this.geometryEnd = () => {
2044
2029
  this.ambientLight.removeFromParent();
2045
2030
  this.directionalLight.removeFromParent();
2031
+ this.frontLight.removeFromParent();
2032
+ this.hemisphereLight.removeFromParent();
2046
2033
  if (this.viewer.extents.isEmpty()) return;
2047
2034
  const extentsCenter = this.viewer.extents.getCenter(new Vector3);
2048
- const extentsSize = this.viewer.extents.getBoundingSphere(new Sphere).radius * 2;
2049
- this.directionalLight.position.set(.5, 0, .866).multiplyScalar(extentsSize).add(extentsCenter);
2035
+ const extentsSize = this.viewer.extents.getBoundingSphere(new Sphere).radius;
2036
+ this.directionalLight.position.set(.5, 0, .866).multiplyScalar(extentsSize * 2).add(extentsCenter);
2050
2037
  this.directionalLight.target.position.copy(extentsCenter);
2038
+ this.frontLight.position.set(0, extentsSize * 2, 0).add(extentsCenter);
2039
+ this.frontLight.target.position.copy(extentsCenter);
2040
+ this.hemisphereLight.position.set(0, extentsSize * 3, 0).add(extentsCenter);
2051
2041
  this.viewer.scene.add(this.ambientLight);
2052
2042
  this.viewer.scene.add(this.directionalLight);
2043
+ this.viewer.scene.add(this.frontLight);
2044
+ this.viewer.scene.add(this.hemisphereLight);
2053
2045
  };
2054
2046
  this.viewer = viewer;
2055
- this.ambientLight = new AmbientLight(16777215, 0);
2047
+ this.ambientLight = new AmbientLight(16777215, 1);
2056
2048
  this.viewer.scene.add(this.ambientLight);
2057
2049
  this.directionalLight = new DirectionalLight(16777215, 1);
2058
2050
  this.directionalLight.position.set(.5, 0, .866);
2059
2051
  this.viewer.scene.add(this.directionalLight);
2052
+ this.frontLight = new DirectionalLight(16777215, 1.25);
2053
+ this.frontLight.position.set(0, 1, 0);
2054
+ this.viewer.scene.add(this.frontLight);
2055
+ this.hemisphereLight = new HemisphereLight(16777215, 4473924, 1.25);
2056
+ this.hemisphereLight.position.set(0, 0, 1);
2057
+ this.viewer.scene.add(this.hemisphereLight);
2060
2058
  this.viewer.addEventListener("databasechunk", this.geometryEnd);
2061
2059
  this.viewer.addEventListener("clear", this.geometryEnd);
2062
2060
  }
@@ -2065,6 +2063,10 @@ class LightComponent {
2065
2063
  this.ambientLight.dispose();
2066
2064
  this.directionalLight.removeFromParent();
2067
2065
  this.directionalLight.dispose();
2066
+ this.frontLight.removeFromParent();
2067
+ this.frontLight.dispose();
2068
+ this.hemisphereLight.removeFromParent();
2069
+ this.hemisphereLight.dispose();
2068
2070
  this.viewer.removeEventListener("databasechunk", this.geometryEnd);
2069
2071
  this.viewer.removeEventListener("clear", this.geometryEnd);
2070
2072
  }
@@ -2230,8 +2232,6 @@ components.registerComponent("CameraComponent", (viewer => new CameraComponent(v
2230
2232
 
2231
2233
  components.registerComponent("BackgroundComponent", (viewer => new BackgroundComponent(viewer)));
2232
2234
 
2233
- components.registerComponent("RoomEnvironmentComponent", (viewer => new RoomEnvironmentComponent(viewer)));
2234
-
2235
2235
  components.registerComponent("LightComponent", (viewer => new LightComponent(viewer)));
2236
2236
 
2237
2237
  components.registerComponent("ResizeCanvasComponent", (viewer => new ResizeCanvasComponent(viewer)));