@realsee/dnalogel 2.1.1 → 2.1.2-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.
Files changed (631) hide show
  1. package/README.md +3 -12
  2. package/components/index.js +242 -569
  3. package/dist/index.cjs.js +58 -73
  4. package/dist/index.es.js +7842 -12958
  5. package/dist/index.js +7842 -12958
  6. package/dist/index.umd.js +46 -61
  7. package/docs/assets/highlight.css +3 -3
  8. package/docs/assets/main.js +4 -2
  9. package/docs/assets/search.js +1 -1
  10. package/docs/assets/style.css +462 -619
  11. package/docs/classes/CruisePluginController.html +397 -23
  12. package/docs/classes/Magnifier.html +187 -9
  13. package/docs/classes/ModelRoomLabelController.html +149 -11
  14. package/docs/classes/Object3DHelperController.html +356 -0
  15. package/docs/classes/PaintBrush.html +260 -0
  16. package/docs/classes/PanoTagPluginController.html +940 -0
  17. package/docs/classes/Util.BetterTween.html +134 -0
  18. package/docs/classes/Util.FivePointSelector.html +144 -0
  19. package/docs/classes/Util.Interval.html +158 -0
  20. package/docs/classes/Util.Magnifier.html +196 -0
  21. package/docs/classes/Util.PointDomHelper.html +135 -0
  22. package/docs/classes/Util.PointHelper.html +127 -0
  23. package/docs/classes/Util.Rectangle.html +181 -0
  24. package/docs/enums/CameraMovementEffect.html +70 -3
  25. package/docs/enums/ContentType.html +116 -0
  26. package/docs/enums/DIRECTION.html +81 -1
  27. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +81 -1
  28. package/docs/enums/DimensionType.html +67 -0
  29. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +74 -1
  30. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +81 -1
  31. package/docs/enums/LinkType.html +67 -0
  32. package/docs/enums/PaintBrushTypeEnum.html +74 -0
  33. package/docs/enums/PointType.html +67 -0
  34. package/docs/enums/Rotation.html +77 -3
  35. package/docs/functions/CSS3DRenderPlugin.html +233 -0
  36. package/docs/functions/CameraMovementPlugin.html +237 -0
  37. package/docs/functions/CruisePlugin.html +233 -0
  38. package/docs/functions/GuideLinePlugin.html +235 -0
  39. package/docs/functions/ItemLabelPlugin.html +235 -0
  40. package/docs/functions/MapviewFloorplanPlugin.html +235 -0
  41. package/docs/functions/ModelChassisCompassPlugin.html +237 -0
  42. package/docs/functions/ModelEntryDoorGuidePlugin.html +237 -0
  43. package/docs/functions/ModelFloorplanPlugin.html +235 -0
  44. package/docs/functions/ModelItemLabelPlugin.html +235 -0
  45. package/docs/functions/ModelRoomLabelPlugin.html +233 -0
  46. package/docs/functions/ModelTVVideoPlugin.html +235 -0
  47. package/docs/functions/ModelViewPlugin.html +237 -0
  48. package/docs/functions/Object3DHelperPlugin.html +233 -0
  49. package/docs/functions/PanoCompassPlugin.html +235 -0
  50. package/docs/functions/PanoCursorRaycasterPlugin.html +238 -0
  51. package/docs/functions/PanoDoorLabelPlugin.html +235 -0
  52. package/docs/functions/PanoFloorplanRadarPlugin.html +235 -0
  53. package/docs/functions/PanoMeasurePlugin.html +235 -0
  54. package/docs/functions/PanoRulerPlugin.html +237 -0
  55. package/docs/functions/PanoRulerProPlugin.html +237 -0
  56. package/docs/functions/PanoSpatialTagPlugin.html +237 -0
  57. package/docs/functions/PanoTagPlugin.html +249 -0
  58. package/docs/functions/TopviewFloorplanPlugin.html +235 -0
  59. package/docs/functions/Util.getCoordsFromClient.html +78 -0
  60. package/docs/functions/Util.getCoordsFromElement.html +78 -0
  61. package/docs/functions/Util.getFrameTime.html +70 -0
  62. package/docs/functions/Util.getIntersectFromRelativePosition.html +78 -0
  63. package/docs/functions/Util.getRaycasterFromFivePointer.html +78 -0
  64. package/docs/functions/Util.isNil.html +79 -0
  65. package/docs/functions/Util.nextFrame.html +73 -0
  66. package/docs/functions/Util.notNil.html +78 -0
  67. package/docs/functions/Util.requestAnimationFrameInterval.html +98 -0
  68. package/docs/functions/Util.tweenProgress.html +84 -0
  69. package/docs/functions/pluginFlag.html +233 -0
  70. package/docs/index.html +222 -9
  71. package/docs/interfaces/CSS3DRenderPluginEventMap.html +205 -0
  72. package/docs/interfaces/CSS3DRenderPluginState.html +85 -0
  73. package/docs/interfaces/CameraMovementPluginExportType.html +111 -17
  74. package/docs/interfaces/ContentTypeMap.html +212 -0
  75. package/docs/interfaces/FloorplanBounding.html +89 -10
  76. package/docs/interfaces/FloorplanData.html +95 -3
  77. package/docs/interfaces/FloorplanEntrance.html +114 -15
  78. package/docs/interfaces/FloorplanExtraObject.html +108 -7
  79. package/docs/interfaces/FloorplanExtraObject3D.html +99 -3
  80. package/docs/interfaces/FloorplanFloorData.html +88 -3
  81. package/docs/interfaces/FloorplanImagePosition.html +74 -3
  82. package/docs/interfaces/FloorplanObserver.html +92 -5
  83. package/docs/interfaces/FloorplanOutlineItem.html +88 -3
  84. package/docs/interfaces/FloorplanPosition.html +74 -3
  85. package/docs/interfaces/FloorplanRoomItem.html +134 -17
  86. package/docs/interfaces/FloorplanRoomLabelItem.html +78 -7
  87. package/docs/interfaces/FloorplanServerBounding.html +89 -10
  88. package/docs/interfaces/FloorplanServerComputedData.html +92 -1
  89. package/docs/interfaces/FloorplanServerData.html +74 -3
  90. package/docs/interfaces/FloorplanServerDoorItem.html +92 -1
  91. package/docs/interfaces/FloorplanServerDoorPosition.html +78 -1
  92. package/docs/interfaces/FloorplanServerEntrance.html +114 -15
  93. package/docs/interfaces/FloorplanServerFloorData.html +88 -3
  94. package/docs/interfaces/FloorplanServerImagePosition.html +74 -3
  95. package/docs/interfaces/FloorplanServerObserver.html +92 -5
  96. package/docs/interfaces/FloorplanServerOutlineItem.html +88 -3
  97. package/docs/interfaces/FloorplanServerPosition.html +74 -3
  98. package/docs/interfaces/FloorplanServerRoomItem.html +145 -20
  99. package/docs/interfaces/FloorplanServerRoomLabelItem.html +78 -7
  100. package/docs/interfaces/ItemLabelPluginData.html +64 -1
  101. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +149 -1
  102. package/docs/interfaces/ItemLabelPluginParametersType.html +85 -1
  103. package/docs/interfaces/LineJson.html +71 -1
  104. package/docs/interfaces/ModelChassisCompassPluginData.html +71 -1
  105. package/docs/interfaces/ModelChassisCompassPluginExportType.html +107 -1
  106. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +71 -1
  107. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +78 -1
  108. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +115 -1
  109. package/docs/interfaces/ModelItemLabelPluginData.html +64 -1
  110. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +149 -1
  111. package/docs/interfaces/ModelItemLabelPluginParametersType.html +71 -1
  112. package/docs/interfaces/ModelRoomLabelPluginData.html +64 -1
  113. package/docs/interfaces/ModelTVVideoPluginData.html +85 -1
  114. package/docs/interfaces/ModelTVVideoPluginExportType.html +109 -1
  115. package/docs/interfaces/ModelTVVideoPluginParameterType.html +64 -1
  116. package/docs/interfaces/ModelViewPluginExportType.html +129 -1
  117. package/docs/interfaces/Object3DHelperState.html +78 -0
  118. package/docs/interfaces/OpenParameter.html +74 -3
  119. package/docs/interfaces/PaintBrushAction.html +118 -0
  120. package/docs/interfaces/PaintBrushConfigs.html +122 -0
  121. package/docs/interfaces/PaintBrushState.html +99 -0
  122. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +186 -11
  123. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +227 -1
  124. package/docs/interfaces/PanoMeasureParameterType.html +128 -5
  125. package/docs/interfaces/PanoRulerPluginExportType.html +138 -1
  126. package/docs/interfaces/PanoRulerPluginOptions.html +87 -1
  127. package/docs/interfaces/PanoRulerPluginParameterType.html +78 -1
  128. package/docs/interfaces/PanoRulerProPluginExportType.html +114 -1
  129. package/docs/interfaces/PanoRulerProPluginOptions.html +84 -1
  130. package/docs/interfaces/PanoRulerProPluginParameterType.html +71 -1
  131. package/docs/interfaces/PanoRulerProPluginState.html +78 -1
  132. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +241 -1
  133. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +230 -1
  134. package/docs/interfaces/PanoSpatialTagPluginData.html +114 -1
  135. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +96 -1
  136. package/docs/interfaces/PanoSpatialTagPluginExportType.html +192 -1
  137. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +92 -1
  138. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +113 -1
  139. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +99 -1
  140. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +92 -1
  141. package/docs/interfaces/Point.html +78 -1
  142. package/docs/interfaces/PointJson.html +78 -1
  143. package/docs/interfaces/Room.html +85 -1
  144. package/docs/interfaces/RoomInfo.html +71 -1
  145. package/docs/interfaces/RoomLabel.html +141 -13
  146. package/docs/interfaces/RoomRules.html +230 -1
  147. package/docs/interfaces/Rooms.html +230 -1
  148. package/docs/interfaces/Scissor.html +100 -0
  149. package/docs/interfaces/TagConfig.html +120 -0
  150. package/docs/interfaces/Tags.html +89 -0
  151. package/docs/interfaces/Util.MagnifierParameter.html +116 -0
  152. package/docs/interfaces/Util.MouseGroupParameter.html +79 -0
  153. package/docs/modules/Util.html +91 -0
  154. package/docs/modules.html +425 -36
  155. package/docs/types/ArrayPosition.html +224 -0
  156. package/docs/types/CSS3DRenderExportType.html +224 -0
  157. package/docs/types/CSS3DRenderPluginExportType.html +224 -0
  158. package/docs/types/CSS3DRenderPluginParameterType.html +224 -0
  159. package/docs/types/Color.html +224 -0
  160. package/docs/types/ContentTypeConfigKey.html +224 -0
  161. package/docs/types/ContentTypeConfigKeyArray.html +224 -0
  162. package/docs/types/Create3DDomContainerReturnType.html +224 -0
  163. package/docs/types/Create3DElementReturnType.html +224 -0
  164. package/docs/types/CruisePluginExportType.html +224 -0
  165. package/docs/types/Direction-1.html +224 -0
  166. package/docs/types/Direction4.html +224 -0
  167. package/docs/types/FloorplanRuleLabels.html +226 -0
  168. package/docs/types/FloorplanServerRuleLabels.html +224 -0
  169. package/docs/types/GuideLinePluginExportType.html +224 -0
  170. package/docs/types/HelperEventMap.html +314 -0
  171. package/docs/types/MapviewFloorplanPluginParameterType.html +224 -0
  172. package/docs/types/MapviewFloorplanPluginReturnType.html +224 -0
  173. package/docs/types/MediaData.html +224 -0
  174. package/docs/types/ModelEntryDoorGuidePluginParameterType.html +224 -0
  175. package/docs/types/ModelFloorplanPluginParameterType.html +224 -0
  176. package/docs/types/ModelFloorplanPluginReturnType.html +224 -0
  177. package/docs/types/ModelRoomLabelPluginParameters.html +224 -0
  178. package/docs/types/ModelRoomLabelPluginReturnType.html +224 -0
  179. package/docs/types/MoveArgs.html +226 -0
  180. package/docs/types/MoveOpts.html +226 -0
  181. package/docs/types/Object3DHelperEventMap.html +317 -0
  182. package/docs/types/ObjectFit.html +224 -0
  183. package/docs/types/PaintBrushEventMap.html +255 -0
  184. package/docs/types/PanoCompassPluginData.html +224 -0
  185. package/docs/types/PanoCompassPluginExportType.html +224 -0
  186. package/docs/types/PanoCompassPluginParameterType.html +224 -0
  187. package/docs/types/PanoFloorplanRadarPluginParameterType.html +224 -0
  188. package/docs/types/PanoFloorplanRadarPluginReturnType.html +224 -0
  189. package/docs/types/PanoMeasurePluginEvent.html +224 -0
  190. package/docs/types/PanoMeasureReturnType.html +224 -0
  191. package/docs/types/PanoSpatialTagPluginId.html +224 -0
  192. package/docs/types/PanoTagPluginExportInterface.html +224 -0
  193. package/docs/types/PanoTagPluginParamsInterface.html +224 -0
  194. package/docs/types/PlaneTag.html +233 -0
  195. package/docs/types/PointTag.html +235 -0
  196. package/docs/types/Position.html +224 -0
  197. package/docs/types/RotateArgs.html +226 -0
  198. package/docs/types/RotateOpts.html +226 -0
  199. package/docs/types/RuleLabelsKey.html +224 -0
  200. package/docs/types/RuleLabelsValue.html +224 -0
  201. package/docs/types/Tag.html +235 -0
  202. package/docs/types/Tag2D.html +233 -0
  203. package/docs/types/Tag3D.html +233 -0
  204. package/docs/types/TagId.html +224 -0
  205. package/docs/types/TopviewFloorplanPluginParameterType.html +224 -0
  206. package/docs/types/TopviewFloorplanPluginReturnType.html +224 -0
  207. package/docs/variables/FLOOR_TYPE_MAP.html +226 -0
  208. package/docs/variables/PLUGIN.html +224 -0
  209. package/docs/variables/ROOM_FETILE_TYPE_MAP.html +226 -0
  210. package/docs/variables/ROOM_TYPE_MAP.html +226 -0
  211. package/docs/variables/VERSION.html +224 -0
  212. package/docs/variables/itemLabelPluginServerParams.html +231 -0
  213. package/docs/variables/modelItemLabelPluginServerParams.html +231 -0
  214. package/docs/variables/modelRoomLabelPluginServerParams.html +231 -0
  215. package/libs/CSS3DRenderPlugin/CSS3DRender.d.ts +2 -2
  216. package/libs/CSS3DRenderPlugin/CSS3DRender.js +1 -300
  217. package/libs/CSS3DRenderPlugin/Controller.d.ts +3 -3
  218. package/libs/CSS3DRenderPlugin/Controller.js +1 -81
  219. package/libs/CSS3DRenderPlugin/index.js +1 -14
  220. package/libs/CSS3DRenderPlugin/typing.js +1 -1
  221. package/libs/CSS3DRenderPlugin/utils/CSS3DObjectPlus.js +1 -67
  222. package/libs/CSS3DRenderPlugin/utils/centerPoint.js +1 -10
  223. package/libs/CSS3DRenderPlugin/utils/evenNumber.js +1 -7
  224. package/libs/CSS3DRenderPlugin/utils/index.js +1 -13
  225. package/libs/CSS3DRenderPlugin/utils/positionToVector3.js +1 -7
  226. package/libs/CSS3DRenderPlugin/utils/random.js +1 -6
  227. package/libs/CameraMovementPlugin/CameraMovementPlugin.js +1 -71
  228. package/libs/CameraMovementPlugin/index.js +1 -15
  229. package/libs/CameraMovementPlugin/typing.js +1 -5
  230. package/libs/CruisePlugin/Controller.js +1 -440
  231. package/libs/CruisePlugin/index.js +1 -27
  232. package/libs/CruisePlugin/utils/coordinatesAngle.js +1 -9
  233. package/libs/CruisePlugin/utils/coordinatesToVector.js +1 -12
  234. package/libs/CruisePlugin/utils/formatRad.js +1 -7
  235. package/libs/CruisePlugin/utils/linerValue.js +1 -7
  236. package/libs/CruisePlugin/utils/safeCall.js +1 -12
  237. package/libs/CruisePlugin/utils/sleep.js +1 -10
  238. package/libs/CruisePlugin/utils/vectorToCoordinates.js +1 -10
  239. package/libs/GuideLinePlugin/Controller.js +1 -112
  240. package/libs/GuideLinePlugin/index.js +1 -15
  241. package/libs/GuideLinePlugin/utils/getArrowMaterial.js +1 -13
  242. package/libs/GuideLinePlugin/utils/getLineGeometries.js +1 -118
  243. package/libs/GuideLinePlugin/utils/polyline-normals.d.ts +3 -0
  244. package/libs/ItemLabelPlugin/ItemLabelComponent.js +1 -254
  245. package/libs/ItemLabelPlugin/ItemLabelItem.js +2 -133
  246. package/libs/ItemLabelPlugin/Plugin.js +2 -85
  247. package/libs/ItemLabelPlugin/index.js +1 -25
  248. package/libs/ItemLabelPlugin/typings.js +1 -4
  249. package/libs/ItemLabelPlugin/utils/getLabelTransform.js +1 -4
  250. package/libs/ItemLabelPlugin/utils/getStrokeLength.js +1 -16
  251. package/libs/ItemLabelPlugin/utils/isImpacted.js +1 -10
  252. package/libs/ItemLabelPlugin/utils/parseData.js +1 -10
  253. package/libs/ItemLabelPlugin/utils/transform2RenderData.js +1 -11
  254. package/libs/ModelChassisCompassPlugin/Plugin.js +1 -55
  255. package/libs/ModelChassisCompassPlugin/index.js +1 -10
  256. package/libs/ModelEntryDoorGuidePlugin/Plugin.js +1 -66
  257. package/libs/ModelEntryDoorGuidePlugin/index.js +1 -11
  258. package/libs/ModelItemLabelPlugin/ItemLabelComponent.js +1 -196
  259. package/libs/ModelItemLabelPlugin/ItemLabelItem.js +2 -42
  260. package/libs/ModelItemLabelPlugin/ModelItemLabelPlugin.js +2 -79
  261. package/libs/ModelItemLabelPlugin/events.type.js +1 -1
  262. package/libs/ModelItemLabelPlugin/index.js +1 -21
  263. package/libs/ModelItemLabelPlugin/typings.js +1 -4
  264. package/libs/ModelItemLabelPlugin/utils/parseData.js +1 -9
  265. package/libs/ModelRoomLabelPlugin/Assets/roomLabelBg.js +1 -4
  266. package/libs/ModelRoomLabelPlugin/Controller.js +1 -64
  267. package/libs/ModelRoomLabelPlugin/RoomLabelItem.js +1 -45
  268. package/libs/ModelRoomLabelPlugin/RoomLabelItems.js +1 -151
  269. package/libs/ModelRoomLabelPlugin/index.js +1 -16
  270. package/libs/ModelRoomLabelPlugin/utils/parseData.js +1 -16
  271. package/libs/ModelTVVideoPlugin/Plugin.js +1 -157
  272. package/libs/ModelTVVideoPlugin/index.js +1 -19
  273. package/libs/ModelTVVideoPlugin/typings.js +1 -4
  274. package/libs/ModelTVVideoPlugin/utils/parseData.js +1 -20
  275. package/libs/ModelViewPlugin/Plugin.js +1 -96
  276. package/libs/ModelViewPlugin/index.js +1 -8
  277. package/libs/Object3DHelperPlugin/Controller.d.ts +1 -1
  278. package/libs/Object3DHelperPlugin/Controller.js +1 -137
  279. package/libs/Object3DHelperPlugin/FiveControllerWrapper.d.ts +1 -1
  280. package/libs/Object3DHelperPlugin/FiveControllerWrapper.js +1 -35
  281. package/libs/Object3DHelperPlugin/index.js +1 -42
  282. package/libs/PanoCompassPlugin/Assets/roomInfoIcon.js +1 -4
  283. package/libs/PanoCompassPlugin/Controller.js +1 -205
  284. package/libs/PanoCompassPlugin/getRoomInfoInstance.js +1 -24
  285. package/libs/PanoCompassPlugin/index.js +1 -24
  286. package/libs/PanoCursorRaycasterPlugin/index.js +1 -60
  287. package/libs/PanoDoorLabelPlugin/BaseController.js +1 -50
  288. package/libs/PanoDoorLabelPlugin/Controller.js +1 -215
  289. package/libs/PanoDoorLabelPlugin/DoorLabelItem.js +1 -65
  290. package/libs/PanoDoorLabelPlugin/index.d.ts +1 -1
  291. package/libs/PanoDoorLabelPlugin/index.js +1 -15
  292. package/libs/PanoDoorLabelPlugin/utils.d.ts +2 -2
  293. package/libs/PanoDoorLabelPlugin/utils.js +1 -23
  294. package/libs/PanoMeasurePlugin/Controller/BaseController.js +1 -63
  295. package/libs/PanoMeasurePlugin/Controller/EditController.js +1 -114
  296. package/libs/PanoMeasurePlugin/Controller/MixedController.js +1 -138
  297. package/libs/PanoMeasurePlugin/Controller/ShortcutKeyController.js +1 -33
  298. package/libs/PanoMeasurePlugin/Controller/ViewController.js +1 -101
  299. package/libs/PanoMeasurePlugin/Controller/WatchController.js +1 -169
  300. package/libs/PanoMeasurePlugin/Controller/index.d.ts +1 -1
  301. package/libs/PanoMeasurePlugin/Controller/index.js +1 -167
  302. package/libs/PanoMeasurePlugin/Model/index.d.ts +4 -4
  303. package/libs/PanoMeasurePlugin/Model/index.js +1 -99
  304. package/libs/PanoMeasurePlugin/Model/line.d.ts +1 -1
  305. package/libs/PanoMeasurePlugin/Model/line.js +1 -60
  306. package/libs/PanoMeasurePlugin/Model/point.js +1 -30
  307. package/libs/PanoMeasurePlugin/Model/polyline.d.ts +2 -2
  308. package/libs/PanoMeasurePlugin/Model/polyline.js +1 -47
  309. package/libs/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete.svg.js +2 -5
  310. package/libs/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete_bg.png.js +1 -4
  311. package/libs/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete_hover_bg.png.js +1 -4
  312. package/libs/PanoMeasurePlugin/Modules/DeleteDom/index.js +3 -67
  313. package/libs/PanoMeasurePlugin/Modules/FiveHelper.js +1 -28
  314. package/libs/PanoMeasurePlugin/Modules/GuideController.js +1 -41
  315. package/libs/PanoMeasurePlugin/Modules/Magnifier.js +1 -103
  316. package/libs/PanoMeasurePlugin/Modules/UIController/HTML.js +8 -12
  317. package/libs/PanoMeasurePlugin/Modules/UIController/MainBtnController.js +1 -50
  318. package/libs/PanoMeasurePlugin/Modules/UIController/Revoke/index.js +1 -36
  319. package/libs/PanoMeasurePlugin/Modules/UIController/index.js +1 -48
  320. package/libs/PanoMeasurePlugin/Modules/UIController/mobileHTML.js +3 -8
  321. package/libs/PanoMeasurePlugin/Modules/UIController/mobileMainBtnController.js +1 -39
  322. package/libs/PanoMeasurePlugin/Modules/UIController/style.js +1 -70
  323. package/libs/PanoMeasurePlugin/Modules/rangePiece/html.js +2 -7
  324. package/libs/PanoMeasurePlugin/Modules/rangePiece/index.js +1 -123
  325. package/libs/PanoMeasurePlugin/index.js +1 -60
  326. package/libs/PanoMeasurePlugin/utils/calculateThreeMouse.js +1 -12
  327. package/libs/PanoMeasurePlugin/utils/constants.js +1 -23
  328. package/libs/PanoMeasurePlugin/utils/distanceDom.js +1 -62
  329. package/libs/PanoMeasurePlugin/utils/findAssociatedLines.js +1 -13
  330. package/libs/PanoMeasurePlugin/utils/findClosestPoint.d.ts +1 -1
  331. package/libs/PanoMeasurePlugin/utils/findClosestPoint.js +1 -16
  332. package/libs/PanoMeasurePlugin/utils/getIntersectionFromEvent.js +1 -9
  333. package/libs/PanoMeasurePlugin/utils/getPointFromHammerEvent.js +1 -8
  334. package/libs/PanoMeasurePlugin/utils/ironbox.js +1 -4
  335. package/libs/PanoMeasurePlugin/utils/isNDCPointInScreen.js +1 -7
  336. package/libs/PanoMeasurePlugin/utils/line.js +1 -18
  337. package/libs/PanoMeasurePlugin/utils/math.js +1 -13
  338. package/libs/PanoMeasurePlugin/utils/mouseGroup.js +3 -33
  339. package/libs/PanoMeasurePlugin/utils/ndc2Screen.js +1 -8
  340. package/libs/PanoRulerPlugin/Plugin.js +3 -241
  341. package/libs/PanoRulerPlugin/index.js +1 -11
  342. package/libs/PanoRulerPlugin/style.js +2 -5
  343. package/libs/PanoRulerProPlugin/Controller.js +1 -74
  344. package/libs/PanoRulerProPlugin/RulerItem.js +1 -118
  345. package/libs/PanoRulerProPlugin/RulerItems.js +1 -181
  346. package/libs/PanoRulerProPlugin/index.js +1 -17
  347. package/libs/PanoSpatialTagPlugin/Components/origins.js +1 -82
  348. package/libs/PanoSpatialTagPlugin/Components/tag.js +1 -124
  349. package/libs/PanoSpatialTagPlugin/Plugin.js +1 -258
  350. package/libs/PanoSpatialTagPlugin/index.js +1 -24
  351. package/libs/PanoSpatialTagPlugin/store.d.ts +1 -1
  352. package/libs/PanoSpatialTagPlugin/store.js +1 -6
  353. package/libs/PanoSpatialTagPlugin/style.js +1 -11
  354. package/libs/PanoSpatialTagPlugin/typings.js +1 -1
  355. package/libs/PanoTagPlugin/Assets/Icon.js +1 -6
  356. package/libs/PanoTagPlugin/Components/Common/Arrow.js +1 -103
  357. package/libs/PanoTagPlugin/Components/Common/Audio.js +1 -163
  358. package/libs/PanoTagPlugin/Components/Common/Line/Polyline.js +1 -93
  359. package/libs/PanoTagPlugin/Components/Common/Line/Straight.js +1 -91
  360. package/libs/PanoTagPlugin/Components/Common/Media.js +1 -3438
  361. package/libs/PanoTagPlugin/Components/Common/MediaItem.js +1 -139
  362. package/libs/PanoTagPlugin/Components/Common/MultiLineText.js +1 -181
  363. package/libs/PanoTagPlugin/Components/Common/Point/CustomPoint.js +1 -52
  364. package/libs/PanoTagPlugin/Components/Common/Point/DefaultPoint.js +1 -52
  365. package/libs/PanoTagPlugin/Components/Common/Point/PointSwitch.js +1 -170
  366. package/libs/PanoTagPlugin/Components/Common/Shadow.js +15 -125
  367. package/libs/PanoTagPlugin/Components/Common/Text.js +1 -984
  368. package/libs/PanoTagPlugin/Components/Tag/AudioTag.js +1 -140
  369. package/libs/PanoTagPlugin/Components/Tag/CustomTag.js +1 -72
  370. package/libs/PanoTagPlugin/Components/Tag/ImageTextTag.js +1 -202
  371. package/libs/PanoTagPlugin/Components/Tag/LinkTag.js +1 -128
  372. package/libs/PanoTagPlugin/Components/Tag/MarketingTag.js +1 -231
  373. package/libs/PanoTagPlugin/Components/Tag/MediaPlane.js +1 -95
  374. package/libs/PanoTagPlugin/Components/Tag/TextTag.js +1 -134
  375. package/libs/PanoTagPlugin/Components/Tag/index.js +2 -308
  376. package/libs/PanoTagPlugin/Components/TagContainer.js +1 -187
  377. package/libs/PanoTagPlugin/Components/TagWrapper.js +1 -183
  378. package/libs/PanoTagPlugin/controller/TagCacheController.js +1 -32
  379. package/libs/PanoTagPlugin/controller/TagComputer.d.ts +5 -5
  380. package/libs/PanoTagPlugin/controller/TagComputer.js +1 -15
  381. package/libs/PanoTagPlugin/controller/index.js +1 -386
  382. package/libs/PanoTagPlugin/index.js +1 -71
  383. package/libs/PanoTagPlugin/tag.config.js +1 -44
  384. package/libs/PanoTagPlugin/typings/controller.js +1 -1
  385. package/libs/PanoTagPlugin/typings/index.js +1 -7
  386. package/libs/PanoTagPlugin/typings/tag.js +1 -7
  387. package/libs/PanoTagPlugin/utils/actionAfterFiveModelLoad.js +1 -6
  388. package/libs/PanoTagPlugin/utils/addDebugPoints.js +1 -27
  389. package/libs/PanoTagPlugin/utils/checkRange.d.ts +1 -1
  390. package/libs/PanoTagPlugin/utils/checkRange.js +1 -10
  391. package/libs/PanoTagPlugin/utils/constants.js +1 -8
  392. package/libs/PanoTagPlugin/utils/debounce.js +1 -12
  393. package/libs/PanoTagPlugin/utils/doUtil.js +1 -12
  394. package/libs/PanoTagPlugin/utils/index.js +1 -36
  395. package/libs/PanoTagPlugin/utils/noTypecheck.js +1 -4
  396. package/libs/PanoTagPlugin/utils/normalPositionToPositions.js +1 -13
  397. package/libs/PanoTagPlugin/utils/planeNormal.js +1 -11
  398. package/libs/PanoTagPlugin/utils/resizeObserver.js +1 -17
  399. package/libs/PanoTagPlugin/utils/search.js +1 -33
  400. package/libs/PanoTagPlugin/utils/tagPosition.js +1 -13
  401. package/libs/PanoTagPlugin/utils/throttle.js +1 -11
  402. package/libs/base/BasePlugin.js +1 -18
  403. package/libs/base/BasePluginWithData.js +1 -7
  404. package/libs/components/PaintBrush/Controller.d.ts +2 -2
  405. package/libs/components/PaintBrush/Controller.js +1 -309
  406. package/libs/components/PaintBrush/Subscribe.js +1 -47
  407. package/libs/components/PaintBrush/index.js +1 -52
  408. package/libs/components/PaintBrush/style.js +2 -5
  409. package/libs/components/PaintBrush/tween.js +1 -15
  410. package/libs/components/PaintBrush/typings.js +1 -4
  411. package/libs/components/PaintBrush/utils.d.ts +1 -1
  412. package/libs/components/PaintBrush/utils.js +1 -45
  413. package/libs/components/index.js +1 -13
  414. package/libs/env.d.ts +1 -0
  415. package/libs/floorplan/Assets/camera.js +1 -4
  416. package/libs/floorplan/Assets/compass.js +1 -4
  417. package/libs/floorplan/Assets/floorplanExtraObject.js +1 -4
  418. package/libs/floorplan/Components/BaseImage.js +1 -104
  419. package/libs/floorplan/Components/Camera.js +1 -62
  420. package/libs/floorplan/Components/Compass.js +1 -60
  421. package/libs/floorplan/Components/CurrentFloor.js +1 -255
  422. package/libs/floorplan/Components/Main.js +1 -282
  423. package/libs/floorplan/Components/Normalmage.js +1 -37
  424. package/libs/floorplan/Components/RoomHighlight/Room.js +1 -61
  425. package/libs/floorplan/Components/RoomHighlight/RoomHighlight.js +1 -122
  426. package/libs/floorplan/Components/RoomLabels/RoomLabel.js +1 -152
  427. package/libs/floorplan/Components/RoomLabels/RoomLabels.js +1 -174
  428. package/libs/floorplan/Components/RoomMaterials/RoomMaterial.js +1 -184
  429. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_0.js +1 -37
  430. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_1.js +1 -39
  431. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_2.js +1 -37
  432. package/libs/floorplan/Components/RuleLabels/RuleItem.js +1 -134
  433. package/libs/floorplan/Components/RuleLabels/RuleLabels.js +1 -139
  434. package/libs/floorplan/Components/SvgImage.js +2 -39
  435. package/libs/floorplan/MapviewFloorplanPlugin/Controller.d.ts +1 -1
  436. package/libs/floorplan/MapviewFloorplanPlugin/Controller.js +1 -322
  437. package/libs/floorplan/MapviewFloorplanPlugin/index.js +1 -49
  438. package/libs/floorplan/ModelFloorplanPlugin/Controller.d.ts +1 -1
  439. package/libs/floorplan/ModelFloorplanPlugin/Controller.js +1 -318
  440. package/libs/floorplan/ModelFloorplanPlugin/index.js +1 -49
  441. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Camera.js +1 -84
  442. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/CurrentFloor.js +1 -133
  443. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/ExtraObjects.js +1 -72
  444. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Main.js +1 -191
  445. package/libs/floorplan/PanoFloorplanRadarPlugin/Controller.js +1 -146
  446. package/libs/floorplan/PanoFloorplanRadarPlugin/index.js +1 -26
  447. package/libs/floorplan/TopviewFloorplanPlugin/Controller.d.ts +1 -1
  448. package/libs/floorplan/TopviewFloorplanPlugin/Controller.js +1 -265
  449. package/libs/floorplan/TopviewFloorplanPlugin/index.js +1 -46
  450. package/libs/floorplan/constant.js +1 -4
  451. package/libs/floorplan/index.js +1 -67
  452. package/libs/floorplan/typings/floorplanData.js +1 -1
  453. package/libs/floorplan/typings/floorplanServerData.js +1 -101
  454. package/libs/floorplan/utils/constant.js +1 -8
  455. package/libs/floorplan/utils/correctFiveState.js +1 -36
  456. package/libs/floorplan/utils/formatData.js +1 -82
  457. package/libs/floorplan/utils/formatPosition.js +1 -35
  458. package/libs/index.js +1 -330
  459. package/libs/shared-utils/Object3DHelper/Base/BaseController.js +1 -155
  460. package/libs/shared-utils/Object3DHelper/Base/BaseHelper.js +1 -53
  461. package/libs/shared-utils/Object3DHelper/Constants/color.js +1 -21
  462. package/libs/shared-utils/Object3DHelper/Controller/CSS3DScaleController.js +1 -29
  463. package/libs/shared-utils/Object3DHelper/Controller/MoveController.js +1 -74
  464. package/libs/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +1 -1
  465. package/libs/shared-utils/Object3DHelper/Controller/RectangleScaleController.js +1 -117
  466. package/libs/shared-utils/Object3DHelper/Controller/RotateController.js +1 -142
  467. package/libs/shared-utils/Object3DHelper/Helper/HTML/rectangleScaleDom.js +1 -81
  468. package/libs/shared-utils/Object3DHelper/Helper/HTML/tipsDom.js +1 -31
  469. package/libs/shared-utils/Object3DHelper/Helper/HTML/utils/createElement.js +1 -14
  470. package/libs/shared-utils/Object3DHelper/Helper/MoveHelper.js +1 -31
  471. package/libs/shared-utils/Object3DHelper/Helper/Objects/ArrowGroup.js +1 -35
  472. package/libs/shared-utils/Object3DHelper/Helper/OutlineHelper.js +1 -103
  473. package/libs/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.js +1 -143
  474. package/libs/shared-utils/Object3DHelper/Helper/RotateHelper.js +1 -137
  475. package/libs/shared-utils/Object3DHelper/Helper/index.js +1 -30
  476. package/libs/shared-utils/Object3DHelper/index.js +1 -140
  477. package/libs/shared-utils/Object3DHelper/typings/Direction.js +1 -1
  478. package/libs/shared-utils/Object3DHelper/typings/Hooks.js +1 -1
  479. package/libs/shared-utils/Object3DHelper/typings/Scissor.js +1 -1
  480. package/libs/shared-utils/Object3DHelper/typings/index.js +1 -1
  481. package/libs/shared-utils/Object3DHelper/utils/calculateThreeMouse.js +1 -11
  482. package/libs/shared-utils/Object3DHelper/utils/direction.js +1 -30
  483. package/libs/shared-utils/Object3DHelper/utils/filterNotColinearPoints.js +1 -18
  484. package/libs/shared-utils/Object3DHelper/utils/getMouseRaycaster.d.ts +1 -1
  485. package/libs/shared-utils/Object3DHelper/utils/getMouseRaycaster.js +1 -14
  486. package/libs/shared-utils/Object3DHelper/utils/getPoint.js +1 -18
  487. package/libs/shared-utils/Object3DHelper/utils/index.js +1 -29
  488. package/libs/shared-utils/Object3DHelper/utils/normalPositionToPositions.js +1 -13
  489. package/libs/shared-utils/Object3DHelper/utils/object3DBoundingPosition.js +1 -5
  490. package/libs/shared-utils/Object3DHelper/utils/threex/domevents/index.d.ts +34 -0
  491. package/libs/shared-utils/Object3DHelper/utils/threex/domevents/index.js +1 -191
  492. package/libs/shared-utils/Object3DHelper/utils/vectorIsEqual.js +1 -6
  493. package/libs/shared-utils/Subscribe.js +1 -50
  494. package/libs/shared-utils/animationFrame/BetterTween.js +1 -6
  495. package/libs/shared-utils/animationFrame/calculateProgress.js +1 -12
  496. package/libs/shared-utils/animationFrame/formatRad.js +1 -13
  497. package/libs/shared-utils/animationFrame/index.js +1 -51
  498. package/libs/shared-utils/animationFrame/tween.js +1 -30
  499. package/libs/shared-utils/changeModelCanvasOpacity.js +1 -12
  500. package/libs/shared-utils/createCanvasTextTexture.js +1 -11
  501. package/libs/shared-utils/createLine/index.js +1 -9
  502. package/libs/shared-utils/debounce.js +1 -11
  503. package/libs/shared-utils/equal.js +1 -54
  504. package/libs/shared-utils/filter.js +1 -30
  505. package/libs/shared-utils/five/changeMode.js +1 -21
  506. package/libs/shared-utils/getPxmm.js +1 -21
  507. package/libs/shared-utils/index.js +1 -45
  508. package/libs/shared-utils/isNil.js +1 -10
  509. package/libs/shared-utils/isTruelyObject.js +1 -6
  510. package/libs/shared-utils/math/Interval.js +1 -23
  511. package/libs/shared-utils/math/Rectangle.js +1 -23
  512. package/libs/shared-utils/math/index.js +1 -6
  513. package/libs/shared-utils/math/planimetry.d.ts +5 -5
  514. package/libs/shared-utils/math/planimetry.js +1 -135
  515. package/libs/shared-utils/math/rad2Deg.js +1 -6
  516. package/libs/shared-utils/nearlyEqual.js +1 -6
  517. package/libs/shared-utils/nextFrame.js +1 -6
  518. package/libs/shared-utils/noop.js +1 -5
  519. package/libs/shared-utils/object3d2LocalMatrix.js +1 -19
  520. package/libs/shared-utils/removeArrayItem.d.ts +1 -1
  521. package/libs/shared-utils/removeArrayItem.js +1 -8
  522. package/libs/shared-utils/tap.js +1 -6
  523. package/libs/shared-utils/three/Assets/index.js +1 -5
  524. package/libs/shared-utils/three/FivePointSelector.d.ts +1 -1
  525. package/libs/shared-utils/three/FivePointSelector.js +1 -63
  526. package/libs/shared-utils/three/Magnifier.d.ts +2 -2
  527. package/libs/shared-utils/three/Magnifier.js +1 -104
  528. package/libs/shared-utils/three/PointDomHelper.js +1 -68
  529. package/libs/shared-utils/three/PointHelper.js +3 -60
  530. package/libs/shared-utils/three/getCoords.js +1 -13
  531. package/libs/shared-utils/three/getIntersect.d.ts +1 -1
  532. package/libs/shared-utils/three/getIntersect.js +1 -8
  533. package/libs/shared-utils/three/getRaycaster.d.ts +1 -1
  534. package/libs/shared-utils/three/getRaycaster.js +1 -12
  535. package/libs/shared-utils/three/index.js +1 -33
  536. package/libs/shared-utils/three/loadTexture.js +1 -10
  537. package/libs/shared-utils/three/transformPositionToVector3.js +1 -5
  538. package/libs/shared-utils/three/transfromToMeshBasicMaterial.js +1 -13
  539. package/libs/shared-utils/throttle.js +1 -11
  540. package/libs/shared-utils/tinyEJSrender.js +14 -138
  541. package/libs/shared-utils/to.js +1 -11
  542. package/libs/shared-utils/uuid.js +1 -10
  543. package/libs/vendor/swiper/components-shared/get-changed-params.js +1 -0
  544. package/libs/vendor/swiper/components-shared/get-params.js +1 -0
  545. package/libs/vendor/swiper/components-shared/mount-swiper.js +1 -0
  546. package/libs/vendor/swiper/components-shared/params-list.js +1 -0
  547. package/libs/vendor/swiper/components-shared/update-swiper.js +1 -0
  548. package/libs/vendor/swiper/components-shared/utils.js +1 -0
  549. package/libs/vendor/swiper/svelte/swiper-slide.js +1 -0
  550. package/libs/vendor/swiper/svelte/swiper-svelte.js +1 -0
  551. package/libs/vendor/swiper/svelte/swiper.js +1 -0
  552. package/package.json +218 -31
  553. package/dist/style.css +0 -1
  554. package/docs/assets/icons.css +0 -1043
  555. package/docs/assets/icons.png +0 -0
  556. package/docs/assets/icons@2x.png +0 -0
  557. package/docs/assets/widgets.png +0 -0
  558. package/docs/assets/widgets@2x.png +0 -0
  559. package/docs/interfaces/CSS3DRenderPluginExportType.html +0 -4
  560. package/libs/CruisePlugin/typing.js +0 -1
  561. package/libs/GuideLinePlugin/typing.js +0 -1
  562. package/libs/GuideLinePlugin/utils/getPoint.d.ts +0 -3
  563. package/libs/GuideLinePlugin/utils/getPoint.js +0 -18
  564. package/libs/GuideLinePlugin/utils/polyline-normals.d.js +0 -1
  565. package/libs/ItemLabelPlugin/events.type.js +0 -1
  566. package/libs/ModelRoomLabelPlugin/typings.js +0 -1
  567. package/libs/Object3DHelperPlugin/mocks/addObject3D.d.ts +0 -2
  568. package/libs/Object3DHelperPlugin/mocks/addObject3D.js +0 -1377
  569. package/libs/Object3DHelperPlugin/mocks/objects.d.ts +0 -7
  570. package/libs/Object3DHelperPlugin/mocks/objects.js +0 -47
  571. package/libs/Object3DHelperPlugin/typings.js +0 -1
  572. package/libs/PanoCompassPlugin/typings.js +0 -1
  573. package/libs/PanoDoorLabelPlugin/typings.js +0 -1
  574. package/libs/PanoMeasurePlugin/typings/data.js +0 -1
  575. package/libs/PanoMeasurePlugin/typings/event.type.js +0 -1
  576. package/libs/PanoMeasurePlugin/typings/index.js +0 -1
  577. package/libs/PanoMeasurePlugin/typings/utils.type.d.ts +0 -1
  578. package/libs/PanoMeasurePlugin/typings/utils.type.js +0 -1
  579. package/libs/PanoMeasurePlugin/utils/clearGroup.d.ts +0 -2
  580. package/libs/PanoMeasurePlugin/utils/clearGroup.js +0 -6
  581. package/libs/PanoRulerPlugin/typings.js +0 -1
  582. package/libs/PanoRulerProPlugin/typings.js +0 -1
  583. package/libs/PanoTagPlugin/Components/Common/TextItem.js +0 -106
  584. package/libs/TagComputer.2bc444dc.js +0 -315
  585. package/libs/floorplan/MapviewFloorplanPlugin/typing.js +0 -1
  586. package/libs/floorplan/ModelFloorplanPlugin/typing.js +0 -1
  587. package/libs/floorplan/PanoFloorplanRadarPlugin/typing.js +0 -1
  588. package/libs/floorplan/TopviewFloorplanPlugin/style.d.ts +0 -1
  589. package/libs/floorplan/TopviewFloorplanPlugin/style.js +0 -11
  590. package/libs/floorplan/TopviewFloorplanPlugin/typing.js +0 -1
  591. package/libs/floorplan/typings/index.js +0 -1
  592. package/libs/floorplan/typings/utility.js +0 -1
  593. package/libs/hammer.b5b6115e.js +0 -882
  594. package/libs/index.164f1850.js +0 -641
  595. package/libs/index.5d5d1089.js +0 -34
  596. package/libs/index.6a0eead1.js +0 -12
  597. package/libs/index.ad783a2f.js +0 -31
  598. package/libs/index.dca207cb.js +0 -37
  599. package/libs/index.f2f85d71.js +0 -40
  600. package/libs/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +0 -1
  601. package/libs/shared-utils/Object3DHelper/utils/finiteNumber.js +0 -6
  602. package/libs/shared-utils/Object3DHelper/utils/negateScale.d.ts +0 -2
  603. package/libs/shared-utils/Object3DHelper/utils/negateScale.js +0 -7
  604. package/libs/shared-utils/Object3DHelper/utils/threex/domevents/index.d.js +0 -4
  605. package/libs/shared-utils/Preloader.d.ts +0 -6
  606. package/libs/shared-utils/Preloader.js +0 -18
  607. package/libs/shared-utils/formatRad.d.ts +0 -7
  608. package/libs/shared-utils/formatRad.js +0 -7
  609. package/libs/shared-utils/getRandomColor.d.ts +0 -1
  610. package/libs/shared-utils/getRandomColor.js +0 -6
  611. package/libs/shared-utils/logger.d.ts +0 -16
  612. package/libs/shared-utils/logger.js +0 -27
  613. package/libs/shared-utils/math/evenNumber.d.ts +0 -3
  614. package/libs/shared-utils/math/evenNumber.js +0 -7
  615. package/libs/shared-utils/px2rem.d.ts +0 -1
  616. package/libs/shared-utils/px2rem.js +0 -6
  617. package/libs/shared-utils/three/getExtraModelLoader.d.ts +0 -6
  618. package/libs/shared-utils/three/getExtraModelLoader.js +0 -18
  619. package/libs/shared-utils/three/getNormal.d.ts +0 -2
  620. package/libs/shared-utils/three/getNormal.js +0 -7
  621. package/libs/shared-utils/three/getTextureLoader.d.ts +0 -6
  622. package/libs/shared-utils/three/getTextureLoader.js +0 -16
  623. package/libs/shared-utils/three/loadFbxObj.d.ts +0 -2
  624. package/libs/shared-utils/three/loadFbxObj.js +0 -16
  625. package/libs/shared-utils/vectorTocoordinates.d.ts +0 -7
  626. package/libs/shared-utils/vectorTocoordinates.js +0 -10
  627. package/libs/style.css +0 -1
  628. package/libs/tween.esm.bad2b2b4.js +0 -340
  629. package/libs/typings/math.type.js +0 -1
  630. package/libs/typings/utils.type.d.ts +0 -2
  631. package/libs/typings/utils.type.js +0 -1
@@ -1,155 +1 @@
1
- var m = Object.defineProperty;
2
- var O = (p, e, t) => e in p ? m(p, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : p[e] = t;
3
- var s = (p, e, t) => (O(p, typeof e != "symbol" ? e + "" : e, t), t);
4
- import * as l from "three";
5
- import { Subscribe as y } from "../../Subscribe.js";
6
- import j from "../utils/threex/domevents/index.js";
7
- import { notNil as g } from "../../isNil.js";
8
- import { CSS3DObjectPlus as D } from "../../../CSS3DRenderPlugin/utils/CSS3DObjectPlus.js";
9
- import "three/examples/jsm/renderers/CSS3DRenderer";
10
- import "../../../CSS3DRenderPlugin/utils/evenNumber.js";
11
- import "../../../CSS3DRenderPlugin/utils/centerPoint.js";
12
- let h = null;
13
- class k {
14
- constructor(e, t, o, n, a, r, c) {
15
- s(this, "hooks", new y());
16
- s(this, "helperObject3D");
17
- s(this, "originObject3D");
18
- s(this, "camera");
19
- s(this, "model");
20
- s(this, "scene");
21
- s(this, "container");
22
- s(this, "domEvents");
23
- s(this, "isDragging", !1);
24
- s(this, "onRender");
25
- s(this, "enabled", !1);
26
- s(this, "onWantsTapGesture", (e) => {
27
- if (this.getIntersectObject(e))
28
- return !1;
29
- });
30
- this.camera = e, this.model = t, this.originObject3D = o, this.helperObject3D = n, this.container = a, this.scene = r, this.domEvents = new j(e, a), this.onRender = c != null ? c : () => {
31
- }, this.initialHelperPosition(), this.initialHelperQuaternion(), this.enable();
32
- }
33
- initialHelperPosition() {
34
- this.helperObject3D.updatePosition();
35
- }
36
- initialHelperQuaternion() {
37
- this.helperObject3D.updateQuaternion();
38
- }
39
- enable() {
40
- this.enabled || (this.enabled = !0, this.scene.add(this.helperObject3D), this.render());
41
- }
42
- disable() {
43
- !this.enabled || (this.enabled = !1, this.scene.remove(this.helperObject3D), this.render());
44
- }
45
- show() {
46
- this.helperObject3D.show(), this.render();
47
- }
48
- hide() {
49
- this.helperObject3D.hide(), this.render();
50
- }
51
- dispose() {
52
- this.helperObject3D.dispose(), this.scene.remove(this.helperObject3D), this.render();
53
- }
54
- setOpacity(e) {
55
- this.setOriginOpacityProperty();
56
- const t = this.originObject3D;
57
- if (t instanceof l.Mesh && (t.material.opacity = e), t.isCSS3DObjectPlus) {
58
- const o = t;
59
- o.container.style.opacity = e.toString();
60
- }
61
- this.render();
62
- }
63
- restoreOpacity() {
64
- if (h === null)
65
- return;
66
- const e = this.originObject3D;
67
- if (e instanceof l.Mesh && (e.material.opacity = h.opacity), e.isCSS3DObjectPlus) {
68
- const t = e;
69
- t.container.style.opacity = h.opacity.toString();
70
- }
71
- this.render();
72
- }
73
- setOriginOpacityProperty() {
74
- var e, t;
75
- if (h === null) {
76
- const o = this.originObject3D;
77
- o instanceof l.Mesh && (h = {
78
- opacity: o.material.opacity
79
- }), o instanceof D && (h = {
80
- opacity: (e = o.container.style.opacity) != null ? e : 1
81
- }), o.isCSS3DObjectPlus && (h = {
82
- opacity: Number((t = o.container.style.opacity) != null ? t : 1)
83
- });
84
- }
85
- }
86
- updateHelperPosition() {
87
- this.helperObject3D.updatePosition();
88
- }
89
- updateHelperQuaternion() {
90
- this.helperObject3D.updateQuaternion();
91
- }
92
- applyHelperMatrix4(e) {
93
- this.helperObject3D.applyMatrix4(e);
94
- }
95
- applyHelperQuaternion(e, t) {
96
- this.helperObject3D.applyHelperQuaternion(e, t);
97
- }
98
- applyHelperScaleMatrix4(e, t) {
99
- this.helperObject3D.applyHelperScaleMatrix4(e, t);
100
- }
101
- onWantsGesture(e, t, o) {
102
- if (this.isDragging)
103
- return !1;
104
- }
105
- render() {
106
- this.onRender();
107
- }
108
- hoverListener(e, t = 16777215, o = 1) {
109
- const n = (Array.isArray(e) ? e : [e]).filter(g), a = [];
110
- for (const r of n)
111
- if (r instanceof l.Mesh || r instanceof l.Group) {
112
- const c = r instanceof l.Group ? r.children.filter((i) => i instanceof l.Mesh) : [r];
113
- c.forEach((i) => {
114
- i.__originalColor__ = i.material.color.clone(), i.__originalOpacity__ = i.material.opacity;
115
- });
116
- const d = () => {
117
- c.forEach((i) => {
118
- i.material.color.set(t), i.material.opacity = o;
119
- }), this.render();
120
- }, f = () => {
121
- c.forEach((i) => {
122
- i.material.color.copy(i.__originalColor__), i.material.opacity = i.__originalOpacity__;
123
- }), this.render();
124
- }, u = () => {
125
- this.isDragging || d();
126
- }, b = () => {
127
- this.isDragging || f();
128
- };
129
- for (const i of c)
130
- this.domEvents.addEventListener(i, "mouseover", u), this.domEvents.addEventListener(i, "mouseout", b), this.hooks.on("moveStart", d), this.hooks.on("moveEnd", f), this.hooks.on("rotateEnd", f), a.push(() => {
131
- this.domEvents.removeEventListener(i, "mouseover", u), this.domEvents.removeEventListener(i, "mouseout", b), this.hooks.off("moveStart", d), this.hooks.off("moveEnd", f), this.hooks.off("rotateEnd", f);
132
- });
133
- }
134
- return () => a.forEach((r) => r == null ? void 0 : r());
135
- }
136
- getIntersectObject(e) {
137
- const t = this.camera.position, o = this.helperObject3D;
138
- if (!o)
139
- return;
140
- let n;
141
- const a = e.intersectObject(o, !0)[0];
142
- if (!!a && (n = a, n.object = o, !!n)) {
143
- if (this.model.intersectRaycaster) {
144
- const r = this.model.intersectRaycaster(e)[0];
145
- if (r && r.point.distanceTo(t) < n.point.distanceTo(t))
146
- return;
147
- }
148
- return n.object;
149
- }
150
- }
151
- }
152
- export {
153
- k as BaseController,
154
- h as originOpacity
155
- };
1
+ "use strict";var O=Object.defineProperty;var j=(s,e,t)=>e in s?O(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var n=(s,e,t)=>(j(s,typeof e!="symbol"?e+"":e,t),t);const y=require("three"),g=require("../../Subscribe.js"),m=require("../utils/threex/domevents/index.js"),D=require("../../isNil.js"),v=require("../../../CSS3DRenderPlugin/utils/CSS3DObjectPlus.js");function _(s){if(s&&s.__esModule)return s;const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const t in s)if(t!=="default"){const i=Object.getOwnPropertyDescriptor(s,t);Object.defineProperty(e,t,i.get?i:{enumerable:!0,get:()=>s[t]})}}return e.default=s,Object.freeze(e)}const h=_(y);let p=null;class S{constructor(e,t,i,c,a,o,l){n(this,"hooks",new g.Subscribe);n(this,"helperObject3D");n(this,"originObject3D");n(this,"camera");n(this,"model");n(this,"scene");n(this,"container");n(this,"domEvents");n(this,"isDragging",!1);n(this,"onRender");n(this,"enabled",!1);n(this,"onWantsTapGesture",e=>{if(this.getIntersectObject(e))return!1});this.camera=e,this.model=t,this.originObject3D=i,this.helperObject3D=c,this.container=a,this.scene=o,this.domEvents=new m.DomEvents(e,a),this.onRender=l!=null?l:()=>{},this.initialHelperPosition(),this.initialHelperQuaternion(),this.enable()}initialHelperPosition(){this.helperObject3D.updatePosition()}initialHelperQuaternion(){this.helperObject3D.updateQuaternion()}enable(){this.enabled||(this.enabled=!0,this.scene.add(this.helperObject3D),this.render())}disable(){!this.enabled||(this.enabled=!1,this.scene.remove(this.helperObject3D),this.render())}show(){this.helperObject3D.show(),this.render()}hide(){this.helperObject3D.hide(),this.render()}dispose(){this.helperObject3D.dispose(),this.scene.remove(this.helperObject3D),this.render()}setOpacity(e){this.setOriginOpacityProperty();const t=this.originObject3D;if(t instanceof h.Mesh&&(t.material.opacity=e),t.isCSS3DObjectPlus){const i=t;i.container.style.opacity=e.toString()}this.render()}restoreOpacity(){if(p===null)return;const e=this.originObject3D;if(e instanceof h.Mesh&&(e.material.opacity=p.opacity),e.isCSS3DObjectPlus){const t=e;t.container.style.opacity=p.opacity.toString()}this.render()}setOriginOpacityProperty(){var e,t;if(p===null){const i=this.originObject3D;i instanceof h.Mesh&&(p={opacity:i.material.opacity}),i instanceof v.CSS3DObjectPlus&&(p={opacity:(e=i.container.style.opacity)!=null?e:1}),i.isCSS3DObjectPlus&&(p={opacity:Number((t=i.container.style.opacity)!=null?t:1)})}}updateHelperPosition(){this.helperObject3D.updatePosition()}updateHelperQuaternion(){this.helperObject3D.updateQuaternion()}applyHelperMatrix4(e){this.helperObject3D.applyMatrix4(e)}applyHelperQuaternion(e,t){this.helperObject3D.applyHelperQuaternion(e,t)}applyHelperScaleMatrix4(e,t){this.helperObject3D.applyHelperScaleMatrix4(e,t)}onWantsGesture(e,t,i){if(this.isDragging)return!1}render(){this.onRender()}hoverListener(e,t=16777215,i=1){const c=(Array.isArray(e)?e:[e]).filter(D.notNil),a=[];for(const o of c)if(o instanceof h.Mesh||o instanceof h.Group){const l=o instanceof h.Group?o.children.filter(r=>r instanceof h.Mesh):[o];l.forEach(r=>{r.__originalColor__=r.material.color.clone(),r.__originalOpacity__=r.material.opacity});const d=()=>{l.forEach(r=>{r.material.color.set(t),r.material.opacity=i}),this.render()},u=()=>{l.forEach(r=>{r.material.color.copy(r.__originalColor__),r.material.opacity=r.__originalOpacity__}),this.render()},b=()=>{this.isDragging||d()},f=()=>{this.isDragging||u()};for(const r of l)this.domEvents.addEventListener(r,"mouseover",b),this.domEvents.addEventListener(r,"mouseout",f),this.hooks.on("moveStart",d),this.hooks.on("moveEnd",u),this.hooks.on("rotateEnd",u),a.push(()=>{this.domEvents.removeEventListener(r,"mouseover",b),this.domEvents.removeEventListener(r,"mouseout",f),this.hooks.off("moveStart",d),this.hooks.off("moveEnd",u),this.hooks.off("rotateEnd",u)})}return()=>a.forEach(o=>o==null?void 0:o())}getIntersectObject(e){const t=this.camera.position,i=this.helperObject3D;if(!i)return;let c;const a=e.intersectObject(i,!0)[0];if(!!a&&(c=a,c.object=i,!!c)){if(this.model.intersectRaycaster){const o=this.model.intersectRaycaster(e)[0];if(o&&o.point.distanceTo(t)<c.point.distanceTo(t))return}return c.object}}}exports.BaseController=S;
@@ -1,53 +1 @@
1
- var o = Object.defineProperty;
2
- var p = (t, s, e) => s in t ? o(t, s, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[s] = e;
3
- var i = (t, s, e) => (p(t, typeof s != "symbol" ? s + "" : s, e), e);
4
- import { Object3D as l } from "three";
5
- class n extends l {
6
- constructor(e, r) {
7
- var a;
8
- super();
9
- i(this, "originObject3D");
10
- i(this, "onRender");
11
- this.originObject3D = e, this.onRender = (a = r == null ? void 0 : r.onRender) != null ? a : () => {
12
- };
13
- }
14
- get helperObject() {
15
- return this;
16
- }
17
- render() {
18
- this.onRender();
19
- }
20
- show() {
21
- this.visible = !0, this.render();
22
- }
23
- hide() {
24
- this.visible = !1, this.render();
25
- }
26
- updatePosition() {
27
- this.position.copy(this.originObject3D.position);
28
- }
29
- updateQuaternion() {
30
- this.quaternion.copy(this.originObject3D.quaternion);
31
- }
32
- applyHelperScaleMatrix4(e, r) {
33
- this.scale.applyMatrix4(e);
34
- }
35
- applyHelperQuaternion(e, r) {
36
- this.applyQuaternion(e);
37
- }
38
- }
39
- class b extends n {
40
- }
41
- class u extends n {
42
- }
43
- class c extends n {
44
- }
45
- class x extends c {
46
- }
47
- export {
48
- n as BaseHelper,
49
- b as MoveHelperAbstract,
50
- x as RectangleScaleHelperAbstract,
51
- u as RotateHelperAbstract,
52
- c as ScaleHelperAbstract
53
- };
1
+ "use strict";var l=Object.defineProperty;var c=(t,r,e)=>r in t?l(t,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[r]=e;var i=(t,r,e)=>(c(t,typeof r!="symbol"?r+"":r,e),e);const p=require("three");class a extends p.Object3D{constructor(e,s){var n;super();i(this,"originObject3D");i(this,"onRender");this.originObject3D=e,this.onRender=(n=s==null?void 0:s.onRender)!=null?n:()=>{}}get helperObject(){return this}render(){this.onRender()}show(){this.visible=!0,this.render()}hide(){this.visible=!1,this.render()}updatePosition(){this.position.copy(this.originObject3D.position)}updateQuaternion(){this.quaternion.copy(this.originObject3D.quaternion)}applyHelperScaleMatrix4(e,s){this.scale.applyMatrix4(e)}applyHelperQuaternion(e,s){this.applyQuaternion(e)}}class o extends a{}class h extends a{}class b extends a{}class d extends b{}exports.MoveHelperAbstract=o;exports.RectangleScaleHelperAbstract=d;exports.RotateHelperAbstract=h;
@@ -1,21 +1 @@
1
- import * as e from "three";
2
- const o = {
3
- X: 15618642,
4
- Y: 4765519,
5
- Z: 4227839
6
- };
7
- class t {
8
- static get X() {
9
- return new e.Color(o.X).convertSRGBToLinear().clone();
10
- }
11
- static get Y() {
12
- return new e.Color(o.Y).convertSRGBToLinear().clone();
13
- }
14
- static get Z() {
15
- return new e.Color(o.Z).convertSRGBToLinear().clone();
16
- }
17
- }
18
- export {
19
- o as AXES_COLOR,
20
- t as AXES_THREE_COLOR
21
- };
1
+ "use strict";const a=require("three");function i(e){if(e&&e.__esModule)return e;const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const c=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,c.get?c:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const n=i(a),o={X:15618642,Y:4765519,Z:4227839};class s{static get X(){return new n.Color(o.X).convertSRGBToLinear().clone()}static get Y(){return new n.Color(o.Y).convertSRGBToLinear().clone()}static get Z(){return new n.Color(o.Z).convertSRGBToLinear().clone()}}exports.AXES_THREE_COLOR=s;
@@ -1,29 +1 @@
1
- import { RectangleScaleController as d } from "./RectangleScaleController.js";
2
- import "three";
3
- import "../Base/BaseController.js";
4
- import "../../Subscribe.js";
5
- import "../utils/threex/domevents/index.js";
6
- import "../../isNil.js";
7
- import "../../../CSS3DRenderPlugin/utils/CSS3DObjectPlus.js";
8
- import "three/examples/jsm/renderers/CSS3DRenderer";
9
- import "../../../CSS3DRenderPlugin/utils/evenNumber.js";
10
- import "../../../CSS3DRenderPlugin/utils/centerPoint.js";
11
- import "../utils/getMouseRaycaster.js";
12
- import "../utils/calculateThreeMouse.js";
13
- import "../utils/vectorIsEqual.js";
14
- class u extends d {
15
- constructor(...t) {
16
- super(...t), this.addHTMLEventListener();
17
- }
18
- addHTMLEventListener() {
19
- this.helperObject3D.points.forEach((t) => {
20
- if (!t)
21
- return;
22
- const r = t.point, e = (o) => this.dragStart(o, t), i = this.dragging.bind(this), n = this.dragEnd.bind(this);
23
- r.addEventListener("dragstart", e), r.addEventListener("drag", i), r.addEventListener("dragend", n);
24
- });
25
- }
26
- }
27
- export {
28
- u as CSS3DScaleController
29
- };
1
+ "use strict";const d=require("./RectangleScaleController.js");require("three");class l extends d.RectangleScaleController{constructor(...e){super(...e),this.addHTMLEventListener()}addHTMLEventListener(){this.helperObject3D.points.forEach(e=>{if(!e)return;const t=e.point,r=a=>this.dragStart(a,e),n=this.dragging.bind(this),s=this.dragEnd.bind(this);t.addEventListener("dragstart",r),t.addEventListener("drag",n),t.addEventListener("dragend",s)})}}exports.CSS3DScaleController=l;
@@ -1,74 +1 @@
1
- var u = Object.defineProperty;
2
- var m = (s, e, t) => e in s ? u(s, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[e] = t;
3
- var p = (s, e, t) => (m(s, typeof e != "symbol" ? e + "" : e, t), t);
4
- import { BaseController as f } from "../Base/BaseController.js";
5
- import * as c from "three";
6
- import { getMouseRaycaster as b } from "../utils/getMouseRaycaster.js";
7
- import "../../Subscribe.js";
8
- import "../utils/threex/domevents/index.js";
9
- import "../../isNil.js";
10
- import "../../../CSS3DRenderPlugin/utils/CSS3DObjectPlus.js";
11
- import "three/examples/jsm/renderers/CSS3DRenderer";
12
- import "../../../CSS3DRenderPlugin/utils/evenNumber.js";
13
- import "../../../CSS3DRenderPlugin/utils/centerPoint.js";
14
- import "../utils/calculateThreeMouse.js";
15
- class P extends f {
16
- constructor(...t) {
17
- super(...t);
18
- p(this, "startInfo");
19
- const r = this.helperObject3D;
20
- this.hoverListener([r.xArrow, r.yArrow, r.zArrow]);
21
- const o = this.dragStart.bind(this), n = this.dragging.bind(this), a = this.dragEnd.bind(this);
22
- this.domEvents.addEventListener(this.helperObject3D, "mousedown", o), document.addEventListener("mousemove", n), document.addEventListener("mouseup", a);
23
- }
24
- dragStart(t) {
25
- if (this.isDragging)
26
- return;
27
- const r = t == null ? void 0 : t.intersect;
28
- if (!r)
29
- return this.dragEnd();
30
- const o = (r == null ? void 0 : r.object).direction;
31
- if (!o)
32
- return this.dragEnd();
33
- const n = new c.Vector3(1, 0, 0).applyQuaternion(this.helperObject3D.quaternion), a = new c.Vector3(0, 1, 0).applyQuaternion(this.helperObject3D.quaternion), h = new c.Vector3(0, 0, 1).applyQuaternion(this.helperObject3D.quaternion), d = (() => {
34
- switch (o) {
35
- case "x":
36
- return n;
37
- case "y":
38
- return a;
39
- case "z":
40
- return h;
41
- }
42
- })(), g = (() => {
43
- switch (o) {
44
- case "x":
45
- case "y":
46
- return h;
47
- case "z":
48
- return n;
49
- }
50
- })(), i = r.point.clone(), l = new c.Plane();
51
- l.setFromNormalAndCoplanarPoint(g, i), this.startInfo = { startVectorProject: i.clone().projectOnVector(d), directionVector: d, plane: l }, this.helperObject3D.showDraggingHelper([o]), this.hooks.emit("moveStart"), this.isDragging = !0, console.log("%c MoveController dragStart", "color: #e5af2e");
52
- }
53
- dragging(t) {
54
- if (!this.isDragging || !this.startInfo)
55
- return;
56
- const r = b(this.camera, t, this.container);
57
- return r ? (console.log("%c RotateController dragging", "color: #49de1b"), this.move(r), !1) : this.dragEnd();
58
- }
59
- move(t) {
60
- if (!this.startInfo)
61
- return this.dragEnd();
62
- const { plane: r, directionVector: o, startVectorProject: n } = this.startInfo, a = this.originObject3D, h = t.ray.intersectPlane(r, new c.Vector3());
63
- if (!h)
64
- return;
65
- const d = h.clone().projectOnVector(o), g = d.clone().sub(n), i = new c.Matrix4();
66
- i.setPosition(g), a.applyMatrix4(i), this.helperObject3D.applyMatrix4(i), n.copy(d), this.hooks.emit("positionUpdate", { matrix4: i });
67
- }
68
- dragEnd() {
69
- !this.isDragging || (console.log("%c MoveController dragEnd", "color: #e94e4e"), this.startInfo = void 0, this.isDragging = !1, this.helperObject3D.show(), this.hooks.emit("moveEnd"));
70
- }
71
- }
72
- export {
73
- P as MoveController
74
- };
1
+ "use strict";var p=Object.defineProperty;var f=(r,n,t)=>n in r?p(r,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[n]=t;var u=(r,n,t)=>(f(r,typeof n!="symbol"?n+"":n,t),t);const b=require("../Base/BaseController.js"),j=require("three"),m=require("../utils/getMouseRaycaster.js");function D(r){if(r&&r.__esModule)return r;const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const e=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(n,t,e.get?e:{enumerable:!0,get:()=>r[t]})}}return n.default=r,Object.freeze(n)}const c=D(j);class O extends b.BaseController{constructor(...t){super(...t);u(this,"startInfo");const e=this.helperObject3D;this.hoverListener([e.xArrow,e.yArrow,e.zArrow]);const o=this.dragStart.bind(this),s=this.dragging.bind(this),a=this.dragEnd.bind(this);this.domEvents.addEventListener(this.helperObject3D,"mousedown",o),document.addEventListener("mousemove",s),document.addEventListener("mouseup",a)}dragStart(t){if(this.isDragging)return;const e=t==null?void 0:t.intersect;if(!e)return this.dragEnd();const o=(e==null?void 0:e.object).direction;if(!o)return this.dragEnd();const s=new c.Vector3(1,0,0).applyQuaternion(this.helperObject3D.quaternion),a=new c.Vector3(0,1,0).applyQuaternion(this.helperObject3D.quaternion),l=new c.Vector3(0,0,1).applyQuaternion(this.helperObject3D.quaternion),d=(()=>{switch(o){case"x":return s;case"y":return a;case"z":return l}})(),g=(()=>{switch(o){case"x":case"y":return l;case"z":return s}})(),i=e.point.clone(),h=new c.Plane;h.setFromNormalAndCoplanarPoint(g,i),this.startInfo={startVectorProject:i.clone().projectOnVector(d),directionVector:d,plane:h},this.helperObject3D.showDraggingHelper([o]),this.hooks.emit("moveStart"),this.isDragging=!0,console.log("%c MoveController dragStart","color: #e5af2e")}dragging(t){if(!this.isDragging||!this.startInfo)return;const e=m.getMouseRaycaster(this.camera,t,this.container);return e?(console.log("%c RotateController dragging","color: #49de1b"),this.move(e),!1):this.dragEnd()}move(t){if(!this.startInfo)return this.dragEnd();const{plane:e,directionVector:o,startVectorProject:s}=this.startInfo,a=this.originObject3D,l=t.ray.intersectPlane(e,new c.Vector3);if(!l)return;const d=l.clone().projectOnVector(o),g=d.clone().sub(s),i=new c.Matrix4;i.setPosition(g),a.applyMatrix4(i),this.helperObject3D.applyMatrix4(i),s.copy(d),this.hooks.emit("positionUpdate",{matrix4:i})}dragEnd(){!this.isDragging||(console.log("%c MoveController dragEnd","color: #e94e4e"),this.startInfo=void 0,this.isDragging=!1,this.helperObject3D.show(),this.hooks.emit("moveEnd"))}}exports.MoveController=O;
@@ -19,7 +19,7 @@ export declare abstract class RectangleScaleController<OriginObject3D extends TH
19
19
  disable(): void;
20
20
  show(): void;
21
21
  hide(): void;
22
- protected getDragPlane(): THREE.Plane | undefined;
22
+ protected getDragPlane(): THREE.Plane;
23
23
  protected dragStart(mousePoint: {
24
24
  x: number;
25
25
  y: number;
@@ -1,117 +1 @@
1
- var X = Object.defineProperty;
2
- var Y = (h, a, s) => a in h ? X(h, a, { enumerable: !0, configurable: !0, writable: !0, value: s }) : h[a] = s;
3
- var N = (h, a, s) => (Y(h, typeof a != "symbol" ? a + "" : a, s), s);
4
- import { BaseController as A } from "../Base/BaseController.js";
5
- import * as D from "three";
6
- import { Vector3 as n } from "three";
7
- import { getMouseRaycaster as H } from "../utils/getMouseRaycaster.js";
8
- import { vectorIsEqual as T } from "../utils/vectorIsEqual.js";
9
- import "../../Subscribe.js";
10
- import "../utils/threex/domevents/index.js";
11
- import "../../isNil.js";
12
- import "../../../CSS3DRenderPlugin/utils/CSS3DObjectPlus.js";
13
- import "three/examples/jsm/renderers/CSS3DRenderer";
14
- import "../../../CSS3DRenderPlugin/utils/evenNumber.js";
15
- import "../../../CSS3DRenderPlugin/utils/centerPoint.js";
16
- import "../utils/calculateThreeMouse.js";
17
- class it extends A {
18
- constructor(...s) {
19
- super(...s);
20
- N(this, "startInfo");
21
- }
22
- enable() {
23
- this.helperObject3D.enable(), super.enable();
24
- }
25
- disable() {
26
- this.helperObject3D.disable(), super.disable();
27
- }
28
- show() {
29
- this.helperObject3D.show(), super.show();
30
- }
31
- hide() {
32
- this.helperObject3D.hide(), super.hide();
33
- }
34
- getDragPlane() {
35
- const s = new D.Plane(), e = this.helperObject3D.cornerPositions;
36
- if (e.length !== 0)
37
- return e.length < 3 ? s.setFromNormalAndCoplanarPoint(this.originObject3D.getWorldDirection(new n()), e[0]) : s.setFromCoplanarPoints(e[0], e[1], e[2]), s;
38
- }
39
- dragStart(s, e) {
40
- var p, o;
41
- (o = (p = this.helperObject3D).updatePoints) == null || o.call(p);
42
- const f = this.getDragPlane();
43
- if (!f)
44
- return this.dragEnd();
45
- this.startInfo = { startPoint: { position: e.position.clone(), direction: e.direction }, plane: f }, this.hooks.emit("scaleStart"), this.render(), this.isDragging = !0, console.log("%c RectangleScaleController dragStart", "color: #e5af2e");
46
- }
47
- dragging(s) {
48
- if (!this.isDragging)
49
- return;
50
- const e = H(this.camera, s, this.container);
51
- if (!e)
52
- return this.dragEnd();
53
- this.scale(e), console.log("%c RectangleScaleController dragging", "color: #49de1b");
54
- }
55
- scale(s) {
56
- var S, x;
57
- if (!this.startInfo)
58
- return;
59
- const e = this.originObject3D, { startPoint: f, plane: p } = this.startInfo, o = this.helperObject3D.cornerPositions;
60
- if (o.length < 4)
61
- return this.dragEnd();
62
- const g = s.ray.intersectPlane(p, new n());
63
- if (!g || T(g, this.camera.position))
64
- return;
65
- const u = new n().addVectors(o[0], o[2]).divideScalar(2), { position: k, direction: z } = f, j = new n().subVectors(o[1], o[0]), O = new n().subVectors(o[3], o[0]), V = (r) => {
66
- const i = new n(0, 0, 0);
67
- if (!this.startInfo)
68
- return i;
69
- const t = (r === "ew" ? j : O).clone(), c = k.clone().projectOnVector(t), b = g.clone().projectOnVector(t), E = u.clone().projectOnVector(t);
70
- if (b.equals(c))
71
- return i;
72
- if (r === "ns" && typeof this.startInfo.dragPointInCenterBottom != "boolean") {
73
- const l = new n().subVectors(b, E), w = l.x < 0 && t.x >= 0, P = l.y < 0 && t.y >= 0, I = l.z < 0 && t.z >= 0;
74
- this.startInfo.dragPointInCenterBottom = w || P || I;
75
- }
76
- if (r === "ew" && typeof this.startInfo.dragPointInCenterLeft != "boolean") {
77
- const l = new n().subVectors(b, E), w = l.x < 0 && t.x >= 0, P = l.y < 0 && t.y >= 0, I = l.z < 0 && t.z >= 0;
78
- this.startInfo.dragPointInCenterLeft = w || P || I;
79
- }
80
- const v = new n().subVectors(b, c), M = v.length();
81
- return M > 0.3 ? (console.warn("offset.length() > 0.3, skipped", M), i) : v;
82
- }, R = V("ew"), B = V("ns"), y = () => {
83
- const r = R;
84
- this.helperObject3D.cornerPositions.forEach((i, t) => {
85
- var c;
86
- (c = this.startInfo) != null && c.dragPointInCenterLeft ? (t === 0 || t === 3) && i.add(r) : (t === 1 || t === 2) && i.add(r);
87
- });
88
- }, C = () => {
89
- const r = B;
90
- this.helperObject3D.cornerPositions.forEach((i, t) => {
91
- var c;
92
- (c = this.startInfo) != null && c.dragPointInCenterBottom ? (t === 0 || t === 1) && i.add(r) : (t === 2 || t === 3) && i.add(r);
93
- });
94
- };
95
- switch (z) {
96
- case "ew":
97
- y();
98
- break;
99
- case "ns":
100
- C();
101
- break;
102
- case "nesw":
103
- case "nwse":
104
- y(), C();
105
- }
106
- const L = new n().subVectors(o[1], o[0]).length() / j.length(), q = new n().subVectors(o[3], o[0]).length() / O.length(), F = new n(L, q, 1), m = new D.Matrix4().scale(F);
107
- e.isCSS3DObjectPlus ? e.applyScaleMatrix4(m) : e.scale.applyMatrix4(m), f.position.copy(g);
108
- const U = new n().addVectors(o[0], o[2]).divideScalar(2), W = new n().subVectors(U, u), d = new D.Matrix4().setPosition(W);
109
- e.applyMatrix4(d), (S = this.helperObject3D.css3DInstance) == null || S.css3DObject.applyMatrix4(d), (x = this.helperObject3D.plane) == null || x.applyMatrix4(d), this.hooks.emit("scaleUpdate", { matrix4: m, helperOrigin: u }), this.hooks.emit("positionUpdate", { matrix4: d }), this.render();
110
- }
111
- dragEnd() {
112
- !this.isDragging || (this.startInfo = void 0, this.isDragging = !1, this.hooks.emit("scaleEnd"), this.render(), console.log("%c RectangleScaleController dragEnd", "color: #e94e4e"));
113
- }
114
- }
115
- export {
116
- it as RectangleScaleController
117
- };
1
+ "use strict";var T=Object.defineProperty;var F=(r,c,e)=>c in r?T(r,c,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[c]=e;var x=(r,c,e)=>(F(r,typeof c!="symbol"?c+"":c,e),e);const W=require("../Base/BaseController.js"),n=require("three"),X=require("../utils/getMouseRaycaster.js"),Y=require("../utils/vectorIsEqual.js");function A(r){if(r&&r.__esModule)return r;const c=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const e in r)if(e!=="default"){const t=Object.getOwnPropertyDescriptor(r,e);Object.defineProperty(c,e,t.get?t:{enumerable:!0,get:()=>r[e]})}}return c.default=r,Object.freeze(c)}const O=A(n);class G extends W.BaseController{constructor(...e){super(...e);x(this,"startInfo")}enable(){this.helperObject3D.enable(),super.enable()}disable(){this.helperObject3D.disable(),super.disable()}show(){this.helperObject3D.show(),super.show()}hide(){this.helperObject3D.hide(),super.hide()}getDragPlane(){const e=new O.Plane,t=this.helperObject3D.cornerPositions;if(t.length!==0)return t.length<3?e.setFromNormalAndCoplanarPoint(this.originObject3D.getWorldDirection(new n.Vector3),t[0]):e.setFromCoplanarPoints(t[0],t[1],t[2]),e}dragStart(e,t){var g,o;(o=(g=this.helperObject3D).updatePoints)==null||o.call(g);const f=this.getDragPlane();if(!f)return this.dragEnd();this.startInfo={startPoint:{position:t.position.clone(),direction:t.direction},plane:f},this.hooks.emit("scaleStart"),this.render(),this.isDragging=!0,console.log("%c RectangleScaleController dragStart","color: #e5af2e")}dragging(e){if(!this.isDragging)return;const t=X.getMouseRaycaster(this.camera,e,this.container);if(!t)return this.dragEnd();this.scale(t),console.log("%c RectangleScaleController dragging","color: #49de1b")}scale(e){var S,E;if(!this.startInfo)return;const t=this.originObject3D,{startPoint:f,plane:g}=this.startInfo,o=this.helperObject3D.cornerPositions;if(o.length<4)return this.dragEnd();const d=e.ray.intersectPlane(g,new n.Vector3);if(!d||Y.vectorIsEqual(d,this.camera.position))return;const b=new n.Vector3().addVectors(o[0],o[2]).divideScalar(2),{position:R,direction:N}=f,I=new n.Vector3().subVectors(o[1],o[0]),D=new n.Vector3().subVectors(o[3],o[0]),y=i=>{const a=new n.Vector3(0,0,0);if(!this.startInfo)return a;const s=(i==="ew"?I:D).clone(),l=R.clone().projectOnVector(s),u=d.clone().projectOnVector(s),M=b.clone().projectOnVector(s);if(u.equals(l))return a;if(i==="ns"&&typeof this.startInfo.dragPointInCenterBottom!="boolean"){const h=new n.Vector3().subVectors(u,M),w=h.x<0&&s.x>=0,P=h.y<0&&s.y>=0,V=h.z<0&&s.z>=0;this.startInfo.dragPointInCenterBottom=w||P||V}if(i==="ew"&&typeof this.startInfo.dragPointInCenterLeft!="boolean"){const h=new n.Vector3().subVectors(u,M),w=h.x<0&&s.x>=0,P=h.y<0&&s.y>=0,V=h.z<0&&s.z>=0;this.startInfo.dragPointInCenterLeft=w||P||V}const _=new n.Vector3().subVectors(u,l),v=_.length();return v>.3?(console.warn("offset.length() > 0.3, skipped",v),a):_},k=y("ew"),q=y("ns"),m=()=>{const i=k;this.helperObject3D.cornerPositions.forEach((a,s)=>{var l;(l=this.startInfo)!=null&&l.dragPointInCenterLeft?(s===0||s===3)&&a.add(i):(s===1||s===2)&&a.add(i)})},C=()=>{const i=q;this.helperObject3D.cornerPositions.forEach((a,s)=>{var l;(l=this.startInfo)!=null&&l.dragPointInCenterBottom?(s===0||s===1)&&a.add(i):(s===2||s===3)&&a.add(i)})};switch(N){case"ew":m();break;case"ns":C();break;case"nesw":case"nwse":m(),C()}const B=new n.Vector3().subVectors(o[1],o[0]).length()/I.length(),z=new n.Vector3().subVectors(o[3],o[0]).length()/D.length(),H=new n.Vector3(B,z,1),j=new O.Matrix4().scale(H);t.isCSS3DObjectPlus?t.applyScaleMatrix4(j):t.scale.applyMatrix4(j),f.position.copy(d);const U=new n.Vector3().addVectors(o[0],o[2]).divideScalar(2),L=new n.Vector3().subVectors(U,b),p=new O.Matrix4().setPosition(L);t.applyMatrix4(p),(S=this.helperObject3D.css3DInstance)==null||S.css3DObject.applyMatrix4(p),(E=this.helperObject3D.plane)==null||E.applyMatrix4(p),this.hooks.emit("scaleUpdate",{matrix4:j,helperOrigin:b}),this.hooks.emit("positionUpdate",{matrix4:p}),this.render()}dragEnd(){!this.isDragging||(this.startInfo=void 0,this.isDragging=!1,this.hooks.emit("scaleEnd"),this.render(),console.log("%c RectangleScaleController dragEnd","color: #e94e4e"))}}exports.RectangleScaleController=G;
@@ -1,142 +1 @@
1
- var T = Object.defineProperty;
2
- var A = (d, h, n) => h in d ? T(d, h, { enumerable: !0, configurable: !0, writable: !0, value: n }) : d[h] = n;
3
- var y = (d, h, n) => (A(d, typeof h != "symbol" ? h + "" : h, n), n);
4
- import { BaseController as O } from "../Base/BaseController.js";
5
- import * as i from "three";
6
- import { getMouseRaycaster as E } from "../utils/getMouseRaycaster.js";
7
- import "../../Subscribe.js";
8
- import "../utils/threex/domevents/index.js";
9
- import "../../isNil.js";
10
- import "../../../CSS3DRenderPlugin/utils/CSS3DObjectPlus.js";
11
- import "three/examples/jsm/renderers/CSS3DRenderer";
12
- import "../../../CSS3DRenderPlugin/utils/evenNumber.js";
13
- import "../../../CSS3DRenderPlugin/utils/centerPoint.js";
14
- import "../utils/calculateThreeMouse.js";
15
- class M extends O {
16
- constructor(...n) {
17
- super(...n);
18
- y(this, "startInfo");
19
- y(this, "lastRotation");
20
- y(this, "rotations", []);
21
- y(this, "helperObject3DQuaternion", this.originObject3D.quaternion.clone());
22
- const t = this.helperObject3D;
23
- this.hoverListener([t.xyCircle, t.xzCircle, t.yzCircle]);
24
- const e = this.dragStart.bind(this), r = this.dragging.bind(this), o = this.dragEnd.bind(this);
25
- this.domEvents.addEventListener(this.helperObject3D, "mousedown", e), document.addEventListener("mousemove", r), document.addEventListener("mouseup", o);
26
- }
27
- initialHelperQuaternion() {
28
- this.helperObject3D.updateAngleHelperQuaternion(), this.helperObject3D.applyHelperQuaternion(this.originObject3D.quaternion);
29
- }
30
- dragStart(n) {
31
- if (this.isDragging)
32
- return;
33
- const t = n == null ? void 0 : n.intersect;
34
- if (!t)
35
- return this.dragEnd();
36
- const e = (t == null ? void 0 : t.object).direction;
37
- if (!e)
38
- return this.dragEnd();
39
- this.helperObject3D.updateAngleHelperQuaternion();
40
- const r = t.point, o = this.originObject3D.position.clone(), s = this.getAngleHelper(e);
41
- this.setTipsAngle(0);
42
- const l = r.clone();
43
- l.y += 0.2, this.setTipsPosition(l);
44
- const g = new i.Vector3(1, 0, 0).applyQuaternion(this.helperObject3DQuaternion), j = new i.Vector3(0, 1, 0).applyQuaternion(this.helperObject3DQuaternion), D = new i.Vector3(0, 0, 1).applyQuaternion(this.helperObject3DQuaternion), a = (() => {
45
- switch (e) {
46
- case "x":
47
- return g;
48
- case "y":
49
- return j;
50
- case "z":
51
- return D;
52
- }
53
- })(), m = new i.Plane().setFromNormalAndCoplanarPoint(a, r), p = new i.Vector3();
54
- m.projectPoint(r.clone(), p);
55
- const c = p.clone().sub(o), H = c.clone(), u = c.angleTo(s.baseAxes);
56
- this.setAngleHelperStart(e, u), this.setAngleHelperLength(e, 0), this.rotations.push({ vector: c.clone(), direction: !0 }), this.startInfo = { direction: e, startVector: c, staticStartVector: H, plane: m, angleHelper: s }, this.helperObject3D.showDraggingHelper([e]), this.hooks.emit("rotateStart"), this.isDragging = !0, console.log(`%c RotateController dragStart ${e}`, "color: #e5af2e");
57
- }
58
- dragging(n) {
59
- var e;
60
- if (!this.isDragging)
61
- return;
62
- const t = E(this.camera, n, this.container);
63
- return t ? (console.log(`%c RotateController dragging ${(e = this.startInfo) == null ? void 0 : e.direction}`, "color: #49de1b"), this.rotate(t), !1) : this.dragEnd();
64
- }
65
- rotate(n) {
66
- if (!this.startInfo)
67
- return this.dragEnd();
68
- const { startVector: t, plane: e, angleHelper: r, staticStartVector: o, direction: s } = this.startInfo, l = this.originObject3D, g = n.ray.intersectPlane(e, new i.Vector3());
69
- if (!g)
70
- return;
71
- const j = l.position.clone(), D = new i.Vector3();
72
- e.projectPoint(g.clone(), D);
73
- const a = D.clone().sub(j);
74
- if (t.angleTo(a) === 0 || (this.lastRotation === void 0 && (this.lastRotation = { angle: 0 }), this.rotations.length === 0))
75
- return;
76
- const m = (() => {
77
- if (this.rotations.length === 1)
78
- return a.angleTo(r.baseAxes) > o.angleTo(r.baseAxes);
79
- {
80
- const c = this.rotations[this.rotations.length - 1], H = this.rotations[this.rotations.length - 2], u = a.angleTo(H.vector), f = a.angleTo(c.vector), b = c.vector.angleTo(H.vector);
81
- if (b === 0 || f === 0 || u === 0)
82
- return;
83
- if (u > f && u > b)
84
- return c.direction;
85
- if (u < b && f < b || u < f && f > b)
86
- return !c.direction;
87
- }
88
- })();
89
- if (m === void 0)
90
- return console.warn("rotationDirection is undefined");
91
- this.rotations.push({ vector: a, direction: m }), this.rotations = this.rotations.slice(-2), this.lastRotation.angle = this.lastRotation.angle + a.angleTo(t) * (m ? 1 : -1), this.setAngleHelperLength(s, this.lastRotation.angle), this.setTipsAngle(this.lastRotation.angle / Math.PI * 180);
92
- const p = new i.Quaternion().setFromUnitVectors(t.clone().normalize(), a.clone().normalize());
93
- l.applyQuaternion(p), this.helperObject3D.applyHelperQuaternion(p), this.helperObject3DQuaternion.premultiply(p), this.hooks.emit("rotateUpdate", { quaternion: p, origin: j }), this.startInfo.startVector = a;
94
- }
95
- dragEnd() {
96
- !this.isDragging || (console.log("%c RotateController dragEnd", "color: #e94e4e"), this.startInfo = void 0, this.isDragging = !1, this.lastRotation = void 0, this.rotations = [], this.helperObject3D.show(), this.hooks.emit("rotateEnd"));
97
- }
98
- getAngleHelper(n) {
99
- switch (n) {
100
- case "x":
101
- return this.helperObject3D.xAngleHelper;
102
- case "y":
103
- return this.helperObject3D.yAngleHelper;
104
- case "z":
105
- return this.helperObject3D.zAngleHelper;
106
- }
107
- }
108
- setAngleHelperStart(n, t) {
109
- const e = this.getAngleHelper(n);
110
- if (e instanceof i.Mesh && e.geometry instanceof i.CircleGeometry) {
111
- const { radius: r, segments: o, thetaLength: s } = e.geometry.parameters;
112
- e.geometry = new i.CircleGeometry(r, o, t, s);
113
- } else
114
- console.warn("only support THREE.CircleGeometry");
115
- }
116
- setAngleHelperLength(n, t) {
117
- const r = t >= 0 ? Math.max(t, 1e-3) : Math.min(t, -1e-3), o = this.getAngleHelper(n);
118
- if (o instanceof i.Mesh && o.geometry instanceof i.CircleGeometry) {
119
- const { radius: s, thetaStart: l } = o.geometry.parameters, g = Math.ceil(Math.abs(r) * (40 / (2 * Math.PI)));
120
- o.geometry = new i.CircleGeometry(s, g, l, r);
121
- } else
122
- console.warn("only support THREE.CircleGeometry");
123
- }
124
- setTipsAngle(n) {
125
- var e;
126
- const t = (e = this.helperObject3D.angleTips) == null ? void 0 : e.element;
127
- !t || (t.innerText = `${n.toFixed(0)}\xB0`);
128
- }
129
- setTipsPosition(n) {
130
- const t = this.helperObject3D.angleTips;
131
- if (!t)
132
- return;
133
- const e = n.project(this.camera), { x: r, y: o, z: s } = e;
134
- if (s > 1)
135
- return;
136
- const l = (r + 1) / 2 * 100 + "%", g = (-o + 1) / 2 * 100 + "%";
137
- t.setLeftTop(l, g);
138
- }
139
- }
140
- export {
141
- M as RotateController
142
- };
1
+ "use strict";var H=Object.defineProperty;var T=(r,a,e)=>a in r?H(r,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[a]=e;var j=(r,a,e)=>(T(r,typeof a!="symbol"?a+"":a,e),e);const R=require("../Base/BaseController.js"),A=require("three"),E=require("../utils/getMouseRaycaster.js");function C(r){if(r&&r.__esModule)return r;const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const e in r)if(e!=="default"){const t=Object.getOwnPropertyDescriptor(r,e);Object.defineProperty(a,e,t.get?t:{enumerable:!0,get:()=>r[e]})}}return a.default=r,Object.freeze(a)}const s=C(A);class w extends R.BaseController{constructor(...e){super(...e);j(this,"startInfo");j(this,"lastRotation");j(this,"rotations",[]);j(this,"helperObject3DQuaternion",this.originObject3D.quaternion.clone());const t=this.helperObject3D;this.hoverListener([t.xyCircle,t.xzCircle,t.yzCircle]);const n=this.dragStart.bind(this),o=this.dragging.bind(this),i=this.dragEnd.bind(this);this.domEvents.addEventListener(this.helperObject3D,"mousedown",n),document.addEventListener("mousemove",o),document.addEventListener("mouseup",i)}initialHelperQuaternion(){this.helperObject3D.updateAngleHelperQuaternion(),this.helperObject3D.applyHelperQuaternion(this.originObject3D.quaternion)}dragStart(e){if(this.isDragging)return;const t=e==null?void 0:e.intersect;if(!t)return this.dragEnd();const n=(t==null?void 0:t.object).direction;if(!n)return this.dragEnd();this.helperObject3D.updateAngleHelperQuaternion();const o=t.point,i=this.originObject3D.position.clone(),c=this.getAngleHelper(n);this.setTipsAngle(0);const g=o.clone();g.y+=.2,this.setTipsPosition(g);const p=new s.Vector3(1,0,0).applyQuaternion(this.helperObject3DQuaternion),y=new s.Vector3(0,1,0).applyQuaternion(this.helperObject3DQuaternion),D=new s.Vector3(0,0,1).applyQuaternion(this.helperObject3DQuaternion),l=(()=>{switch(n){case"x":return p;case"y":return y;case"z":return D}})(),f=new s.Plane().setFromNormalAndCoplanarPoint(l,o),u=new s.Vector3;f.projectPoint(o.clone(),u);const h=u.clone().sub(i),O=h.clone(),d=h.angleTo(c.baseAxes);this.setAngleHelperStart(n,d),this.setAngleHelperLength(n,0),this.rotations.push({vector:h.clone(),direction:!0}),this.startInfo={direction:n,startVector:h,staticStartVector:O,plane:f,angleHelper:c},this.helperObject3D.showDraggingHelper([n]),this.hooks.emit("rotateStart"),this.isDragging=!0,console.log(`%c RotateController dragStart ${n}`,"color: #e5af2e")}dragging(e){var n;if(!this.isDragging)return;const t=E.getMouseRaycaster(this.camera,e,this.container);return t?(console.log(`%c RotateController dragging ${(n=this.startInfo)==null?void 0:n.direction}`,"color: #49de1b"),this.rotate(t),!1):this.dragEnd()}rotate(e){if(!this.startInfo)return this.dragEnd();const{startVector:t,plane:n,angleHelper:o,staticStartVector:i,direction:c}=this.startInfo,g=this.originObject3D,p=e.ray.intersectPlane(n,new s.Vector3);if(!p)return;const y=g.position.clone(),D=new s.Vector3;n.projectPoint(p.clone(),D);const l=D.clone().sub(y);if(t.angleTo(l)===0||(this.lastRotation===void 0&&(this.lastRotation={angle:0}),this.rotations.length===0))return;const f=(()=>{if(this.rotations.length===1)return l.angleTo(o.baseAxes)>i.angleTo(o.baseAxes);{const h=this.rotations[this.rotations.length-1],O=this.rotations[this.rotations.length-2],d=l.angleTo(O.vector),b=l.angleTo(h.vector),m=h.vector.angleTo(O.vector);if(m===0||b===0||d===0)return;if(d>b&&d>m)return h.direction;if(d<m&&b<m||d<b&&b>m)return!h.direction}})();if(f===void 0)return console.warn("rotationDirection is undefined");this.rotations.push({vector:l,direction:f}),this.rotations=this.rotations.slice(-2),this.lastRotation.angle=this.lastRotation.angle+l.angleTo(t)*(f?1:-1),this.setAngleHelperLength(c,this.lastRotation.angle),this.setTipsAngle(this.lastRotation.angle/Math.PI*180);const u=new s.Quaternion().setFromUnitVectors(t.clone().normalize(),l.clone().normalize());g.applyQuaternion(u),this.helperObject3D.applyHelperQuaternion(u),this.helperObject3DQuaternion.premultiply(u),this.hooks.emit("rotateUpdate",{quaternion:u,origin:y}),this.startInfo.startVector=l}dragEnd(){!this.isDragging||(console.log("%c RotateController dragEnd","color: #e94e4e"),this.startInfo=void 0,this.isDragging=!1,this.lastRotation=void 0,this.rotations=[],this.helperObject3D.show(),this.hooks.emit("rotateEnd"))}getAngleHelper(e){switch(e){case"x":return this.helperObject3D.xAngleHelper;case"y":return this.helperObject3D.yAngleHelper;case"z":return this.helperObject3D.zAngleHelper}}setAngleHelperStart(e,t){const n=this.getAngleHelper(e);if(n instanceof s.Mesh&&n.geometry instanceof s.CircleGeometry){const{radius:o,segments:i,thetaLength:c}=n.geometry.parameters;n.geometry=new s.CircleGeometry(o,i,t,c)}else console.warn("only support THREE.CircleGeometry")}setAngleHelperLength(e,t){const o=t>=0?Math.max(t,.001):Math.min(t,-.001),i=this.getAngleHelper(e);if(i instanceof s.Mesh&&i.geometry instanceof s.CircleGeometry){const{radius:c,thetaStart:g}=i.geometry.parameters,p=Math.ceil(Math.abs(o)*(40/(2*Math.PI)));i.geometry=new s.CircleGeometry(c,p,g,o)}else console.warn("only support THREE.CircleGeometry")}setTipsAngle(e){var n;const t=(n=this.helperObject3D.angleTips)==null?void 0:n.element;!t||(t.innerText=`${e.toFixed(0)}\xB0`)}setTipsPosition(e){const t=this.helperObject3D.angleTips;if(!t)return;const n=e.project(this.camera),{x:o,y:i,z:c}=n;if(c>1)return;const g=(o+1)/2*100+"%",p=(-i+1)/2*100+"%";t.setLeftTop(g,p)}}exports.RotateController=w;