@thatopen/components 2.0.0-alpha.14 → 2.0.0-alpha.15

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 (42) hide show
  1. package/dist/core/Clipper/index.d.ts +8 -12
  2. package/dist/core/Clipper/src/simple-plane.d.ts +2 -2
  3. package/dist/core/Grids/index.d.ts +1 -1
  4. package/dist/core/Grids/src/simple-grid.d.ts +1 -3
  5. package/dist/core/MiniMap/index.d.ts +3 -2
  6. package/dist/core/MiniMap/src/index.d.ts +1 -1
  7. package/dist/core/OrthoPerspectiveCamera/index.d.ts +5 -4
  8. package/dist/core/OrthoPerspectiveCamera/src/first-person-mode.d.ts +2 -1
  9. package/dist/core/OrthoPerspectiveCamera/src/orbit-mode.d.ts +3 -2
  10. package/dist/core/OrthoPerspectiveCamera/src/plan-mode.d.ts +2 -1
  11. package/dist/core/OrthoPerspectiveCamera/src/projections.d.ts +3 -3
  12. package/dist/core/Raycasters/src/simple-raycaster.d.ts +1 -1
  13. package/dist/core/Worlds/src/simple-camera.d.ts +1 -1
  14. package/dist/core/Worlds/src/simple-renderer.d.ts +1 -1
  15. package/dist/core/index.d.ts +0 -1
  16. package/dist/fragments/{BoundingBoxes → BoundingBoxer}/index.d.ts +1 -1
  17. package/dist/fragments/{FragmentClassifier → Classifier}/index.d.ts +1 -1
  18. package/dist/fragments/{FragmentExploder → Exploder}/index.d.ts +3 -5
  19. package/dist/fragments/{FragmentManager → FragmentsManager}/index.d.ts +1 -1
  20. package/dist/fragments/IfcGeometryTiler/src/streaming-settings.d.ts +1 -1
  21. package/dist/fragments/{FragmentIfcLoader → IfcLoader}/index.d.ts +1 -2
  22. package/dist/fragments/index.d.ts +6 -6
  23. package/dist/ifc/IfcJsonExporter/index.d.ts +6 -1
  24. package/dist/ifc/IfcPropertiesManager/index.d.ts +1 -2
  25. package/dist/ifc/index.d.ts +0 -1
  26. package/dist/index.cjs +5 -5
  27. package/dist/index.mjs +1791 -2051
  28. package/dist/measurement/Utils/index.d.ts +9 -5
  29. package/dist/namespace.d.ts +1222 -1330
  30. package/dist/utils/vertex-picker.d.ts +2 -5
  31. package/package.json +2 -3
  32. package/dist/core/Materials/index.d.ts +0 -49
  33. package/dist/ifc/IfcPropertiesFinder/index.d.ts +0 -37
  34. package/dist/ifc/IfcPropertiesFinder/src/types.d.ts +0 -23
  35. /package/dist/fragments/{FragmentHider → Hider}/index.d.ts +0 -0
  36. /package/dist/fragments/{FragmentIfcLoader → IfcLoader}/src/civil-reader.d.ts +0 -0
  37. /package/dist/fragments/{FragmentIfcLoader → IfcLoader}/src/ifc-fragment-settings.d.ts +0 -0
  38. /package/dist/fragments/{FragmentIfcLoader → IfcLoader}/src/ifc-metadata-reader.d.ts +0 -0
  39. /package/dist/fragments/{FragmentIfcLoader → IfcLoader}/src/index.d.ts +0 -0
  40. /package/dist/fragments/{FragmentIfcLoader → IfcLoader}/src/spatial-structure.d.ts +0 -0
  41. /package/dist/fragments/{FragmentIfcLoader → IfcLoader}/src/transform-helper.d.ts +0 -0
  42. /package/dist/fragments/{FragmentIfcLoader → IfcLoader}/src/units.d.ts +0 -0
@@ -8,15 +8,14 @@ export * from "./src";
8
8
  * [clipping planes](https://threejs.org/docs/#api/en/materials/Material.clippingPlanes).
9
9
  *
10
10
  * @param components - the instance of {@link Components} used.
11
- * @param planeType - the type of plane to be used by the clipper.
12
11
  * E.g. {@link SimplePlane}.
13
12
  */
14
- export declare class Clipper<T extends SimplePlane> extends Component implements Createable, Disposable, Hideable {
13
+ export declare class Clipper extends Component implements Createable, Disposable, Hideable {
15
14
  static readonly uuid: "66290bc5-18c4-4cd1-9379-2e17a0617611";
16
15
  /** {@link Createable.onAfterCreate} */
17
- readonly onAfterCreate: Event<T>;
16
+ readonly onAfterCreate: Event<SimplePlane>;
18
17
  /** {@link Createable.onAfterDelete} */
19
- readonly onAfterDelete: Event<T>;
18
+ readonly onAfterDelete: Event<SimplePlane>;
20
19
  /** Event that fires when the user starts dragging a clipping plane. */
21
20
  readonly onBeforeDrag: Event<void>;
22
21
  /** Event that fires when the user stops dragging a clipping plane. */
@@ -40,10 +39,10 @@ export declare class Clipper<T extends SimplePlane> extends Component implements
40
39
  * has to be `true` for this to apply.
41
40
  */
42
41
  toleranceOrthogonalY: number;
43
- list: T[];
44
- protected PlaneType: new (...args: any) => SimplePlane | T;
42
+ Type: new (...args: any) => SimplePlane;
43
+ list: SimplePlane[];
45
44
  /** The material used in all the clipping planes. */
46
- protected _material: THREE.MeshBasicMaterial;
45
+ private _material;
47
46
  private _size;
48
47
  private _enabled;
49
48
  private _visible;
@@ -64,8 +63,6 @@ export declare class Clipper<T extends SimplePlane> extends Component implements
64
63
  /** The size of the geometric representation of the clippings planes. */
65
64
  set size(size: number);
66
65
  constructor(components: Components);
67
- endCreation(): void;
68
- cancelCreation(): void;
69
66
  /** {@link Disposable.dispose} */
70
67
  dispose(): void;
71
68
  /** {@link Createable.create} */
@@ -79,7 +76,7 @@ export declare class Clipper<T extends SimplePlane> extends Component implements
79
76
  * @param point - the position of the clipping plane.
80
77
  * navigation.
81
78
  */
82
- createFromNormalAndCoplanarPoint(world: World, normal: THREE.Vector3, point: THREE.Vector3): T;
79
+ createFromNormalAndCoplanarPoint(world: World, normal: THREE.Vector3, point: THREE.Vector3): SimplePlane;
83
80
  /**
84
81
  * {@link Createable.delete}
85
82
  *
@@ -87,7 +84,7 @@ export declare class Clipper<T extends SimplePlane> extends Component implements
87
84
  * @param plane - the plane to delete. If undefined, the first plane
88
85
  * found under the cursor will be deleted.
89
86
  */
90
- delete(world: World, plane?: T): void;
87
+ delete(world: World, plane?: SimplePlane): void;
91
88
  /** Deletes all the existing clipping planes. */
92
89
  deleteAll(): void;
93
90
  private deletePlane;
@@ -97,7 +94,6 @@ export declare class Clipper<T extends SimplePlane> extends Component implements
97
94
  private getWorldNormal;
98
95
  private normalizePlaneDirectionY;
99
96
  private newPlane;
100
- protected newPlaneInstance(world: World, point: THREE.Vector3, normal: THREE.Vector3): T;
101
97
  private updateMaterialsAndPlanes;
102
98
  private _onStartDragging;
103
99
  private _onEndDragging;
@@ -43,9 +43,9 @@ export declare class SimplePlane implements Disposable, Hideable {
43
43
  set size(size: number);
44
44
  get helper(): THREE.Object3D<THREE.Object3DEventMap>;
45
45
  constructor(components: Components, world: World, origin: THREE.Vector3, normal: THREE.Vector3, material: THREE.Material, size?: number, activateControls?: boolean);
46
- setFromNormalAndCoplanarPoint(normal: THREE.Vector3, point: THREE.Vector3): Promise<void>;
46
+ setFromNormalAndCoplanarPoint(normal: THREE.Vector3, point: THREE.Vector3): void;
47
47
  /** {@link Updateable.update} */
48
- update: () => Promise<void>;
48
+ update: () => void;
49
49
  /** {@link Disposable.dispose} */
50
50
  dispose(): void;
51
51
  private reset;
@@ -7,7 +7,7 @@ export declare class Grids extends Component implements Disposable {
7
7
  config: Required<GridConfig>;
8
8
  /** {@link Component.enabled} */
9
9
  enabled: boolean;
10
- create(world: World): void;
10
+ create(world: World): SimpleGrid;
11
11
  delete(world: World): void;
12
12
  dispose(): void;
13
13
  }
@@ -35,12 +35,10 @@ export declare class SimpleGrid implements Hideable, Disposable {
35
35
  * perspective cameras and false for orthographic cameras.
36
36
  */
37
37
  set fade(active: boolean);
38
- private readonly _grid;
38
+ readonly three: THREE.Mesh;
39
39
  private _fade;
40
40
  constructor(components: Components, world: World, config: GridConfig);
41
41
  [Symbol.dispose](): void;
42
- /** {@link Component.get} */
43
- get(): THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>;
44
42
  /** {@link Disposable.dispose} */
45
43
  dispose(): void;
46
44
  private setupEvents;
@@ -1,5 +1,6 @@
1
- import { Component, Components, Disposable, Updateable, World, Event } from "../../core";
2
1
  import { MiniMap } from "./src";
2
+ import { Component, Updateable, World, Event, Disposable } from "../Types";
3
+ import { Components } from "../Components";
3
4
  export declare class MiniMaps extends Component implements Updateable, Disposable {
4
5
  static readonly uuid: "39ad6aad-84c8-4adf-a1e0-7f25313a9e7f";
5
6
  readonly onAfterUpdate: Event<unknown>;
@@ -10,6 +11,6 @@ export declare class MiniMaps extends Component implements Updateable, Disposabl
10
11
  constructor(components: Components);
11
12
  create(world: World): MiniMap;
12
13
  delete(id: string): void;
13
- dispose(): void | Promise<void>;
14
+ dispose(): void;
14
15
  update(): void;
15
16
  }
@@ -1,5 +1,5 @@
1
1
  import * as THREE from "three";
2
- import { Event, Resizeable, Updateable, Disposable, World } from "../../../core";
2
+ import { Resizeable, Updateable, World, Event, Disposable } from "../../Types";
3
3
  export declare class MiniMap implements Resizeable, Updateable, Disposable {
4
4
  /** {@link Disposable.onDisposed} */
5
5
  readonly onDisposed: Event<unknown>;
@@ -1,6 +1,6 @@
1
1
  import * as THREE from "three";
2
- import { Components } from "../../core/Components";
3
- import { SimpleCamera } from "../../core";
2
+ import { Components } from "../Components";
3
+ import { SimpleCamera } from "..";
4
4
  import { NavigationMode, NavModeID, ProjectionManager } from "./src";
5
5
  export * from "./src";
6
6
  /**
@@ -13,13 +13,14 @@ export declare class OrthoPerspectiveCamera extends SimpleCamera {
13
13
  /**
14
14
  * The current {@link NavigationMode}.
15
15
  */
16
- mode: NavigationMode;
16
+ _mode: NavigationMode | null;
17
17
  readonly projection: ProjectionManager;
18
18
  readonly threeOrtho: THREE.OrthographicCamera;
19
+ readonly threePersp: THREE.PerspectiveCamera;
19
20
  protected readonly _userInputButtons: any;
20
21
  protected readonly _frustumSize = 50;
21
22
  protected readonly _navigationModes: Map<NavModeID, NavigationMode>;
22
- get current(): THREE.PerspectiveCamera | THREE.OrthographicCamera;
23
+ get mode(): NavigationMode;
23
24
  constructor(components: Components);
24
25
  /** {@link Disposable.dispose} */
25
26
  dispose(): void;
@@ -1,4 +1,5 @@
1
1
  import { NavigationMode } from "./types";
2
+ import { OrthoPerspectiveCamera } from "../index";
2
3
  /**
3
4
  * A {@link NavigationMode} that allows first person navigation,
4
5
  * simulating FPS video games.
@@ -9,7 +10,7 @@ export declare class FirstPersonMode implements NavigationMode {
9
10
  enabled: boolean;
10
11
  /** {@link NavigationMode.id} */
11
12
  readonly id = "FirstPerson";
12
- constructor(camera: any);
13
+ constructor(camera: OrthoPerspectiveCamera);
13
14
  /** {@link NavigationMode.set} */
14
15
  set(active: boolean): void;
15
16
  private setupFirstPersonCamera;
@@ -1,15 +1,16 @@
1
1
  import { NavigationMode } from "./types";
2
+ import { OrthoPerspectiveCamera } from "../index";
2
3
  /**
3
4
  * A {@link NavigationMode} that allows 3D navigation and panning
4
5
  * like in many 3D and CAD softwares.
5
6
  */
6
7
  export declare class OrbitMode implements NavigationMode {
7
- camera: any;
8
+ camera: OrthoPerspectiveCamera;
8
9
  /** {@link NavigationMode.enabled} */
9
10
  enabled: boolean;
10
11
  /** {@link NavigationMode.id} */
11
12
  readonly id = "Orbit";
12
- constructor(camera: any);
13
+ constructor(camera: OrthoPerspectiveCamera);
13
14
  /** {@link NavigationMode.set} */
14
15
  set(active: boolean): void;
15
16
  private activateOrbitControls;
@@ -1,4 +1,5 @@
1
1
  import { NavigationMode } from "./types";
2
+ import { OrthoPerspectiveCamera } from "../index";
2
3
  /**
3
4
  * A {@link NavigationMode} that allows to navigate floorplans in 2D,
4
5
  * like many BIM tools.
@@ -14,7 +15,7 @@ export declare class PlanMode implements NavigationMode {
14
15
  private mouseInitialized;
15
16
  private readonly defaultAzimuthSpeed;
16
17
  private readonly defaultPolarSpeed;
17
- constructor(camera: any);
18
+ constructor(camera: OrthoPerspectiveCamera);
18
19
  /** {@link NavigationMode.set} */
19
20
  set(active: boolean): void;
20
21
  }
@@ -1,6 +1,6 @@
1
1
  import * as THREE from "three";
2
2
  import { CameraProjection } from "./types";
3
- import { Event } from "../../../core";
3
+ import { Event } from "../../Types";
4
4
  import { OrthoPerspectiveCamera } from "../index";
5
5
  /**
6
6
  * Object to control the {@link CameraProjection} of the {@link OrthoPerspectiveCamera}.
@@ -9,7 +9,7 @@ export declare class ProjectionManager {
9
9
  /**
10
10
  * Event that fires when the {@link CameraProjection} changes.
11
11
  */
12
- readonly onChanged: Event<THREE.Camera>;
12
+ readonly onChanged: Event<THREE.PerspectiveCamera | THREE.OrthographicCamera>;
13
13
  current: CameraProjection;
14
14
  camera: THREE.PerspectiveCamera | THREE.OrthographicCamera;
15
15
  private _component;
@@ -30,7 +30,7 @@ export declare class ProjectionManager {
30
30
  */
31
31
  toggle(): Promise<void>;
32
32
  private setOrthoCamera;
33
- private getDims;
33
+ private getPerspectiveDims;
34
34
  private setupOrthoCamera;
35
35
  private getDistance;
36
36
  private setPerspectiveCamera;
@@ -29,7 +29,7 @@ export declare class SimpleRaycaster implements Disposable {
29
29
  * to query. If not provided, it will query all the meshes stored in
30
30
  * {@link Components.meshes}.
31
31
  */
32
- castRay(items?: THREE.Mesh[]): THREE.Intersection | null;
32
+ castRay(items?: THREE.Object3D[]): THREE.Intersection | null;
33
33
  castRayFromVector(origin: THREE.Vector3, direction: THREE.Vector3, items?: THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>[]): THREE.Intersection<THREE.Object3D<THREE.Object3DEventMap>> | null;
34
34
  private intersect;
35
35
  private filterClippingPlanes;
@@ -16,7 +16,7 @@ export declare class SimpleCamera extends BaseCamera implements Updateable, Disp
16
16
  readonly onAspectUpdated: Event<unknown>;
17
17
  /** {@link Disposable.onDisposed} */
18
18
  readonly onDisposed: Event<string>;
19
- readonly three: THREE.PerspectiveCamera;
19
+ three: THREE.PerspectiveCamera | THREE.OrthographicCamera;
20
20
  private _allControls;
21
21
  /**
22
22
  * The object that controls the camera. An instance of
@@ -13,7 +13,7 @@ export declare class SimpleRenderer extends BaseRenderer {
13
13
  protected _canvas: HTMLCanvasElement;
14
14
  protected _parameters?: Partial<THREE.WebGLRendererParameters>;
15
15
  protected _resizeObserver: ResizeObserver | null;
16
- protected onContainerUpdated: Event<HTMLElement>;
16
+ protected onContainerUpdated: Event<unknown>;
17
17
  constructor(components: Components, container: HTMLElement, parameters?: Partial<THREE.WebGLRendererParameters>);
18
18
  /** {@link Updateable.update} */
19
19
  update(): void;
@@ -5,7 +5,6 @@ export * from "./Types";
5
5
  export * from "./Worlds";
6
6
  export * from "./Grids";
7
7
  export * from "./Clipper";
8
- export * from "./Materials";
9
8
  export * from "./Cullers";
10
9
  export * from "./MiniMap";
11
10
  export * from "./OrthoPerspectiveCamera";
@@ -6,7 +6,7 @@ import { Component, Components, Disposable, Event } from "../../core";
6
6
  * A simple implementation of bounding box that works for fragments. The resulting bbox is not 100% precise, but
7
7
  * it's fast, and should suffice for general use cases such as camera zooming or general boundary determination.
8
8
  */
9
- export declare class BoundingBoxes extends Component implements Disposable {
9
+ export declare class BoundingBoxer extends Component implements Disposable {
10
10
  static readonly uuid: "d1444724-dba6-4cdd-a0c7-68ee1450d166";
11
11
  /** {@link Component.enabled} */
12
12
  enabled: boolean;
@@ -6,7 +6,7 @@ export interface Classification {
6
6
  [className: string]: FRAGS.FragmentIdMap;
7
7
  };
8
8
  }
9
- export declare class FragmentClassifier extends Component implements Disposable {
9
+ export declare class Classifier extends Component implements Disposable {
10
10
  static readonly uuid: "e25a7f3c-46c4-4a14-9d3d-5115f24ebeb7";
11
11
  /** {@link Component.enabled} */
12
12
  enabled: boolean;
@@ -1,15 +1,13 @@
1
1
  import { Component, Disposable, Event, Components } from "../../core";
2
- export declare class FragmentExploder extends Component implements Disposable {
2
+ export declare class Exploder extends Component implements Disposable {
3
3
  static readonly uuid: "d260618b-ce88-4c7d-826c-6debb91de3e2";
4
4
  enabled: boolean;
5
5
  height: number;
6
6
  groupName: string;
7
7
  /** {@link Disposable.onDisposed} */
8
- readonly onDisposed: Event<string>;
8
+ readonly onDisposed: Event<unknown>;
9
9
  list: Set<string>;
10
10
  constructor(components: Components);
11
11
  dispose(): void;
12
- explode(): void;
13
- reset(): void;
14
- update(): void;
12
+ set(active: boolean): void;
15
13
  }
@@ -7,7 +7,7 @@ import { RelationsMap } from "../../ifc/IfcRelationsIndexer/src/types";
7
7
  * Object that can efficiently load binary files that contain
8
8
  * [fragment geometry](https://github.com/ThatOpen/engine_fragment).
9
9
  */
10
- export declare class FragmentManager extends Component implements Disposable {
10
+ export declare class FragmentsManager extends Component implements Disposable {
11
11
  static readonly uuid: "fef46874-46a3-461b-8c44-2922ab77c806";
12
12
  /** {@link Disposable.onDisposed} */
13
13
  readonly onDisposed: Event<unknown>;
@@ -1,4 +1,4 @@
1
- import { IfcFragmentSettings } from "../../FragmentIfcLoader/src";
1
+ import { IfcFragmentSettings } from "../../IfcLoader/src";
2
2
  /** Configuration of the IFC-fragment streaming. */
3
3
  export declare class IfcStreamingSettings extends IfcFragmentSettings {
4
4
  minGeometrySize: number;
@@ -2,7 +2,7 @@ import * as WEBIFC from "web-ifc";
2
2
  import * as FRAGS from "@thatopen/fragments";
3
3
  import { IfcFragmentSettings } from "./src";
4
4
  import { Component, Components, Event, Disposable } from "../../core";
5
- export declare class FragmentIfcLoader extends Component implements Disposable {
5
+ export declare class IfcLoader extends Component implements Disposable {
6
6
  static readonly uuid: "a659add7-1418-4771-a0d6-7d4d438e4624";
7
7
  readonly onIfcStartedLoading: Event<void>;
8
8
  readonly onSetup: Event<void>;
@@ -16,7 +16,6 @@ export declare class FragmentIfcLoader extends Component implements Disposable {
16
16
  private _metaData;
17
17
  private _fragmentInstances;
18
18
  private _civil;
19
- private _propertyExporter;
20
19
  private _visitedFragments;
21
20
  private _materialT;
22
21
  constructor(components: Components);
@@ -1,8 +1,8 @@
1
- export * from "./BoundingBoxes";
2
- export * from "./FragmentClassifier";
3
- export * from "./FragmentExploder";
4
- export * from "./FragmentHider";
5
- export * from "./FragmentIfcLoader";
6
- export * from "./FragmentManager";
1
+ export * from "./BoundingBoxer";
2
+ export * from "./Classifier";
3
+ export * from "./Exploder";
4
+ export * from "./Hider";
5
+ export * from "./IfcLoader";
6
+ export * from "./FragmentsManager";
7
7
  export * from "./IfcGeometryTiler";
8
8
  export * from "./IfcPropertiesTiler";
@@ -1,9 +1,14 @@
1
1
  import * as WEBIFC from "web-ifc";
2
2
  import * as FRAG from "@thatopen/fragments";
3
+ import { Component, Components } from "../../core";
3
4
  /**
4
5
  * Object to export all the properties from an IFC to a JS object.
5
6
  */
6
- export declare class IfcJsonExporter {
7
+ export declare class IfcJsonExporter extends Component {
8
+ static readonly uuid: "b32c4332-cd67-436e-ba7f-196646c7a635";
9
+ /** {@link Component.enabled} */
10
+ enabled: boolean;
11
+ constructor(components: Components);
7
12
  /**
8
13
  * Exports all the properties of an IFC into an array of JS objects.
9
14
  * @param webIfc The instance of [web-ifc]{@link https://github.com/ThatOpen/engine_web-ifc} to use.
@@ -45,9 +45,8 @@ export declare class IfcPropertiesManager extends Component implements Disposabl
45
45
  enabled: boolean;
46
46
  attributeListeners: AttributeListener;
47
47
  selectedModel?: FragmentsGroup;
48
- private _changeMap;
48
+ changeMap: ChangeMap;
49
49
  constructor(components: Components);
50
- get(): ChangeMap;
51
50
  dispose(): void;
52
51
  private increaseMaxID;
53
52
  static getIFCSchema(model: FragmentsGroup): import("@thatopen/fragments").IfcSchema;
@@ -1,5 +1,4 @@
1
1
  export * from "./IfcJsonExporter";
2
- export * from "./IfcPropertiesFinder";
3
2
  export * from "./IfcRelationsIndexer";
4
3
  export * from "./IfcPropertiesManager";
5
4
  export * from "./Utils";