@pilotdev/pilot-web-3d 25.13.0 → 26.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/index.d.ts +451 -78
  2. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  /// <reference types="@types/three" />
2
2
  declare namespace PilotWeb3D {
3
+ export interface IObject3D<TEventMap extends THREE.Object3DEventMap = THREE.Object3DEventMap> extends THREE.Object3D<TEventMap> {
4
+ }
3
5
  export enum UpdateType {
4
6
  /**No changes */
5
7
  None = 0,
@@ -52,7 +54,70 @@ export interface ViewObjectEventMap extends THREE.Object3DEventMap {
52
54
  updateType: UpdateType;
53
55
  };
54
56
  }
55
- export abstract class ViewObject extends THREE.Object3D<ViewObjectEventMap> {
57
+ export interface IViewObject extends THREE.Object3D<ViewObjectEventMap> {
58
+ /**
59
+ * constant flag to check if a given object is {@link IViewObject}.
60
+ * @defaultValue `true`
61
+ */
62
+ readonly isViewObject: boolean;
63
+ /**
64
+ * model element entity guid
65
+ * @default zeroGuid
66
+ */
67
+ readonly entityGuid: string;
68
+ /**
69
+ * model part guid
70
+ * @default zeroGuid
71
+ */
72
+ readonly modelGuid: string;
73
+ /**Mesh representation of the object */
74
+ get mesh(): THREE.Mesh | null;
75
+ /**Edge representation of the object */
76
+ get edges(): THREE.LineSegments | null;
77
+ /**Set visibility of this object */
78
+ setVisible(value: boolean): void;
79
+ /**Get visibility of this object */
80
+ isVisible(): boolean;
81
+ /**Hide this object from the scene */
82
+ setHidden(iVal: boolean): void;
83
+ /**Check if object is hidden from the scene */
84
+ isHidden(): boolean;
85
+ /**Select this object */
86
+ setSelected(value: boolean): void;
87
+ /**Check if object is selected */
88
+ isSelected(): boolean;
89
+ /**Hover this object */
90
+ setHovered(value: boolean): void;
91
+ /**Check if object is hovered */
92
+ isHovered(): boolean;
93
+ /**Set color for this object */
94
+ setColor(color: Color): void;
95
+ /**Get color of this object */
96
+ getColor(): Color;
97
+ /**Reset color to original color for this object */
98
+ resetColor(): void;
99
+ /**Gets original color for this object */
100
+ getOriginalColor(): Color;
101
+ /**Check if object is in ghost mode */
102
+ isGhosted(): boolean;
103
+ /**Set ghost mode for this object */
104
+ setGhosted(value: boolean): void;
105
+ /**Get local matrix of this object */
106
+ getMatrix(target: THREE.Matrix4): THREE.Matrix4;
107
+ /**Set local matrix of this object */
108
+ setMatrix(source: THREE.Matrix4): void;
109
+ /**Get world matrix of this object */
110
+ getMatrixWorld(target: THREE.Matrix4): THREE.Matrix4;
111
+ /**Set world matrix of this object */
112
+ setMatrixWorld(source: THREE.Matrix4): void;
113
+ /**Dispose geometry */
114
+ dispose(): void;
115
+ /**User defined bounding box calculation for this object. Returns an empty THREE.Box3 by default.*/
116
+ getBoundingBox(): THREE.Box3;
117
+ /**User defined raycast implementation for this object. Empty method by default. */
118
+ raycast(iRaycaster: THREE.Raycaster, oIntersects: THREE.Intersection[]): void;
119
+ }
120
+ export abstract class ViewObject extends THREE.Object3D<ViewObjectEventMap> implements IViewObject {
56
121
  protected _isDisposed: boolean;
57
122
  protected _isSelected: boolean;
58
123
  protected _isHovered: boolean;
@@ -62,6 +127,7 @@ export abstract class ViewObject extends THREE.Object3D<ViewObjectEventMap> {
62
127
  protected _isGhosted: boolean;
63
128
  protected _originalColor: Color;
64
129
  protected _color: Color;
130
+ readonly isViewObject: boolean;
65
131
  /**
66
132
  * model element entity guid
67
133
  * @default zeroGuid
@@ -121,6 +187,14 @@ export abstract class ViewObject extends THREE.Object3D<ViewObjectEventMap> {
121
187
  resetColor(): void;
122
188
  /**Gets original color for this object */
123
189
  getOriginalColor(): Color;
190
+ /**Get local matrix of this object */
191
+ getMatrix(target: THREE.Matrix4): THREE.Matrix4;
192
+ /**Set local matrix of this object */
193
+ setMatrix(source: THREE.Matrix4): void;
194
+ /**Get world matrix of this object */
195
+ getMatrixWorld(target: THREE.Matrix4): THREE.Matrix4;
196
+ /**Set world matrix of this object */
197
+ setMatrixWorld(source: THREE.Matrix4): void;
124
198
  /**Dispose geometry */
125
199
  dispose(): void;
126
200
  /**User defined bounding box calculation for this object. Returns an empty THREE.Box3 by default.*/
@@ -256,6 +330,7 @@ export namespace ViewerGeneralIcons {
256
330
  const TRASH: string;
257
331
  const ARROW_DR: string;
258
332
  const CHECK: string;
333
+ const MORE: string;
259
334
  }
260
335
  export interface ISettings {
261
336
  changeSetting<T>(name: string, value: T, notify?: boolean, providedData?: any): void;
@@ -322,7 +397,9 @@ export interface IControl {
322
397
  container: HTMLElement;
323
398
  getId(): string;
324
399
  setToolTip(tooltipText: string): void;
400
+ getToolTip(): string | null;
325
401
  setText(text: string): void;
402
+ getText(): string | null;
326
403
  setState(state: ControlState.State): void;
327
404
  getState(): ControlState.State;
328
405
  }
@@ -339,8 +416,10 @@ export class Control implements IControl {
339
416
  addClass(cssClass: string): void;
340
417
  removeClass(cssClass: string): void;
341
418
  getId(): string;
342
- setToolTip(tooltipText: string): void;
419
+ setToolTip(tooltipText: string | null): void;
420
+ getToolTip(): string | null;
343
421
  setText(text: string): void;
422
+ getText(): string | null;
344
423
  setState(state: ControlState.State): void;
345
424
  getState(): ControlState.State;
346
425
  }
@@ -363,6 +442,7 @@ export const defaultToolbarAppearance: ToolbarStyle;
363
442
  export interface IMenu {
364
443
  controls: IControl[];
365
444
  addControl(control: IControl, index?: number): void;
445
+ addControls(controls: IControl[], index?: number): void;
366
446
  removeControl(index: number): void;
367
447
  }
368
448
  export class Separator extends Control {
@@ -370,21 +450,89 @@ export class Separator extends Control {
370
450
  constructor(id: string);
371
451
  setVertical(value: boolean): void;
372
452
  }
373
- interface IToolbarButton {
374
- button: IControl;
375
- index: number;
453
+ export class Button extends Control {
454
+
455
+ constructor(id: string);
456
+ setIsChecked(value: boolean): void;
457
+ setState(state: ControlState.State): boolean;
458
+ setText(text: string): void;
459
+ getText(): string | null;
460
+ getState(): ControlState.State;
461
+ getIsChecked(): boolean;
462
+ setIcon(iconClassName: string): void;
463
+ getIcon(): string;
464
+ setFromSvgTemlate(template: string): void;
465
+ getSvgTemplate(): string;
466
+ withoutIcon(): void;
467
+ /**
468
+ * Override this method to be notified when the user clicks on the button.
469
+ * @param {MouseEvent} event
470
+ */
471
+ onClick: (event: MouseEvent) => void;
472
+ /**
473
+ * Override this method to be notified when the mouse enters the button.
474
+ * @param {MouseEvent} event
475
+ */
476
+ onMouseOver: (event: MouseEvent) => void;
477
+ /**
478
+ * Override this method to be notified when the mouse leaves the button.
479
+ * @param {MouseEvent} event
480
+ */
481
+ onMouseOut: (event: MouseEvent) => void;
376
482
  }
377
- export class Toolbar extends Control implements IMenu {
483
+ export namespace Button {
484
+ enum Event {
485
+ STATE_CHANGED = "Button.StateChanged",
486
+ CLICK = "click"
487
+ }
488
+ }
489
+ export class ContextMenu implements IMenu {
490
+ readonly controls: IControl[];
491
+ set selectedIndex(value: number | number[]);
492
+ get selectedIndex(): number | number[];
493
+ set opened(value: boolean);
494
+ get opened(): boolean;
495
+ set textStubKey(value: string);
496
+ get textStubKey(): string;
497
+ get menuWrapper(): HTMLElement;
498
+ setEnabled(index: number, value: boolean): void;
499
+ addControl(control: IControl, index?: number): void;
500
+ addControls(controls: IControl[], index?: number): void;
501
+ removeControl(index?: number): void;
502
+ clearList(): void;
503
+ changeControl(item: IControl, index: number): void;
504
+ getControlsCount(): number;
505
+ }
506
+ export class ComboButton extends Control {
507
+
508
+ constructor(id: string, selectedIndex?: number);
509
+ get subMenu(): ContextMenu;
510
+ /**
511
+ * Override this method to be notified when the user clicks on the button.
512
+ * @param {MouseEvent} event
513
+ */
514
+ onClick(event: PointerEvent): void;
515
+ onOpen(): void;
516
+ onClose(): void;
517
+ setStateMode(mode: ControlState.StateMode): void;
518
+ setState(state: ControlState.State): boolean;
519
+ setText(text: string): void;
520
+ getText(): string | null;
521
+ setFromSvgTemlate(template: string): void;
522
+ getSvgTemplate(): string;
523
+ }
524
+ export class Toolbar extends Control implements IMenu, IToolbar {
378
525
  /** @deprecated */
379
526
  readonly controls: IControl[];
380
- addControl(control: IControl, index?: number | undefined): void;
527
+ addControl(control: IControl, index?: number): IToolbarButton;
528
+ addControls(controls: IControl[], index?: number): IToolbarButton[];
381
529
  removeControl(index: number): void;
382
530
  getControls(): IToolbarButton[];
383
531
  changeToolbarPosition(direction: ToolbarPosition): void;
384
532
  changeToolbarContentAlignment(content: ToolbarContentAlignment): void;
385
533
  clear(): void;
534
+ setAdaptiveEnabled(enabled: boolean): void;
386
535
  }
387
- export {};
388
536
  export class ExtensionBase {
389
537
  protected _viewer: ViewerBase;
390
538
  protected _options: object;
@@ -523,74 +671,6 @@ export interface IMenuBuilder {
523
671
  removeAllButtons(): IMenuBuilder;
524
672
  withButton(controlId: string, icon: string, translationKey: string, command: () => void): IMenuBuilder;
525
673
  }
526
- export class Button extends Control {
527
-
528
- constructor(id: string);
529
- setIsChecked(value: boolean): void;
530
- setState(state: ControlState.State): boolean;
531
- setText(text: string): void;
532
- getState(): ControlState.State;
533
- getIsChecked(): boolean;
534
- setIcon(iconClassName: string): void;
535
- getIcon(): string;
536
- setFromSvgTemlate(template: string): void;
537
- getSvgTemplate(): string;
538
- withoutIcon(): void;
539
- /**
540
- * Override this method to be notified when the user clicks on the button.
541
- * @param {MouseEvent} event
542
- */
543
- onClick: (event: MouseEvent) => void;
544
- /**
545
- * Override this method to be notified when the mouse enters the button.
546
- * @param {MouseEvent} event
547
- */
548
- onMouseOver: (event: MouseEvent) => void;
549
- /**
550
- * Override this method to be notified when the mouse leaves the button.
551
- * @param {MouseEvent} event
552
- */
553
- onMouseOut: (event: MouseEvent) => void;
554
- }
555
- export namespace Button {
556
- enum Event {
557
- STATE_CHANGED = "Button.StateChanged",
558
- CLICK = "click"
559
- }
560
- }
561
- export class ContextMenu implements IMenu {
562
- readonly controls: IControl[];
563
- set selectedIndex(value: number | number[]);
564
- get selectedIndex(): number | number[];
565
- set opened(value: boolean);
566
- get opened(): boolean;
567
- set textStubKey(value: string);
568
- get textStubKey(): string;
569
- get menuWrapper(): HTMLElement;
570
- setEnabled(index: number, value: boolean): void;
571
- addControl(control: IControl, index?: number): void;
572
- removeControl(index?: number): void;
573
- clearList(): void;
574
- changeControl(item: IControl, index: number): void;
575
- getControlsCount(): number;
576
- }
577
- export class ComboButton extends Control {
578
-
579
- constructor(id: string, selectedIndex?: number);
580
- get subMenu(): ContextMenu;
581
- /**
582
- * Override this method to be notified when the user clicks on the button.
583
- * @param {MouseEvent} event
584
- */
585
- onClick(event: PointerEvent): void;
586
- onOpen(): void;
587
- onClose(): void;
588
- setStateMode(mode: ControlState.StateMode): void;
589
- setState(state: ControlState.State): boolean;
590
- setText(text: string): void;
591
- setFromSvgTemlate(template: string): void;
592
- getSvgTemplate(): string;
593
- }
594
674
  export class Checkbox {
595
675
 
596
676
  constructor(id: string, checked: boolean, disabled: boolean, placeholder: string);
@@ -760,15 +840,19 @@ export class HoverEvent extends Event {
760
840
  export class RenderViewSettings {
761
841
  telemetry?: boolean;
762
842
  hideEdgesWhenNavigation?: boolean;
843
+ lightSources?: boolean;
763
844
  antiAliasing?: boolean;
764
845
  displayMode?: DisplayMode;
765
846
  cameraMode?: CameraMode;
766
847
  orthoNavigationCube?: boolean;
848
+ cameraAnimation?: boolean;
767
849
  hideSmallElements?: boolean;
768
850
  smallObjectSize?: number;
769
851
  frustumCulling?: boolean;
770
852
  limitedMemory?: boolean;
771
853
  memoryLimitValue?: number;
854
+ pointCloudBudget?: boolean;
855
+ pointCloudBudgetValue?: number;
772
856
  /** Desired render framerate */
773
857
  desiredFramerate?: number;
774
858
  /** Allocated time for rendering operations, excluding scene rendering */
@@ -1038,7 +1122,7 @@ export interface ModelElement {
1038
1122
  get name(): string;
1039
1123
  get children(): ModelElement[];
1040
1124
  get hasGeometry(): boolean;
1041
- get viewObject(): ViewObject | undefined;
1125
+ get viewObject(): IViewObject | undefined;
1042
1126
  }
1043
1127
  export interface ModelElementTree {
1044
1128
  /**
@@ -1088,6 +1172,178 @@ export interface ModelElementTree {
1088
1172
  */
1089
1173
  getChildLevelNumber(element: string | ModelElement): number;
1090
1174
  }
1175
+ export abstract class BufferedData {
1176
+ protected static _offsetBegin: number;
1177
+ protected static _offsetEnd: number;
1178
+ protected static allocateBuffer(count: number, itemByteLength: number): ArrayBuffer;
1179
+ static registerBufferedObjects: (buffer: ArrayBuffer) => void;
1180
+ static unregisterBufferedObjects: (buffer: ArrayBuffer) => void;
1181
+ protected _view: DataView;
1182
+ protected _float64: Float64Array;
1183
+ private get bufferReferencesCount();
1184
+ private set bufferReferencesCount(value);
1185
+ setBuffer(buffer: ArrayBuffer, offset: number): void;
1186
+ dispose(): void;
1187
+ }
1188
+ export class MatrixUtils {
1189
+ static setIdentity(te: Float64Array, tBegin: number): void;
1190
+ static copy(te: Float64Array, tBegin: number, se: Float64Array, sBegin: number): void;
1191
+ static copyToMatrix4(target: THREE.Matrix4, se: Float64Array, sBegin: number): void;
1192
+ static copyFromMatrix4(te: Float64Array, tBegin: number, source: THREE.Matrix4): void;
1193
+ static equals(ae: Float64Array, aBegin: number, be: Float64Array, bBegin: number): boolean;
1194
+ static multiplyBBB(te: Float64Array, tBegin: number, ae: Float64Array, aBegin: number, be: Float64Array, bBegin: number): void;
1195
+ static multiplyBMB(te: Float64Array, tBegin: number, a: THREE.Matrix4, be: Float64Array, bBegin: number): void;
1196
+ static premultiply(te: Float64Array, tBegin: number, m: THREE.Matrix4): void;
1197
+ }
1198
+ export class CommonEventDispatcher<TEventMap extends THREE.Object3DEventMap = THREE.Object3DEventMap> {
1199
+ addEventListener(type: string, listener: Function): void;
1200
+ hasEventListener(type: string, listener: Function): boolean;
1201
+ removeEventListener(type: string, listener: Function): void;
1202
+ dispatchTargetedEvent(event: any): void;
1203
+ }
1204
+ class UserEventDispatcher<TEventMap extends THREE.Object3DEventMap = THREE.Object3DEventMap> {
1205
+ addEventListener(type: string, listener: Function): void;
1206
+ hasEventListener(type: string, listener: Function): boolean;
1207
+ removeEventListener(type: string, listener: Function): void;
1208
+ dispatchTargetedEvent(event: any): void;
1209
+ isEmpty(): boolean;
1210
+ }
1211
+ export const enum BufferedObject3DFlag {
1212
+ matrixWorldAutoUpdate = 0,
1213
+ matrixWorldNeedsUpdate = 1,
1214
+ visible = 2,
1215
+ castShadow = 3,
1216
+ receiveShadow = 4,
1217
+ frustumCulled = 5,
1218
+ END = 6
1219
+ }
1220
+ export abstract class BufferedObject3D<TEventMap extends THREE.Object3DEventMap = THREE.Object3DEventMap> extends BufferedData implements IObject3D<TEventMap> {
1221
+ protected static _offsetBegin: number;
1222
+ protected static _offsetFlags: number;
1223
+ protected static _offsetId: number;
1224
+ protected static _offsetMatrix: number;
1225
+ protected static _offsetMatrixWorld: number;
1226
+ protected static _offsetRenderOrder: number;
1227
+ protected static _offsetEnd: number;
1228
+ protected setBit(bit: number, value: boolean): void;
1229
+ protected getBit(bit: number): boolean;
1230
+ protected _commonEventDispatcher: CommonEventDispatcher<TEventMap>;
1231
+ protected _userEventDispatcher: UserEventDispatcher<TEventMap>;
1232
+ isObject3D: true;
1233
+ parent: IObject3D | null;
1234
+ children: IObject3D[];
1235
+ type: string;
1236
+ uuid: string;
1237
+ userData: Record<string, any>;
1238
+ get isBufferedObject3D(): boolean;
1239
+ get matrixWorldAutoUpdate(): boolean;
1240
+ set matrixWorldAutoUpdate(value: boolean);
1241
+ get matrixWorldNeedsUpdate(): boolean;
1242
+ set matrixWorldNeedsUpdate(value: boolean);
1243
+ get visible(): boolean;
1244
+ set visible(value: boolean);
1245
+ get castShadow(): boolean;
1246
+ set castShadow(value: boolean);
1247
+ get receiveShadow(): boolean;
1248
+ set receiveShadow(value: boolean);
1249
+ get frustumCulled(): boolean;
1250
+ set frustumCulled(value: boolean);
1251
+ get id(): number;
1252
+ set id(value: number);
1253
+ get renderOrder(): number;
1254
+ set renderOrder(value: number);
1255
+ error(methodName: string, className?: string, msg?: string): null;
1256
+ warning(methodName: string, className?: string, msg?: string): null;
1257
+ static getMatrixWorld(target: THREE.Matrix4, obj: THREE.Object3D): THREE.Matrix4;
1258
+ static getMatrix(target: THREE.Matrix4, obj: THREE.Object3D): THREE.Matrix4;
1259
+ getMatrix(target: THREE.Matrix4): THREE.Matrix4;
1260
+ setMatrix(source: THREE.Matrix4): void;
1261
+ getMatrixWorld(target: THREE.Matrix4): THREE.Matrix4;
1262
+ setMatrixWorld(source: THREE.Matrix4): void;
1263
+ get matrix(): THREE.Matrix4;
1264
+ set matrix(value: THREE.Matrix4);
1265
+ get matrixWorld(): THREE.Matrix4;
1266
+ set matrixWorld(value: THREE.Matrix4);
1267
+ get matrixAutoUpdate(): boolean;
1268
+ set matrixAutoUpdate(value: boolean);
1269
+ get name(): string;
1270
+ set name(value: string);
1271
+ get layers(): THREE.Layers;
1272
+ set layers(value: THREE.Layers);
1273
+ get animations(): THREE.AnimationClip[];
1274
+ set animations(value: THREE.AnimationClip[]);
1275
+ get customDepthMaterial(): THREE.Material | undefined;
1276
+ set customDepthMaterial(value: THREE.Material | undefined);
1277
+ get customDistanceMaterial(): THREE.Material | undefined;
1278
+ set customDistanceMaterial(value: THREE.Material | undefined);
1279
+ get modelViewMatrix(): THREE.Matrix4;
1280
+ set modelViewMatrix(value: THREE.Matrix4);
1281
+ get normalMatrix(): THREE.Matrix3;
1282
+ set normalMatrix(value: THREE.Matrix3);
1283
+ get up(): THREE.Vector3;
1284
+ set up(value: THREE.Vector3);
1285
+ get position(): THREE.Vector3;
1286
+ set position(value: THREE.Vector3);
1287
+ get rotation(): THREE.Euler;
1288
+ set rotation(value: THREE.Euler);
1289
+ get quaternion(): THREE.Quaternion;
1290
+ set quaternion(value: THREE.Quaternion);
1291
+ get scale(): THREE.Vector3;
1292
+ set scale(value: THREE.Vector3);
1293
+ setCommonEventDispatcher(eventDispatcher: CommonEventDispatcher<TEventMap>): void;
1294
+ addEventListener(type: any, listener: any): void;
1295
+ hasEventListener(type: any, listener: any): boolean;
1296
+ removeEventListener(type: any, listener: any): void;
1297
+ dispatchEvent(event: any): void;
1298
+ onBeforeShadow(): void;
1299
+ onAfterShadow(): void;
1300
+ onBeforeRender(): void;
1301
+ onAfterRender(): void;
1302
+ applyMatrix4(matrix: THREE.Matrix4): void;
1303
+ applyQuaternion(q: THREE.Quaternion): this;
1304
+ setRotationFromAxisAngle(axis: THREE.Vector3, angle: number): void;
1305
+ setRotationFromEuler(euler: THREE.Euler): void;
1306
+ setRotationFromMatrix(m: THREE.Matrix4): void;
1307
+ setRotationFromQuaternion(q: THREE.Quaternion): void;
1308
+ rotateOnAxis(axis: THREE.Vector3, angle: number): this;
1309
+ rotateOnWorldAxis(axis: THREE.Vector3, angle: number): this;
1310
+ rotateX(angle: number): this;
1311
+ rotateY(angle: number): this;
1312
+ rotateZ(angle: number): this;
1313
+ translateOnAxis(axis: THREE.Vector3, distance: number): this;
1314
+ translateX(distance: number): this;
1315
+ translateY(distance: number): this;
1316
+ translateZ(distance: number): this;
1317
+ localToWorld(vector: THREE.Vector3): THREE.Vector3;
1318
+ worldToLocal(vector: THREE.Vector3): THREE.Vector3;
1319
+ lookAt(x: number | THREE.Vector3, y?: number, z?: number): void;
1320
+ add(...object: IObject3D[]): this;
1321
+ remove(...object: IObject3D[]): this;
1322
+ removeFromParent(): this;
1323
+ clear(): this;
1324
+ attach(object: IObject3D): this;
1325
+ getObjectById(id: number): IObject3D | undefined;
1326
+ getObjectByName(name: string): IObject3D | undefined;
1327
+ getObjectByProperty(name: string, value: any): IObject3D | undefined;
1328
+ getObjectsByProperty(name: string, value: any, result?: Array<IObject3D>): Array<IObject3D>;
1329
+ getWorldPosition(target: THREE.Vector3): THREE.Vector3;
1330
+ getWorldQuaternion(target: THREE.Quaternion): THREE.Quaternion;
1331
+ getWorldScale(target: THREE.Vector3): THREE.Vector3;
1332
+ getWorldDirection(target: THREE.Vector3): THREE.Vector3;
1333
+ raycast(raycaster: THREE.Raycaster, intersects: THREE.Intersection[]): void;
1334
+ traverse(callback: (object: IObject3D) => any): void;
1335
+ traverseVisible(callback: (object: IObject3D) => any): void;
1336
+ traverseAncestors(callback: (object: IObject3D) => any): void;
1337
+ updateMatrix(): void;
1338
+ updateMatrixWorld(force?: boolean): void;
1339
+ updateMatrixWorldWithCheck(force?: boolean): boolean;
1340
+ updateWorldMatrix(updateParents: boolean, updateChildren: boolean): void;
1341
+ updateWorldMatrixWithCheck(updateParents: boolean, updateChildren: boolean): boolean;
1342
+ toJSON(meta: any): any;
1343
+ clone(recursive?: boolean): this;
1344
+ copy(source: this, recursive?: boolean): this;
1345
+ }
1346
+ export {};
1091
1347
  export class TPair<TKey, TValue> {
1092
1348
 
1093
1349
  constructor(key: TKey, value: TValue);
@@ -1288,6 +1544,120 @@ export class CloudPointMaterial extends CustomMaterial {
1288
1544
  [uniform: string]: THREE.IUniform;
1289
1545
  }, material: CustomMaterial, renderer: THREE.WebGLRenderer): void;
1290
1546
  }
1547
+ export const enum BufferedViewObjectFlag {
1548
+ isDisposed = 6,
1549
+ isSelected = 7,
1550
+ isHovered = 8,
1551
+ isVisible = 9,
1552
+ isHidden = 10,
1553
+ isDecomposed = 11,
1554
+ isGhosted = 12,
1555
+ END = 13
1556
+ }
1557
+ export abstract class BufferedViewObject extends BufferedObject3D<ViewObjectEventMap> implements IViewObject {
1558
+ protected static _offsetBegin: number;
1559
+ protected static _offsetOriginalColor: number;
1560
+ protected static _offsetColor: number;
1561
+ protected static _offsetEnd: number;
1562
+ /**
1563
+ * model element entity guid
1564
+ * @default zeroGuid
1565
+ */
1566
+ readonly entityGuid: string;
1567
+ /**
1568
+ * model part guid
1569
+ * @default zeroGuid
1570
+ */
1571
+ readonly modelGuid: string;
1572
+ get isViewObject(): boolean;
1573
+ protected get _isDisposed(): boolean;
1574
+ protected set _isDisposed(value: boolean);
1575
+ protected get _isSelected(): boolean;
1576
+ protected set _isSelected(value: boolean);
1577
+ protected get _isHovered(): boolean;
1578
+ protected set _isHovered(value: boolean);
1579
+ protected get _isVisible(): boolean;
1580
+ protected set _isVisible(value: boolean);
1581
+ protected get _isHidden(): boolean;
1582
+ protected set _isHidden(value: boolean);
1583
+ protected get _isDecomposed(): boolean;
1584
+ protected set _isDecomposed(value: boolean);
1585
+ protected get _isGhosted(): boolean;
1586
+ protected set _isGhosted(value: boolean);
1587
+ protected get _originalColor(): Color;
1588
+ protected set _originalColor(value: Color);
1589
+ protected get _color(): Color;
1590
+ protected set _color(value: Color);
1591
+ /**Mesh representation of the object */
1592
+ abstract get mesh(): THREE.Mesh | null;
1593
+ /**Edge representation of the object */
1594
+ abstract get edges(): THREE.LineSegments | null;
1595
+ add(...object: THREE.Object3D[]): this;
1596
+ remove(...object: THREE.Object3D[]): this;
1597
+ updateMatrixWorld(force?: boolean): void;
1598
+ updateWorldMatrix(updateParents: boolean, updateChildren: boolean): void;
1599
+ updateMatrix(): void;
1600
+ applyMatrix4(matrix: THREE.Matrix4): void;
1601
+ /** Decompose object matrix to position, rotation and scale vectors or free these vectors to reduce memory consumption. */
1602
+ setDecomposed(value: boolean): void;
1603
+ /**Check if object is decomposed: have valid position, quaternion, scale, up vectors */
1604
+ isDecomposed(): boolean;
1605
+ /**Set visibility of this object */
1606
+ setVisible(value: boolean): void;
1607
+ /**Get visibility of this object */
1608
+ isVisible(): boolean;
1609
+ /**Hide this object from the scene */
1610
+ setHidden(iVal: boolean): void;
1611
+ /**Check if object is hidden from the scene */
1612
+ isHidden(): boolean;
1613
+ /**Select this object */
1614
+ setSelected(value: boolean): void;
1615
+ /**Check if object is selected */
1616
+ isSelected(): boolean;
1617
+ /**Hover this object */
1618
+ setHovered(value: boolean): void;
1619
+ /**Check if object is hovered */
1620
+ isHovered(): boolean;
1621
+ /**Set color for this object */
1622
+ setColor(color: Color): void;
1623
+ /**Get color of this object */
1624
+ getColor(): Color;
1625
+ /**Check if object is in ghost mode */
1626
+ isGhosted(): boolean;
1627
+ /**Set ghost mode for this object */
1628
+ setGhosted(value: boolean): void;
1629
+ /**Reset color to original color for this object */
1630
+ resetColor(): void;
1631
+ /**Gets original color for this object */
1632
+ getOriginalColor(): Color;
1633
+ /**Dispose geometry */
1634
+ dispose(): void;
1635
+ /**User defined bounding box calculation for this object. Returns an empty THREE.Box3 by default.*/
1636
+ getBoundingBox(): THREE.Box3;
1637
+ /**User defined raycast implementation for this object. Empty method by default. */
1638
+ raycast(iRaycaster: THREE.Raycaster, oIntersects: THREE.Intersection[]): void;
1639
+ /**User defined hover behavior for this object. Empty method by default. */
1640
+ protected setHoveredForObject(value: boolean): void;
1641
+ /**User defined selection behavior for this object. Empty method by default. */
1642
+ protected setSelectedForObject(value: boolean): void;
1643
+ /**User defined hide behavior for this object. Has default implementation used on the MainScene only. */
1644
+ protected setHiddenForObject(iVal: boolean): void;
1645
+ /**User defined visibility behavior for this object. Sets THREE.Object3D visibility by default. */
1646
+ protected setVisibleForObject(value: boolean): void;
1647
+ /**User defined change color behavior for this object. Empty method by default. */
1648
+ protected setColorForObject(color: Color): void;
1649
+ /**User defined ghost mode behavior for this object. Empty method by default. */
1650
+ protected setGhostModeForObject(value: boolean): void;
1651
+ /**Reset color to the original color for this object. */
1652
+ protected resetColorForObject(): void;
1653
+ /**
1654
+ * Notifies subscribers about changes in {@link object}.
1655
+ * @param updateType type of changes to be reported.
1656
+ * @param object (optional) object to be reported about. This object by default.
1657
+ */
1658
+ protected riseOnUpdated(updateType?: UpdateType, object?: THREE.Object3D): void;
1659
+ getRelativePosition(absPosition: THREE.Vector3): THREE.Vector3;
1660
+ }
1291
1661
  export interface IBatchedMaterial extends CustomMaterial {
1292
1662
  textureSize: number;
1293
1663
  blockPosTexture: THREE.DataTexture;
@@ -2031,9 +2401,10 @@ export class LabelSprite extends CustomSprite {
2031
2401
  export interface ModelPart {
2032
2402
  get id(): string;
2033
2403
  get elementTree(): ModelElementTree;
2404
+ getModelPartPlacement(): THREE.Matrix4;
2034
2405
  setModelPartPlacement(placement: THREE.Matrix4Tuple | number[]): void;
2035
2406
  setModelPartScaling(scaling: number): void;
2036
- getViewObject(): ViewObject;
2407
+ getViewObject(): IViewObject;
2037
2408
  getVirtualOrigin(): THREE.Vector3;
2038
2409
  dispose(): void;
2039
2410
  }
@@ -3311,6 +3682,8 @@ export class SettingsNames {
3311
3682
  static SHOW_SPACE_ELEMENTS: string;
3312
3683
  static SHOW_VOID_ELEMENTS: string;
3313
3684
  static SHOW_HIDDEN_ELEMENTS: string;
3685
+ static POINT_CLOUD_BUDGET: string;
3686
+ static POINT_CLOUD_BUDGET_VALUE: string;
3314
3687
  }
3315
3688
  export enum ValueType {
3316
3689
  STRING = 0,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pilotdev/pilot-web-3d",
3
- "version": "25.13.0",
3
+ "version": "26.2.0",
4
4
  "description": "TypeScript definitions for ASCON PilotWeb3D component",
5
5
  "main": "",
6
6
  "types": "index.d.ts",