@realsee/five 6.0.0-alpha.4 → 6.0.0-alpha.41

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 (170) hide show
  1. package/docs/assets/search.js +1 -1
  2. package/docs/classes/five.AnimationFrameLoop.html +1 -1
  3. package/docs/classes/five.BVH.html +2 -2
  4. package/docs/classes/five.BVHIntersect.html +1 -1
  5. package/docs/classes/five.BVHNode.html +2 -2
  6. package/docs/classes/five.BVHVector3.html +1 -1
  7. package/docs/classes/five.BoxBoundingVolume.html +1 -1
  8. package/docs/classes/five.Camera.html +6 -6
  9. package/docs/classes/five.CullingVolume.html +1 -1
  10. package/docs/classes/five.Five.html +70 -66
  11. package/docs/classes/five.InternalWebGLRenderer.html +1 -1
  12. package/docs/classes/five.IntersectMesh.html +1 -1
  13. package/docs/classes/five.Model.html +30 -22
  14. package/docs/classes/five.NetworkSubscribe.html +1 -1
  15. package/docs/classes/five.PBMContainer.html +5 -7
  16. package/docs/classes/five.PBMGroup.html +2 -2
  17. package/docs/classes/five.PBMMesh.html +2 -4
  18. package/docs/classes/five.PBMMeshMaterial.html +30 -26
  19. package/docs/classes/five.PanoCircleMesh.html +1 -1
  20. package/docs/classes/five.PanoCircleMeshCustom.html +1 -1
  21. package/docs/classes/five.PanoCircleMeshSolid.html +1 -1
  22. package/docs/classes/five.RegionBoundingVolume.html +1 -1
  23. package/docs/classes/five.RequestScheduler.html +1 -1
  24. package/docs/classes/five.Scene.html +1 -1
  25. package/docs/classes/five.SphereBoundingVolume.html +1 -1
  26. package/docs/classes/five.Subscribe.html +1 -1
  27. package/docs/classes/five.TextureLoader.html +1 -1
  28. package/docs/classes/five.Tile.html +1 -1
  29. package/docs/classes/five.Tile3DModel.html +1 -1
  30. package/docs/classes/five.TileCubeTextureTarget.html +1 -1
  31. package/docs/classes/five.TileNode.html +1 -1
  32. package/docs/classes/five.Tileset.html +3 -3
  33. package/docs/classes/five.TilesetCache.html +1 -1
  34. package/docs/classes/five.TilesetTraverser.html +1 -1
  35. package/docs/classes/five.Work.html +14 -12
  36. package/docs/classes/five.XRButton.html +1 -1
  37. package/docs/classes/gltf_loader.DDSLoader.html +1 -1
  38. package/docs/classes/gltf_loader.DRACOLoader.html +1 -1
  39. package/docs/classes/gltf_loader.GLTFLoader.html +1 -1
  40. package/docs/classes/gltf_loader.GLTFObject.html +1 -1
  41. package/docs/classes/gltf_loader.GLTFParser.html +1 -1
  42. package/docs/classes/gltf_loader.THREEGLTFLoader.html +1 -1
  43. package/docs/classes/line.Line.html +1 -1
  44. package/docs/classes/line.LineGeometry.html +1 -1
  45. package/docs/classes/line.LineMaterial.html +1 -1
  46. package/docs/classes/line.LineSegmentsGeometry.html +1 -1
  47. package/docs/classes/line.THREE_Line2.html +1 -1
  48. package/docs/classes/line.THREE_LineSegments2.html +1 -1
  49. package/docs/classes/react.Store.html +1 -1
  50. package/docs/classes/sticker.Sticker.html +1 -1
  51. package/docs/classes/vfx.Airflow.html +1 -1
  52. package/docs/classes/vfx.Flame.html +1 -1
  53. package/docs/classes/vfx.Particle.html +1 -1
  54. package/docs/classes/vfx.SpotLight.html +1 -1
  55. package/docs/enums/five.VolumePlaneIntersect.html +1 -1
  56. package/docs/index.html +1 -1
  57. package/docs/interfaces/five.AddableObject.html +1 -1
  58. package/docs/interfaces/five.AnimationFrame.html +1 -1
  59. package/docs/interfaces/five.BaseEvent.html +1 -1
  60. package/docs/interfaces/five.BoundingVolume.html +1 -1
  61. package/docs/interfaces/five.CameraPose.html +1 -1
  62. package/docs/interfaces/five.ClipperParameter.html +1 -1
  63. package/docs/interfaces/five.DepthPanoramaControllerCustomInitArgs.html +1 -1
  64. package/docs/interfaces/five.EventCallback.html +97 -85
  65. package/docs/interfaces/five.FiveInitArgs.html +1 -1
  66. package/docs/interfaces/five.FloorplanControllerCustomInitArgs.html +10 -8
  67. package/docs/interfaces/five.GestureEvent.html +1 -1
  68. package/docs/interfaces/five.ImageOptions.html +1 -1
  69. package/docs/interfaces/five.ImageURLMappings.html +1 -1
  70. package/docs/interfaces/five.ImageURLOptions.html +1 -1
  71. package/docs/interfaces/five.IntersectEvent.html +1 -1
  72. package/docs/interfaces/five.IntersectMeshInterface.html +1 -1
  73. package/docs/interfaces/five.Intersection.html +3 -3
  74. package/docs/interfaces/five.MapviewControllerCustomInitArgs.html +8 -6
  75. package/docs/interfaces/five.ModeChangeEvent.html +1 -1
  76. package/docs/interfaces/five.ModelControllerCustomInitArgs.html +1 -1
  77. package/docs/interfaces/five.ModelEvent.html +1 -1
  78. package/docs/interfaces/five.ModelLodOptions.html +1 -1
  79. package/docs/interfaces/five.ModelsEvent.html +1 -1
  80. package/docs/interfaces/five.MotionKeyframe.html +1 -1
  81. package/docs/interfaces/five.MovePanoOptions.html +1 -1
  82. package/docs/interfaces/five.NetworkOptions.html +1 -1
  83. package/docs/interfaces/five.NetworkResourceEvent.html +1 -1
  84. package/docs/interfaces/five.ObjectEvent.html +1 -1
  85. package/docs/interfaces/five.PBMPanoPicture.html +3 -3
  86. package/docs/interfaces/five.PBMParameters.html +27 -23
  87. package/docs/interfaces/five.PanoCircleMeshCustomOptions.html +1 -1
  88. package/docs/interfaces/five.PanoCircleMeshInterface.html +1 -1
  89. package/docs/interfaces/five.PanoCircleMeshOptions.html +1 -1
  90. package/docs/interfaces/five.PanoCircleMeshSolidOptions.html +1 -1
  91. package/docs/interfaces/five.PanoEvent.html +1 -1
  92. package/docs/interfaces/five.PanoTextureEvent.html +1 -1
  93. package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +1 -1
  94. package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +1 -1
  95. package/docs/interfaces/five.Pose.html +1 -1
  96. package/docs/interfaces/five.RenderEvent.html +1 -1
  97. package/docs/interfaces/five.Scissor.html +1 -1
  98. package/docs/interfaces/five.State.html +1 -1
  99. package/docs/interfaces/five.StateEvent.html +1 -1
  100. package/docs/interfaces/five.SubscribeMixinType.emit.html +1 -1
  101. package/docs/interfaces/five.SubscribeMixinType.hasListener.html +1 -1
  102. package/docs/interfaces/five.SubscribeMixinType.off.html +1 -1
  103. package/docs/interfaces/five.SubscribeMixinType.on.html +1 -1
  104. package/docs/interfaces/five.SubscribeMixinType.once.html +1 -1
  105. package/docs/interfaces/five.SubscribeMixinType.waitUnitl.html +1 -1
  106. package/docs/interfaces/five.TextureOptions.html +1 -1
  107. package/docs/interfaces/five.Tile3DModelLoaderOptions.html +2 -2
  108. package/docs/interfaces/five.TileCubeNode.html +1 -1
  109. package/docs/interfaces/five.TileCubeTree.html +1 -1
  110. package/docs/interfaces/five.TileHeader.html +1 -1
  111. package/docs/interfaces/five.TilesetHeader.html +1 -1
  112. package/docs/interfaces/five.TilesetOptions.html +1 -1
  113. package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +4 -4
  114. package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +1 -1
  115. package/docs/interfaces/five.WebXRAxesParams.html +1 -0
  116. package/docs/interfaces/five.WebXRControllerParams.html +1 -1
  117. package/docs/interfaces/five.WorkCubeImage.html +6 -6
  118. package/docs/interfaces/five.WorkImage.html +10 -10
  119. package/docs/interfaces/five.WorkInitial.html +9 -9
  120. package/docs/interfaces/five.WorkModel.html +6 -6
  121. package/docs/interfaces/five.WorkObserver.html +22 -20
  122. package/docs/interfaces/five.WorkOptions.html +10 -8
  123. package/docs/interfaces/five.WorkResolvedObserver.html +21 -19
  124. package/docs/interfaces/five.WorkTile.html +1 -1
  125. package/docs/interfaces/five.WorkVideo.html +4 -4
  126. package/docs/interfaces/five.WorksEvent.html +1 -1
  127. package/docs/interfaces/five.XRControllerEvent.html +1 -0
  128. package/docs/interfaces/five.XRGestureEvent.html +1 -1
  129. package/docs/interfaces/five.XRPanoramaControllerCustomInitArgs.html +1 -1
  130. package/docs/interfaces/five.XRSessionEvent.html +1 -1
  131. package/docs/interfaces/gltf_loader.DDS.html +1 -1
  132. package/docs/interfaces/gltf_loader.GLTF.html +1 -1
  133. package/docs/interfaces/gltf_loader.GLTFReference.html +1 -1
  134. package/docs/interfaces/gltf_loader.THREEGLTF.html +1 -1
  135. package/docs/interfaces/react.FiveActionReactCallbacks.html +1 -1
  136. package/docs/interfaces/react.FiveInjectionTypes.html +8 -8
  137. package/docs/interfaces/react.PropTypeOfFiveFeatures.html +1 -1
  138. package/docs/interfaces/sticker.IntersectionLike.html +1 -1
  139. package/docs/interfaces/vfx.ParticleArgs.html +1 -1
  140. package/docs/interfaces/vfx.ParticleTweenKeyframe.html +1 -1
  141. package/docs/interfaces/vue.FiveActionVueCallbacks.html +1 -1
  142. package/docs/modules/five.SubscribeMixinType.html +1 -1
  143. package/docs/modules/five.html +86 -70
  144. package/docs/modules/gltf_loader.html +1 -1
  145. package/docs/modules/line.html +1 -1
  146. package/docs/modules/react.html +1 -1
  147. package/docs/modules/sticker.html +1 -1
  148. package/docs/modules/vfx.html +1 -1
  149. package/docs/modules/vue.html +1 -1
  150. package/docs/modules.html +1 -1
  151. package/five/index.d.ts +306 -136
  152. package/five/index.js +8 -8
  153. package/gltf-loader/index.js +3 -3
  154. package/line/index.js +3 -3
  155. package/package.json +1 -1
  156. package/react/index.js +3 -3
  157. package/sticker/index.js +3 -3
  158. package/umd/five-gltf-loader.js +1 -1
  159. package/umd/five-line.js +1 -1
  160. package/umd/five-react.js +1 -1
  161. package/umd/five-sticker.js +1 -1
  162. package/umd/five-vue.js +1 -1
  163. package/umd/five.js +1 -1
  164. package/vfx/index.js +2 -2
  165. package/vue/index.js +3 -3
  166. package/docs/classes/five.Clipper.html +0 -1
  167. package/docs/classes/five.PBMMaterialReferenceCache.html +0 -1
  168. package/docs/enums/five.PBMPointColorType.html +0 -1
  169. package/docs/enums/five.PBMPointShapeType.html +0 -1
  170. package/docs/enums/five.PBMPointSizeType.html +0 -1
package/five/index.d.ts CHANGED
@@ -13,6 +13,15 @@ export declare interface AddableObject extends THREE_2.Object3D {
13
13
  setTime?(time: number): void;
14
14
  }
15
15
 
16
+ declare interface AjaxOptions<T extends AjaxResponseType = AjaxResponseType> extends NetworkOptions {
17
+ /** 数据返回类型 */
18
+ responseType?: T;
19
+ }
20
+
21
+ declare type AjaxResponseType = "arraybuffer" | "blob" | "text";
22
+
23
+ declare type AjaxResponseTypeMapping<K extends AjaxResponseType> = K extends "arraybuffer" ? ArrayBuffer : K extends "blob" ? Blob : K extends "text" ? string : never;
24
+
16
25
  export declare interface AnimationFrame {
17
26
  callback: (time: number, deltaTime: number, ...args: any[]) => void;
18
27
  once: boolean;
@@ -118,7 +127,8 @@ export declare class BVH {
118
127
  export declare class BVHIntersect {
119
128
  triangle: [BVHVector3, BVHVector3, BVHVector3];
120
129
  intersectionPoint: BVHVector3;
121
- constructor(triangle: [BVHVector3, BVHVector3, BVHVector3], intersectionPoint: BVHVector3);
130
+ triangleIndex: number;
131
+ constructor(triangle: [BVHVector3, BVHVector3, BVHVector3], intersectionPoint: BVHVector3, triangleIndex: number);
122
132
  }
123
133
 
124
134
  /**
@@ -162,13 +172,15 @@ export declare class Camera extends THREE_2.Camera {
162
172
  far: number;
163
173
  perspToOrtho: THREE_2.Vector2;
164
174
  orthoDistance: number;
175
+ screenHeight: number;
176
+ pixelRatio: number;
165
177
  /** 相机姿态 */
166
178
  pose: CameraPose;
167
179
  private perspectiveCamera;
168
180
  private orthographicCamera;
169
181
  needsRender: boolean;
170
182
  private lastValues;
171
- constructor(fov: number, aspect?: number, near?: number, far?: number, perspToOrtho?: THREE_2.Vector2, orthoDistance?: number);
183
+ constructor(fov: number, aspect?: number, near?: number, far?: number, perspToOrtho?: THREE_2.Vector2, orthoDistance?: number, screenHeight?: number, pixelRatio?: number);
172
184
  get zoom(): number;
173
185
  get top(): number;
174
186
  get bottom(): number;
@@ -203,17 +215,6 @@ export declare interface CameraPose {
203
215
  offset: THREE_2.Vector3;
204
216
  }
205
217
 
206
- export declare class Clipper {
207
- numPlanes: number;
208
- clipperPlanes: Float32Array | null;
209
- clipperFloors: number[] | null;
210
- private static sharedInstance?;
211
- static get shared(): Clipper;
212
- constructor();
213
- update(clipperParameters: ClipperParameter[], camera: THREE_2.Camera): void;
214
- private projectPlanes;
215
- }
216
-
217
218
  export declare interface ClipperParameter {
218
219
  clippingBoxMatrix: THREE_2.Matrix4;
219
220
  floorIndex?: number;
@@ -284,6 +285,14 @@ export declare type ControllerEventTypes = {
284
285
  "xr.session.start"(event: XRSessionEvent_2): void;
285
286
  /** XR 手势(按钮) */
286
287
  "xr.gesture.tap"(event: XRGestureEvent): void;
288
+ /** XR 手势(按钮) */
289
+ "xr.gesture.press"(event: XRGestureEvent): void;
290
+ /** XR 手势(按钮) */
291
+ "xr.gesture.buttonUp"(event: XRGestureEvent): void;
292
+ /** XR 手势(按钮) */
293
+ "xr.gesture.buttonDown"(event: XRGestureEvent): void;
294
+ /** XR手柄更新*/
295
+ "xr.controller.update"(event: XRControllerEvent): void;
287
296
  /** 抛出错误 */
288
297
  "error"(error: Error): void;
289
298
  };
@@ -307,6 +316,8 @@ export declare class CullingVolume {
307
316
  */
308
317
  export declare function defaultImageURLTransform(source: string, options: ImageURLOptions): string;
309
318
 
319
+ export declare const defaultPbmParameters: PBMParameters;
320
+
310
321
  export declare interface DepthPanoramaControllerCustomInitArgs extends PanoramaLikeControllerCustomInitArgs {
311
322
  /** 最远可移动观察点距离 */
312
323
  maxAccessibleDistance?: number;
@@ -381,6 +392,14 @@ export declare type EventTypes = Pick<ControllerEventTypes, typeof PROXY_CONTROL
381
392
  "dispose"(): void;
382
393
  };
383
394
 
395
+ declare class Fetcher {
396
+ private options;
397
+ constructor(options?: NetworkOptions);
398
+ ajax<T extends AjaxResponseType = "text">(source: string, options?: AjaxOptions<T>, onLoad?: NetworkSuccessCallback<AjaxResponseTypeMapping<T>>, onError?: NetworkErrorCallback, onProgress?: NetworkProgressCallback): Promise<NetworkResponse<AjaxResponseTypeMapping<T>>>;
399
+ loadImage<T extends HTMLImageElement = HTMLImageElement>(source: string, options?: NetworkOptions, onLoad?: NetworkSuccessCallback, onError?: NetworkErrorCallback, onProgress?: NetworkProgressCallback, target?: T): Promise<NetworkResponse<T>>;
400
+ preload(source: string, options?: NetworkOptions): Promise<void>;
401
+ }
402
+
384
403
  /**
385
404
  * 如视 VR Web展示器
386
405
  *
@@ -398,6 +417,8 @@ export declare class Five extends Subscribe<EventTypes> {
398
417
  static get version(): string;
399
418
  static get dracoPath(): string;
400
419
  static set dracoPath(path: string);
420
+ static get ktx2Path(): string;
421
+ static set ktx2Path(path: string);
401
422
  /**
402
423
  * Five 的显示模式,可以通过 `five.changeMode` `five.setState` 来切换
403
424
  * @description
@@ -429,6 +450,8 @@ export declare class Five extends Subscribe<EventTypes> {
429
450
  currentMode: Mode;
430
451
  /** 内部使用的 `THREE.Scene` */
431
452
  scene: Scene;
453
+ /** 供外部放置需要在xr场景下产生遮挡的物体们*/
454
+ xrCustomObjectsScene: THREE_2.Scene;
432
455
  /** 内部使用的 `Camera` */
433
456
  camera: Camera;
434
457
  /**
@@ -604,11 +627,17 @@ export declare class Five extends Subscribe<EventTypes> {
604
627
  */
605
628
  get enableIOSEDR(): boolean;
606
629
  set enableIOSEDR(enable: boolean);
630
+ /**
631
+ * 后处理类型
632
+ */
633
+ get postProcessingType(): PostProcessingType;
607
634
  /**
608
635
  * 是否开启EDL模式
609
636
  */
610
637
  get enableEDL(): boolean;
611
638
  set enableEDL(enable: boolean);
639
+ get enableHQ(): boolean;
640
+ set enableHQ(enable: boolean);
612
641
  /**
613
642
  * 是否开启后处理
614
643
  */
@@ -664,7 +693,7 @@ export declare class Five extends Subscribe<EventTypes> {
664
693
  * @param userAction - 是否用户触发
665
694
  * @returns Promise 是否移动成功
666
695
  */
667
- updateCamera(pose: Partial<Omit<Pose, "offset">>, duration: number, userAction?: boolean): Promise<void>;
696
+ updateCamera(pose: Partial<Pose>, duration: number, userAction?: boolean): Promise<void>;
668
697
  /**
669
698
  * 通过帧动画移动相机。(不触发点位移动)
670
699
  * @description
@@ -675,7 +704,11 @@ export declare class Five extends Subscribe<EventTypes> {
675
704
  * @param userAction - 是否用户触发
676
705
  * @returns Promise 是否移动成功
677
706
  */
678
- updateCameraWithKeyframes(keyframes: MotionKeyframe<Exclude<keyof Pose, "offset">>[], duration: number, userAction?: boolean): Promise<void>;
707
+ updateCameraWithKeyframes(keyframes: {
708
+ progress: number;
709
+ value: Pose;
710
+ key?: string;
711
+ }[], duration: number, userAction?: boolean): Promise<void>;
679
712
  /**
680
713
  * 获取当前相机经纬度
681
714
  * @deprecated 请使用使用 getPose
@@ -1020,6 +1053,8 @@ parameters: Parameters<T>[1]
1020
1053
  export declare type FivePluginInstance<T extends FivePlugin<any, any>> = ReturnType<T>;
1021
1054
 
1022
1055
  export declare interface FloorplanControllerCustomInitArgs {
1056
+ /** 默认水平角 */
1057
+ defaultLongitude?: number;
1023
1058
  /** 默认俯仰角 */
1024
1059
  defaultLatitude?: number;
1025
1060
  /** 最大俯仰角 */
@@ -1092,8 +1127,9 @@ export declare interface ImageOptions {
1092
1127
  }
1093
1128
 
1094
1129
  export declare function imageSupport(): Promise<{
1095
- avif: boolean;
1096
1130
  webp: boolean;
1131
+ avif: boolean;
1132
+ heif: boolean;
1097
1133
  }>;
1098
1134
 
1099
1135
  export declare interface ImageURLMappings {
@@ -1150,6 +1186,7 @@ export declare interface Intersection {
1150
1186
  } | null;
1151
1187
  /** 焦点距离 */
1152
1188
  distance: number;
1189
+ floor: number;
1153
1190
  }
1154
1191
 
1155
1192
  export declare class IntersectMesh extends THREE_2.Object3D implements IntersectMeshInterface {
@@ -1464,6 +1501,17 @@ export declare type LegacyEventType = {
1464
1501
  * axes代表控制杆,axes数组的0-1元素分别代表左控制器的左(-1)右(1),左控制器的上(-1)下(1),axes数组的2-3元素同理
1465
1502
  */
1466
1503
  webXRControllerEvent(type: WebXRControllerType, key: WebXRControllerKey, params: WebXRControllerParams): void;
1504
+ /**
1505
+ * xr控制器的Axes原始实时数据状态
1506
+ */
1507
+ webXRAxesUpdate(type: 'left' | 'right', param: WebXRAxesParams): void;
1508
+ /**
1509
+ * xr控制器的控制器射线更新
1510
+ */
1511
+ webXRControllerRayUpdate(raycaster: {
1512
+ leftRay: THREE_2.Raycaster;
1513
+ rightRay: THREE_2.Raycaster;
1514
+ }): void;
1467
1515
  /**
1468
1516
  * 准备加载 Work 数据
1469
1517
  * @param input - 输入的 work
@@ -1562,6 +1610,41 @@ export declare type LegacyEventType = {
1562
1610
  network(source: string, type: NetworkType, state: NetworkState, detail: string): void;
1563
1611
  };
1564
1612
 
1613
+ export declare function loadAt3d(url: string, options: {
1614
+ textureOptions?: TextureOptions;
1615
+ textureBaseUri?: string;
1616
+ textureArray?: string[];
1617
+ fetcher: Fetcher;
1618
+ }): Promise<ParsedResultType>;
1619
+
1620
+ export declare function loadB3dm(url: string, options: {
1621
+ upAxis: 'X' | 'Y' | 'Z';
1622
+ fetcher: Fetcher;
1623
+ }): Promise<ParsedResultType>;
1624
+
1625
+ export declare function loadDome(url: string, options: {
1626
+ textureOptions: TextureOptions;
1627
+ textureBaseUri?: string;
1628
+ fetcher: Fetcher;
1629
+ }): Promise<ParsedResultType>;
1630
+
1631
+ export declare function loadDomez(url: string, options: {
1632
+ textureOptions: TextureOptions;
1633
+ textureBaseUri?: string;
1634
+ fetcher: Fetcher;
1635
+ }): Promise<ParsedResultType>;
1636
+
1637
+ export declare function loadPbm(url: string, options: {
1638
+ textureOptions?: TextureOptions;
1639
+ textureBaseUri?: string;
1640
+ textureArray?: string[];
1641
+ fetcher: Fetcher;
1642
+ }): Promise<ParsedResultType>;
1643
+
1644
+ export declare function loadPnts(url: string, options: {
1645
+ fetcher: Fetcher;
1646
+ }): Promise<ParsedResultType>;
1647
+
1565
1648
  export declare type LooseWork = {
1566
1649
  work_code?: string;
1567
1650
  code?: string;
@@ -1659,6 +1742,8 @@ export declare type LooseWorkWithExtrinsics = {
1659
1742
  transform?: number[];
1660
1743
  /** 可视区域 */
1661
1744
  viewerRequestVolume?: BoundingVolumeJson;
1745
+ /** 模型显示最小细化层级 */
1746
+ modelMinLevelOfDetail?: number;
1662
1747
  /** 模型显示最大细化层级 */
1663
1748
  modelMaxLevelOfDetail?: number;
1664
1749
  /** 模型最大内存缓存 */
@@ -1670,6 +1755,8 @@ export declare type LooseWorkWithExtrinsics = {
1670
1755
  };
1671
1756
 
1672
1757
  export declare interface MapviewControllerCustomInitArgs {
1758
+ /** 默认水平角 */
1759
+ defaultLongitude?: number;
1673
1760
  /** 默认俯仰角 */
1674
1761
  defaultLatitude?: number;
1675
1762
  /** 默认相机距离 */
@@ -1747,17 +1834,15 @@ export declare class Model extends THREE_2.Object3D {
1747
1834
  textureOptions: TextureOptions;
1748
1835
  /** 模型是否已经细化 */
1749
1836
  refined: boolean;
1837
+ /** 模型细化进度 */
1838
+ refineProgress: [number, number];
1750
1839
  /** 模型已经加载 */
1751
1840
  loaded: boolean;
1752
- /** 当前样式参数 */
1753
- materialVersion: string;
1754
- private _materialValues;
1755
- private _materialVersionMap;
1756
- private _floorIndex;
1757
- private _clippers;
1758
- /** 样式缓存 */
1759
- private cache;
1841
+ /** 是否更新 */
1760
1842
  needsRender: boolean;
1843
+ /** 当前样式参数 */
1844
+ materialVersion: number;
1845
+ private materialParameters;
1761
1846
  private disposed;
1762
1847
  constructor(options?: {
1763
1848
  onError?: (error: Error) => void;
@@ -1766,16 +1851,19 @@ export declare class Model extends THREE_2.Object3D {
1766
1851
  });
1767
1852
  get empty(): boolean;
1768
1853
  /** 获取材质参数 */
1769
- getMaterial(): ModelMaterialValues;
1854
+ getMaterial(): PBMParameters;
1770
1855
  /** 设置材质参数 */
1771
- setMaterial(values: Partial<ModelMaterialValues>): void;
1856
+ setMaterial(values: Partial<PBMParameters>): void;
1857
+ /**
1858
+ * 当前显示的楼层
1859
+ */
1860
+ get shownFloorIndex(): PBMParameters['shownFloorIndex'];
1861
+ set shownFloorIndex(floorIndex: PBMParameters['shownFloorIndex']);
1772
1862
  /**
1773
1863
  * 当前显示的楼层
1774
1864
  */
1775
- get shownFloor(): PBMParameters['floorIndex'] | null;
1776
- set shownFloor(floorIndex: PBMParameters['floorIndex'] | null);
1777
- get shownfloor(): PBMParameters['floorIndex'] | null;
1778
- set shownfloor(floorIndex: PBMParameters['floorIndex'] | null);
1865
+ get shownFloor(): number | null;
1866
+ set shownFloor(floor: number | null);
1779
1867
  /**
1780
1868
  * 显示某楼层
1781
1869
  * @example
@@ -1784,7 +1872,7 @@ export declare class Model extends THREE_2.Object3D {
1784
1872
  * model.show(1) //显示第一楼层
1785
1873
  * ```
1786
1874
  */
1787
- show(floorIndex?: PBMParameters['floorIndex'] | null): void;
1875
+ show(floor?: number | null): void;
1788
1876
  /**
1789
1877
  * 裁切
1790
1878
  */
@@ -1803,15 +1891,13 @@ export declare class Model extends THREE_2.Object3D {
1803
1891
  * @param floors - 和某一楼层做碰撞检测, 不传为和所有楼层做碰撞检测
1804
1892
  * @returns 返回碰撞
1805
1893
  */
1806
- intersectRaycaster(raycaster: THREE_2.Raycaster): Intersection[];
1894
+ intersectRaycaster(raycaster: THREE_2.Raycaster, floor?: number | null): Intersection[];
1807
1895
  /**
1808
1896
  * 加载模型
1809
1897
  * @param work - work 的
1810
1898
  * @param imageOptions - 图片参数
1811
1899
  */
1812
1900
  load(work: Work, options?: {
1813
- networkSubscribe?: NetworkSubscribe;
1814
- requestProxy?: (url: string) => string | Promise<string>;
1815
1901
  textureOptions?: TextureOptions;
1816
1902
  }): Promise<void>;
1817
1903
  update(renderer: THREE_2.WebGLRenderer, camera: Camera, mode: Mode): void;
@@ -1836,14 +1922,15 @@ export declare interface ModelLodOptions {
1836
1922
  maxDepth?: number;
1837
1923
  }
1838
1924
 
1839
- export declare type ModelMaterialValues = Pick<PBMParameters, 'pano0' | 'pano1' | 'modelAlpha' | 'progress' | 'useBlackTransition' | 'opacity' | 'constantColor' | 'useEDL' | 'pointShape' | 'pointColorType' | 'pointSizeType' | 'pointSize' | 'pointMinSize' | 'pointMaxSize' | 'pointSizeAdaptiveScale' | 'gradientTexture'>;
1925
+ export declare type ModelMaterialValues = Omit<PBMParameters, 'clippers' | 'shownFloorIndex'>;
1840
1926
 
1841
1927
  export declare type Models = Model[] & {
1842
1928
  needsRender: boolean;
1843
1929
  bounding: THREE_2.Box3;
1844
1930
  loaded: boolean;
1845
1931
  refined: boolean;
1846
- materialVersion: string;
1932
+ refineProgress: [number, number];
1933
+ materialVersion: number;
1847
1934
  intersectRaycaster(raycaster: THREE_2.Raycaster): Intersection[];
1848
1935
  setMaterial(values: Partial<ModelMaterialValues>): void;
1849
1936
  getMaterial(): ModelMaterialValues;
@@ -1902,6 +1989,18 @@ export declare interface MovePanoOptions extends Partial<Omit<State, "offset" |
1902
1989
  moveCancelCallback?: () => void;
1903
1990
  }
1904
1991
 
1992
+ declare class NetworkAbortError extends Error {
1993
+ constructor(source: string, type: NetworkType);
1994
+ }
1995
+
1996
+ declare type NetworkError = NetworkResponseError | NetworkAbortError | NetworkTimeoutError | NetworkFirbiddenError;
1997
+
1998
+ declare type NetworkErrorCallback = (error: NetworkError) => void;
1999
+
2000
+ declare class NetworkFirbiddenError extends Error {
2001
+ constructor(source: string, type: NetworkType, reason: string);
2002
+ }
2003
+
1905
2004
  export declare type NetWorkMeta = {
1906
2005
  origin: string;
1907
2006
  source: string;
@@ -1925,6 +2024,8 @@ export declare interface NetworkOptions {
1925
2024
  allowHosts?: string[];
1926
2025
  }
1927
2026
 
2027
+ declare type NetworkProgressCallback = (percent: number) => void;
2028
+
1928
2029
  export declare interface NetworkResourceEvent extends BaseEvent {
1929
2030
  source: string;
1930
2031
  requestType: NetworkType;
@@ -1937,6 +2038,11 @@ export declare type NetworkResponse<T = any, E extends NetWorkMeta | NetWorkMeta
1937
2038
  meta: E;
1938
2039
  };
1939
2040
 
2041
+ declare class NetworkResponseError extends Error {
2042
+ httpStatus: number;
2043
+ constructor(source: string, type: NetworkType, status: number);
2044
+ }
2045
+
1940
2046
  export declare type NetworkState = "ok" | "preload" | "error" | "proxy-error" | "timeout" | "forbidden";
1941
2047
 
1942
2048
  export declare class NetworkSubscribe extends Subscribe<{
@@ -1944,6 +2050,12 @@ export declare class NetworkSubscribe extends Subscribe<{
1944
2050
  }> {
1945
2051
  }
1946
2052
 
2053
+ declare type NetworkSuccessCallback<T = any> = (response: NetworkResponse<T>) => void;
2054
+
2055
+ declare class NetworkTimeoutError extends Error {
2056
+ constructor(source: string, type: NetworkType, timeout: number);
2057
+ }
2058
+
1947
2059
  export declare type NetworkType = "XMLHttpRequest" | "Script" | "Image" | "Link";
1948
2060
 
1949
2061
  export declare interface ObjectEvent extends BaseEvent {
@@ -2159,6 +2271,14 @@ export declare interface PanoTextureEvent extends BaseEvent {
2159
2271
  error: Error | null;
2160
2272
  }
2161
2273
 
2274
+ export declare type ParsedResultType = {
2275
+ type: 'b3dm' | 'pnts' | 'at3d' | 'pbm' | 'dome' | 'domez' | 'glb';
2276
+ byteLength: number;
2277
+ uri: string;
2278
+ object: THREE_2.Object3D;
2279
+ dispose: () => void;
2280
+ };
2281
+
2162
2282
  /**
2163
2283
  * 解析 Work 数据
2164
2284
  * @param obj - work 数据,从如数开发者平台获取
@@ -2183,6 +2303,8 @@ export declare type ParseWorkOptions = {
2183
2303
  /** 可视区域 */
2184
2304
  viewerRequestVolume?: BoundingVolume | BoundingVolumeJson;
2185
2305
  /** 模型显示最大细化层级 */
2306
+ modelMinLevelOfDetail?: number;
2307
+ /** 模型显示最大细化层级 */
2186
2308
  modelMaxLevelOfDetail?: number;
2187
2309
  /** 模型最大内存缓存 */
2188
2310
  modelMaxMemoryUsage?: number;
@@ -2199,83 +2321,71 @@ export declare class PBMContainer extends THREE_2.Group {
2199
2321
  needsRender: boolean;
2200
2322
  /** 当前样式参数 */
2201
2323
  materialParameters: PBMParameters;
2202
- cache: PBMMaterialReferenceCache;
2203
2324
  constructor();
2204
2325
  /** 获取材质参数 */
2205
2326
  getMaterial(): PBMParameters;
2206
2327
  /** 设置材质参数 */
2207
2328
  setMaterial(parameters: Partial<PBMParameters>): void;
2208
- update(renderer: THREE_2.WebGLRenderer, camera: Camera): void;
2209
- /** 析构材质 */
2210
- dispose(): void;
2211
2329
  }
2212
2330
 
2213
2331
  /** PBM 模型组 */
2214
2332
  export declare class PBMGroup extends THREE_2.Group {
2215
- needsRender: boolean;
2216
- }
2217
-
2218
- export declare class PBMMaterialReferenceCache {
2219
- cache: Record<string, {
2220
- count: number;
2221
- value: any;
2222
- dispose: () => void;
2223
- }>;
2224
- clear(): void;
2225
- get<T>(key: string, create: () => {
2226
- value: T;
2227
- dispose: () => void;
2228
- }): T;
2229
2333
  }
2230
2334
 
2231
2335
  /** PBM 对象 */
2232
2336
  export declare class PBMMesh extends THREE_2.Mesh<THREE_2.BufferGeometry, PBMMeshMaterial[]> {
2233
- /** 是否需要更新按需渲染 */
2234
- needsRender: boolean;
2337
+ model?: Model;
2338
+ constructor(geometry: THREE_2.BufferGeometry, materials: PBMMeshMaterial[]);
2235
2339
  }
2236
2340
 
2237
2341
  /** PBM 材质 */
2238
2342
  export declare class PBMMeshMaterial extends THREE_2.ShaderMaterial implements PBMParameters {
2239
2343
  /** 更新版本 */
2240
- pbmMaterialParametersVersion: number;
2344
+ syncModelVersion?: string;
2241
2345
  /** 起始点 */
2242
- pano0: PBMPanoPicture | null;
2346
+ pano0: PBMParameters['pano0'];
2243
2347
  /** 结束点 */
2244
- pano1: PBMPanoPicture | null;
2348
+ pano1: PBMParameters['pano1'];
2245
2349
  /** 模型贴图和全景图的混合程度 [0-1] */
2246
- modelAlpha: number;
2350
+ modelAlpha: PBMParameters['modelAlpha'];
2247
2351
  /** 全景图混合程度 [0-1] */
2248
- progress: number;
2352
+ progress: PBMParameters['progress'];
2249
2353
  /** 全景图通过过度黑色混合 */
2250
- useBlackTransition: boolean;
2354
+ useBlackTransition: PBMParameters['useBlackTransition'];
2251
2355
  /** 模型透明度 */
2252
- opacity: number;
2356
+ opacity: PBMParameters['opacity'];
2253
2357
  /** 模型颜色*/
2254
- constantColor: THREE_2.Vector3 | null;
2358
+ constantColor: PBMParameters['constantColor'];
2255
2359
  /** 楼层参数*/
2256
- floorIndex: number;
2360
+ shownFloorIndex: PBMParameters['shownFloorIndex'];
2257
2361
  /** 对外模型裁切参数*/
2258
- clippers: ClipperParameter[] | null;
2362
+ clippers: PBMParameters['clippers'];
2259
2363
  /** edl*/
2260
- useEDL: boolean;
2364
+ useEDL: PBMParameters['useEDL'];
2365
+ /** hq*/
2366
+ useHQWeight: PBMParameters['useHQWeight'];
2367
+ /** HQDepthMask*/
2368
+ useHQDepth: PBMParameters['useHQDepth'];
2261
2369
  /** 点云着色方式*/
2262
- pointColorType: PBMPointColorType;
2370
+ pointColor: PBMParameters['pointColor'];
2263
2371
  /** 点云大小绘制方式*/
2264
- pointSizeType: PBMPointSizeType;
2372
+ pointSize: PBMParameters['pointSize'];
2265
2373
  /** 点云形状*/
2266
- pointShape: PBMPointShapeType;
2374
+ pointShape: PBMParameters['pointShape'];
2267
2375
  /** 点云基础大小*/
2268
- pointSize: number;
2269
- /** 自适应点云大小因子*/
2270
- pointSizeAdaptiveScale: number;
2271
- /** 点云最大尺寸*/
2272
- pointMinSize: number;
2273
- /** 点云最小尺寸*/
2274
- pointMaxSize: number;
2376
+ pointScale: PBMParameters['pointScale'];
2377
+ /** 点云背面绘制方式*/
2378
+ pointBack: PBMParameters['pointBack'];
2379
+ /** 点云像素最小值*/
2380
+ pointMinPixel: PBMParameters['pointMinPixel'];
2381
+ /** 点云像素最大值*/
2382
+ pointMaxPixel: PBMParameters['pointMaxPixel'];
2275
2383
  /** 高程彩色图*/
2276
- gradientTexture: THREE_2.Texture | null;
2384
+ gradientTexture: PBMParameters['gradientTexture'];
2277
2385
  constructor(parameters?: Partial<PBMParameters>);
2278
- update(renderer: THREE_2.WebGLRenderer, camera: Camera, cache: PBMMaterialReferenceCache): void;
2386
+ onBeforeCompile(shader: THREE_2.Shader, renderer: THREE_2.WebGLRenderer): void;
2387
+ update(renderer: THREE_2.WebGLRenderer, camera: THREE_2.Camera): void;
2388
+ syncModel(model: Model): void;
2279
2389
  }
2280
2390
 
2281
2391
  export declare interface PBMPanoPicture {
@@ -2302,46 +2412,35 @@ export declare interface PBMParameters {
2302
2412
  /** 模型透明度 */
2303
2413
  opacity: number;
2304
2414
  /** 楼层参数*/
2305
- floorIndex: number;
2415
+ shownFloorIndex: number;
2306
2416
  /** 模型裁切参数(工程侧调用)*/
2307
2417
  clippers: ClipperParameter[] | null;
2308
2418
  /** 模型颜色*/
2309
2419
  constantColor: THREE_2.Vector3 | null;
2310
2420
  /** 是否使用EDL*/
2311
2421
  useEDL: boolean;
2422
+ /** 是否使用HQ*/
2423
+ useHQWeight: boolean;
2424
+ /** 是否使用HQ_DEPTH_MASK*/
2425
+ useHQDepth: boolean;
2312
2426
  /** 点云形状*/
2313
- pointShape: PBMPointShapeType;
2427
+ pointShape: 'SQUARE' | 'CIRCLE';
2314
2428
  /** 点云着色方式*/
2315
- pointColorType: PBMPointColorType;
2429
+ pointColor: 'RGB' | 'ALTITUDE';
2316
2430
  /** 点云大小绘制方式*/
2317
- pointSizeType: PBMPointSizeType;
2431
+ pointSize: 'FIXED' | 'ATTENUATION' | 'GEOMETRIC';
2432
+ /** 点云背面绘制方式*/
2433
+ pointBack: 'VISIBLE' | 'HIDDEN' | 'DARK';
2318
2434
  /** 点云基础大小*/
2319
- pointSize: number;
2435
+ pointScale: number;
2320
2436
  /** 点云最大尺寸*/
2321
- pointMinSize: number;
2437
+ pointMinPixel: number;
2322
2438
  /** 点云最小尺寸*/
2323
- pointMaxSize: number;
2324
- /** 自适应点云尺寸因子*/
2325
- pointSizeAdaptiveScale: number;
2439
+ pointMaxPixel: number;
2326
2440
  /** 高程彩色图*/
2327
2441
  gradientTexture: THREE_2.Texture | null;
2328
2442
  }
2329
2443
 
2330
- export declare enum PBMPointColorType {
2331
- RGB = "rgb",
2332
- ALTITUDE = "altitude"
2333
- }
2334
-
2335
- export declare enum PBMPointShapeType {
2336
- SQUARE = "square",
2337
- CIRCLE = "circle"
2338
- }
2339
-
2340
- export declare enum PBMPointSizeType {
2341
- FIXED = "fixed",
2342
- ADAPTIVE = "adaptive"
2343
- }
2344
-
2345
2444
  /**
2346
2445
  * 相机位姿
2347
2446
  * [[include: coordinate.md]]
@@ -2359,7 +2458,9 @@ export declare interface Pose {
2359
2458
  distance: number;
2360
2459
  }
2361
2460
 
2362
- export declare const PROXY_CONTROLLER_EVENT_NAMES: readonly ["gesture.pan", "gesture.tap", "gesture.press", "gesture.pinch", "gesture.mousewheel", "gesture.mousemove", "gesture.momentum", "initAnimation.start", "initAnimation.end", "camera.update", "intersect.update", "pano.select", "pano.moveTo", "pano.moving", "pano.arrived", "pano.cancel", "pano.error", "pano.texture.load", "pano.texture.progress", "pano.texture.success", "pano.texture.error", "pano.texture.abort", "xr.session.start", "xr.session.end", "xr.gesture.tap"];
2461
+ export declare type PostProcessingType = 'edl' | 'hq' | 'luminance' | null;
2462
+
2463
+ export declare const PROXY_CONTROLLER_EVENT_NAMES: readonly ["gesture.pan", "gesture.tap", "gesture.press", "gesture.pinch", "gesture.mousewheel", "gesture.mousemove", "gesture.momentum", "initAnimation.start", "initAnimation.end", "camera.update", "intersect.update", "pano.select", "pano.moveTo", "pano.moving", "pano.arrived", "pano.cancel", "pano.error", "pano.texture.load", "pano.texture.progress", "pano.texture.success", "pano.texture.error", "pano.texture.abort", "xr.session.start", "xr.session.end", "xr.gesture.tap", "xr.gesture.press", "xr.gesture.buttonUp", "xr.gesture.buttonDown", "xr.controller.update"];
2363
2464
 
2364
2465
  export declare class RegionBoundingVolume implements BoundingVolume {
2365
2466
  type: "regin";
@@ -2605,7 +2706,7 @@ export declare namespace SubscribeMixinType {
2605
2706
  }
2606
2707
 
2607
2708
  export declare class TextureLoader {
2608
- loadTexture(source: string, options?: {
2709
+ loadTexture(source: string, options: {
2609
2710
  imageURL?: {
2610
2711
  transform?: (source: string, options: ImageURLOptions) => string;
2611
2712
  options?: ImageURLOptions;
@@ -2618,7 +2719,9 @@ export declare class TextureLoader {
2618
2719
  wrapT?: THREE_2.Wrapping;
2619
2720
  maxSize?: THREE_2.Vector2;
2620
2721
  viaAjax?: boolean;
2621
- } & NetworkOptions, onLoad?: (response: NetworkResponse<THREE_2.Texture>) => void, onError?: (error: Error) => void, onProgress?: (percent: number) => void, renderer?: THREE_2.WebGLRenderer): Promise<NetworkResponse<THREE_2.Texture>>;
2722
+ timeout?: number;
2723
+ fetcher: Fetcher;
2724
+ }, onLoad?: (response: NetworkResponse<THREE_2.Texture>) => void, onError?: (error: Error) => void, onProgress?: (percent: number) => void, renderer?: THREE_2.WebGLRenderer): Promise<NetworkResponse<THREE_2.Texture>>;
2622
2725
  loadCubeTexture(sources: WorkCubeImage, options: {
2623
2726
  imageURL?: {
2624
2727
  transform?: (source: string, options: ImageURLOptions) => string;
@@ -2630,7 +2733,9 @@ export declare class TextureLoader {
2630
2733
  wrapS?: THREE_2.Wrapping;
2631
2734
  wrapT?: THREE_2.Wrapping;
2632
2735
  viaAjax?: boolean;
2633
- } & NetworkOptions, onLoad: (response: NetworkResponse<THREE_2.CubeTexture, NetWorkMeta[]>) => void, onError: (error: Error) => void, onProgress: (percent: number) => void, renderer: THREE_2.WebGLRenderer): Promise<NetworkResponse<THREE_2.CubeTexture, NetWorkMeta[]>>;
2736
+ timeout?: number;
2737
+ fetcher: Fetcher;
2738
+ }, onLoad: (response: NetworkResponse<THREE_2.CubeTexture, NetWorkMeta[]>) => void, onError: (error: Error) => void, onProgress: (percent: number) => void, renderer: THREE_2.WebGLRenderer): Promise<NetworkResponse<THREE_2.CubeTexture, NetWorkMeta[]>>;
2634
2739
  loadTiledCubeTexture(sources: WorkCubeImage, tileSources: WorkTile[], options: {
2635
2740
  tileImageSize?: number;
2636
2741
  tileMaxLevel?: number;
@@ -2644,7 +2749,9 @@ export declare class TextureLoader {
2644
2749
  wrapS?: THREE_2.Wrapping;
2645
2750
  wrapT?: THREE_2.Wrapping;
2646
2751
  viaAjax?: boolean;
2647
- } & NetworkOptions, onLoad: (response: NetworkResponse<TileCubeTextureTarget, NetWorkMeta[]>) => void, onError: (error: Error) => void, onProgress: (percent: number) => void, renderer: THREE_2.WebGLRenderer): Promise<NetworkResponse<TileCubeTextureTarget, NetWorkMeta[]>>;
2752
+ timeout?: number;
2753
+ fetcher: Fetcher;
2754
+ }, onLoad: (response: NetworkResponse<TileCubeTextureTarget, NetWorkMeta[]>) => void, onError: (error: Error) => void, onProgress: (percent: number) => void, renderer: THREE_2.WebGLRenderer): Promise<NetworkResponse<TileCubeTextureTarget, NetWorkMeta[]>>;
2648
2755
  }
2649
2756
 
2650
2757
  /**
@@ -2724,57 +2831,59 @@ export declare class Tile {
2724
2831
  }
2725
2832
 
2726
2833
  export declare class Tile3DModel extends THREE_2.Object3D {
2834
+ static DEFAULT_MIN_LEVEL_OF_DETAIL: number;
2727
2835
  static DEFAULT_MAX_LEVEL_OF_DETAIL: number;
2728
2836
  static DEFAULT_MAX_MEMORY_USAGE: number;
2729
2837
  static DEFAULT_MAX_SCREEN_SPACE_ERROR: number;
2730
2838
  static DEFAULT_MAX_REQUESTS: number;
2839
+ objType: 'mesh' | 'point_cloud';
2840
+ model: Model;
2731
2841
  workCode: string;
2842
+ search: string;
2732
2843
  tileset: Tileset;
2844
+ minLevelOfDetail: number;
2733
2845
  maxLevelOfDetail: number;
2734
2846
  boundingBox: THREE_2.Box3;
2735
2847
  needsRefined: boolean;
2736
2848
  refined: boolean;
2849
+ refineProgress: [number, number];
2737
2850
  loaded: boolean;
2738
2851
  disposed: boolean;
2739
2852
  needsRender: boolean;
2740
2853
  lastRefineTime: number;
2741
- private nodeGroup;
2742
- private debugBoundingGroup;
2854
+ frameState: TilesetFrameState | null;
2855
+ nodeGroup: THREE_2.Group;
2856
+ debugBoundingGroup: THREE_2.Group;
2743
2857
  private nodes;
2744
2858
  private debugBoundings;
2745
2859
  private unloadTileQueue;
2746
- constructor(workCode: string, tilesetHeader: TilesetHeader, options: Partial<Tile3DModelLoaderOptions>);
2860
+ constructor(workCode: string, model: Model, objType: 'mesh' | 'point_cloud', tilesetHeader: TilesetHeader, options: Tile3DModelLoaderOptions);
2747
2861
  get debug(): boolean;
2748
2862
  set debug(value: boolean);
2749
2863
  get maxMemoryUsage(): number;
2750
2864
  set maxMemoryUsage(value: number);
2751
- get viewDistanceScale(): number;
2752
- set viewDistanceScale(value: number);
2753
2865
  get maxRequests(): number;
2754
2866
  set maxRequests(value: number);
2755
2867
  get maxScreenSpaceError(): number;
2756
2868
  set maxScreenSpaceError(value: number);
2757
2869
  loadContent(tile: Tile, options: {
2758
- allowHosts?: string[];
2759
- requestProxy?: (url: string) => string | Promise<string>;
2760
- networkSubscribe?: NetworkSubscribe;
2870
+ fetcher: Fetcher;
2761
2871
  }): Promise<boolean>;
2762
- intersectRaycaster(raycaster: THREE_2.Raycaster): Intersection[];
2872
+ intersectRaycaster(raycaster: THREE_2.Raycaster, distanceOrder: boolean): Intersection[];
2763
2873
  update(renderer: THREE_2.WebGLRenderer, camera: Camera): void;
2764
2874
  dispose(): void;
2765
2875
  }
2766
2876
 
2767
2877
  /** Advanced loader options */
2768
2878
  export declare interface Tile3DModelLoaderOptions {
2879
+ fetcher: Fetcher;
2769
2880
  resourcePath: string;
2770
- allowHosts?: string[];
2771
- requestProxy?: (url: string) => string | Promise<string>;
2772
- networkSubscribe?: NetworkSubscribe;
2881
+ search?: string;
2773
2882
  onError?: (error: Error) => void;
2774
2883
  }
2775
2884
 
2776
2885
  export declare type TileContentData = {
2777
- type: 'b3dm' | 'pnts' | 'at3d' | 'pbm';
2886
+ type: 'b3dm' | 'pnts' | 'at3d' | 'pbm' | 'dome' | 'domez' | 'glb';
2778
2887
  byteLength: number;
2779
2888
  uri: string;
2780
2889
  object: TileNode;
@@ -2815,7 +2924,9 @@ export declare class TileCubeTextureTarget {
2815
2924
  magFilter?: THREE_2.TextureFilter;
2816
2925
  wrapS?: THREE_2.Wrapping;
2817
2926
  wrapT?: THREE_2.Wrapping;
2818
- } & NetworkOptions, renderer: THREE_2.WebGLRenderer);
2927
+ timeout?: number;
2928
+ fetcher: Fetcher;
2929
+ }, renderer: THREE_2.WebGLRenderer);
2819
2930
  get cubeRenderTarget(): THREE_2.WebGLCubeRenderTarget | null;
2820
2931
  set cubeRenderTarget(cubeRenderTarget: THREE_2.WebGLCubeRenderTarget | null);
2821
2932
  private requestTile;
@@ -2845,9 +2956,11 @@ export declare interface TileHeader {
2845
2956
  }
2846
2957
 
2847
2958
  export declare class TileNode extends THREE_2.Group {
2959
+ objType: 'mesh' | 'point_cloud';
2848
2960
  bvhTree: BVH | undefined;
2849
- objType: 'mesh' | 'points';
2850
- constructor(obj: THREE_2.Object3D, objType: 'mesh' | 'points');
2961
+ private objDisposer;
2962
+ private floorsArray;
2963
+ constructor(obj: THREE_2.Object3D, objType: 'mesh' | 'point_cloud', objDisposer: () => void);
2851
2964
  buildBvhTree(): void;
2852
2965
  intersectRaycaster(raycaster: THREE_2.Raycaster): Intersection[];
2853
2966
  dispose(): void;
@@ -2861,7 +2974,7 @@ export declare class Tileset {
2861
2974
  asset: {
2862
2975
  version: string;
2863
2976
  tilesetVersion: string;
2864
- gltfUpAxis: "X" | "Y" | "Z";
2977
+ gltfUpAxis: "Y" | "Z";
2865
2978
  };
2866
2979
  id: string;
2867
2980
  frameNumber: number;
@@ -2875,7 +2988,6 @@ export declare class Tileset {
2875
2988
  requestScheduler: RequestScheduler<string>;
2876
2989
  private memoryUsageInBytes;
2877
2990
  maxMemoryUsage: number;
2878
- viewDistanceScale: number;
2879
2991
  tiles: Map<string, Tile>;
2880
2992
  private pendingCount;
2881
2993
  constructor(id: string, header: TilesetHeader, options: TilesetOptions);
@@ -2918,9 +3030,11 @@ export declare type TilesetFrameState = {
2918
3030
  up: THREE.Vector3;
2919
3031
  };
2920
3032
  height: number;
3033
+ pixelRatio: number;
2921
3034
  cullingVolume: CullingVolume;
2922
3035
  frameNumber: number;
2923
3036
  sseDenominator: number;
3037
+ minLevelOfDetail: number;
2924
3038
  maxLevelOfDetail: number;
2925
3039
  };
2926
3040
 
@@ -2928,7 +3042,7 @@ export declare interface TilesetHeader {
2928
3042
  asset: {
2929
3043
  version: string;
2930
3044
  tilesetVersion?: string;
2931
- gltfUpAxis?: "X" | "Y" | "Z";
3045
+ gltfUpAxis?: "Y" | "Z";
2932
3046
  };
2933
3047
  properties?: Record<string, any>;
2934
3048
  geometricError: number;
@@ -2936,13 +3050,10 @@ export declare interface TilesetHeader {
2936
3050
  }
2937
3051
 
2938
3052
  export declare interface TilesetOptions {
3053
+ contentLoader: (tile: Tile) => Promise<boolean>;
2939
3054
  onTileLoad: (tile: Tile) => any;
2940
3055
  onTileUnload: (tile: Tile) => any;
2941
3056
  onTileError: (tile: Tile, error: Error) => any;
2942
- contentLoader: (tile: Tile) => Promise<boolean>;
2943
- allowHosts?: string[];
2944
- requestProxy?: (url: string) => string | Promise<string>;
2945
- networkSubscribe?: NetworkSubscribe;
2946
3057
  }
2947
3058
 
2948
3059
  export declare class TilesetTraverser {
@@ -2992,15 +3103,34 @@ export declare enum VolumePlaneIntersect {
2992
3103
  export declare interface VRPanoramaControllerCustomInitArgs extends Omit<PanoramaControllerCustomInitArgs, "maxLatitude" | "minLatitude"> {
2993
3104
  }
2994
3105
 
3106
+ export declare interface WebXRAxesParams {
3107
+ raycaster: {
3108
+ leftRay: THREE_2.Raycaster;
3109
+ rightRay: THREE_2.Raycaster;
3110
+ };
3111
+ axesState: {
3112
+ up: number;
3113
+ down: number;
3114
+ left: number;
3115
+ right: number;
3116
+ };
3117
+ deltaTime: number;
3118
+ }
3119
+
2995
3120
  export declare type WebXRControllerKey = XRGestureEvent['buttons'];
2996
3121
 
2997
3122
  export declare interface WebXRControllerParams {
2998
- raycaster: THREE_2.Raycaster[];
3123
+ raycaster: {
3124
+ leftRay: THREE_2.Raycaster;
3125
+ rightRay: THREE_2.Raycaster;
3126
+ };
2999
3127
  }
3000
3128
 
3001
- export declare type WebXRControllerType = 'tap' | 'press' | 'axes';
3129
+ export declare type WebXRControllerType = 'tap' | 'press' | 'axes' | 'buttonUp' | 'buttonDown';
3002
3130
 
3003
3131
  export declare class Work {
3132
+ /** five load 会对其赋值 */
3133
+ fetcher: Fetcher;
3004
3134
  /** 名称 */
3005
3135
  name: string;
3006
3136
  /** 编号 */
@@ -3114,6 +3244,8 @@ export declare interface WorkObserver {
3114
3244
  floorIndex: number;
3115
3245
  /** 点位 derived_id */
3116
3246
  derivedId?: number;
3247
+ /** 点位 derived_id_str */
3248
+ derivedIdStr?: string;
3117
3249
  /** 点位是否激活可用 */
3118
3250
  active: boolean;
3119
3251
  /** 点位是否可加载 */
@@ -3145,6 +3277,8 @@ export declare interface WorkOptions {
3145
3277
  transform: THREE_2.Matrix4;
3146
3278
  /** 可观测区域 */
3147
3279
  viewerRequestVolume?: BoundingVolume;
3280
+ /** 模型显示最小细化层级 */
3281
+ modelMinLevelOfDetail?: number;
3148
3282
  /** 模型显示最大细化层级 */
3149
3283
  modelMaxLevelOfDetail?: number;
3150
3284
  /** 模型最大内存缓存 */
@@ -3199,15 +3333,51 @@ export declare class XRButton {
3199
3333
  static createButton(onClickHook: () => void): HTMLAnchorElement | HTMLButtonElement;
3200
3334
  }
3201
3335
 
3336
+ export declare interface XRControllerEvent extends BaseEvent {
3337
+ left: {
3338
+ axes: {
3339
+ up: number;
3340
+ down: number;
3341
+ left: number;
3342
+ right: number;
3343
+ };
3344
+ raycaster: THREE_2.Raycaster;
3345
+ deltaTime: number;
3346
+ };
3347
+ right: {
3348
+ axes: {
3349
+ up: number;
3350
+ down: number;
3351
+ left: number;
3352
+ right: number;
3353
+ };
3354
+ raycaster: THREE_2.Raycaster;
3355
+ deltaTime: number;
3356
+ };
3357
+ buttons: {
3358
+ X: boolean;
3359
+ Y: boolean;
3360
+ LeftTrigger: boolean;
3361
+ LeftPinch: boolean;
3362
+ A: boolean;
3363
+ B: boolean;
3364
+ RightTrigger: boolean;
3365
+ RightPinch: boolean;
3366
+ };
3367
+ }
3368
+
3202
3369
  export declare interface XRGestureEvent extends BaseEvent {
3203
3370
  session: XRSession | null;
3204
- buttons: null | 'A' | 'B' | 'X' | 'Y' | 'RightTrigger' | 'RightPinch' | 'LeftTrigger' | 'LeftPinch' | 'LeftAxesLeft' | 'LeftAxesRight' | 'LeftAxesUp' | 'LeftAxesDown' | 'RightAxesLeft' | 'RightAxesRight' | 'RightAxesUp' | 'RightAxesDown';
3371
+ buttons: 'A' | 'B' | 'X' | 'Y' | 'RightTrigger' | 'RightPinch' | 'LeftTrigger' | 'LeftPinch' | 'LeftAxesLeft' | 'LeftAxesRight' | 'LeftAxesUp' | 'LeftAxesDown' | 'RightAxesLeft' | 'RightAxesRight' | 'RightAxesUp' | 'RightAxesDown';
3205
3372
  machineType: 'Pico' | 'Oculus';
3206
3373
  isFirst: boolean;
3207
3374
  isFinal: boolean;
3208
3375
  controllers: {
3209
- raycaster: THREE_2.Raycaster;
3210
- }[];
3376
+ raycaster: {
3377
+ leftRay: THREE_2.Raycaster;
3378
+ rightRay: THREE_2.Raycaster;
3379
+ };
3380
+ };
3211
3381
  }
3212
3382
 
3213
3383
  export declare interface XRPanoramaControllerCustomInitArgs extends Omit<PanoramaControllerCustomInitArgs, "maxLatitude" | "minLatitude"> {