@thatopen/components 2.0.0-alpha.6 → 2.0.0-alpha.8
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.
- package/dist/core/Clipper/index.d.ts +3 -3
- package/dist/core/Materials/index.d.ts +3 -15
- package/dist/core/Worlds/src/simple-renderer.d.ts +3 -4
- package/dist/core/index.d.ts +2 -0
- package/dist/fragments/FragmentClassifier/index.d.ts +4 -3
- package/dist/fragments/FragmentIfcLoader/src/index.d.ts +1 -0
- package/dist/fragments/{FragmentIfcStreamer/src/fragment-ifc-stream-converter.d.ts → IfcGeometryTiler/index.d.ts} +4 -4
- package/dist/fragments/{FragmentIfcStreamer → IfcGeometryTiler}/src/fragment-props-stream-converter.d.ts +4 -4
- package/dist/fragments/{FragmentIfcStreamer → IfcGeometryTiler}/src/index.d.ts +0 -1
- package/dist/fragments/IfcPropertiesTiler/index.d.ts +26 -0
- package/dist/fragments/index.d.ts +2 -1
- package/dist/ifc/IfcRelationsIndexer/index.d.ts +135 -0
- package/dist/ifc/IfcRelationsIndexer/src/getRelationMap.d.ts +3 -0
- package/dist/ifc/IfcRelationsIndexer/src/relToAttributesMap.d.ts +4 -0
- package/dist/ifc/IfcRelationsIndexer/src/types.d.ts +24 -0
- package/dist/ifc/index.d.ts +1 -1
- package/dist/index.cjs +5 -5
- package/dist/index.d.ts +0 -1
- package/dist/index.mjs +2545 -2142
- package/dist/namespace.d.ts +886 -738
- package/package.json +5 -4
- package/dist/fragments/FragmentIfcStreamer/index.d.ts +0 -1
- package/dist/ifc/IfcPropertiesIndexer/index.d.ts +0 -31
- package/dist/navigation/index.d.ts +0 -1
- /package/dist/{navigation → core}/MiniMap/index.d.ts +0 -0
- /package/dist/{navigation → core}/MiniMap/src/index.d.ts +0 -0
- /package/dist/{navigation → core}/OrthoPerspectiveCamera/index.d.ts +0 -0
- /package/dist/{navigation → core}/OrthoPerspectiveCamera/src/first-person-mode.d.ts +0 -0
- /package/dist/{navigation → core}/OrthoPerspectiveCamera/src/index.d.ts +0 -0
- /package/dist/{navigation → core}/OrthoPerspectiveCamera/src/orbit-mode.d.ts +0 -0
- /package/dist/{navigation → core}/OrthoPerspectiveCamera/src/plan-mode.d.ts +0 -0
- /package/dist/{navigation → core}/OrthoPerspectiveCamera/src/projections.d.ts +0 -0
- /package/dist/{navigation → core}/OrthoPerspectiveCamera/src/types.d.ts +0 -0
- /package/dist/fragments/{FragmentIfcStreamer → IfcGeometryTiler}/src/base-types.d.ts +0 -0
- /package/dist/fragments/{FragmentIfcStreamer → IfcGeometryTiler}/src/streaming-settings.d.ts +0 -0
|
@@ -43,7 +43,7 @@ export declare class Clipper<T extends SimplePlane> extends Component implements
|
|
|
43
43
|
list: T[];
|
|
44
44
|
protected PlaneType: new (...args: any) => SimplePlane | T;
|
|
45
45
|
/** The material used in all the clipping planes. */
|
|
46
|
-
protected _material: THREE.
|
|
46
|
+
protected _material: THREE.MeshBasicMaterial;
|
|
47
47
|
private _size;
|
|
48
48
|
private _enabled;
|
|
49
49
|
private _visible;
|
|
@@ -56,9 +56,9 @@ export declare class Clipper<T extends SimplePlane> extends Component implements
|
|
|
56
56
|
/** {@link Hideable.visible } */
|
|
57
57
|
set visible(state: boolean);
|
|
58
58
|
/** The material of the clipping plane representation. */
|
|
59
|
-
get material(): THREE.
|
|
59
|
+
get material(): THREE.MeshBasicMaterial;
|
|
60
60
|
/** The material of the clipping plane representation. */
|
|
61
|
-
set material(material: THREE.
|
|
61
|
+
set material(material: THREE.MeshBasicMaterial);
|
|
62
62
|
/** The size of the geometric representation of the clippings planes. */
|
|
63
63
|
get size(): number;
|
|
64
64
|
/** The size of the geometric representation of the clippings planes. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as THREE from "three";
|
|
2
|
-
import { Component, Disposable, Event
|
|
2
|
+
import { Component, Disposable, Event } from "../Types";
|
|
3
3
|
import { Components } from "../Components";
|
|
4
4
|
/**
|
|
5
5
|
* A tool to easily handle the materials of massive amounts of
|
|
@@ -9,7 +9,6 @@ export declare class Materials extends Component implements Disposable {
|
|
|
9
9
|
static readonly uuid: "24989d27-fa2f-4797-8b08-35918f74e502";
|
|
10
10
|
/** {@link Component.enabled} */
|
|
11
11
|
enabled: boolean;
|
|
12
|
-
private _originalBackground;
|
|
13
12
|
/** {@link Disposable.onDisposed} */
|
|
14
13
|
readonly onDisposed: Event<string>;
|
|
15
14
|
list: {
|
|
@@ -20,6 +19,8 @@ export declare class Materials extends Component implements Disposable {
|
|
|
20
19
|
};
|
|
21
20
|
private _originals;
|
|
22
21
|
constructor(components: Components);
|
|
22
|
+
/** {@link Disposable.dispose} */
|
|
23
|
+
dispose(): void;
|
|
23
24
|
/**
|
|
24
25
|
* Turns the specified material styles on or off.
|
|
25
26
|
*
|
|
@@ -27,19 +28,6 @@ export declare class Materials extends Component implements Disposable {
|
|
|
27
28
|
* @param ids the ids of the style to turn on or off.
|
|
28
29
|
*/
|
|
29
30
|
set(active: boolean, ids?: string[]): void;
|
|
30
|
-
/** {@link Disposable.dispose} */
|
|
31
|
-
dispose(): void;
|
|
32
|
-
/**
|
|
33
|
-
* Sets the color of the background of the scene.
|
|
34
|
-
*
|
|
35
|
-
* @param color: the color to apply.
|
|
36
|
-
*/
|
|
37
|
-
setBackgroundColor(color: THREE.Color, world: World): void;
|
|
38
|
-
/**
|
|
39
|
-
* Resets the scene background to the color that was being used
|
|
40
|
-
* before applying the material manager.
|
|
41
|
-
*/
|
|
42
|
-
resetBackgroundColor(world: World): void;
|
|
43
31
|
/**
|
|
44
32
|
* Creates a new material style.
|
|
45
33
|
* @param id the identifier of the style to create.
|
|
@@ -6,15 +6,15 @@ import { Components } from "../../Components";
|
|
|
6
6
|
* ([Objec3Ds](https://threejs.org/docs/#api/en/core/Object3D).
|
|
7
7
|
*/
|
|
8
8
|
export declare class SimpleRenderer extends BaseRenderer {
|
|
9
|
-
/** {@link Component.enabled} */
|
|
10
9
|
enabled: boolean;
|
|
11
10
|
/** The HTML container of the THREE.js canvas where the scene is rendered. */
|
|
12
|
-
container: HTMLElement
|
|
11
|
+
container: HTMLElement;
|
|
13
12
|
three: THREE.WebGLRenderer;
|
|
14
13
|
protected _canvas: HTMLCanvasElement;
|
|
15
14
|
protected _parameters?: Partial<THREE.WebGLRendererParameters>;
|
|
15
|
+
protected _resizeObserver: ResizeObserver | null;
|
|
16
16
|
protected onContainerUpdated: Event<HTMLElement>;
|
|
17
|
-
constructor(components: Components, container
|
|
17
|
+
constructor(components: Components, container: HTMLElement, parameters?: Partial<THREE.WebGLRendererParameters>);
|
|
18
18
|
/** {@link Updateable.update} */
|
|
19
19
|
update(): void;
|
|
20
20
|
/** {@link Disposable.dispose} */
|
|
@@ -28,5 +28,4 @@ export declare class SimpleRenderer extends BaseRenderer {
|
|
|
28
28
|
private setupRenderer;
|
|
29
29
|
private onContextLost;
|
|
30
30
|
private onContextBack;
|
|
31
|
-
private updateContainer;
|
|
32
31
|
}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as THREE from "three";
|
|
1
2
|
import * as FRAGS from "@thatopen/fragments";
|
|
2
3
|
import { Disposable, Component, Event, Components } from "../../core";
|
|
3
4
|
export interface Classification {
|
|
@@ -9,13 +10,11 @@ export declare class FragmentClassifier extends Component implements Disposable
|
|
|
9
10
|
static readonly uuid: "e25a7f3c-46c4-4a14-9d3d-5115f24ebeb7";
|
|
10
11
|
/** {@link Component.enabled} */
|
|
11
12
|
enabled: boolean;
|
|
12
|
-
|
|
13
|
+
list: Classification;
|
|
13
14
|
/** {@link Disposable.onDisposed} */
|
|
14
15
|
readonly onDisposed: Event<unknown>;
|
|
15
16
|
constructor(components: Components);
|
|
16
17
|
private onFragmentsDisposed;
|
|
17
|
-
/** {@link Component.get} */
|
|
18
|
-
get(): Classification;
|
|
19
18
|
dispose(): void;
|
|
20
19
|
remove(guid: string): void;
|
|
21
20
|
find(filter?: {
|
|
@@ -26,5 +25,7 @@ export declare class FragmentClassifier extends Component implements Disposable
|
|
|
26
25
|
byEntity(group: FRAGS.FragmentsGroup): void;
|
|
27
26
|
byStorey(group: FRAGS.FragmentsGroup): void;
|
|
28
27
|
byIfcRel(group: FRAGS.FragmentsGroup, ifcRel: number, systemName: string): Promise<void>;
|
|
28
|
+
setColor(items: FRAGS.FragmentIdMap, color: THREE.Color, _override?: boolean): void;
|
|
29
|
+
resetColor(items: FRAGS.FragmentIdMap): void;
|
|
29
30
|
private saveItem;
|
|
30
31
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as WEBIFC from "web-ifc";
|
|
2
|
-
import { Components, Disposable, Event, Component } from "
|
|
3
|
-
import { IfcStreamingSettings } from "./
|
|
4
|
-
|
|
5
|
-
export declare class
|
|
2
|
+
import { Components, Disposable, Event, Component } from "../../core";
|
|
3
|
+
import { IfcStreamingSettings, StreamedGeometries, StreamedAsset } from "./src";
|
|
4
|
+
export * from "./src";
|
|
5
|
+
export declare class IfcGeometryTiler extends Component implements Disposable {
|
|
6
6
|
static readonly uuid: "d9999a00-e1f5-4d3f-8cfe-c56e08609764";
|
|
7
7
|
onGeometryStreamed: Event<{
|
|
8
8
|
buffer: Uint8Array;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import * as WEBIFC from "web-ifc";
|
|
2
|
-
import { Component, Disposable, Event } from "../../../core";
|
|
2
|
+
import { AsyncEvent, Component, Disposable, Event } from "../../../core";
|
|
3
3
|
import { PropertiesStreamingSettings } from "./streaming-settings";
|
|
4
4
|
export declare class FragmentPropsStreamConverter extends Component implements Disposable {
|
|
5
5
|
static readonly uuid: "88d2c89c-ce32-47d7-8cb6-d51e4b311a0b";
|
|
6
|
-
onPropertiesStreamed:
|
|
6
|
+
onPropertiesStreamed: AsyncEvent<{
|
|
7
7
|
type: number;
|
|
8
8
|
data: {
|
|
9
9
|
[id: number]: any;
|
|
10
10
|
};
|
|
11
11
|
}>;
|
|
12
|
-
onProgress:
|
|
13
|
-
onIndicesStreamed:
|
|
12
|
+
onProgress: AsyncEvent<number>;
|
|
13
|
+
onIndicesStreamed: AsyncEvent<number[][]>;
|
|
14
14
|
/** {@link Disposable.onDisposed} */
|
|
15
15
|
readonly onDisposed: Event<string>;
|
|
16
16
|
enabled: boolean;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as WEBIFC from "web-ifc";
|
|
2
|
+
import { AsyncEvent, Component, Disposable, Event } from "../../core";
|
|
3
|
+
import { PropertiesStreamingSettings } from "../IfcGeometryTiler";
|
|
4
|
+
export declare class IfcPropertiesTiler extends Component implements Disposable {
|
|
5
|
+
static readonly uuid: "88d2c89c-ce32-47d7-8cb6-d51e4b311a0b";
|
|
6
|
+
onPropertiesStreamed: AsyncEvent<{
|
|
7
|
+
type: number;
|
|
8
|
+
data: {
|
|
9
|
+
[id: number]: any;
|
|
10
|
+
};
|
|
11
|
+
}>;
|
|
12
|
+
onProgress: AsyncEvent<number>;
|
|
13
|
+
onIndicesStreamed: AsyncEvent<Map<number, Map<number, number[]>>>;
|
|
14
|
+
/** {@link Disposable.onDisposed} */
|
|
15
|
+
readonly onDisposed: Event<string>;
|
|
16
|
+
enabled: boolean;
|
|
17
|
+
settings: PropertiesStreamingSettings;
|
|
18
|
+
webIfc: WEBIFC.IfcAPI;
|
|
19
|
+
dispose(): Promise<void>;
|
|
20
|
+
streamFromBuffer(data: Uint8Array): Promise<void>;
|
|
21
|
+
streamFromCallBack(loadCallback: WEBIFC.ModelLoadCallback): Promise<void>;
|
|
22
|
+
private readIfcFile;
|
|
23
|
+
private streamIfcFile;
|
|
24
|
+
private streamAllProperties;
|
|
25
|
+
private cleanUp;
|
|
26
|
+
}
|
|
@@ -3,5 +3,6 @@ export * from "./FragmentClassifier";
|
|
|
3
3
|
export * from "./FragmentExploder";
|
|
4
4
|
export * from "./FragmentHider";
|
|
5
5
|
export * from "./FragmentIfcLoader";
|
|
6
|
-
export * from "./FragmentIfcStreamer";
|
|
7
6
|
export * from "./FragmentManager";
|
|
7
|
+
export * from "./IfcGeometryTiler";
|
|
8
|
+
export * from "./IfcPropertiesTiler";
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import * as WEBIFC from "web-ifc";
|
|
2
|
+
import { FragmentsGroup } from "@thatopen/fragments";
|
|
3
|
+
import { Disposable, Event, Component, Components } from "../../core";
|
|
4
|
+
import { RelationsMap, ModelsRelationMap, InverseAttributes, InverseAttribute } from "./src/types";
|
|
5
|
+
/**
|
|
6
|
+
* Indexer for IFC entities, facilitating the indexing and retrieval of IFC entity relationships.
|
|
7
|
+
* It is designed to process models properties by indexing their IFC entities' relations based on predefined inverse attributes, and provides methods to query these relations.
|
|
8
|
+
*/
|
|
9
|
+
export declare class IfcRelationsIndexer extends Component implements Disposable {
|
|
10
|
+
static readonly uuid: "23a889ab-83b3-44a4-8bee-ead83438370b";
|
|
11
|
+
/** {@link Disposable.onDisposed} */
|
|
12
|
+
readonly onDisposed: Event<string>;
|
|
13
|
+
enabled: boolean;
|
|
14
|
+
readonly onRelationsIndexed: Event<{
|
|
15
|
+
modelID: string;
|
|
16
|
+
relationsMap: RelationsMap;
|
|
17
|
+
}>;
|
|
18
|
+
private _relToAttributesMap;
|
|
19
|
+
/**
|
|
20
|
+
* Array of inverse attribute names.
|
|
21
|
+
* This array is used to define the inverse attributes that the indexer will process and index.
|
|
22
|
+
*/
|
|
23
|
+
readonly inverseAttributes: InverseAttributes;
|
|
24
|
+
/**
|
|
25
|
+
* Holds the relationship mappings for each model processed by the indexer.
|
|
26
|
+
* The structure is a map where each key is a model's UUID, and the value is another map.
|
|
27
|
+
* This inner map's keys are entity expressIDs, and its values are maps where each key is an index
|
|
28
|
+
* representing a specific relation type, and the value is an array of expressIDs of entities
|
|
29
|
+
* that are related through that relation type. This structure allows for efficient querying
|
|
30
|
+
* of entity relationships within a model.
|
|
31
|
+
*/
|
|
32
|
+
readonly relationMaps: ModelsRelationMap;
|
|
33
|
+
constructor(components: Components);
|
|
34
|
+
private onFragmentsDisposed;
|
|
35
|
+
private getAttributeRels;
|
|
36
|
+
/**
|
|
37
|
+
* Adds a relation map to the model's relations map.
|
|
38
|
+
*
|
|
39
|
+
* @param model - The `FragmentsGroup` model to which the relation map will be added.
|
|
40
|
+
* @param relationMap - The `RelationsMap` to be added to the model's relations map.
|
|
41
|
+
*
|
|
42
|
+
* @fires onRelationsIndexed - Triggers an event with the model's UUID and the added relation map.
|
|
43
|
+
*/
|
|
44
|
+
setRelationMap(model: FragmentsGroup, relationMap: RelationsMap): void;
|
|
45
|
+
/**
|
|
46
|
+
* Processes a given model to index its IFC entities relations based on predefined inverse attributes.
|
|
47
|
+
* This method iterates through each specified inverse attribute, retrieves the corresponding relations,
|
|
48
|
+
* and maps them in a structured way to facilitate quick access to related entities.
|
|
49
|
+
*
|
|
50
|
+
* The process involves querying the model for each relation type associated with the inverse attributes
|
|
51
|
+
* and updating the internal relationMaps with the relationships found. This map is keyed by the model's UUID
|
|
52
|
+
* and contains a nested map where each key is an entity's expressID and its value is another map.
|
|
53
|
+
* This inner map's keys are the indices of the inverse attributes, and its values are arrays of expressIDs
|
|
54
|
+
* of entities that are related through that attribute.
|
|
55
|
+
*
|
|
56
|
+
* @param model The `FragmentsGroup` model to be processed. It must have properties loaded.
|
|
57
|
+
* @returns A promise that resolves to the relations map for the processed model. This map is a detailed
|
|
58
|
+
* representation of the relations indexed by entity expressIDs and relation types.
|
|
59
|
+
* @throws An error if the model does not have properties loaded.
|
|
60
|
+
*/
|
|
61
|
+
process(model: FragmentsGroup): Promise<RelationsMap>;
|
|
62
|
+
/**
|
|
63
|
+
* Processes a given model from a WebIfc API to index its IFC entities relations based on predefined inverse attributes.
|
|
64
|
+
*
|
|
65
|
+
* @param ifcApi - The WebIfc API instance from which to retrieve the model's properties.
|
|
66
|
+
* @param modelID - The unique identifier of the model within the WebIfc API.
|
|
67
|
+
* @returns A promise that resolves to the relations map for the processed model.
|
|
68
|
+
* This map is a detailed representation of the relations indexed by entity expressIDs and relation types.
|
|
69
|
+
*/
|
|
70
|
+
processFromWebIfc(ifcApi: WEBIFC.IfcAPI, modelID: number): Promise<RelationsMap>;
|
|
71
|
+
/**
|
|
72
|
+
* Retrieves the relations of a specific entity within a model based on the given relation name.
|
|
73
|
+
* This method searches the indexed relation maps for the specified model and entity,
|
|
74
|
+
* returning the IDs of related entities if a match is found.
|
|
75
|
+
*
|
|
76
|
+
* @param model The `FragmentsGroup` model containing the entity.
|
|
77
|
+
* @param expressID The unique identifier of the entity within the model.
|
|
78
|
+
* @param relationName The IFC schema inverse attribute of the relation to search for (e.g., "IsDefinedBy", "ContainsElements").
|
|
79
|
+
* @returns An array of express IDs representing the related entities, or `null` if no relations are found
|
|
80
|
+
* or the specified relation name is not indexed.
|
|
81
|
+
*/
|
|
82
|
+
getEntityRelations(model: FragmentsGroup, expressID: number, relationName: InverseAttribute): number[] | null;
|
|
83
|
+
/**
|
|
84
|
+
* Serializes the relations of a given relation map into a JSON string.
|
|
85
|
+
* This method iterates through the relations in the given map, organizing them into a structured object where each key is an expressID of an entity,
|
|
86
|
+
* and its value is another object mapping relation indices to arrays of related entity expressIDs.
|
|
87
|
+
* The resulting object is then serialized into a JSON string.
|
|
88
|
+
*
|
|
89
|
+
* @param relationMap - The map of relations to be serialized. The map keys are expressIDs of entities, and the values are maps where each key is a relation type ID and its value is an array of expressIDs of entities related through that relation type.
|
|
90
|
+
* @returns A JSON string representing the serialized relations of the given relation map.
|
|
91
|
+
*/
|
|
92
|
+
serializeRelations(relationMap: RelationsMap): string;
|
|
93
|
+
/**
|
|
94
|
+
* Serializes the relations of a specific model into a JSON string.
|
|
95
|
+
* This method iterates through the relations indexed for the given model,
|
|
96
|
+
* organizing them into a structured object where each key is an expressID of an entity,
|
|
97
|
+
* and its value is another object mapping relation indices to arrays of related entity expressIDs.
|
|
98
|
+
* The resulting object is then serialized into a JSON string.
|
|
99
|
+
*
|
|
100
|
+
* @param model The `FragmentsGroup` model whose relations are to be serialized.
|
|
101
|
+
* @returns A JSON string representing the serialized relations of the specified model.
|
|
102
|
+
* If the model has no indexed relations, `null` is returned.
|
|
103
|
+
*/
|
|
104
|
+
serializeModelRelations(model: FragmentsGroup): string | null;
|
|
105
|
+
/**
|
|
106
|
+
* Serializes all relations of every model processed by the indexer into a JSON string.
|
|
107
|
+
* This method iterates through each model's relations indexed in `relationMaps`, organizing them
|
|
108
|
+
* into a structured JSON object. Each top-level key in this object corresponds to a model's UUID,
|
|
109
|
+
* and its value is another object mapping entity expressIDs to their related entities, categorized
|
|
110
|
+
* by relation types. The structure facilitates easy access to any entity's relations across all models.
|
|
111
|
+
*
|
|
112
|
+
* @returns A JSON string representing the serialized relations of all models processed by the indexer.
|
|
113
|
+
* If no relations have been indexed, an empty object is returned as a JSON string.
|
|
114
|
+
*/
|
|
115
|
+
serializeAllRelations(): string;
|
|
116
|
+
/**
|
|
117
|
+
* Converts a JSON string representing relations between entities into a structured map.
|
|
118
|
+
* This method parses the JSON string to reconstruct the relations map that indexes
|
|
119
|
+
* entity relations by their express IDs. The outer map keys are the express IDs of entities,
|
|
120
|
+
* and the values are maps where each key is a relation type ID and its value is an array
|
|
121
|
+
* of express IDs of entities related through that relation type.
|
|
122
|
+
*
|
|
123
|
+
* @param json The JSON string to be parsed into the relations map.
|
|
124
|
+
* @returns A `Map` where the key is the express ID of an entity as a number, and the value
|
|
125
|
+
* is another `Map`. This inner map's key is the relation type ID as a number, and its value
|
|
126
|
+
* is an array of express IDs (as numbers) of entities related through that relation type.
|
|
127
|
+
*/
|
|
128
|
+
getRelationsMapFromJSON(json: string): RelationsMap;
|
|
129
|
+
/**
|
|
130
|
+
* Disposes the component, cleaning up resources and detaching event listeners.
|
|
131
|
+
* This ensures that the component is properly cleaned up and does not leave behind any
|
|
132
|
+
* references that could prevent garbage collection.
|
|
133
|
+
*/
|
|
134
|
+
dispose(): void;
|
|
135
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const relToAttributesMap: Map<number, {
|
|
2
|
+
forRelating?: "IsDecomposedBy" | "Decomposes" | "AssociatedTo" | "HasAssociations" | "ClassificationForObjects" | "IsGroupedBy" | "HasAssignments" | "IsDefinedBy" | "DefinesOcurrence" | "IsTypedBy" | "Types" | "Defines" | "ContainedInStructure" | "ContainsElements" | undefined;
|
|
3
|
+
forRelated?: "IsDecomposedBy" | "Decomposes" | "AssociatedTo" | "HasAssociations" | "ClassificationForObjects" | "IsGroupedBy" | "HasAssignments" | "IsDefinedBy" | "DefinesOcurrence" | "IsTypedBy" | "Types" | "Defines" | "ContainedInStructure" | "ContainsElements" | undefined;
|
|
4
|
+
}>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export type RelationsMap = Map<number, Map<number, number[]>>;
|
|
2
|
+
export interface ModelsRelationMap {
|
|
3
|
+
[modelID: string]: RelationsMap;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Type alias for an array of inverse attribute names.
|
|
7
|
+
*/
|
|
8
|
+
export type InverseAttributes = [
|
|
9
|
+
"IsDecomposedBy",
|
|
10
|
+
"Decomposes",
|
|
11
|
+
"AssociatedTo",
|
|
12
|
+
"HasAssociations",
|
|
13
|
+
"ClassificationForObjects",
|
|
14
|
+
"IsGroupedBy",
|
|
15
|
+
"HasAssignments",
|
|
16
|
+
"IsDefinedBy",
|
|
17
|
+
"DefinesOcurrence",
|
|
18
|
+
"IsTypedBy",
|
|
19
|
+
"Types",
|
|
20
|
+
"Defines",
|
|
21
|
+
"ContainedInStructure",
|
|
22
|
+
"ContainsElements"
|
|
23
|
+
];
|
|
24
|
+
export type InverseAttribute = InverseAttributes[number];
|
package/dist/ifc/index.d.ts
CHANGED