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