@pilotdev/pilot-web-3d 23.0.3-1 → 23.0.3

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 (4) hide show
  1. package/LICENCE +20 -20
  2. package/README.md +9 -9
  3. package/index.d.ts +2402 -2402
  4. package/package.json +20 -21
package/index.d.ts CHANGED
@@ -1,2406 +1,2406 @@
1
1
  /// <reference types="@types/three" />
2
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.
151
- */
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
- }
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.
151
+ */
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
2405
 
2406
2406
  }