@realsee/five 5.0.0-alpha.91 → 5.0.0-alpha.95

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 (107) 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 +3 -3
  4. package/docs/classes/five.BVHIntersect.html +1 -0
  5. package/docs/classes/five.BVHNode.html +3 -4
  6. package/docs/classes/five.BVHVector3.html +1 -1
  7. package/docs/classes/five.Camera.html +1 -1
  8. package/docs/classes/five.Five.html +17 -17
  9. package/docs/classes/five.InternalWebGLRenderer.html +1 -1
  10. package/docs/classes/five.IntersectMesh.html +1 -0
  11. package/docs/classes/five.LegacyPanoCircleMesh.html +5 -0
  12. package/docs/classes/five.Model.html +3 -3
  13. package/docs/classes/five.NetworkSubscribe.html +1 -1
  14. package/docs/classes/five.PBMContainer.html +1 -1
  15. package/docs/classes/five.PBMGroup.html +1 -1
  16. package/docs/classes/five.PBMMaterial.html +1 -1
  17. package/docs/classes/five.PBMMesh.html +1 -1
  18. package/docs/classes/five.PanoCircleMesh.html +7 -0
  19. package/docs/classes/five.Scene.html +1 -1
  20. package/docs/classes/five.Subscribe.html +2 -2
  21. package/docs/classes/five.Work.html +19 -1
  22. package/docs/classes/gltf_loader.GLTFLoader.html +1 -1
  23. package/docs/classes/gltf_loader.GLTFObject.html +1 -1
  24. package/docs/classes/line.Line.html +1 -1
  25. package/docs/classes/line.LineGeometry.html +1 -1
  26. package/docs/classes/line.LineMaterial.html +1 -1
  27. package/docs/classes/line.LineSegmentsGeometry.html +1 -1
  28. package/docs/classes/line.THREE_Line2.html +1 -1
  29. package/docs/classes/line.THREE_LineSegments2.html +1 -1
  30. package/docs/classes/react.Store.html +1 -1
  31. package/docs/classes/server.BVH.html +3 -3
  32. package/docs/classes/server.BVHIntersect.html +1 -0
  33. package/docs/classes/server.BVHNode.html +3 -4
  34. package/docs/classes/server.BVHVector3.html +1 -1
  35. package/docs/classes/server.Model.html +3 -3
  36. package/docs/classes/server.PBMGroup.html +1 -1
  37. package/docs/classes/server.PBMMesh.html +1 -1
  38. package/docs/classes/sticker.Sticker.html +1 -1
  39. package/docs/index.html +1 -1
  40. package/docs/interfaces/five.AddableObject.html +1 -1
  41. package/docs/interfaces/five.AnimationFrame.html +1 -1
  42. package/docs/interfaces/five.CameraPose.html +1 -1
  43. package/docs/interfaces/five.DepthPanoramaControllerCustomInitArgs.html +12 -12
  44. package/docs/interfaces/five.EventCallback.html +1 -1
  45. package/docs/interfaces/five.FiveInitArgs.html +1 -1
  46. package/docs/interfaces/five.FloorplanControllerCustomInitArgs.html +1 -1
  47. package/docs/interfaces/five.ImageOptions.html +3 -3
  48. package/docs/interfaces/five.ImageURLOptions.html +1 -1
  49. package/docs/interfaces/five.IntersectMeshInterface.html +3 -1
  50. package/docs/interfaces/five.Intersection.html +1 -1
  51. package/docs/interfaces/five.ModelControllerCustomInitArgs.html +9 -9
  52. package/docs/interfaces/five.ModelEventCallback.html +1 -1
  53. package/docs/interfaces/five.MovePanoOptions.html +1 -1
  54. package/docs/interfaces/five.PBMPanoPicture.html +1 -1
  55. package/docs/interfaces/five.PBMParameters.html +1 -1
  56. package/docs/interfaces/five.PanoCircleMeshInterface.html +7 -3
  57. package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +12 -12
  58. package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +9 -9
  59. package/docs/interfaces/five.Pose.html +1 -1
  60. package/docs/interfaces/five.Scissor.html +1 -1
  61. package/docs/interfaces/five.State.html +1 -1
  62. package/docs/interfaces/five.SubscribeMixinType.emit.html +1 -1
  63. package/docs/interfaces/five.SubscribeMixinType.hasListener.html +1 -1
  64. package/docs/interfaces/five.SubscribeMixinType.off.html +1 -1
  65. package/docs/interfaces/five.SubscribeMixinType.on.html +1 -1
  66. package/docs/interfaces/five.SubscribeMixinType.once.html +1 -1
  67. package/docs/interfaces/five.TextureOptions.html +3 -3
  68. package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +1 -1
  69. package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +11 -11
  70. package/docs/interfaces/five.WorkCubeImage.html +13 -1
  71. package/docs/interfaces/five.WorkImage.html +20 -2
  72. package/docs/interfaces/five.WorkInitial.html +1 -1
  73. package/docs/interfaces/five.WorkModel.html +10 -2
  74. package/docs/interfaces/five.WorkObserver.html +24 -2
  75. package/docs/interfaces/five.WorkTile.html +1 -1
  76. package/docs/interfaces/five.WorkVideo.html +8 -2
  77. package/docs/interfaces/gltf_loader.GLTF.html +1 -1
  78. package/docs/interfaces/react.FiveActionReactCallbacks.html +1 -1
  79. package/docs/interfaces/react.FiveInjectionTypes.html +4 -4
  80. package/docs/interfaces/react.PropTypeOfFiveFeatures.html +1 -1
  81. package/docs/interfaces/server.Intersection.html +1 -1
  82. package/docs/interfaces/server.ModelEventCallback.html +1 -1
  83. package/docs/interfaces/sticker.IntersectionLike.html +1 -1
  84. package/docs/modules/five.SubscribeMixinType.html +1 -1
  85. package/docs/modules/five.html +4 -4
  86. package/docs/modules/gltf_loader.html +1 -1
  87. package/docs/modules/line.html +1 -1
  88. package/docs/modules/react.html +1 -1
  89. package/docs/modules/server.html +2 -2
  90. package/docs/modules/sticker.html +1 -1
  91. package/docs/modules.html +1 -1
  92. package/five/index.d.ts +126 -56
  93. package/five/index.js +7 -7
  94. package/gltf-loader/index.js +2 -2
  95. package/line/index.js +2 -2
  96. package/package.json +1 -1
  97. package/react/index.js +2 -2
  98. package/scripts/five-plugin-init.js +0 -0
  99. package/scripts/five-quick-start-init.js +0 -0
  100. package/scripts/five-react-component-init.js +0 -0
  101. package/scripts/five-staticify.js +0 -0
  102. package/server/index.d.ts +56 -50
  103. package/server/index.js +6 -6
  104. package/sticker/index.js +2 -2
  105. package/umd/five.js +1 -1
  106. package/docs/interfaces/five.BVHIntersect.html +0 -1
  107. package/docs/interfaces/server.BVHIntersect.html +0 -1
package/five/index.d.ts CHANGED
@@ -40,23 +40,14 @@ export declare class AnimationFrameLoop {
40
40
  }
41
41
 
42
42
  export declare class BVH {
43
- _trianglesArray: Float32Array;
44
- _maxTrianglesPerNode: number;
45
- _bboxArray: Float32Array;
46
- _bboxHelper: Float32Array;
47
- _rootNode: BVHNode | null;
48
- _nodesToSplit: BVHNode[];
49
- constructor(trianglesArray: Float32Array, maxTrianglesPerNode?: number);
50
- private calcBoundingBoxes;
51
- splitNode(): void;
52
- private _splitNode;
53
- /**
54
- * 计算包围盒
55
- * @param startIndex - 开始的三角形序号
56
- * @param endIndex - 结束的三角形序号
57
- * @param expandBy - 外面扩展
58
- */
59
- private calcExtents;
43
+ private trianglesArray;
44
+ private offsetArray;
45
+ private maxTrianglesPerNode;
46
+ private bboxArray;
47
+ private rootNode;
48
+ private nodesToSplit;
49
+ constructor(trianglesArray: Float32Array, maxTrianglesPerNode: number);
50
+ private splitNode;
60
51
  /**
61
52
  * 计算射线与三角形的碰撞
62
53
  * @param rayOrigin - 射线的原点坐标
@@ -68,49 +59,28 @@ export declare class BVH {
68
59
  dispose(): void;
69
60
  }
70
61
 
71
- export declare interface BVHIntersect {
62
+ export declare class BVHIntersect {
72
63
  triangle: [BVHVector3, BVHVector3, BVHVector3];
73
64
  triangleIndex: number;
74
65
  intersectionPoint: BVHVector3;
66
+ constructor(triangle: [BVHVector3, BVHVector3, BVHVector3], triangleIndex: number, intersectionPoint: BVHVector3);
75
67
  }
76
68
 
77
69
  /**
78
70
  * A node in the BVH structure
79
- * @param extentsMin - the min coords of this node's bounding box
80
- * @param extentsMax - the max coords of this node's bounding box
71
+ * @param extents - the min coords of this node's bounding box
81
72
  * @param startIndex - an index in the bbox array, where the first element of this node is located
82
73
  * @param endIndex - an index in the bbox array, where the last of this node is located, plus 1 (meaning that its non-inclusive).
83
74
  * @param level - distance of this node from the root for the bvh tree. root node has level=0, its children have level=1 etc.
84
75
  */
85
76
  export declare class BVHNode {
86
- _extentsMin: {
87
- x: number;
88
- y: number;
89
- z: number;
90
- };
91
- _extentsMax: {
92
- x: number;
93
- y: number;
94
- z: number;
95
- };
96
- _startIndex: number;
97
- _endIndex: number;
98
- _level: number;
99
- _node0: BVHNode | null;
100
- _node1: BVHNode | null;
101
- elementCount: number;
102
- center: number[];
103
- size: number[];
104
- order: number[];
105
- constructor(extentsMin: {
106
- x: number;
107
- y: number;
108
- z: number;
109
- }, extentsMax: {
110
- x: number;
111
- y: number;
112
- z: number;
113
- }, startIndex: number, endIndex: number, level: number);
77
+ extents: ArrayLike<number>;
78
+ startIndex: number;
79
+ endIndex: number;
80
+ level: number;
81
+ node0: BVHNode | null;
82
+ node1: BVHNode | null;
83
+ constructor(extents: ArrayLike<number>, startIndex: number, endIndex: number, level: number);
114
84
  clearShapes(): void;
115
85
  }
116
86
 
@@ -118,10 +88,10 @@ export declare class BVHVector3 {
118
88
  x: number;
119
89
  y: number;
120
90
  z: number;
121
- constructor(x?: number, y?: number, z?: number);
91
+ constructor(x: number, y: number, z: number);
122
92
  copy(v: BVHVector3): this;
123
93
  set(x: number, y: number, z: number): this;
124
- fromArray(array: ArrayLike<number>, firstElementPos?: number): this;
94
+ fromArray(array: number[], firstElementPos?: number): this;
125
95
  add(v: BVHVector3): this;
126
96
  multiplyScalar(scalar: number): this;
127
97
  subVectors(a: BVHVector3, b: BVHVector3): this;
@@ -1227,11 +1197,11 @@ export declare interface ImageOptions {
1227
1197
  * @returns 转化后地址
1228
1198
  */
1229
1199
  transform?: (url: string, options: ImageURLOptions) => string;
1230
- /** 图片尺寸参数 */
1200
+ /** 图片尺寸参数 尽量使用 2 的幂次 如 512 1024 2048 */
1231
1201
  size?: number;
1232
1202
  /** 图片质量参数(0-100) */
1233
1203
  quality?: number;
1234
- /** 图片格式参数(jpg, png) */
1204
+ /** 图片格式参数 */
1235
1205
  format?: "jpg" | "png" | "heif" | "webp" | "avif";
1236
1206
  }
1237
1207
 
@@ -1266,10 +1236,41 @@ export declare interface Intersection {
1266
1236
  distance: number;
1267
1237
  }
1268
1238
 
1239
+ export declare class IntersectMesh extends THREE_2.Object3D implements IntersectMeshInterface {
1240
+ private ringMesh;
1241
+ constructor();
1242
+ dispose(): void;
1243
+ }
1244
+
1245
+ /**
1246
+ * 地面提示点位接口
1247
+ */
1269
1248
  export declare interface IntersectMeshInterface extends THREE_2.Object3D {
1270
1249
  dispose(): void;
1271
1250
  }
1272
1251
 
1252
+ export declare class LegacyPanoCircleMesh extends THREE_2.Object3D implements PanoCircleMeshInterface {
1253
+ needsRender: boolean;
1254
+ current: boolean;
1255
+ loading: boolean;
1256
+ disabled: boolean;
1257
+ progress: number;
1258
+ opacity: number;
1259
+ private centerMesh;
1260
+ private loadingMesh;
1261
+ private progressMotion;
1262
+ private opacityMotion;
1263
+ private stopInterval?;
1264
+ constructor();
1265
+ setLoading(shown: boolean): void;
1266
+ setDisabled(disabled: boolean): void;
1267
+ setProgress(progress: number): void;
1268
+ setOpacity(opacity: number): void;
1269
+ setCurrent(current: boolean): void;
1270
+ updateTime(time: number, deltaTime: number): void;
1271
+ dispose(): void;
1272
+ }
1273
+
1273
1274
  export declare type LooseWork = {
1274
1275
  bvh?: boolean;
1275
1276
  modelAsync?: boolean;
@@ -1578,6 +1579,37 @@ export declare class NetworkSubscribe extends Subscribe<{
1578
1579
 
1579
1580
  export declare type NetworkType = "XMLHttpRequest" | "Script" | "Image" | "Link";
1580
1581
 
1582
+ export declare class PanoCircleMesh extends THREE_2.Object3D implements PanoCircleMeshInterface {
1583
+ needsRender: boolean;
1584
+ private loadingMesh;
1585
+ private disableMesh;
1586
+ private centerMesh;
1587
+ private ringMesh;
1588
+ private progressMesh;
1589
+ private ringRotateMotion;
1590
+ private tapMotion;
1591
+ private progressMotion;
1592
+ private progressOpacityMotion;
1593
+ private opacityMotion;
1594
+ progress: number;
1595
+ opacity: number;
1596
+ current: boolean;
1597
+ loading: boolean;
1598
+ disabled: boolean;
1599
+ constructor();
1600
+ setProgress(progress: number): void;
1601
+ setOpacity(opacity: number): void;
1602
+ setCurrent(current: boolean): void;
1603
+ setLoading(loading: boolean): void;
1604
+ setDisabled(disabled: boolean): void;
1605
+ tap(): Promise<void>;
1606
+ updateTime(time: number, deltaTime: number): void;
1607
+ dispose(): void;
1608
+ }
1609
+
1610
+ /**
1611
+ * 地面提示点位接口
1612
+ */
1581
1613
  export declare interface PanoCircleMeshInterface extends THREE_2.Object3D {
1582
1614
  needsRender: boolean;
1583
1615
  /** 当前高亮 */
@@ -1585,14 +1617,16 @@ export declare interface PanoCircleMeshInterface extends THREE_2.Object3D {
1585
1617
  /** 是否当前高亮 */
1586
1618
  setCurrent(current: boolean): void;
1587
1619
  loading: boolean;
1588
- setLoading(shown: boolean): void;
1620
+ setLoading(loading: boolean): void;
1589
1621
  disabled: boolean;
1590
1622
  setDisabled(disabled: boolean): void;
1591
1623
  progress: number;
1592
1624
  setProgress(progress: number): void;
1593
1625
  opacity: number;
1594
1626
  setOpacity(opacity: number): void;
1595
- updateTime(time: number, deltaTime: number): void;
1627
+ updateTime?(time: number, deltaTime: number): void;
1628
+ /** 点击交互 */
1629
+ tap?(): Promise<void>;
1596
1630
  dispose(): void;
1597
1631
  }
1598
1632
 
@@ -1879,11 +1913,11 @@ export declare interface TextureOptions {
1879
1913
  * @returns 转化后地址
1880
1914
  */
1881
1915
  transform?: (url: string, options: ImageURLOptions) => string;
1882
- /** 图片尺寸参数 */
1916
+ /** 图片尺寸参数 尽量使用 2 的幂次 如 256 512 1024 */
1883
1917
  size?: number;
1884
1918
  /** 图片质量参数(0-100) */
1885
1919
  quality?: number;
1886
- /** 图片格式参数(jpg, png) */
1920
+ /** 图片格式参数 */
1887
1921
  format?: "jpg" | "png" | "heif" | "webp" | "avif";
1888
1922
  /** 针对 textureOptions 是否自动通过模型贴图的数量计算需要的模型贴图的尺寸 默认 true */
1889
1923
  autoResize?: boolean;
@@ -1902,32 +1936,50 @@ export declare interface VRPanoramaControllerCustomInitArgs extends Omit<Panoram
1902
1936
  }
1903
1937
 
1904
1938
  export declare class Work {
1939
+ /** 名称 */
1905
1940
  name: string;
1941
+ /** 编号 */
1906
1942
  workCode: string;
1943
+ /** 允许访问的安全域名 */
1907
1944
  allowHosts: string[];
1945
+ /** 过期时间 */
1908
1946
  expire: Date;
1947
+ /** 初始化参数 */
1909
1948
  initial: WorkInitial;
1949
+ /** 模型参数 */
1910
1950
  model?: WorkModel;
1951
+ /** 全景点位信息 */
1911
1952
  observers: WorkObserver[];
1953
+ /** 数据签发人 */
1912
1954
  issuer: string;
1955
+ /** 原始数据 */
1913
1956
  raw: any;
1914
1957
  constructor();
1915
1958
  toJSON(): any;
1916
1959
  }
1917
1960
 
1918
1961
  export declare interface WorkCubeImage {
1962
+ /** 全景图 up */
1919
1963
  up: string;
1964
+ /** 全景图 down */
1920
1965
  down: string;
1966
+ /** 全景图 right */
1921
1967
  right: string;
1968
+ /** 全景图 left */
1922
1969
  left: string;
1970
+ /** 全景图 front */
1923
1971
  front: string;
1972
+ /** 全景图 back */
1924
1973
  back: string;
1925
1974
  }
1926
1975
 
1927
1976
  /** 全景图 */
1928
1977
  export declare interface WorkImage extends WorkCubeImage {
1978
+ /** 深度图 */
1929
1979
  depth?: string;
1980
+ /** 光照强度图 */
1930
1981
  luminance?: WorkCubeImage;
1982
+ /** 瓦片信息 */
1931
1983
  tiles?: WorkTile[];
1932
1984
  }
1933
1985
 
@@ -1937,24 +1989,39 @@ export declare interface WorkInitial extends Omit<State, "offset"> {
1937
1989
 
1938
1990
  /** 模型数据 */
1939
1991
  export declare interface WorkModel {
1992
+ /** 模型文件地址 at3d / domez */
1940
1993
  file: string;
1994
+ /** 模型贴图文件地址 */
1941
1995
  textures: string[];
1996
+ /** 模型贴图文件地址的父目录 */
1942
1997
  textureBase: string;
1998
+ /** 是否开启 bvh 碰撞树,开启会大大加快射线碰撞的执行效率 */
1943
1999
  bvh: boolean;
1944
2000
  }
1945
2001
 
1946
2002
  /** 每个点位的数据 */
1947
2003
  export declare interface WorkObserver {
2004
+ /** 点位序号 */
1948
2005
  panoIndex: number;
2006
+ /** 点位是否激活可用 */
1949
2007
  active: boolean;
2008
+ /** 点位是否可加载 */
1950
2009
  loadable: boolean;
2010
+ /** 点位全景图 */
1951
2011
  images: WorkImage;
2012
+ /** 点位视频 */
1952
2013
  video?: WorkVideo;
2014
+ /** 可以看到的相关点位序号 */
1953
2015
  visibleNodes: number[];
2016
+ /** 可以连通的相关点位序号 */
1954
2017
  accessibleNodes: number[];
2018
+ /** 点位和模型的旋转对齐关系四元数 */
1955
2019
  quaternion: THREE_2.Quaternion;
2020
+ /** 点位和模型的地面位置坐标关系 */
1956
2021
  standingPosition: THREE_2.Vector3;
2022
+ /** 点位和模型的观察点坐标关系 */
1957
2023
  position: THREE_2.Vector3;
2024
+ /** 点位所在楼层 */
1958
2025
  floorIndex: number;
1959
2026
  }
1960
2027
 
@@ -1971,8 +2038,11 @@ export declare interface WorkTile {
1971
2038
 
1972
2039
  /** 全景视频贴片 */
1973
2040
  export declare interface WorkVideo {
2041
+ /** 视频源 url */
1974
2042
  source: string;
2043
+ /** 视频源变化矩阵 */
1975
2044
  matrix: THREE_2.Matrix4;
2045
+ /** 视频源长宽尺寸 */
1976
2046
  size: THREE_2.Vector2;
1977
2047
  }
1978
2048