-
Notifications
You must be signed in to change notification settings - Fork 298
/
Copy pathMetaObject.d.ts
74 lines (62 loc) · 1.64 KB
/
MetaObject.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
import { MetaModel } from "./MetaModel";
import { PropertySet } from "./PropertySet";
/**
* Metadata corresponding to an {@link Entity} that represents an object.
*/
export declare class MetaObject {
/**
* Model metadata.
*/
metaModel: MetaModel;
/**
* Globally-unique ID.
*/
id: string;
/**
* ID of the corresponding object within the originating system, if any.
*/
originalSystemId: string;
/**
* Human-readable name.
*/
name: string;
/**
* Type - often an IFC product type.
*/
type: string;
/**
* Optional {@link PropertySet}s used by this MetaObject.
*/
propertySets: PropertySet[];
/**
* The parent MetaObject within the structure hierarchy.
*/
parent?: MetaObject;
/**
* Child ObjectMeta instances within the structure hierarchy.
*/
children: MetaObject[];
/**
* External application-specific metadata
*/
external?: any;
/**
* Gets the {@link MetaObject.id}s of the {@link MetaObject}s within the subtree.
*
* @returns {String[]} Array of {@link MetaObject.id}s.
*/
getObjectIDsInSubtree(): string[];
/**
* Iterates over the {@link MetaObject}s within the subtree.
*
* @param {Function} callback Callback fired at each {@link MetaObject}.
*/
withMetaObjectsInSubtree(callback: (metaobect: MetaObject)=> void): void;
/**
* Gets the {@link MetaObject.id}s of the {@link MetaObject}s within the subtree that have the given {@link MetaObject.type}s.
*
* @param {String[]} types {@link MetaObject.type} values.
* @returns {String[]} Array of {@link MetaObject.id}s.
*/
getObjectIDsInSubtreeByType(types: string[]): string[];
}