@realsee/dnalogel 2.0.0-alpha.8 → 2.0.0-alpha.9

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 (241) hide show
  1. package/CHANGELOG.md +3 -0
  2. package/dist/CSS3DRenderPlugin/index.d.ts +49 -0
  3. package/dist/CSS3DRenderPlugin/index.js +233 -0
  4. package/dist/CSS3DRenderPlugin/utils/createResizeObserver.d.ts +7 -0
  5. package/dist/CameraMovementPlugin/index.d.ts +7 -0
  6. package/dist/CameraMovementPlugin/index.js +302 -0
  7. package/dist/CameraMovementPlugin/typing.d.ts +68 -0
  8. package/dist/ModelChassisCompassPlugin/index.d.ts +19 -0
  9. package/dist/ModelChassisCompassPlugin/index.js +142 -0
  10. package/dist/ModelEntryDoorGuidePlugin/index.d.ts +26 -0
  11. package/dist/ModelEntryDoorGuidePlugin/index.js +196 -0
  12. package/dist/ModelRoomLabelPlugin/Assets/roomLabelBg.d.ts +1 -0
  13. package/dist/ModelRoomLabelPlugin/Controller.d.ts +36 -0
  14. package/dist/ModelRoomLabelPlugin/index.d.ts +12 -0
  15. package/dist/ModelRoomLabelPlugin/index.js +461 -0
  16. package/dist/ModelRoomLabelPlugin/typings.d.ts +35 -0
  17. package/dist/ModelRoomLabelPlugin/utils/parseData.d.ts +3 -0
  18. package/dist/ModelViewPlugin/index.d.ts +17 -0
  19. package/dist/ModelViewPlugin/index.js +187 -0
  20. package/dist/PanoCompassPlugin/Assets/roomInfoIcon.d.ts +1 -0
  21. package/dist/PanoCompassPlugin/getRoomInfoInstance.d.ts +8 -0
  22. package/dist/PanoCompassPlugin/index.d.ts +51 -0
  23. package/dist/PanoCompassPlugin/index.js +523 -0
  24. package/dist/PanoCursorRaycasterPlugin/index.d.ts +48 -0
  25. package/dist/PanoCursorRaycasterPlugin/index.js +88 -0
  26. package/dist/PanoMeasurePlugin/Controller/BaseController.d.ts +36 -0
  27. package/dist/PanoMeasurePlugin/Controller/EditController.d.ts +52 -0
  28. package/dist/PanoMeasurePlugin/Controller/ShortcutKeyController.d.ts +12 -0
  29. package/dist/PanoMeasurePlugin/Controller/WatchController.d.ts +25 -0
  30. package/dist/PanoMeasurePlugin/Controller/index.d.ts +61 -0
  31. package/dist/PanoMeasurePlugin/Model/index.d.ts +38 -0
  32. package/dist/PanoMeasurePlugin/Model/line.d.ts +30 -0
  33. package/dist/PanoMeasurePlugin/Model/point.d.ts +16 -0
  34. package/dist/PanoMeasurePlugin/Model/polyline.d.ts +16 -0
  35. package/dist/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete.svg.d.ts +2 -0
  36. package/dist/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete_bg.png.d.ts +2 -0
  37. package/dist/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete_hover_bg.png.d.ts +2 -0
  38. package/dist/PanoMeasurePlugin/Modules/DeleteDom/index.d.ts +22 -0
  39. package/dist/PanoMeasurePlugin/Modules/FiveHelper.d.ts +11 -0
  40. package/dist/PanoMeasurePlugin/Modules/GuideController.d.ts +18 -0
  41. package/dist/PanoMeasurePlugin/Modules/Magnifier.d.ts +24 -0
  42. package/dist/PanoMeasurePlugin/Modules/UIController/HTML.d.ts +6 -0
  43. package/dist/PanoMeasurePlugin/Modules/UIController/MainBtnController.d.ts +18 -0
  44. package/dist/PanoMeasurePlugin/Modules/UIController/Revoke/index.d.ts +12 -0
  45. package/dist/PanoMeasurePlugin/Modules/UIController/index.d.ts +16 -0
  46. package/dist/PanoMeasurePlugin/Modules/UIController/style.d.ts +17 -0
  47. package/dist/PanoMeasurePlugin/index.d.ts +7 -0
  48. package/dist/PanoMeasurePlugin/index.js +4789 -0
  49. package/dist/PanoMeasurePlugin/typings/data.d.ts +28 -0
  50. package/dist/PanoMeasurePlugin/typings/event.type.d.ts +28 -0
  51. package/dist/PanoMeasurePlugin/typings/utils.type.d.ts +1 -0
  52. package/dist/PanoMeasurePlugin/utils/clearGroup.d.ts +2 -0
  53. package/dist/PanoMeasurePlugin/utils/constants.d.ts +4 -0
  54. package/dist/PanoMeasurePlugin/utils/distanceDom.d.ts +28 -0
  55. package/dist/PanoMeasurePlugin/utils/findAssociatedLines.d.ts +2 -0
  56. package/dist/PanoMeasurePlugin/utils/findClosestPoint.d.ts +10 -0
  57. package/dist/PanoMeasurePlugin/utils/getIntersectionFromEvent.d.ts +4 -0
  58. package/dist/PanoMeasurePlugin/utils/getPointFromHammerEvent.d.ts +10 -0
  59. package/dist/PanoMeasurePlugin/utils/ironbox.d.ts +1 -0
  60. package/dist/PanoMeasurePlugin/utils/isNDCPointInScreen.d.ts +2 -0
  61. package/dist/PanoMeasurePlugin/utils/line.d.ts +17 -0
  62. package/dist/PanoMeasurePlugin/utils/math.d.ts +17 -0
  63. package/dist/PanoMeasurePlugin/utils/mouseGroup.d.ts +2 -0
  64. package/dist/PanoMeasurePlugin/utils/ndc2Screen.d.ts +5 -0
  65. package/dist/PanoRulerPlugin/index.d.ts +31 -0
  66. package/dist/PanoRulerPlugin/index.js +610 -0
  67. package/dist/PanoRulerPlugin/style.d.ts +2 -0
  68. package/dist/PanoRulerPlugin/typings.d.ts +21 -0
  69. package/dist/floorplan/Assets/camera.d.ts +1 -0
  70. package/dist/floorplan/Assets/floorplanExtraObject.d.ts +1 -0
  71. package/dist/floorplan/ModelFloorplanPlugin/Assets/compass.d.ts +1 -0
  72. package/dist/floorplan/ModelFloorplanPlugin/Controller.d.ts +104 -0
  73. package/dist/floorplan/ModelFloorplanPlugin/index.d.ts +9 -0
  74. package/dist/floorplan/ModelFloorplanPlugin/index.js +3827 -0
  75. package/dist/floorplan/ModelFloorplanPlugin/typings/events.type.d.ts +23 -0
  76. package/dist/floorplan/ModelFloorplanPlugin/utils/constant.d.ts +15 -0
  77. package/dist/floorplan/ModelFloorplanPlugin/utils/correctFiveState.d.ts +14 -0
  78. package/dist/floorplan/PanoFloorplanRadarPlugin/Controller.d.ts +28 -0
  79. package/dist/floorplan/PanoFloorplanRadarPlugin/index.d.ts +8 -0
  80. package/dist/floorplan/PanoFloorplanRadarPlugin/index.js +1673 -0
  81. package/dist/floorplan/TopviewFloorplanPlugin/Controller.d.ts +61 -0
  82. package/dist/floorplan/TopviewFloorplanPlugin/index.d.ts +5 -0
  83. package/dist/floorplan/TopviewFloorplanPlugin/index.js +3466 -0
  84. package/dist/floorplan/TopviewFloorplanPlugin/style.d.ts +1 -0
  85. package/dist/floorplan/constant.d.ts +5 -0
  86. package/dist/floorplan/typings/floorplanData.d.ts +137 -0
  87. package/dist/floorplan/typings/floorplanServerData.d.ts +131 -0
  88. package/dist/floorplan/typings/utility.d.ts +2 -0
  89. package/dist/floorplan/utils/formatData.d.ts +5 -0
  90. package/dist/floorplan/utils/formatPosition.d.ts +36 -0
  91. package/dist/index.d.ts +24 -0
  92. package/dist/index.es.js +11887 -0
  93. package/dist/index.js +11925 -0
  94. package/dist/index.umd.js +11920 -0
  95. package/dist/shared-utils/Preloader.d.ts +6 -0
  96. package/dist/shared-utils/Subscribe.d.ts +45 -0
  97. package/dist/shared-utils/animationFrame/BetterTween.d.ts +11 -0
  98. package/dist/shared-utils/animationFrame/calculateProgress.d.ts +8 -0
  99. package/dist/shared-utils/animationFrame/formatRad.d.ts +15 -0
  100. package/dist/shared-utils/animationFrame/index.d.ts +15 -0
  101. package/dist/shared-utils/animationFrame/tween.d.ts +75 -0
  102. package/dist/shared-utils/changeModelCanvasOpacity.d.ts +2 -0
  103. package/dist/shared-utils/createCanvasTextTexture.d.ts +8 -0
  104. package/dist/shared-utils/createLine/index.d.ts +3 -0
  105. package/dist/shared-utils/debounce.d.ts +6 -0
  106. package/dist/shared-utils/equal.d.ts +11 -0
  107. package/dist/shared-utils/filter.d.ts +27 -0
  108. package/dist/shared-utils/five/changeMode.d.ts +2 -0
  109. package/dist/shared-utils/five/useFivePlugin.d.ts +1 -0
  110. package/dist/shared-utils/formatRad.d.ts +7 -0
  111. package/dist/shared-utils/getPxmm.d.ts +11 -0
  112. package/dist/shared-utils/getRandomColor.d.ts +1 -0
  113. package/dist/shared-utils/isNil.d.ts +10 -0
  114. package/dist/shared-utils/isTruelyObject.d.ts +18 -0
  115. package/dist/shared-utils/math/evenNumber.d.ts +3 -0
  116. package/dist/shared-utils/math/planimetry.d.ts +116 -0
  117. package/dist/shared-utils/math/rad2Deg.d.ts +1 -0
  118. package/dist/shared-utils/nearlyEqual.d.ts +7 -0
  119. package/dist/shared-utils/nextFrame.d.ts +1 -0
  120. package/dist/shared-utils/noop.d.ts +5 -0
  121. package/dist/shared-utils/object3d2LocalMatrix.d.ts +12 -0
  122. package/dist/shared-utils/px2rem.d.ts +1 -0
  123. package/dist/shared-utils/removeArrayItem.d.ts +7 -0
  124. package/dist/shared-utils/tap.d.ts +8 -0
  125. package/dist/shared-utils/three/centerPoint.d.ts +2 -0
  126. package/dist/shared-utils/three/getExtraModelLoader.d.ts +6 -0
  127. package/dist/shared-utils/three/getNormal.d.ts +2 -0
  128. package/dist/shared-utils/three/getTextureLoader.d.ts +6 -0
  129. package/dist/shared-utils/three/loadFbxObj.d.ts +2 -0
  130. package/dist/shared-utils/three/loadTexture.d.ts +2 -0
  131. package/dist/shared-utils/three/transformPositionToVector3.d.ts +7 -0
  132. package/dist/shared-utils/three/transfromToMeshBasicMaterial.d.ts +2 -0
  133. package/dist/shared-utils/throttle.d.ts +7 -0
  134. package/dist/shared-utils/to.d.ts +8 -0
  135. package/dist/shared-utils/useDebounce.d.ts +8 -0
  136. package/dist/shared-utils/useThrottle.d.ts +8 -0
  137. package/dist/shared-utils/uuid.d.ts +4 -0
  138. package/dist/shared-utils/vectorTocoordinates.d.ts +7 -0
  139. package/dist/typings/math.type.d.ts +44 -0
  140. package/dist/typings/utils.type.d.ts +2 -0
  141. package/docs/classes/ModelRoomLabelController.html +6 -6
  142. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +1 -1
  143. package/docs/enums/ModelFloorplanErrorType.html +1 -1
  144. package/docs/interfaces/LineJson.html +1 -1
  145. package/docs/interfaces/ModelChassisCompassPluginData.html +1 -1
  146. package/docs/interfaces/ModelChassisCompassPluginExportType.html +1 -1
  147. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +1 -1
  148. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +1 -1
  149. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +1 -1
  150. package/docs/interfaces/ModelFloorplanParameterType.html +1 -1
  151. package/docs/interfaces/ModelFloorplanViewEvent.html +2 -2
  152. package/docs/interfaces/ModelRoomLabelPluginData.html +1 -1
  153. package/docs/interfaces/PanoCompassPluginData.html +1 -1
  154. package/docs/interfaces/PanoCompassPluginParameterType.html +1 -1
  155. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +6 -6
  156. package/docs/interfaces/PanoRulerPluginExportType.html +1 -1
  157. package/docs/interfaces/PanoRulerPluginOptions.html +1 -1
  158. package/docs/interfaces/PanoRulerPluginParameterType.html +1 -1
  159. package/docs/interfaces/PointJson.html +1 -1
  160. package/docs/interfaces/RoomLabel.html +7 -7
  161. package/docs/interfaces/TopviewFloorplanPluginParameterType.html +1 -1
  162. package/docs/modules.html +11 -11
  163. package/libs/ModelRoomLabelPlugin/Controller.js +2 -2
  164. package/libs/ModelRoomLabelPlugin/RoomLabelItem.js +121 -0
  165. package/libs/ModelRoomLabelPlugin/RoomLabelItems.js +253 -0
  166. package/libs/PanoMeasurePlugin/Controller/EditController.js +1 -1
  167. package/libs/floorplan/Components/BaseImage.js +217 -0
  168. package/libs/floorplan/Components/Normalmage.js +63 -0
  169. package/libs/floorplan/Components/RoomHighlight/Room.js +70 -0
  170. package/libs/floorplan/Components/RoomHighlight/RoomHighlight.js +289 -0
  171. package/libs/floorplan/Components/RoomMaterials/RoomMaterial.js +328 -0
  172. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_0.js +64 -0
  173. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_1.js +103 -0
  174. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_2.js +140 -0
  175. package/libs/floorplan/Components/SvgImage.js +83 -0
  176. package/libs/floorplan/ModelFloorplanPlugin/Components/Camera.js +120 -0
  177. package/libs/floorplan/ModelFloorplanPlugin/Components/Compass.js +106 -0
  178. package/libs/floorplan/ModelFloorplanPlugin/Components/CurrentFloor/CurrentFloor.js +463 -0
  179. package/libs/floorplan/ModelFloorplanPlugin/Components/Main.js +375 -0
  180. package/libs/floorplan/ModelFloorplanPlugin/Components/RoomLabels/RoomLabel.js +171 -0
  181. package/libs/floorplan/ModelFloorplanPlugin/Components/RoomLabels/RoomLabels.js +265 -0
  182. package/libs/floorplan/ModelFloorplanPlugin/Components/RuleLabels/RuleItem.js +301 -0
  183. package/libs/floorplan/ModelFloorplanPlugin/Components/RuleLabels/RuleLabels.js +219 -0
  184. package/libs/floorplan/ModelFloorplanPlugin/Controller.js +1 -1
  185. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Camera.js +152 -0
  186. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/CurrentFloor.js +248 -0
  187. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/ExtraObjects.js +154 -0
  188. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Main.js +312 -0
  189. package/libs/floorplan/PanoFloorplanRadarPlugin/Controller.js +1 -1
  190. package/libs/floorplan/TopviewFloorplanPlugin/Controller.js +1 -1
  191. package/package.json +18 -10
  192. package/dist/dnalogel.cjs.js +0 -7
  193. package/dist/dnalogel.es.js +0 -41280
  194. package/dist/dnalogel.umd.js +0 -7
  195. package/dist/style.css +0 -1
  196. package/libs/ModelRoomLabelPlugin/RoomLabelItem.svelte +0 -63
  197. package/libs/ModelRoomLabelPlugin/RoomLabelItem.svelte.map +0 -1
  198. package/libs/ModelRoomLabelPlugin/RoomLabelItems.svelte +0 -80
  199. package/libs/ModelRoomLabelPlugin/RoomLabelItems.svelte.map +0 -1
  200. package/libs/floorplan/Components/BaseImage.svelte +0 -25
  201. package/libs/floorplan/Components/BaseImage.svelte.map +0 -1
  202. package/libs/floorplan/Components/Normalmage.svelte +0 -11
  203. package/libs/floorplan/Components/Normalmage.svelte.map +0 -1
  204. package/libs/floorplan/Components/RoomHighlight/Room.svelte +0 -21
  205. package/libs/floorplan/Components/RoomHighlight/Room.svelte.map +0 -1
  206. package/libs/floorplan/Components/RoomHighlight/RoomHighlight.svelte +0 -60
  207. package/libs/floorplan/Components/RoomHighlight/RoomHighlight.svelte.map +0 -1
  208. package/libs/floorplan/Components/RoomMaterials/RoomMaterial.svelte +0 -35
  209. package/libs/floorplan/Components/RoomMaterials/RoomMaterial.svelte.map +0 -1
  210. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_0.svelte +0 -7
  211. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_0.svelte.map +0 -1
  212. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_1.svelte +0 -16
  213. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_1.svelte.map +0 -1
  214. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_2.svelte +0 -17
  215. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_2.svelte.map +0 -1
  216. package/libs/floorplan/Components/SvgImage.svelte +0 -25
  217. package/libs/floorplan/Components/SvgImage.svelte.map +0 -1
  218. package/libs/floorplan/ModelFloorplanPlugin/Components/Camera.svelte +0 -46
  219. package/libs/floorplan/ModelFloorplanPlugin/Components/Camera.svelte.map +0 -1
  220. package/libs/floorplan/ModelFloorplanPlugin/Components/Compass.svelte +0 -48
  221. package/libs/floorplan/ModelFloorplanPlugin/Components/Compass.svelte.map +0 -1
  222. package/libs/floorplan/ModelFloorplanPlugin/Components/CurrentFloor/CurrentFloor.svelte +0 -37
  223. package/libs/floorplan/ModelFloorplanPlugin/Components/CurrentFloor/CurrentFloor.svelte.map +0 -1
  224. package/libs/floorplan/ModelFloorplanPlugin/Components/Main.svelte +0 -50
  225. package/libs/floorplan/ModelFloorplanPlugin/Components/Main.svelte.map +0 -1
  226. package/libs/floorplan/ModelFloorplanPlugin/Components/RoomLabels/RoomLabel.svelte +0 -41
  227. package/libs/floorplan/ModelFloorplanPlugin/Components/RoomLabels/RoomLabel.svelte.map +0 -1
  228. package/libs/floorplan/ModelFloorplanPlugin/Components/RoomLabels/RoomLabels.svelte +0 -25
  229. package/libs/floorplan/ModelFloorplanPlugin/Components/RoomLabels/RoomLabels.svelte.map +0 -1
  230. package/libs/floorplan/ModelFloorplanPlugin/Components/RuleLabels/RuleItem.svelte +0 -148
  231. package/libs/floorplan/ModelFloorplanPlugin/Components/RuleLabels/RuleItem.svelte.map +0 -1
  232. package/libs/floorplan/ModelFloorplanPlugin/Components/RuleLabels/RuleLabels.svelte +0 -15
  233. package/libs/floorplan/ModelFloorplanPlugin/Components/RuleLabels/RuleLabels.svelte.map +0 -1
  234. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Camera.svelte +0 -84
  235. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Camera.svelte.map +0 -1
  236. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/CurrentFloor.svelte +0 -18
  237. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/CurrentFloor.svelte.map +0 -1
  238. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/ExtraObjects.svelte +0 -40
  239. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/ExtraObjects.svelte.map +0 -1
  240. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Main.svelte +0 -61
  241. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Main.svelte.map +0 -1
@@ -0,0 +1,19 @@
1
+ import type { FivePlugin } from '@realsee/five';
2
+ export interface ModelChassisCompassPluginParameterType {
3
+ north_rad?: number;
4
+ fbx_url?: string;
5
+ }
6
+ export interface ModelChassisCompassPluginData {
7
+ north_rad?: number;
8
+ fbx_url?: string;
9
+ }
10
+ export interface ModelChassisCompassPluginExportType {
11
+ enable: () => void;
12
+ disable: () => void;
13
+ load: (data?: ModelChassisCompassPluginData) => Promise<boolean>;
14
+ }
15
+ /**
16
+ * 模型底盘指南针插件
17
+ */
18
+ export declare const ModelChassisCompassPlugin: FivePlugin<ModelChassisCompassPluginParameterType, ModelChassisCompassPluginExportType>;
19
+ export default ModelChassisCompassPlugin;
@@ -0,0 +1,142 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var THREE = require('three');
6
+ var FBXLoader = require('three/examples/jsm/loaders/FBXLoader');
7
+
8
+ function _interopNamespace(e) {
9
+ if (e && e.__esModule) return e;
10
+ var n = Object.create(null);
11
+ if (e) {
12
+ Object.keys(e).forEach(function (k) {
13
+ if (k !== 'default') {
14
+ var d = Object.getOwnPropertyDescriptor(e, k);
15
+ Object.defineProperty(n, k, d.get ? d : {
16
+ enumerable: true,
17
+ get: function () { return e[k]; }
18
+ });
19
+ }
20
+ });
21
+ }
22
+ n["default"] = e;
23
+ return Object.freeze(n);
24
+ }
25
+
26
+ var THREE__namespace = /*#__PURE__*/_interopNamespace(THREE);
27
+
28
+ const genRotationMatrix = (x, y, z) => {
29
+ const matrix = new THREE__namespace.Matrix4();
30
+ const euler = new THREE__namespace.Euler(x, y, z, 'YXZ');
31
+ matrix.makeRotationFromEuler(euler);
32
+ return matrix;
33
+ };
34
+ const bject3d2LocalMatrix = (mesh, { scale, rotation, position, }) => {
35
+ if (scale) {
36
+ mesh.scale.set(scale, scale, scale);
37
+ }
38
+ if (rotation) {
39
+ const [x, y, z] = rotation;
40
+ if (x) {
41
+ mesh.applyMatrix4(genRotationMatrix(x, 0, 0));
42
+ }
43
+ if (y) {
44
+ mesh.applyMatrix4(genRotationMatrix(0, y, 0));
45
+ }
46
+ if (z) {
47
+ mesh.applyMatrix4(genRotationMatrix(0, 0, z));
48
+ }
49
+ }
50
+ if (position) {
51
+ mesh.position.set(position.x, position.y, position.z);
52
+ }
53
+ return mesh;
54
+ };
55
+
56
+ function transfromToMeshBasicMaterial(object, options) {
57
+ object.traverse((ele) => {
58
+ if (ele.type === 'Mesh') {
59
+ const mesh = ele;
60
+ const materialConf = Object.assign({ map: mesh.material.map || {} }, options);
61
+ mesh.material = new THREE.MeshBasicMaterial(materialConf);
62
+ mesh.renderOrder = 1;
63
+ if (ele.parent?.type === 'Mesh') {
64
+ ele.renderOrder = ele.parent.renderOrder + 1;
65
+ }
66
+ }
67
+ });
68
+ }
69
+
70
+ /**
71
+ * 模型底盘指南针插件
72
+ */
73
+ const ModelChassisCompassPlugin = (five, params) => {
74
+ const defaultFbxUrl = params.fbx_url || '//vrlab-static.ljcdn.com/release/web/v3/dipan3/dipan.FBX';
75
+ const defaultNorthRad = params.north_rad || undefined;
76
+ // 局部状态
77
+ const state = {};
78
+ const load = async (data) => {
79
+ const fbxUrl = data?.fbx_url || defaultFbxUrl;
80
+ const northRad = data?.north_rad || defaultNorthRad;
81
+ if (!northRad) {
82
+ throw new Error('"northRad"配置参数缺失:未配置指南针指向!');
83
+ }
84
+ const bounding = five.model.bounding;
85
+ const xOffset = bounding.max.x - bounding.min.x;
86
+ const zOffset = bounding.max.z - bounding.min.z;
87
+ const maxOffset = Math.max(xOffset, zOffset);
88
+ const fbxLoader = new FBXLoader.FBXLoader();
89
+ const object = await fbxLoader.loadAsync(fbxUrl);
90
+ transfromToMeshBasicMaterial(object, {
91
+ transparent: true,
92
+ side: THREE__namespace.DoubleSide,
93
+ blending: THREE__namespace.AdditiveBlending,
94
+ });
95
+ const rotation = [0, northRad - Math.PI / 2, 0];
96
+ const { model: { bounding: { max: { x: xMax, z: zMax }, min: { x: xMin, y: yMin, z: zMin }, }, }, } = five;
97
+ state.yBase = yMin;
98
+ const position = { x: (xMax + xMin) / 2, y: yMin - 1.6, z: (zMax + zMin) / 2 };
99
+ const scale = 0.0045 * maxOffset;
100
+ bject3d2LocalMatrix(object, { position, rotation, scale });
101
+ state.object = object;
102
+ return true;
103
+ };
104
+ const onCameraUpdate = ({ latitude }) => {
105
+ if (!state.object)
106
+ return;
107
+ const y = getPositionY(latitude);
108
+ if (y) {
109
+ state.object.position.y = y;
110
+ }
111
+ };
112
+ const getPositionY = (latitude) => {
113
+ if (state.yBase === undefined)
114
+ return;
115
+ const difference = 0.6;
116
+ if (latitude >= Math.PI / 4)
117
+ return state.yBase - (difference + 1.6);
118
+ const ratio = latitude * (4 / Math.PI);
119
+ return state.yBase - (difference * ratio + 1.6);
120
+ };
121
+ const enable = () => {
122
+ if (!state.object)
123
+ return;
124
+ const y = getPositionY(five.getPose().latitude);
125
+ if (y)
126
+ state.object.position.y = y;
127
+ five.scene.add(state.object);
128
+ five.needsRender = true;
129
+ five.on('cameraDirectionUpdate', onCameraUpdate);
130
+ };
131
+ const disable = () => {
132
+ if (!state.object)
133
+ return;
134
+ five.scene.remove(state.object);
135
+ five.needsRender = true;
136
+ five.off('cameraDirectionUpdate', onCameraUpdate);
137
+ };
138
+ return { load, disable, enable };
139
+ };
140
+
141
+ exports.ModelChassisCompassPlugin = ModelChassisCompassPlugin;
142
+ exports["default"] = ModelChassisCompassPlugin;
@@ -0,0 +1,26 @@
1
+ import type { FivePlugin } from '@realsee/five';
2
+ import { Vector3Position } from '../typings/math.type';
3
+ export interface ModelEntryDoorGuidePluginData {
4
+ position?: Vector3Position;
5
+ rad?: number;
6
+ fbx_url?: string;
7
+ }
8
+ export declare type ModelEntryDoorGuidePluginParameterType = {
9
+ animationEnabled?: boolean;
10
+ } & ModelEntryDoorGuidePluginData;
11
+ export interface ModelEntryDoorGuidePluginExportType {
12
+ enable: (config?: {
13
+ animationEnable?: boolean;
14
+ }) => boolean;
15
+ disable: () => boolean;
16
+ load: (data?: Partial<ModelEntryDoorGuidePluginData>) => Promise<boolean>;
17
+ }
18
+ /**
19
+ * 模型入户门引导插件
20
+ */
21
+ export declare const ModelEntryDoorGuidePlugin: FivePlugin<ModelEntryDoorGuidePluginParameterType, ModelEntryDoorGuidePluginExportType>;
22
+ export declare const modelEntryDoorGuidePluginServerParams: {
23
+ name: string;
24
+ version: number;
25
+ };
26
+ export default ModelEntryDoorGuidePlugin;
@@ -0,0 +1,196 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var THREE = require('three');
6
+ var FBXLoader = require('three/examples/jsm/loaders/FBXLoader');
7
+
8
+ function _interopNamespace(e) {
9
+ if (e && e.__esModule) return e;
10
+ var n = Object.create(null);
11
+ if (e) {
12
+ Object.keys(e).forEach(function (k) {
13
+ if (k !== 'default') {
14
+ var d = Object.getOwnPropertyDescriptor(e, k);
15
+ Object.defineProperty(n, k, d.get ? d : {
16
+ enumerable: true,
17
+ get: function () { return e[k]; }
18
+ });
19
+ }
20
+ });
21
+ }
22
+ n["default"] = e;
23
+ return Object.freeze(n);
24
+ }
25
+
26
+ var THREE__namespace = /*#__PURE__*/_interopNamespace(THREE);
27
+
28
+ function createCanvasTextTexture(text, config) {
29
+ const size = config?.size ?? 512;
30
+ const fontSize = config?.fontSize ?? size * (35 / 256) * 1.2;
31
+ const backgroundColor = config?.backgroundColor ?? 'rgba(0,0,0,0)';
32
+ const fontColor = config?.fontColor ?? '#fff';
33
+ const textAlign = config?.textAlign ?? 'center';
34
+ const canvas = document.createElement('canvas');
35
+ canvas.setAttribute('width', size + '');
36
+ canvas.setAttribute('height', size + '');
37
+ const context = canvas.getContext('2d');
38
+ context.fillStyle = backgroundColor;
39
+ context.fillRect(0, 0, size, size);
40
+ context.font = `${fontSize}px "微软雅黑"`;
41
+ context.textAlign = textAlign;
42
+ context.fillStyle = fontColor;
43
+ context.fillText(text, size / 2, size * 0.7);
44
+ return new THREE.CanvasTexture(canvas);
45
+ }
46
+
47
+ const transformPositionToVector3 = ({ x, y, z }) => new THREE.Vector3(x, y, z);
48
+
49
+ function transfromToMeshBasicMaterial(object, options) {
50
+ object.traverse((ele) => {
51
+ if (ele.type === 'Mesh') {
52
+ const mesh = ele;
53
+ const materialConf = Object.assign({ map: mesh.material.map || {} }, options);
54
+ mesh.material = new THREE.MeshBasicMaterial(materialConf);
55
+ mesh.renderOrder = 1;
56
+ if (ele.parent?.type === 'Mesh') {
57
+ ele.renderOrder = ele.parent.renderOrder + 1;
58
+ }
59
+ }
60
+ });
61
+ }
62
+
63
+ /**
64
+ * 模型入户门引导插件
65
+ */
66
+ const ModelEntryDoorGuidePlugin = (five, params) => {
67
+ // 局部状态
68
+ const state = {};
69
+ const defaultAnimationEnable = params.animationEnabled ?? true;
70
+ const defaultModelPosition = params.position ?? undefined;
71
+ const defaultRad = params.rad ?? undefined;
72
+ const defaultFbxUrl = params.fbx_url || '//vrlab-image4.ljcdn.com/release/web/entryDoorMini/Anim_Door1.fbx';
73
+ const mixers = [];
74
+ const load = async (data) => {
75
+ const position = data?.position ?? defaultModelPosition;
76
+ if (!position)
77
+ return Promise.reject(`ModelEntryDoorGuidePlugin.load(): position is undefined`);
78
+ const modelPosition = transformPositionToVector3(position);
79
+ const rad = data?.rad ?? defaultRad;
80
+ const fbxUrl = data?.fbx_url ?? defaultFbxUrl;
81
+ state.rad = rad;
82
+ if (rad === undefined)
83
+ return Promise.reject(`ModelEntryDoorGuidePlugin.load(): rad is ${rad}`);
84
+ // 加载模型
85
+ const object = await new FBXLoader.FBXLoader().loadAsync(fbxUrl);
86
+ // 设置位置
87
+ object.position.copy(modelPosition);
88
+ object.rotation.z = rad;
89
+ object.scale.set(0.8, 0.8, 0.8);
90
+ transfromToMeshBasicMaterial(object, { transparent: true, side: THREE__namespace.DoubleSide });
91
+ const textMesh = object.children?.[0]?.children?.[3]?.clone();
92
+ if (!textMesh)
93
+ return Promise.reject(`ModelEntryDoorGuidePlugin.load(): textMesh is ${textMesh}`);
94
+ textMesh.material = new THREE.MeshBasicMaterial({ transparent: true, map: createCanvasTextTexture('入户门') });
95
+ textMesh.renderOrder = 3;
96
+ object.children[0].add(textMesh);
97
+ state.object = object;
98
+ return true;
99
+ };
100
+ const initAnimation = () => {
101
+ if (state.animation)
102
+ return;
103
+ if (!state.object)
104
+ return console.error('ModelEntryDoorGuidePlugin.initAnimation(): state.object is ', state.object);
105
+ // action
106
+ const animationSpeed = 1;
107
+ const mixer = new THREE.AnimationMixer(state.object);
108
+ mixers.push(mixer);
109
+ const action = mixer.clipAction(state.object.animations[0]);
110
+ action.timeScale = animationSpeed;
111
+ let stopAnimation;
112
+ const requestAnimationFrameLoop = () => {
113
+ let index = 0;
114
+ let oldTime = 0;
115
+ const minDeltaTime = 1000 / 30;
116
+ const animation = (time) => {
117
+ index = requestAnimationFrame(animation);
118
+ const deltaTime = time - oldTime;
119
+ if (deltaTime < minDeltaTime)
120
+ return;
121
+ oldTime = time;
122
+ mixers.forEach((mixer) => mixer.update(deltaTime / 1000));
123
+ five.needsRender = true;
124
+ };
125
+ index = requestAnimationFrame(animation);
126
+ return () => {
127
+ cancelAnimationFrame(index);
128
+ };
129
+ };
130
+ const play = () => {
131
+ if (stopAnimation)
132
+ return;
133
+ action.play();
134
+ stopAnimation = requestAnimationFrameLoop();
135
+ // 开始播动画时,rotation可能会还原
136
+ requestAnimationFrame(() => {
137
+ if (state.object && state.object.rotation.z !== state.rad)
138
+ state.object.rotation.z = state.rad;
139
+ });
140
+ };
141
+ const stop = () => {
142
+ action.stop();
143
+ stopAnimation?.();
144
+ stopAnimation = undefined;
145
+ };
146
+ const animation = { play, stop };
147
+ state.animation = animation;
148
+ };
149
+ const show = (config) => {
150
+ if (!state.object)
151
+ return console.error('ModelEntryDoorGuidePlugin.enable(): object is ', state.object);
152
+ const animationEnable = config?.animationEnable ?? defaultAnimationEnable;
153
+ if (animationEnable) {
154
+ if (!state.animation)
155
+ initAnimation();
156
+ state.animation.play();
157
+ }
158
+ five.scene.add(state.object);
159
+ five.needsRender = true;
160
+ };
161
+ const hide = () => {
162
+ if (!state.object)
163
+ return;
164
+ if (state.animation)
165
+ state.animation.stop();
166
+ five.scene.remove(state.object);
167
+ five.needsRender = true;
168
+ };
169
+ const modeChangeHandler = (mode) => (mode === 'Floorplan' ? show() : hide());
170
+ const enable = (config) => {
171
+ if (state.enabled)
172
+ return true;
173
+ state.enabled = true;
174
+ modeChangeHandler(five.currentMode);
175
+ five.on('modeChange', modeChangeHandler);
176
+ show(config);
177
+ return true;
178
+ };
179
+ const disable = () => {
180
+ if (!state.enabled)
181
+ return true;
182
+ state.enabled = false;
183
+ hide();
184
+ five.off('modeChange', modeChangeHandler);
185
+ return true;
186
+ };
187
+ return { load, enable, disable };
188
+ };
189
+ const modelEntryDoorGuidePluginServerParams = {
190
+ name: 'ModelEntryDoorGuidePlugin',
191
+ version: 0,
192
+ };
193
+
194
+ exports.ModelEntryDoorGuidePlugin = ModelEntryDoorGuidePlugin;
195
+ exports["default"] = ModelEntryDoorGuidePlugin;
196
+ exports.modelEntryDoorGuidePluginServerParams = modelEntryDoorGuidePluginServerParams;
@@ -0,0 +1 @@
1
+ export declare const ROOM_LABEL_BG = "data:image/png;base64,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";
@@ -0,0 +1,36 @@
1
+ import type { Five } from '@realsee/five';
2
+ import type { ModelRoomLabelPluginData } from './typings';
3
+ export declare type ModelRoomLabelPluginParameters = undefined;
4
+ export declare class ModelRoomLabelController {
5
+ private five;
6
+ private enabled;
7
+ private fiveModeEnabled;
8
+ private app?;
9
+ private wrapper?;
10
+ private roomLabels;
11
+ private container;
12
+ constructor(five: Five);
13
+ dispose(): void;
14
+ /** 加载数据 */
15
+ load(data: ModelRoomLabelPluginData): void;
16
+ /** 设置插件容器 */
17
+ appendTo(wrapper: Element): this;
18
+ /** 禁用插件功能
19
+ * @description
20
+ * - 如果当前正在展示中,会清除所有展示的 DOM
21
+ * - 如果当前未展示,即使后续 Five 状态满足展示要求,也不会展示
22
+ * */
23
+ disable(): this;
24
+ /** 启用插件功能
25
+ * @description
26
+ * - 如果当前符合展示条件,会立刻展示
27
+ * - 如果不符合展示条件,会等待 Five 状态满足条件后再展示
28
+ */
29
+ enable(): this;
30
+ /** 监听 Five Mode 变化
31
+ * @description
32
+ * Mode 不符合要求时,立刻消失,满足要求时,需要等待动画结束再展示
33
+ */
34
+ private onFiveModeChange;
35
+ private render;
36
+ }
@@ -0,0 +1,12 @@
1
+ import * as Controller from './Controller';
2
+ import type { FivePlugin } from '@realsee/five';
3
+ export declare const ModelRoomLabelPlugin: FivePlugin<Controller.ModelRoomLabelPluginParameters, ModelRoomLabelPluginReturnType>;
4
+ export default ModelRoomLabelPlugin;
5
+ export declare const modelRoomLabelPluginServerParams: {
6
+ name: string;
7
+ version: number;
8
+ };
9
+ export type { ModelRoomLabelController } from './Controller';
10
+ export type { ModelRoomLabelPluginData, RoomLabel } from './typings';
11
+ export declare type ModelRoomLabelPluginReturnType = Controller.ModelRoomLabelController;
12
+ export type { ModelRoomLabelPluginParameters } from './Controller';