@thatopen/components 1.5.0 → 2.0.0-alpha.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.
- package/dist/core/Clipper/index.d.ts +104 -0
- package/dist/core/Clipper/src/index.d.ts +1 -0
- package/dist/core/Clipper/src/simple-plane.d.ts +61 -0
- package/dist/core/Components/index.d.ts +52 -0
- package/dist/core/Cullers/index.d.ts +23 -0
- package/dist/core/Cullers/src/culler-renderer.d.ts +66 -0
- package/dist/core/Cullers/src/index.d.ts +3 -0
- package/dist/core/Cullers/src/mesh-culler-renderer.d.ts +27 -0
- package/dist/core/Cullers/src/screen-culler-helper.d.ts +1 -0
- package/dist/core/Disposer/index.d.ts +43 -0
- package/dist/core/Grids/index.d.ts +13 -0
- package/dist/core/Grids/src/index.d.ts +1 -0
- package/dist/core/Grids/src/simple-grid.d.ts +48 -0
- package/dist/core/Materials/index.d.ts +61 -0
- package/dist/core/Raycasters/index.d.ts +13 -0
- package/dist/core/Raycasters/src/index.d.ts +2 -0
- package/dist/core/Raycasters/src/mouse.d.ts +26 -0
- package/dist/core/Raycasters/src/simple-raycaster.d.ts +36 -0
- package/dist/core/Types/index.d.ts +1 -0
- package/dist/core/Types/src/base-camera.d.ts +11 -0
- package/dist/core/Types/src/base-renderer.d.ts +40 -0
- package/dist/core/Types/src/base-scene.d.ts +13 -0
- package/dist/core/Types/src/base-world-item.d.ts +17 -0
- package/dist/core/Types/src/base.d.ts +19 -0
- package/dist/core/Types/src/component.d.ts +18 -0
- package/dist/core/Types/src/event.d.ts +34 -0
- package/dist/core/Types/src/index.d.ts +9 -0
- package/dist/core/Types/src/interfaces.d.ts +134 -0
- package/dist/core/Types/src/world.d.ts +12 -0
- package/dist/core/Worlds/index.d.ts +17 -0
- package/dist/core/Worlds/src/index.d.ts +4 -0
- package/dist/core/Worlds/src/simple-camera.d.ts +46 -0
- package/dist/core/Worlds/src/simple-renderer.d.ts +32 -0
- package/dist/core/Worlds/src/simple-scene.d.ts +30 -0
- package/dist/core/Worlds/src/simple-world.d.ts +26 -0
- package/dist/core/index.d.ts +9 -0
- package/dist/fragments/FragmentBoundingBox/index.d.ts +36 -0
- package/dist/fragments/FragmentClassifier/index.d.ts +30 -0
- package/dist/fragments/FragmentExploder/index.d.ts +15 -0
- package/dist/fragments/FragmentIfcLoader/index.d.ts +33 -0
- package/dist/fragments/FragmentIfcLoader/src/civil-reader.d.ts +15 -0
- package/dist/fragments/FragmentIfcLoader/src/ifc-fragment-settings.d.ts +27 -0
- package/dist/fragments/FragmentIfcLoader/src/ifc-metadata-reader.d.ts +4 -0
- package/dist/fragments/FragmentIfcLoader/src/index.d.ts +3 -0
- package/dist/fragments/FragmentIfcLoader/src/spatial-structure.d.ts +8 -0
- package/dist/fragments/FragmentIfcLoader/src/transform-helper.d.ts +5 -0
- package/dist/fragments/FragmentIfcLoader/src/units.d.ts +10 -0
- package/dist/fragments/FragmentIfcStreamer/index.d.ts +1 -0
- package/dist/fragments/FragmentIfcStreamer/src/base-types.d.ts +15 -0
- package/dist/fragments/FragmentIfcStreamer/src/fragment-ifc-stream-converter.d.ts +41 -0
- package/dist/fragments/FragmentIfcStreamer/src/fragment-props-stream-converter.d.ts +27 -0
- package/dist/fragments/FragmentIfcStreamer/src/index.d.ts +4 -0
- package/dist/fragments/FragmentIfcStreamer/src/streaming-settings.d.ts +10 -0
- package/dist/fragments/FragmentManager/index.d.ts +44 -0
- package/dist/fragments/index.d.ts +5 -0
- package/dist/ifc/IfcJsonExporter/index.d.ts +16 -0
- package/dist/ifc/IfcJsonExporter/src/ifc-geometry-types.d.ts +1 -0
- package/dist/ifc/IfcPropertiesFinder/index.d.ts +37 -0
- package/dist/ifc/IfcPropertiesFinder/src/types.d.ts +23 -0
- package/dist/ifc/IfcPropertiesIndexer/index.d.ts +31 -0
- package/dist/ifc/IfcPropertiesManager/index.d.ts +73 -0
- package/dist/ifc/Utils/ifc-categories.d.ts +7 -0
- package/dist/ifc/Utils/ifc-category-map.d.ts +3 -0
- package/dist/ifc/Utils/ifc-elements-map.d.ts +3 -0
- package/dist/ifc/Utils/index.d.ts +4 -0
- package/dist/ifc/Utils/properties-utils.d.ts +25 -0
- package/dist/ifc/index.d.ts +5 -0
- package/dist/index.cjs +88 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.mjs +9024 -0
- package/dist/namespace.d.ts +1580 -0
- package/dist/utils/bbox.d.ts +7 -0
- package/dist/utils/geometry.d.ts +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/materials.d.ts +4 -0
- package/dist/utils/uuid.d.ts +6 -0
- package/package.json +10 -5
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import * as WEBIFC from "web-ifc";
|
|
2
|
+
import { Components, Disposable, Event, Component } from "../../../core";
|
|
3
|
+
import { IfcStreamingSettings } from "./streaming-settings";
|
|
4
|
+
import { StreamedGeometries, StreamedAsset } from "./base-types";
|
|
5
|
+
export declare class FragmentIfcStreamConverter extends Component implements Disposable {
|
|
6
|
+
static readonly uuid: "d9999a00-e1f5-4d3f-8cfe-c56e08609764";
|
|
7
|
+
onGeometryStreamed: Event<{
|
|
8
|
+
buffer: Uint8Array;
|
|
9
|
+
data: StreamedGeometries;
|
|
10
|
+
}>;
|
|
11
|
+
onAssetStreamed: Event<StreamedAsset[]>;
|
|
12
|
+
onProgress: Event<number>;
|
|
13
|
+
onIfcLoaded: Event<Uint8Array>;
|
|
14
|
+
/** {@link Disposable.onDisposed} */
|
|
15
|
+
readonly onDisposed: Event<unknown>;
|
|
16
|
+
settings: IfcStreamingSettings;
|
|
17
|
+
enabled: boolean;
|
|
18
|
+
webIfc: WEBIFC.IfcAPI;
|
|
19
|
+
private _spatialTree;
|
|
20
|
+
private _metaData;
|
|
21
|
+
private _visitedGeometries;
|
|
22
|
+
private _streamSerializer;
|
|
23
|
+
private _geometries;
|
|
24
|
+
private _geometryCount;
|
|
25
|
+
private _civil;
|
|
26
|
+
private _groupSerializer;
|
|
27
|
+
private _assets;
|
|
28
|
+
private _meshesWithHoles;
|
|
29
|
+
constructor(components: Components);
|
|
30
|
+
dispose(): void;
|
|
31
|
+
streamFromBuffer(data: Uint8Array): Promise<void>;
|
|
32
|
+
streamFromCallBack(loadCallback: WEBIFC.ModelLoadCallback): Promise<void>;
|
|
33
|
+
private readIfcFile;
|
|
34
|
+
private streamIfcFile;
|
|
35
|
+
private streamAllGeometries;
|
|
36
|
+
private cleanUp;
|
|
37
|
+
private getMesh;
|
|
38
|
+
private getGeometry;
|
|
39
|
+
private streamAssets;
|
|
40
|
+
private streamGeometries;
|
|
41
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as WEBIFC from "web-ifc";
|
|
2
|
+
import { Component, Disposable, Event } from "../../../core";
|
|
3
|
+
import { PropertiesStreamingSettings } from "./streaming-settings";
|
|
4
|
+
export declare class FragmentPropsStreamConverter extends Component implements Disposable {
|
|
5
|
+
static readonly uuid: "88d2c89c-ce32-47d7-8cb6-d51e4b311a0b";
|
|
6
|
+
onPropertiesStreamed: Event<{
|
|
7
|
+
type: number;
|
|
8
|
+
data: {
|
|
9
|
+
[id: number]: any;
|
|
10
|
+
};
|
|
11
|
+
}>;
|
|
12
|
+
onProgress: Event<number>;
|
|
13
|
+
onIndicesStreamed: Event<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 getIndices;
|
|
26
|
+
private cleanUp;
|
|
27
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IfcFragmentSettings } from "../../FragmentIfcLoader/src";
|
|
2
|
+
/** Configuration of the IFC-fragment streaming. */
|
|
3
|
+
export declare class IfcStreamingSettings extends IfcFragmentSettings {
|
|
4
|
+
minGeometrySize: number;
|
|
5
|
+
minAssetsSize: number;
|
|
6
|
+
}
|
|
7
|
+
/** Configuration of the IFC-fragment streaming. */
|
|
8
|
+
export declare class PropertiesStreamingSettings extends IfcFragmentSettings {
|
|
9
|
+
propertiesSize: number;
|
|
10
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Fragment, FragmentsGroup } from "bim-fragment";
|
|
2
|
+
import * as THREE from "three";
|
|
3
|
+
import { Component, Components, Event, Disposable } from "../../core";
|
|
4
|
+
/**
|
|
5
|
+
* Object that can efficiently load binary files that contain
|
|
6
|
+
* [fragment geometry](https://github.com/ThatOpen/engine_fragment).
|
|
7
|
+
*/
|
|
8
|
+
export declare class FragmentManager extends Component implements Disposable {
|
|
9
|
+
static readonly uuid: "fef46874-46a3-461b-8c44-2922ab77c806";
|
|
10
|
+
/** {@link Disposable.onDisposed} */
|
|
11
|
+
readonly onDisposed: Event<unknown>;
|
|
12
|
+
readonly onFragmentsLoaded: Event<FragmentsGroup>;
|
|
13
|
+
readonly onFragmentsDisposed: Event<{
|
|
14
|
+
groupID: string;
|
|
15
|
+
fragmentIDs: string[];
|
|
16
|
+
}>;
|
|
17
|
+
/** All the created [fragments](https://github.com/ThatOpen/engine_fragment). */
|
|
18
|
+
readonly list: Map<string, Fragment>;
|
|
19
|
+
readonly groups: Map<string, FragmentsGroup>;
|
|
20
|
+
/** {@link Component.enabled} */
|
|
21
|
+
enabled: boolean;
|
|
22
|
+
baseCoordinationModel: string;
|
|
23
|
+
private _loader;
|
|
24
|
+
/** The list of meshes of the created fragments. */
|
|
25
|
+
get meshes(): THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>[];
|
|
26
|
+
constructor(components: Components);
|
|
27
|
+
/** {@link Disposable.dispose} */
|
|
28
|
+
dispose(): void;
|
|
29
|
+
disposeGroup(group: FragmentsGroup): void;
|
|
30
|
+
/**
|
|
31
|
+
* Loads one or many fragments into the scene.
|
|
32
|
+
* @param data - the bytes containing the data for the fragments to load.
|
|
33
|
+
* @param coordinate - whether this fragmentsgroup should be federated with the others.
|
|
34
|
+
* @returns the list of IDs of the loaded fragments.
|
|
35
|
+
*/
|
|
36
|
+
load(data: Uint8Array, coordinate?: boolean): FragmentsGroup;
|
|
37
|
+
/**
|
|
38
|
+
* Export the specified fragments.
|
|
39
|
+
* @param group - the fragments group to be exported.
|
|
40
|
+
* @returns the exported data as binary buffer.
|
|
41
|
+
*/
|
|
42
|
+
export(group: FragmentsGroup): Uint8Array;
|
|
43
|
+
coordinate(models?: FragmentsGroup[]): void;
|
|
44
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as WEBIFC from "web-ifc";
|
|
2
|
+
import * as FRAG from "bim-fragment";
|
|
3
|
+
/**
|
|
4
|
+
* Object to export all the properties from an IFC to a JS object.
|
|
5
|
+
*/
|
|
6
|
+
export declare class IfcJsonExporter {
|
|
7
|
+
/**
|
|
8
|
+
* Exports all the properties of an IFC into an array of JS objects.
|
|
9
|
+
* @param webIfc The instance of [web-ifc]{@link https://github.com/ThatOpen/engine_web-ifc} to use.
|
|
10
|
+
* @param modelID ID of the IFC model whose properties to extract.
|
|
11
|
+
* @param indirect whether to get the indirect relationships as well.
|
|
12
|
+
* @param recursiveSpatial whether to get the properties of spatial items recursively
|
|
13
|
+
* to make the location data available (e.g. absolute position of building).
|
|
14
|
+
*/
|
|
15
|
+
export(webIfc: WEBIFC.IfcAPI, modelID: number, indirect?: boolean, recursiveSpatial?: boolean): Promise<FRAG.IfcProperties>;
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const GeometryTypes: Set<number>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as FRAGS from "bim-fragment";
|
|
2
|
+
import { FragmentsGroup } from "bim-fragment";
|
|
3
|
+
import { Disposable, Event, Component, Components } from "../../core";
|
|
4
|
+
import { QueryGroup } from "./src/types";
|
|
5
|
+
export interface QueryResult {
|
|
6
|
+
[modelID: string]: {
|
|
7
|
+
modelEntities: Set<number>;
|
|
8
|
+
otherEntities: Set<number>;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
export interface IndexedModels {
|
|
12
|
+
[modelID: string]: {
|
|
13
|
+
[expressID: number]: Set<number>;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export declare class IfcPropertiesFinder extends Component implements Disposable {
|
|
17
|
+
readonly onFound: Event<FRAGS.FragmentIdMap>;
|
|
18
|
+
/** {@link Disposable.onDisposed} */
|
|
19
|
+
readonly onDisposed: Event<unknown>;
|
|
20
|
+
enabled: boolean;
|
|
21
|
+
indexedModels: IndexedModels;
|
|
22
|
+
private readonly _conditionFunctions;
|
|
23
|
+
private _noHandleAttributes;
|
|
24
|
+
constructor(components: Components);
|
|
25
|
+
private onFragmentsDisposed;
|
|
26
|
+
dispose(): void;
|
|
27
|
+
private indexEntityRelations;
|
|
28
|
+
find(groups: QueryGroup[], queryModels?: FragmentsGroup[]): Promise<FRAGS.FragmentIdMap>;
|
|
29
|
+
private toFragmentMap;
|
|
30
|
+
private simpleQuery;
|
|
31
|
+
private getMatchingEntities;
|
|
32
|
+
private combineArrays;
|
|
33
|
+
private getCommonElements;
|
|
34
|
+
private arrayIntersection;
|
|
35
|
+
private arrayUnion;
|
|
36
|
+
private getConditionFunctions;
|
|
37
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type QueryConditions = "is" | "includes" | "startsWith" | "endsWith" | "matches";
|
|
2
|
+
export type ConditionFunctions = {
|
|
3
|
+
[queryCondition in QueryConditions]: (leftValue: string | boolean | number, rightValue: string | boolean | number) => boolean;
|
|
4
|
+
};
|
|
5
|
+
export type QueryOperators = "AND" | "OR";
|
|
6
|
+
export interface AttributeQuery {
|
|
7
|
+
operator?: QueryOperators;
|
|
8
|
+
attribute: string;
|
|
9
|
+
condition: QueryConditions;
|
|
10
|
+
value: string | number | boolean;
|
|
11
|
+
negateResult?: boolean;
|
|
12
|
+
caseSensitive?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export interface QueryGroup {
|
|
15
|
+
operator?: QueryOperators;
|
|
16
|
+
description?: string;
|
|
17
|
+
queries: (AttributeQuery | QueryGroup)[];
|
|
18
|
+
}
|
|
19
|
+
export interface Query {
|
|
20
|
+
name: string;
|
|
21
|
+
description?: string;
|
|
22
|
+
groups: QueryGroup;
|
|
23
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { FragmentsGroup } from "bim-fragment";
|
|
2
|
+
import { Disposable, Event, Component, Components } from "../../core";
|
|
3
|
+
import { IfcPropertiesManager } from "../IfcPropertiesManager";
|
|
4
|
+
interface IndexMap {
|
|
5
|
+
[modelID: string]: {
|
|
6
|
+
[expressID: string]: Set<number>;
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
export declare class IfcPropertiesIndexer 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
|
+
relationsToProcess: number[];
|
|
15
|
+
indexMap: IndexMap;
|
|
16
|
+
private _propertiesManager;
|
|
17
|
+
readonly onPropertiesManagerSet: Event<IfcPropertiesManager>;
|
|
18
|
+
set propertiesManager(manager: IfcPropertiesManager | null);
|
|
19
|
+
get propertiesManager(): IfcPropertiesManager | null;
|
|
20
|
+
constructor(components: Components);
|
|
21
|
+
private onFragmentsDisposed;
|
|
22
|
+
dispose(): Promise<void>;
|
|
23
|
+
getProperties(model: FragmentsGroup, id: string): Promise<any[] | null>;
|
|
24
|
+
private getNestedPsets;
|
|
25
|
+
private getPsetProperties;
|
|
26
|
+
process(model: FragmentsGroup): Promise<void>;
|
|
27
|
+
private setEntityIndex;
|
|
28
|
+
private cloneProperty;
|
|
29
|
+
private clonePropertyArray;
|
|
30
|
+
}
|
|
31
|
+
export {};
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import * as WEBIFC from "web-ifc";
|
|
2
|
+
import { FragmentsGroup } from "bim-fragment";
|
|
3
|
+
import { Component, Disposable, Event, Components } from "../../core";
|
|
4
|
+
type BooleanPropTypes = "IfcBoolean" | "IfcLogical";
|
|
5
|
+
type StringPropTypes = "IfcText" | "IfcLabel" | "IfcIdentifier";
|
|
6
|
+
type NumericPropTypes = "IfcInteger" | "IfcReal";
|
|
7
|
+
interface ChangeMap {
|
|
8
|
+
[modelID: string]: Set<number>;
|
|
9
|
+
}
|
|
10
|
+
interface AttributeListener {
|
|
11
|
+
[modelID: string]: {
|
|
12
|
+
[expressID: number]: {
|
|
13
|
+
[attributeName: string]: Event<String | Boolean | Number>;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
export declare class IfcPropertiesManager extends Component implements Disposable {
|
|
18
|
+
static readonly uuid: "58c2d9f0-183c-48d6-a402-dfcf5b9a34df";
|
|
19
|
+
/** {@link Disposable.onDisposed} */
|
|
20
|
+
readonly onDisposed: Event<string>;
|
|
21
|
+
readonly onRequestFile: Event<unknown>;
|
|
22
|
+
ifcToExport: ArrayBuffer | null;
|
|
23
|
+
readonly onElementToPset: Event<{
|
|
24
|
+
model: FragmentsGroup;
|
|
25
|
+
psetID: number;
|
|
26
|
+
elementID: number;
|
|
27
|
+
}>;
|
|
28
|
+
readonly onPropToPset: Event<{
|
|
29
|
+
model: FragmentsGroup;
|
|
30
|
+
psetID: number;
|
|
31
|
+
propID: number;
|
|
32
|
+
}>;
|
|
33
|
+
readonly onPsetRemoved: Event<{
|
|
34
|
+
model: FragmentsGroup;
|
|
35
|
+
psetID: number;
|
|
36
|
+
}>;
|
|
37
|
+
readonly onDataChanged: Event<{
|
|
38
|
+
model: FragmentsGroup;
|
|
39
|
+
expressID: number;
|
|
40
|
+
}>;
|
|
41
|
+
wasm: {
|
|
42
|
+
path: string;
|
|
43
|
+
absolute: boolean;
|
|
44
|
+
};
|
|
45
|
+
enabled: boolean;
|
|
46
|
+
attributeListeners: AttributeListener;
|
|
47
|
+
selectedModel?: FragmentsGroup;
|
|
48
|
+
private _changeMap;
|
|
49
|
+
constructor(components: Components);
|
|
50
|
+
get(): ChangeMap;
|
|
51
|
+
dispose(): void;
|
|
52
|
+
private increaseMaxID;
|
|
53
|
+
static getIFCSchema(model: FragmentsGroup): import("bim-fragment").IfcSchema;
|
|
54
|
+
private newGUID;
|
|
55
|
+
private getOwnerHistory;
|
|
56
|
+
private registerChange;
|
|
57
|
+
setData(model: FragmentsGroup, ...dataToSave: Record<string, any>[]): Promise<void>;
|
|
58
|
+
newPset(model: FragmentsGroup, name: string, description?: string): Promise<{
|
|
59
|
+
pset: WEBIFC.IFC2X3.IfcPropertySet | WEBIFC.IFC4.IfcPropertySet | WEBIFC.IFC4X3.IfcPropertySet;
|
|
60
|
+
rel: WEBIFC.IFC4X3.IfcRelDefinesByProperties | WEBIFC.IFC4.IfcRelDefinesByProperties | WEBIFC.IFC2X3.IfcRelDefinesByProperties;
|
|
61
|
+
}>;
|
|
62
|
+
removePset(model: FragmentsGroup, ...psetID: number[]): Promise<void>;
|
|
63
|
+
private newSingleProperty;
|
|
64
|
+
newSingleStringProperty(model: FragmentsGroup, type: StringPropTypes, name: string, value: string): Promise<WEBIFC.IFC2X3.IfcPropertySingleValue | WEBIFC.IFC4.IfcPropertySingleValue | WEBIFC.IFC4X3.IfcPropertySingleValue>;
|
|
65
|
+
newSingleNumericProperty(model: FragmentsGroup, type: NumericPropTypes, name: string, value: number): Promise<WEBIFC.IFC2X3.IfcPropertySingleValue | WEBIFC.IFC4.IfcPropertySingleValue | WEBIFC.IFC4X3.IfcPropertySingleValue>;
|
|
66
|
+
newSingleBooleanProperty(model: FragmentsGroup, type: BooleanPropTypes, name: string, value: boolean): Promise<WEBIFC.IFC2X3.IfcPropertySingleValue | WEBIFC.IFC4.IfcPropertySingleValue | WEBIFC.IFC4X3.IfcPropertySingleValue>;
|
|
67
|
+
removePsetProp(model: FragmentsGroup, psetID: number, propID: number): Promise<void>;
|
|
68
|
+
addElementToPset(model: FragmentsGroup, psetID: number, ...elementID: number[]): Promise<void>;
|
|
69
|
+
addPropToPset(model: FragmentsGroup, psetID: number, ...propID: number[]): Promise<void>;
|
|
70
|
+
saveToIfc(model: FragmentsGroup, ifcToSaveOn: Uint8Array): Promise<Uint8Array>;
|
|
71
|
+
setAttributeListener(model: FragmentsGroup, expressID: number, attributeName: string): Promise<Event<String | Number | Boolean>>;
|
|
72
|
+
}
|
|
73
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as FRAGS from "bim-fragment";
|
|
2
|
+
export declare class IfcPropertiesUtils {
|
|
3
|
+
static getUnits(group: FRAGS.FragmentsGroup): Promise<number>;
|
|
4
|
+
static findItemByGuid(model: FRAGS.FragmentsGroup, guid: string): Promise<{
|
|
5
|
+
[attribute: string]: any;
|
|
6
|
+
} | null>;
|
|
7
|
+
static getRelationMap(model: FRAGS.FragmentsGroup, relationType: number, onElementsFound?: (relatingID: number, relatedIDs: number[]) => Promise<void>): Promise<{
|
|
8
|
+
[relatingID: number]: number[];
|
|
9
|
+
}>;
|
|
10
|
+
static getQsetQuantities(model: FRAGS.FragmentsGroup, expressID: number, onQuantityFound?: (expressID: number) => void): Promise<number[] | null>;
|
|
11
|
+
static getPsetProps(model: FRAGS.FragmentsGroup, expressID: number, onPropFound?: (expressID: number) => void): Promise<number[] | null>;
|
|
12
|
+
static getPsetRel(model: FRAGS.FragmentsGroup, psetID: number): Promise<number | null>;
|
|
13
|
+
static getQsetRel(model: FRAGS.FragmentsGroup, qsetID: number): Promise<number | null>;
|
|
14
|
+
static getEntityName(model: FRAGS.FragmentsGroup, entityID: number): Promise<{
|
|
15
|
+
key: string | null;
|
|
16
|
+
name: string | null;
|
|
17
|
+
}>;
|
|
18
|
+
static getQuantityValue(model: FRAGS.FragmentsGroup, quantityID: number): Promise<{
|
|
19
|
+
key: string | null;
|
|
20
|
+
value: number | null;
|
|
21
|
+
}>;
|
|
22
|
+
static isRel(expressID: number): boolean;
|
|
23
|
+
static attributeExists(model: FRAGS.FragmentsGroup, expressID: number, attribute: string): Promise<boolean>;
|
|
24
|
+
static groupEntitiesByType(model: FRAGS.FragmentsGroup, expressIDs: Set<number> | number[]): Promise<Map<number, Set<number>>>;
|
|
25
|
+
}
|