@realsee/five 6.2.1 → 6.3.0-alpha.1
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.
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/five.Camera.html +6 -5
- package/docs/classes/five.Five.html +12 -12
- package/docs/classes/five.Model.html +7 -4
- package/docs/classes/five.PBMMesh.html +3 -3
- package/docs/classes/five.PBMMeshMaterial.html +27 -22
- package/docs/classes/five.PBMPointCloud.html +4 -0
- package/docs/classes/five.PBMPointCloudMaterial.html +60 -0
- package/docs/classes/five.Tile.html +1 -3
- package/docs/classes/five.Tile3DModel.html +13 -4
- package/docs/classes/five.TileCache.html +4 -4
- package/docs/classes/five.TileNode.html +5 -2
- package/docs/classes/five.TileRequestScheduler.html +3 -12
- package/docs/classes/five.Tileset.html +16 -9
- package/docs/classes/five.Trajectory.html +8 -0
- package/docs/classes/five.TrajectoryNode.html +5 -0
- package/docs/functions/five.loadPly.html +1 -0
- package/docs/hierarchy.html +1 -1
- package/docs/interfaces/five.FiveLoadOptions.html +5 -2
- package/docs/interfaces/five.PBMParameters.html +23 -17
- package/docs/interfaces/five.Tile3DModelLoaderOptions.html +2 -2
- package/docs/interfaces/five.TilesetHeader.html +2 -2
- package/docs/interfaces/five.TilesetOptions.html +9 -3
- package/docs/interfaces/five.TrajectoryHeader.html +5 -0
- package/docs/modules/five.html +10 -2
- package/docs/types/five.ModelMaterialValues.html +1 -1
- package/docs/types/five.Models.html +5 -5
- package/docs/types/five.ParsedResultType.html +1 -1
- package/docs/types/five.TileCacheOptions.html +1 -0
- package/docs/types/five.TileContentData.html +1 -1
- package/docs/types/five.TileRequestOrder.html +1 -0
- package/docs/types/five.TileRequestSchedulerOptions.html +1 -0
- package/docs/types/five.TilesetFrameState.html +1 -1
- package/docs/types/five.TrajectoryContentData.html +1 -0
- package/docs/variables/five.defaultPbmParameters.html +1 -1
- package/five/index.d.ts +234 -86
- package/five/index.js +191 -92
- package/five/index.mjs +7327 -6534
- package/gltf-loader/index.js +3 -3
- package/gltf-loader/index.mjs +3 -3
- package/line/index.js +3 -3
- package/line/index.mjs +10 -10
- package/package.json +1 -1
- package/plugins/index.js +2 -2
- package/plugins/index.mjs +2 -2
- package/react/index.js +2 -2
- package/react/index.mjs +2 -2
- package/sticker/index.js +3 -3
- package/sticker/index.mjs +7 -7
- package/umd/five-gltf-loader.js +3 -3
- package/umd/five-line.js +3 -3
- package/umd/five-plugins.js +2 -2
- package/umd/five-react.js +2 -2
- package/umd/five-sticker.js +3 -3
- package/umd/five-vfx.js +2 -2
- package/umd/five-vue.js +2 -2
- package/umd/five.js +144 -45
- package/vfx/index.js +2 -2
- package/vfx/index.mjs +2 -2
- package/vue/index.js +2 -2
- package/vue/index.mjs +2 -2
- package/docs/types/five.TileRequest.html +0 -2
- package/docs/types/five.TileRequestResult.html +0 -1
package/five/index.d.ts
CHANGED
|
@@ -119,6 +119,7 @@ export declare class Camera extends THREE_2.Camera {
|
|
|
119
119
|
pose: CameraPose;
|
|
120
120
|
private perspectiveCamera;
|
|
121
121
|
private orthographicCamera;
|
|
122
|
+
time: number;
|
|
122
123
|
needsRender: boolean;
|
|
123
124
|
refineModel: boolean;
|
|
124
125
|
private lastValues;
|
|
@@ -144,7 +145,7 @@ export declare class Camera extends THREE_2.Camera {
|
|
|
144
145
|
get perspectiveProjectionMatrixInverse(): THREE_2.Matrix4;
|
|
145
146
|
get orthographicProjectionMatrix(): THREE_2.Matrix4;
|
|
146
147
|
get orthographicProjectionMatrixInverse(): THREE_2.Matrix4;
|
|
147
|
-
updateTime(
|
|
148
|
+
updateTime(time: number, _deltaTime: number): void;
|
|
148
149
|
get isPerspectiveCamera(): boolean;
|
|
149
150
|
get isOrthographicCamera(): boolean;
|
|
150
151
|
copy(source: this, recursive?: boolean): this;
|
|
@@ -1025,12 +1026,18 @@ export declare interface FiveLoadOptions {
|
|
|
1025
1026
|
maxLevelOfDetail?: number;
|
|
1026
1027
|
/** 模型跳过层级加载 */
|
|
1027
1028
|
skipLevelOfDetail?: boolean;
|
|
1029
|
+
/** 模型最精细 */
|
|
1030
|
+
mostDetail?: boolean;
|
|
1028
1031
|
/** 模型加载不在视野中的兄弟节点 */
|
|
1029
1032
|
loadSiblings?: boolean;
|
|
1033
|
+
/** 模型加载不在视野中的所有节点 */
|
|
1034
|
+
loadAll?: boolean;
|
|
1030
1035
|
/** 模型最大内存缓存 */
|
|
1031
1036
|
maxMemoryUsage?: number;
|
|
1032
1037
|
/** 模型网络最大请求并发数 */
|
|
1033
1038
|
maxRequests?: number;
|
|
1039
|
+
/** 模型网络请求顺序 */
|
|
1040
|
+
requestOrder?: 'SCREEN_SPACE_ERROR' | 'SCREEN_LEVEL_VERTICAL' | 'SCREEN_VERTICAL';
|
|
1034
1041
|
/** 模型屏幕空间误差计算最大值 */
|
|
1035
1042
|
maxScreenSpaceError?: number;
|
|
1036
1043
|
};
|
|
@@ -1676,6 +1683,19 @@ export declare function loadPbm(url: string, options: {
|
|
|
1676
1683
|
fetcher: Fetcher;
|
|
1677
1684
|
}): Promise<ParsedResultType>;
|
|
1678
1685
|
|
|
1686
|
+
export declare function loadPly<Type extends 'geometry' | 'mesh' | 'points' | 'line' | 'pbmPointCloud', ResultType = {
|
|
1687
|
+
'geometry': THREE_2.BufferGeometry;
|
|
1688
|
+
'mesh': THREE_2.Mesh<THREE_2.BufferGeometry, THREE_2.MeshBasicMaterial>;
|
|
1689
|
+
'points': THREE_2.Points<THREE_2.BufferGeometry, THREE_2.PointsMaterial>;
|
|
1690
|
+
'line': THREE_2.Line<THREE_2.BufferGeometry, THREE_2.LineBasicMaterial>;
|
|
1691
|
+
'pbmPointCloud': PBMPointCloud;
|
|
1692
|
+
}[Type]>(url: string, options: {
|
|
1693
|
+
propertyNameMapping?: Record<string, string>;
|
|
1694
|
+
customPropertyMapping?: Record<string, string[]>;
|
|
1695
|
+
type?: Type;
|
|
1696
|
+
fetcher: Fetcher;
|
|
1697
|
+
}): Promise<ParsedResultType<ResultType>>;
|
|
1698
|
+
|
|
1679
1699
|
export declare function loadPnts(url: string, options: {
|
|
1680
1700
|
fetcher: Fetcher;
|
|
1681
1701
|
computeBoundingBox?: boolean;
|
|
@@ -1944,12 +1964,18 @@ export declare class Model extends THREE_2.Object3D {
|
|
|
1944
1964
|
maxLevelOfDetail?: number;
|
|
1945
1965
|
/** 模型越层级加载 */
|
|
1946
1966
|
skipLevelOfDetail?: boolean;
|
|
1967
|
+
/** 模型是否最密 */
|
|
1968
|
+
mostDetail?: boolean;
|
|
1947
1969
|
/** 模型加载不在视野中的兄弟节点 */
|
|
1948
1970
|
loadSiblings?: boolean;
|
|
1971
|
+
/** 模型加载不在视野中的所有节点 */
|
|
1972
|
+
loadAll?: boolean;
|
|
1949
1973
|
/** 模型最大内存缓存 */
|
|
1950
1974
|
maxMemoryUsage?: number;
|
|
1951
1975
|
/** 模型网络最大请求并发数 */
|
|
1952
1976
|
maxRequests?: number;
|
|
1977
|
+
/** 模型网络请求顺序 */
|
|
1978
|
+
requestOrder?: 'SCREEN_SPACE_ERROR' | 'SCREEN_LEVEL_VERTICAL' | 'SCREEN_VERTICAL';
|
|
1953
1979
|
/** 模型屏幕空间误差计算最大值 */
|
|
1954
1980
|
maxScreenSpaceError?: number;
|
|
1955
1981
|
};
|
|
@@ -2386,11 +2412,11 @@ export declare interface PanoTextureEvent extends BaseEvent {
|
|
|
2386
2412
|
error: Error | null;
|
|
2387
2413
|
}
|
|
2388
2414
|
|
|
2389
|
-
export declare type ParsedResultType = {
|
|
2390
|
-
type: 'b3dm' | 'pnts' | 'at3d' | 'pbm' | 'dome' | 'domez' | 'glb';
|
|
2415
|
+
export declare type ParsedResultType<Scene = THREE_2.Object3D> = {
|
|
2416
|
+
type: 'none' | 'b3dm' | 'pnts' | 'at3d' | 'pbm' | 'dome' | 'domez' | 'glb' | 'ply';
|
|
2391
2417
|
byteLength: number;
|
|
2392
2418
|
uri: string;
|
|
2393
|
-
scene:
|
|
2419
|
+
scene: Scene;
|
|
2394
2420
|
textures: THREE_2.Texture[];
|
|
2395
2421
|
dispose: () => void;
|
|
2396
2422
|
};
|
|
@@ -2445,8 +2471,8 @@ export declare class PBMGroup extends THREE_2.Group {
|
|
|
2445
2471
|
|
|
2446
2472
|
/** PBM 对象 */
|
|
2447
2473
|
export declare class PBMMesh extends THREE_2.Mesh<THREE_2.BufferGeometry, PBMMeshMaterial[]> {
|
|
2448
|
-
model?: Model;
|
|
2449
2474
|
constructor(geometry: THREE_2.BufferGeometry, materials: PBMMeshMaterial[]);
|
|
2475
|
+
update(renderer: THREE_2.WebGLRenderer, camera: Camera, model: Model): void;
|
|
2450
2476
|
}
|
|
2451
2477
|
|
|
2452
2478
|
/** PBM 材质 */
|
|
@@ -2493,6 +2519,8 @@ export declare class PBMMeshMaterial extends THREE_2.ShaderMaterial implements P
|
|
|
2493
2519
|
opacity: PBMParameters['opacity'];
|
|
2494
2520
|
/** 模型颜色*/
|
|
2495
2521
|
constantColor: PBMParameters['constantColor'];
|
|
2522
|
+
/** 楼层样式*/
|
|
2523
|
+
floorStyle: PBMParameters['floorStyle'];
|
|
2496
2524
|
/** 楼层参数*/
|
|
2497
2525
|
shownFloorIndex: PBMParameters['shownFloorIndex'];
|
|
2498
2526
|
/** 亮度 */
|
|
@@ -2515,6 +2543,8 @@ export declare class PBMMeshMaterial extends THREE_2.ShaderMaterial implements P
|
|
|
2515
2543
|
pointScale: PBMParameters['pointScale'];
|
|
2516
2544
|
/** 点云背面绘制方式*/
|
|
2517
2545
|
pointBack: PBMParameters['pointBack'];
|
|
2546
|
+
/** 点云出现动画时间 */
|
|
2547
|
+
pointAppearAnimationDuration: PBMParameters['pointAppearAnimationDuration'];
|
|
2518
2548
|
/** 点云像素最小值*/
|
|
2519
2549
|
pointMinPixel: PBMParameters['pointMinPixel'];
|
|
2520
2550
|
/** 点云像素最大值*/
|
|
@@ -2523,11 +2553,12 @@ export declare class PBMMeshMaterial extends THREE_2.ShaderMaterial implements P
|
|
|
2523
2553
|
gradientTexture: PBMParameters['gradientTexture'];
|
|
2524
2554
|
/** 所属楼层*/
|
|
2525
2555
|
floor: number;
|
|
2556
|
+
/** 点云平整度*/
|
|
2557
|
+
evennessPlane: PBMParameters['evennessPlane'];
|
|
2526
2558
|
constructor(shaderType?: 'none' | 'basic' | 'phong', parameters?: Partial<PBMParameters>);
|
|
2527
2559
|
onBeforeCompile(shader: THREE_2.Shader, renderer: THREE_2.WebGLRenderer): void;
|
|
2528
2560
|
refreshUniforms(renderer: THREE_2.WebGLRenderer): void;
|
|
2529
|
-
update(renderer: THREE_2.WebGLRenderer, camera:
|
|
2530
|
-
syncModel(model: Model): void;
|
|
2561
|
+
update(renderer: THREE_2.WebGLRenderer, camera: Camera, model: Model): void;
|
|
2531
2562
|
copy(source: PBMMeshMaterial): this;
|
|
2532
2563
|
}
|
|
2533
2564
|
|
|
@@ -2556,6 +2587,8 @@ export declare interface PBMParameters {
|
|
|
2556
2587
|
transition: 'BLACK' | 'SPREAD' | 'FADE';
|
|
2557
2588
|
/** 模型透明度 */
|
|
2558
2589
|
opacity: number;
|
|
2590
|
+
/** 楼层样式 */
|
|
2591
|
+
floorStyle: 'VISIBILITY' | 'OPACITY';
|
|
2559
2592
|
/** 楼层参数*/
|
|
2560
2593
|
shownFloorIndex: number;
|
|
2561
2594
|
/** 模型裁切参数(工程侧调用)*/
|
|
@@ -2580,12 +2613,87 @@ export declare interface PBMParameters {
|
|
|
2580
2613
|
pointBack: 'VISIBLE' | 'HIDDEN' | 'DARK';
|
|
2581
2614
|
/** 点云基础大小*/
|
|
2582
2615
|
pointScale: number;
|
|
2616
|
+
/** 点云出现动画时间 */
|
|
2617
|
+
pointAppearAnimationDuration: number;
|
|
2583
2618
|
/** 点云最小尺寸*/
|
|
2584
2619
|
pointMinPixel: number;
|
|
2585
2620
|
/** 点云最大尺寸*/
|
|
2586
2621
|
pointMaxPixel: number;
|
|
2587
2622
|
/** 高程彩色图*/
|
|
2588
2623
|
gradientTexture: THREE_2.Texture | null;
|
|
2624
|
+
/** 点云平整度*/
|
|
2625
|
+
evennessPlane: {
|
|
2626
|
+
depth: number;
|
|
2627
|
+
points: THREE_2.Vector3[];
|
|
2628
|
+
};
|
|
2629
|
+
}
|
|
2630
|
+
|
|
2631
|
+
/** PBM 对象 */
|
|
2632
|
+
export declare class PBMPointCloud extends THREE_2.Points<THREE_2.BufferGeometry, PBMPointCloudMaterial> {
|
|
2633
|
+
private pointRange;
|
|
2634
|
+
private motion;
|
|
2635
|
+
constructor(geometry: THREE_2.BufferGeometry, materials: PBMPointCloudMaterial);
|
|
2636
|
+
update(renderer: THREE_2.WebGLRenderer, camera: Camera, model: Model): void;
|
|
2637
|
+
}
|
|
2638
|
+
|
|
2639
|
+
export declare class PBMPointCloudMaterial extends THREE_2.ShaderMaterial implements PBMParameters {
|
|
2640
|
+
/** 更新版本 */
|
|
2641
|
+
syncModelVersion?: string;
|
|
2642
|
+
/** 起始点 */
|
|
2643
|
+
pano0: PBMParameters['pano0'];
|
|
2644
|
+
/** 结束点 */
|
|
2645
|
+
pano1: PBMParameters['pano1'];
|
|
2646
|
+
/** 全景图混合程度 [0-1] */
|
|
2647
|
+
progress: PBMParameters['progress'];
|
|
2648
|
+
/** 全景图过度混合 */
|
|
2649
|
+
transition: PBMParameters['transition'];
|
|
2650
|
+
/** 楼层样式 */
|
|
2651
|
+
floorStyle: PBMParameters['floorStyle'];
|
|
2652
|
+
/** 楼层参数*/
|
|
2653
|
+
shownFloorIndex: PBMParameters['shownFloorIndex'];
|
|
2654
|
+
/** 亮度 */
|
|
2655
|
+
brightness: PBMParameters['brightness'];
|
|
2656
|
+
/** 对外模型裁切参数*/
|
|
2657
|
+
clippers: PBMParameters['clippers'];
|
|
2658
|
+
/** 模型颜色*/
|
|
2659
|
+
constantColor: PBMParameters['constantColor'];
|
|
2660
|
+
/** 全景和点云/模型的混合程度*/
|
|
2661
|
+
modelAlpha: PBMParameters['modelAlpha'];
|
|
2662
|
+
/** 是否使用EDL*/
|
|
2663
|
+
useEDL: PBMParameters['useEDL'];
|
|
2664
|
+
/** 是否使用HQ*/
|
|
2665
|
+
useHQWeight: PBMParameters['useHQWeight'];
|
|
2666
|
+
/** 是否使用HQ_DEPTH_MASK*/
|
|
2667
|
+
useHQDepth: PBMParameters['useHQDepth'];
|
|
2668
|
+
/** 点云着色方式*/
|
|
2669
|
+
pointColor: PBMParameters['pointColor'];
|
|
2670
|
+
/** 点云大小绘制方式*/
|
|
2671
|
+
pointSize: PBMParameters['pointSize'];
|
|
2672
|
+
/** 点云形状*/
|
|
2673
|
+
pointShape: PBMParameters['pointShape'];
|
|
2674
|
+
/** 点云基础缩放*/
|
|
2675
|
+
pointScale: PBMParameters['pointScale'];
|
|
2676
|
+
/** 点云背面绘制方式*/
|
|
2677
|
+
pointBack: PBMParameters['pointBack'];
|
|
2678
|
+
/** 点云出现动画时间 */
|
|
2679
|
+
pointAppearAnimationDuration: PBMParameters['pointAppearAnimationDuration'];
|
|
2680
|
+
/** 点云像素最小值*/
|
|
2681
|
+
pointMinPixel: PBMParameters['pointMinPixel'];
|
|
2682
|
+
/** 点云像素最大值*/
|
|
2683
|
+
pointMaxPixel: PBMParameters['pointMaxPixel'];
|
|
2684
|
+
/** 高程彩色图*/
|
|
2685
|
+
gradientTexture: PBMParameters['gradientTexture'];
|
|
2686
|
+
/** 所属楼层*/
|
|
2687
|
+
floor: number;
|
|
2688
|
+
/** 点云平整度*/
|
|
2689
|
+
evennessPlane: {
|
|
2690
|
+
depth: number;
|
|
2691
|
+
points: THREE_2.Vector3[];
|
|
2692
|
+
};
|
|
2693
|
+
constructor(parameters?: Partial<PBMParameters>);
|
|
2694
|
+
onBeforeCompile(shader: THREE_2.Shader, renderer: THREE_2.WebGLRenderer): void;
|
|
2695
|
+
update(renderer: THREE_2.WebGLRenderer, camera: Camera, model: Model): void;
|
|
2696
|
+
copy(source: PBMPointCloudMaterial): this;
|
|
2589
2697
|
}
|
|
2590
2698
|
|
|
2591
2699
|
/**
|
|
@@ -2921,6 +3029,7 @@ export declare class Tile {
|
|
|
2921
3029
|
touchedFrameNumber: number;
|
|
2922
3030
|
distanceToCamera: number;
|
|
2923
3031
|
centerZDepth: number;
|
|
3032
|
+
centerScreenY: number;
|
|
2924
3033
|
screenSpaceError: number;
|
|
2925
3034
|
inRequestVolume: boolean;
|
|
2926
3035
|
visibilityPlaneMask: number;
|
|
@@ -2946,8 +3055,6 @@ export declare class Tile {
|
|
|
2946
3055
|
get hasEmptyContent(): boolean;
|
|
2947
3056
|
get contentReady(): boolean;
|
|
2948
3057
|
get contentByteLength(): number;
|
|
2949
|
-
loadContent(): Promise<boolean>;
|
|
2950
|
-
unloadContent(): boolean;
|
|
2951
3058
|
getScreenSpaceError(frameState: TilesetFrameState, distanceToCamera: number, useParentGeometricError: boolean): number;
|
|
2952
3059
|
getPriority(): number;
|
|
2953
3060
|
}
|
|
@@ -2958,8 +3065,11 @@ export declare class Tile3DModel extends THREE_2.Object3D {
|
|
|
2958
3065
|
static DEFAULT_MAX_MEMORY_USAGE: number;
|
|
2959
3066
|
static DEFAULT_MAX_SCREEN_SPACE_ERROR: number;
|
|
2960
3067
|
static DEFAULT_SKIP_LEVEL_OF_DETAIL: boolean;
|
|
3068
|
+
static DEFAULT_MOST_DETAIL: boolean;
|
|
2961
3069
|
static DEFAULT_LOAD_SIBLINGS: boolean;
|
|
3070
|
+
static DEFAULT_LOAD_ALL: boolean;
|
|
2962
3071
|
static DEFAULT_MAX_REQUESTS: number;
|
|
3072
|
+
static DEFAULT_REQUEST_ORDER: TileRequestOrder;
|
|
2963
3073
|
modelIndex: number;
|
|
2964
3074
|
debug: boolean;
|
|
2965
3075
|
type: 'point_cloud' | 'mesh';
|
|
@@ -2992,20 +3102,30 @@ export declare class Tile3DModel extends THREE_2.Object3D {
|
|
|
2992
3102
|
cacheCameras: (THREE_2.PerspectiveCamera | Camera)[];
|
|
2993
3103
|
private clearStencilObject;
|
|
2994
3104
|
private disposed;
|
|
2995
|
-
private unloadTileQueue;
|
|
2996
3105
|
private renderer?;
|
|
3106
|
+
private renderObjects;
|
|
3107
|
+
private backfaceObjects;
|
|
3108
|
+
private debugObjects;
|
|
3109
|
+
private tileObjects;
|
|
2997
3110
|
constructor(model: Model, tilesetHeader: TilesetHeader, options: Tile3DModelLoaderOptions);
|
|
2998
3111
|
getRenderHash(): string;
|
|
2999
3112
|
get maxMemoryUsage(): number;
|
|
3000
3113
|
set maxMemoryUsage(value: number);
|
|
3001
3114
|
get maxRequests(): number;
|
|
3002
3115
|
set maxRequests(value: number);
|
|
3116
|
+
get requestOrder(): TileRequestOrder;
|
|
3117
|
+
set requestOrder(value: TileRequestOrder);
|
|
3003
3118
|
get skipLevelOfDetail(): boolean;
|
|
3004
3119
|
set skipLevelOfDetail(value: boolean);
|
|
3120
|
+
get mostDetail(): boolean;
|
|
3121
|
+
set mostDetail(value: boolean);
|
|
3005
3122
|
get loadSiblings(): boolean;
|
|
3006
3123
|
set loadSiblings(value: boolean);
|
|
3124
|
+
get loadAll(): boolean;
|
|
3125
|
+
set loadAll(value: boolean);
|
|
3007
3126
|
get maxScreenSpaceError(): number;
|
|
3008
3127
|
set maxScreenSpaceError(value: number);
|
|
3128
|
+
get trajectories(): Trajectory[];
|
|
3009
3129
|
localToEnu(vector: THREE_2.Vector3): THREE_2.Vector3;
|
|
3010
3130
|
enuToLocal(vector: THREE_2.Vector3): THREE_2.Vector3;
|
|
3011
3131
|
localToEcef(vector: THREE_2.Vector3): THREE_2.Vector3;
|
|
@@ -3018,9 +3138,11 @@ export declare class Tile3DModel extends THREE_2.Object3D {
|
|
|
3018
3138
|
ecefToWorld(vector: THREE_2.Vector3): THREE_2.Vector3;
|
|
3019
3139
|
worldToLla(vector: THREE_2.Vector3): THREE_2.Vector3;
|
|
3020
3140
|
llaToWorld(vector: THREE_2.Vector3): THREE_2.Vector3;
|
|
3021
|
-
loadContent(tile: Tile): Promise<
|
|
3022
|
-
unloadContent(tile: Tile): void
|
|
3141
|
+
loadContent(tile: Tile): Promise<void>;
|
|
3142
|
+
unloadContent(tile: Tile): Promise<void>;
|
|
3023
3143
|
loadAllTilesets(): Promise<void>;
|
|
3144
|
+
loadTrajectory(trajectory: Trajectory): Promise<void>;
|
|
3145
|
+
unloadTrajectory(trajectory: Trajectory): Promise<void>;
|
|
3024
3146
|
intersectRaycaster(raycaster: THREE_2.Raycaster, sortByDistance?: boolean, target?: Intersection[]): Intersection[];
|
|
3025
3147
|
private cloneSkipBackfaceObject;
|
|
3026
3148
|
update(renderer: THREE_2.WebGLRenderer, camera: Camera): void;
|
|
@@ -3049,20 +3171,26 @@ export declare interface Tile3DModelLoaderOptions {
|
|
|
3049
3171
|
}
|
|
3050
3172
|
|
|
3051
3173
|
export declare class TileCache {
|
|
3174
|
+
private options;
|
|
3052
3175
|
private cacheNodeMap;
|
|
3053
3176
|
private list;
|
|
3054
3177
|
private sentinel;
|
|
3055
|
-
constructor();
|
|
3178
|
+
constructor(options?: TileCacheOptions);
|
|
3056
3179
|
reset(): void;
|
|
3057
|
-
|
|
3058
|
-
|
|
3059
|
-
unloadTile(tile: Tile
|
|
3060
|
-
unloadTiles(isOverMemory: () => boolean
|
|
3180
|
+
touchTile(tile: Tile): void;
|
|
3181
|
+
loadTile(tile: Tile): void;
|
|
3182
|
+
unloadTile(tile: Tile): void;
|
|
3183
|
+
unloadTiles(isOverMemory: () => boolean): void;
|
|
3061
3184
|
toArray(): Tile[];
|
|
3062
3185
|
}
|
|
3063
3186
|
|
|
3187
|
+
export declare type TileCacheOptions = {
|
|
3188
|
+
onTileLoad?: (tile: Tile) => void;
|
|
3189
|
+
onTileUnload?: (tile: Tile) => void;
|
|
3190
|
+
};
|
|
3191
|
+
|
|
3064
3192
|
export declare type TileContentData = {
|
|
3065
|
-
type: 'b3dm' | 'pnts' | 'at3d' | 'pbm' | 'dome' | 'domez' | 'glb';
|
|
3193
|
+
type: 'none' | 'b3dm' | 'pnts' | 'at3d' | 'pbm' | 'dome' | 'domez' | 'glb' | 'ply';
|
|
3066
3194
|
byteLength: number;
|
|
3067
3195
|
uri: string;
|
|
3068
3196
|
object: TileNode;
|
|
@@ -3138,70 +3266,47 @@ export declare interface TileHeader {
|
|
|
3138
3266
|
extras?: Record<string, any>;
|
|
3139
3267
|
}
|
|
3140
3268
|
|
|
3141
|
-
export declare class TileNode extends THREE_2.
|
|
3269
|
+
export declare class TileNode extends THREE_2.Object3D {
|
|
3142
3270
|
private contentObject;
|
|
3143
3271
|
private disposer;
|
|
3144
3272
|
private disposers;
|
|
3145
|
-
|
|
3273
|
+
materials: THREE_2.Material[];
|
|
3274
|
+
pbmObjects: (PBMMesh | PBMPointCloud)[];
|
|
3275
|
+
constructor(name: string, contentObject: THREE_2.Object3D, disposer?: () => void);
|
|
3146
3276
|
generateBvhTree(): Promise<this>;
|
|
3147
3277
|
intersectRaycaster(raycaster: THREE_2.Raycaster, sortByDistance?: boolean, target?: Intersection[]): Intersection[];
|
|
3278
|
+
update(renderer: THREE_2.WebGLRenderer, camera: Camera, model: Model): void;
|
|
3148
3279
|
dispose(): void;
|
|
3149
3280
|
clone(): this;
|
|
3150
3281
|
}
|
|
3151
3282
|
|
|
3152
|
-
|
|
3153
|
-
export declare type TileRequest<Identiy> = {
|
|
3154
|
-
identiy: Identiy;
|
|
3155
|
-
priority: number;
|
|
3156
|
-
getPriority: (identiy: Identiy) => number;
|
|
3157
|
-
resolve: (requestResult: TileRequestResult) => void;
|
|
3158
|
-
};
|
|
3159
|
-
|
|
3160
|
-
export declare type TileRequestResult = null | {
|
|
3161
|
-
done: () => void;
|
|
3162
|
-
};
|
|
3283
|
+
export declare type TileRequestOrder = 'SCREEN_SPACE_ERROR' | 'SCREEN_LEVEL_VERTICAL' | 'SCREEN_VERTICAL';
|
|
3163
3284
|
|
|
3164
|
-
|
|
3165
|
-
|
|
3166
|
-
|
|
3167
|
-
export declare class TileRequestScheduler<Identiy> {
|
|
3168
|
-
tileset: Tileset;
|
|
3285
|
+
export declare class TileRequestScheduler {
|
|
3286
|
+
private tileset;
|
|
3287
|
+
private options;
|
|
3169
3288
|
private activeRequests;
|
|
3170
|
-
/** Tracks the number of active requests and prioritizes/cancels queued requests. */
|
|
3171
3289
|
private requestQueue;
|
|
3172
|
-
|
|
3173
|
-
private deferred;
|
|
3174
|
-
constructor(tileset: Tileset);
|
|
3175
|
-
/**
|
|
3176
|
-
* Called by an application that wants to issue a request, without having it deeply queued by the browser
|
|
3177
|
-
*
|
|
3178
|
-
* When the returned promise resolved, it is OK for the application to issue a request.
|
|
3179
|
-
* The promise resolves to an object that contains a `done` method.
|
|
3180
|
-
* When the application's request has completed (or failed), the application must call the `done` function
|
|
3181
|
-
*
|
|
3182
|
-
* @param identiy - Identiy
|
|
3183
|
-
* @param getPriority - will be called when request "slots" open up, allowing the caller to update priority or cancel the request Highest priority executes first, priority less than 0 cancels the request
|
|
3184
|
-
* @returns a promise resolves to a object (with a `done` field) when the request can be issued without queueing, resolves to `null` if the request has been cancelled (by the callback return less than 0). In this case the application should not issue the request
|
|
3185
|
-
*/
|
|
3186
|
-
scheduleRequest(identiy: Identiy, getPriority: (identiy: Identiy) => number): Promise<TileRequestResult>;
|
|
3290
|
+
constructor(tileset: Tileset, options: TileRequestSchedulerOptions);
|
|
3187
3291
|
reset(): void;
|
|
3188
|
-
|
|
3189
|
-
/** We check requests asynchronously, to prevent multiple updates */
|
|
3190
|
-
private issueNewRequests;
|
|
3191
|
-
/** Refresh all requests */
|
|
3192
|
-
private issueNewRequestsAsync;
|
|
3193
|
-
/** Ensure all requests have updated priorities, and that no longer valid requests are cancelled */
|
|
3194
|
-
private updateAllRequests;
|
|
3195
|
-
/** Update a single request by calling the callback */
|
|
3196
|
-
private updateRequest;
|
|
3292
|
+
update(requestTiles: Tile[], order: TileRequestOrder, frameState: TilesetFrameState): void;
|
|
3197
3293
|
}
|
|
3198
3294
|
|
|
3295
|
+
export declare type TileRequestSchedulerOptions = {
|
|
3296
|
+
onTileSkip?: (tile: Tile) => void;
|
|
3297
|
+
onTileLoad?: (tile: Tile) => void;
|
|
3298
|
+
onTileError?: (tile: Tile, error: Error) => void;
|
|
3299
|
+
};
|
|
3300
|
+
|
|
3199
3301
|
export declare class Tileset {
|
|
3200
3302
|
static DEFAULT_MAX_MEMORY_USAGE: number;
|
|
3201
3303
|
static DEFAULT_MAX_SCREEN_SPACE_ERROR: number;
|
|
3202
3304
|
static DEFAULT_SKIP_LEVEL_OF_DETAIL: boolean;
|
|
3305
|
+
static DEFAULT_MOST_DETAIL: boolean;
|
|
3203
3306
|
static DEFAULT_LOAD_SIBLINGS: boolean;
|
|
3307
|
+
static DEFAULT_LOAD_ALL: boolean;
|
|
3204
3308
|
static DEFAULT_MAX_REQUESTS: number;
|
|
3309
|
+
static DEFAULT_REQUEST_ORDER: TileRequestOrder;
|
|
3205
3310
|
asset: {
|
|
3206
3311
|
version: string;
|
|
3207
3312
|
tilesetVersion: string;
|
|
@@ -3212,6 +3317,7 @@ export declare class Tileset {
|
|
|
3212
3317
|
imageWidth: number;
|
|
3213
3318
|
imageHeight: number;
|
|
3214
3319
|
};
|
|
3320
|
+
trajectories?: TrajectoryHeader[];
|
|
3215
3321
|
[key: string]: any;
|
|
3216
3322
|
};
|
|
3217
3323
|
id: string;
|
|
@@ -3222,50 +3328,43 @@ export declare class Tileset {
|
|
|
3222
3328
|
properties: Record<string, any>;
|
|
3223
3329
|
options: TilesetOptions;
|
|
3224
3330
|
root: Tile;
|
|
3225
|
-
rootMeta:
|
|
3226
|
-
creationTime?: string;
|
|
3227
|
-
upAxis?: string;
|
|
3228
|
-
coordinate?: {
|
|
3229
|
-
base_keyframe: number;
|
|
3230
|
-
base_trajectory: number;
|
|
3231
|
-
coordinate_system: string;
|
|
3232
|
-
ground_height: number;
|
|
3233
|
-
lon_lat_alt: [number, number, number];
|
|
3234
|
-
pose_ecef_to_enu: number[];
|
|
3235
|
-
pose_enu_to_ecef: number[];
|
|
3236
|
-
version: number;
|
|
3237
|
-
};
|
|
3238
|
-
};
|
|
3331
|
+
rootMeta: NonNullable<TilesetHeader['rootMeta']>;
|
|
3239
3332
|
transform: THREE_2.Matrix4;
|
|
3240
3333
|
transformIsIdentity: boolean;
|
|
3241
3334
|
geometricError: number;
|
|
3242
3335
|
cache: TileCache;
|
|
3243
|
-
requestScheduler: TileRequestScheduler
|
|
3336
|
+
requestScheduler: TileRequestScheduler;
|
|
3244
3337
|
private normalTraverser;
|
|
3245
3338
|
private skipTraverser;
|
|
3339
|
+
private mostDetailTraverser;
|
|
3246
3340
|
private memoryUsageInBytes;
|
|
3247
3341
|
maxMemoryUsage: number;
|
|
3248
3342
|
maxScreenSpaceError: number;
|
|
3249
3343
|
skipLevelOfDetail: boolean;
|
|
3344
|
+
mostDetail: boolean;
|
|
3250
3345
|
loadSiblings: boolean;
|
|
3346
|
+
loadAll: boolean;
|
|
3251
3347
|
maxRequests: number;
|
|
3348
|
+
tileRequestOrder: TileRequestOrder;
|
|
3252
3349
|
loadedTiles: Set<Tile>;
|
|
3253
3350
|
needsRefinedTiles: Set<Tile>;
|
|
3254
3351
|
requestedTiles: Tile[];
|
|
3255
3352
|
selectedTiles: Tile[];
|
|
3256
|
-
|
|
3353
|
+
unloadTiles: Tile[];
|
|
3354
|
+
trajectories: Trajectory[];
|
|
3355
|
+
selectedTrajectories: Trajectory[];
|
|
3356
|
+
pointLength: number;
|
|
3357
|
+
floorLength: number;
|
|
3257
3358
|
constructor(id: string, header: TilesetHeader, options: TilesetOptions);
|
|
3258
3359
|
private get traverser();
|
|
3259
3360
|
/** Release resources */
|
|
3260
3361
|
reset(): void;
|
|
3261
|
-
|
|
3262
|
-
isLoaded(): boolean;
|
|
3263
|
-
traverse(frameState: TilesetFrameState, cacheFrameStates?: TilesetFrameState[]): void;
|
|
3264
|
-
loadTile(tile: Tile): void;
|
|
3265
|
-
unloadTile(tile: Tile): void;
|
|
3362
|
+
update(frameState: TilesetFrameState, cacheFrameStates?: TilesetFrameState[]): void;
|
|
3266
3363
|
}
|
|
3267
3364
|
|
|
3268
3365
|
export declare type TilesetFrameState = {
|
|
3366
|
+
frameNumber: number;
|
|
3367
|
+
time: number;
|
|
3269
3368
|
camera: {
|
|
3270
3369
|
type: "PerspectiveCamera" | "OrthographicCamera";
|
|
3271
3370
|
near: number;
|
|
@@ -3279,11 +3378,9 @@ export declare type TilesetFrameState = {
|
|
|
3279
3378
|
height: number;
|
|
3280
3379
|
pixelRatio: number;
|
|
3281
3380
|
cullingVolume: CullingVolume;
|
|
3282
|
-
frameNumber: number;
|
|
3283
3381
|
sseDenominator: number;
|
|
3284
3382
|
minLevelOfDetail: number;
|
|
3285
3383
|
maxLevelOfDetail: number;
|
|
3286
|
-
maxScreenSpaceError: number;
|
|
3287
3384
|
};
|
|
3288
3385
|
|
|
3289
3386
|
export declare interface TilesetHeader {
|
|
@@ -3297,6 +3394,10 @@ export declare interface TilesetHeader {
|
|
|
3297
3394
|
imageWidth: number;
|
|
3298
3395
|
imageHeight: number;
|
|
3299
3396
|
};
|
|
3397
|
+
trajectories?: {
|
|
3398
|
+
version: string;
|
|
3399
|
+
list: TrajectoryHeader[];
|
|
3400
|
+
};
|
|
3300
3401
|
[key: string]: any;
|
|
3301
3402
|
};
|
|
3302
3403
|
properties?: Record<string, any>;
|
|
@@ -3305,7 +3406,11 @@ export declare interface TilesetHeader {
|
|
|
3305
3406
|
rootMeta?: {
|
|
3306
3407
|
creationTime?: string;
|
|
3307
3408
|
upAxis?: string;
|
|
3409
|
+
numFloors?: number;
|
|
3410
|
+
numTotalPoints?: number;
|
|
3411
|
+
numTrajectories?: number;
|
|
3308
3412
|
coordinate?: {
|
|
3413
|
+
version: number;
|
|
3309
3414
|
base_keyframe: number;
|
|
3310
3415
|
base_trajectory: number;
|
|
3311
3416
|
coordinate_system: string;
|
|
@@ -3313,7 +3418,6 @@ export declare interface TilesetHeader {
|
|
|
3313
3418
|
lon_lat_alt: [number, number, number];
|
|
3314
3419
|
pose_ecef_to_enu: number[];
|
|
3315
3420
|
pose_enu_to_ecef: number[];
|
|
3316
|
-
version: number;
|
|
3317
3421
|
};
|
|
3318
3422
|
};
|
|
3319
3423
|
}
|
|
@@ -3321,15 +3425,59 @@ export declare interface TilesetHeader {
|
|
|
3321
3425
|
export declare interface TilesetOptions {
|
|
3322
3426
|
url?: string;
|
|
3323
3427
|
referer?: string;
|
|
3324
|
-
|
|
3428
|
+
tileLoader: (tile: Tile) => Promise<void>;
|
|
3429
|
+
tileUnloader: (tile: Tile) => Promise<void>;
|
|
3325
3430
|
onTileLoad: (tile: Tile) => any;
|
|
3326
3431
|
onTileUnload: (tile: Tile) => any;
|
|
3327
3432
|
onTileError: (tile: Tile, error: Error) => any;
|
|
3433
|
+
trajectoryLoader: (trajectory: Trajectory) => Promise<void>;
|
|
3434
|
+
trajectoryUnloader: (trajectory: Trajectory) => Promise<void>;
|
|
3435
|
+
onTrajectoryLoad: (trajectory: Trajectory) => any;
|
|
3436
|
+
onTrajectoryUnload: (trajectory: Trajectory) => any;
|
|
3437
|
+
onTrajectoryError: (trajectory: Trajectory, error: Error) => any;
|
|
3328
3438
|
}
|
|
3329
3439
|
|
|
3330
3440
|
export declare interface TopviewControllerCustomInitArgs extends Omit<FloorplanControllerCustomInitArgs, "defaultLongitude" | "defaultLatitude" | "maxLatitude" | "minLatitude"> {
|
|
3331
3441
|
}
|
|
3332
3442
|
|
|
3443
|
+
export declare class Trajectory {
|
|
3444
|
+
index: number;
|
|
3445
|
+
name: string;
|
|
3446
|
+
tileset: Tileset;
|
|
3447
|
+
transform: THREE_2.Matrix4;
|
|
3448
|
+
visible: boolean;
|
|
3449
|
+
content: {
|
|
3450
|
+
uri: string;
|
|
3451
|
+
color: THREE_2.Color;
|
|
3452
|
+
data?: TrajectoryContentData;
|
|
3453
|
+
loadState: 'LOADING' | 'UNLOADED' | 'READY' | 'FAILED';
|
|
3454
|
+
byteLength: number;
|
|
3455
|
+
};
|
|
3456
|
+
constructor(index: number, header: TrajectoryHeader, tileset: Tileset);
|
|
3457
|
+
}
|
|
3458
|
+
|
|
3459
|
+
export declare type TrajectoryContentData = {
|
|
3460
|
+
byteLength: number;
|
|
3461
|
+
uri: string;
|
|
3462
|
+
object: TrajectoryNode;
|
|
3463
|
+
};
|
|
3464
|
+
|
|
3465
|
+
export declare interface TrajectoryHeader {
|
|
3466
|
+
file: string;
|
|
3467
|
+
name: string;
|
|
3468
|
+
color?: number | string;
|
|
3469
|
+
transform?: number[];
|
|
3470
|
+
}
|
|
3471
|
+
|
|
3472
|
+
export declare class TrajectoryNode extends THREE_2.Object3D {
|
|
3473
|
+
name: string;
|
|
3474
|
+
private line;
|
|
3475
|
+
private edge;
|
|
3476
|
+
constructor(name: string, line: THREE_2.Line<THREE_2.BufferGeometry, THREE_2.ShaderMaterial>, edge: THREE_2.Points<THREE_2.BufferGeometry, THREE_2.ShaderMaterial>);
|
|
3477
|
+
update(renderer: THREE_2.WebGLRenderer, camera: Camera, model: Model): void;
|
|
3478
|
+
dispose(): void;
|
|
3479
|
+
}
|
|
3480
|
+
|
|
3333
3481
|
export declare enum VolumePlaneIntersect {
|
|
3334
3482
|
Outside = -1,
|
|
3335
3483
|
Intersecting = 0,
|