@pilotdev/pilot-web-3d 22.0.7-3 → 22.0.7-4

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 (2) hide show
  1. package/index.d.ts +2405 -2392
  2. package/package.json +7 -2
package/index.d.ts CHANGED
@@ -1,2393 +1,2406 @@
1
- /// <reference types="@types/three" />
2
- declare namespace PilotWeb3D {
3
- export class LoadingSpinner {
4
- constructor();
5
- addToDOM(container: HTMLElement): void;
6
- removeFromDOM(container: HTMLElement): void;
7
- }
8
- export class ExtensionManager {
9
- constructor();
10
- registerExtensionType(extensionId: string, extension: typeof ExtensionBase): boolean;
11
- unregisterExtensionType(extensionId: string): boolean;
12
- getExtensionType(extensionId: string): typeof ExtensionBase;
13
- }
14
- export const theExtensionManager: ExtensionManager;
15
- export class ExtensionLoader {
16
- constructor(viewer: ViewerBase, extensionManager: ExtensionManager);
17
- loadExtension(extensionId: string): Promise<ExtensionBase>;
18
- unloadExtension(extensionId: string): Promise<boolean>;
19
- getExtensions(): ExtensionBase[];
20
- }
21
- export interface ILayerManager {
22
- createLayer(name: string): ILayer;
23
- deleteLayer(name: string): boolean;
24
- getLayer(name: string): ILayer | null;
25
- hasLayer(name: string): boolean;
26
- }
27
- export interface ILayer {
28
- addOverlay(overlay: Overlay): boolean;
29
- removeOverlay(overlay: Overlay): boolean;
30
- getOverlays(): Overlay[];
31
- getContainer(): LayerContainer;
32
- getViewBox(): LayerViewBox;
33
- dispose(): void;
34
- }
35
- export type Overlay = HTMLElement | any;
36
- export type LayerContainer = HTMLElement | any;
37
- export type LayerViewBox = DOMRect | any;
38
- export interface IEventsDispatcher {
39
- addEventListener(event: string, listener: EventListener, options?: any): void;
40
- removeEventListener(event: string, listener: EventListener): void;
41
- hasEventListener(event: string, listener: EventListener): boolean;
42
- dispatchEvent(event: string | Event): void;
43
- dispatchEventAsync(event: string | Event): void;
44
- clearListeners(): void;
45
- }
46
- export class EventsDispatcherCore implements IEventsDispatcher {
47
- constructor();
48
- dispatchEventAsync(event: string | Event): void;
49
- hasEventListener(type: string, listener: EventListener): boolean;
50
- dispatchEvent(event: string | Event): void;
51
- addEventListener(type: string, listener: EventListener, options?: any): void;
52
- removeEventListener(type: string, listener: EventListener): void;
53
- removeEvent(type: string): void;
54
- clearListeners(): void;
55
- }
56
- export type ViewerSettings = Record<string, any>;
57
- export class ViewerConfiguration {
58
- [key: string]: any;
59
- }
60
- export class CoreEventTypes {
61
- static VIEWER_RESIZE_EVENT: string;
62
- static VIEWER_MOUSE_DOWN_EVENT: string;
63
- static VIEWER_MOUSE_MOVE_EVENT: string;
64
- static VIEWER_MOUSE_UP_EVENT: string;
65
- static VIEWER_MOUSE_LONG_TOUCH_EVENT: string;
66
- static SETTING_CHANGED_EVENT: string;
67
- static SETTING_RESET_EVENT: string;
68
- }
69
- export interface ISettingsStorage {
70
- clear(): void;
71
- getItem<T>(key: string): T | null;
72
- removeItem(key: string): void;
73
- setItem<T>(key: string, value: T): void;
74
- getKeys(): string[];
75
- }
76
- export class SettingsStorageFactory {
77
- getSettingsStorage(): ISettingsStorage;
78
- }
79
- export class LocalSettingsStorage implements ISettingsStorage {
80
- constructor();
81
- clear(): void;
82
- getItem<T>(key: string): T | null;
83
- removeItem(key: string): void;
84
- setItem<T>(key: string, value: T): void;
85
- getKeys(): string[];
86
- }
87
- export class InMemorySettingsStorage implements ISettingsStorage {
88
- constructor();
89
- clear(): void;
90
- getItem<T>(key: string): T | null;
91
- removeItem(key: string): void;
92
- setItem<T>(key: string, value: T): void;
93
- getKeys(): string[];
94
- }
95
- export interface ISettings {
96
- changeSetting<T>(name: string, value: T, notify?: boolean): void;
97
- getSettingValue<T>(name: string): T;
98
- }
99
- export class SettingChangedEvent extends Event {
100
- name: string;
101
- oldValue: any;
102
- newValue: any;
103
- }
104
- export abstract class SettingsBase implements ISettings {
105
- protected _eventDispatcher: IEventsDispatcher;
106
- protected _storage: ISettingsStorage;
107
- constructor(storage: ISettingsStorage, eventDispatcher: IEventsDispatcher);
108
- changeSetting<T>(name: string, value: T, notify?: boolean): void;
109
- getSettingValue<T>(name: string): T;
110
- protected abstract getKeyWithPrefix(key: string): string;
111
- }
112
- export type ErrorCallback = (message: string) => void;
113
- export type SuccessCallback = (modelId: any) => void;
114
- export enum DocumentType {
115
- UNKNOWN = 0,
116
- DOCUMENT_2D = 1,
117
- DOCUMENT_3D = 2
118
- }
119
- export abstract class ViewerBase {
120
- protected _clientContainer: HTMLElement;
121
- protected _loadingSpinner: LoadingSpinner;
122
- protected _documentType: DocumentType;
123
- protected _configuration: ViewerConfiguration;
124
- container: HTMLElement;
125
- layerManagers: Map<number, ILayerManager>;
126
- extensionsLoader: ExtensionLoader;
127
- abstract settings: ISettings;
128
- abstract events: IEventsDispatcher;
129
- constructor(container: HTMLElement, configuration?: ViewerConfiguration);
130
- /**
131
- *
132
- * @returns
133
- */
134
- start(): Promise<number>;
135
- /**
136
- *
137
- */
138
- finish(): void;
139
- onPostExtensionLoad(extension: ExtensionBase): void;
140
- protected loadExtensions(): void;
141
- }
142
- export class Control {
143
- container: HTMLElement;
144
- constructor(id: string);
145
- addClass(cssClass: string): void;
146
- removeClass(cssClass: string): void;
147
- getId(): string;
148
- setToolTip(tooltipText: string): void;
149
- }
150
- export class Toolbar extends Control {
151
- constructor(id: string);
152
- addControl(control: Control): void;
153
- removeControl(id: string): void;
154
- }
155
- export class ExtensionBase {
156
- protected _viewer: ViewerBase;
157
- constructor(viewer3D: ViewerBase, options?: any);
158
- load(): boolean | Promise<boolean>;
159
- unload(): boolean;
160
- activate(): boolean;
161
- deactivate(): boolean;
162
- /**
163
- * Gets the name of the extension.
164
- * @returns {string} Returns the name of the extension.
165
- */
166
- getName(): string;
167
- onMouseDown(event: MouseEvent): void;
168
- onMouseMove(event: MouseEvent): void;
169
- onMouseUp(event: MouseEvent): void;
170
- onMouseLongTouch(event: MouseEvent): void;
171
- onToolbarCreated(toolbar: Toolbar): void;
172
- protected bindDomEvents(): void;
173
- }
174
- export class ViewerToolbar extends Toolbar {
175
- }
176
- export const PredefinedColors: {
177
- DEFAULT: string;
178
- DIFF: string;
179
- IFC_WINDOW: string;
180
- IFC_DOOR: string;
181
- DEFAULT_FACE: string;
182
- HIGHLIGHTED_FACE: string;
183
- SELECTED_FACE: string;
184
- DEFAULT_EDGE: string;
185
- HIGHLIGHTED_EDGE: string;
186
- SELECTED_EDGE: string;
187
- };
188
- export interface MeshLineMaterialParameters extends THREE.ShaderMaterialParameters {
189
- color?: string;
190
- }
191
- export class MeshLineMaterial extends THREE.RawShaderMaterial {
192
- constructor(iParameters?: MeshLineMaterialParameters);
193
- getColor(): any;
194
- setColor(iColor: THREE.Color): void;
195
- getLineWidth(): any;
196
- setLineWidth(iVal: number): number;
197
- }
198
- export class GlobalMaterials {
199
- static diffElement: THREE.MeshLambertMaterial;
200
- static diffAdditionalElement: THREE.MeshLambertMaterial;
201
- static basicTransparent: THREE.MeshLambertMaterial;
202
- static init(): void;
203
- static basicMaterial: THREE.MeshLambertMaterial;
204
- static basicInstancedMaterial: THREE.MeshLambertMaterial;
205
- static transparentInstancedMaterial: THREE.MeshLambertMaterial;
206
- static highlightedMeshMaterial: THREE.MeshLambertMaterial;
207
- static selectedTransparentMeshMaterial: THREE.MeshLambertMaterial;
208
- static selectedMeshMaterial: THREE.MeshLambertMaterial;
209
- static threeLine: THREE.LineBasicMaterial;
210
- static basicLineMaterial: THREE.LineBasicMaterial;
211
- static basicInstancedLineMaterial: THREE.LineBasicMaterial;
212
- static highlightedLineMaterial: THREE.LineBasicMaterial;
213
- static selectedLineMaterial: THREE.LineBasicMaterial;
214
- static pointsMaterial: THREE.PointsMaterial;
215
- }
216
- type UpdateRange = {
217
- offset: number;
218
- count: number;
219
- };
220
- export class InstancedGeometry extends THREE.Object3D {
221
- readonly faceGeometry: THREE.BufferGeometry;
222
- readonly edgeGeometry: THREE.WireframeGeometry;
223
- readonly isInstanced: boolean;
224
- visibilityAutoUpdate: boolean;
225
- constructor(faceGeometry: THREE.BufferGeometry, edgeGeometry: THREE.WireframeGeometry, count: number);
226
- get geometry(): THREE.BufferGeometry;
227
- get wires(): THREE.BufferGeometry;
228
- updateVisibility(): void;
229
- getColorAt(index: number): Color;
230
- getMatrixAt(index: number): THREE.Matrix4;
231
- setColorAt(index: number, color: Color): void;
232
- setMatrixAt(index: number, matrix: THREE.Matrix4): void;
233
- setVisibileAt(index: number, visible: boolean): void;
234
- getVisibleAt(index: number): boolean;
235
- getBoundingBoxAt(index: number): THREE.Box3;
236
- disposeAt(index: number): void;
237
- dispose(): void;
238
- }
239
- export function calculateUpdateRange(changedElements: number[], itemSize: number, prev?: UpdateRange): UpdateRange;
240
- export {};
241
- export enum ObjectType {
242
- INSTANCED = "Instanced",
243
- MERGEABLE = "Mergeable",
244
- UNMERGEABLE = "Unmergeable",
245
- UNSUPPORTED = "Unsupported"
246
- }
247
- export enum UpdateType {
248
- NONE = 0,
249
- REMOVE = 1,
250
- ADD = 2,
251
- HARD = 4,
252
- Children = 8,
253
- Geometry = 16,
254
- Position = 32,
255
- Material = 64,
256
- Color = 128,
257
- Selection = 256,
258
- Visibility = 512
259
- }
260
- export class MeshType {
261
- static geometryType: string;
262
- static create(geom?: THREE.BufferGeometry): THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>;
263
- static isType(obj: THREE.Object3D): obj is THREE.Mesh;
264
- }
265
- export class LineSegmentsType {
266
- static geometryType: string;
267
- static create(geom?: THREE.BufferGeometry): THREE.LineSegments<THREE.BufferGeometry, THREE.Material | THREE.Material[]>;
268
- static isType(obj: THREE.Object3D): obj is THREE.LineSegments;
269
- }
270
- const SupportableTypes: (typeof MeshType | typeof LineSegmentsType)[];
271
- type MergeableTypeConstructor = (typeof SupportableTypes)[0];
272
- const dummyEls: (THREE.LineSegments<THREE.BufferGeometry, THREE.Material | THREE.Material[]> | THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>)[];
273
- export type MergeableType = (typeof dummyEls)[0];
274
- export type MergeableObjectInfo = {
275
- type: MergeableTypeConstructor;
276
- material: THREE.Material;
277
- castShadow: boolean;
278
- receiveShadow: boolean;
279
- };
280
- export type ObjectTag = {
281
- obj: THREE.Object3D;
282
- objectType: ObjectType;
283
- tag: string;
284
- info?: any;
285
- };
286
- export class Color {
287
- r: number;
288
- g: number;
289
- b: number;
290
- a: number;
291
- constructor(r: number, g: number, b: number, a: number);
292
- static fromThreeColor(color: THREE.Color, alpha?: number): Color;
293
- static fromColorRepresentation(representation: THREE.ColorRepresentation): Color;
294
- static fromMaterial(material: THREE.Material): Color;
295
- threeColor(): THREE.Color;
296
- alpha(): number;
297
- fromArray(array: ArrayLike<number>, offset?: number): Color;
298
- toArray(array: Array<number>, offset?: number): Array<number>;
299
- }
300
-
301
- export class Tessellation {
302
- vertices: number[];
303
- normals: number[];
304
- indices: number[];
305
- edgeIndices: number[];
306
- toBufferGeometry(): THREE.BufferGeometry;
307
- getWireframe(bufferGeometry?: THREE.BufferGeometry): THREE.WireframeGeometry;
308
- }
309
- export function isBinaryMeshTessellation(iData: any): iData is Tessellation;
310
- export function isBinaryWireframeTessellation(iData: any): iData is Tessellation;
311
- export function isBinaryPoints(iData: any): iData is Tessellation;
312
- export function isTessellation(iData: any): iData is Tessellation;
313
- export class ElementNode {
314
- Guid: string;
315
- ObjectState: any;
316
- Revision: BigInt;
317
- ParentGuid: string;
318
- Name: string;
319
- Type: string;
320
- RepresentationType: string;
321
- RepresentationStatus: string;
322
- MeshesProperties: Map<string, MeshProperty[]>;
323
- }
324
- export class MeshProperty {
325
- meshColor: number;
326
- meshPlacement: number[];
327
- }
328
-
329
- export class RenderViewSettings {
330
- telemetry?: boolean;
331
- hideEdgesWhenNavigation?: boolean;
332
- antiAliasing?: boolean;
333
- displayMode?: DisplayMode;
334
- }
335
- export enum DisplayMode {
336
- FACES_AND_EDGES = 0,
337
- FACES = 1
338
- }
339
- export const defaultRenderViewSettings: RenderViewSettings;
340
- export enum ScreenState {
341
- singleView = 0,
342
- twoViews = 1,
343
- fourViews = 2
344
- }
345
- export enum SolidViewState {
346
- Visible = "Visible",
347
- Transparent = "Transparent",
348
- Hidden = "Hidden"
349
- }
350
- export class ElementEntitySet {
351
- constructor(ids: string[], modelImplId: string);
352
- modelImplId: string;
353
- ids: string[];
354
- }
355
- export class SelectionOptions {
356
- sender?: any;
357
- }
358
- export class EventArgs {
359
- }
360
- export class ClickedEventArgs extends EventArgs {
361
- modelId: string;
362
- modelElementId: string;
363
- ctrlKey: boolean;
364
- constructor(modelId: string, modelElementId: string, ctrlKey: boolean);
365
- }
366
- export class SelectionChangedEventArgs extends EventArgs {
367
- resetPreviousSelection: boolean;
368
- isAddToSelection: boolean;
369
- selectionIds: ElementEntitySet[];
370
- options: SelectionOptions;
371
- constructor();
372
- }
373
- export class HoverEventArgs extends EventArgs {
374
- modelId: string;
375
- modelElementIds: string[];
376
- constructor(modelId: string, modelElementIds: string[]);
377
- }
378
- export class CameraOrientation {
379
- viewDir: THREE.Vector3;
380
- upDir?: THREE.Vector3;
381
- constructor(viewDir: THREE.Vector3, upDir?: THREE.Vector3);
382
- clone(): CameraOrientation;
383
- }
384
- export class CameraPlacement {
385
- cameraPos: THREE.Vector3;
386
- viewDir: THREE.Vector3;
387
- upDir: THREE.Vector3;
388
- constructor(cameraPos: THREE.Vector3, viewDir: THREE.Vector3, upDir: THREE.Vector3);
389
- static fromPointView(cameraPosition: THREE.Vector3, eyeDirection: THREE.Vector3): CameraPlacement;
390
- clone(): CameraPlacement;
391
- getCameraPos(): THREE.Vector3;
392
- getViewDir(): THREE.Vector3;
393
- getUpDir(): THREE.Vector3;
394
- getOrientation(): CameraOrientation;
395
- setOrientation(iOrientation: CameraOrientation): void;
396
- getRightDir(): THREE.Vector3;
397
- getViewTarget(): THREE.Vector3;
398
- getRotationMatrix(): THREE.Matrix4;
399
- getRotationQuaternion(): THREE.Quaternion;
400
- }
401
- export class CameraInternalParams {
402
- mode: "perspective" | "ortho";
403
- near: number;
404
- far: number;
405
- fov: number;
406
- /**
407
- * @param {number} fov vertical, in radians
408
- */
409
- constructor(mode: "perspective" | "ortho", near: number, far: number, fov: number);
410
- clone(): CameraInternalParams;
411
- }
412
- export const maxFar = 10000000;
413
- export const minNear: number;
414
- export class LCPCamera {
415
- constructor(external?: CameraPlacement, internal?: CameraInternalParams);
416
- getCameraPos(): THREE.Vector3;
417
- setOrientation(iOrientation: CameraOrientation): void;
418
- setAspectRatio(aspect: number): boolean;
419
- getPlacement(): CameraPlacement;
420
- getInternalParams(): CameraInternalParams;
421
- setPlacement(iParams: CameraPlacement): void;
422
- setInternalParams(iParams: CameraInternalParams): void;
423
- getThreeCamera(): THREE.Camera;
424
- checkValid(): void;
425
- getFov(): number;
426
- isNavigation(): boolean;
427
- isRotationNavigation(): boolean;
428
- setNavigationByMouseActive(isActive: boolean, navDuration?: number): void;
429
- setNavigationByKeyboardActive(isActive: boolean): void;
430
- setRotationNavigationActive(isActive: boolean): void;
431
- }
432
- export class BrowserInfo {
433
- constructor();
434
- isMobileBrowser(): boolean;
435
- isIE11(): boolean;
436
- }
437
- export class globals {
438
- static browserInfo: BrowserInfo;
439
- }
440
- export enum Direction {
441
- None = 0,
442
- Forward = 2,
443
- Left = 4,
444
- Backward = 8,
445
- Right = 16,
446
- Down = 32,
447
- Up = 64
448
- }
449
- export type CameraParameters = {
450
- position: THREE.Vector3;
451
- eyeDir: THREE.Vector3;
452
- angle: number;
453
- };
454
- export interface ICameraControl {
455
- getCamera(): THREE.Camera;
456
- rotate(movement: THREE.Vector2, rotationCenter: THREE.Vector3): void;
457
- translate(prevPosNdc: THREE.Vector2, currPosNdc: THREE.Vector2, viewCenter: THREE.Vector3): void;
458
- spin(movement: THREE.Vector2): void;
459
- orientateCamera(iOrientation: CameraOrientation, isAnimationEnabled?: boolean): void;
460
- zoomToPoint(deltaSign: number, point: THREE.Vector3): void;
461
- zoomToFit(bb: THREE.Box3, iOrientation?: CameraOrientation, iAnimationEnabled?: boolean): void;
462
- getCameraParameters(): CameraParameters;
463
- setCameraParameters(iParams: CameraParameters): void;
464
- isNavigation(): boolean;
465
- isRotationNavigation(): boolean;
466
- setNavigationByMouseActive(isActive: boolean, navDuration?: number): void;
467
- setNavigationByKeyboardActive(isActive: boolean): void;
468
- setRotationNavigationActive(isActive: boolean): void;
469
- getMovementVector(): THREE.Vector3;
470
- moveByImpulse(elapsed_ms: number, movementVector?: THREE.Vector3, intersection?: THREE.Intersection): boolean;
471
- setImpulseDirection(dir: Direction, add: boolean): void;
472
- setIncreasedImpulse(isIncreased: boolean): void;
473
- getPivotPoint(): THREE.Vector3;
474
- setPivotPoint(pt: THREE.Vector3): void;
475
- }
476
- export enum IntersectionType {
477
- Outside = 0,
478
- Contains = 1,
479
- Intersects = 2
480
- }
481
- export class IntersectionItem {
482
- minParam: number;
483
- maxParam: number;
484
- node: Node;
485
- intersectionType: IntersectionType;
486
- constructor(minParam: number, maxParam: number, node: Node, intersectionType?: IntersectionType);
487
- }
488
- class Node {
489
- box: THREE.Box3;
490
- guid: string;
491
- isValid: boolean;
492
- zCurveIdx: number;
493
- lft: Node | undefined;
494
- rht: Node | undefined;
495
- constructor(iBox?: THREE.Box3, guid?: string);
496
- isLeaf(): boolean;
497
- }
498
- type BvhNodeType<T extends THREE.Object3D> = {
499
- object: T;
500
- };
501
- export class BvhLeafNode<T extends THREE.Object3D> extends Node {
502
- data: BvhNodeType<T> | undefined;
503
- constructor(iBox: THREE.Box3, iData: BvhNodeType<T>, guid?: string);
504
- }
505
- export interface IBvh {
506
- get needsUpdate(): boolean;
507
- rebuild(): void;
508
- getRootBox(): THREE.Box3;
509
- add(nodes: Node[] | Node): boolean;
510
- update(nodes: Node[] | Node): boolean;
511
- remove(nodes: string[] | string): boolean;
512
- intersectRay(iRay: THREE.Ray, iTol: number): IntersectionItem[];
513
- intersectFrustum(frustum: THREE.Frustum): IntersectionItem[];
514
- clear(): void;
515
- }
516
- export class Bvh implements IBvh {
517
- constructor(ioLeafNodes: Node[]);
518
- get needsUpdate(): boolean;
519
- rebuild(): void;
520
- add(nodes: Node[] | Node): boolean;
521
- update(nodes: Node[] | Node): boolean;
522
- remove(nodes: string[] | string): boolean;
523
- intersectRay(iRay: THREE.Ray, iTol: number): IntersectionItem[];
524
- intersectFrustum(frustum: THREE.Frustum): IntersectionItem[];
525
- getRootBox(): THREE.Box3;
526
- clear(): void;
527
- }
528
- export {};
529
- export class BvhRaycaster<T extends THREE.Object3D> extends THREE.Raycaster {
530
- constructor();
531
- intersectObjectsBvh(iTree: IBvh[], iFirstOnly?: boolean): THREE.Intersection<T>[];
532
- }
533
- export class BvhFrustumIntersector<T extends THREE.Object3D> {
534
- intersectObjectsBvh(iTree: Bvh[], ndcFrustumBox: THREE.Box3, unProjMatrix: THREE.Matrix4, isContainsOnly: boolean, getObjectGeometry?: (object: T) => THREE.Mesh | THREE.LineSegments): T[];
535
- checkMeshIntersection(obj: THREE.Mesh, ndcFrustumBox: THREE.Box3, projMatrix: THREE.Matrix4, isContainsOnly: boolean): IntersectionType;
536
- /**
537
- * Calc intersection by SAT method
538
- * * IntersectionType.Outside - no intersection
539
- * * IntersectionType.Contains - a-polygon contains in b-polygon
540
- * * IntersectionType.Intersects - a-polygon contains or intersects b-polygon
541
- * @param {THREE.Vector2[]} a points
542
- * @param {THREE.Vector2[]} b points
543
- * @returns IntersectionType
1
+ /// <reference types="@types/three" />
2
+ declare namespace PilotWeb3D {
3
+ export class LoadingSpinner {
4
+ addToDOM(container: HTMLElement): void;
5
+ removeFromDOM(container: HTMLElement): void;
6
+ }
7
+ export class ExtensionManager {
8
+ registerExtensionType(extensionId: string, extension: typeof ExtensionBase): boolean;
9
+ unregisterExtensionType(extensionId: string): boolean;
10
+ getExtensionType(extensionId: string): typeof ExtensionBase;
11
+ }
12
+ export const theExtensionManager: ExtensionManager;
13
+ export class ExtensionLoader {
14
+ loadExtension(extensionId: string): Promise<ExtensionBase>;
15
+ unloadExtension(extensionId: string): Promise<boolean>;
16
+ getExtensions(): ExtensionBase[];
17
+ }
18
+ export interface ILayerManager {
19
+ createLayer(name: string): ILayer;
20
+ deleteLayer(name: string): boolean;
21
+ getLayer(name: string): ILayer | null;
22
+ hasLayer(name: string): boolean;
23
+ }
24
+ export interface ILayer {
25
+ addOverlay(overlay: Overlay): boolean;
26
+ removeOverlay(overlay: Overlay): boolean;
27
+ getOverlays(): Overlay[];
28
+ getContainer(): LayerContainer;
29
+ getViewBox(): LayerViewBox;
30
+ dispose(): void;
31
+ }
32
+ export type Overlay = HTMLElement | any;
33
+ export type LayerContainer = HTMLElement | any;
34
+ export type LayerViewBox = DOMRect | any;
35
+ export interface IEventsDispatcher {
36
+ addEventListener(event: string, listener: EventListener, options?: object): void;
37
+ removeEventListener(event: string, listener: EventListener): void;
38
+ hasEventListener(event: string, listener: EventListener): boolean;
39
+ dispatchEvent(event: string | Event): void;
40
+ dispatchEventAsync(event: string | Event): void;
41
+ clearListeners(): void;
42
+ }
43
+ export type ViewerSettings = Record<string, any>;
44
+ export class ViewerConfiguration {
45
+ [key: string]: any;
46
+ }
47
+ export class CoreEventTypes {
48
+ static VIEWER_RESIZE_EVENT: string;
49
+ static VIEWER_MOUSE_DOWN_EVENT: string;
50
+ static VIEWER_MOUSE_MOVE_EVENT: string;
51
+ static VIEWER_MOUSE_UP_EVENT: string;
52
+ static VIEWER_MOUSE_LONG_TOUCH_EVENT: string;
53
+ static SETTING_CHANGED_EVENT: string;
54
+ static SETTING_RESET_EVENT: string;
55
+ }
56
+ export interface ISettingsStorage {
57
+ clear(): void;
58
+ getItem<T>(key: string): T | null;
59
+ removeItem(key: string): void;
60
+ setItem<T>(key: string, value: T): void;
61
+ getKeys(): string[];
62
+ }
63
+ export class SettingsStorageFactory {
64
+ getSettingsStorage(): ISettingsStorage;
65
+ }
66
+ export class LocalSettingsStorage implements ISettingsStorage {
67
+ clear(): void;
68
+ getItem<T>(key: string): T | null;
69
+ removeItem(key: string): void;
70
+ setItem<T>(key: string, value: T): void;
71
+ getKeys(): string[];
72
+ }
73
+ export class InMemorySettingsStorage implements ISettingsStorage {
74
+ clear(): void;
75
+ getItem<T>(key: string): T | null;
76
+ removeItem(key: string): void;
77
+ setItem<T>(key: string, value: T): void;
78
+ getKeys(): string[];
79
+ }
80
+ export interface ISettings {
81
+ changeSetting<T>(name: string, value: T, notify?: boolean): void;
82
+ getSettingValue<T>(name: string): T;
83
+ }
84
+ export class SettingChangedEvent extends Event {
85
+ name: string;
86
+ oldValue: any;
87
+ newValue: any;
88
+ }
89
+ export abstract class SettingsBase implements ISettings {
90
+ protected _eventDispatcher: IEventsDispatcher;
91
+ protected _storage: ISettingsStorage;
92
+ changeSetting<T>(name: string, value: T, notify?: boolean): void;
93
+ getSettingValue<T>(name: string): T;
94
+ protected abstract getKeyWithPrefix(key: string): string;
95
+ }
96
+ export type ErrorCallback = (message: string) => void;
97
+ export type SuccessCallback = (modelId: any) => void;
98
+ export enum DocumentType {
99
+ UNKNOWN = 0,
100
+ DOCUMENT_2D = 1,
101
+ DOCUMENT_3D = 2
102
+ }
103
+ export abstract class ViewerBase {
104
+ protected _clientContainer: HTMLElement;
105
+ protected _loadingSpinner: LoadingSpinner;
106
+ protected _documentType: DocumentType;
107
+ protected _configuration: ViewerConfiguration;
108
+ container: HTMLElement;
109
+ layerManagers: Map<number, ILayerManager>;
110
+ extensionsLoader: ExtensionLoader;
111
+ abstract settings: ISettings;
112
+ abstract events: IEventsDispatcher;
113
+ /**
114
+ *
115
+ * @returns
116
+ */
117
+ start(): Promise<number>;
118
+ /**
119
+ *
120
+ */
121
+ finish(): void;
122
+ onPostExtensionLoad(extension: ExtensionBase): void;
123
+ protected loadExtensions(): void;
124
+ }
125
+ export class Control {
126
+ container: HTMLElement;
127
+
128
+ constructor(id: string);
129
+ addClass(cssClass: string): void;
130
+ removeClass(cssClass: string): void;
131
+ getId(): string;
132
+ setToolTip(tooltipText: string): void;
133
+ }
134
+ export class Toolbar extends Control {
135
+
136
+ constructor(id: string);
137
+ addControl(control: Control): void;
138
+ removeControl(id: string): void;
139
+ }
140
+ export class ExtensionBase {
141
+ protected _viewer: ViewerBase;
142
+
143
+ constructor(viewer3D: ViewerBase, options?: any);
144
+ load(): boolean | Promise<boolean>;
145
+ unload(): boolean;
146
+ activate(): boolean;
147
+ deactivate(): boolean;
148
+ /**
149
+ * Gets the name of the extension.
150
+ * @returns {string} Returns the name of the extension.
544
151
  */
545
- calcSatIntersection(a: THREE.Vector2[], b: THREE.Vector2[]): IntersectionType;
546
- }
547
- export interface IModelIntersectionChecker {
548
- get modelCenter(): THREE.Vector3;
549
- getIntersectionPoint(): THREE.Vector3 | undefined;
550
- getIntersectionByRay(ray: THREE.Ray): THREE.Intersection<THREE.Object3D> | undefined;
551
- getIntersectionIDByRay(ray: THREE.Ray): {
552
- modelId: string;
553
- guid: string;
554
- } | undefined;
555
- getIntersectionByNdcPt(ndcPos: THREE.Vector2, camera: THREE.Camera): THREE.Intersection<THREE.Object3D> | undefined;
556
- getIntersectionIDByNdcPt(ndcPos: THREE.Vector2, camera: THREE.Camera): {
557
- modelId: string;
558
- guid: string;
559
- } | undefined;
560
- getIntersectionIDByFrustumNdcPt(ndcFrustumBox: THREE.Box3, unProjMatrix: THREE.Matrix4, isContainsOnly: boolean): {
561
- modelId: string;
562
- guid: string;
563
- }[] | undefined;
564
- clear(): void;
565
- dispose(): void;
566
- loadObjects(iObjects: THREE.Object3D[]): void;
567
- removeObjects(iObjects: THREE.Object3D[]): void;
568
- updateObjects(iObjects: THREE.Object3D[]): void;
569
- manageIntersectionModel(allottedTime: DOMHighResTimeStamp): boolean;
570
- }
571
- export abstract class IntersectionChecker<T extends THREE.Object3D> {
572
- protected _raycaster: BvhRaycaster<T>;
573
- protected _ndcRaycaster: THREE.Raycaster;
574
- protected _frustumIntersector: BvhFrustumIntersector<T>;
575
- protected _prevRay?: THREE.Ray;
576
- protected _currentIntersection?: THREE.Intersection<T>;
577
- get modelCenter(): THREE.Vector3;
578
- getIntersectionPoint(): THREE.Vector3 | undefined;
579
- getIntersectionByRay(ray: THREE.Ray): THREE.Intersection<T> | undefined;
580
- getIntersectionByNdcPt(ndcPos: THREE.Vector2, camera: THREE.Camera): THREE.Intersection<T> | undefined;
581
- clear(): void;
582
- dispose(): void;
583
- abstract loadObjects(iObjects: T[]): void;
584
- protected abstract getBvh(): IBvh[];
585
- protected updateIntersectionByRay(ray: THREE.Ray, iTolerance?: number): void;
586
- protected updateIntersectionByNdcPt(ndc: THREE.Vector2, camera: THREE.Camera, iTolerance?: number): void;
587
- }
588
- export abstract class NavigationEventHandler {
589
- protected _isActive: boolean;
590
- protected _canvas: HTMLCanvasElement;
591
- protected _cameraControl: ICameraControl;
592
- protected _intersectionChecker: IModelIntersectionChecker;
593
- protected _viewCenter: THREE.Vector3;
594
- abstract get name(): string;
595
- init(canvas: HTMLCanvasElement, cameraControl: ICameraControl, intersectionChecker: IModelIntersectionChecker): void;
596
- deInit(): void;
597
- dispose(): void;
598
- getViewCenter(): THREE.Vector3;
599
- setViewCenter(viewCenter: THREE.Vector3): void;
600
- setCameraParameters(iParams: {
601
- position: THREE.Vector3;
602
- eyeDir: THREE.Vector3;
603
- angle: number;
604
- viewCenter: THREE.Vector3;
605
- }): void;
606
- getCameraParameters(): {
607
- position: THREE.Vector3;
608
- eyeDir: THREE.Vector3;
609
- angle: number;
610
- viewCenter: THREE.Vector3;
611
- };
612
- clear(): void;
613
- protected handleHovered(object: THREE.Object3D): void;
614
- protected handleClick(object: THREE.Object3D, ctrlKey: boolean): void;
615
- protected handleDblClick(object: THREE.Object3D): void;
616
- protected abstract addEvents(): void;
617
- protected abstract removeEvents(): void;
618
- protected rotate(movement: THREE.Vector2): void;
619
- protected translate(prevPos: THREE.Vector2, currPos: THREE.Vector2): void;
620
- protected spin(movement: THREE.Vector2): void;
621
- protected zoom(deltaSign: number): void;
622
- protected resetSelection(): void;
623
- }
624
- export class DesktopNavigationEventHandler extends NavigationEventHandler {
625
- protected _prevMousePos?: THREE.Vector2;
626
- protected _mouseLftIsDown: boolean;
627
- protected _mouseLftIsDownPos?: THREE.Vector2;
628
- protected _mouseRhtIsDown: boolean;
629
- protected _mouseMidIsDown: boolean;
630
- protected _boundOnMouseEnter: any;
631
- protected _boundOnMouseLeave: any;
632
- protected _boundOnMouseMove: any;
633
- protected _boundOnMouseClick: any;
634
- protected _boundOnMouseDoubleClick: any;
635
- protected _boundOnMouseScroll: any;
636
- protected _boundOnMouseDown: any;
637
- protected _boundOnMouseUp: any;
638
- protected _boundOnKeyDown: any;
639
- protected _boundOnKeyUp: any;
640
- get name(): string;
641
- protected addEvents(): void;
642
- protected removeEvents(): void;
643
- protected onMouseEnter(ev: MouseEvent): void;
644
- protected onMouseLeave(ev: MouseEvent): void;
645
- protected onMouseMove(ev: MouseEvent): void;
646
- protected onMouseClick(ev: MouseEvent): void;
647
- protected onMouseDoubleClick(ev: MouseEvent): void;
648
- protected onMouseScroll(ev: WheelEvent): void;
649
- protected onMouseDown(ev: MouseEvent): void;
650
- protected onMouseUp(ev: MouseEvent): void;
651
- protected onKeyDown(ev: KeyboardEvent): void;
652
- protected onKeyUp(ev: KeyboardEvent): void;
653
- protected findSupportedEvent(array: string[]): string | undefined;
654
- protected isAllMouseButtonsUp(): boolean;
655
- protected setImpulseDirection(dir: Direction, add: boolean): void;
656
- protected setIncreasedImpulse(isIncreased: boolean): void;
657
- }
658
- export class MobileNavigationEventHandler extends NavigationEventHandler {
659
- protected _initialTap?: THREE.Vector2;
660
- protected _prevTap?: THREE.Vector2;
661
- protected _prevPinch?: [THREE.Vector2, THREE.Vector2];
662
- protected _boundOnTouchStart: any;
663
- protected _boundOnTouchEnd: any;
664
- protected _boundOnTouchMove: any;
665
- get name(): string;
666
- protected addEvents(): void;
667
- protected removeEvents(): void;
668
- protected onTouchStart(evt: TouchEvent): void;
669
- protected onTouchEnd(evt: TouchEvent): void;
670
- protected onTouchMove(evt: TouchEvent): void;
671
- protected onSwipe(currentPos: THREE.Vector2): void;
672
- protected onPinch(iTouchPair: [THREE.Vector2, THREE.Vector2]): void;
673
- protected getPinchCenter(iTouchPair: [THREE.Vector2, THREE.Vector2]): THREE.Vector2;
674
- protected getTouchPoint(touch: Touch): THREE.Vector2;
675
- protected getTouchPair(curTouches: TouchList): [THREE.Vector2, THREE.Vector2];
676
- }
677
- export class ViewcubeIntersectionChecker extends IntersectionChecker<ViewcubeElement> {
678
- protected _hovered?: ViewcubeElement;
679
- tryToHoverByRay(ray: THREE.Ray): void;
680
- tryToHoverByNdcPt(ndcPos: THREE.Vector2, camera: THREE.Camera): void;
681
- resetHover(): void;
682
- loadObjects(iObjects: ViewcubeElement[]): void;
683
- click(ndcPos: THREE.Vector2, camera: THREE.Camera): void;
684
- dblClick(ndcPos: THREE.Vector2, camera: THREE.Camera): void;
685
- clear(): void;
686
- protected getObject(): ViewcubeElement | undefined;
687
- protected getBvh(): Bvh[];
688
- }
689
- export class GlobalTextures {
690
- static getTexture(iName: string): Promise<THREE.Texture>;
691
- static getTextureWithUrl(iName: string, url: string): Promise<THREE.Texture>;
692
- }
693
- export enum ViewcubeAxis {
694
- X = 0,
695
- Y = 1,
696
- Z = 2
697
- }
698
- export class ViewcubeElement extends THREE.Mesh {
699
- getOutline(): THREE.LineSegments<THREE.BufferGeometry, THREE.Material | THREE.Material[]>;
700
- createMaterials(): void;
701
- setUpVector(up: THREE.Vector3): void;
702
- getBoundingBox(): THREE.Box3;
703
- setHovered(iVal: boolean): void;
704
- handleClick(): void;
705
- handleDblClick(): void;
706
- getDefaultOrientation(): CameraOrientation;
707
- setSelected(isSelected: boolean): void;
708
- }
709
- export class Viewcube {
710
- click(ndcPos: THREE.Vector2): void;
711
- dblClick(ndcPos: THREE.Vector2): void;
712
- tryToHover(ndcPos: THREE.Vector2): void;
713
- render(): void;
714
- dispose(): void;
715
- getScene(): THREE.Scene;
716
- getCamera(): LCPCamera;
717
- setOrientation(iOrientation: CameraOrientation): void;
718
- updateSelectedElement(iOrientation: CameraOrientation): void;
719
- addArrows(): void;
720
- addBoxWireFrame(): void;
721
- }
722
-
723
-
724
- export enum IfcType {
725
- IfcAbsorbedDoseMeasure = 0,
726
- IfcAccelerationMeasure = 1,
727
- IfcActionRequest = 2,
728
- IfcActionRequestTypeEnum = 3,
729
- IfcActionSourceTypeEnum = 4,
730
- IfcActionTypeEnum = 5,
731
- IfcActor = 6,
732
- IfcActorRole = 7,
733
- IfcActorSelect = 8,
734
- IfcActuator = 9,
735
- IfcActuatorType = 10,
736
- IfcActuatorTypeEnum = 11,
737
- IfcAddress = 12,
738
- IfcAddressTypeEnum = 13,
739
- IfcAdvancedBrep = 14,
740
- IfcAdvancedBrepWithVoids = 15,
741
- IfcAdvancedFace = 16,
742
- IfcAirTerminal = 17,
743
- IfcAirTerminalBox = 18,
744
- IfcAirTerminalBoxType = 19,
745
- IfcAirTerminalBoxTypeEnum = 20,
746
- IfcAirTerminalType = 21,
747
- IfcAirTerminalTypeEnum = 22,
748
- IfcAirToAirHeatRecovery = 23,
749
- IfcAirToAirHeatRecoveryType = 24,
750
- IfcAirToAirHeatRecoveryTypeEnum = 25,
751
- IfcAlarm = 26,
752
- IfcAlarmType = 27,
753
- IfcAlarmTypeEnum = 28,
754
- IfcAlignment = 29,
755
- IfcAlignment2DHorizontal = 30,
756
- IfcAlignment2DHorizontalSegment = 31,
757
- IfcAlignment2DSegment = 32,
758
- IfcAlignment2DVerSegCircularArc = 33,
759
- IfcAlignment2DVerSegLine = 34,
760
- IfcAlignment2DVerSegParabolicArc = 35,
761
- IfcAlignment2DVertical = 36,
762
- IfcAlignment2DVerticalSegment = 37,
763
- IfcAlignmentCurve = 38,
764
- IfcAlignmentTypeEnum = 39,
765
- IfcAmountOfSubstanceMeasure = 40,
766
- IfcAnalysisModelTypeEnum = 41,
767
- IfcAnalysisTheoryTypeEnum = 42,
768
- IfcAngularVelocityMeasure = 43,
769
- IfcAnnotation = 44,
770
- IfcAnnotationFillArea = 45,
771
- IfcApplication = 46,
772
- IfcAppliedValue = 47,
773
- IfcAppliedValueSelect = 48,
774
- IfcApproval = 49,
775
- IfcApprovalRelationship = 50,
776
- IfcArbitraryClosedProfileDef = 51,
777
- IfcArbitraryOpenProfileDef = 52,
778
- IfcArbitraryProfileDefWithVoids = 53,
779
- IfcArcIndex = 54,
780
- IfcAreaDensityMeasure = 55,
781
- IfcAreaMeasure = 56,
782
- IfcArithmeticOperatorEnum = 57,
783
- IfcAssemblyPlaceEnum = 58,
784
- IfcAsset = 59,
785
- IfcAsymmetricIShapeProfileDef = 60,
786
- IfcAudioVisualAppliance = 61,
787
- IfcAudioVisualApplianceType = 62,
788
- IfcAudioVisualApplianceTypeEnum = 63,
789
- IfcAxis1Placement = 64,
790
- IfcAxis2Placement = 65,
791
- IfcAxis2Placement2D = 66,
792
- IfcAxis2Placement3D = 67,
793
- IfcBeam = 68,
794
- IfcBeamStandardCase = 69,
795
- IfcBeamType = 70,
796
- IfcBeamTypeEnum = 71,
797
- IfcBenchmarkEnum = 72,
798
- IfcBendingParameterSelect = 73,
799
- IfcBinary = 74,
800
- IfcBlobTexture = 75,
801
- IfcBlock = 76,
802
- IfcBoiler = 77,
803
- IfcBoilerType = 78,
804
- IfcBoilerTypeEnum = 79,
805
- IfcBoolean = 80,
806
- IfcBooleanClippingResult = 81,
807
- IfcBooleanOperand = 82,
808
- IfcBooleanOperator = 83,
809
- IfcBooleanResult = 84,
810
- IfcBoundaryCondition = 85,
811
- IfcBoundaryCurve = 86,
812
- IfcBoundaryEdgeCondition = 87,
813
- IfcBoundaryFaceCondition = 88,
814
- IfcBoundaryNodeCondition = 89,
815
- IfcBoundaryNodeConditionWarping = 90,
816
- IfcBoundedCurve = 91,
817
- IfcBoundedSurface = 92,
818
- IfcBoundingBox = 93,
819
- IfcBoxAlignment = 94,
820
- IfcBoxedHalfSpace = 95,
821
- IfcBSplineCurve = 96,
822
- IfcBSplineCurveForm = 97,
823
- IfcBSplineCurveWithKnots = 98,
824
- IfcBSplineSurface = 99,
825
- IfcBSplineSurfaceForm = 100,
826
- IfcBSplineSurfaceWithKnots = 101,
827
- IfcBuilding = 102,
828
- IfcBuildingElement = 103,
829
- IfcBuildingElementPart = 104,
830
- IfcBuildingElementPartType = 105,
831
- IfcBuildingElementPartTypeEnum = 106,
832
- IfcBuildingElementProxy = 107,
833
- IfcBuildingElementProxyType = 108,
834
- IfcBuildingElementProxyTypeEnum = 109,
835
- IfcBuildingElementType = 110,
836
- IfcBuildingStorey = 111,
837
- IfcBuildingSystem = 112,
838
- IfcBuildingSystemTypeEnum = 113,
839
- IfcBurner = 114,
840
- IfcBurnerType = 115,
841
- IfcBurnerTypeEnum = 116,
842
- IfcCableCarrierFitting = 117,
843
- IfcCableCarrierFittingType = 118,
844
- IfcCableCarrierFittingTypeEnum = 119,
845
- IfcCableCarrierSegment = 120,
846
- IfcCableCarrierSegmentType = 121,
847
- IfcCableCarrierSegmentTypeEnum = 122,
848
- IfcCableFitting = 123,
849
- IfcCableFittingType = 124,
850
- IfcCableFittingTypeEnum = 125,
851
- IfcCableSegment = 126,
852
- IfcCableSegmentType = 127,
853
- IfcCableSegmentTypeEnum = 128,
854
- IfcCardinalPointReference = 129,
855
- IfcCartesianPoint = 130,
856
- IfcCartesianPointList = 131,
857
- IfcCartesianPointList2D = 132,
858
- IfcCartesianPointList3D = 133,
859
- IfcCartesianTransformationOperator = 134,
860
- IfcCartesianTransformationOperator2D = 135,
861
- IfcCartesianTransformationOperator2DnonUniform = 136,
862
- IfcCartesianTransformationOperator3D = 137,
863
- IfcCartesianTransformationOperator3DnonUniform = 138,
864
- IfcCenterLineProfileDef = 139,
865
- IfcChangeActionEnum = 140,
866
- IfcChiller = 141,
867
- IfcChillerType = 142,
868
- IfcChillerTypeEnum = 143,
869
- IfcChimney = 144,
870
- IfcChimneyType = 145,
871
- IfcChimneyTypeEnum = 146,
872
- IfcCircle = 147,
873
- IfcCircleHollowProfileDef = 148,
874
- IfcCircleProfileDef = 149,
875
- IfcCircularArcSegment2D = 150,
876
- IfcCivilElement = 151,
877
- IfcCivilElementType = 152,
878
- IfcClassification = 153,
879
- IfcClassificationReference = 154,
880
- IfcClassificationReferenceSelect = 155,
881
- IfcClassificationSelect = 156,
882
- IfcClosedShell = 157,
883
- IfcCoil = 158,
884
- IfcCoilType = 159,
885
- IfcCoilTypeEnum = 160,
886
- IfcColour = 161,
887
- IfcColourOrFactor = 162,
888
- IfcColourRgb = 163,
889
- IfcColourRgbList = 164,
890
- IfcColourSpecification = 165,
891
- IfcColumn = 166,
892
- IfcColumnStandardCase = 167,
893
- IfcColumnType = 168,
894
- IfcColumnTypeEnum = 169,
895
- IfcCommunicationsAppliance = 170,
896
- IfcCommunicationsApplianceType = 171,
897
- IfcCommunicationsApplianceTypeEnum = 172,
898
- IfcComplexNumber = 173,
899
- IfcComplexProperty = 174,
900
- IfcComplexPropertyTemplate = 175,
901
- IfcComplexPropertyTemplateTypeEnum = 176,
902
- IfcCompositeCurve = 177,
903
- IfcCompositeCurveOnSurface = 178,
904
- IfcCompositeCurveSegment = 179,
905
- IfcCompositeProfileDef = 180,
906
- IfcCompoundPlaneAngleMeasure = 181,
907
- IfcCompressor = 182,
908
- IfcCompressorType = 183,
909
- IfcCompressorTypeEnum = 184,
910
- IfcCondenser = 185,
911
- IfcCondenserType = 186,
912
- IfcCondenserTypeEnum = 187,
913
- IfcConic = 188,
914
- IfcConnectedFaceSet = 189,
915
- IfcConnectionCurveGeometry = 190,
916
- IfcConnectionGeometry = 191,
917
- IfcConnectionPointEccentricity = 192,
918
- IfcConnectionPointGeometry = 193,
919
- IfcConnectionSurfaceGeometry = 194,
920
- IfcConnectionTypeEnum = 195,
921
- IfcConnectionVolumeGeometry = 196,
922
- IfcConstraint = 197,
923
- IfcConstraintEnum = 198,
924
- IfcConstructionEquipmentResource = 199,
925
- IfcConstructionEquipmentResourceType = 200,
926
- IfcConstructionEquipmentResourceTypeEnum = 201,
927
- IfcConstructionMaterialResource = 202,
928
- IfcConstructionMaterialResourceType = 203,
929
- IfcConstructionMaterialResourceTypeEnum = 204,
930
- IfcConstructionProductResource = 205,
931
- IfcConstructionProductResourceType = 206,
932
- IfcConstructionProductResourceTypeEnum = 207,
933
- IfcConstructionResource = 208,
934
- IfcConstructionResourceType = 209,
935
- IfcContext = 210,
936
- IfcContextDependentMeasure = 211,
937
- IfcContextDependentUnit = 212,
938
- IfcControl = 213,
939
- IfcController = 214,
940
- IfcControllerType = 215,
941
- IfcControllerTypeEnum = 216,
942
- IfcConversionBasedUnit = 217,
943
- IfcConversionBasedUnitWithOffset = 218,
944
- IfcCooledBeam = 219,
945
- IfcCooledBeamType = 220,
946
- IfcCooledBeamTypeEnum = 221,
947
- IfcCoolingTower = 222,
948
- IfcCoolingTowerType = 223,
949
- IfcCoolingTowerTypeEnum = 224,
950
- IfcCoordinateOperation = 225,
951
- IfcCoordinateReferenceSystem = 226,
952
- IfcCoordinateReferenceSystemSelect = 227,
953
- IfcCostItem = 228,
954
- IfcCostItemTypeEnum = 229,
955
- IfcCostSchedule = 230,
956
- IfcCostScheduleTypeEnum = 231,
957
- IfcCostValue = 232,
958
- IfcCountMeasure = 233,
959
- IfcCovering = 234,
960
- IfcCoveringType = 235,
961
- IfcCoveringTypeEnum = 236,
962
- IfcCrewResource = 237,
963
- IfcCrewResourceType = 238,
964
- IfcCrewResourceTypeEnum = 239,
965
- IfcCsgPrimitive3D = 240,
966
- IfcCsgSelect = 241,
967
- IfcCsgSolid = 242,
968
- IfcCShapeProfileDef = 243,
969
- IfcCurrencyRelationship = 244,
970
- IfcCurtainWall = 245,
971
- IfcCurtainWallType = 246,
972
- IfcCurtainWallTypeEnum = 247,
973
- IfcCurvatureMeasure = 248,
974
- IfcCurve = 249,
975
- IfcCurveBoundedPlane = 250,
976
- IfcCurveBoundedSurface = 251,
977
- IfcCurveFontOrScaledCurveFontSelect = 252,
978
- IfcCurveInterpolationEnum = 253,
979
- IfcCurveOnSurface = 254,
980
- IfcCurveOrEdgeCurve = 255,
981
- IfcCurveSegment2D = 256,
982
- IfcCurveStyle = 257,
983
- IfcCurveStyleFont = 258,
984
- IfcCurveStyleFontAndScaling = 259,
985
- IfcCurveStyleFontPattern = 260,
986
- IfcCurveStyleFontSelect = 261,
987
- IfcCylindricalSurface = 262,
988
- IfcDamper = 263,
989
- IfcDamperType = 264,
990
- IfcDamperTypeEnum = 265,
991
- IfcDataOriginEnum = 266,
992
- IfcDate = 267,
993
- IfcDateTime = 268,
994
- IfcDayInMonthNumber = 269,
995
- IfcDayInWeekNumber = 270,
996
- IfcDefinitionSelect = 271,
997
- IfcDerivedMeasureValue = 272,
998
- IfcDerivedProfileDef = 273,
999
- IfcDerivedUnit = 274,
1000
- IfcDerivedUnitElement = 275,
1001
- IfcDerivedUnitEnum = 276,
1002
- IfcDescriptiveMeasure = 277,
1003
- IfcDimensionalExponents = 278,
1004
- IfcDimensionCount = 279,
1005
- IfcDirection = 280,
1006
- IfcDirectionSenseEnum = 281,
1007
- IfcDiscreteAccessory = 282,
1008
- IfcDiscreteAccessoryType = 283,
1009
- IfcDiscreteAccessoryTypeEnum = 284,
1010
- IfcDistanceExpression = 285,
1011
- IfcDistributionChamberElement = 286,
1012
- IfcDistributionChamberElementType = 287,
1013
- IfcDistributionChamberElementTypeEnum = 288,
1014
- IfcDistributionCircuit = 289,
1015
- IfcDistributionControlElement = 290,
1016
- IfcDistributionControlElementType = 291,
1017
- IfcDistributionElement = 292,
1018
- IfcDistributionElementType = 293,
1019
- IfcDistributionFlowElement = 294,
1020
- IfcDistributionFlowElementType = 295,
1021
- IfcDistributionPort = 296,
1022
- IfcDistributionPortTypeEnum = 297,
1023
- IfcDistributionSystem = 298,
1024
- IfcDistributionSystemEnum = 299,
1025
- IfcDocumentConfidentialityEnum = 300,
1026
- IfcDocumentInformation = 301,
1027
- IfcDocumentInformationRelationship = 302,
1028
- IfcDocumentReference = 303,
1029
- IfcDocumentSelect = 304,
1030
- IfcDocumentStatusEnum = 305,
1031
- IfcDoor = 306,
1032
- IfcDoorLiningProperties = 307,
1033
- IfcDoorPanelOperationEnum = 308,
1034
- IfcDoorPanelPositionEnum = 309,
1035
- IfcDoorPanelProperties = 310,
1036
- IfcDoorStandardCase = 311,
1037
- IfcDoorStyle = 312,
1038
- IfcDoorStyleConstructionEnum = 313,
1039
- IfcDoorStyleOperationEnum = 314,
1040
- IfcDoorType = 315,
1041
- IfcDoorTypeEnum = 316,
1042
- IfcDoorTypeOperationEnum = 317,
1043
- IfcDoseEquivalentMeasure = 318,
1044
- IfcDraughtingPreDefinedColour = 319,
1045
- IfcDraughtingPreDefinedCurveFont = 320,
1046
- IfcDuctFitting = 321,
1047
- IfcDuctFittingType = 322,
1048
- IfcDuctFittingTypeEnum = 323,
1049
- IfcDuctSegment = 324,
1050
- IfcDuctSegmentType = 325,
1051
- IfcDuctSegmentTypeEnum = 326,
1052
- IfcDuctSilencer = 327,
1053
- IfcDuctSilencerType = 328,
1054
- IfcDuctSilencerTypeEnum = 329,
1055
- IfcDuration = 330,
1056
- IfcDynamicViscosityMeasure = 331,
1057
- IfcEdge = 332,
1058
- IfcEdgeCurve = 333,
1059
- IfcEdgeLoop = 334,
1060
- IfcElectricAppliance = 335,
1061
- IfcElectricApplianceType = 336,
1062
- IfcElectricApplianceTypeEnum = 337,
1063
- IfcElectricCapacitanceMeasure = 338,
1064
- IfcElectricChargeMeasure = 339,
1065
- IfcElectricConductanceMeasure = 340,
1066
- IfcElectricCurrentMeasure = 341,
1067
- IfcElectricDistributionBoard = 342,
1068
- IfcElectricDistributionBoardType = 343,
1069
- IfcElectricDistributionBoardTypeEnum = 344,
1070
- IfcElectricFlowStorageDevice = 345,
1071
- IfcElectricFlowStorageDeviceType = 346,
1072
- IfcElectricFlowStorageDeviceTypeEnum = 347,
1073
- IfcElectricGenerator = 348,
1074
- IfcElectricGeneratorType = 349,
1075
- IfcElectricGeneratorTypeEnum = 350,
1076
- IfcElectricMotor = 351,
1077
- IfcElectricMotorType = 352,
1078
- IfcElectricMotorTypeEnum = 353,
1079
- IfcElectricResistanceMeasure = 354,
1080
- IfcElectricTimeControl = 355,
1081
- IfcElectricTimeControlType = 356,
1082
- IfcElectricTimeControlTypeEnum = 357,
1083
- IfcElectricVoltageMeasure = 358,
1084
- IfcElement = 359,
1085
- IfcElementarySurface = 360,
1086
- IfcElementAssembly = 361,
1087
- IfcElementAssemblyType = 362,
1088
- IfcElementAssemblyTypeEnum = 363,
1089
- IfcElementComponent = 364,
1090
- IfcElementComponentType = 365,
1091
- IfcElementCompositionEnum = 366,
1092
- IfcElementQuantity = 367,
1093
- IfcElementType = 368,
1094
- IfcEllipse = 369,
1095
- IfcEllipseProfileDef = 370,
1096
- IfcEnergyConversionDevice = 371,
1097
- IfcEnergyConversionDeviceType = 372,
1098
- IfcEnergyMeasure = 373,
1099
- IfcEngine = 374,
1100
- IfcEngineType = 375,
1101
- IfcEngineTypeEnum = 376,
1102
- IfcEvaporativeCooler = 377,
1103
- IfcEvaporativeCoolerType = 378,
1104
- IfcEvaporativeCoolerTypeEnum = 379,
1105
- IfcEvaporator = 380,
1106
- IfcEvaporatorType = 381,
1107
- IfcEvaporatorTypeEnum = 382,
1108
- IfcEvent = 383,
1109
- IfcEventTime = 384,
1110
- IfcEventTriggerTypeEnum = 385,
1111
- IfcEventType = 386,
1112
- IfcEventTypeEnum = 387,
1113
- IfcExtendedProperties = 388,
1114
- IfcExternalInformation = 389,
1115
- IfcExternallyDefinedHatchStyle = 390,
1116
- IfcExternallyDefinedSurfaceStyle = 391,
1117
- IfcExternallyDefinedTextFont = 392,
1118
- IfcExternalReference = 393,
1119
- IfcExternalReferenceRelationship = 394,
1120
- IfcExternalSpatialElement = 395,
1121
- IfcExternalSpatialElementTypeEnum = 396,
1122
- IfcExternalSpatialStructureElement = 397,
1123
- IfcExtrudedAreaSolid = 398,
1124
- IfcExtrudedAreaSolidTapered = 399,
1125
- IfcFace = 400,
1126
- IfcFaceBasedSurfaceModel = 401,
1127
- IfcFaceBound = 402,
1128
- IfcFaceOuterBound = 403,
1129
- IfcFaceSurface = 404,
1130
- IfcFacetedBrep = 405,
1131
- IfcFacetedBrepWithVoids = 406,
1132
- IfcFailureConnectionCondition = 407,
1133
- IfcFan = 408,
1134
- IfcFanType = 409,
1135
- IfcFanTypeEnum = 410,
1136
- IfcFastener = 411,
1137
- IfcFastenerType = 412,
1138
- IfcFastenerTypeEnum = 413,
1139
- IfcFeatureElement = 414,
1140
- IfcFeatureElementAddition = 415,
1141
- IfcFeatureElementSubtraction = 416,
1142
- IfcFillAreaStyle = 417,
1143
- IfcFillAreaStyleHatching = 418,
1144
- IfcFillAreaStyleTiles = 419,
1145
- IfcFillStyleSelect = 420,
1146
- IfcFilter = 421,
1147
- IfcFilterType = 422,
1148
- IfcFilterTypeEnum = 423,
1149
- IfcFireSuppressionTerminal = 424,
1150
- IfcFireSuppressionTerminalType = 425,
1151
- IfcFireSuppressionTerminalTypeEnum = 426,
1152
- IfcFixedReferenceSweptAreaSolid = 427,
1153
- IfcFlowController = 428,
1154
- IfcFlowControllerType = 429,
1155
- IfcFlowDirectionEnum = 430,
1156
- IfcFlowFitting = 431,
1157
- IfcFlowFittingType = 432,
1158
- IfcFlowInstrument = 433,
1159
- IfcFlowInstrumentType = 434,
1160
- IfcFlowInstrumentTypeEnum = 435,
1161
- IfcFlowMeter = 436,
1162
- IfcFlowMeterType = 437,
1163
- IfcFlowMeterTypeEnum = 438,
1164
- IfcFlowMovingDevice = 439,
1165
- IfcFlowMovingDeviceType = 440,
1166
- IfcFlowSegment = 441,
1167
- IfcFlowSegmentType = 442,
1168
- IfcFlowStorageDevice = 443,
1169
- IfcFlowStorageDeviceType = 444,
1170
- IfcFlowTerminal = 445,
1171
- IfcFlowTerminalType = 446,
1172
- IfcFlowTreatmentDevice = 447,
1173
- IfcFlowTreatmentDeviceType = 448,
1174
- IfcFontStyle = 449,
1175
- IfcFontVariant = 450,
1176
- IfcFontWeight = 451,
1177
- IfcFooting = 452,
1178
- IfcFootingType = 453,
1179
- IfcFootingTypeEnum = 454,
1180
- IfcForceMeasure = 455,
1181
- IfcFrequencyMeasure = 456,
1182
- IfcFurnishingElement = 457,
1183
- IfcFurnishingElementType = 458,
1184
- IfcFurniture = 459,
1185
- IfcFurnitureType = 460,
1186
- IfcFurnitureTypeEnum = 461,
1187
- IfcGeographicElement = 462,
1188
- IfcGeographicElementType = 463,
1189
- IfcGeographicElementTypeEnum = 464,
1190
- IfcGeometricCurveSet = 465,
1191
- IfcGeometricProjectionEnum = 466,
1192
- IfcGeometricRepresentationContext = 467,
1193
- IfcGeometricRepresentationItem = 468,
1194
- IfcGeometricRepresentationSubContext = 469,
1195
- IfcGeometricSet = 470,
1196
- IfcGeometricSetSelect = 471,
1197
- IfcGloballyUniqueId = 472,
1198
- IfcGlobalOrLocalEnum = 473,
1199
- IfcGrid = 474,
1200
- IfcGridAxis = 475,
1201
- IfcGridPlacement = 476,
1202
- IfcGridPlacementDirectionSelect = 477,
1203
- IfcGridTypeEnum = 478,
1204
- IfcGroup = 479,
1205
- IfcHalfSpaceSolid = 480,
1206
- IfcHatchLineDistanceSelect = 481,
1207
- IfcHeatExchanger = 482,
1208
- IfcHeatExchangerType = 483,
1209
- IfcHeatExchangerTypeEnum = 484,
1210
- IfcHeatFluxDensityMeasure = 485,
1211
- IfcHeatingValueMeasure = 486,
1212
- IfcHumidifier = 487,
1213
- IfcHumidifierType = 488,
1214
- IfcHumidifierTypeEnum = 489,
1215
- IfcIdentifier = 490,
1216
- IfcIlluminanceMeasure = 491,
1217
- IfcImageTexture = 492,
1218
- IfcIndexedColourMap = 493,
1219
- IfcIndexedPolyCurve = 494,
1220
- IfcIndexedPolygonalFace = 495,
1221
- IfcIndexedPolygonalFaceWithVoids = 496,
1222
- IfcIndexedTextureMap = 497,
1223
- IfcIndexedTriangleTextureMap = 498,
1224
- IfcInductanceMeasure = 499,
1225
- IfcInteger = 500,
1226
- IfcIntegerCountRateMeasure = 501,
1227
- IfcInterceptor = 502,
1228
- IfcInterceptorType = 503,
1229
- IfcInterceptorTypeEnum = 504,
1230
- IfcInternalOrExternalEnum = 505,
1231
- IfcIntersectionCurve = 506,
1232
- IfcInventory = 507,
1233
- IfcInventoryTypeEnum = 508,
1234
- IfcIonConcentrationMeasure = 509,
1235
- IfcIrregularTimeSeries = 510,
1236
- IfcIrregularTimeSeriesValue = 511,
1237
- IfcIShapeProfileDef = 512,
1238
- IfcIsothermalMoistureCapacityMeasure = 513,
1239
- IfcJunctionBox = 514,
1240
- IfcJunctionBoxType = 515,
1241
- IfcJunctionBoxTypeEnum = 516,
1242
- IfcKinematicViscosityMeasure = 517,
1243
- IfcKnotType = 518,
1244
- IfcLabel = 519,
1245
- IfcLaborResource = 520,
1246
- IfcLaborResourceType = 521,
1247
- IfcLaborResourceTypeEnum = 522,
1248
- IfcLagTime = 523,
1249
- IfcLamp = 524,
1250
- IfcLampType = 525,
1251
- IfcLampTypeEnum = 526,
1252
- IfcLanguageId = 527,
1253
- IfcLayeredItem = 528,
1254
- IfcLayerSetDirectionEnum = 529,
1255
- IfcLengthMeasure = 530,
1256
- IfcLibraryInformation = 531,
1257
- IfcLibraryReference = 532,
1258
- IfcLibrarySelect = 533,
1259
- IfcLightDistributionCurveEnum = 534,
1260
- IfcLightDistributionData = 535,
1261
- IfcLightDistributionDataSourceSelect = 536,
1262
- IfcLightEmissionSourceEnum = 537,
1263
- IfcLightFixture = 538,
1264
- IfcLightFixtureType = 539,
1265
- IfcLightFixtureTypeEnum = 540,
1266
- IfcLightIntensityDistribution = 541,
1267
- IfcLightSource = 542,
1268
- IfcLightSourceAmbient = 543,
1269
- IfcLightSourceDirectional = 544,
1270
- IfcLightSourceGoniometric = 545,
1271
- IfcLightSourcePositional = 546,
1272
- IfcLightSourceSpot = 547,
1273
- IfcLine = 548,
1274
- IfcLinearForceMeasure = 549,
1275
- IfcLinearMomentMeasure = 550,
1276
- IfcLinearPlacement = 551,
1277
- IfcLinearPositioningElement = 552,
1278
- IfcLinearStiffnessMeasure = 553,
1279
- IfcLinearVelocityMeasure = 554,
1280
- IfcLineIndex = 555,
1281
- IfcLineSegment2D = 556,
1282
- IfcLoadGroupTypeEnum = 557,
1283
- IfcLocalPlacement = 558,
1284
- IfcLogical = 559,
1285
- IfcLogicalOperatorEnum = 560,
1286
- IfcLoop = 561,
1287
- IfcLShapeProfileDef = 562,
1288
- IfcLuminousFluxMeasure = 563,
1289
- IfcLuminousIntensityDistributionMeasure = 564,
1290
- IfcLuminousIntensityMeasure = 565,
1291
- IfcMagneticFluxDensityMeasure = 566,
1292
- IfcMagneticFluxMeasure = 567,
1293
- IfcManifoldSolidBrep = 568,
1294
- IfcMapConversion = 569,
1295
- IfcMappedItem = 570,
1296
- IfcMassDensityMeasure = 571,
1297
- IfcMassFlowRateMeasure = 572,
1298
- IfcMassMeasure = 573,
1299
- IfcMassPerLengthMeasure = 574,
1300
- IfcMaterial = 575,
1301
- IfcMaterialClassificationRelationship = 576,
1302
- IfcMaterialConstituent = 577,
1303
- IfcMaterialConstituentSet = 578,
1304
- IfcMaterialDefinition = 579,
1305
- IfcMaterialDefinitionRepresentation = 580,
1306
- IfcMaterialLayer = 581,
1307
- IfcMaterialLayerSet = 582,
1308
- IfcMaterialLayerSetUsage = 583,
1309
- IfcMaterialLayerWithOffsets = 584,
1310
- IfcMaterialList = 585,
1311
- IfcMaterialProfile = 586,
1312
- IfcMaterialProfileSet = 587,
1313
- IfcMaterialProfileSetUsage = 588,
1314
- IfcMaterialProfileSetUsageTapering = 589,
1315
- IfcMaterialProfileWithOffsets = 590,
1316
- IfcMaterialProperties = 591,
1317
- IfcMaterialRelationship = 592,
1318
- IfcMaterialSelect = 593,
1319
- IfcMaterialUsageDefinition = 594,
1320
- IfcMeasureValue = 595,
1321
- IfcMeasureWithUnit = 596,
1322
- IfcMechanicalFastener = 597,
1323
- IfcMechanicalFastenerType = 598,
1324
- IfcMechanicalFastenerTypeEnum = 599,
1325
- IfcMedicalDevice = 600,
1326
- IfcMedicalDeviceType = 601,
1327
- IfcMedicalDeviceTypeEnum = 602,
1328
- IfcMember = 603,
1329
- IfcMemberStandardCase = 604,
1330
- IfcMemberType = 605,
1331
- IfcMemberTypeEnum = 606,
1332
- IfcMetric = 607,
1333
- IfcMetricValueSelect = 608,
1334
- IfcMirroredProfileDef = 609,
1335
- IfcModulusOfElasticityMeasure = 610,
1336
- IfcModulusOfLinearSubgradeReactionMeasure = 611,
1337
- IfcModulusOfRotationalSubgradeReactionMeasure = 612,
1338
- IfcModulusOfRotationalSubgradeReactionSelect = 613,
1339
- IfcModulusOfSubgradeReactionMeasure = 614,
1340
- IfcModulusOfSubgradeReactionSelect = 615,
1341
- IfcModulusOfTranslationalSubgradeReactionSelect = 616,
1342
- IfcMoistureDiffusivityMeasure = 617,
1343
- IfcMolecularWeightMeasure = 618,
1344
- IfcMomentOfInertiaMeasure = 619,
1345
- IfcMonetaryMeasure = 620,
1346
- IfcMonetaryUnit = 621,
1347
- IfcMonthInYearNumber = 622,
1348
- IfcMotorConnection = 623,
1349
- IfcMotorConnectionType = 624,
1350
- IfcMotorConnectionTypeEnum = 625,
1351
- IfcNamedUnit = 626,
1352
- IfcNonNegativeLengthMeasure = 627,
1353
- IfcNormalisedRatioMeasure = 628,
1354
- IfcNullStyle = 629,
1355
- IfcNumericMeasure = 630,
1356
- IfcObject = 631,
1357
- IfcObjectDefinition = 632,
1358
- IfcObjective = 633,
1359
- IfcObjectiveEnum = 634,
1360
- IfcObjectPlacement = 635,
1361
- IfcObjectReferenceSelect = 636,
1362
- IfcObjectTypeEnum = 637,
1363
- IfcOccupant = 638,
1364
- IfcOccupantTypeEnum = 639,
1365
- IfcOffsetCurve = 640,
1366
- IfcOffsetCurve2D = 641,
1367
- IfcOffsetCurve3D = 642,
1368
- IfcOffsetCurveByDistances = 643,
1369
- IfcOpeningElement = 644,
1370
- IfcOpeningElementTypeEnum = 645,
1371
- IfcOpeningStandardCase = 646,
1372
- IfcOpenShell = 647,
1373
- IfcOrganization = 648,
1374
- IfcOrganizationRelationship = 649,
1375
- IfcOrientationExpression = 650,
1376
- IfcOrientedEdge = 651,
1377
- IfcOuterBoundaryCurve = 652,
1378
- IfcOutlet = 653,
1379
- IfcOutletType = 654,
1380
- IfcOutletTypeEnum = 655,
1381
- IfcOwnerHistory = 656,
1382
- IfcParameterizedProfileDef = 657,
1383
- IfcParameterValue = 658,
1384
- IfcPath = 659,
1385
- IfcPcurve = 660,
1386
- IfcPerformanceHistory = 661,
1387
- IfcPerformanceHistoryTypeEnum = 662,
1388
- IfcPermeableCoveringOperationEnum = 663,
1389
- IfcPermeableCoveringProperties = 664,
1390
- IfcPermit = 665,
1391
- IfcPermitTypeEnum = 666,
1392
- IfcPerson = 667,
1393
- IfcPersonAndOrganization = 668,
1394
- IfcPHMeasure = 669,
1395
- IfcPhysicalComplexQuantity = 670,
1396
- IfcPhysicalOrVirtualEnum = 671,
1397
- IfcPhysicalQuantity = 672,
1398
- IfcPhysicalSimpleQuantity = 673,
1399
- IfcPile = 674,
1400
- IfcPileConstructionEnum = 675,
1401
- IfcPileType = 676,
1402
- IfcPileTypeEnum = 677,
1403
- IfcPipeFitting = 678,
1404
- IfcPipeFittingType = 679,
1405
- IfcPipeFittingTypeEnum = 680,
1406
- IfcPipeSegment = 681,
1407
- IfcPipeSegmentType = 682,
1408
- IfcPipeSegmentTypeEnum = 683,
1409
- IfcPixelTexture = 684,
1410
- IfcPlacement = 685,
1411
- IfcPlanarBox = 686,
1412
- IfcPlanarExtent = 687,
1413
- IfcPlanarForceMeasure = 688,
1414
- IfcPlane = 689,
1415
- IfcPlaneAngleMeasure = 690,
1416
- IfcPlate = 691,
1417
- IfcPlateStandardCase = 692,
1418
- IfcPlateType = 693,
1419
- IfcPlateTypeEnum = 694,
1420
- IfcPoint = 695,
1421
- IfcPointOnCurve = 696,
1422
- IfcPointOnSurface = 697,
1423
- IfcPointOrVertexPoint = 698,
1424
- IfcPolygonalBoundedHalfSpace = 699,
1425
- IfcPolygonalFaceSet = 700,
1426
- IfcPolyline = 701,
1427
- IfcPolyLoop = 702,
1428
- IfcPort = 703,
1429
- IfcPositioningElement = 704,
1430
- IfcPositiveInteger = 705,
1431
- IfcPositiveLengthMeasure = 706,
1432
- IfcPositivePlaneAngleMeasure = 707,
1433
- IfcPositiveRatioMeasure = 708,
1434
- IfcPostalAddress = 709,
1435
- IfcPowerMeasure = 710,
1436
- IfcPreDefinedColour = 711,
1437
- IfcPreDefinedCurveFont = 712,
1438
- IfcPreDefinedItem = 713,
1439
- IfcPreDefinedProperties = 714,
1440
- IfcPreDefinedPropertySet = 715,
1441
- IfcPreDefinedTextFont = 716,
1442
- IfcPreferredSurfaceCurveRepresentation = 717,
1443
- IfcPresentableText = 718,
1444
- IfcPresentationItem = 719,
1445
- IfcPresentationLayerAssignment = 720,
1446
- IfcPresentationLayerWithStyle = 721,
1447
- IfcPresentationStyle = 722,
1448
- IfcPresentationStyleAssignment = 723,
1449
- IfcPresentationStyleSelect = 724,
1450
- IfcPressureMeasure = 725,
1451
- IfcProcedure = 726,
1452
- IfcProcedureType = 727,
1453
- IfcProcedureTypeEnum = 728,
1454
- IfcProcess = 729,
1455
- IfcProcessSelect = 730,
1456
- IfcProduct = 731,
1457
- IfcProductDefinitionShape = 732,
1458
- IfcProductRepresentation = 733,
1459
- IfcProductRepresentationSelect = 734,
1460
- IfcProductSelect = 735,
1461
- IfcProfileDef = 736,
1462
- IfcProfileProperties = 737,
1463
- IfcProfileTypeEnum = 738,
1464
- IfcProject = 739,
1465
- IfcProjectedCRS = 740,
1466
- IfcProjectedOrTrueLengthEnum = 741,
1467
- IfcProjectionElement = 742,
1468
- IfcProjectionElementTypeEnum = 743,
1469
- IfcProjectLibrary = 744,
1470
- IfcProjectOrder = 745,
1471
- IfcProjectOrderTypeEnum = 746,
1472
- IfcProperty = 747,
1473
- IfcPropertyAbstraction = 748,
1474
- IfcPropertyBoundedValue = 749,
1475
- IfcPropertyDefinition = 750,
1476
- IfcPropertyDependencyRelationship = 751,
1477
- IfcPropertyEnumeratedValue = 752,
1478
- IfcPropertyEnumeration = 753,
1479
- IfcPropertyListValue = 754,
1480
- IfcPropertyReferenceValue = 755,
1481
- IfcPropertySet = 756,
1482
- IfcPropertySetDefinition = 757,
1483
- IfcPropertySetDefinitionSelect = 758,
1484
- IfcPropertySetDefinitionSet = 759,
1485
- IfcPropertySetTemplate = 760,
1486
- IfcPropertySetTemplateTypeEnum = 761,
1487
- IfcPropertySingleValue = 762,
1488
- IfcPropertyTableValue = 763,
1489
- IfcPropertyTemplate = 764,
1490
- IfcPropertyTemplateDefinition = 765,
1491
- IfcProtectiveDevice = 766,
1492
- IfcProtectiveDeviceTrippingUnit = 767,
1493
- IfcProtectiveDeviceTrippingUnitType = 768,
1494
- IfcProtectiveDeviceTrippingUnitTypeEnum = 769,
1495
- IfcProtectiveDeviceType = 770,
1496
- IfcProtectiveDeviceTypeEnum = 771,
1497
- IfcProxy = 772,
1498
- IfcPump = 773,
1499
- IfcPumpType = 774,
1500
- IfcPumpTypeEnum = 775,
1501
- IfcQuantityArea = 776,
1502
- IfcQuantityCount = 777,
1503
- IfcQuantityLength = 778,
1504
- IfcQuantitySet = 779,
1505
- IfcQuantityTime = 780,
1506
- IfcQuantityVolume = 781,
1507
- IfcQuantityWeight = 782,
1508
- IfcRadioActivityMeasure = 783,
1509
- IfcRailing = 784,
1510
- IfcRailingType = 785,
1511
- IfcRailingTypeEnum = 786,
1512
- IfcRamp = 787,
1513
- IfcRampFlight = 788,
1514
- IfcRampFlightType = 789,
1515
- IfcRampFlightTypeEnum = 790,
1516
- IfcRampType = 791,
1517
- IfcRampTypeEnum = 792,
1518
- IfcRatioMeasure = 793,
1519
- IfcRationalBSplineCurveWithKnots = 794,
1520
- IfcRationalBSplineSurfaceWithKnots = 795,
1521
- IfcReal = 796,
1522
- IfcRectangleHollowProfileDef = 797,
1523
- IfcRectangleProfileDef = 798,
1524
- IfcRectangularPyramid = 799,
1525
- IfcRectangularTrimmedSurface = 800,
1526
- IfcRecurrencePattern = 801,
1527
- IfcRecurrenceTypeEnum = 802,
1528
- IfcReference = 803,
1529
- IfcReferent = 804,
1530
- IfcReferentTypeEnum = 805,
1531
- IfcReflectanceMethodEnum = 806,
1532
- IfcRegularTimeSeries = 807,
1533
- IfcReinforcementBarProperties = 808,
1534
- IfcReinforcementDefinitionProperties = 809,
1535
- IfcReinforcingBar = 810,
1536
- IfcReinforcingBarRoleEnum = 811,
1537
- IfcReinforcingBarSurfaceEnum = 812,
1538
- IfcReinforcingBarType = 813,
1539
- IfcReinforcingBarTypeEnum = 814,
1540
- IfcReinforcingElement = 815,
1541
- IfcReinforcingElementType = 816,
1542
- IfcReinforcingMesh = 817,
1543
- IfcReinforcingMeshType = 818,
1544
- IfcReinforcingMeshTypeEnum = 819,
1545
- IfcRelAggregates = 820,
1546
- IfcRelAssigns = 821,
1547
- IfcRelAssignsToActor = 822,
1548
- IfcRelAssignsToControl = 823,
1549
- IfcRelAssignsToGroup = 824,
1550
- IfcRelAssignsToGroupByFactor = 825,
1551
- IfcRelAssignsToProcess = 826,
1552
- IfcRelAssignsToProduct = 827,
1553
- IfcRelAssignsToResource = 828,
1554
- IfcRelAssociates = 829,
1555
- IfcRelAssociatesApproval = 830,
1556
- IfcRelAssociatesClassification = 831,
1557
- IfcRelAssociatesConstraint = 832,
1558
- IfcRelAssociatesDocument = 833,
1559
- IfcRelAssociatesLibrary = 834,
1560
- IfcRelAssociatesMaterial = 835,
1561
- IfcRelationship = 836,
1562
- IfcRelConnects = 837,
1563
- IfcRelConnectsElements = 838,
1564
- IfcRelConnectsPathElements = 839,
1565
- IfcRelConnectsPorts = 840,
1566
- IfcRelConnectsPortToElement = 841,
1567
- IfcRelConnectsStructuralActivity = 842,
1568
- IfcRelConnectsStructuralMember = 843,
1569
- IfcRelConnectsWithEccentricity = 844,
1570
- IfcRelConnectsWithRealizingElements = 845,
1571
- IfcRelContainedInSpatialStructure = 846,
1572
- IfcRelCoversBldgElements = 847,
1573
- IfcRelCoversSpaces = 848,
1574
- IfcRelDeclares = 849,
1575
- IfcRelDecomposes = 850,
1576
- IfcRelDefines = 851,
1577
- IfcRelDefinesByObject = 852,
1578
- IfcRelDefinesByProperties = 853,
1579
- IfcRelDefinesByTemplate = 854,
1580
- IfcRelDefinesByType = 855,
1581
- IfcRelFillsElement = 856,
1582
- IfcRelFlowControlElements = 857,
1583
- IfcRelInterferesElements = 858,
1584
- IfcRelNests = 859,
1585
- IfcRelProjectsElement = 860,
1586
- IfcRelReferencedInSpatialStructure = 861,
1587
- IfcRelSequence = 862,
1588
- IfcRelServicesBuildings = 863,
1589
- IfcRelSpaceBoundary = 864,
1590
- IfcRelSpaceBoundary1stLevel = 865,
1591
- IfcRelSpaceBoundary2ndLevel = 866,
1592
- IfcRelVoidsElement = 867,
1593
- IfcReparametrisedCompositeCurveSegment = 868,
1594
- IfcRepresentation = 869,
1595
- IfcRepresentationContext = 870,
1596
- IfcRepresentationItem = 871,
1597
- IfcRepresentationMap = 872,
1598
- IfcResource = 873,
1599
- IfcResourceApprovalRelationship = 874,
1600
- IfcResourceConstraintRelationship = 875,
1601
- IfcResourceLevelRelationship = 876,
1602
- IfcResourceObjectSelect = 877,
1603
- IfcResourceSelect = 878,
1604
- IfcResourceTime = 879,
1605
- IfcRevolvedAreaSolid = 880,
1606
- IfcRevolvedAreaSolidTapered = 881,
1607
- IfcRightCircularCone = 882,
1608
- IfcRightCircularCylinder = 883,
1609
- IfcRoleEnum = 884,
1610
- IfcRoof = 885,
1611
- IfcRoofType = 886,
1612
- IfcRoofTypeEnum = 887,
1613
- IfcRoot = 888,
1614
- IfcRotationalFrequencyMeasure = 889,
1615
- IfcRotationalMassMeasure = 890,
1616
- IfcRotationalStiffnessMeasure = 891,
1617
- IfcRotationalStiffnessSelect = 892,
1618
- IfcRoundedRectangleProfileDef = 893,
1619
- IfcSanitaryTerminal = 894,
1620
- IfcSanitaryTerminalType = 895,
1621
- IfcSanitaryTerminalTypeEnum = 896,
1622
- IfcSchedulingTime = 897,
1623
- IfcSeamCurve = 898,
1624
- IfcSectionalAreaIntegralMeasure = 899,
1625
- IfcSectionedSolid = 900,
1626
- IfcSectionedSolidHorizontal = 901,
1627
- IfcSectionedSpine = 902,
1628
- IfcSectionModulusMeasure = 903,
1629
- IfcSectionProperties = 904,
1630
- IfcSectionReinforcementProperties = 905,
1631
- IfcSectionTypeEnum = 906,
1632
- IfcSegmentIndexSelect = 907,
1633
- IfcSensor = 908,
1634
- IfcSensorType = 909,
1635
- IfcSensorTypeEnum = 910,
1636
- IfcSequenceEnum = 911,
1637
- IfcShadingDevice = 912,
1638
- IfcShadingDeviceType = 913,
1639
- IfcShadingDeviceTypeEnum = 914,
1640
- IfcShapeAspect = 915,
1641
- IfcShapeModel = 916,
1642
- IfcShapeRepresentation = 917,
1643
- IfcShearModulusMeasure = 918,
1644
- IfcShell = 919,
1645
- IfcShellBasedSurfaceModel = 920,
1646
- IfcSimpleProperty = 921,
1647
- IfcSimplePropertyTemplate = 922,
1648
- IfcSimplePropertyTemplateTypeEnum = 923,
1649
- IfcSimpleValue = 924,
1650
- IfcSIPrefix = 925,
1651
- IfcSite = 926,
1652
- IfcSIUnit = 927,
1653
- IfcSIUnitName = 928,
1654
- IfcSizeSelect = 929,
1655
- IfcSlab = 930,
1656
- IfcSlabElementedCase = 931,
1657
- IfcSlabStandardCase = 932,
1658
- IfcSlabType = 933,
1659
- IfcSlabTypeEnum = 934,
1660
- IfcSlippageConnectionCondition = 935,
1661
- IfcSolarDevice = 936,
1662
- IfcSolarDeviceType = 937,
1663
- IfcSolarDeviceTypeEnum = 938,
1664
- IfcSolidAngleMeasure = 939,
1665
- IfcSolidModel = 940,
1666
- IfcSolidOrShell = 941,
1667
- IfcSoundPowerLevelMeasure = 942,
1668
- IfcSoundPowerMeasure = 943,
1669
- IfcSoundPressureLevelMeasure = 944,
1670
- IfcSoundPressureMeasure = 945,
1671
- IfcSpace = 946,
1672
- IfcSpaceBoundarySelect = 947,
1673
- IfcSpaceHeater = 948,
1674
- IfcSpaceHeaterType = 949,
1675
- IfcSpaceHeaterTypeEnum = 950,
1676
- IfcSpaceType = 951,
1677
- IfcSpaceTypeEnum = 952,
1678
- IfcSpatialElement = 953,
1679
- IfcSpatialElementType = 954,
1680
- IfcSpatialStructureElement = 955,
1681
- IfcSpatialStructureElementType = 956,
1682
- IfcSpatialZone = 957,
1683
- IfcSpatialZoneType = 958,
1684
- IfcSpatialZoneTypeEnum = 959,
1685
- IfcSpecificHeatCapacityMeasure = 960,
1686
- IfcSpecularExponent = 961,
1687
- IfcSpecularHighlightSelect = 962,
1688
- IfcSpecularRoughness = 963,
1689
- IfcSphere = 964,
1690
- IfcSphericalSurface = 965,
1691
- IfcStackTerminal = 966,
1692
- IfcStackTerminalType = 967,
1693
- IfcStackTerminalTypeEnum = 968,
1694
- IfcStair = 969,
1695
- IfcStairFlight = 970,
1696
- IfcStairFlightType = 971,
1697
- IfcStairFlightTypeEnum = 972,
1698
- IfcStairType = 973,
1699
- IfcStairTypeEnum = 974,
1700
- IfcStateEnum = 975,
1701
- IfcStrippedOptional = 976,
1702
- IfcStructuralAction = 977,
1703
- IfcStructuralActivity = 978,
1704
- IfcStructuralActivityAssignmentSelect = 979,
1705
- IfcStructuralAnalysisModel = 980,
1706
- IfcStructuralConnection = 981,
1707
- IfcStructuralConnectionCondition = 982,
1708
- IfcStructuralCurveAction = 983,
1709
- IfcStructuralCurveActivityTypeEnum = 984,
1710
- IfcStructuralCurveConnection = 985,
1711
- IfcStructuralCurveMember = 986,
1712
- IfcStructuralCurveMemberTypeEnum = 987,
1713
- IfcStructuralCurveMemberVarying = 988,
1714
- IfcStructuralCurveReaction = 989,
1715
- IfcStructuralItem = 990,
1716
- IfcStructuralLinearAction = 991,
1717
- IfcStructuralLoad = 992,
1718
- IfcStructuralLoadCase = 993,
1719
- IfcStructuralLoadConfiguration = 994,
1720
- IfcStructuralLoadGroup = 995,
1721
- IfcStructuralLoadLinearForce = 996,
1722
- IfcStructuralLoadOrResult = 997,
1723
- IfcStructuralLoadPlanarForce = 998,
1724
- IfcStructuralLoadSingleDisplacement = 999,
1725
- IfcStructuralLoadSingleDisplacementDistortion = 1000,
1726
- IfcStructuralLoadSingleForce = 1001,
1727
- IfcStructuralLoadSingleForceWarping = 1002,
1728
- IfcStructuralLoadStatic = 1003,
1729
- IfcStructuralLoadTemperature = 1004,
1730
- IfcStructuralMember = 1005,
1731
- IfcStructuralPlanarAction = 1006,
1732
- IfcStructuralPointAction = 1007,
1733
- IfcStructuralPointConnection = 1008,
1734
- IfcStructuralPointReaction = 1009,
1735
- IfcStructuralReaction = 1010,
1736
- IfcStructuralResultGroup = 1011,
1737
- IfcStructuralSurfaceAction = 1012,
1738
- IfcStructuralSurfaceActivityTypeEnum = 1013,
1739
- IfcStructuralSurfaceConnection = 1014,
1740
- IfcStructuralSurfaceMember = 1015,
1741
- IfcStructuralSurfaceMemberTypeEnum = 1016,
1742
- IfcStructuralSurfaceMemberVarying = 1017,
1743
- IfcStructuralSurfaceReaction = 1018,
1744
- IfcStyleAssignmentSelect = 1019,
1745
- IfcStyledItem = 1020,
1746
- IfcStyledRepresentation = 1021,
1747
- IfcStyleModel = 1022,
1748
- IfcSubContractResource = 1023,
1749
- IfcSubContractResourceType = 1024,
1750
- IfcSubContractResourceTypeEnum = 1025,
1751
- IfcSubedge = 1026,
1752
- IfcSurface = 1027,
1753
- IfcSurfaceCurve = 1028,
1754
- IfcSurfaceCurveSweptAreaSolid = 1029,
1755
- IfcSurfaceFeature = 1030,
1756
- IfcSurfaceFeatureTypeEnum = 1031,
1757
- IfcSurfaceOfLinearExtrusion = 1032,
1758
- IfcSurfaceOfRevolution = 1033,
1759
- IfcSurfaceOrFaceSurface = 1034,
1760
- IfcSurfaceReinforcementArea = 1035,
1761
- IfcSurfaceSide = 1036,
1762
- IfcSurfaceStyle = 1037,
1763
- IfcSurfaceStyleElementSelect = 1038,
1764
- IfcSurfaceStyleLighting = 1039,
1765
- IfcSurfaceStyleRefraction = 1040,
1766
- IfcSurfaceStyleRendering = 1041,
1767
- IfcSurfaceStyleShading = 1042,
1768
- IfcSurfaceStyleWithTextures = 1043,
1769
- IfcSurfaceTexture = 1044,
1770
- IfcSweptAreaSolid = 1045,
1771
- IfcSweptDiskSolid = 1046,
1772
- IfcSweptDiskSolidPolygonal = 1047,
1773
- IfcSweptSurface = 1048,
1774
- IfcSwitchingDevice = 1049,
1775
- IfcSwitchingDeviceType = 1050,
1776
- IfcSwitchingDeviceTypeEnum = 1051,
1777
- IfcSystem = 1052,
1778
- IfcSystemFurnitureElement = 1053,
1779
- IfcSystemFurnitureElementType = 1054,
1780
- IfcSystemFurnitureElementTypeEnum = 1055,
1781
- IfcTable = 1056,
1782
- IfcTableColumn = 1057,
1783
- IfcTableRow = 1058,
1784
- IfcTank = 1059,
1785
- IfcTankType = 1060,
1786
- IfcTankTypeEnum = 1061,
1787
- IfcTask = 1062,
1788
- IfcTaskDurationEnum = 1063,
1789
- IfcTaskTime = 1064,
1790
- IfcTaskTimeRecurring = 1065,
1791
- IfcTaskType = 1066,
1792
- IfcTaskTypeEnum = 1067,
1793
- IfcTelecomAddress = 1068,
1794
- IfcTemperatureGradientMeasure = 1069,
1795
- IfcTemperatureRateOfChangeMeasure = 1070,
1796
- IfcTendon = 1071,
1797
- IfcTendonAnchor = 1072,
1798
- IfcTendonAnchorType = 1073,
1799
- IfcTendonAnchorTypeEnum = 1074,
1800
- IfcTendonType = 1075,
1801
- IfcTendonTypeEnum = 1076,
1802
- IfcTessellatedFaceSet = 1077,
1803
- IfcTessellatedItem = 1078,
1804
- IfcText = 1079,
1805
- IfcTextAlignment = 1080,
1806
- IfcTextDecoration = 1081,
1807
- IfcTextFontName = 1082,
1808
- IfcTextFontSelect = 1083,
1809
- IfcTextLiteral = 1084,
1810
- IfcTextLiteralWithExtent = 1085,
1811
- IfcTextPath = 1086,
1812
- IfcTextStyle = 1087,
1813
- IfcTextStyleFontModel = 1088,
1814
- IfcTextStyleForDefinedFont = 1089,
1815
- IfcTextStyleTextModel = 1090,
1816
- IfcTextTransformation = 1091,
1817
- IfcTextureCoordinate = 1092,
1818
- IfcTextureCoordinateGenerator = 1093,
1819
- IfcTextureMap = 1094,
1820
- IfcTextureVertex = 1095,
1821
- IfcTextureVertexList = 1096,
1822
- IfcThermalAdmittanceMeasure = 1097,
1823
- IfcThermalConductivityMeasure = 1098,
1824
- IfcThermalExpansionCoefficientMeasure = 1099,
1825
- IfcThermalResistanceMeasure = 1100,
1826
- IfcThermalTransmittanceMeasure = 1101,
1827
- IfcThermodynamicTemperatureMeasure = 1102,
1828
- IfcTime = 1103,
1829
- IfcTimeMeasure = 1104,
1830
- IfcTimeOrRatioSelect = 1105,
1831
- IfcTimePeriod = 1106,
1832
- IfcTimeSeries = 1107,
1833
- IfcTimeSeriesDataTypeEnum = 1108,
1834
- IfcTimeSeriesValue = 1109,
1835
- IfcTimeStamp = 1110,
1836
- IfcTopologicalRepresentationItem = 1111,
1837
- IfcTopologyRepresentation = 1112,
1838
- IfcToroidalSurface = 1113,
1839
- IfcTorqueMeasure = 1114,
1840
- IfcTransformer = 1115,
1841
- IfcTransformerType = 1116,
1842
- IfcTransformerTypeEnum = 1117,
1843
- IfcTransitionCode = 1118,
1844
- IfcTransitionCurveSegment2D = 1119,
1845
- IfcTransitionCurveType = 1120,
1846
- IfcTranslationalStiffnessSelect = 1121,
1847
- IfcTransportElement = 1122,
1848
- IfcTransportElementType = 1123,
1849
- IfcTransportElementTypeEnum = 1124,
1850
- IfcTrapeziumProfileDef = 1125,
1851
- IfcTriangulatedFaceSet = 1126,
1852
- IfcTriangulatedIrregularNetwork = 1127,
1853
- IfcTrimmedCurve = 1128,
1854
- IfcTrimmingPreference = 1129,
1855
- IfcTrimmingSelect = 1130,
1856
- IfcTShapeProfileDef = 1131,
1857
- IfcTubeBundle = 1132,
1858
- IfcTubeBundleType = 1133,
1859
- IfcTubeBundleTypeEnum = 1134,
1860
- IfcTypeObject = 1135,
1861
- IfcTypeProcess = 1136,
1862
- IfcTypeProduct = 1137,
1863
- IfcTypeResource = 1138,
1864
- IfcUnit = 1139,
1865
- IfcUnitaryControlElement = 1140,
1866
- IfcUnitaryControlElementType = 1141,
1867
- IfcUnitaryControlElementTypeEnum = 1142,
1868
- IfcUnitaryEquipment = 1143,
1869
- IfcUnitaryEquipmentType = 1144,
1870
- IfcUnitaryEquipmentTypeEnum = 1145,
1871
- IfcUnitAssignment = 1146,
1872
- IfcUnitEnum = 1147,
1873
- IfcURIReference = 1148,
1874
- IfcUShapeProfileDef = 1149,
1875
- IfcValue = 1150,
1876
- IfcValve = 1151,
1877
- IfcValveType = 1152,
1878
- IfcValveTypeEnum = 1153,
1879
- IfcVaporPermeabilityMeasure = 1154,
1880
- IfcVector = 1155,
1881
- IfcVectorOrDirection = 1156,
1882
- IfcVertex = 1157,
1883
- IfcVertexLoop = 1158,
1884
- IfcVertexPoint = 1159,
1885
- IfcVibrationIsolator = 1160,
1886
- IfcVibrationIsolatorType = 1161,
1887
- IfcVibrationIsolatorTypeEnum = 1162,
1888
- IfcVirtualElement = 1163,
1889
- IfcVirtualGridIntersection = 1164,
1890
- IfcVoidingFeature = 1165,
1891
- IfcVoidingFeatureTypeEnum = 1166,
1892
- IfcVolumeMeasure = 1167,
1893
- IfcVolumetricFlowRateMeasure = 1168,
1894
- IfcWall = 1169,
1895
- IfcWallElementedCase = 1170,
1896
- IfcWallStandardCase = 1171,
1897
- IfcWallType = 1172,
1898
- IfcWallTypeEnum = 1173,
1899
- IfcWarpingConstantMeasure = 1174,
1900
- IfcWarpingMomentMeasure = 1175,
1901
- IfcWarpingStiffnessSelect = 1176,
1902
- IfcWasteTerminal = 1177,
1903
- IfcWasteTerminalType = 1178,
1904
- IfcWasteTerminalTypeEnum = 1179,
1905
- IfcWindow = 1180,
1906
- IfcWindowLiningProperties = 1181,
1907
- IfcWindowPanelOperationEnum = 1182,
1908
- IfcWindowPanelPositionEnum = 1183,
1909
- IfcWindowPanelProperties = 1184,
1910
- IfcWindowStandardCase = 1185,
1911
- IfcWindowStyle = 1186,
1912
- IfcWindowStyleConstructionEnum = 1187,
1913
- IfcWindowStyleOperationEnum = 1188,
1914
- IfcWindowType = 1189,
1915
- IfcWindowTypeEnum = 1190,
1916
- IfcWindowTypePartitioningEnum = 1191,
1917
- IfcWorkCalendar = 1192,
1918
- IfcWorkCalendarTypeEnum = 1193,
1919
- IfcWorkControl = 1194,
1920
- IfcWorkPlan = 1195,
1921
- IfcWorkPlanTypeEnum = 1196,
1922
- IfcWorkSchedule = 1197,
1923
- IfcWorkScheduleTypeEnum = 1198,
1924
- IfcWorkTime = 1199,
1925
- IfcZone = 1200,
1926
- IfcZShapeProfileDef = 1201,
1927
- UNDEFINED = 1202,
1928
- Other3DModel = 1203
1929
- }
1930
- export class ModelElementPropertySet {
1931
- name: string;
1932
- properties: ModelElementProperty[];
1933
- type: IfcType;
1934
- }
1935
- export class ModelElementProperty {
1936
- name: string;
1937
- unit: number;
1938
- value: ModelElementPropertyValue;
1939
- }
1940
- export class ModelElementPropertyValue {
1941
- str_value?: string;
1942
- int_value?: number;
1943
- double_value?: number;
1944
- date_value?: BigInt;
1945
- array_value: Array<string>;
1946
- decimal_value?: number;
1947
- guid_value?: string;
1948
- array_int_value: Array<number>;
1949
- bool_value?: boolean;
1950
- get value(): any;
1951
- }
1952
- export const svgBack: string;
1953
- export const svgBottom: string;
1954
- export const svgFront: string;
1955
- export const svgLeft: string;
1956
- export const svgRight: string;
1957
- export const svgTop: string;
1958
- export const navTarget: string;
1959
- export class ModelElement {
1960
- get id(): string;
1961
- get modelPartId(): string;
1962
- get parent(): ModelElement | undefined;
1963
- get type(): string;
1964
- get name(): string;
1965
- get children(): ModelElement[];
1966
- get hasGeometry(): boolean;
1967
- get boundingBoxCenter(): {
1968
- x: number;
1969
- y: number;
1970
- z: number;
1971
- };
1972
- }
1973
- export class ModelElementTree {
1974
- /**
1975
- *
1976
- * @param {string|ModelElement} element - element id or element instance
1977
- * @param callback
1978
- * @param recursive
1979
- */
1980
- enumElementChildren(element: string | ModelElement, callback: (guid: string) => void, recursive?: boolean): void;
1981
- /**
1982
- * Gets the root element of the model part
1983
- * @returns {ModelElement} - model element instance
1984
- */
1985
- getRootElement(): ModelElement;
1986
- /**
1987
- * Gets all elements of the model part
1988
- * @returns array of the model elements
1989
- */
1990
- getAllElements(): ModelElement[];
1991
- /**
1992
- * Gets model element by id
1993
- * @param { string } id - model element id
1994
- * @returns model element;
1995
- */
1996
- getElement(id: string): ModelElement;
1997
- /**
1998
- * Checks given element is viewable
1999
- * @param {string|ModelElement} element - element id or element instance
2000
- * @returns {boolean}
2001
- */
2002
- isViewableElement(element: string | ModelElement): boolean;
2003
- /**
2004
- * Checks given element is detached from the root element
2005
- * @param {string|ModelElement} element - element id or element instance
2006
- * @returns {boolean}
2007
- */
2008
- isDetachedElement(element: string | ModelElement): boolean;
2009
- /**
2010
- * Gets the element level in the element tree
2011
- * @param {string|ModelElement} element - element id or element instance
2012
- * @returns {number} - level of the element
2013
- */
2014
- getChildLevelNumber(element: string | ModelElement): number;
2015
- }
2016
- export class ModelPart {
2017
- get id(): string;
2018
- get elementTree(): ModelElementTree;
2019
- dispose(): void;
2020
- }
2021
- export class SettingsNames {
2022
- static TELEMETRY: string;
2023
- static AXES: string;
2024
- static CAMERA_ANIMATION: string;
2025
- static HIDE_SMALL_ELEMENTS_WHEN_NAVIGATING: string;
2026
- static GLOBAL_LIGHT: string;
2027
- static LIGHT_SOURCE: string;
2028
- static ANTI_ALIASING: string;
2029
- static HIDE_SMALL_ELEMENTS_MOVING: string;
2030
- static SMALL_ELEMENT_SIZE: string;
2031
- static LABEL_LINE_LENGTH: string;
2032
- static HIDE_EDGES_WHEN_NAVIGATING: string;
2033
- static DISPLAY_MODE: string;
2034
- static NAVIGATION_CUBE: string;
2035
- }
2036
- export enum ValueType {
2037
- STRING = 0,
2038
- NUMBER = 1,
2039
- ENUM = 2,
2040
- BOOL = 3
2041
- }
2042
- export class Viewer3DConfiguration extends ViewerConfiguration {
2043
- settings?: ViewerSettings;
2044
- }
2045
- export const defaultViewer3DSettings: ViewerSettings;
2046
-
2047
- export class ModelElementIds {
2048
- constructor(set: ElementEntitySet);
2049
- modelPartId: string;
2050
- elementIds: string[];
2051
- }
2052
- export class EventTypes extends CoreEventTypes {
2053
- static SELECTION_CHANGED_EVENT: string;
2054
- static MODEL_PART_LOADED: string;
2055
- static MODEL_PART_UNLOADED: string;
2056
- }
2057
- export class SelectionEvent extends Event {
2058
- resetPreviousSelection: boolean;
2059
- isAddToSelection: boolean;
2060
- selectionIds: ModelElementIds[];
2061
- options: SelectionOptions;
2062
- constructor(type: string, resetSelection: boolean, isAddToSelection: boolean, selectionIds: ModelElementIds[], options: SelectionOptions);
2063
- }
2064
- export class ModelPartEvent extends Event {
2065
- modelPartId: string;
2066
- constructor(type: string, modelPartId: string);
2067
- }
2068
-
2069
- export class Settings extends SettingsBase {
2070
- getSettingValue<T>(name: string): T;
2071
- protected getKeyWithPrefix(key: string): string;
2072
- }
2073
- export const BigIntMaxValue: BigInt;
2074
- export const BigIntMinValue: BigInt;
2075
- export type CameraPosition = {
2076
- /**
2077
- * Position of camera/eye
2078
- */
2079
- position: {
2080
- x: number;
2081
- y: number;
2082
- z: number;
2083
- };
2084
- /**
2085
- * Eye direction: vector pointing from camera to target
2086
- */
2087
- eyeDir: {
2088
- x: number;
2089
- y: number;
2090
- z: number;
2091
- };
2092
- /**
2093
- * Field of view: angle in radians
2094
- */
2095
- angle: number;
2096
- /**
2097
- * Vector pointing to the center of viewing area
2098
- */
2099
- viewCenter: {
2100
- x: number;
2101
- y: number;
2102
- z: number;
2103
- };
2104
- };
2105
- export interface INavigaton {
2106
- registerEventHandler(navEventHandler: NavigationEventHandler): void;
2107
- unregisterEventHandler(navEventHandler: NavigationEventHandler): void;
2108
- setActive(nvEventHandlerName: string, isActive: boolean): void;
2109
- getActiveNavigation(): NavigationEventHandler;
2110
- setDefaultNavigation(): void;
2111
- setCameraPosition(params: CameraPosition): void;
2112
- getCameraPosition(): CameraPosition;
2113
- fitToView(elementIds: string[] | string, modelPart: string | ModelPart, immediate?: boolean): void;
2114
- setPivotPoint(x: number, y: number, z: number): void;
2115
- getPivotPoint(): {
2116
- x: number;
2117
- y: number;
2118
- z: number;
2119
- };
2120
- resetPivotPoint(): void;
2121
- clear(): void;
2122
- }
2123
- export class Navigation implements INavigaton {
2124
- clear(): void;
2125
- registerEventHandler(navEventHandler: NavigationEventHandler): void;
2126
- unregisterEventHandler(navEventHandler: NavigationEventHandler): void;
2127
- setActive(navEventHandlerName: string, isActive: boolean): void;
2128
- setDefaultNavigation(): void;
2129
- getActiveNavigation(): NavigationEventHandler;
2130
- /**
2131
- * Sets the cameras parameters.
2132
- */
2133
- setCameraPosition(params: CameraPosition): void;
2134
- /**
2135
- * Gets the cameras parameters.
2136
- */
2137
- getCameraPosition(): CameraPosition;
2138
- /**
2139
- *
2140
- * @param {string[] | string} elementIds - element or array of elements
2141
- * @param {string | ModelPart} modelPart - the model part id or the model part instance containing the elements.
2142
- * @param {boolean} immediate - true to avoid the default transition.
2143
- * @returns
2144
- */
2145
- fitToView(elementIds: string[] | string, modelPart?: string | ModelPart, immediate?: boolean): void;
2146
- setPivotPoint(x: number, y: number, z: number): void;
2147
- getPivotPoint(): {
2148
- x: number;
2149
- y: number;
2150
- z: number;
2151
- };
2152
- resetPivotPoint(): void;
2153
- }
2154
- export class Tools {
2155
- static is3dDocument(buffer: ArrayBuffer): Boolean;
2156
- static is2dDocument(buffer: ArrayBuffer): boolean;
2157
- }
2158
- export const version = "1.0.0-1192";
2159
- export class RenderEventsDispatcher extends EventsDispatcherCore {
2160
- constructor();
2161
- addEventListener(event: string, listener: EventListener, options?: any): void;
2162
- }
2163
- export class EventsObserver {
2164
- protected eventsDispatcher: IEventsDispatcher;
2165
- protected _listeners: Map<string, EventListener>;
2166
- constructor(eventsDispatcher: IEventsDispatcher);
2167
- watch(): void;
2168
- dispose(): void;
2169
- }
2170
- /**
2171
- * This class describes the coordination model. The coordination model contains parts of the model (aka ModelPart).
2172
- */
2173
- export class Model {
2174
- /**
2175
- * Returns all model parts loaded in the viewer.
2176
- * @returns {ModelPart[]} - An array of visible and hidden model parts
2177
- */
2178
- getAllModelParts(): ModelPart[];
2179
- /**
2180
- * Returns specific model part loaded in the viewer by its id.
2181
- * @returns {ModelPart} - a model part with specified id
2182
- */
2183
- getModelPart(id: string): ModelPart;
2184
- /**
2185
- * Gets visible model parst
2186
- * @returns {ModelPart[]} - An array of visible model parts
2187
- */
2188
- getVisibleModelParts(): ModelPart[];
2189
- /**
2190
- * Gets hidden model parts
2191
- * @returns {ModelPart[]} - An array of hidden model parts
2192
- */
2193
- getHiddenModelParts(): ModelPart[];
2194
- /**
2195
- * Temporarily remove a model part from the Viewer, but keep loaders, materials, and geometry alive.
2196
- * @param {string | ModelPart} modelPart - model part id or model part instance
2197
- * @param {SelectionOptions} options - selection options
2198
- */
2199
- hideModelPart(modelPart: string | ModelPart, options?: SelectionOptions): void;
2200
- /**
2201
- * Shows hidden model part
2202
- * @param {string | ModelPart} modelPart - model part id or model part instance
2203
- */
2204
- showModelPart(modelPart: string | ModelPart): void;
2205
- /**
2206
- * Hide model elements
2207
- * @param {string[]|string} elementIds - An array of model elements id or just a single model element id.
2208
- * @param {string | ModelPart} modelPart - id of the model part that contains the element ids. By default uses the initial model part loaded into the scene.
2209
- */
2210
- hide(elementIds: string[] | string, modelPart?: string | ModelPart): void;
2211
- /**
2212
- * Hides all elements and model parts from the viewer
2213
- */
2214
- hideAll(): void;
2215
- /**
2216
- * Ensures the passed in elements are shown.
2217
- *
2218
- * @param {string[] | string} elementIds - An array of model elements or just a single model element.
2219
- * @param {string | ModelPart} modelPart - id of the model part that contains the model element id. By default uses the initial model part loaded into the scene.
2220
- *
2221
- */
2222
- show(elementIds: string[] | string, modelPart?: string | ModelPart): void;
2223
- /**
2224
- * Shows all elements and model parts
2225
- */
2226
- showAll(): void;
2227
- /**
2228
- * Selects the array of model elements. You can also pass in a single model element id instead of an array.
2229
- *
2230
- * @param {string[] | string} elementIds - element or array of elements to select.
2231
- * @param {string | ModelPart} modelPart - model part id or the model part instance containing the elements.
2232
- * @param {SelectionOptions} options - selection options
2233
- */
2234
- select(elementIds: string[] | string, modelPart?: string | ModelPart, options?: SelectionOptions): void;
2235
- /**
2236
- * Deselects the array of model elements. You can also pass in a single model element id instead of an array.
2237
- * @param {string[] | string} elementIds - element or array of elements to select.
2238
- * @param {string | ModelPart} modelPart - model part id or the model part instance containing the elements.
2239
- * @param {SelectionOptions} options - selection options
2240
- */
2241
- deselect(elementIds: string[] | string, modelPart?: string | ModelPart, options?: SelectionOptions): void;
2242
- /**
2243
- * Unselect all model elements in all model parts
2244
- * @param {SelectionOptions} options - selection options
2245
- */
2246
- clearSelection(options?: SelectionOptions): void;
2247
- /**
2248
- * Returns the current selection.
2249
- * @returns {ModelElementIds[]} Array of the currently selected model elements.
2250
- */
2251
- getSelection(): ModelElementIds[];
2252
- /**
2253
- * Returns the hidden element ids.
2254
- * @returns {ModelElementIds[]} Array of the currently hidden model elements.
2255
- */
2256
- getHiddenElements(): ModelElementIds[];
2257
- /**
2258
- * Returns the visible element ids.
2259
- * @returns {ModelElementIds[]} Array of the currently visible model elements.
2260
- */
2261
- getVisibleElements(): ModelElementIds[];
2262
- /**
2263
- * Sets color to elements
2264
- * @param {string[] | string} elementIds - element or array of elements to change color.
2265
- * @param {number} r - red
2266
- * @param {number} g - green
2267
- * @param {number} b - blue
2268
- * @param {number} a - alpha
2269
- * @param {string | ModelPart} modelPart - id of the model part or model part instance containing the elements.
2270
- */
2271
- setColor(elementIds: string[] | string, r: number, g: number, b: number, a: number, modelPart?: string | ModelPart): void;
2272
- /**
2273
- * Resets all changed colors for all elements in all model parts
2274
- * @param {string | ModelPart} modelPart - id of the model part or model part instance.
2275
- */
2276
- clearColors(modelPart?: string | ModelPart): void;
2277
- /**
2278
- *
2279
- * @param {string} elementId - element id
2280
- * @param {string?} modelPart - id of the model part or model part instance.
2281
- * @param {BigInt} version - version of the model in ticks.
2282
- *
2283
- * @returns {ModelElementPropertySet[]} - property data array.
2284
- */
2285
- getElementProperties(elementId: string, modelPart?: string | ModelPart, version?: BigInt): ModelElementPropertySet[];
2286
- }
2287
- export var ViewerInstance: Viewer3D;
2288
- export class Viewer3D extends ViewerBase {
2289
- protected _configuration: Viewer3DConfiguration;
2290
- settings: Readonly<ISettings>;
2291
- navigation: Readonly<INavigaton>;
2292
- events: Readonly<IEventsDispatcher>;
2293
- start(): Promise<number>;
2294
- finish(): void;
2295
- /**
2296
- * Loads new model part to the viewer
2297
- * @param buffer
2298
- * @param options
2299
- * @param onSuccessCallback
2300
- * @param onErrorCallback
2301
- */
2302
- loadModelPart(buffer: ArrayBuffer, options: {}, onSuccessCallback: SuccessCallback, onErrorCallback: ErrorCallback): void;
2303
- /**
2304
- * unloads model part from the viewer
2305
- * @param modelPart - model part id or model part instance
2306
- */
2307
- unloadModelPart(modelPart?: string | ModelPart): void;
2308
- /**
2309
- * Returns general model
2310
- * @returns { Model } - general model
2311
- */
2312
- get model(): Model;
2313
- /**
2314
- * Makes screenshot
2315
- * @param {string} [mimeType=image/png] Image MIME type.
2316
- * @param {number} [qualityArgument=1.0] Image quality to be used for image/jpeg or image/webp formats.
2317
- * @returns Blob object representing render image.
2318
- */
2319
- makeScreenshot(mimeType?: string, quality?: number): Promise<Blob>;
2320
- }
2321
- export class GuiViewer3D extends Viewer3D {
2322
- loadModelPart(buffer: ArrayBuffer, options: {}, onSuccessCallback: SuccessCallback, onErrorCallback: ErrorCallback): void;
2323
- getToolbar(): ViewerToolbar;
2324
- onPostExtensionLoad(extension: ExtensionBase): void;
2325
- protected getToolbarHeight(): number;
2326
- }
2327
- export function CreateViewer(container: HTMLElement, configuration?: Viewer3DConfiguration): GuiViewer3D;
2328
- export class Extension extends ExtensionBase {
2329
- protected _viewer: Viewer3D;
2330
- constructor(viewer: Viewer3D, options?: object);
2331
- }
2332
- export class Global {
2333
- G: any;
2334
- RESOURCE_ROOT: string;
2335
- constructor();
2336
- /**
2337
- * @param {object} options - Initialization options
2338
- * @private
2339
- */
2340
- initializeResourceRoot(options: any): void;
2341
- getResourceUrl(resourceRelativePath: string): string;
2342
- }
2343
- export const global: Global;
2344
- export class Localization {
2345
- static initialize(options: any): Promise<void>;
2346
- static localize(domElement: HTMLElement): void;
2347
- static translate(stringToTrans: string): string;
2348
- static setLanguage(language: string): Promise<any>;
2349
- }
2350
- type InitializeSuccessCallback = () => void;
2351
- /**
2352
- *
2353
- * @param options
2354
- * @param callback
2355
- */
2356
- export function Initializer(options: any, callback: InitializeSuccessCallback): void;
2357
- export function shutdown(): void;
2358
- export {};
2359
- export class Button extends Control {
2360
- constructor(id: string);
2361
- setIsChecked(value: boolean): void;
2362
- setState(state: Button.State): boolean;
2363
- getState(): Button.State;
2364
- setIcon(iconClassName: string): void;
2365
- /**
2366
- * Override this method to be notified when the user clicks on the button.
2367
- * @param {MouseEvent} event
2368
- */
2369
- onClick: (event: MouseEvent) => void;
2370
- /**
2371
- * Override this method to be notified when the mouse enters the button.
2372
- * @param {MouseEvent} event
2373
- */
2374
- onMouseOver: (event: MouseEvent) => void;
2375
- /**
2376
- * Override this method to be notified when the mouse leaves the button.
2377
- * @param {MouseEvent} event
2378
- */
2379
- onMouseOut: (event: MouseEvent) => void;
2380
- }
2381
- export namespace Button {
2382
- enum State {
2383
- ACTIVE = 0,
2384
- INACTIVE = 1,
2385
- DISABLED = 2
2386
- }
2387
- enum Event {
2388
- STATE_CHANGED = "Button.StateChanged",
2389
- CLICK = "click"
2390
- }
2391
- }
2392
-
2393
- }
152
+ getName(): string;
153
+ onMouseDown(event: MouseEvent): void;
154
+ onMouseMove(event: MouseEvent): void;
155
+ onMouseUp(event: MouseEvent): void;
156
+ onMouseLongTouch(event: MouseEvent): void;
157
+ onToolbarCreated(toolbar: Toolbar): void;
158
+ protected bindDomEvents(): void;
159
+ }
160
+ export class ViewerToolbar extends Toolbar {
161
+ }
162
+ export enum UpdateType {
163
+ /**No changes */
164
+ None = 0,
165
+ /**Object has been removed from the scene */
166
+ Remove = 1,
167
+ /**Object has been added to the scene */
168
+ Add = 2,
169
+ /**Оbject has been significantly changed. Re-insert required */
170
+ Hard = 4,
171
+ /**Child objects has been changed*/
172
+ Children = 8,
173
+ /**Object geometry has been changed */
174
+ Geometry = 16,
175
+ /**Object position has been changed */
176
+ Position = 32,
177
+ /**Object material has been changed */
178
+ Material = 64,
179
+ /**Object color has been changed */
180
+ Color = 128,
181
+ /**Object selection status has been changed */
182
+ Selection = 256,
183
+ /**Object visibility has been changed */
184
+ Visibility = 512
185
+ }
186
+ export const zeroGuid = "00000000-0000-0000-0000-000000000000";
187
+ export class Color {
188
+ r: number;
189
+ g: number;
190
+ b: number;
191
+ a: number;
192
+
193
+ constructor(r: number, g: number, b: number, a: number);
194
+ static fromThreeColor(color: THREE.Color, alpha?: number): Color;
195
+ static fromColorRepresentation(representation: THREE.ColorRepresentation): Color;
196
+ static fromMaterial(material: THREE.Material): Color;
197
+ threeColor(): THREE.Color;
198
+ alpha(): number;
199
+ fromArray(array: ArrayLike<number>, offset?: number): Color;
200
+ toArray(array: Array<number>, offset?: number): Array<number>;
201
+ }
202
+ export abstract class ViewObject extends THREE.Object3D {
203
+ protected _isSelected: boolean;
204
+ protected _isHovered: boolean;
205
+ protected _isVisible: boolean;
206
+ protected _isHidden: boolean;
207
+ protected _originalColor: Color;
208
+ /**model element entity guid */
209
+ readonly entityGuid: string;
210
+ /**model part guid */
211
+ readonly modelGuid: string;
212
+
213
+ constructor(entityGuid: string, modelGuid: string, color: Color);
214
+ /**Mesh representation of the object */
215
+ abstract get mesh(): THREE.Mesh | null;
216
+ /**Edge representation of the object */
217
+ abstract get edges(): THREE.LineSegments | null;
218
+ add(...object: THREE.Object3D[]): this;
219
+ remove(...object: THREE.Object3D<THREE.Event>[]): this;
220
+ updateMatrixWorld(force?: boolean): void;
221
+ updateWorldMatrix(updateParents: boolean, updateChildren: boolean): void;
222
+ /**Set visibility of this object */
223
+ setVisible(iVal: boolean): void;
224
+ /**Get visibility of this object */
225
+ isVisible(): boolean;
226
+ /**Hide this object from the scene */
227
+ setHidden(iVal: boolean): void;
228
+ /**Check if object is hidden from the scene */
229
+ isHidden(): boolean;
230
+ /**Select this object */
231
+ setSelected(iVal: boolean): void;
232
+ /**Check if object is selected */
233
+ isSelected(): boolean;
234
+ /**Hover this object */
235
+ setHovered(iVal: boolean): void;
236
+ /**Check if object is hovered */
237
+ isHovered(): boolean;
238
+ /**Set color for this object */
239
+ setColor(color: Color): void;
240
+ /**Reset color to original color for this object */
241
+ resetColor(): void;
242
+ /**Gets original color for this object */
243
+ getOriginalColor(): Color;
244
+ /**Dispose geometry */
245
+ dispose(): void;
246
+ /**User defined bounding box calculation for this object. Returns an empty THREE.Box3 by default.*/
247
+ getBoundingBox(): THREE.Box3;
248
+ /**User defined raycast implementation for this object. Emty method by default. */
249
+ raycast(iRaycaster: THREE.Raycaster, oIntersects: THREE.Intersection[]): void;
250
+ /**User defined hover behavior for this object. Emty method by default. */
251
+ protected setHoveredForObject(iVal: boolean): void;
252
+ /**User defined selection behavior for this object. Emty method by default. */
253
+ protected setSelectedForObject(iVal: boolean): void;
254
+ /**User defined hide behavior for this object. Has default implementation used on the MainScene only. */
255
+ protected setHiddenForObject(iVal: boolean): void;
256
+ /**User defined visibility behavior for this object. Sets THREE.Object3D visibility by default. */
257
+ protected setVisibleForObject(iVal: boolean): void;
258
+ /**User defined change color behavior for this object. Emty method by default. */
259
+ protected setColorForObject(color: Color): void;
260
+ /**Reset color to the original color for this object. */
261
+ protected resetColorForObject(): void;
262
+ /**
263
+ * Notifies subscribers about changes in {@link object}.
264
+ * @param updateType type of changes to be reported.
265
+ * @param object (optional) object to be reported about. This object by default.
266
+ */
267
+ protected riseOnUpdated(updateType?: UpdateType, object?: THREE.Object3D): void;
268
+ }
269
+ export type EventFunction<Data> = ((data: Data) => void) | (() => void);
270
+ export interface IEventListener<Data> {
271
+ dispose(): void;
272
+ }
273
+ export interface IEventSigner<Data> {
274
+ listen(callback: EventFunction<Data>, options?: {
275
+ bind?: object;
276
+ }): IEventListener<Data>;
277
+ unlisten(callback: EventFunction<Data>, options?: {
278
+ bind?: object;
279
+ allowMissing?: boolean;
280
+ }): boolean;
281
+ }
282
+ export type Point3 = {
283
+ x: number;
284
+ y: number;
285
+ z: number;
286
+ };
287
+ export type CameraParameters = {
288
+ /** Camera position */
289
+ position: Point3;
290
+ /** Camera view direction: vector pointing from camera to target */
291
+ eyeDir: Point3;
292
+ /** Field of view: angle in radians */
293
+ angle: number;
294
+ /** (optional) Vector pointing to the center of viewing area. Used only in the NavigationTool */
295
+ viewCenter?: Point3;
296
+ };
297
+ export type CameraOrientation = {
298
+ /** Camera view direction: vector pointing from camera to target */
299
+ viewDir: THREE.Vector3;
300
+ /** (optional) Camera up vector */
301
+ upDir?: THREE.Vector3;
302
+ };
303
+ export enum CameraNavigationMode {
304
+ None = 0,
305
+ Rotation = 1,
306
+ Translation = 2,
307
+ Spin = 4,
308
+ Zoom = 8
309
+ }
310
+ export interface ICameraControl {
311
+ /**
312
+ * Gets the Three.js camera.
313
+ */
314
+ getCamera(): THREE.Camera;
315
+ /**
316
+ * Gets the camera parameters.
317
+ */
318
+ getCameraParameters(): CameraParameters;
319
+ /**
320
+ * Sets the camera parameters.
321
+ */
322
+ setCameraParameters(iParams: CameraParameters): void;
323
+ /**
324
+ * Sets the aspect ratio.
325
+ */
326
+ setAspectRatio(width: number, heigth: number): boolean;
327
+ /**
328
+ * Rotates camera around the rotationCenter
329
+ * @param movement - offset in the screen space
330
+ * @param rotationCenter - the center of rotation
331
+ */
332
+ rotate(movement: THREE.Vector2, rotationCenter: THREE.Vector3): void;
333
+ /**
334
+ * Translates the camera relative to the viewCenter
335
+ * @param startNdcPos - start position in the NDC space
336
+ * @param endNdcPos - end position in the NDC space
337
+ * @param viewCenter - relative translation point
338
+ */
339
+ translate(startNdcPos: THREE.Vector2, endNdcPos: THREE.Vector2, viewCenter: THREE.Vector3): void;
340
+ /**
341
+ * Rotates the camera around the Up vector
342
+ * @param movement - offset in the screen space
343
+ */
344
+ spin(movement: THREE.Vector2): void;
345
+ /**
346
+ * Orient the camera
347
+ * @param iOrientation
348
+ * @param isAnimationEnabled
349
+ */
350
+ orientateCamera(iOrientation: CameraOrientation, isAnimationEnabled?: boolean): void;
351
+ /**
352
+ * Zoom camera to the point
353
+ * @param deltaSign - zoom distance
354
+ * @param point - zoom point
355
+ */
356
+ zoomToPoint(deltaSign: number, point: THREE.Vector3): void;
357
+ /**
358
+ * Zoom camera to fit {@link boundingBox} and apply {@link iOrientation}
359
+ * @param boundingBox
360
+ * @param iOrientation - camera orientation after zooming (optional)
361
+ * @param isAnimationEnabled - is animated zoom enabled
362
+ */
363
+ zoomToFit(bb: THREE.Box3, iOrientation?: CameraOrientation, iAnimationEnabled?: boolean): void;
364
+ /**
365
+ * Gets the navigation mode.
366
+ */
367
+ getNavigationMode(): CameraNavigationMode;
368
+ /**
369
+ * Sets the navigation mode
370
+ * @param mode - navigation mode or group of modes.
371
+ * @param isEnable - Turns navigation mode on or off.
372
+ * @param duration - (optional) navigation duration, used if {@link isEnable} is true. If defined: turns off navigation {@link mode} after {@link duration} delay.
373
+ */
374
+ setNavigationMode(mode: CameraNavigationMode, isEnable: boolean, duration?: number): void;
375
+ }
376
+ export interface IModelIntersectionChecker {
377
+ /** Gets the center of the model*/
378
+ get modelCenter(): THREE.Vector3;
379
+ /** Gets the bounding box of the model*/
380
+ get boundingBox(): THREE.Box3;
381
+ /**
382
+ * Gets intersection point of the last casted ray
383
+ */
384
+ getIntersectionPoint(): THREE.Intersection<THREE.Object3D> | undefined;
385
+ /**
386
+ * Gets {@link THREE.Intersection} between a casted {@link ray} and model object.
387
+ * @param ray
388
+ */
389
+ getIntersectionByRay(ray: THREE.Ray): THREE.Intersection<THREE.Object3D> | undefined;
390
+ /**
391
+ * Gets ID of the model object intersected by {@link ray}
392
+ * @param ray
393
+ */
394
+ getIntersectionIDByRay(ray: THREE.Ray): {
395
+ modelId: string;
396
+ guid: string;
397
+ } | undefined;
398
+ /**
399
+ * Gets {@link THREE.Intersection} between a ray, casted from {@link camera} to {@link ndcPoint}, and model object.
400
+ * @param ndcPoint
401
+ * @param camera
402
+ */
403
+ getIntersectionByNdcPt(ndcPoint: THREE.Vector2, camera: THREE.Camera): THREE.Intersection<THREE.Object3D> | undefined;
404
+ /**
405
+ * Gets ID of the model object intersected by ray, casted from {@link camera} to {@link ndcPoint}.
406
+ * @param ndcPoint
407
+ * @param camera
408
+ */
409
+ getIntersectionIDByNdcPt(ndcPoint: THREE.Vector2, camera: THREE.Camera): {
410
+ modelId: string;
411
+ guid: string;
412
+ } | undefined;
413
+ /**
414
+ * Gets IDs of the model objects intersected by frustum
415
+ * @param ndcFrustumBox - frustum in the NDC space
416
+ * @param unProjMatrix - NDC to World projection matrix
417
+ * @param isContainsOnly - if true, gets only fully contained objects in the frustum
418
+ * @param isClippingEnable - if true, intersect objects only in the clipping space
419
+ */
420
+ getIntersectionIDByFrustumNdcPt(ndcFrustumBox: THREE.Box3, unProjMatrix: THREE.Matrix4, isContainsOnly: boolean, isClippingEnable?: boolean): {
421
+ modelId: string;
422
+ guid: string;
423
+ }[];
424
+ }
425
+ export class TPair<TKey, TValue> {
426
+ get key(): TKey;
427
+ get value(): TValue;
428
+ }
429
+ export class RenderViewSettings {
430
+ telemetry?: boolean;
431
+ hideEdgesWhenNavigation?: boolean;
432
+ antiAliasing?: boolean;
433
+ displayMode?: DisplayMode;
434
+ /** Desired render framerate */
435
+ desiredFramerate?: number;
436
+ /** Allocated time for rendering operations, excluding scene rendering */
437
+ manageTime?: number;
438
+ /** Draw hovered meshes on the `selectionScene` */
439
+ hoverMeshes?: boolean;
440
+ /** Draw hovered edges on the `selectionScene` */
441
+ hoverEdges?: boolean;
442
+ /** Draw selected meshes on the `selectionScene` */
443
+ selectEdges?: boolean;
444
+ /** Draw selected edges on the `selectionScene` */
445
+ selectMeshes?: boolean;
446
+ }
447
+ export enum DisplayMode {
448
+ FACES_AND_EDGES = 0,
449
+ FACES = 1
450
+ }
451
+ export const defaultRenderViewSettings: RenderViewSettings;
452
+ export interface IRenderOperationContext {
453
+ /** If true, renderScenes operations will be forced*/
454
+ isRedrawRequested: boolean;
455
+ /** If true - operations will not be suspended by the scheduler*/
456
+ isForcedExecution: boolean;
457
+ /** Gets renderer*/
458
+ get renderer(): I3DRenderer;
459
+ /** Gets camera*/
460
+ get camera(): THREE.Camera;
461
+ /** Gets render settings*/
462
+ get settings(): RenderViewSettings;
463
+ /** Indicates whether the navigation is in progress */
464
+ get isNavigation(): boolean;
465
+ /** Indicates whether the operation has been requested to be suspended by the scheduler*/
466
+ get isSuspensionRequested(): boolean;
467
+ /** Gets the remaining time for the render operations in current iteration*/
468
+ get remainedTime(): DOMHighResTimeStamp;
469
+ /** Gets the time elapsed on render operations in current iteration*/
470
+ get elapsedTime(): DOMHighResTimeStamp;
471
+ /** Gets the timestamp of the last rendered frame*/
472
+ get lastFrameTimestamp(): DOMHighResTimeStamp;
473
+ /** Gets the timestamp of the last finished render cycle*/
474
+ get lastRenderCycleTimestamp(): DOMHighResTimeStamp;
475
+ /** Indicates that the operation time has exceeded the alloted time */
476
+ get isElapsed(): boolean;
477
+ /**Data shared between operations in a one render cycle */
478
+ get userData(): Map<string, object>;
479
+ }
480
+ export enum OperationStatus {
481
+ /** Operation planned in the render cycle */
482
+ Planned = 0,
483
+ /** Operation suspended in the render cycle, will be resumed at the next iteration*/
484
+ Suspended = 1,
485
+ /** Operation finished in the render cycle */
486
+ Finished = 2
487
+ }
488
+ export enum OperationMode {
489
+ /** Perform an operation once*/
490
+ OneTime = 0,
491
+ /** Perform an operation once in a render cycle*/
492
+ EveryCycle = 1,
493
+ /** Perform an operation for each frame */
494
+ EveryFrame = 2
495
+ }
496
+ export enum OperationPriority {
497
+ beforeAll = 0,
498
+ scanForChanges = 8,
499
+ applyChanges = 16,
500
+ manageScenes = 24,
501
+ renderScenes = 32,
502
+ renderViewcube = 40,
503
+ afterAll = 100
504
+ }
505
+ export type RenderOperationDelegate = (context: IRenderOperationContext) => OperationStatus;
506
+ export interface IUserScene {
507
+ /** Scene name */
508
+ readonly name: string;
509
+ /** Indicates whether the scene should to be updated (should to be managed)*/
510
+ get needsUpdate(): boolean;
511
+ /** Indicates whether the scene should be redrawn*/
512
+ get needsRedraw(): boolean;
513
+ /** Gets the scene intersection checker */
514
+ get intersectionChecker(): IModelIntersectionChecker | null;
515
+ /** Gets the THREE.Object3D representation of the scene */
516
+ get threeObjectRepresentation(): THREE.Object3D | null;
517
+ /** Place objects on scene */
518
+ addRange(objects: THREE.Object3D[]): void;
519
+ /** Update objects on scene */
520
+ updateRange(objects: TPair<THREE.Object3D, UpdateType>[]): void;
521
+ /** Remove objects from scene */
522
+ removeRange(objects: THREE.Object3D[]): void;
523
+ /** Indicates if the object is placed on scene */
524
+ has(obj: THREE.Object3D): boolean;
525
+ /** Traverse scene */
526
+ traverse(callback: (object: THREE.Object3D) => void): void;
527
+ /** Set cliping for the scene */
528
+ setClipping(planes: THREE.Plane[]): void;
529
+ /** Manage scene, manage updates on scene */
530
+ manageScene(context?: IRenderOperationContext): boolean;
531
+ /** Render scene */
532
+ render(context: IRenderOperationContext): void;
533
+ /** Clear scene */
534
+ clear(): void;
535
+ }
536
+ export interface I3DRenderer {
537
+ clear(color?: boolean, depth?: boolean, stencil?: boolean): void;
538
+ clearDepth(): void;
539
+ render(scene: THREE.Object3D, camera: THREE.Camera): void;
540
+ getSize(target: THREE.Vector2): THREE.Vector2;
541
+ setSize(width: number, height: number, updateStyle?: boolean): void;
542
+ setViewport(x: THREE.Vector4 | number, y?: number, width?: number, height?: number): void;
543
+ clippingPlanes: THREE.Plane[];
544
+ domElement: HTMLCanvasElement;
545
+ }
546
+ export interface IRenderViewer3D {
547
+ /** Gets model inetrsection checker. */
548
+ getIntersectionChecker(): IModelIntersectionChecker;
549
+ /** Request a full redraw of the canvas. */
550
+ updateCurrentCanvas(): Promise<void>;
551
+ /**
552
+ * Place object on the scene.\
553
+ * An object can only be placed on one scene.
554
+ * @param iObj - object to place.
555
+ * @param sceneID - (optional) scene name. `MainScene` by default.
556
+ */
557
+ placeObjectOnScene(iObj: THREE.Object3D, sceneID?: string): Promise<void>;
558
+ /**
559
+ * Remove object from scene.
560
+ * @param iObj
561
+ */
562
+ removeObjectFromScene(iObj: THREE.Object3D): Promise<void>;
563
+ /**
564
+ * Set clipping planes for rendering.
565
+ * @param planes - array of clipping planes.
566
+ */
567
+ setClipping(planes: THREE.Plane[]): void;
568
+ /**
569
+ * Set active clipping planes: planes with colored sections
570
+ * @param indices - active planes indices in the array of clipping planes
571
+ */
572
+ setActiveClipPlaneIndices(indices: number[]): void;
573
+ /**
574
+ * Gets all render scenes.
575
+ */
576
+ getScenes(): IUserScene[];
577
+ }
578
+ export class ModelElement {
579
+ get id(): string;
580
+ get modelPartId(): string;
581
+ get parent(): ModelElement | undefined;
582
+ get type(): string;
583
+ get name(): string;
584
+ get children(): ModelElement[];
585
+ get hasGeometry(): boolean;
586
+ get boundingBoxCenter(): Point3;
587
+ }
588
+ export class ModelElementTree {
589
+ /**
590
+ *
591
+ * @param {string|ModelElement} element - element id or element instance
592
+ * @param callback
593
+ * @param recursive
594
+ */
595
+ enumElementChildren(element: string | ModelElement, callback: (guid: string) => void, recursive?: boolean): void;
596
+ /**
597
+ * Gets the root element of the model part
598
+ * @returns {ModelElement} - model element instance
599
+ */
600
+ getRootElement(): ModelElement;
601
+ /**
602
+ * Gets all elements of the model part
603
+ * @returns array of the model elements
604
+ */
605
+ getAllElements(): ModelElement[];
606
+ /**
607
+ * Gets model element by id
608
+ * @param { string } id - model element id
609
+ * @returns model element;
610
+ */
611
+ getElement(id: string): ModelElement;
612
+ /**
613
+ * Checks given element is viewable
614
+ * @param {string|ModelElement} element - element id or element instance
615
+ * @returns {boolean}
616
+ */
617
+ isViewableElement(element: string | ModelElement): boolean;
618
+ /**
619
+ * Checks given element is detached from the root element
620
+ * @param {string|ModelElement} element - element id or element instance
621
+ * @returns {boolean}
622
+ */
623
+ isDetachedElement(element: string | ModelElement): boolean;
624
+ /**
625
+ * Gets the element level in the element tree
626
+ * @param {string|ModelElement} element - element id or element instance
627
+ * @returns {number} - level of the element
628
+ */
629
+ getChildLevelNumber(element: string | ModelElement): number;
630
+ }
631
+ export class ModelPart {
632
+ get id(): string;
633
+ get elementTree(): ModelElementTree;
634
+ dispose(): void;
635
+ }
636
+
637
+ export class SettingsNames {
638
+ static TELEMETRY: string;
639
+ static AXES: string;
640
+ static CAMERA_ANIMATION: string;
641
+ static HIDE_SMALL_ELEMENTS_WHEN_NAVIGATING: string;
642
+ static GLOBAL_LIGHT: string;
643
+ static LIGHT_SOURCE: string;
644
+ static ANTI_ALIASING: string;
645
+ static HIDE_SMALL_ELEMENTS_MOVING: string;
646
+ static SMALL_ELEMENT_SIZE: string;
647
+ static LABEL_LINE_LENGTH: string;
648
+ static HIDE_EDGES_WHEN_NAVIGATING: string;
649
+ static DISPLAY_MODE: string;
650
+ static NAVIGATION_CUBE: string;
651
+ static DESIRED_FRAMERATE: string;
652
+ static MANAGE_TIME: string;
653
+ static HOVER_MESHES: string;
654
+ static HOVER_EDGES: string;
655
+ static SELECT_MESHES: string;
656
+ static SELECT_EDGES: string;
657
+ }
658
+ export enum ValueType {
659
+ STRING = 0,
660
+ NUMBER = 1,
661
+ ENUM = 2,
662
+ BOOL = 3
663
+ }
664
+ export class Viewer3DConfiguration extends ViewerConfiguration {
665
+ settings?: ViewerSettings;
666
+ }
667
+ export const defaultViewer3DSettings: ViewerSettings;
668
+ export enum IfcType {
669
+ IfcAbsorbedDoseMeasure = 0,
670
+ IfcAccelerationMeasure = 1,
671
+ IfcActionRequest = 2,
672
+ IfcActionRequestTypeEnum = 3,
673
+ IfcActionSourceTypeEnum = 4,
674
+ IfcActionTypeEnum = 5,
675
+ IfcActor = 6,
676
+ IfcActorRole = 7,
677
+ IfcActorSelect = 8,
678
+ IfcActuator = 9,
679
+ IfcActuatorType = 10,
680
+ IfcActuatorTypeEnum = 11,
681
+ IfcAddress = 12,
682
+ IfcAddressTypeEnum = 13,
683
+ IfcAdvancedBrep = 14,
684
+ IfcAdvancedBrepWithVoids = 15,
685
+ IfcAdvancedFace = 16,
686
+ IfcAirTerminal = 17,
687
+ IfcAirTerminalBox = 18,
688
+ IfcAirTerminalBoxType = 19,
689
+ IfcAirTerminalBoxTypeEnum = 20,
690
+ IfcAirTerminalType = 21,
691
+ IfcAirTerminalTypeEnum = 22,
692
+ IfcAirToAirHeatRecovery = 23,
693
+ IfcAirToAirHeatRecoveryType = 24,
694
+ IfcAirToAirHeatRecoveryTypeEnum = 25,
695
+ IfcAlarm = 26,
696
+ IfcAlarmType = 27,
697
+ IfcAlarmTypeEnum = 28,
698
+ IfcAlignment = 29,
699
+ IfcAlignment2DHorizontal = 30,
700
+ IfcAlignment2DHorizontalSegment = 31,
701
+ IfcAlignment2DSegment = 32,
702
+ IfcAlignment2DVerSegCircularArc = 33,
703
+ IfcAlignment2DVerSegLine = 34,
704
+ IfcAlignment2DVerSegParabolicArc = 35,
705
+ IfcAlignment2DVertical = 36,
706
+ IfcAlignment2DVerticalSegment = 37,
707
+ IfcAlignmentCurve = 38,
708
+ IfcAlignmentTypeEnum = 39,
709
+ IfcAmountOfSubstanceMeasure = 40,
710
+ IfcAnalysisModelTypeEnum = 41,
711
+ IfcAnalysisTheoryTypeEnum = 42,
712
+ IfcAngularVelocityMeasure = 43,
713
+ IfcAnnotation = 44,
714
+ IfcAnnotationFillArea = 45,
715
+ IfcApplication = 46,
716
+ IfcAppliedValue = 47,
717
+ IfcAppliedValueSelect = 48,
718
+ IfcApproval = 49,
719
+ IfcApprovalRelationship = 50,
720
+ IfcArbitraryClosedProfileDef = 51,
721
+ IfcArbitraryOpenProfileDef = 52,
722
+ IfcArbitraryProfileDefWithVoids = 53,
723
+ IfcArcIndex = 54,
724
+ IfcAreaDensityMeasure = 55,
725
+ IfcAreaMeasure = 56,
726
+ IfcArithmeticOperatorEnum = 57,
727
+ IfcAssemblyPlaceEnum = 58,
728
+ IfcAsset = 59,
729
+ IfcAsymmetricIShapeProfileDef = 60,
730
+ IfcAudioVisualAppliance = 61,
731
+ IfcAudioVisualApplianceType = 62,
732
+ IfcAudioVisualApplianceTypeEnum = 63,
733
+ IfcAxis1Placement = 64,
734
+ IfcAxis2Placement = 65,
735
+ IfcAxis2Placement2D = 66,
736
+ IfcAxis2Placement3D = 67,
737
+ IfcBeam = 68,
738
+ IfcBeamStandardCase = 69,
739
+ IfcBeamType = 70,
740
+ IfcBeamTypeEnum = 71,
741
+ IfcBenchmarkEnum = 72,
742
+ IfcBendingParameterSelect = 73,
743
+ IfcBinary = 74,
744
+ IfcBlobTexture = 75,
745
+ IfcBlock = 76,
746
+ IfcBoiler = 77,
747
+ IfcBoilerType = 78,
748
+ IfcBoilerTypeEnum = 79,
749
+ IfcBoolean = 80,
750
+ IfcBooleanClippingResult = 81,
751
+ IfcBooleanOperand = 82,
752
+ IfcBooleanOperator = 83,
753
+ IfcBooleanResult = 84,
754
+ IfcBoundaryCondition = 85,
755
+ IfcBoundaryCurve = 86,
756
+ IfcBoundaryEdgeCondition = 87,
757
+ IfcBoundaryFaceCondition = 88,
758
+ IfcBoundaryNodeCondition = 89,
759
+ IfcBoundaryNodeConditionWarping = 90,
760
+ IfcBoundedCurve = 91,
761
+ IfcBoundedSurface = 92,
762
+ IfcBoundingBox = 93,
763
+ IfcBoxAlignment = 94,
764
+ IfcBoxedHalfSpace = 95,
765
+ IfcBSplineCurve = 96,
766
+ IfcBSplineCurveForm = 97,
767
+ IfcBSplineCurveWithKnots = 98,
768
+ IfcBSplineSurface = 99,
769
+ IfcBSplineSurfaceForm = 100,
770
+ IfcBSplineSurfaceWithKnots = 101,
771
+ IfcBuilding = 102,
772
+ IfcBuildingElement = 103,
773
+ IfcBuildingElementPart = 104,
774
+ IfcBuildingElementPartType = 105,
775
+ IfcBuildingElementPartTypeEnum = 106,
776
+ IfcBuildingElementProxy = 107,
777
+ IfcBuildingElementProxyType = 108,
778
+ IfcBuildingElementProxyTypeEnum = 109,
779
+ IfcBuildingElementType = 110,
780
+ IfcBuildingStorey = 111,
781
+ IfcBuildingSystem = 112,
782
+ IfcBuildingSystemTypeEnum = 113,
783
+ IfcBurner = 114,
784
+ IfcBurnerType = 115,
785
+ IfcBurnerTypeEnum = 116,
786
+ IfcCableCarrierFitting = 117,
787
+ IfcCableCarrierFittingType = 118,
788
+ IfcCableCarrierFittingTypeEnum = 119,
789
+ IfcCableCarrierSegment = 120,
790
+ IfcCableCarrierSegmentType = 121,
791
+ IfcCableCarrierSegmentTypeEnum = 122,
792
+ IfcCableFitting = 123,
793
+ IfcCableFittingType = 124,
794
+ IfcCableFittingTypeEnum = 125,
795
+ IfcCableSegment = 126,
796
+ IfcCableSegmentType = 127,
797
+ IfcCableSegmentTypeEnum = 128,
798
+ IfcCardinalPointReference = 129,
799
+ IfcCartesianPoint = 130,
800
+ IfcCartesianPointList = 131,
801
+ IfcCartesianPointList2D = 132,
802
+ IfcCartesianPointList3D = 133,
803
+ IfcCartesianTransformationOperator = 134,
804
+ IfcCartesianTransformationOperator2D = 135,
805
+ IfcCartesianTransformationOperator2DnonUniform = 136,
806
+ IfcCartesianTransformationOperator3D = 137,
807
+ IfcCartesianTransformationOperator3DnonUniform = 138,
808
+ IfcCenterLineProfileDef = 139,
809
+ IfcChangeActionEnum = 140,
810
+ IfcChiller = 141,
811
+ IfcChillerType = 142,
812
+ IfcChillerTypeEnum = 143,
813
+ IfcChimney = 144,
814
+ IfcChimneyType = 145,
815
+ IfcChimneyTypeEnum = 146,
816
+ IfcCircle = 147,
817
+ IfcCircleHollowProfileDef = 148,
818
+ IfcCircleProfileDef = 149,
819
+ IfcCircularArcSegment2D = 150,
820
+ IfcCivilElement = 151,
821
+ IfcCivilElementType = 152,
822
+ IfcClassification = 153,
823
+ IfcClassificationReference = 154,
824
+ IfcClassificationReferenceSelect = 155,
825
+ IfcClassificationSelect = 156,
826
+ IfcClosedShell = 157,
827
+ IfcCoil = 158,
828
+ IfcCoilType = 159,
829
+ IfcCoilTypeEnum = 160,
830
+ IfcColour = 161,
831
+ IfcColourOrFactor = 162,
832
+ IfcColourRgb = 163,
833
+ IfcColourRgbList = 164,
834
+ IfcColourSpecification = 165,
835
+ IfcColumn = 166,
836
+ IfcColumnStandardCase = 167,
837
+ IfcColumnType = 168,
838
+ IfcColumnTypeEnum = 169,
839
+ IfcCommunicationsAppliance = 170,
840
+ IfcCommunicationsApplianceType = 171,
841
+ IfcCommunicationsApplianceTypeEnum = 172,
842
+ IfcComplexNumber = 173,
843
+ IfcComplexProperty = 174,
844
+ IfcComplexPropertyTemplate = 175,
845
+ IfcComplexPropertyTemplateTypeEnum = 176,
846
+ IfcCompositeCurve = 177,
847
+ IfcCompositeCurveOnSurface = 178,
848
+ IfcCompositeCurveSegment = 179,
849
+ IfcCompositeProfileDef = 180,
850
+ IfcCompoundPlaneAngleMeasure = 181,
851
+ IfcCompressor = 182,
852
+ IfcCompressorType = 183,
853
+ IfcCompressorTypeEnum = 184,
854
+ IfcCondenser = 185,
855
+ IfcCondenserType = 186,
856
+ IfcCondenserTypeEnum = 187,
857
+ IfcConic = 188,
858
+ IfcConnectedFaceSet = 189,
859
+ IfcConnectionCurveGeometry = 190,
860
+ IfcConnectionGeometry = 191,
861
+ IfcConnectionPointEccentricity = 192,
862
+ IfcConnectionPointGeometry = 193,
863
+ IfcConnectionSurfaceGeometry = 194,
864
+ IfcConnectionTypeEnum = 195,
865
+ IfcConnectionVolumeGeometry = 196,
866
+ IfcConstraint = 197,
867
+ IfcConstraintEnum = 198,
868
+ IfcConstructionEquipmentResource = 199,
869
+ IfcConstructionEquipmentResourceType = 200,
870
+ IfcConstructionEquipmentResourceTypeEnum = 201,
871
+ IfcConstructionMaterialResource = 202,
872
+ IfcConstructionMaterialResourceType = 203,
873
+ IfcConstructionMaterialResourceTypeEnum = 204,
874
+ IfcConstructionProductResource = 205,
875
+ IfcConstructionProductResourceType = 206,
876
+ IfcConstructionProductResourceTypeEnum = 207,
877
+ IfcConstructionResource = 208,
878
+ IfcConstructionResourceType = 209,
879
+ IfcContext = 210,
880
+ IfcContextDependentMeasure = 211,
881
+ IfcContextDependentUnit = 212,
882
+ IfcControl = 213,
883
+ IfcController = 214,
884
+ IfcControllerType = 215,
885
+ IfcControllerTypeEnum = 216,
886
+ IfcConversionBasedUnit = 217,
887
+ IfcConversionBasedUnitWithOffset = 218,
888
+ IfcCooledBeam = 219,
889
+ IfcCooledBeamType = 220,
890
+ IfcCooledBeamTypeEnum = 221,
891
+ IfcCoolingTower = 222,
892
+ IfcCoolingTowerType = 223,
893
+ IfcCoolingTowerTypeEnum = 224,
894
+ IfcCoordinateOperation = 225,
895
+ IfcCoordinateReferenceSystem = 226,
896
+ IfcCoordinateReferenceSystemSelect = 227,
897
+ IfcCostItem = 228,
898
+ IfcCostItemTypeEnum = 229,
899
+ IfcCostSchedule = 230,
900
+ IfcCostScheduleTypeEnum = 231,
901
+ IfcCostValue = 232,
902
+ IfcCountMeasure = 233,
903
+ IfcCovering = 234,
904
+ IfcCoveringType = 235,
905
+ IfcCoveringTypeEnum = 236,
906
+ IfcCrewResource = 237,
907
+ IfcCrewResourceType = 238,
908
+ IfcCrewResourceTypeEnum = 239,
909
+ IfcCsgPrimitive3D = 240,
910
+ IfcCsgSelect = 241,
911
+ IfcCsgSolid = 242,
912
+ IfcCShapeProfileDef = 243,
913
+ IfcCurrencyRelationship = 244,
914
+ IfcCurtainWall = 245,
915
+ IfcCurtainWallType = 246,
916
+ IfcCurtainWallTypeEnum = 247,
917
+ IfcCurvatureMeasure = 248,
918
+ IfcCurve = 249,
919
+ IfcCurveBoundedPlane = 250,
920
+ IfcCurveBoundedSurface = 251,
921
+ IfcCurveFontOrScaledCurveFontSelect = 252,
922
+ IfcCurveInterpolationEnum = 253,
923
+ IfcCurveOnSurface = 254,
924
+ IfcCurveOrEdgeCurve = 255,
925
+ IfcCurveSegment2D = 256,
926
+ IfcCurveStyle = 257,
927
+ IfcCurveStyleFont = 258,
928
+ IfcCurveStyleFontAndScaling = 259,
929
+ IfcCurveStyleFontPattern = 260,
930
+ IfcCurveStyleFontSelect = 261,
931
+ IfcCylindricalSurface = 262,
932
+ IfcDamper = 263,
933
+ IfcDamperType = 264,
934
+ IfcDamperTypeEnum = 265,
935
+ IfcDataOriginEnum = 266,
936
+ IfcDate = 267,
937
+ IfcDateTime = 268,
938
+ IfcDayInMonthNumber = 269,
939
+ IfcDayInWeekNumber = 270,
940
+ IfcDefinitionSelect = 271,
941
+ IfcDerivedMeasureValue = 272,
942
+ IfcDerivedProfileDef = 273,
943
+ IfcDerivedUnit = 274,
944
+ IfcDerivedUnitElement = 275,
945
+ IfcDerivedUnitEnum = 276,
946
+ IfcDescriptiveMeasure = 277,
947
+ IfcDimensionalExponents = 278,
948
+ IfcDimensionCount = 279,
949
+ IfcDirection = 280,
950
+ IfcDirectionSenseEnum = 281,
951
+ IfcDiscreteAccessory = 282,
952
+ IfcDiscreteAccessoryType = 283,
953
+ IfcDiscreteAccessoryTypeEnum = 284,
954
+ IfcDistanceExpression = 285,
955
+ IfcDistributionChamberElement = 286,
956
+ IfcDistributionChamberElementType = 287,
957
+ IfcDistributionChamberElementTypeEnum = 288,
958
+ IfcDistributionCircuit = 289,
959
+ IfcDistributionControlElement = 290,
960
+ IfcDistributionControlElementType = 291,
961
+ IfcDistributionElement = 292,
962
+ IfcDistributionElementType = 293,
963
+ IfcDistributionFlowElement = 294,
964
+ IfcDistributionFlowElementType = 295,
965
+ IfcDistributionPort = 296,
966
+ IfcDistributionPortTypeEnum = 297,
967
+ IfcDistributionSystem = 298,
968
+ IfcDistributionSystemEnum = 299,
969
+ IfcDocumentConfidentialityEnum = 300,
970
+ IfcDocumentInformation = 301,
971
+ IfcDocumentInformationRelationship = 302,
972
+ IfcDocumentReference = 303,
973
+ IfcDocumentSelect = 304,
974
+ IfcDocumentStatusEnum = 305,
975
+ IfcDoor = 306,
976
+ IfcDoorLiningProperties = 307,
977
+ IfcDoorPanelOperationEnum = 308,
978
+ IfcDoorPanelPositionEnum = 309,
979
+ IfcDoorPanelProperties = 310,
980
+ IfcDoorStandardCase = 311,
981
+ IfcDoorStyle = 312,
982
+ IfcDoorStyleConstructionEnum = 313,
983
+ IfcDoorStyleOperationEnum = 314,
984
+ IfcDoorType = 315,
985
+ IfcDoorTypeEnum = 316,
986
+ IfcDoorTypeOperationEnum = 317,
987
+ IfcDoseEquivalentMeasure = 318,
988
+ IfcDraughtingPreDefinedColour = 319,
989
+ IfcDraughtingPreDefinedCurveFont = 320,
990
+ IfcDuctFitting = 321,
991
+ IfcDuctFittingType = 322,
992
+ IfcDuctFittingTypeEnum = 323,
993
+ IfcDuctSegment = 324,
994
+ IfcDuctSegmentType = 325,
995
+ IfcDuctSegmentTypeEnum = 326,
996
+ IfcDuctSilencer = 327,
997
+ IfcDuctSilencerType = 328,
998
+ IfcDuctSilencerTypeEnum = 329,
999
+ IfcDuration = 330,
1000
+ IfcDynamicViscosityMeasure = 331,
1001
+ IfcEdge = 332,
1002
+ IfcEdgeCurve = 333,
1003
+ IfcEdgeLoop = 334,
1004
+ IfcElectricAppliance = 335,
1005
+ IfcElectricApplianceType = 336,
1006
+ IfcElectricApplianceTypeEnum = 337,
1007
+ IfcElectricCapacitanceMeasure = 338,
1008
+ IfcElectricChargeMeasure = 339,
1009
+ IfcElectricConductanceMeasure = 340,
1010
+ IfcElectricCurrentMeasure = 341,
1011
+ IfcElectricDistributionBoard = 342,
1012
+ IfcElectricDistributionBoardType = 343,
1013
+ IfcElectricDistributionBoardTypeEnum = 344,
1014
+ IfcElectricFlowStorageDevice = 345,
1015
+ IfcElectricFlowStorageDeviceType = 346,
1016
+ IfcElectricFlowStorageDeviceTypeEnum = 347,
1017
+ IfcElectricGenerator = 348,
1018
+ IfcElectricGeneratorType = 349,
1019
+ IfcElectricGeneratorTypeEnum = 350,
1020
+ IfcElectricMotor = 351,
1021
+ IfcElectricMotorType = 352,
1022
+ IfcElectricMotorTypeEnum = 353,
1023
+ IfcElectricResistanceMeasure = 354,
1024
+ IfcElectricTimeControl = 355,
1025
+ IfcElectricTimeControlType = 356,
1026
+ IfcElectricTimeControlTypeEnum = 357,
1027
+ IfcElectricVoltageMeasure = 358,
1028
+ IfcElement = 359,
1029
+ IfcElementarySurface = 360,
1030
+ IfcElementAssembly = 361,
1031
+ IfcElementAssemblyType = 362,
1032
+ IfcElementAssemblyTypeEnum = 363,
1033
+ IfcElementComponent = 364,
1034
+ IfcElementComponentType = 365,
1035
+ IfcElementCompositionEnum = 366,
1036
+ IfcElementQuantity = 367,
1037
+ IfcElementType = 368,
1038
+ IfcEllipse = 369,
1039
+ IfcEllipseProfileDef = 370,
1040
+ IfcEnergyConversionDevice = 371,
1041
+ IfcEnergyConversionDeviceType = 372,
1042
+ IfcEnergyMeasure = 373,
1043
+ IfcEngine = 374,
1044
+ IfcEngineType = 375,
1045
+ IfcEngineTypeEnum = 376,
1046
+ IfcEvaporativeCooler = 377,
1047
+ IfcEvaporativeCoolerType = 378,
1048
+ IfcEvaporativeCoolerTypeEnum = 379,
1049
+ IfcEvaporator = 380,
1050
+ IfcEvaporatorType = 381,
1051
+ IfcEvaporatorTypeEnum = 382,
1052
+ IfcEvent = 383,
1053
+ IfcEventTime = 384,
1054
+ IfcEventTriggerTypeEnum = 385,
1055
+ IfcEventType = 386,
1056
+ IfcEventTypeEnum = 387,
1057
+ IfcExtendedProperties = 388,
1058
+ IfcExternalInformation = 389,
1059
+ IfcExternallyDefinedHatchStyle = 390,
1060
+ IfcExternallyDefinedSurfaceStyle = 391,
1061
+ IfcExternallyDefinedTextFont = 392,
1062
+ IfcExternalReference = 393,
1063
+ IfcExternalReferenceRelationship = 394,
1064
+ IfcExternalSpatialElement = 395,
1065
+ IfcExternalSpatialElementTypeEnum = 396,
1066
+ IfcExternalSpatialStructureElement = 397,
1067
+ IfcExtrudedAreaSolid = 398,
1068
+ IfcExtrudedAreaSolidTapered = 399,
1069
+ IfcFace = 400,
1070
+ IfcFaceBasedSurfaceModel = 401,
1071
+ IfcFaceBound = 402,
1072
+ IfcFaceOuterBound = 403,
1073
+ IfcFaceSurface = 404,
1074
+ IfcFacetedBrep = 405,
1075
+ IfcFacetedBrepWithVoids = 406,
1076
+ IfcFailureConnectionCondition = 407,
1077
+ IfcFan = 408,
1078
+ IfcFanType = 409,
1079
+ IfcFanTypeEnum = 410,
1080
+ IfcFastener = 411,
1081
+ IfcFastenerType = 412,
1082
+ IfcFastenerTypeEnum = 413,
1083
+ IfcFeatureElement = 414,
1084
+ IfcFeatureElementAddition = 415,
1085
+ IfcFeatureElementSubtraction = 416,
1086
+ IfcFillAreaStyle = 417,
1087
+ IfcFillAreaStyleHatching = 418,
1088
+ IfcFillAreaStyleTiles = 419,
1089
+ IfcFillStyleSelect = 420,
1090
+ IfcFilter = 421,
1091
+ IfcFilterType = 422,
1092
+ IfcFilterTypeEnum = 423,
1093
+ IfcFireSuppressionTerminal = 424,
1094
+ IfcFireSuppressionTerminalType = 425,
1095
+ IfcFireSuppressionTerminalTypeEnum = 426,
1096
+ IfcFixedReferenceSweptAreaSolid = 427,
1097
+ IfcFlowController = 428,
1098
+ IfcFlowControllerType = 429,
1099
+ IfcFlowDirectionEnum = 430,
1100
+ IfcFlowFitting = 431,
1101
+ IfcFlowFittingType = 432,
1102
+ IfcFlowInstrument = 433,
1103
+ IfcFlowInstrumentType = 434,
1104
+ IfcFlowInstrumentTypeEnum = 435,
1105
+ IfcFlowMeter = 436,
1106
+ IfcFlowMeterType = 437,
1107
+ IfcFlowMeterTypeEnum = 438,
1108
+ IfcFlowMovingDevice = 439,
1109
+ IfcFlowMovingDeviceType = 440,
1110
+ IfcFlowSegment = 441,
1111
+ IfcFlowSegmentType = 442,
1112
+ IfcFlowStorageDevice = 443,
1113
+ IfcFlowStorageDeviceType = 444,
1114
+ IfcFlowTerminal = 445,
1115
+ IfcFlowTerminalType = 446,
1116
+ IfcFlowTreatmentDevice = 447,
1117
+ IfcFlowTreatmentDeviceType = 448,
1118
+ IfcFontStyle = 449,
1119
+ IfcFontVariant = 450,
1120
+ IfcFontWeight = 451,
1121
+ IfcFooting = 452,
1122
+ IfcFootingType = 453,
1123
+ IfcFootingTypeEnum = 454,
1124
+ IfcForceMeasure = 455,
1125
+ IfcFrequencyMeasure = 456,
1126
+ IfcFurnishingElement = 457,
1127
+ IfcFurnishingElementType = 458,
1128
+ IfcFurniture = 459,
1129
+ IfcFurnitureType = 460,
1130
+ IfcFurnitureTypeEnum = 461,
1131
+ IfcGeographicElement = 462,
1132
+ IfcGeographicElementType = 463,
1133
+ IfcGeographicElementTypeEnum = 464,
1134
+ IfcGeometricCurveSet = 465,
1135
+ IfcGeometricProjectionEnum = 466,
1136
+ IfcGeometricRepresentationContext = 467,
1137
+ IfcGeometricRepresentationItem = 468,
1138
+ IfcGeometricRepresentationSubContext = 469,
1139
+ IfcGeometricSet = 470,
1140
+ IfcGeometricSetSelect = 471,
1141
+ IfcGloballyUniqueId = 472,
1142
+ IfcGlobalOrLocalEnum = 473,
1143
+ IfcGrid = 474,
1144
+ IfcGridAxis = 475,
1145
+ IfcGridPlacement = 476,
1146
+ IfcGridPlacementDirectionSelect = 477,
1147
+ IfcGridTypeEnum = 478,
1148
+ IfcGroup = 479,
1149
+ IfcHalfSpaceSolid = 480,
1150
+ IfcHatchLineDistanceSelect = 481,
1151
+ IfcHeatExchanger = 482,
1152
+ IfcHeatExchangerType = 483,
1153
+ IfcHeatExchangerTypeEnum = 484,
1154
+ IfcHeatFluxDensityMeasure = 485,
1155
+ IfcHeatingValueMeasure = 486,
1156
+ IfcHumidifier = 487,
1157
+ IfcHumidifierType = 488,
1158
+ IfcHumidifierTypeEnum = 489,
1159
+ IfcIdentifier = 490,
1160
+ IfcIlluminanceMeasure = 491,
1161
+ IfcImageTexture = 492,
1162
+ IfcIndexedColourMap = 493,
1163
+ IfcIndexedPolyCurve = 494,
1164
+ IfcIndexedPolygonalFace = 495,
1165
+ IfcIndexedPolygonalFaceWithVoids = 496,
1166
+ IfcIndexedTextureMap = 497,
1167
+ IfcIndexedTriangleTextureMap = 498,
1168
+ IfcInductanceMeasure = 499,
1169
+ IfcInteger = 500,
1170
+ IfcIntegerCountRateMeasure = 501,
1171
+ IfcInterceptor = 502,
1172
+ IfcInterceptorType = 503,
1173
+ IfcInterceptorTypeEnum = 504,
1174
+ IfcInternalOrExternalEnum = 505,
1175
+ IfcIntersectionCurve = 506,
1176
+ IfcInventory = 507,
1177
+ IfcInventoryTypeEnum = 508,
1178
+ IfcIonConcentrationMeasure = 509,
1179
+ IfcIrregularTimeSeries = 510,
1180
+ IfcIrregularTimeSeriesValue = 511,
1181
+ IfcIShapeProfileDef = 512,
1182
+ IfcIsothermalMoistureCapacityMeasure = 513,
1183
+ IfcJunctionBox = 514,
1184
+ IfcJunctionBoxType = 515,
1185
+ IfcJunctionBoxTypeEnum = 516,
1186
+ IfcKinematicViscosityMeasure = 517,
1187
+ IfcKnotType = 518,
1188
+ IfcLabel = 519,
1189
+ IfcLaborResource = 520,
1190
+ IfcLaborResourceType = 521,
1191
+ IfcLaborResourceTypeEnum = 522,
1192
+ IfcLagTime = 523,
1193
+ IfcLamp = 524,
1194
+ IfcLampType = 525,
1195
+ IfcLampTypeEnum = 526,
1196
+ IfcLanguageId = 527,
1197
+ IfcLayeredItem = 528,
1198
+ IfcLayerSetDirectionEnum = 529,
1199
+ IfcLengthMeasure = 530,
1200
+ IfcLibraryInformation = 531,
1201
+ IfcLibraryReference = 532,
1202
+ IfcLibrarySelect = 533,
1203
+ IfcLightDistributionCurveEnum = 534,
1204
+ IfcLightDistributionData = 535,
1205
+ IfcLightDistributionDataSourceSelect = 536,
1206
+ IfcLightEmissionSourceEnum = 537,
1207
+ IfcLightFixture = 538,
1208
+ IfcLightFixtureType = 539,
1209
+ IfcLightFixtureTypeEnum = 540,
1210
+ IfcLightIntensityDistribution = 541,
1211
+ IfcLightSource = 542,
1212
+ IfcLightSourceAmbient = 543,
1213
+ IfcLightSourceDirectional = 544,
1214
+ IfcLightSourceGoniometric = 545,
1215
+ IfcLightSourcePositional = 546,
1216
+ IfcLightSourceSpot = 547,
1217
+ IfcLine = 548,
1218
+ IfcLinearForceMeasure = 549,
1219
+ IfcLinearMomentMeasure = 550,
1220
+ IfcLinearPlacement = 551,
1221
+ IfcLinearPositioningElement = 552,
1222
+ IfcLinearStiffnessMeasure = 553,
1223
+ IfcLinearVelocityMeasure = 554,
1224
+ IfcLineIndex = 555,
1225
+ IfcLineSegment2D = 556,
1226
+ IfcLoadGroupTypeEnum = 557,
1227
+ IfcLocalPlacement = 558,
1228
+ IfcLogical = 559,
1229
+ IfcLogicalOperatorEnum = 560,
1230
+ IfcLoop = 561,
1231
+ IfcLShapeProfileDef = 562,
1232
+ IfcLuminousFluxMeasure = 563,
1233
+ IfcLuminousIntensityDistributionMeasure = 564,
1234
+ IfcLuminousIntensityMeasure = 565,
1235
+ IfcMagneticFluxDensityMeasure = 566,
1236
+ IfcMagneticFluxMeasure = 567,
1237
+ IfcManifoldSolidBrep = 568,
1238
+ IfcMapConversion = 569,
1239
+ IfcMappedItem = 570,
1240
+ IfcMassDensityMeasure = 571,
1241
+ IfcMassFlowRateMeasure = 572,
1242
+ IfcMassMeasure = 573,
1243
+ IfcMassPerLengthMeasure = 574,
1244
+ IfcMaterial = 575,
1245
+ IfcMaterialClassificationRelationship = 576,
1246
+ IfcMaterialConstituent = 577,
1247
+ IfcMaterialConstituentSet = 578,
1248
+ IfcMaterialDefinition = 579,
1249
+ IfcMaterialDefinitionRepresentation = 580,
1250
+ IfcMaterialLayer = 581,
1251
+ IfcMaterialLayerSet = 582,
1252
+ IfcMaterialLayerSetUsage = 583,
1253
+ IfcMaterialLayerWithOffsets = 584,
1254
+ IfcMaterialList = 585,
1255
+ IfcMaterialProfile = 586,
1256
+ IfcMaterialProfileSet = 587,
1257
+ IfcMaterialProfileSetUsage = 588,
1258
+ IfcMaterialProfileSetUsageTapering = 589,
1259
+ IfcMaterialProfileWithOffsets = 590,
1260
+ IfcMaterialProperties = 591,
1261
+ IfcMaterialRelationship = 592,
1262
+ IfcMaterialSelect = 593,
1263
+ IfcMaterialUsageDefinition = 594,
1264
+ IfcMeasureValue = 595,
1265
+ IfcMeasureWithUnit = 596,
1266
+ IfcMechanicalFastener = 597,
1267
+ IfcMechanicalFastenerType = 598,
1268
+ IfcMechanicalFastenerTypeEnum = 599,
1269
+ IfcMedicalDevice = 600,
1270
+ IfcMedicalDeviceType = 601,
1271
+ IfcMedicalDeviceTypeEnum = 602,
1272
+ IfcMember = 603,
1273
+ IfcMemberStandardCase = 604,
1274
+ IfcMemberType = 605,
1275
+ IfcMemberTypeEnum = 606,
1276
+ IfcMetric = 607,
1277
+ IfcMetricValueSelect = 608,
1278
+ IfcMirroredProfileDef = 609,
1279
+ IfcModulusOfElasticityMeasure = 610,
1280
+ IfcModulusOfLinearSubgradeReactionMeasure = 611,
1281
+ IfcModulusOfRotationalSubgradeReactionMeasure = 612,
1282
+ IfcModulusOfRotationalSubgradeReactionSelect = 613,
1283
+ IfcModulusOfSubgradeReactionMeasure = 614,
1284
+ IfcModulusOfSubgradeReactionSelect = 615,
1285
+ IfcModulusOfTranslationalSubgradeReactionSelect = 616,
1286
+ IfcMoistureDiffusivityMeasure = 617,
1287
+ IfcMolecularWeightMeasure = 618,
1288
+ IfcMomentOfInertiaMeasure = 619,
1289
+ IfcMonetaryMeasure = 620,
1290
+ IfcMonetaryUnit = 621,
1291
+ IfcMonthInYearNumber = 622,
1292
+ IfcMotorConnection = 623,
1293
+ IfcMotorConnectionType = 624,
1294
+ IfcMotorConnectionTypeEnum = 625,
1295
+ IfcNamedUnit = 626,
1296
+ IfcNonNegativeLengthMeasure = 627,
1297
+ IfcNormalisedRatioMeasure = 628,
1298
+ IfcNullStyle = 629,
1299
+ IfcNumericMeasure = 630,
1300
+ IfcObject = 631,
1301
+ IfcObjectDefinition = 632,
1302
+ IfcObjective = 633,
1303
+ IfcObjectiveEnum = 634,
1304
+ IfcObjectPlacement = 635,
1305
+ IfcObjectReferenceSelect = 636,
1306
+ IfcObjectTypeEnum = 637,
1307
+ IfcOccupant = 638,
1308
+ IfcOccupantTypeEnum = 639,
1309
+ IfcOffsetCurve = 640,
1310
+ IfcOffsetCurve2D = 641,
1311
+ IfcOffsetCurve3D = 642,
1312
+ IfcOffsetCurveByDistances = 643,
1313
+ IfcOpeningElement = 644,
1314
+ IfcOpeningElementTypeEnum = 645,
1315
+ IfcOpeningStandardCase = 646,
1316
+ IfcOpenShell = 647,
1317
+ IfcOrganization = 648,
1318
+ IfcOrganizationRelationship = 649,
1319
+ IfcOrientationExpression = 650,
1320
+ IfcOrientedEdge = 651,
1321
+ IfcOuterBoundaryCurve = 652,
1322
+ IfcOutlet = 653,
1323
+ IfcOutletType = 654,
1324
+ IfcOutletTypeEnum = 655,
1325
+ IfcOwnerHistory = 656,
1326
+ IfcParameterizedProfileDef = 657,
1327
+ IfcParameterValue = 658,
1328
+ IfcPath = 659,
1329
+ IfcPcurve = 660,
1330
+ IfcPerformanceHistory = 661,
1331
+ IfcPerformanceHistoryTypeEnum = 662,
1332
+ IfcPermeableCoveringOperationEnum = 663,
1333
+ IfcPermeableCoveringProperties = 664,
1334
+ IfcPermit = 665,
1335
+ IfcPermitTypeEnum = 666,
1336
+ IfcPerson = 667,
1337
+ IfcPersonAndOrganization = 668,
1338
+ IfcPHMeasure = 669,
1339
+ IfcPhysicalComplexQuantity = 670,
1340
+ IfcPhysicalOrVirtualEnum = 671,
1341
+ IfcPhysicalQuantity = 672,
1342
+ IfcPhysicalSimpleQuantity = 673,
1343
+ IfcPile = 674,
1344
+ IfcPileConstructionEnum = 675,
1345
+ IfcPileType = 676,
1346
+ IfcPileTypeEnum = 677,
1347
+ IfcPipeFitting = 678,
1348
+ IfcPipeFittingType = 679,
1349
+ IfcPipeFittingTypeEnum = 680,
1350
+ IfcPipeSegment = 681,
1351
+ IfcPipeSegmentType = 682,
1352
+ IfcPipeSegmentTypeEnum = 683,
1353
+ IfcPixelTexture = 684,
1354
+ IfcPlacement = 685,
1355
+ IfcPlanarBox = 686,
1356
+ IfcPlanarExtent = 687,
1357
+ IfcPlanarForceMeasure = 688,
1358
+ IfcPlane = 689,
1359
+ IfcPlaneAngleMeasure = 690,
1360
+ IfcPlate = 691,
1361
+ IfcPlateStandardCase = 692,
1362
+ IfcPlateType = 693,
1363
+ IfcPlateTypeEnum = 694,
1364
+ IfcPoint = 695,
1365
+ IfcPointOnCurve = 696,
1366
+ IfcPointOnSurface = 697,
1367
+ IfcPointOrVertexPoint = 698,
1368
+ IfcPolygonalBoundedHalfSpace = 699,
1369
+ IfcPolygonalFaceSet = 700,
1370
+ IfcPolyline = 701,
1371
+ IfcPolyLoop = 702,
1372
+ IfcPort = 703,
1373
+ IfcPositioningElement = 704,
1374
+ IfcPositiveInteger = 705,
1375
+ IfcPositiveLengthMeasure = 706,
1376
+ IfcPositivePlaneAngleMeasure = 707,
1377
+ IfcPositiveRatioMeasure = 708,
1378
+ IfcPostalAddress = 709,
1379
+ IfcPowerMeasure = 710,
1380
+ IfcPreDefinedColour = 711,
1381
+ IfcPreDefinedCurveFont = 712,
1382
+ IfcPreDefinedItem = 713,
1383
+ IfcPreDefinedProperties = 714,
1384
+ IfcPreDefinedPropertySet = 715,
1385
+ IfcPreDefinedTextFont = 716,
1386
+ IfcPreferredSurfaceCurveRepresentation = 717,
1387
+ IfcPresentableText = 718,
1388
+ IfcPresentationItem = 719,
1389
+ IfcPresentationLayerAssignment = 720,
1390
+ IfcPresentationLayerWithStyle = 721,
1391
+ IfcPresentationStyle = 722,
1392
+ IfcPresentationStyleAssignment = 723,
1393
+ IfcPresentationStyleSelect = 724,
1394
+ IfcPressureMeasure = 725,
1395
+ IfcProcedure = 726,
1396
+ IfcProcedureType = 727,
1397
+ IfcProcedureTypeEnum = 728,
1398
+ IfcProcess = 729,
1399
+ IfcProcessSelect = 730,
1400
+ IfcProduct = 731,
1401
+ IfcProductDefinitionShape = 732,
1402
+ IfcProductRepresentation = 733,
1403
+ IfcProductRepresentationSelect = 734,
1404
+ IfcProductSelect = 735,
1405
+ IfcProfileDef = 736,
1406
+ IfcProfileProperties = 737,
1407
+ IfcProfileTypeEnum = 738,
1408
+ IfcProject = 739,
1409
+ IfcProjectedCRS = 740,
1410
+ IfcProjectedOrTrueLengthEnum = 741,
1411
+ IfcProjectionElement = 742,
1412
+ IfcProjectionElementTypeEnum = 743,
1413
+ IfcProjectLibrary = 744,
1414
+ IfcProjectOrder = 745,
1415
+ IfcProjectOrderTypeEnum = 746,
1416
+ IfcProperty = 747,
1417
+ IfcPropertyAbstraction = 748,
1418
+ IfcPropertyBoundedValue = 749,
1419
+ IfcPropertyDefinition = 750,
1420
+ IfcPropertyDependencyRelationship = 751,
1421
+ IfcPropertyEnumeratedValue = 752,
1422
+ IfcPropertyEnumeration = 753,
1423
+ IfcPropertyListValue = 754,
1424
+ IfcPropertyReferenceValue = 755,
1425
+ IfcPropertySet = 756,
1426
+ IfcPropertySetDefinition = 757,
1427
+ IfcPropertySetDefinitionSelect = 758,
1428
+ IfcPropertySetDefinitionSet = 759,
1429
+ IfcPropertySetTemplate = 760,
1430
+ IfcPropertySetTemplateTypeEnum = 761,
1431
+ IfcPropertySingleValue = 762,
1432
+ IfcPropertyTableValue = 763,
1433
+ IfcPropertyTemplate = 764,
1434
+ IfcPropertyTemplateDefinition = 765,
1435
+ IfcProtectiveDevice = 766,
1436
+ IfcProtectiveDeviceTrippingUnit = 767,
1437
+ IfcProtectiveDeviceTrippingUnitType = 768,
1438
+ IfcProtectiveDeviceTrippingUnitTypeEnum = 769,
1439
+ IfcProtectiveDeviceType = 770,
1440
+ IfcProtectiveDeviceTypeEnum = 771,
1441
+ IfcProxy = 772,
1442
+ IfcPump = 773,
1443
+ IfcPumpType = 774,
1444
+ IfcPumpTypeEnum = 775,
1445
+ IfcQuantityArea = 776,
1446
+ IfcQuantityCount = 777,
1447
+ IfcQuantityLength = 778,
1448
+ IfcQuantitySet = 779,
1449
+ IfcQuantityTime = 780,
1450
+ IfcQuantityVolume = 781,
1451
+ IfcQuantityWeight = 782,
1452
+ IfcRadioActivityMeasure = 783,
1453
+ IfcRailing = 784,
1454
+ IfcRailingType = 785,
1455
+ IfcRailingTypeEnum = 786,
1456
+ IfcRamp = 787,
1457
+ IfcRampFlight = 788,
1458
+ IfcRampFlightType = 789,
1459
+ IfcRampFlightTypeEnum = 790,
1460
+ IfcRampType = 791,
1461
+ IfcRampTypeEnum = 792,
1462
+ IfcRatioMeasure = 793,
1463
+ IfcRationalBSplineCurveWithKnots = 794,
1464
+ IfcRationalBSplineSurfaceWithKnots = 795,
1465
+ IfcReal = 796,
1466
+ IfcRectangleHollowProfileDef = 797,
1467
+ IfcRectangleProfileDef = 798,
1468
+ IfcRectangularPyramid = 799,
1469
+ IfcRectangularTrimmedSurface = 800,
1470
+ IfcRecurrencePattern = 801,
1471
+ IfcRecurrenceTypeEnum = 802,
1472
+ IfcReference = 803,
1473
+ IfcReferent = 804,
1474
+ IfcReferentTypeEnum = 805,
1475
+ IfcReflectanceMethodEnum = 806,
1476
+ IfcRegularTimeSeries = 807,
1477
+ IfcReinforcementBarProperties = 808,
1478
+ IfcReinforcementDefinitionProperties = 809,
1479
+ IfcReinforcingBar = 810,
1480
+ IfcReinforcingBarRoleEnum = 811,
1481
+ IfcReinforcingBarSurfaceEnum = 812,
1482
+ IfcReinforcingBarType = 813,
1483
+ IfcReinforcingBarTypeEnum = 814,
1484
+ IfcReinforcingElement = 815,
1485
+ IfcReinforcingElementType = 816,
1486
+ IfcReinforcingMesh = 817,
1487
+ IfcReinforcingMeshType = 818,
1488
+ IfcReinforcingMeshTypeEnum = 819,
1489
+ IfcRelAggregates = 820,
1490
+ IfcRelAssigns = 821,
1491
+ IfcRelAssignsToActor = 822,
1492
+ IfcRelAssignsToControl = 823,
1493
+ IfcRelAssignsToGroup = 824,
1494
+ IfcRelAssignsToGroupByFactor = 825,
1495
+ IfcRelAssignsToProcess = 826,
1496
+ IfcRelAssignsToProduct = 827,
1497
+ IfcRelAssignsToResource = 828,
1498
+ IfcRelAssociates = 829,
1499
+ IfcRelAssociatesApproval = 830,
1500
+ IfcRelAssociatesClassification = 831,
1501
+ IfcRelAssociatesConstraint = 832,
1502
+ IfcRelAssociatesDocument = 833,
1503
+ IfcRelAssociatesLibrary = 834,
1504
+ IfcRelAssociatesMaterial = 835,
1505
+ IfcRelationship = 836,
1506
+ IfcRelConnects = 837,
1507
+ IfcRelConnectsElements = 838,
1508
+ IfcRelConnectsPathElements = 839,
1509
+ IfcRelConnectsPorts = 840,
1510
+ IfcRelConnectsPortToElement = 841,
1511
+ IfcRelConnectsStructuralActivity = 842,
1512
+ IfcRelConnectsStructuralMember = 843,
1513
+ IfcRelConnectsWithEccentricity = 844,
1514
+ IfcRelConnectsWithRealizingElements = 845,
1515
+ IfcRelContainedInSpatialStructure = 846,
1516
+ IfcRelCoversBldgElements = 847,
1517
+ IfcRelCoversSpaces = 848,
1518
+ IfcRelDeclares = 849,
1519
+ IfcRelDecomposes = 850,
1520
+ IfcRelDefines = 851,
1521
+ IfcRelDefinesByObject = 852,
1522
+ IfcRelDefinesByProperties = 853,
1523
+ IfcRelDefinesByTemplate = 854,
1524
+ IfcRelDefinesByType = 855,
1525
+ IfcRelFillsElement = 856,
1526
+ IfcRelFlowControlElements = 857,
1527
+ IfcRelInterferesElements = 858,
1528
+ IfcRelNests = 859,
1529
+ IfcRelProjectsElement = 860,
1530
+ IfcRelReferencedInSpatialStructure = 861,
1531
+ IfcRelSequence = 862,
1532
+ IfcRelServicesBuildings = 863,
1533
+ IfcRelSpaceBoundary = 864,
1534
+ IfcRelSpaceBoundary1stLevel = 865,
1535
+ IfcRelSpaceBoundary2ndLevel = 866,
1536
+ IfcRelVoidsElement = 867,
1537
+ IfcReparametrisedCompositeCurveSegment = 868,
1538
+ IfcRepresentation = 869,
1539
+ IfcRepresentationContext = 870,
1540
+ IfcRepresentationItem = 871,
1541
+ IfcRepresentationMap = 872,
1542
+ IfcResource = 873,
1543
+ IfcResourceApprovalRelationship = 874,
1544
+ IfcResourceConstraintRelationship = 875,
1545
+ IfcResourceLevelRelationship = 876,
1546
+ IfcResourceObjectSelect = 877,
1547
+ IfcResourceSelect = 878,
1548
+ IfcResourceTime = 879,
1549
+ IfcRevolvedAreaSolid = 880,
1550
+ IfcRevolvedAreaSolidTapered = 881,
1551
+ IfcRightCircularCone = 882,
1552
+ IfcRightCircularCylinder = 883,
1553
+ IfcRoleEnum = 884,
1554
+ IfcRoof = 885,
1555
+ IfcRoofType = 886,
1556
+ IfcRoofTypeEnum = 887,
1557
+ IfcRoot = 888,
1558
+ IfcRotationalFrequencyMeasure = 889,
1559
+ IfcRotationalMassMeasure = 890,
1560
+ IfcRotationalStiffnessMeasure = 891,
1561
+ IfcRotationalStiffnessSelect = 892,
1562
+ IfcRoundedRectangleProfileDef = 893,
1563
+ IfcSanitaryTerminal = 894,
1564
+ IfcSanitaryTerminalType = 895,
1565
+ IfcSanitaryTerminalTypeEnum = 896,
1566
+ IfcSchedulingTime = 897,
1567
+ IfcSeamCurve = 898,
1568
+ IfcSectionalAreaIntegralMeasure = 899,
1569
+ IfcSectionedSolid = 900,
1570
+ IfcSectionedSolidHorizontal = 901,
1571
+ IfcSectionedSpine = 902,
1572
+ IfcSectionModulusMeasure = 903,
1573
+ IfcSectionProperties = 904,
1574
+ IfcSectionReinforcementProperties = 905,
1575
+ IfcSectionTypeEnum = 906,
1576
+ IfcSegmentIndexSelect = 907,
1577
+ IfcSensor = 908,
1578
+ IfcSensorType = 909,
1579
+ IfcSensorTypeEnum = 910,
1580
+ IfcSequenceEnum = 911,
1581
+ IfcShadingDevice = 912,
1582
+ IfcShadingDeviceType = 913,
1583
+ IfcShadingDeviceTypeEnum = 914,
1584
+ IfcShapeAspect = 915,
1585
+ IfcShapeModel = 916,
1586
+ IfcShapeRepresentation = 917,
1587
+ IfcShearModulusMeasure = 918,
1588
+ IfcShell = 919,
1589
+ IfcShellBasedSurfaceModel = 920,
1590
+ IfcSimpleProperty = 921,
1591
+ IfcSimplePropertyTemplate = 922,
1592
+ IfcSimplePropertyTemplateTypeEnum = 923,
1593
+ IfcSimpleValue = 924,
1594
+ IfcSIPrefix = 925,
1595
+ IfcSite = 926,
1596
+ IfcSIUnit = 927,
1597
+ IfcSIUnitName = 928,
1598
+ IfcSizeSelect = 929,
1599
+ IfcSlab = 930,
1600
+ IfcSlabElementedCase = 931,
1601
+ IfcSlabStandardCase = 932,
1602
+ IfcSlabType = 933,
1603
+ IfcSlabTypeEnum = 934,
1604
+ IfcSlippageConnectionCondition = 935,
1605
+ IfcSolarDevice = 936,
1606
+ IfcSolarDeviceType = 937,
1607
+ IfcSolarDeviceTypeEnum = 938,
1608
+ IfcSolidAngleMeasure = 939,
1609
+ IfcSolidModel = 940,
1610
+ IfcSolidOrShell = 941,
1611
+ IfcSoundPowerLevelMeasure = 942,
1612
+ IfcSoundPowerMeasure = 943,
1613
+ IfcSoundPressureLevelMeasure = 944,
1614
+ IfcSoundPressureMeasure = 945,
1615
+ IfcSpace = 946,
1616
+ IfcSpaceBoundarySelect = 947,
1617
+ IfcSpaceHeater = 948,
1618
+ IfcSpaceHeaterType = 949,
1619
+ IfcSpaceHeaterTypeEnum = 950,
1620
+ IfcSpaceType = 951,
1621
+ IfcSpaceTypeEnum = 952,
1622
+ IfcSpatialElement = 953,
1623
+ IfcSpatialElementType = 954,
1624
+ IfcSpatialStructureElement = 955,
1625
+ IfcSpatialStructureElementType = 956,
1626
+ IfcSpatialZone = 957,
1627
+ IfcSpatialZoneType = 958,
1628
+ IfcSpatialZoneTypeEnum = 959,
1629
+ IfcSpecificHeatCapacityMeasure = 960,
1630
+ IfcSpecularExponent = 961,
1631
+ IfcSpecularHighlightSelect = 962,
1632
+ IfcSpecularRoughness = 963,
1633
+ IfcSphere = 964,
1634
+ IfcSphericalSurface = 965,
1635
+ IfcStackTerminal = 966,
1636
+ IfcStackTerminalType = 967,
1637
+ IfcStackTerminalTypeEnum = 968,
1638
+ IfcStair = 969,
1639
+ IfcStairFlight = 970,
1640
+ IfcStairFlightType = 971,
1641
+ IfcStairFlightTypeEnum = 972,
1642
+ IfcStairType = 973,
1643
+ IfcStairTypeEnum = 974,
1644
+ IfcStateEnum = 975,
1645
+ IfcStrippedOptional = 976,
1646
+ IfcStructuralAction = 977,
1647
+ IfcStructuralActivity = 978,
1648
+ IfcStructuralActivityAssignmentSelect = 979,
1649
+ IfcStructuralAnalysisModel = 980,
1650
+ IfcStructuralConnection = 981,
1651
+ IfcStructuralConnectionCondition = 982,
1652
+ IfcStructuralCurveAction = 983,
1653
+ IfcStructuralCurveActivityTypeEnum = 984,
1654
+ IfcStructuralCurveConnection = 985,
1655
+ IfcStructuralCurveMember = 986,
1656
+ IfcStructuralCurveMemberTypeEnum = 987,
1657
+ IfcStructuralCurveMemberVarying = 988,
1658
+ IfcStructuralCurveReaction = 989,
1659
+ IfcStructuralItem = 990,
1660
+ IfcStructuralLinearAction = 991,
1661
+ IfcStructuralLoad = 992,
1662
+ IfcStructuralLoadCase = 993,
1663
+ IfcStructuralLoadConfiguration = 994,
1664
+ IfcStructuralLoadGroup = 995,
1665
+ IfcStructuralLoadLinearForce = 996,
1666
+ IfcStructuralLoadOrResult = 997,
1667
+ IfcStructuralLoadPlanarForce = 998,
1668
+ IfcStructuralLoadSingleDisplacement = 999,
1669
+ IfcStructuralLoadSingleDisplacementDistortion = 1000,
1670
+ IfcStructuralLoadSingleForce = 1001,
1671
+ IfcStructuralLoadSingleForceWarping = 1002,
1672
+ IfcStructuralLoadStatic = 1003,
1673
+ IfcStructuralLoadTemperature = 1004,
1674
+ IfcStructuralMember = 1005,
1675
+ IfcStructuralPlanarAction = 1006,
1676
+ IfcStructuralPointAction = 1007,
1677
+ IfcStructuralPointConnection = 1008,
1678
+ IfcStructuralPointReaction = 1009,
1679
+ IfcStructuralReaction = 1010,
1680
+ IfcStructuralResultGroup = 1011,
1681
+ IfcStructuralSurfaceAction = 1012,
1682
+ IfcStructuralSurfaceActivityTypeEnum = 1013,
1683
+ IfcStructuralSurfaceConnection = 1014,
1684
+ IfcStructuralSurfaceMember = 1015,
1685
+ IfcStructuralSurfaceMemberTypeEnum = 1016,
1686
+ IfcStructuralSurfaceMemberVarying = 1017,
1687
+ IfcStructuralSurfaceReaction = 1018,
1688
+ IfcStyleAssignmentSelect = 1019,
1689
+ IfcStyledItem = 1020,
1690
+ IfcStyledRepresentation = 1021,
1691
+ IfcStyleModel = 1022,
1692
+ IfcSubContractResource = 1023,
1693
+ IfcSubContractResourceType = 1024,
1694
+ IfcSubContractResourceTypeEnum = 1025,
1695
+ IfcSubedge = 1026,
1696
+ IfcSurface = 1027,
1697
+ IfcSurfaceCurve = 1028,
1698
+ IfcSurfaceCurveSweptAreaSolid = 1029,
1699
+ IfcSurfaceFeature = 1030,
1700
+ IfcSurfaceFeatureTypeEnum = 1031,
1701
+ IfcSurfaceOfLinearExtrusion = 1032,
1702
+ IfcSurfaceOfRevolution = 1033,
1703
+ IfcSurfaceOrFaceSurface = 1034,
1704
+ IfcSurfaceReinforcementArea = 1035,
1705
+ IfcSurfaceSide = 1036,
1706
+ IfcSurfaceStyle = 1037,
1707
+ IfcSurfaceStyleElementSelect = 1038,
1708
+ IfcSurfaceStyleLighting = 1039,
1709
+ IfcSurfaceStyleRefraction = 1040,
1710
+ IfcSurfaceStyleRendering = 1041,
1711
+ IfcSurfaceStyleShading = 1042,
1712
+ IfcSurfaceStyleWithTextures = 1043,
1713
+ IfcSurfaceTexture = 1044,
1714
+ IfcSweptAreaSolid = 1045,
1715
+ IfcSweptDiskSolid = 1046,
1716
+ IfcSweptDiskSolidPolygonal = 1047,
1717
+ IfcSweptSurface = 1048,
1718
+ IfcSwitchingDevice = 1049,
1719
+ IfcSwitchingDeviceType = 1050,
1720
+ IfcSwitchingDeviceTypeEnum = 1051,
1721
+ IfcSystem = 1052,
1722
+ IfcSystemFurnitureElement = 1053,
1723
+ IfcSystemFurnitureElementType = 1054,
1724
+ IfcSystemFurnitureElementTypeEnum = 1055,
1725
+ IfcTable = 1056,
1726
+ IfcTableColumn = 1057,
1727
+ IfcTableRow = 1058,
1728
+ IfcTank = 1059,
1729
+ IfcTankType = 1060,
1730
+ IfcTankTypeEnum = 1061,
1731
+ IfcTask = 1062,
1732
+ IfcTaskDurationEnum = 1063,
1733
+ IfcTaskTime = 1064,
1734
+ IfcTaskTimeRecurring = 1065,
1735
+ IfcTaskType = 1066,
1736
+ IfcTaskTypeEnum = 1067,
1737
+ IfcTelecomAddress = 1068,
1738
+ IfcTemperatureGradientMeasure = 1069,
1739
+ IfcTemperatureRateOfChangeMeasure = 1070,
1740
+ IfcTendon = 1071,
1741
+ IfcTendonAnchor = 1072,
1742
+ IfcTendonAnchorType = 1073,
1743
+ IfcTendonAnchorTypeEnum = 1074,
1744
+ IfcTendonType = 1075,
1745
+ IfcTendonTypeEnum = 1076,
1746
+ IfcTessellatedFaceSet = 1077,
1747
+ IfcTessellatedItem = 1078,
1748
+ IfcText = 1079,
1749
+ IfcTextAlignment = 1080,
1750
+ IfcTextDecoration = 1081,
1751
+ IfcTextFontName = 1082,
1752
+ IfcTextFontSelect = 1083,
1753
+ IfcTextLiteral = 1084,
1754
+ IfcTextLiteralWithExtent = 1085,
1755
+ IfcTextPath = 1086,
1756
+ IfcTextStyle = 1087,
1757
+ IfcTextStyleFontModel = 1088,
1758
+ IfcTextStyleForDefinedFont = 1089,
1759
+ IfcTextStyleTextModel = 1090,
1760
+ IfcTextTransformation = 1091,
1761
+ IfcTextureCoordinate = 1092,
1762
+ IfcTextureCoordinateGenerator = 1093,
1763
+ IfcTextureMap = 1094,
1764
+ IfcTextureVertex = 1095,
1765
+ IfcTextureVertexList = 1096,
1766
+ IfcThermalAdmittanceMeasure = 1097,
1767
+ IfcThermalConductivityMeasure = 1098,
1768
+ IfcThermalExpansionCoefficientMeasure = 1099,
1769
+ IfcThermalResistanceMeasure = 1100,
1770
+ IfcThermalTransmittanceMeasure = 1101,
1771
+ IfcThermodynamicTemperatureMeasure = 1102,
1772
+ IfcTime = 1103,
1773
+ IfcTimeMeasure = 1104,
1774
+ IfcTimeOrRatioSelect = 1105,
1775
+ IfcTimePeriod = 1106,
1776
+ IfcTimeSeries = 1107,
1777
+ IfcTimeSeriesDataTypeEnum = 1108,
1778
+ IfcTimeSeriesValue = 1109,
1779
+ IfcTimeStamp = 1110,
1780
+ IfcTopologicalRepresentationItem = 1111,
1781
+ IfcTopologyRepresentation = 1112,
1782
+ IfcToroidalSurface = 1113,
1783
+ IfcTorqueMeasure = 1114,
1784
+ IfcTransformer = 1115,
1785
+ IfcTransformerType = 1116,
1786
+ IfcTransformerTypeEnum = 1117,
1787
+ IfcTransitionCode = 1118,
1788
+ IfcTransitionCurveSegment2D = 1119,
1789
+ IfcTransitionCurveType = 1120,
1790
+ IfcTranslationalStiffnessSelect = 1121,
1791
+ IfcTransportElement = 1122,
1792
+ IfcTransportElementType = 1123,
1793
+ IfcTransportElementTypeEnum = 1124,
1794
+ IfcTrapeziumProfileDef = 1125,
1795
+ IfcTriangulatedFaceSet = 1126,
1796
+ IfcTriangulatedIrregularNetwork = 1127,
1797
+ IfcTrimmedCurve = 1128,
1798
+ IfcTrimmingPreference = 1129,
1799
+ IfcTrimmingSelect = 1130,
1800
+ IfcTShapeProfileDef = 1131,
1801
+ IfcTubeBundle = 1132,
1802
+ IfcTubeBundleType = 1133,
1803
+ IfcTubeBundleTypeEnum = 1134,
1804
+ IfcTypeObject = 1135,
1805
+ IfcTypeProcess = 1136,
1806
+ IfcTypeProduct = 1137,
1807
+ IfcTypeResource = 1138,
1808
+ IfcUnit = 1139,
1809
+ IfcUnitaryControlElement = 1140,
1810
+ IfcUnitaryControlElementType = 1141,
1811
+ IfcUnitaryControlElementTypeEnum = 1142,
1812
+ IfcUnitaryEquipment = 1143,
1813
+ IfcUnitaryEquipmentType = 1144,
1814
+ IfcUnitaryEquipmentTypeEnum = 1145,
1815
+ IfcUnitAssignment = 1146,
1816
+ IfcUnitEnum = 1147,
1817
+ IfcURIReference = 1148,
1818
+ IfcUShapeProfileDef = 1149,
1819
+ IfcValue = 1150,
1820
+ IfcValve = 1151,
1821
+ IfcValveType = 1152,
1822
+ IfcValveTypeEnum = 1153,
1823
+ IfcVaporPermeabilityMeasure = 1154,
1824
+ IfcVector = 1155,
1825
+ IfcVectorOrDirection = 1156,
1826
+ IfcVertex = 1157,
1827
+ IfcVertexLoop = 1158,
1828
+ IfcVertexPoint = 1159,
1829
+ IfcVibrationIsolator = 1160,
1830
+ IfcVibrationIsolatorType = 1161,
1831
+ IfcVibrationIsolatorTypeEnum = 1162,
1832
+ IfcVirtualElement = 1163,
1833
+ IfcVirtualGridIntersection = 1164,
1834
+ IfcVoidingFeature = 1165,
1835
+ IfcVoidingFeatureTypeEnum = 1166,
1836
+ IfcVolumeMeasure = 1167,
1837
+ IfcVolumetricFlowRateMeasure = 1168,
1838
+ IfcWall = 1169,
1839
+ IfcWallElementedCase = 1170,
1840
+ IfcWallStandardCase = 1171,
1841
+ IfcWallType = 1172,
1842
+ IfcWallTypeEnum = 1173,
1843
+ IfcWarpingConstantMeasure = 1174,
1844
+ IfcWarpingMomentMeasure = 1175,
1845
+ IfcWarpingStiffnessSelect = 1176,
1846
+ IfcWasteTerminal = 1177,
1847
+ IfcWasteTerminalType = 1178,
1848
+ IfcWasteTerminalTypeEnum = 1179,
1849
+ IfcWindow = 1180,
1850
+ IfcWindowLiningProperties = 1181,
1851
+ IfcWindowPanelOperationEnum = 1182,
1852
+ IfcWindowPanelPositionEnum = 1183,
1853
+ IfcWindowPanelProperties = 1184,
1854
+ IfcWindowStandardCase = 1185,
1855
+ IfcWindowStyle = 1186,
1856
+ IfcWindowStyleConstructionEnum = 1187,
1857
+ IfcWindowStyleOperationEnum = 1188,
1858
+ IfcWindowType = 1189,
1859
+ IfcWindowTypeEnum = 1190,
1860
+ IfcWindowTypePartitioningEnum = 1191,
1861
+ IfcWorkCalendar = 1192,
1862
+ IfcWorkCalendarTypeEnum = 1193,
1863
+ IfcWorkControl = 1194,
1864
+ IfcWorkPlan = 1195,
1865
+ IfcWorkPlanTypeEnum = 1196,
1866
+ IfcWorkSchedule = 1197,
1867
+ IfcWorkScheduleTypeEnum = 1198,
1868
+ IfcWorkTime = 1199,
1869
+ IfcZone = 1200,
1870
+ IfcZShapeProfileDef = 1201,
1871
+ UNDEFINED = 1202,
1872
+ Other3DModel = 1203
1873
+ }
1874
+ export class ModelElementPropertySet {
1875
+ name: string;
1876
+ properties: ModelElementProperty[];
1877
+ type: IfcType;
1878
+ }
1879
+ export class ModelElementProperty {
1880
+ name: string;
1881
+ unit: number;
1882
+ value: ModelElementPropertyValue;
1883
+ }
1884
+ export class ModelElementPropertyValue {
1885
+ str_value?: string;
1886
+ int_value?: number;
1887
+ double_value?: number;
1888
+ date_value?: bigint;
1889
+ array_value: Array<string>;
1890
+ decimal_value?: number;
1891
+ guid_value?: string;
1892
+ array_int_value: Array<number>;
1893
+ bool_value?: boolean;
1894
+ get value(): unknown;
1895
+ }
1896
+
1897
+ export enum SelectionMode {
1898
+ Append = 0,
1899
+ Replace = 1
1900
+ }
1901
+ export class ModelElementIds {
1902
+ modelPartId: string;
1903
+ elementIds: string[];
1904
+ }
1905
+ export class EventTypes extends CoreEventTypes {
1906
+ static SELECTION_CHANGED_EVENT: string;
1907
+ static MODEL_PART_LOADED: string;
1908
+ static MODEL_PART_UNLOADED: string;
1909
+ static CAMERA_CHANGE_EVENT: string;
1910
+ static CAMERA_NAVIGATION_MODE_CHANGED_EVENT: string;
1911
+ static RENDER_CLICK_EVENT: string;
1912
+ static RENDER_HOVER_EVENT: string;
1913
+ }
1914
+ export class SelectionChangedEvent extends Event {
1915
+ selectedIds: ModelElementIds[];
1916
+ }
1917
+ export class ModelPartEvent extends Event {
1918
+ modelPartId: string;
1919
+ }
1920
+ export class CameraEvent extends Event {
1921
+ }
1922
+ export class ClickedEvent extends Event {
1923
+ modelId: string;
1924
+ modelElementId: string;
1925
+ ctrlKey: boolean;
1926
+ }
1927
+ export class HoverEvent extends Event {
1928
+ modelId: string;
1929
+ modelElementId: string;
1930
+ }
1931
+ export enum NavigationHandlerPriority {
1932
+ DefaultNavigation = 0,
1933
+ GizmoHandlers = 20,
1934
+ EmbeddedExtensions = 40,
1935
+ CustomExtensions = 100
1936
+ }
1937
+ export class NavigationEventOptions implements EventListenerOptions {
1938
+ /** If true, use event capturing instead of event bubbling*/
1939
+ readonly capture: boolean;
1940
+ /** Call priority of navigation event handlers, from highest to lowest*/
1941
+ readonly priority: number | NavigationHandlerPriority;
1942
+ /** Always handle, used if `NavigationEvent.isHandled` set to true*/
1943
+ readonly alwaysHandle: boolean;
1944
+ /** (optional) listener name*/
1945
+ readonly navigationTargetName?: string;
1946
+
1947
+ constructor(
1948
+ /** If true, use event capturing instead of event bubbling*/
1949
+ capture?: boolean,
1950
+ /** Call priority of navigation event handlers, from highest to lowest*/
1951
+ priority?: number | NavigationHandlerPriority,
1952
+ /** Always handle, used if `NavigationEvent.isHandled` set to true*/
1953
+ alwaysHandle?: boolean,
1954
+ /** (optional) listener name*/
1955
+ navigationTargetName?: string);
1956
+ }
1957
+ export type NavigationEvent = {
1958
+ /**
1959
+ * (optional) Value indicating whether the NavigationEvent event was handled.
1960
+ */
1961
+ isHandled?: boolean;
1962
+ };
1963
+ export interface INavigationEventSource {
1964
+ /**
1965
+ * Event fired on activity changed
1966
+ */
1967
+ readonly eventSourceActivityChanged: IEventSigner<boolean>;
1968
+ /**
1969
+ * Activates or deactivate event source
1970
+ * @param value - activate if true
1971
+ */
1972
+ setActive(value: boolean): void;
1973
+ addEventListener<T extends keyof HTMLElementEventMap>(type: T, listener: (this: object, ev: HTMLElementEventMap[T] & NavigationEvent) => void, options?: boolean | EventListenerOptions | NavigationEventOptions): void;
1974
+ removeEventListener<T extends keyof HTMLElementEventMap>(type: T, listener: (this: object, ev: HTMLElementEventMap[T] & NavigationEvent) => void, options?: boolean | EventListenerOptions | NavigationEventOptions): void;
1975
+ }
1976
+ export interface INavigationAgent {
1977
+ /**
1978
+ * Canvas DOM-events source
1979
+ */
1980
+ readonly canvasNavigationSource: INavigationEventSource;
1981
+ /**
1982
+ * Keyboard DOM-events source
1983
+ */
1984
+ readonly keyboardNavigationSource: INavigationEventSource;
1985
+ /**
1986
+ * Activates canvas and keyboard navigation event sources
1987
+ */
1988
+ setActive(value: boolean): void;
1989
+ /**
1990
+ * Gets rectangle of the navigation area
1991
+ */
1992
+ getNavigationArea(): DOMRect;
1993
+ }
1994
+ export interface INavigationTool {
1995
+ /**
1996
+ * Gets name of this navigation tool.
1997
+ */
1998
+ get name(): string;
1999
+ /**
2000
+ * Initialize navigation tool.
2001
+ */
2002
+ init(navAgent: INavigationAgent, cameraControl: ICameraControl, intersectionChecker: IModelIntersectionChecker): void;
2003
+ /**
2004
+ * Activates or deactivates this navigation tool.
2005
+ */
2006
+ setActive(isActive: boolean): void;
2007
+ /**
2008
+ * Gets the camera pivot point.
2009
+ */
2010
+ getPivotPoint(): THREE.Vector3;
2011
+ /**
2012
+ * Sets the camera pivot point.
2013
+ */
2014
+ setPivotPoint(pivotPoint: THREE.Vector3): void;
2015
+ /**
2016
+ * Sets the camera parameters.
2017
+ * @param iParams
2018
+ */
2019
+ setCameraParameters(iParams: CameraParameters): void;
2020
+ /**
2021
+ * Gets the camera parameters.
2022
+ */
2023
+ getCameraParameters(): CameraParameters;
2024
+ }
2025
+ export interface INavigation {
2026
+ /**
2027
+ * Register navigation tool.
2028
+ */
2029
+ registerNavigation(navigationTool: INavigationTool): void;
2030
+ /**
2031
+ * Unregister navigation tool.
2032
+ */
2033
+ unregisterNavigation(navigationTool: INavigationTool): void;
2034
+ /**
2035
+ * Activate or deactivate registered navigation tool.
2036
+ * NB: There can be only one active navigation tool at time.
2037
+ */
2038
+ setActive(navigationToolName: string, isActive: boolean): void;
2039
+ /**
2040
+ * Get active navigation tool.
2041
+ */
2042
+ getActiveNavigation(): INavigationTool | null;
2043
+ /**
2044
+ * Get navigation agent.
2045
+ */
2046
+ getNavigationAgent(): INavigationAgent;
2047
+ /**
2048
+ * Gets navigation area rectangle
2049
+ */
2050
+ getNavigationArea(): DOMRect;
2051
+ /**
2052
+ * Sets the camera parameters.
2053
+ */
2054
+ setCameraParameters(params: CameraParameters): void;
2055
+ /**
2056
+ * Gets the camera parameters.
2057
+ */
2058
+ getCameraParameters(): CameraParameters;
2059
+ /**
2060
+ * Gets the camera control.
2061
+ */
2062
+ getCameraControl(): ICameraControl;
2063
+ /**
2064
+ * Gets the Three.js camera.
2065
+ */
2066
+ getCamera(): THREE.Camera;
2067
+ /**
2068
+ * Fits camera to objects by IDs.
2069
+ * @param {string[] | string} elementIds - element or array of elements
2070
+ * @param {string | ModelPart} modelPart - the model part id or the model part instance containing the elements.
2071
+ * @param {boolean} immediate - true to avoid the default transition.
2072
+ * @returns
2073
+ */
2074
+ fitToView(elementIds: string[] | string, modelPart: string | ModelPart, immediate?: boolean): void;
2075
+ /**
2076
+ * Sets the camera pivot point.
2077
+ */
2078
+ setPivotPoint(point: Point3): void;
2079
+ /**
2080
+ * Gets the camera pivot point.
2081
+ */
2082
+ getPivotPoint(): Point3;
2083
+ /**
2084
+ * Reset the camera pivot point.
2085
+ */
2086
+ resetPivotPoint(): void;
2087
+ }
2088
+ export class ModelLoadingOptions {
2089
+ guid: string;
2090
+ isConsolidatedModel?: boolean;
2091
+ }
2092
+ export class EventsObserver {
2093
+ protected eventsDispatcher: IEventsDispatcher;
2094
+ protected _listeners: Map<string, EventListener>;
2095
+ watch(): void;
2096
+ dispose(): void;
2097
+ }
2098
+ /**
2099
+ * This class describes the coordination model. The coordination model contains parts of the model (aka ModelPart).
2100
+ */
2101
+ export class Model {
2102
+ /**
2103
+ * Returns all model parts loaded in the viewer.
2104
+ * @returns {ModelPart[]} - An array of visible and hidden model parts
2105
+ */
2106
+ getAllModelParts(): ModelPart[];
2107
+ /**
2108
+ * Returns specific model part loaded in the viewer by its id.
2109
+ * @returns {ModelPart} - a model part with specified id
2110
+ */
2111
+ getModelPart(id: string): ModelPart;
2112
+ /**
2113
+ * Gets visible model parst
2114
+ * @returns {ModelPart[]} - An array of visible model parts
2115
+ */
2116
+ getVisibleModelParts(): ModelPart[];
2117
+ /**
2118
+ * Gets hidden model parts
2119
+ * @returns {ModelPart[]} - An array of hidden model parts
2120
+ */
2121
+ getHiddenModelParts(): ModelPart[];
2122
+ /**
2123
+ * Temporarily remove a model part from the Viewer, but keep loaders, materials, and geometry alive.
2124
+ * @param {string | ModelPart} modelPart - model part id or model part instance
2125
+ */
2126
+ hideModelPart(modelPart: string | ModelPart): void;
2127
+ /**
2128
+ * Shows hidden model part
2129
+ * @param {string | ModelPart} modelPart - model part id or model part instance
2130
+ */
2131
+ showModelPart(modelPart: string | ModelPart): void;
2132
+ /**
2133
+ * Hide model elements
2134
+ * @param {string[]|string} elementIds - An array of model elements id or just a single model element id.
2135
+ * @param {string | ModelPart} modelPart - id of the model part that contains the element ids. By default uses the initial model part loaded into the scene.
2136
+ */
2137
+ hide(elementIds: string[] | string, modelPart?: string | ModelPart): void;
2138
+ /**
2139
+ * Hides all elements and model parts from the viewer
2140
+ */
2141
+ hideAll(): void;
2142
+ /**
2143
+ * Ensures the passed in elements are shown.
2144
+ *
2145
+ * @param {string[] | string} elementIds - An array of model elements or just a single model element.
2146
+ * @param {string | ModelPart} modelPart - id of the model part that contains the model element id. By default uses the initial model part loaded into the scene.
2147
+ *
2148
+ */
2149
+ show(elementIds: string[] | string, modelPart?: string | ModelPart): void;
2150
+ /**
2151
+ * Shows all elements and model parts
2152
+ */
2153
+ showAll(): void;
2154
+ /**
2155
+ * Selects the array of model elements. You can also pass in a single model element id instead of an array.
2156
+ *
2157
+ * @param {string[] | string} elementIds - element or array of elements to select.
2158
+ * @param {string | ModelPart} modelPart - model part id or the model part instance containing the elements.
2159
+ */
2160
+ select(elementIds: string[] | string, modelPart: string | ModelPart, selectionMode: SelectionMode): void;
2161
+ /**
2162
+ * Deselects the array of model elements. You can also pass in a single model element id instead of an array.
2163
+ * @param {string[] | string} elementIds - element or array of elements to select.
2164
+ * @param {string | ModelPart} modelPart - model part id or the model part instance containing the elements.
2165
+ */
2166
+ deselect(elementIds: string[] | string, modelPart?: string | ModelPart): void;
2167
+ /**
2168
+ * Unselect all model elements in all model parts
2169
+ */
2170
+ clearSelection(): void;
2171
+ /**
2172
+ * Returns the current selection.
2173
+ * @returns {ModelElementIds[]} Array of the currently selected model elements.
2174
+ */
2175
+ getSelection(): ModelElementIds[];
2176
+ /**
2177
+ * Returns the hidden element ids.
2178
+ * @returns {ModelElementIds[]} Array of the currently hidden model elements.
2179
+ */
2180
+ getHiddenElements(): ModelElementIds[];
2181
+ /**
2182
+ * Returns the visible element ids.
2183
+ * @returns {ModelElementIds[]} Array of the currently visible model elements.
2184
+ */
2185
+ getVisibleElements(): ModelElementIds[];
2186
+ /**
2187
+ * Sets color to elements
2188
+ * @param {string[] | string} elementIds - element or array of elements to change color.
2189
+ * @param {number} r - red
2190
+ * @param {number} g - green
2191
+ * @param {number} b - blue
2192
+ * @param {number} a - alpha
2193
+ * @param {string | ModelPart} modelPart - id of the model part or model part instance containing the elements.
2194
+ */
2195
+ setColor(elementIds: string[] | string, r: number, g: number, b: number, a: number, modelPart?: string | ModelPart): void;
2196
+ /**
2197
+ * Resets all changed colors for all elements in all model parts
2198
+ * @param {string | ModelPart} modelPart - id of the model part or model part instance.
2199
+ */
2200
+ clearColors(modelPart?: string | ModelPart): void;
2201
+ /**
2202
+ *
2203
+ * @param {string} elementId - element id
2204
+ * @param {string?} modelPart - id of the model part or model part instance.
2205
+ * @param {BigInt} version - version of the model in ticks.
2206
+ *
2207
+ * @returns {ModelElementPropertySet[]} - property data array.
2208
+ */
2209
+ getElementProperties(elementId: string, modelPart?: string | ModelPart, version?: bigint): ModelElementPropertySet[];
2210
+ }
2211
+ export let ViewerInstance: Viewer3D;
2212
+ export class Viewer3D extends ViewerBase {
2213
+ protected _configuration: Viewer3DConfiguration;
2214
+ settings: Readonly<ISettings>;
2215
+ get navigation(): INavigation;
2216
+ events: Readonly<IEventsDispatcher>;
2217
+ start(): Promise<number>;
2218
+ finish(): void;
2219
+ /**
2220
+ * Loads new model part to the viewer
2221
+ * @param buffer
2222
+ * @param options
2223
+ * @param onSuccessCallback
2224
+ * @param onErrorCallback
2225
+ */
2226
+ loadModelPart(buffer: ArrayBuffer, options: ModelLoadingOptions, onSuccessCallback: SuccessCallback, onErrorCallback: ErrorCallback): void;
2227
+ /**
2228
+ * unloads model part from the viewer
2229
+ * @param modelPart - model part id or model part instance
2230
+ */
2231
+ unloadModelPart(modelPart?: string | ModelPart): void;
2232
+ /**
2233
+ * Returns general model
2234
+ * @returns { Model } - general model
2235
+ */
2236
+ get model(): Model;
2237
+ get renderView(): IRenderViewer3D;
2238
+ get canvas(): HTMLCanvasElement;
2239
+ /**
2240
+ * Makes screenshot
2241
+ * @param {string} [mimeType=image/png] Image MIME type.
2242
+ * @param {number} [qualityArgument=1.0] Image quality to be used for image/jpeg or image/webp formats.
2243
+ * @returns Blob object representing render image.
2244
+ */
2245
+ makeScreenshot(mimeType?: string, quality?: number): Promise<Blob>;
2246
+ }
2247
+ export class GuiViewer3D extends Viewer3D {
2248
+ loadModelPart(buffer: ArrayBuffer, options: ModelLoadingOptions, onSuccessCallback: SuccessCallback, onErrorCallback: ErrorCallback): void;
2249
+ getToolbar(): ViewerToolbar;
2250
+ onPostExtensionLoad(extension: ExtensionBase): void;
2251
+ protected getToolbarHeight(): number;
2252
+ }
2253
+ export function CreateViewer(container: HTMLElement, configuration?: Viewer3DConfiguration): GuiViewer3D;
2254
+ export class Extension extends ExtensionBase {
2255
+ protected _viewer: Viewer3D;
2256
+
2257
+ constructor(viewer: Viewer3D, options?: object);
2258
+ }
2259
+ export class GizmoMaterials {
2260
+ static gizmoMaterial: THREE.MeshBasicMaterial;
2261
+ static matInvisible: THREE.MeshBasicMaterial;
2262
+ static matRed: THREE.MeshBasicMaterial;
2263
+ static matGreen: THREE.MeshBasicMaterial;
2264
+ static matBlue: THREE.MeshBasicMaterial;
2265
+ static matYellow: THREE.MeshBasicMaterial;
2266
+ static matViolet: THREE.MeshBasicMaterial;
2267
+ static matYellowTransparent: THREE.MeshBasicMaterial;
2268
+ static init(): void;
2269
+ }
2270
+ export interface IGizmoObject extends THREE.Object3D {
2271
+ getHovered(): boolean;
2272
+ setHovered(value: boolean): void;
2273
+ getActive(): boolean;
2274
+ setActive(value: boolean): void;
2275
+ dispose(): void;
2276
+ }
2277
+ export class GizmoObject extends THREE.Object3D implements IGizmoObject {
2278
+ protected _meshes: THREE.Mesh[];
2279
+ readonly baseMaterial: THREE.Material;
2280
+ readonly hoverMaterial: THREE.Material;
2281
+ readonly activeMaterial: THREE.Material;
2282
+
2283
+ constructor(_meshes: THREE.Mesh[], baseMaterial?: THREE.Material, hoverMaterial?: THREE.Material, activeMaterial?: THREE.Material);
2284
+ getHovered(): boolean;
2285
+ setHovered(value: boolean): void;
2286
+ getActive(): boolean;
2287
+ setActive(value: boolean): void;
2288
+ dispose(): void;
2289
+ raycast(raycaster: THREE.Raycaster, intersects: THREE.Intersection<THREE.Object3D<THREE.Event>>[]): void;
2290
+ }
2291
+ export abstract class GizmoAxis extends THREE.Object3D implements IGizmoObject {
2292
+ readonly handle: IGizmoObject;
2293
+ readonly picker?: IGizmoObject;
2294
+ readonly helper?: IGizmoObject;
2295
+ protected _isHovered: boolean;
2296
+ protected _isActive: boolean;
2297
+ protected _plane: THREE.Plane;
2298
+ protected _axisDir: THREE.Vector3;
2299
+ protected _raycaster: THREE.Raycaster;
2300
+ protected _worldPositionStart: THREE.Vector3;
2301
+ protected _worldQuaternionStart: THREE.Quaternion;
2302
+ protected _worldAxisDir: THREE.Vector3;
2303
+ protected _startPoint: THREE.Vector3;
2304
+ protected _endPoint: THREE.Vector3;
2305
+ getActive(): boolean;
2306
+ setActive(value: boolean): void;
2307
+ getHovered(): boolean;
2308
+ setHovered(value: boolean): void;
2309
+ dispose(): void;
2310
+ raycast(raycaster: THREE.Raycaster, intersects: THREE.Intersection<THREE.Object3D<THREE.Event>>[]): void;
2311
+ abstract moveByNdcPt(ndcPos: THREE.Vector2, camera: THREE.Camera): THREE.Matrix4;
2312
+ protected abstract updateGizmoPlane(camera: THREE.Camera): void;
2313
+ protected setStartPt(ndcPos: THREE.Vector2, camera: THREE.Camera): void;
2314
+ }
2315
+ export class GizmoTranslationAxis extends GizmoAxis {
2316
+ readonly handle: IGizmoObject;
2317
+ readonly picker?: IGizmoObject;
2318
+ readonly helper?: IGizmoObject;
2319
+
2320
+ constructor(axisDir: THREE.Vector3, handle: IGizmoObject, picker?: IGizmoObject, helper?: IGizmoObject);
2321
+ moveByNdcPt(ndcPos: THREE.Vector2, camera: THREE.Camera): THREE.Matrix4;
2322
+ protected updateGizmoPlane(camera: THREE.Camera): void;
2323
+ }
2324
+ export class GizmoRotationAxis extends GizmoAxis {
2325
+ readonly handle: IGizmoObject;
2326
+ readonly picker?: IGizmoObject;
2327
+ readonly helper?: IGizmoObject;
2328
+ moveByNdcPt(ndcPos: THREE.Vector2, camera: THREE.Camera): THREE.Matrix4;
2329
+ protected updateGizmoPlane(camera: THREE.Camera): void;
2330
+ }
2331
+ export class GizmoScaleAxis extends GizmoAxis {
2332
+ readonly handle: IGizmoObject;
2333
+ readonly picker?: IGizmoObject;
2334
+ readonly helper?: IGizmoObject;
2335
+ moveByNdcPt(ndcPos: THREE.Vector2, camera: THREE.Camera): THREE.Matrix4;
2336
+ protected updateGizmoPlane(camera: THREE.Camera): void;
2337
+ }
2338
+ export class GizmoControl extends THREE.Object3D {
2339
+
2340
+ constructor(camera: THREE.Camera, navAgent: INavigationAgent);
2341
+ attachTo(object: THREE.Object3D, asChild?: boolean): void;
2342
+ detach(): void;
2343
+ addAxis(axis: GizmoAxis): void;
2344
+ dispose(): void;
2345
+ updateMatrixWorld(force?: boolean): void;
2346
+ updateGizmoOffset(position?: THREE.Vector3, quaternion?: THREE.Quaternion): void;
2347
+ }
2348
+ export enum GizmoAxisDir {
2349
+ NONE = 0,
2350
+ X = 1,
2351
+ Y = 2,
2352
+ Z = 4,
2353
+ XY = 3,
2354
+ YZ = 6,
2355
+ XZ = 5,
2356
+ XYZ = 7
2357
+ }
2358
+ export class GizmoBuilder {
2359
+ static build(camera: THREE.Camera, navAgent: INavigationAgent, translation?: GizmoAxisDir, rotation?: GizmoAxisDir, scale?: GizmoAxisDir): GizmoControl;
2360
+ static buildTranslationAxis(axisDir: THREE.Vector3, handleBaseMatrial?: THREE.Material, handleHoveredMaterial?: THREE.Material, handleSelectedMaterial?: THREE.Material, pickerBaseMatrial?: THREE.Material, pickerHoveredMaterial?: THREE.Material, pickerSelectedMaterial?: THREE.Material): GizmoAxis;
2361
+ static buildRotationAxis(axisDir: THREE.Vector3, handleBaseMatrial?: THREE.Material, handleHoveredMaterial?: THREE.Material, handleSelectedMaterial?: THREE.Material, pickerBaseMatrial?: THREE.Material, pickerHoveredMaterial?: THREE.Material, pickerSelectedMaterial?: THREE.Material): GizmoAxis;
2362
+ static buildScaleAxis(axisDir: THREE.Vector3, handleBaseMatrial?: THREE.Material, handleHoveredMaterial?: THREE.Material, handleSelectedMaterial?: THREE.Material): GizmoAxis;
2363
+ }
2364
+ export type InitializeSuccessCallback = () => void;
2365
+ /**
2366
+ * @param options
2367
+ * @param callback
2368
+ */
2369
+ export function Initializer(options: any, callback: InitializeSuccessCallback): void;
2370
+ export function shutdown(): void;
2371
+ export class Button extends Control {
2372
+
2373
+ constructor(id: string);
2374
+ setIsChecked(value: boolean): void;
2375
+ setState(state: Button.State): boolean;
2376
+ getState(): Button.State;
2377
+ setIcon(iconClassName: string): void;
2378
+ /**
2379
+ * Override this method to be notified when the user clicks on the button.
2380
+ * @param {MouseEvent} event
2381
+ */
2382
+ onClick: (event: MouseEvent) => void;
2383
+ /**
2384
+ * Override this method to be notified when the mouse enters the button.
2385
+ * @param {MouseEvent} event
2386
+ */
2387
+ onMouseOver: (event: MouseEvent) => void;
2388
+ /**
2389
+ * Override this method to be notified when the mouse leaves the button.
2390
+ * @param {MouseEvent} event
2391
+ */
2392
+ onMouseOut: (event: MouseEvent) => void;
2393
+ }
2394
+ export namespace Button {
2395
+ enum State {
2396
+ ACTIVE = 0,
2397
+ INACTIVE = 1,
2398
+ DISABLED = 2
2399
+ }
2400
+ enum Event {
2401
+ STATE_CHANGED = "Button.StateChanged",
2402
+ CLICK = "click"
2403
+ }
2404
+ }
2405
+
2406
+ }