@inweb/viewer-three 27.4.7 → 27.6.0

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 (94) hide show
  1. package/dist/extensions/components/AxesHelperComponent.js +3 -0
  2. package/dist/extensions/components/AxesHelperComponent.js.map +1 -1
  3. package/dist/extensions/components/AxesHelperComponent.min.js +1 -1
  4. package/dist/extensions/components/AxesHelperComponent.module.js +3 -0
  5. package/dist/extensions/components/AxesHelperComponent.module.js.map +1 -1
  6. package/dist/extensions/components/ExtentsHelperComponent.js +6 -2
  7. package/dist/extensions/components/ExtentsHelperComponent.js.map +1 -1
  8. package/dist/extensions/components/ExtentsHelperComponent.min.js +1 -1
  9. package/dist/extensions/components/ExtentsHelperComponent.module.js +6 -2
  10. package/dist/extensions/components/ExtentsHelperComponent.module.js.map +1 -1
  11. package/dist/extensions/components/GridHelperComponent.js +1 -0
  12. package/dist/extensions/components/GridHelperComponent.js.map +1 -1
  13. package/dist/extensions/components/GridHelperComponent.min.js +1 -1
  14. package/dist/extensions/components/GridHelperComponent.module.js +1 -0
  15. package/dist/extensions/components/GridHelperComponent.module.js.map +1 -1
  16. package/dist/extensions/components/LightHelperComponent.js +2 -1
  17. package/dist/extensions/components/LightHelperComponent.js.map +1 -1
  18. package/dist/extensions/components/LightHelperComponent.min.js +1 -1
  19. package/dist/extensions/components/LightHelperComponent.module.js +2 -1
  20. package/dist/extensions/components/LightHelperComponent.module.js.map +1 -1
  21. package/dist/extensions/components/StatsPanelComponent.js +0 -1
  22. package/dist/extensions/components/StatsPanelComponent.js.map +1 -1
  23. package/dist/extensions/components/StatsPanelComponent.min.js +1 -1
  24. package/dist/extensions/components/StatsPanelComponent.module.js +0 -1
  25. package/dist/extensions/components/StatsPanelComponent.module.js.map +1 -1
  26. package/dist/extensions/loaders/GLTFCloudLoader.js +7 -2
  27. package/dist/extensions/loaders/GLTFCloudLoader.js.map +1 -1
  28. package/dist/extensions/loaders/GLTFCloudLoader.min.js +1 -1
  29. package/dist/extensions/loaders/GLTFCloudLoader.module.js +7 -2
  30. package/dist/extensions/loaders/GLTFCloudLoader.module.js.map +1 -1
  31. package/dist/extensions/loaders/GLTFFileLoader.js +2 -1
  32. package/dist/extensions/loaders/GLTFFileLoader.js.map +1 -1
  33. package/dist/extensions/loaders/GLTFFileLoader.min.js +1 -1
  34. package/dist/extensions/loaders/GLTFFileLoader.module.js +2 -1
  35. package/dist/extensions/loaders/GLTFFileLoader.module.js.map +1 -1
  36. package/dist/extensions/loaders/IFCXLoader.js +10 -5
  37. package/dist/extensions/loaders/IFCXLoader.js.map +1 -1
  38. package/dist/extensions/loaders/IFCXLoader.min.js +1 -1
  39. package/dist/extensions/loaders/IFCXLoader.module.js +10 -5
  40. package/dist/extensions/loaders/IFCXLoader.module.js.map +1 -1
  41. package/dist/viewer-three.js +1901 -569
  42. package/dist/viewer-three.js.map +1 -1
  43. package/dist/viewer-three.min.js +4 -4
  44. package/dist/viewer-three.module.js +1366 -451
  45. package/dist/viewer-three.module.js.map +1 -1
  46. package/extensions/components/AxesHelperComponent.ts +3 -0
  47. package/extensions/components/ExtentsHelperComponent.ts +5 -2
  48. package/extensions/components/GridHelperComponent.ts +1 -0
  49. package/extensions/components/LightHelperComponent.ts +2 -1
  50. package/extensions/components/StatsPanelComponent.ts +0 -1
  51. package/extensions/loaders/GLTFCloudLoader.ts +8 -2
  52. package/extensions/loaders/GLTFFileLoader.ts +3 -2
  53. package/extensions/loaders/IFCX/IFCXFileLoader.ts +11 -5
  54. package/lib/Viewer/Viewer.d.ts +6 -8
  55. package/lib/Viewer/components/CameraComponent.d.ts +1 -1
  56. package/lib/Viewer/components/ClippingPlaneComponent.d.ts +8 -0
  57. package/lib/Viewer/components/HighlighterComponent.d.ts +2 -2
  58. package/lib/Viewer/components/InfoComponent.d.ts +1 -1
  59. package/lib/Viewer/components/SectionsComponent.d.ts +15 -0
  60. package/lib/Viewer/components/WCSHelperComponent.d.ts +2 -2
  61. package/lib/Viewer/draggers/CuttingPlaneDragger.d.ts +6 -6
  62. package/lib/Viewer/draggers/OrbitDragger.d.ts +1 -1
  63. package/lib/Viewer/measurement/Snapper.d.ts +4 -4
  64. package/package.json +5 -5
  65. package/src/Viewer/Viewer.ts +59 -48
  66. package/src/Viewer/commands/GetSelected2.ts +1 -1
  67. package/src/Viewer/commands/SetSelected.ts +1 -1
  68. package/src/Viewer/commands/index.ts +1 -1
  69. package/src/Viewer/components/BackgroundComponent.ts +2 -1
  70. package/src/Viewer/components/CameraComponent.ts +6 -7
  71. package/src/Viewer/components/CanvasRemoveComponent.ts +0 -1
  72. package/src/Viewer/{scenes/Helpers.ts → components/ClippingPlaneComponent.ts} +22 -12
  73. package/src/Viewer/components/HighlighterComponent.ts +9 -5
  74. package/src/Viewer/components/HighlighterUtils.ts +2 -2
  75. package/src/Viewer/components/InfoComponent.ts +4 -4
  76. package/src/Viewer/components/SectionsComponent.ts +119 -0
  77. package/src/Viewer/components/SelectionComponent.ts +5 -3
  78. package/src/Viewer/components/WCSHelperComponent.ts +8 -6
  79. package/src/Viewer/components/index.ts +4 -0
  80. package/src/Viewer/draggers/CuttingPlaneDragger.ts +57 -34
  81. package/src/Viewer/draggers/MeasureLineDragger.ts +1 -1
  82. package/src/Viewer/draggers/OrbitDragger.ts +3 -3
  83. package/src/Viewer/helpers/SectionsHelper.js +1061 -0
  84. package/src/Viewer/helpers/WCSHelper.ts +31 -5
  85. package/src/Viewer/loaders/DynamicGltfLoader/DynamicGltfLoader.js +417 -92
  86. package/src/Viewer/loaders/DynamicGltfLoader/DynamicModelImpl.ts +19 -14
  87. package/src/Viewer/loaders/DynamicGltfLoader/GltfStructure.js +76 -9
  88. package/src/Viewer/loaders/GLTFBinaryParser.ts +2 -2
  89. package/src/Viewer/loaders/GLTFCloudDynamicLoader.ts +3 -2
  90. package/src/Viewer/loaders/GLTFFileDynamicLoader.ts +6 -4
  91. package/src/Viewer/measurement/Snapper.ts +6 -7
  92. package/src/Viewer/models/ModelImpl.ts +65 -28
  93. package/lib/Viewer/scenes/Helpers.d.ts +0 -7
  94. package/src/Viewer/postprocessing/SSAARenderPass.js +0 -245
@@ -76,12 +76,14 @@ class AxesHelperComponent implements IComponent {
76
76
  this.axesHelper1.position.set(0, 0, 0);
77
77
  this.axesHelper1.scale.setScalar(extentsSize * 1.5);
78
78
  this.viewer.helpers.add(this.axesHelper1);
79
+ this.viewer.update();
79
80
 
80
81
  if (this.viewer.models.length < 1) return;
81
82
 
82
83
  this.axesHelper2.position.copy(extentsCenter);
83
84
  this.axesHelper2.scale.setScalar(extentsSize);
84
85
  this.viewer.helpers.add(this.axesHelper2);
86
+ this.viewer.update();
85
87
 
86
88
  if (this.viewer.models.length < 2) return;
87
89
 
@@ -95,6 +97,7 @@ class AxesHelperComponent implements IComponent {
95
97
 
96
98
  this.modelHelpers.push(helper);
97
99
  this.viewer.helpers.add(helper);
100
+ this.viewer.update();
98
101
  });
99
102
  };
100
103
  }
@@ -74,17 +74,20 @@ class ExtentsHelperComponent implements IComponent {
74
74
 
75
75
  this.boxHelper.box = this.viewer.extents.clone();
76
76
  this.viewer.helpers.add(this.boxHelper);
77
+ this.viewer.update();
77
78
 
78
79
  if (this.viewer.models.length < 2) return;
79
80
 
80
- this.viewer.models.forEach((model) => {
81
+ for (const model of this.viewer.models) {
81
82
  const extents = model.getExtents(new Box3());
83
+ if (extents.isEmpty()) continue;
82
84
 
83
85
  const helper = new Box3Helper(extents, "#ff0000");
84
86
 
85
87
  this.modelHelpers.push(helper);
86
88
  this.viewer.helpers.add(helper);
87
- });
89
+ }
90
+ this.viewer.update();
88
91
  };
89
92
  }
90
93
 
@@ -59,6 +59,7 @@ class GridHelperComponent implements IComponent {
59
59
  this.gridHelper.quaternion.setFromUnitVectors(upY, up);
60
60
 
61
61
  this.viewer.helpers.add(this.gridHelper);
62
+ this.viewer.update();
62
63
  };
63
64
  }
64
65
 
@@ -57,7 +57,7 @@ class LightHelperComponent implements IComponent {
57
57
  const helperSize = extentsSize / 20;
58
58
 
59
59
  this.viewer.scene.traverse((object: any) => {
60
- let helper: DirectionalLightHelper | HemisphereLightHelper | PointLightHelper;
60
+ let helper: DirectionalLightHelper | HemisphereLightHelper | PointLightHelper | null = null;
61
61
 
62
62
  if (object.isDirectionalLight) helper = new DirectionalLightHelper(object, helperSize, "#aa0000");
63
63
  else if (object.isHemisphereLight) helper = new HemisphereLightHelper(object, helperSize, "#ff9800");
@@ -66,6 +66,7 @@ class LightHelperComponent implements IComponent {
66
66
  if (helper) {
67
67
  this.lightHelpers.push(helper);
68
68
  this.viewer.helpers.add(helper);
69
+ this.viewer.update();
69
70
  }
70
71
  });
71
72
  };
@@ -45,7 +45,6 @@ class StatsPanelComponent implements IComponent {
45
45
  this.viewer.removeEventListener("animate", this.updateViewer);
46
46
 
47
47
  this.stats.dom.remove();
48
- this.stats = undefined;
49
48
  }
50
49
 
51
50
  updateStats = () => {
@@ -26,10 +26,16 @@ import { GLTFLoadingManager, Loader, loaders, ModelImpl, Viewer } from "@inweb/v
26
26
 
27
27
  class GLTFCloudLoader extends Loader {
28
28
  public viewer: Viewer;
29
+ private manager: GLTFLoadingManager | null;
29
30
 
30
31
  constructor(viewer: Viewer) {
31
32
  super();
32
33
  this.viewer = viewer;
34
+ this.manager = null;
35
+ }
36
+
37
+ override dispose() {
38
+ if (this.manager) this.manager.dispose();
33
39
  }
34
40
 
35
41
  override isSupport(file: any): boolean {
@@ -43,9 +49,9 @@ class GLTFCloudLoader extends Loader {
43
49
 
44
50
  override async load(model: any): Promise<this> {
45
51
  const url = `${model.httpClient.serverUrl}${model.path}/${model.database}`;
46
- const manager = new GLTFLoadingManager(url);
52
+ this.manager = new GLTFLoadingManager(url);
47
53
 
48
- const loader = new GLTFLoader(manager);
54
+ const loader = new GLTFLoader(this.manager);
49
55
  loader.setRequestHeader(model.httpClient.headers);
50
56
 
51
57
  const progress = (event: ProgressEvent) => {
@@ -26,18 +26,19 @@ import { GLTFLoadingManager, GLTFLoadParams, Loader, loaders, ModelImpl, Viewer
26
26
 
27
27
  export class GLTFFileLoader extends Loader {
28
28
  public viewer: Viewer;
29
- private manager: GLTFLoadingManager;
29
+ private manager: GLTFLoadingManager | null;
30
30
 
31
31
  constructor(viewer: Viewer) {
32
32
  super();
33
33
  this.viewer = viewer;
34
+ this.manager = null;
34
35
  }
35
36
 
36
37
  override dispose() {
37
38
  if (this.manager) this.manager.dispose();
38
39
  }
39
40
 
40
- override isSupport(file: any, format?: string): boolean {
41
+ override isSupport(file: any, format = ""): boolean {
41
42
  return (
42
43
  (typeof file === "string" || file instanceof globalThis.File || file instanceof ArrayBuffer) &&
43
44
  /(gltf|glb)$/i.test(format)
@@ -26,13 +26,19 @@ import { IFCXLoader } from "./IFCXLoader";
26
26
 
27
27
  export class IFCXFileLoader extends Loader {
28
28
  public viewer: Viewer;
29
+ private manager: GLTFLoadingManager | null;
29
30
 
30
31
  constructor(viewer: Viewer) {
31
32
  super();
32
33
  this.viewer = viewer;
34
+ this.manager = null;
33
35
  }
34
36
 
35
- override isSupport(file: any, format?: string): boolean {
37
+ override dispose() {
38
+ if (this.manager) this.manager.dispose();
39
+ }
40
+
41
+ override isSupport(file: any, format = ""): boolean {
36
42
  return (
37
43
  (typeof file === "string" || file instanceof globalThis.File || file instanceof ArrayBuffer) &&
38
44
  /(ifcx)$/i.test(format)
@@ -40,10 +46,10 @@ export class IFCXFileLoader extends Loader {
40
46
  }
41
47
 
42
48
  override async load(file: any, format?: string, params: GLTFLoadParams = {}): Promise<this> {
43
- const manager = new GLTFLoadingManager(file, params);
49
+ this.manager = new GLTFLoadingManager(file, params);
44
50
 
45
- const loader = new IFCXLoader(manager);
46
- loader.setPath(manager.path);
51
+ const loader = new IFCXLoader(this.manager);
52
+ loader.setPath(this.manager.path);
47
53
  loader.setCrossOrigin(params.crossOrigin || loader.crossOrigin);
48
54
  loader.setWithCredentials(params.withCredentials || loader.withCredentials);
49
55
 
@@ -53,7 +59,7 @@ export class IFCXFileLoader extends Loader {
53
59
  this.viewer.emitEvent({ type: "geometryprogress", data: progress, file });
54
60
  };
55
61
 
56
- const scene = await loader.loadAsync(manager.fileURL, progress);
62
+ const scene = await loader.loadAsync(this.manager.fileURL, progress);
57
63
  if (!this.viewer.scene) return this;
58
64
 
59
65
  let handle = 1;
@@ -1,16 +1,15 @@
1
- import { Box3, Object3D, OrthographicCamera, PerspectiveCamera, Scene, Vector3, WebGLRenderer } from "three";
1
+ import { Box3, Group, Object3D, OrthographicCamera, PerspectiveCamera, Plane, Scene, Vector3, WebGLRenderer } from "three";
2
2
  import { EffectComposer } from "three/examples/jsm/postprocessing/EffectComposer.js";
3
3
  import { RenderPass } from "three/examples/jsm/postprocessing/RenderPass.js";
4
4
  import { FXAAPass } from "three/examples/jsm/postprocessing/FXAAPass.js";
5
5
  import { SMAAPass } from "three/examples/jsm/postprocessing/SMAAPass.js";
6
- import { SSAARenderPass } from "./postprocessing/SSAARenderPass.js";
6
+ import { SSAARenderPass } from "three/examples/jsm/postprocessing/SSAARenderPass.js";
7
7
  import { OutputPass } from "three/examples/jsm/postprocessing/OutputPass.js";
8
8
  import { EventEmitter2 } from "@inweb/eventemitter2";
9
9
  import { Assembly, Client, Model, File } from "@inweb/client";
10
10
  import { CanvasEventMap, FileSource, IComponent, IDragger, IInfo, ILoader, IOptions, IViewer, IViewpoint, OptionsEventMap, ViewerEventMap } from "@inweb/viewer-core";
11
11
  import { IMarkup, IWorldTransform } from "@inweb/markup";
12
12
  import { IModelImpl } from "./models/IModelImpl";
13
- import { Helpers } from "./scenes/Helpers";
14
13
  /**
15
14
  * 3D viewer powered by {@link https://threejs.org/ | Three.js}.
16
15
  */
@@ -24,11 +23,10 @@ export declare class Viewer extends EventEmitter2<ViewerEventMap & CanvasEventMa
24
23
  info: IInfo;
25
24
  private canvaseventlistener;
26
25
  scene: Scene | undefined;
27
- helpers: Helpers | undefined;
26
+ helpers: Group | undefined;
28
27
  camera: PerspectiveCamera | OrthographicCamera | undefined;
29
28
  renderer: WebGLRenderer | undefined;
30
29
  renderPass: RenderPass | undefined;
31
- helpersPass: RenderPass | undefined;
32
30
  fxaaPass: FXAAPass | undefined;
33
31
  smaaPass: SMAAPass | undefined;
34
32
  ssaaRenderPass: SSAARenderPass | undefined;
@@ -37,9 +35,9 @@ export declare class Viewer extends EventEmitter2<ViewerEventMap & CanvasEventMa
37
35
  selected: Object3D[];
38
36
  extents: Box3;
39
37
  target: Vector3;
38
+ clippingPlanes: Plane[];
40
39
  private _activeDragger;
41
40
  private _components;
42
- private _updateDelay;
43
41
  private _renderNeeded;
44
42
  private _renderTime;
45
43
  private _markup;
@@ -61,7 +59,7 @@ export declare class Viewer extends EventEmitter2<ViewerEventMap & CanvasEventMa
61
59
  dispose(): this;
62
60
  isInitialized(): boolean;
63
61
  setSize(width: number, height: number, updateStyle?: boolean): void;
64
- update(force?: boolean): void;
62
+ update(force?: boolean | number): void;
65
63
  render(time?: DOMHighResTimeStamp, force?: boolean): void;
66
64
  loadReferences(model: Model | File | Assembly): Promise<this>;
67
65
  /**
@@ -163,7 +161,7 @@ export declare class Viewer extends EventEmitter2<ViewerEventMap & CanvasEventMa
163
161
  activeDragger(): IDragger | null;
164
162
  setActiveDragger(name?: string): IDragger | null;
165
163
  resetActiveDragger(): void;
166
- getComponent(name: string): IComponent;
164
+ getComponent(name: string): IComponent | null;
167
165
  drawViewpoint(viewpoint: IViewpoint): void;
168
166
  createViewpoint(): IViewpoint;
169
167
  getSnapshot(type?: string, quality?: number): string;
@@ -7,6 +7,6 @@ export declare class CameraComponent implements IComponent {
7
7
  getCameraMode(camera: any): CameraMode;
8
8
  switchCamera(camera: any): void;
9
9
  switchCameraMode(mode: CameraMode): void;
10
- optionsChange: () => void;
10
+ syncOptions: () => void;
11
11
  geometryEnd: () => void;
12
12
  }
@@ -0,0 +1,8 @@
1
+ import { IComponent } from "@inweb/viewer-core";
2
+ import type { Viewer } from "../Viewer";
3
+ export declare class ClippingPlaneComponent implements IComponent {
4
+ protected viewer: Viewer;
5
+ constructor(viewer: Viewer);
6
+ dispose(): void;
7
+ applyClippingPlanes: () => void;
8
+ }
@@ -14,7 +14,7 @@ export declare class HighlighterComponent implements IComponent {
14
14
  highlight(objects: Object3D | Object3D[]): void;
15
15
  unhighlight(objects: Object3D | Object3D[]): void;
16
16
  geometryEnd: () => void;
17
- optionsChange: () => void;
17
+ syncOptions: () => void;
18
18
  syncHighlightColors(): void;
19
- viewerResize(event: ResizeEvent): void;
19
+ viewerResize: (event: ResizeEvent) => void;
20
20
  }
@@ -10,7 +10,7 @@ export declare class InfoComponent implements IComponent {
10
10
  dispose(): void;
11
11
  initialize: () => void;
12
12
  clear: () => void;
13
- optionsChange: ({ data: options }: {
13
+ syncOptions: ({ data: options }: {
14
14
  data: any;
15
15
  }) => void;
16
16
  geometryStart: () => void;
@@ -0,0 +1,15 @@
1
+ import { IComponent, ResizeEvent } from "@inweb/viewer-core";
2
+ import type { Viewer } from "../Viewer";
3
+ export declare class SectionsComponent implements IComponent {
4
+ private viewer;
5
+ private sectionsHelper;
6
+ private updateTimerId;
7
+ private updateDelay;
8
+ constructor(viewer: Viewer);
9
+ dispose(): void;
10
+ syncOptions: () => void;
11
+ syncHelper: () => void;
12
+ syncSections: () => void;
13
+ viewerResize: (event: ResizeEvent) => void;
14
+ updateSections: () => void;
15
+ }
@@ -1,11 +1,11 @@
1
1
  import { IComponent } from "@inweb/viewer-core";
2
2
  import type { Viewer } from "../Viewer";
3
3
  export declare class WCSHelperComponent implements IComponent {
4
- private wcsHelper;
5
4
  private viewer;
5
+ private wcsHelper;
6
6
  constructor(viewer: Viewer);
7
7
  dispose(): void;
8
- geometryEnd: () => void;
8
+ syncHelper: () => void;
9
9
  viewerRender: () => void;
10
10
  updateHelperCamera: () => void;
11
11
  }
@@ -1,13 +1,12 @@
1
- import { Plane, Quaternion, Vector2, Vector3 } from "three";
1
+ import { Quaternion, Vector2, Vector3 } from "three";
2
2
  import { TransformControls } from "three/examples/jsm/controls/TransformControls.js";
3
3
  import type { Viewer } from "../Viewer";
4
4
  import { PlaneHelper2 } from "../helpers/PlaneHelper2";
5
5
  import { Snapper } from "../measurement/Snapper";
6
6
  import { OrbitDragger } from "./OrbitDragger";
7
7
  export declare class CuttingPlaneDragger extends OrbitDragger {
8
- protected clippingPlanes: Plane[];
9
8
  protected helpers: PlaneHelper2[];
10
- protected activeHelper: PlaneHelper2;
9
+ protected activeHelper: PlaneHelper2 | undefined;
11
10
  protected snapper: Snapper;
12
11
  protected downPosition: Vector2;
13
12
  protected position0: Vector3;
@@ -16,18 +15,19 @@ export declare class CuttingPlaneDragger extends OrbitDragger {
16
15
  protected rotate: TransformControls;
17
16
  constructor(viewer: Viewer);
18
17
  dispose(): void;
18
+ transformUpdate: () => void;
19
19
  transformChange: () => void;
20
20
  translateDrag: (event: any) => void;
21
21
  rotateDrag: (event: any) => void;
22
- updatePlaneSize: () => void;
23
- updateTransformCamera: () => void;
22
+ syncHelpers: () => void;
24
23
  clearHelpers: () => void;
24
+ updateTransformCamera: () => void;
25
25
  onKeyDown: (event: KeyboardEvent) => void;
26
26
  onKeyUp: (event: KeyboardEvent) => void;
27
27
  onPointerDown: (event: PointerEvent) => void;
28
28
  onPointerUp: (event: PointerEvent) => void;
29
29
  onPointerCancel: (event: PointerEvent) => void;
30
- onDoubleClick: (event: PointerEvent) => void;
30
+ onDoubleClick: (event: MouseEvent) => void;
31
31
  private addHelper;
32
32
  private setActiveHelper;
33
33
  private saveState;
@@ -9,7 +9,7 @@ export declare class OrbitDragger implements IDragger {
9
9
  dispose(): void;
10
10
  updateControls: () => void;
11
11
  updateControlsCamera: () => void;
12
- optionsChange: ({ data: options }: {
12
+ updateZoomSpeed: ({ data: options }: {
13
13
  data: any;
14
14
  }) => void;
15
15
  controlsStart: () => void;
@@ -1,16 +1,16 @@
1
- import { Camera, Intersection, Object3D, Vector2, Vector3, WebGLRenderer } from "three";
1
+ import { Camera, Intersection, Object3D, Plane, Vector2, Vector3 } from "three";
2
2
  export declare class Snapper {
3
3
  camera: Camera;
4
- renderer: WebGLRenderer;
4
+ clippingPlanes: Plane[];
5
5
  canvas: HTMLCanvasElement;
6
6
  threshold: number;
7
7
  private raycaster;
8
8
  private detectRadiusInPixels;
9
9
  private edgesCache;
10
- constructor(camera: Camera, renderer: WebGLRenderer, canvas: HTMLCanvasElement);
10
+ constructor(camera: Camera, clippingPlanes: Plane[], canvas: HTMLCanvasElement);
11
11
  isMobile(): boolean;
12
12
  getMousePosition(event: MouseEvent, target: Vector2): Vector2;
13
13
  getPointerIntersects(mouse: Vector2, objects: Object3D[], recursive?: boolean, clip?: boolean): Array<Intersection<Object3D>>;
14
14
  getDetectRadius(point: Vector3): number;
15
- getSnapPoint(mouse: Vector2, objects: Object3D[]): Vector3;
15
+ getSnapPoint(mouse: Vector2, objects: Object3D[]): Vector3 | undefined;
16
16
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inweb/viewer-three",
3
- "version": "27.4.7",
3
+ "version": "27.6.0",
4
4
  "description": "JavaScript library for rendering CAD and BIM files in a browser using Three.js",
5
5
  "homepage": "https://cloud.opendesign.com/docs/index.html",
6
6
  "license": "SEE LICENSE IN LICENSE",
@@ -35,10 +35,10 @@
35
35
  "docs": "typedoc"
36
36
  },
37
37
  "dependencies": {
38
- "@inweb/client": "~27.4.7",
39
- "@inweb/eventemitter2": "~27.4.7",
40
- "@inweb/markup": "~27.4.7",
41
- "@inweb/viewer-core": "~27.4.7"
38
+ "@inweb/client": "~27.6.0",
39
+ "@inweb/eventemitter2": "~27.6.0",
40
+ "@inweb/markup": "~27.6.0",
41
+ "@inweb/viewer-core": "~27.6.0"
42
42
  },
43
43
  "devDependencies": {
44
44
  "@streamparser/json": "^0.0.22",