vim-web 0.3.44-dev.85 → 0.4.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 (34) hide show
  1. package/dist/types/core-viewers/shared/baseInputHandler.d.ts +0 -1
  2. package/dist/types/core-viewers/shared/index.d.ts +1 -1
  3. package/dist/types/core-viewers/shared/inputAdapter.d.ts +21 -0
  4. package/dist/types/core-viewers/shared/inputHandler.d.ts +1 -20
  5. package/dist/types/core-viewers/shared/raycaster.d.ts +14 -0
  6. package/dist/types/core-viewers/shared/selection.d.ts +1 -1
  7. package/dist/types/core-viewers/shared/vim.d.ts +15 -2
  8. package/dist/types/core-viewers/ultra/element3d.d.ts +29 -1
  9. package/dist/types/core-viewers/ultra/index.d.ts +2 -2
  10. package/dist/types/core-viewers/ultra/inputAdapter.d.ts +7 -4
  11. package/dist/types/core-viewers/ultra/raycaster.d.ts +2 -2
  12. package/dist/types/core-viewers/ultra/sectionBox.d.ts +3 -3
  13. package/dist/types/core-viewers/ultra/vim.d.ts +1 -1
  14. package/dist/types/core-viewers/webgl/loader/mesh.d.ts +5 -5
  15. package/dist/types/core-viewers/webgl/loader/progressive/insertableGeometry.d.ts +2 -2
  16. package/dist/types/core-viewers/webgl/loader/progressive/legacyMeshFactory.d.ts +2 -2
  17. package/dist/types/core-viewers/webgl/loader/progressive/subsetBuilder.d.ts +2 -2
  18. package/dist/types/core-viewers/webgl/loader/progressive/subsetRequest.d.ts +2 -2
  19. package/dist/types/core-viewers/webgl/loader/scene.d.ts +7 -7
  20. package/dist/types/core-viewers/webgl/loader/vim.d.ts +11 -11
  21. package/dist/types/core-viewers/webgl/viewer/index.d.ts +1 -1
  22. package/dist/types/core-viewers/webgl/viewer/rendering/renderScene.d.ts +4 -4
  23. package/dist/types/core-viewers/webgl/viewer/rendering/renderer.d.ts +3 -3
  24. package/dist/types/react-viewers/controlbar/controlBarButton.d.ts +0 -1
  25. package/dist/types/react-viewers/controlbar/index.d.ts +0 -1
  26. package/dist/types/react-viewers/helpers/index.d.ts +0 -1
  27. package/dist/types/react-viewers/panels/messageBox.d.ts +0 -1
  28. package/dist/vim-web.iife.js +80 -100
  29. package/dist/vim-web.iife.js.map +1 -1
  30. package/dist/vim-web.js +80 -100
  31. package/dist/vim-web.js.map +1 -1
  32. package/package.json +1 -1
  33. package/dist/types/react-viewers/helpers/deferredPromise.d.ts +0 -8
  34. /package/dist/types/core-viewers/webgl/viewer/{inputsAdapter.d.ts → inputAdapter.d.ts} +0 -0
@@ -2,7 +2,6 @@
2
2
  * @module viw-webgl-viewer/inputs
3
3
  */
4
4
  /**
5
- * TODO: Use the same code for ULTRA and webgl.
6
5
  * Base class for various input handlers.
7
6
  * It provides convenience to register to and unregister from events.
8
7
  */
@@ -1,6 +1,6 @@
1
1
  export * from './inputHandler';
2
- export type * from './baseInputHandler';
3
2
  export { PointerMode } from './inputHandler';
3
+ export type * from './baseInputHandler';
4
4
  export type * from './keyboardHandler';
5
5
  export type * from './mouseHandler';
6
6
  export type * from './raycaster';
@@ -0,0 +1,21 @@
1
+ import * as THREE from 'three';
2
+ export interface IInputAdapter {
3
+ init: () => void;
4
+ toggleOrthographic: () => void;
5
+ resetCamera: () => void;
6
+ clearSelection: () => void;
7
+ frameCamera: () => void;
8
+ moveCamera: (value: THREE.Vector3) => void;
9
+ orbitCamera: (value: THREE.Vector2) => void;
10
+ rotateCamera: (value: THREE.Vector2) => void;
11
+ panCamera: (value: THREE.Vector2) => void;
12
+ dollyCamera: (value: THREE.Vector2) => void;
13
+ keyDown: (keyCode: string) => boolean;
14
+ keyUp: (keyCode: string) => boolean;
15
+ mouseDown: (pos: THREE.Vector2, button: number) => void;
16
+ mouseUp: (pos: THREE.Vector2, button: number) => void;
17
+ mouseMove: (pos: THREE.Vector2) => void;
18
+ selectAtPointer: (pos: THREE.Vector2, add: boolean) => void;
19
+ frameAtPointer: (pos: THREE.Vector2) => void;
20
+ zoom: (value: number) => void;
21
+ }
@@ -3,6 +3,7 @@ import { BaseInputHandler } from './baseInputHandler';
3
3
  import { KeyboardHandler } from './keyboardHandler';
4
4
  import { MouseHandler } from './mouseHandler';
5
5
  import { TouchHandler } from './touchHandler';
6
+ import { IInputAdapter } from './inputAdapter';
6
7
  export declare enum PointerMode {
7
8
  ORBIT = "orbit",
8
9
  LOOK = "look",
@@ -10,26 +11,6 @@ export declare enum PointerMode {
10
11
  ZOOM = "zoom",
11
12
  RECT = "rect"
12
13
  }
13
- export interface IInputAdapter {
14
- init: () => void;
15
- toggleOrthographic: () => void;
16
- resetCamera: () => void;
17
- clearSelection: () => void;
18
- frameCamera: () => void;
19
- moveCamera: (value: THREE.Vector3) => void;
20
- orbitCamera: (value: THREE.Vector2) => void;
21
- rotateCamera: (value: THREE.Vector2) => void;
22
- panCamera: (value: THREE.Vector2) => void;
23
- dollyCamera: (value: THREE.Vector2) => void;
24
- keyDown: (keyCode: string) => boolean;
25
- keyUp: (keyCode: string) => boolean;
26
- mouseDown: (pos: THREE.Vector2, button: number) => void;
27
- mouseUp: (pos: THREE.Vector2, button: number) => void;
28
- mouseMove: (pos: THREE.Vector2) => void;
29
- selectAtPointer: (pos: THREE.Vector2, add: boolean) => void;
30
- frameAtPointer: (pos: THREE.Vector2) => void;
31
- zoom: (value: number) => void;
32
- }
33
14
  interface InputSettings {
34
15
  orbit: boolean;
35
16
  scrollSpeed: number;
@@ -7,7 +7,21 @@ export interface IRaycastResult<T> {
7
7
  /** The surface normal at the hit point */
8
8
  worldNormal: THREE.Vector3;
9
9
  }
10
+ /**
11
+ * Interface for raycasting against a 3D scene.
12
+ * @template T - The type of object to raycast against.
13
+ */
10
14
  export interface IRaycaster<T> {
15
+ /**
16
+ * Raycasts from camera to the screen position to find the first object hit.
17
+ * @param position - The screen position to raycast from.
18
+ * @returns A promise that resolves to the raycast result.
19
+ */
11
20
  raycastFromScreen(position: THREE.Vector2): Promise<IRaycastResult<T>>;
21
+ /**
22
+ * Raycasts from camera to world position to find the first object hit.
23
+ * @param position - The world position to raycast from.
24
+ * @returns A promise that resolves to the raycast result.
25
+ */
12
26
  raycastFromWorld(position: THREE.Vector3): Promise<IRaycastResult<T>>;
13
27
  }
@@ -5,7 +5,7 @@ export interface ISelectionAdapter<T extends IVimElement> {
5
5
  outline(target: T, state: boolean): void;
6
6
  }
7
7
  /**
8
- * Represents a selection manager that supports adding, removing, toggling, and querying selected objects.
8
+ * Selection manager that supports adding, removing, toggling, and querying selected objects.
9
9
  * The selection change signal is debounced to dispatch only once per animation frame.
10
10
  */
11
11
  export declare class Selection<T extends IVimElement> {
@@ -1,8 +1,21 @@
1
1
  import { THREE } from "../..";
2
+ /**
3
+ * Interface for a Vim element.
4
+ */
2
5
  export interface IVimElement {
6
+ /**
7
+ * The vim from which this object came.
8
+ */
3
9
  vim: IVim<IVimElement>;
4
- getBoundingBox(): Promise<THREE.Box3>;
10
+ /**
11
+ * The bounding box of the object.
12
+ */
13
+ getBoundingBox(): Promise<THREE.Box3 | undefined>;
5
14
  }
15
+ /**
16
+ * Interface for a Vim object.
17
+ * @template T - The type of element contained in the Vim.
18
+ */
6
19
  export interface IVim<T extends IVimElement> {
7
20
  /**
8
21
  * Retrieves the element associated with the specified instance index.
@@ -15,7 +28,7 @@ export interface IVim<T extends IVimElement> {
15
28
  * @param id - The element ID to retrieve objects for.
16
29
  * @returns An array of element corresponding to the given id.
17
30
  */
18
- getElementFromId(id: number): T[];
31
+ getElementsFromId(id: number): T[];
19
32
  /**
20
33
  * Retrieves the element associated with the given index.
21
34
  * @param element - The index of the element.
@@ -2,14 +2,42 @@ import { IVimElement } from "../shared/vim";
2
2
  import { NodeState } from "./nodeState";
3
3
  import { Box3, RGBA32 } from "./rpcTypes";
4
4
  import { Vim } from "./vim";
5
+ /**
6
+ * Represents a single 3D element within a `Vim` model.
7
+ * Provides access to per-instance state, color, and bounding box.
8
+ */
5
9
  export declare class Element3D implements IVimElement {
10
+ /**
11
+ * The parent `Vim` instance this element belongs to.
12
+ */
6
13
  readonly vim: Vim;
14
+ /**
15
+ * The internal instance index within the `Vim` model.
16
+ */
17
+ readonly instance: number;
18
+ /**
19
+ * The unique handle of the parent `Vim` model.
20
+ */
7
21
  get vimHandle(): number;
22
+ /**
23
+ * Creates a new `Element3D` instance.
24
+ * @param vim - The parent `Vim` model.
25
+ * @param instance - The internal instance index.
26
+ */
8
27
  constructor(vim: Vim, instance: number);
9
- readonly instance: number;
28
+ /**
29
+ * Gets or sets the display state of the element (e.g., visible, hidden).
30
+ */
10
31
  get state(): NodeState;
11
32
  set state(state: NodeState);
33
+ /**
34
+ * Gets or sets the color override of the element.
35
+ */
12
36
  get color(): RGBA32 | undefined;
13
37
  set color(color: RGBA32 | undefined);
38
+ /**
39
+ * Computes and returns the bounding box of the element.
40
+ * @returns A promise resolving to the element's bounding box.
41
+ */
14
42
  getBoundingBox(): Promise<Box3>;
15
43
  }
@@ -2,11 +2,12 @@ import "./style.css";
2
2
  export * from './viewer';
3
3
  export { RGB, RGBA, RGBA32, Segment, type SectionBoxState, type HitCheckResult, type VimStatus } from './rpcTypes';
4
4
  export { materialHandles, MaterialHandles, type MaterialHandle, } from './rpcClient';
5
+ export { NodeState } from './nodeState';
6
+ export { InputMode, VimLoadingStatus } from './rpcSafeClient';
5
7
  export type * from './camera';
6
8
  export type * from './colorManager';
7
9
  export type * from './decoder';
8
10
  export type * from './nodeState';
9
- export { NodeState } from './nodeState';
10
11
  export type * from './element3d';
11
12
  export type * from './inputAdapter';
12
13
  export type * from './loadRequest';
@@ -18,7 +19,6 @@ export type * from './renderer';
18
19
  export type * from './rpcClient';
19
20
  export type * from './rpcMarshal';
20
21
  export type * from './rpcSafeClient';
21
- export { InputMode, VimLoadingStatus } from './rpcSafeClient';
22
22
  export type * from './sectionBox';
23
23
  export type * from './selection';
24
24
  export type * from './socketClient';
@@ -1,5 +1,8 @@
1
- import * as Shared from "../shared";
1
+ import { InputHandler } from "../shared/inputHandler";
2
2
  import { Viewer } from "./viewer";
3
- declare const CODE_TO_KEYCODE: Record<string, number>;
4
- export default CODE_TO_KEYCODE;
5
- export declare function ultraInputAdapter(viewer: Viewer): Shared.InputHandler;
3
+ /**
4
+ * Creates a new `InputHandler` connected to the provided `Viewer`.
5
+ * @param viewer - The target viewer.
6
+ * @returns An `InputHandler` instance wired to the viewer.
7
+ */
8
+ export declare function ultraInputAdapter(viewer: Viewer): InputHandler;
@@ -8,7 +8,7 @@ export type IUltraRaycaster = IRaycaster<Element3D>;
8
8
  /**
9
9
  * Represents the result of a hit test operation.
10
10
  */
11
- export declare class UltraRaycastResult implements IRaycastResult<Element3D> {
11
+ export declare class UltraRaycastResult implements IUltraRaycastResult {
12
12
  /** The model Object hit */
13
13
  object: Element3D;
14
14
  /** The 3D world position of the hit point */
@@ -24,7 +24,7 @@ export declare class UltraRaycastResult implements IRaycastResult<Element3D> {
24
24
  * Handles raycasting operations in the Ultra system, enabling picking and
25
25
  * interaction with 3D objects in the scene.
26
26
  */
27
- export declare class Raycaster implements IRaycaster<Element3D> {
27
+ export declare class Raycaster implements IUltraRaycaster {
28
28
  private _rpc;
29
29
  private _vims;
30
30
  /**
@@ -1,5 +1,5 @@
1
- import { Box3 } from "../../utils/math3d";
2
1
  import { RpcSafeClient } from "./rpcSafeClient";
2
+ import * as THREE from "three";
3
3
  export declare class SectionBox {
4
4
  private _visible;
5
5
  private _interactible;
@@ -27,7 +27,7 @@ export declare class SectionBox {
27
27
  * Fits the given box, invalid dimensions will be reversed.
28
28
  * @param box - The new bounding box.
29
29
  */
30
- fitBox(box: Box3): void;
31
- getBox(): Box3 | undefined;
30
+ fitBox(box: THREE.Box3): void;
31
+ getBox(): THREE.Box3 | undefined;
32
32
  dispose(): void;
33
33
  }
@@ -23,7 +23,7 @@ export declare class Vim implements IVim<Element3D> {
23
23
  private _objects;
24
24
  constructor(rpc: RpcSafeClient, color: ColorManager, renderer: Renderer, source: VimSource, logger: ILogger);
25
25
  getElementFromInstanceIndex(instance: number): Element3D;
26
- getElementFromId(id: number): Element3D[];
26
+ getElementsFromId(id: number): Element3D[];
27
27
  getElementFromIndex(element: number): Element3D;
28
28
  getObjectsInBox(box: THREE.Box3): Element3D[];
29
29
  getAllElements(): Element3D[];
@@ -11,7 +11,7 @@ import { ModelMaterial } from './materials/materials';
11
11
  * Keeps track of what VIM instances are part of this mesh.
12
12
  * Is either merged on instanced.
13
13
  */
14
- export declare class WebglMesh {
14
+ export declare class Mesh {
15
15
  /**
16
16
  * the wrapped THREE mesh
17
17
  */
@@ -49,8 +49,8 @@ export declare class WebglMesh {
49
49
  */
50
50
  private _material;
51
51
  private constructor();
52
- static createMerged(mesh: THREE.Mesh, instances: number[], boxes: THREE.Box3[], submeshes: number[]): WebglMesh;
53
- static createInstanced(mesh: THREE.Mesh, instances: number[], boxes: THREE.Box3[]): WebglMesh;
52
+ static createMerged(mesh: THREE.Mesh, instances: number[], boxes: THREE.Box3[], submeshes: number[]): Mesh;
53
+ static createInstanced(mesh: THREE.Mesh, instances: number[], boxes: THREE.Box3[]): Mesh;
54
54
  /**
55
55
  * Overrides mesh material, set to undefine to restore initial material.
56
56
  */
@@ -81,9 +81,9 @@ export declare class SimpleInstanceSubmesh {
81
81
  constructor(mesh: THREE.InstancedMesh, index: number);
82
82
  }
83
83
  export declare class StandardSubmesh {
84
- mesh: WebglMesh;
84
+ mesh: Mesh;
85
85
  index: number;
86
- constructor(mesh: WebglMesh, index: number);
86
+ constructor(mesh: Mesh, index: number);
87
87
  equals(other: Submesh): boolean;
88
88
  /**
89
89
  * Returns parent three mesh.
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import * as THREE from 'three';
5
5
  import { G3d, G3dMesh, G3dMaterial } from 'vim-format';
6
- import { WebglScene } from '../scene';
6
+ import { Scene } from '../scene';
7
7
  import { G3dMeshOffsets } from './g3dOffsets';
8
8
  export declare class GeometrySubmesh {
9
9
  instance: number;
@@ -13,7 +13,7 @@ export declare class GeometrySubmesh {
13
13
  expandBox(point: THREE.Vector3): void;
14
14
  }
15
15
  export declare class InsertableGeometry {
16
- _scene: WebglScene;
16
+ _scene: Scene;
17
17
  materials: G3dMaterial;
18
18
  offsets: G3dMeshOffsets;
19
19
  geometry: THREE.BufferGeometry;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @module vim-loader
3
3
  */
4
- import { WebglScene } from '../scene';
4
+ import { Scene } from '../scene';
5
5
  import { G3dMaterial, G3d } from 'vim-format';
6
6
  import { G3dSubset } from './g3dSubset';
7
7
  /**
@@ -12,7 +12,7 @@ export declare class VimMeshFactory {
12
12
  private _materials;
13
13
  private _instancedFactory;
14
14
  private _scene;
15
- constructor(g3d: G3d, materials: G3dMaterial, scene: WebglScene);
15
+ constructor(g3d: G3d, materials: G3dMaterial, scene: Scene);
16
16
  /**
17
17
  * Adds all instances from subset to the scene
18
18
  */
@@ -7,7 +7,7 @@ import { G3dSubset } from './g3dSubset';
7
7
  import { ISignal, ISignalHandler } from 'ste-signals';
8
8
  import { ISubscribable, SubscriptionChangeEventHandler } from 'ste-core';
9
9
  import { Vimx } from './vimx';
10
- import { WebglScene } from '../scene';
10
+ import { Scene } from '../scene';
11
11
  export interface SubsetBuilder {
12
12
  /** Dispatched whenever a subset begins or finishes loading. */
13
13
  onUpdate: ISignal;
@@ -45,7 +45,7 @@ export declare class VimxSubsetBuilder {
45
45
  private _onUpdate;
46
46
  get onUpdate(): ISignal;
47
47
  get isLoading(): boolean;
48
- constructor(localVimx: Vimx, scene: WebglScene);
48
+ constructor(localVimx: Vimx, scene: Scene);
49
49
  getFullSet(): G3dSubset;
50
50
  loadSubset(subset: G3dSubset, settings?: LoadPartialSettings): Promise<void>;
51
51
  clear(): void;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @module vim-loader
3
3
  */
4
- import { Vimx, WebglScene } from '../..';
4
+ import { Vimx, Scene } from '../..';
5
5
  import { G3dSubset } from './g3dSubset';
6
6
  export type LoadSettings = {
7
7
  /** Delay in ms between each rendering list update. @default: 400ms */
@@ -27,7 +27,7 @@ export declare class SubsetRequest {
27
27
  private _started;
28
28
  private _scene;
29
29
  getBoundingBox(): import("three").Box3;
30
- constructor(scene: WebglScene, localVimx: Vimx, subset: G3dSubset);
30
+ constructor(scene: Scene, localVimx: Vimx, subset: G3dSubset);
31
31
  dispose(): void;
32
32
  start(settings: LoadPartialSettings): Promise<void>;
33
33
  private nextFrame;
@@ -2,7 +2,7 @@
2
2
  * @module vim-loader
3
3
  */
4
4
  import * as THREE from 'three';
5
- import { WebglMesh, Submesh } from './mesh';
5
+ import { Mesh, Submesh } from './mesh';
6
6
  import { Vim } from './vim';
7
7
  import { InsertableMesh } from './progressive/insertableMesh';
8
8
  import { InstancedMesh } from './progressive/instancedMesh';
@@ -12,8 +12,8 @@ import { Renderer } from '../viewer/rendering/renderer';
12
12
  * Interface for a renderer object, providing methods to add and remove objects from a scene, update bounding boxes, and notify scene updates.
13
13
  */
14
14
  export interface IRenderer {
15
- add(scene: WebglScene | THREE.Object3D): any;
16
- remove(scene: WebglScene): any;
15
+ add(scene: Scene | THREE.Object3D): any;
16
+ remove(scene: Scene): any;
17
17
  updateBox(box: THREE.Box3): any;
18
18
  notifySceneUpdate(): any;
19
19
  }
@@ -21,12 +21,12 @@ export interface IRenderer {
21
21
  * Represents a scene that contains multiple meshes.
22
22
  * It tracks the global bounding box as meshes are added and maintains a mapping between g3d instance indices and meshes.
23
23
  */
24
- export declare class WebglScene {
24
+ export declare class Scene {
25
25
  private _renderer;
26
26
  private _vim;
27
27
  private _matrix;
28
28
  insertables: InsertableMesh[];
29
- meshes: (WebglMesh | InsertableMesh | InstancedMesh)[];
29
+ meshes: (Mesh | InsertableMesh | InstancedMesh)[];
30
30
  private _boundingBox;
31
31
  private _averageBoundingBox;
32
32
  private _instanceToMeshes;
@@ -66,11 +66,11 @@ export declare class WebglScene {
66
66
  * userData.instances = number[] (indices of the g3d instances that went into creating the mesh)
67
67
  * userData.boxes = THREE.Box3[] (bounding box of each instance)
68
68
  */
69
- addMesh(mesh: WebglMesh | InsertableMesh | InstancedMesh): this;
69
+ addMesh(mesh: Mesh | InsertableMesh | InstancedMesh): this;
70
70
  /**
71
71
  * Adds the content of other Scene to this Scene and recomputes fields as needed.
72
72
  */
73
- merge(other: WebglScene): this;
73
+ merge(other: Scene): this;
74
74
  /**
75
75
  * Gets the current material override or undefined if none.
76
76
  */
@@ -3,9 +3,9 @@
3
3
  */
4
4
  import * as THREE from 'three';
5
5
  import { VimDocument, G3d, VimHeader, FilterMode } from 'vim-format';
6
- import { WebglScene } from './scene';
6
+ import { Scene } from './scene';
7
7
  import { VimSettings } from './vimSettings';
8
- import { Element3D as WebglElement3D } from './element3d';
8
+ import { Element3D } from './element3d';
9
9
  import { ElementMapping, ElementMapping2, ElementNoMapping } from './elementMapping';
10
10
  import { ISignal } from 'ste-signals';
11
11
  import { G3dSubset } from './progressive/g3dSubset';
@@ -17,7 +17,7 @@ type VimFormat = 'vim' | 'vimx';
17
17
  * Represents a container for the built three.js meshes and the vim data from which they were constructed.
18
18
  * Facilitates high-level scene manipulation by providing access to objects.
19
19
  */
20
- export declare class Vim implements IVim<WebglElement3D> {
20
+ export declare class Vim implements IVim<Element3D> {
21
21
  /**
22
22
  * Indicates whether the vim was opened from a vim or vimx file.
23
23
  */
@@ -45,7 +45,7 @@ export declare class Vim implements IVim<WebglElement3D> {
45
45
  /**
46
46
  * Mostly Internal - The scene in which the vim geometry is added.
47
47
  */
48
- readonly scene: WebglScene;
48
+ readonly scene: Scene;
49
49
  /**
50
50
  * The mapping from Bim to Geometry for this vim.
51
51
  */
@@ -74,7 +74,7 @@ export declare class Vim implements IVim<WebglElement3D> {
74
74
  * @param {VimHeader | undefined} header - The Vim header, if available.
75
75
  * @param {VimDocument} document - The Vim document.
76
76
  * @param {G3d | undefined} g3d - The G3d object, if available.
77
- * @param {WebglScene} scene - The scene containing the vim's geometry.
77
+ * @param {Scene} scene - The scene containing the vim's geometry.
78
78
  * @param {VimSettings} settings - The settings used to open this vim.
79
79
  * @param {ElementMapping | ElementNoMapping | ElementMapping2} map - The element mapping.
80
80
  * @param {SubsetBuilder} builder - The subset builder for constructing subsets of the Vim object.
@@ -82,7 +82,7 @@ export declare class Vim implements IVim<WebglElement3D> {
82
82
  * @param {VimFormat} format - The format of the Vim object.
83
83
  * @param {boolean} isLegacy - Indicates whether the Vim object uses a legacy loading pipeline.
84
84
  */
85
- constructor(header: VimHeader | undefined, document: VimDocument, g3d: G3d | undefined, scene: WebglScene, settings: VimSettings, map: ElementMapping | ElementNoMapping | ElementMapping2, builder: SubsetBuilder, source: string, format: VimFormat);
85
+ constructor(header: VimHeader | undefined, document: VimDocument, g3d: G3d | undefined, scene: Scene, settings: VimSettings, map: ElementMapping | ElementNoMapping | ElementMapping2, builder: SubsetBuilder, source: string, format: VimFormat);
86
86
  getBoundingBox(): Promise<THREE.Box3>;
87
87
  /**
88
88
  * Retrieves the matrix representation of the Vim object's position, rotation, and scale.
@@ -94,30 +94,30 @@ export declare class Vim implements IVim<WebglElement3D> {
94
94
  * @param {number} instance - The instance number of the object.
95
95
  * @returns {THREE.Object3D | undefined} The object corresponding to the instance, or undefined if not found.
96
96
  */
97
- getElementFromInstanceIndex(instance: number): WebglElement3D;
97
+ getElementFromInstanceIndex(instance: number): Element3D;
98
98
  /**
99
99
  * Retrieves the objects associated with the specified element ID.
100
100
  * @param {number} id - The element ID to retrieve objects for.
101
101
  * @returns {THREE.Object3D[]} An array of objects corresponding to the element ID, or an empty array if none are found.
102
102
  */
103
- getElementFromId(id: number): any;
103
+ getElementsFromId(id: number): any;
104
104
  /**
105
105
  * Retrieves the Vim object associated with the given Vim element index.
106
106
  * @param {number} element - The index of the Vim element.
107
107
  * @returns {WebglElement3D | undefined} The Vim object corresponding to the element index, or undefined if not found.
108
108
  */
109
- getElementFromIndex(element: number): WebglElement3D | undefined;
109
+ getElementFromIndex(element: number): Element3D | undefined;
110
110
  /**
111
111
  * Retrieves an array of all objects within the Vim.
112
112
  * @returns {WebglElement3D[]} An array containing all objects within the Vim.
113
113
  */
114
- getAllElements(): WebglElement3D[];
114
+ getAllElements(): Element3D[];
115
115
  /**
116
116
  * Retrieves an array containing all objects within the specified subset.
117
117
  * @param {G3dSubset} subset - The subset to retrieve objects from.
118
118
  * @returns {WebglElement3D[]} An array of objects within the specified subset.
119
119
  */
120
- getObjectsInSubset(subset: G3dSubset): WebglElement3D[];
120
+ getObjectsInSubset(subset: G3dSubset): Element3D[];
121
121
  /**
122
122
  * Retrieves all instances as a subset.
123
123
  * @returns {G3dSubset} A subset containing all instances.
@@ -1,9 +1,9 @@
1
1
  export * from './viewer';
2
2
  export * from './settings';
3
+ export { Layers } from './raycaster';
3
4
  export type * from './environment';
4
5
  export type * from './gizmos';
5
6
  export type * from './raycaster';
6
- export { Layers } from './raycaster';
7
7
  export type * from './selection';
8
8
  export type * from './viewport';
9
9
  export type * from './rendering';
@@ -2,7 +2,7 @@
2
2
  * @module viw-webgl-viewer/rendering
3
3
  */
4
4
  import * as THREE from 'three';
5
- import { WebglScene } from '../../loader/scene';
5
+ import { Scene } from '../../loader/scene';
6
6
  import { ModelMaterial } from '../../loader/materials/materials';
7
7
  import { InstancedMesh } from '../../loader/progressive/instancedMesh';
8
8
  /**
@@ -18,7 +18,7 @@ export declare class RenderScene {
18
18
  private _2dCount;
19
19
  private _outlineCount;
20
20
  private _modelMaterial;
21
- get meshes(): (import("../..").InsertableMesh | import("../..").WebglMesh | InstancedMesh)[];
21
+ get meshes(): (import("../..").InsertableMesh | import("../..").Mesh | InstancedMesh)[];
22
22
  constructor();
23
23
  get estimatedMemory(): number;
24
24
  has2dObjects(): boolean;
@@ -37,13 +37,13 @@ export declare class RenderScene {
37
37
  /**
38
38
  * Add object to be rendered
39
39
  */
40
- add(target: WebglScene | THREE.Object3D): void;
40
+ add(target: Scene | THREE.Object3D): void;
41
41
  private count2dObjects;
42
42
  private unparent2dObjects;
43
43
  /**
44
44
  * Remove object from rendering
45
45
  */
46
- remove(target: WebglScene | THREE.Object3D): void;
46
+ remove(target: Scene | THREE.Object3D): void;
47
47
  /**
48
48
  * Removes all rendered objects
49
49
  */
@@ -2,7 +2,7 @@
2
2
  * @module viw-webgl-viewer/rendering
3
3
  */
4
4
  import * as THREE from 'three';
5
- import { IRenderer, WebglScene } from '../../loader/scene';
5
+ import { IRenderer, Scene } from '../../loader/scene';
6
6
  import { Viewport } from '../viewport';
7
7
  import { RenderScene } from './renderScene';
8
8
  import { ModelMaterial, Materials } from '../../loader/materials/materials';
@@ -104,12 +104,12 @@ export declare class Renderer implements IRenderer {
104
104
  * Adds an object to be rendered.
105
105
  * @param target The object or scene to add for rendering.
106
106
  */
107
- add(target: WebglScene | THREE.Object3D): boolean;
107
+ add(target: Scene | THREE.Object3D): boolean;
108
108
  /**
109
109
  * Removes an object from rendering.
110
110
  * @param target The object or scene to remove from rendering.
111
111
  */
112
- remove(target: WebglScene | THREE.Object3D): void;
112
+ remove(target: Scene | THREE.Object3D): void;
113
113
  /**
114
114
  * Clears all objects from rendering.
115
115
  */
@@ -12,5 +12,4 @@ export interface IControlBarButtonItem {
12
12
  isOn?: () => boolean;
13
13
  style?: (on: boolean) => string;
14
14
  }
15
- export declare function isControlBarButtonItem(button: any): button is IControlBarButtonItem;
16
15
  export declare function createButton(button: IControlBarButtonItem): import("react/jsx-runtime").JSX.Element;
@@ -1,6 +1,5 @@
1
1
  export * as Ids from './controlBarIds';
2
2
  export * as Style from './style';
3
3
  export type * from './controlBarButton';
4
- export { isControlBarButtonItem } from './controlBarButton';
5
4
  export type * from './controlBar';
6
5
  export type * from './controlBarSection';
@@ -1,5 +1,4 @@
1
1
  export * as ReactUtils from './reactUtils';
2
- export * from './deferredPromise';
3
2
  export type * from './cursor';
4
3
  export type * from './data';
5
4
  export type * from './element';
@@ -11,4 +11,3 @@ export type MessageBoxPropsTyped = MessageBoxProps & {
11
11
  export declare function MessageBox(props: {
12
12
  value: MessageBoxProps;
13
13
  }): import("react/jsx-runtime").JSX.Element;
14
- export default MessageBox;