@realsee/dnalogel 3.21.2 → 3.22.0

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 (458) hide show
  1. package/dist/ModelMakerPlugin/Controller.d.ts +26 -0
  2. package/dist/ModelMakerPlugin/index.d.ts +4 -0
  3. package/dist/ModelMakerPlugin/item/baseItem.d.ts +35 -0
  4. package/dist/ModelMakerPlugin/item/boxItem.d.ts +4 -0
  5. package/dist/ModelMakerPlugin/item/polygonItem.d.ts +9 -0
  6. package/dist/ModelMakerPlugin/item/prismItem.d.ts +4 -0
  7. package/dist/ModelMakerPlugin/typings/data.d.ts +41 -0
  8. package/dist/ModelMakerPlugin/typings/index.d.ts +52 -0
  9. package/dist/ModelMakerPlugin/utils/tagRenderer.d.ts +3 -0
  10. package/dist/Sculpt/Meshes/Area.d.ts +2 -23
  11. package/dist/Sculpt/Meshes/Polygon.d.ts +3 -0
  12. package/dist/Sculpt/Meshes/PolygonWithEdge.d.ts +22 -0
  13. package/dist/Sculpt/Meshes/Polyline.d.ts +9 -7
  14. package/dist/Sculpt/Meshes/Prism.d.ts +5 -3
  15. package/dist/Sculpt/Objects/Base/index.d.ts +4 -2
  16. package/dist/Sculpt/Objects/Polygon/Editor.d.ts +2 -1
  17. package/dist/Sculpt/Objects/Polyline/Editor.d.ts +3 -6
  18. package/dist/Sculpt/index.d.ts +32 -8
  19. package/dist/Sculpt/typings/utils.type.d.ts +4 -1
  20. package/dist/base/BasePlugin.d.ts +2 -2
  21. package/dist/base/BasePluginWithData.d.ts +0 -2
  22. package/dist/index.cjs.js +54 -54
  23. package/dist/index.d.ts +1 -0
  24. package/dist/index.js +4409 -4136
  25. package/dist/index.umd.js +47 -47
  26. package/dist/shared-utils/five/FiveDomEvents.d.ts +1 -1
  27. package/dist/shared-utils/five/vector3ToScreen.d.ts +5 -0
  28. package/dist/shared-utils/tag.d.ts +17 -0
  29. package/dist/shared-utils/three/addIfNotExists.d.ts +2 -0
  30. package/dist/shared-utils/three/closeVectors.d.ts +2 -0
  31. package/dist/shared-utils/three/earcut3D.d.ts +2 -0
  32. package/docs/assets/search.js +1 -1
  33. package/docs/classes/AreaMakerPluginType.AreaMakerController.html +7 -5
  34. package/docs/classes/AreaMakerPluginType.AreaMakerItem.html +5 -3
  35. package/docs/classes/CSS3DRender.html +5 -3
  36. package/docs/classes/GuideLineItem.GuideLineItem.html +5 -3
  37. package/docs/classes/GuideLineModeItem.GuideLineModeItem.html +5 -3
  38. package/docs/classes/ModelMakerPluginType.ModelMakerController.html +561 -0
  39. package/docs/classes/ModelRoomLabelController.html +5 -3
  40. package/docs/classes/MoveController.html +5 -3
  41. package/docs/classes/Object3DHelperController.html +5 -3
  42. package/docs/classes/PaintBrush.html +5 -3
  43. package/docs/classes/PanoMeasurePluginLine.html +5 -3
  44. package/docs/classes/PanoMeasurePluginModel.html +5 -3
  45. package/docs/classes/PanoMeasurePluginPoint.html +5 -3
  46. package/docs/classes/PanoMeasurePluginPolyline.html +5 -3
  47. package/docs/classes/PanoTagPluginController.html +10 -8
  48. package/docs/classes/Sculpt.html +35 -33
  49. package/docs/classes/Util.BetterTween.html +5 -3
  50. package/docs/classes/Util.Interval.html +5 -3
  51. package/docs/classes/Util.LineSegments.html +5 -3
  52. package/docs/classes/Util.Magnifier.html +5 -3
  53. package/docs/classes/Util.Object3D.html +5 -3
  54. package/docs/classes/Util.PointDomHelper.html +5 -3
  55. package/docs/classes/Util.PointHelper.html +5 -3
  56. package/docs/classes/Util.PointSelectorHelper.html +5 -3
  57. package/docs/classes/Util.Rectangle.html +5 -3
  58. package/docs/classes/WalkController.html +5 -3
  59. package/docs/enums/CameraMovementEffect.html +5 -3
  60. package/docs/enums/ContentType.html +5 -3
  61. package/docs/enums/DIRECTION.html +5 -3
  62. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +5 -3
  63. package/docs/enums/DimensionType.html +5 -3
  64. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +5 -3
  65. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +5 -3
  66. package/docs/enums/PaintBrushTypeEnum.html +5 -3
  67. package/docs/enums/PointType.html +5 -3
  68. package/docs/enums/Rotation.html +5 -3
  69. package/docs/functions/AreaMakerPlugin.html +5 -3
  70. package/docs/functions/CSS3DRenderPlugin.html +5 -3
  71. package/docs/functions/CameraMovementPlugin.html +5 -3
  72. package/docs/functions/CruisePlugin.html +5 -3
  73. package/docs/functions/CurrentPanoImagePlugin.html +5 -3
  74. package/docs/functions/GuideLinePlugin.html +5 -3
  75. package/docs/functions/ItemLabelPlugin.html +5 -3
  76. package/docs/functions/MapviewFloorplanPlugin.html +5 -3
  77. package/docs/functions/ModelChassisCompassPlugin.html +5 -3
  78. package/docs/functions/ModelEntryDoorGuidePlugin.html +5 -3
  79. package/docs/functions/ModelFloorplanPlugin.html +5 -3
  80. package/docs/functions/ModelItemLabelPlugin.html +5 -3
  81. package/docs/functions/ModelMakerPlugin.html +300 -0
  82. package/docs/functions/ModelRoomLabelPlugin.html +5 -3
  83. package/docs/functions/ModelTVVideoPlugin.html +5 -3
  84. package/docs/functions/ModelViewPlugin.html +5 -3
  85. package/docs/functions/MovePlugin.html +5 -3
  86. package/docs/functions/Object3DHelperPlugin.html +5 -3
  87. package/docs/functions/PanoCompassPlugin.html +5 -3
  88. package/docs/functions/PanoCursorRaycasterPlugin.html +5 -3
  89. package/docs/functions/PanoDoorLabelPlugin.html +5 -3
  90. package/docs/functions/PanoFloorplanRadarPlugin.html +5 -3
  91. package/docs/functions/PanoMeasurePlugin.html +5 -3
  92. package/docs/functions/PanoRulerPlugin.html +5 -3
  93. package/docs/functions/PanoRulerProPlugin.html +5 -3
  94. package/docs/functions/PanoSpatialTagPlugin.html +5 -3
  95. package/docs/functions/PanoTagPlugin.html +5 -3
  96. package/docs/functions/PanoVideoPlugin.html +5 -3
  97. package/docs/functions/PipelinePlugin.html +5 -3
  98. package/docs/functions/TopviewFloorplanPlugin.html +5 -3
  99. package/docs/functions/Util.absoluteUrl.html +5 -3
  100. package/docs/functions/Util.checkFiveModelLoaded.html +5 -3
  101. package/docs/functions/Util.equal.html +5 -3
  102. package/docs/functions/Util.getCoordsFromClient.html +5 -3
  103. package/docs/functions/Util.getCoordsFromElement.html +5 -3
  104. package/docs/functions/Util.getFrameTime.html +5 -3
  105. package/docs/functions/Util.getIntersectFromRelativePosition.html +5 -3
  106. package/docs/functions/Util.getRaycasterFromFivePointer.html +5 -3
  107. package/docs/functions/Util.isAbsoluteURL.html +5 -3
  108. package/docs/functions/Util.isModelLike.html +5 -3
  109. package/docs/functions/Util.isNil.html +5 -3
  110. package/docs/functions/Util.isPanoramaLike.html +5 -3
  111. package/docs/functions/Util.nextFrame.html +5 -3
  112. package/docs/functions/Util.notNil.html +5 -3
  113. package/docs/functions/Util.requestAnimationFrameInterval.html +5 -3
  114. package/docs/functions/Util.tweenProgress.html +5 -3
  115. package/docs/functions/Util.uuid.html +5 -3
  116. package/docs/functions/pluginFlag.html +5 -3
  117. package/docs/index.html +6 -4
  118. package/docs/interfaces/AddTagConfig.html +5 -3
  119. package/docs/interfaces/AreaMakerPluginType.AnimeOptions.html +5 -3
  120. package/docs/interfaces/AreaMakerPluginType.Config.html +5 -3
  121. package/docs/interfaces/AreaMakerPluginType.EventMap.html +9 -7
  122. package/docs/interfaces/AreaMakerPluginType.Params.html +5 -3
  123. package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItem.html +5 -3
  124. package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItemV1.html +5 -3
  125. package/docs/interfaces/AreaMakerPluginType.ServerDataV1.html +5 -3
  126. package/docs/interfaces/AreaMakerPluginType.ServerDataV2.html +5 -3
  127. package/docs/interfaces/AreaMakerPluginType.ShowHideOptions.html +5 -3
  128. package/docs/interfaces/AreaMakerPluginType.State.html +5 -3
  129. package/docs/interfaces/CSS3DRenderPluginEventMap.html +5 -3
  130. package/docs/interfaces/CSS3DRenderPluginState.html +5 -3
  131. package/docs/interfaces/CameraMovementPluginExportType.html +5 -3
  132. package/docs/interfaces/CruisePluginTypes.Config.html +5 -3
  133. package/docs/interfaces/CruisePluginTypes.CruiseKeyframe.html +5 -3
  134. package/docs/interfaces/CruisePluginTypes.EventMap.html +5 -3
  135. package/docs/interfaces/CruisePluginTypes.MoveAction.html +5 -3
  136. package/docs/interfaces/CruisePluginTypes.MoveWithKeyframesAction.html +5 -3
  137. package/docs/interfaces/CruisePluginTypes.MoveWithPanoIndexAction.html +5 -3
  138. package/docs/interfaces/CruisePluginTypes.PluginData.html +5 -3
  139. package/docs/interfaces/CruisePluginTypes.PluginServerData.html +5 -3
  140. package/docs/interfaces/CruisePluginTypes.PluginState.html +5 -3
  141. package/docs/interfaces/CurrentPanoImagePluginType.Config.html +5 -3
  142. package/docs/interfaces/CurrentPanoImagePluginType.EventMap.html +5 -3
  143. package/docs/interfaces/CurrentPanoImagePluginType.Params.html +5 -3
  144. package/docs/interfaces/CurrentPanoImagePluginType.ShowHideOptions.html +5 -3
  145. package/docs/interfaces/CurrentPanoImagePluginType.State.html +5 -3
  146. package/docs/interfaces/EventMap.html +5 -3
  147. package/docs/interfaces/FloorplanBounding.html +5 -3
  148. package/docs/interfaces/FloorplanData.html +5 -3
  149. package/docs/interfaces/FloorplanEntrance.html +5 -3
  150. package/docs/interfaces/FloorplanExtraObject.html +5 -3
  151. package/docs/interfaces/FloorplanExtraObject3D.html +5 -3
  152. package/docs/interfaces/FloorplanFloorData.html +5 -3
  153. package/docs/interfaces/FloorplanImagePosition.html +5 -3
  154. package/docs/interfaces/FloorplanObserver.html +5 -3
  155. package/docs/interfaces/FloorplanOutlineItem.html +5 -3
  156. package/docs/interfaces/FloorplanPosition.html +5 -3
  157. package/docs/interfaces/FloorplanRoomItem.html +5 -3
  158. package/docs/interfaces/FloorplanRoomLabelItem.html +5 -3
  159. package/docs/interfaces/FloorplanServerBounding.html +5 -3
  160. package/docs/interfaces/FloorplanServerComputedData.html +5 -3
  161. package/docs/interfaces/FloorplanServerData.html +5 -3
  162. package/docs/interfaces/FloorplanServerDoorItem.html +5 -3
  163. package/docs/interfaces/FloorplanServerDoorPosition.html +5 -3
  164. package/docs/interfaces/FloorplanServerEntrance.html +5 -3
  165. package/docs/interfaces/FloorplanServerFloorData.html +5 -3
  166. package/docs/interfaces/FloorplanServerImagePosition.html +5 -3
  167. package/docs/interfaces/FloorplanServerObserver.html +5 -3
  168. package/docs/interfaces/FloorplanServerOutlineItem.html +5 -3
  169. package/docs/interfaces/FloorplanServerPosition.html +5 -3
  170. package/docs/interfaces/FloorplanServerRoomItem.html +5 -3
  171. package/docs/interfaces/FloorplanServerRoomLabelItem.html +5 -3
  172. package/docs/interfaces/GuideLineModeItem.GuideLineTagContainer.html +5 -3
  173. package/docs/interfaces/GuideLinePluginType.CatmullRomCurve3.html +5 -3
  174. package/docs/interfaces/GuideLinePluginType.EventMap.html +5 -3
  175. package/docs/interfaces/GuideLinePluginType.GuideLineGeometryStyle.html +5 -3
  176. package/docs/interfaces/GuideLinePluginType.GuideLineItemContainer.html +5 -3
  177. package/docs/interfaces/GuideLinePluginType.GuideLineMaterialStyle.html +5 -3
  178. package/docs/interfaces/GuideLinePluginType.GuideLineMeshStyle.html +5 -3
  179. package/docs/interfaces/GuideLinePluginType.LineGeometriesConfig.html +5 -3
  180. package/docs/interfaces/GuideLinePluginType.ModelGuideLineStyle.html +5 -3
  181. package/docs/interfaces/GuideLinePluginType.ModelGuideLineTagData.html +5 -3
  182. package/docs/interfaces/GuideLinePluginType.PanoramaGuideLineStyle.html +5 -3
  183. package/docs/interfaces/GuideLinePluginType.PluginDataV2.html +5 -3
  184. package/docs/interfaces/GuideLinePluginType.PluginServerData.html +5 -3
  185. package/docs/interfaces/GuideLinePluginType.PluginState.html +5 -3
  186. package/docs/interfaces/GuideLinePluginType.Route.html +5 -3
  187. package/docs/interfaces/GuideLinePluginType.RouteConfig.html +5 -3
  188. package/docs/interfaces/HelperOffset.html +5 -3
  189. package/docs/interfaces/ImagePlaneGroup.html +5 -3
  190. package/docs/interfaces/ItemLabelPluginData.html +5 -3
  191. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +5 -3
  192. package/docs/interfaces/ItemLabelPluginParametersType.html +5 -3
  193. package/docs/interfaces/MinMax.html +5 -3
  194. package/docs/interfaces/ModelChassisCompassPluginData.html +5 -3
  195. package/docs/interfaces/ModelChassisCompassPluginExportType.html +5 -3
  196. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +5 -3
  197. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +5 -3
  198. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +5 -3
  199. package/docs/interfaces/ModelItemLabelPluginData.html +5 -3
  200. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +5 -3
  201. package/docs/interfaces/ModelItemLabelPluginParametersType.html +5 -3
  202. package/docs/interfaces/ModelMakerPluginType.EventMap.html +588 -0
  203. package/docs/interfaces/ModelMakerPluginType.ServerBaseItem.html +340 -0
  204. package/docs/interfaces/ModelMakerPluginType.ServerBoxItem.html +376 -0
  205. package/docs/interfaces/ModelMakerPluginType.ServerData.html +329 -0
  206. package/docs/interfaces/ModelMakerPluginType.ServerPrismItem.html +371 -0
  207. package/docs/interfaces/ModelMakerPluginType.ServerTrianglesItem.html +365 -0
  208. package/docs/interfaces/ModelMakerPluginType.State.html +361 -0
  209. package/docs/interfaces/ModelRoomLabelPluginData.html +5 -3
  210. package/docs/interfaces/ModelTVVideoPluginData.html +5 -3
  211. package/docs/interfaces/ModelTVVideoPluginExportType.html +5 -3
  212. package/docs/interfaces/ModelTVVideoPluginParameterType.html +5 -3
  213. package/docs/interfaces/ModelViewPluginExportType.html +5 -3
  214. package/docs/interfaces/Object3DHelperState.html +5 -3
  215. package/docs/interfaces/ObjectHelperControllers.html +5 -3
  216. package/docs/interfaces/PaintBrushAction.html +5 -3
  217. package/docs/interfaces/PaintBrushConfigs.html +5 -3
  218. package/docs/interfaces/PaintBrushState.html +5 -3
  219. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +5 -3
  220. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +5 -3
  221. package/docs/interfaces/PanoMeasureParameterType.html +5 -3
  222. package/docs/interfaces/PanoMeasurePluginLineJson.html +5 -3
  223. package/docs/interfaces/PanoMeasurePluginOpenParameter.html +5 -3
  224. package/docs/interfaces/PanoMeasurePluginPointJson.html +5 -3
  225. package/docs/interfaces/PanoMeasurePluginPolylineJson.html +5 -3
  226. package/docs/interfaces/PanoRulerPluginExportType.html +5 -3
  227. package/docs/interfaces/PanoRulerPluginOptions.html +5 -3
  228. package/docs/interfaces/PanoRulerPluginParameterType.html +5 -3
  229. package/docs/interfaces/PanoRulerProPluginExportType.html +5 -3
  230. package/docs/interfaces/PanoRulerProPluginOptions.html +5 -3
  231. package/docs/interfaces/PanoRulerProPluginParameterType.html +5 -3
  232. package/docs/interfaces/PanoRulerProPluginState.html +5 -3
  233. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +5 -3
  234. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +5 -3
  235. package/docs/interfaces/PanoSpatialTagPluginData.html +5 -3
  236. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +5 -3
  237. package/docs/interfaces/PanoSpatialTagPluginExportType.html +5 -3
  238. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +5 -3
  239. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +5 -3
  240. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +5 -3
  241. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +5 -3
  242. package/docs/interfaces/PanoVideoPluginType.LoadParams.html +5 -3
  243. package/docs/interfaces/PanoVideoPluginType.PanoVideoItem.html +5 -3
  244. package/docs/interfaces/PanoVideoPluginType.PluginData.html +5 -3
  245. package/docs/interfaces/PanoVideoPluginType.PluginEventMap.html +5 -3
  246. package/docs/interfaces/PanoVideoPluginType.PluginState.html +5 -3
  247. package/docs/interfaces/PanoVideoPluginType.VideoItem.html +5 -3
  248. package/docs/interfaces/PanoVideoPluginType.VideoMeshParams.html +5 -3
  249. package/docs/interfaces/Point.html +5 -3
  250. package/docs/interfaces/Room.html +5 -3
  251. package/docs/interfaces/RoomInfo.html +5 -3
  252. package/docs/interfaces/RoomLabel.html +5 -3
  253. package/docs/interfaces/RoomRules.html +5 -3
  254. package/docs/interfaces/Rooms.html +5 -3
  255. package/docs/interfaces/Scissor.html +5 -3
  256. package/docs/interfaces/State.html +5 -3
  257. package/docs/interfaces/TagCacheInterface.html +5 -3
  258. package/docs/interfaces/TagConfig.html +5 -3
  259. package/docs/interfaces/TagGLTFObjectGroup.html +5 -3
  260. package/docs/interfaces/TagIconUrl.html +5 -3
  261. package/docs/interfaces/TagObjectGroup.html +5 -3
  262. package/docs/interfaces/TagStyle.html +5 -3
  263. package/docs/interfaces/Tags.html +5 -3
  264. package/docs/interfaces/TemporaryState.html +5 -3
  265. package/docs/interfaces/Util.MagnifierParameter.html +5 -3
  266. package/docs/interfaces/Util.MouseGroupParameter.html +5 -3
  267. package/docs/interfaces/Util.PointIntersection.html +5 -3
  268. package/docs/modules/AreaMakerPluginType.html +5 -3
  269. package/docs/modules/CruisePluginTypes.html +5 -3
  270. package/docs/modules/CurrentPanoImagePluginType.html +5 -3
  271. package/docs/modules/GuideLineItem.html +5 -3
  272. package/docs/modules/GuideLineModeItem.html +5 -3
  273. package/docs/modules/GuideLinePluginType.html +5 -3
  274. package/docs/modules/ModelMakerPluginType.html +325 -0
  275. package/docs/modules/PanoVideoPluginType.html +5 -3
  276. package/docs/modules/Util.html +5 -3
  277. package/docs/modules.html +8 -4
  278. package/docs/types/AddObject3DHelperConfig.html +5 -3
  279. package/docs/types/AreaMakerPluginType.AreaMakerItemEventMap.html +5 -3
  280. package/docs/types/AreaMakerPluginType.ItemRenderer.html +5 -3
  281. package/docs/types/AreaMakerPluginType.PluginData.html +5 -3
  282. package/docs/types/AreaMakerPluginType.ServerData.html +5 -3
  283. package/docs/types/ArrayPosition.html +5 -3
  284. package/docs/types/AudioAppearance.html +5 -3
  285. package/docs/types/AudioTagTypeConfigKey.html +5 -3
  286. package/docs/types/CSS3DRenderExportType.html +5 -3
  287. package/docs/types/CSS3DRenderPluginExportType.html +5 -3
  288. package/docs/types/CSS3DRenderPluginParameterType.html +5 -3
  289. package/docs/types/ClassFunctionParameters.html +5 -3
  290. package/docs/types/Color.html +5 -3
  291. package/docs/types/ContentTypeConfigKey.html +5 -3
  292. package/docs/types/ContentTypeConfigKeySplit.html +5 -3
  293. package/docs/types/ContentTypeMap.html +5 -3
  294. package/docs/types/Create3DDomContainerReturnType.html +5 -3
  295. package/docs/types/Create3DElementReturnType.html +5 -3
  296. package/docs/types/CruisePluginExportType.html +5 -3
  297. package/docs/types/CruisePluginTypes.CruiseData.html +5 -3
  298. package/docs/types/CruisePluginTypes.MoveEffect.html +5 -3
  299. package/docs/types/CurrentPanoImagePluginExportType.html +5 -3
  300. package/docs/types/DeprecatedMediaPlaneProperty.html +5 -3
  301. package/docs/types/DeprecatedTagProperty.html +5 -3
  302. package/docs/types/Direction-1.html +5 -3
  303. package/docs/types/Direction4.html +5 -3
  304. package/docs/types/ElementRenderer.html +5 -3
  305. package/docs/types/FloorplanRuleLabels.html +5 -3
  306. package/docs/types/FloorplanServerRuleLabels.html +5 -3
  307. package/docs/types/GuideLinePluginExportType.html +5 -3
  308. package/docs/types/GuideLinePluginType.GuideLineItem.html +5 -3
  309. package/docs/types/GuideLinePluginType.GuideLineItemEventMap.html +5 -3
  310. package/docs/types/GuideLinePluginType.GuideLineModeItemMode.html +5 -3
  311. package/docs/types/GuideLinePluginType.GuideLineStyle.html +5 -3
  312. package/docs/types/GuideLinePluginType.ModelGuideLineTag.html +5 -3
  313. package/docs/types/GuideLinePluginType.PathItem.html +5 -3
  314. package/docs/types/GuideLinePluginType.PluginData.html +5 -3
  315. package/docs/types/HelperEventMap.html +5 -3
  316. package/docs/types/InternalHelperEventMap.html +5 -3
  317. package/docs/types/LoadTagConfig.html +5 -3
  318. package/docs/types/MapviewFloorplanPluginParameterType.html +5 -3
  319. package/docs/types/MapviewFloorplanPluginReturnType.html +5 -3
  320. package/docs/types/MediaData.html +5 -3
  321. package/docs/types/MediaStore.html +5 -3
  322. package/docs/types/ModelEntryDoorGuidePluginParameterType.html +5 -3
  323. package/docs/types/ModelFloorplanPluginParameterType.html +5 -3
  324. package/docs/types/ModelFloorplanPluginReturnType.html +5 -3
  325. package/docs/types/ModelId.html +5 -3
  326. package/docs/types/ModelMakerPluginType.ElementRenderer.html +326 -0
  327. package/docs/types/ModelMakerPluginType.ItemType.html +305 -0
  328. package/docs/types/ModelRoomLabelPluginParameters.html +5 -3
  329. package/docs/types/ModelRoomLabelPluginReturnType.html +5 -3
  330. package/docs/types/MoveArgs.html +5 -3
  331. package/docs/types/MoveOpts.html +5 -3
  332. package/docs/types/Object3DHelperEventMap.html +5 -3
  333. package/docs/types/ObjectFit.html +5 -3
  334. package/docs/types/PaintBrushEventMap.html +5 -3
  335. package/docs/types/PanoCompassPluginData.html +5 -3
  336. package/docs/types/PanoCompassPluginExportType.html +5 -3
  337. package/docs/types/PanoCompassPluginParameterType.html +5 -3
  338. package/docs/types/PanoFloorplanRadarPluginParameterType.html +5 -3
  339. package/docs/types/PanoFloorplanRadarPluginReturnType.html +5 -3
  340. package/docs/types/PanoIndex.html +5 -3
  341. package/docs/types/PanoMeasurePluginEvent.html +5 -3
  342. package/docs/types/PanoMeasureReturnType.html +5 -3
  343. package/docs/types/PanoSpatialTagPluginId.html +5 -3
  344. package/docs/types/PanoTagPluginExportInterface.html +5 -3
  345. package/docs/types/PanoTagPluginParamsInterface.html +5 -3
  346. package/docs/types/PanoVideoPluginParameterType.html +5 -3
  347. package/docs/types/PanoVideoPluginReturnType.html +5 -3
  348. package/docs/types/PickTagContentTypeInContentTypeConfigKey.html +5 -3
  349. package/docs/types/PipelinePluginParameterType.html +5 -3
  350. package/docs/types/PipelinePluginReturnType.html +5 -3
  351. package/docs/types/PlaneTag.html +5 -3
  352. package/docs/types/Point2DTag.html +5 -3
  353. package/docs/types/Point3DTag.html +5 -3
  354. package/docs/types/PointTag.html +5 -3
  355. package/docs/types/PointTagInstance.html +5 -3
  356. package/docs/types/Position.html +5 -3
  357. package/docs/types/PositionFrom.html +5 -3
  358. package/docs/types/RotateArgs.html +5 -3
  359. package/docs/types/RotateOpts.html +5 -3
  360. package/docs/types/RuleLabelsKey.html +5 -3
  361. package/docs/types/RuleLabelsValue.html +5 -3
  362. package/docs/types/ScaleCallback.html +5 -3
  363. package/docs/types/ScalePosition.html +5 -3
  364. package/docs/types/StickType.html +5 -3
  365. package/docs/types/Tag.html +5 -3
  366. package/docs/types/Tag2D.html +5 -3
  367. package/docs/types/Tag3D.html +5 -3
  368. package/docs/types/TagConfigByKey.html +5 -3
  369. package/docs/types/TagContentType.html +5 -3
  370. package/docs/types/TagContentTypeMapping.html +5 -3
  371. package/docs/types/TagDimensionType.html +5 -3
  372. package/docs/types/TagElement.html +5 -3
  373. package/docs/types/TagEvents.html +5 -3
  374. package/docs/types/TagGLTFObject.html +5 -3
  375. package/docs/types/TagHooks.html +5 -3
  376. package/docs/types/TagId.html +5 -3
  377. package/docs/types/TagInstance.html +5 -3
  378. package/docs/types/TagPointType.html +5 -3
  379. package/docs/types/TagRendererMap.html +5 -3
  380. package/docs/types/TopviewFloorplanPluginParameterType.html +5 -3
  381. package/docs/types/TopviewFloorplanPluginReturnType.html +5 -3
  382. package/docs/types/WorkCode.html +5 -3
  383. package/docs/variables/FLOOR_TYPE_MAP.html +5 -3
  384. package/docs/variables/PLUGIN.html +5 -3
  385. package/docs/variables/ROOM_FETILE_TYPE_MAP.html +5 -3
  386. package/docs/variables/ROOM_TYPE_MAP.html +5 -3
  387. package/docs/variables/defaultGlobalConfig.html +5 -3
  388. package/docs/variables/itemLabelPluginServerParams.html +5 -3
  389. package/docs/variables/modelItemLabelPluginServerParams.html +5 -3
  390. package/docs/variables/modelRoomLabelPluginServerParams.html +5 -3
  391. package/libs/GuideLinePlugin/Controller.js +15 -15
  392. package/libs/ModelMakerPlugin/Controller.d.ts +26 -0
  393. package/libs/ModelMakerPlugin/Controller.js +199 -0
  394. package/libs/ModelMakerPlugin/index.d.ts +4 -0
  395. package/libs/ModelMakerPlugin/index.js +57 -0
  396. package/libs/ModelMakerPlugin/item/baseItem.d.ts +35 -0
  397. package/libs/ModelMakerPlugin/item/baseItem.js +57 -0
  398. package/libs/ModelMakerPlugin/item/boxItem.d.ts +4 -0
  399. package/libs/ModelMakerPlugin/item/boxItem.js +20 -0
  400. package/libs/ModelMakerPlugin/item/polygonItem.d.ts +9 -0
  401. package/libs/ModelMakerPlugin/item/polygonItem.js +38 -0
  402. package/libs/ModelMakerPlugin/item/prismItem.d.ts +4 -0
  403. package/libs/ModelMakerPlugin/item/prismItem.js +19 -0
  404. package/libs/ModelMakerPlugin/typings/data.d.ts +41 -0
  405. package/libs/ModelMakerPlugin/typings/data.js +1 -0
  406. package/libs/ModelMakerPlugin/typings/index.d.ts +52 -0
  407. package/libs/ModelMakerPlugin/typings/index.js +1 -0
  408. package/libs/ModelMakerPlugin/utils/tagRenderer.d.ts +3 -0
  409. package/libs/ModelMakerPlugin/utils/tagRenderer.js +11 -0
  410. package/libs/PanoMeasurePlugin/Components/Controller0.js +4 -2
  411. package/libs/PanoMeasurePlugin/Components/Controller1.js +4 -2
  412. package/libs/PanoMeasurePlugin/Controller/EditController.js +4 -2
  413. package/libs/PanoMeasurePlugin/Controller/WatchController.js +4 -2
  414. package/libs/PanoMeasurePlugin/Controller/index.js +4 -2
  415. package/libs/PanoMeasurePlugin/Model/area.js +4 -2
  416. package/libs/PanoMeasurePlugin/Model/polygon.js +12 -10
  417. package/libs/PanoMeasurePlugin/Modules/UIController/index.js +4 -2
  418. package/libs/PanoMeasurePlugin/index.js +15 -13
  419. package/libs/Sculpt/Meshes/Area.d.ts +2 -23
  420. package/libs/Sculpt/Meshes/Area.js +9 -52
  421. package/libs/Sculpt/Meshes/Point.js +19 -19
  422. package/libs/Sculpt/Meshes/Polygon.d.ts +3 -0
  423. package/libs/Sculpt/Meshes/Polygon.js +26 -20
  424. package/libs/Sculpt/Meshes/PolygonWithEdge.d.ts +22 -0
  425. package/libs/Sculpt/Meshes/PolygonWithEdge.js +46 -0
  426. package/libs/Sculpt/Meshes/Polyline.d.ts +9 -7
  427. package/libs/Sculpt/Meshes/Polyline.js +42 -38
  428. package/libs/Sculpt/Meshes/Prism.d.ts +5 -3
  429. package/libs/Sculpt/Meshes/Prism.js +33 -28
  430. package/libs/Sculpt/Objects/Base/index.d.ts +4 -2
  431. package/libs/Sculpt/Objects/Polygon/Editor.d.ts +2 -1
  432. package/libs/Sculpt/Objects/Polygon/Editor.js +5 -5
  433. package/libs/Sculpt/Objects/Polygon/index.js +17 -17
  434. package/libs/Sculpt/Objects/Polyline/Editor.d.ts +3 -6
  435. package/libs/Sculpt/Objects/Polyline/Editor.js +24 -32
  436. package/libs/Sculpt/index.d.ts +32 -8
  437. package/libs/Sculpt/index.js +6 -6
  438. package/libs/Sculpt/typings/utils.type.d.ts +4 -1
  439. package/libs/base/BasePlugin.d.ts +2 -2
  440. package/libs/base/BasePlugin.js +1 -1
  441. package/libs/base/BasePluginWithData.d.ts +0 -2
  442. package/libs/index.d.ts +1 -0
  443. package/libs/index.js +137 -123
  444. package/libs/shared-utils/five/FiveDomEvents.d.ts +1 -1
  445. package/libs/shared-utils/five/FiveDomEvents.js +6 -5
  446. package/libs/shared-utils/five/vector3ToScreen.d.ts +5 -0
  447. package/libs/shared-utils/five/vector3ToScreen.js +7 -0
  448. package/libs/shared-utils/logger.js +1 -1
  449. package/libs/shared-utils/tag.d.ts +17 -0
  450. package/libs/shared-utils/tag.js +50 -0
  451. package/libs/shared-utils/three/addIfNotExists.d.ts +2 -0
  452. package/libs/shared-utils/three/addIfNotExists.js +8 -0
  453. package/libs/shared-utils/three/closeVectors.d.ts +2 -0
  454. package/libs/shared-utils/three/closeVectors.js +10 -0
  455. package/libs/shared-utils/three/earcut3D.d.ts +2 -0
  456. package/libs/shared-utils/three/earcut3D.js +12 -0
  457. package/libs/shared-utils/three/generatePolygonGeometry.js +8 -10
  458. package/package.json +1 -1
@@ -0,0 +1,26 @@
1
+ import type { Five } from '@realsee/five';
2
+ import * as BasePlugin from '../base/BasePluginWithData';
3
+ import type * as PluginType from './typings';
4
+ export declare class Controller extends BasePlugin.Controller<PluginType.State, PluginType.EventMap, PluginType.ServerData, PluginType.ServerData> {
5
+ state: PluginType.State;
6
+ protected data: PluginType.ServerData;
7
+ private group;
8
+ private items;
9
+ private tagRendererMap;
10
+ constructor(five: Five);
11
+ load(serverData: PluginType.ServerData): Promise<void>;
12
+ setState(targetState: Partial<PluginType.State>): void;
13
+ registerTagRenderer(map: Partial<Record<PluginType.ItemType, PluginType.ElementRenderer>>): void;
14
+ enable(): void;
15
+ disable(): void;
16
+ show(): void;
17
+ hide(): void;
18
+ clear(): void;
19
+ dispose(): void;
20
+ private handleShow;
21
+ private handleHide;
22
+ private handleEnable;
23
+ private handleDisable;
24
+ private onWantsMovePano;
25
+ private updateTagRenderer;
26
+ }
@@ -0,0 +1,4 @@
1
+ import type { Five } from '@realsee/five';
2
+ import type * as ModelMakerPluginType from './typings';
3
+ export declare const ModelMakerPlugin: (five: Five) => ModelMakerPluginType.ModelMakerController;
4
+ export type { ModelMakerPluginType };
@@ -0,0 +1,35 @@
1
+ import type { Five, Mode } from '@realsee/five';
2
+ import * as THREE from 'three';
3
+ import { Subscribe } from '../../shared-utils/Subscribe';
4
+ import type { LightTag } from '../../shared-utils/tag';
5
+ import { FiveDomEvents } from '../../shared-utils/five/FiveDomEvents';
6
+ type Event = {
7
+ enable: () => boolean;
8
+ disable: () => boolean;
9
+ click: (item: ModelMakerBaseItem) => void | boolean;
10
+ };
11
+ export declare class ModelMakerBaseItem extends Subscribe<Event> {
12
+ get container(): HTMLDivElement;
13
+ type: string;
14
+ tag: LightTag;
15
+ rawData: any;
16
+ protected five: Five;
17
+ protected model: THREE.Object3D;
18
+ protected group: THREE.Object3D;
19
+ protected enabled: boolean;
20
+ protected fiveDomEvents: FiveDomEvents;
21
+ constructor(params: {
22
+ five: Five;
23
+ model: THREE.Object3D;
24
+ group: THREE.Object3D;
25
+ type: string;
26
+ rawData?: any;
27
+ visibleMode?: Mode[];
28
+ });
29
+ show(): void;
30
+ hide(): void;
31
+ enable(): void;
32
+ disable(): void;
33
+ protected onClick(): boolean;
34
+ }
35
+ export {};
@@ -0,0 +1,4 @@
1
+ import { ModelMakerPolygonItem } from './polygonItem';
2
+ export declare class ModelMakerBoxItem extends ModelMakerPolygonItem {
3
+ constructor(...args: ConstructorParameters<typeof ModelMakerPolygonItem>);
4
+ }
@@ -0,0 +1,9 @@
1
+ import { ModelMakerBaseItem } from './baseItem';
2
+ export declare class ModelMakerPolygonItem extends ModelMakerBaseItem {
3
+ constructor(...args: ConstructorParameters<typeof ModelMakerBaseItem>);
4
+ enable(): void;
5
+ disable(): void;
6
+ show(): void;
7
+ protected onClick(): boolean;
8
+ private hideTag;
9
+ }
@@ -0,0 +1,4 @@
1
+ import { ModelMakerBaseItem } from './baseItem';
2
+ export declare class ModelMakerPrismItem extends ModelMakerBaseItem {
3
+ constructor(...args: ConstructorParameters<typeof ModelMakerBaseItem>);
4
+ }
@@ -0,0 +1,41 @@
1
+ export interface ServerData {
2
+ list: (ServerBoxItem | ServerTrianglesItem | ServerPrismItem)[];
3
+ }
4
+ export interface ServerBaseItem {
5
+ id?: number;
6
+ name?: string;
7
+ }
8
+ export interface ServerBoxItem extends ServerBaseItem {
9
+ type: 'box';
10
+ object_data: {
11
+ /** box 的其中一个顶点坐标 */
12
+ start: number[];
13
+ /** start 对角位置的顶点坐标 */
14
+ end: number[];
15
+ /** box 的欧拉角旋转,旋转顺序是 [XYZ] */
16
+ rotation: number[];
17
+ color?: string;
18
+ opacity?: number;
19
+ };
20
+ }
21
+ export interface ServerTrianglesItem extends ServerBaseItem {
22
+ type: 'triangles';
23
+ object_data: {
24
+ panoIndex: number;
25
+ points: number[][];
26
+ color?: string;
27
+ opacity?: number;
28
+ };
29
+ }
30
+ export interface ServerPrismItem extends ServerBaseItem {
31
+ type: 'prism';
32
+ object_data: {
33
+ points: number[][];
34
+ floorIndex?: number;
35
+ height: number;
36
+ fixedY?: number;
37
+ fixedHeight?: number;
38
+ color: string;
39
+ opacity?: number;
40
+ };
41
+ }
@@ -0,0 +1,52 @@
1
+ import type * as BasePlugin from '../../base/BasePluginWithData';
2
+ import type * as THREE from 'three';
3
+ import type { ModelMakerBaseItem } from '../item/baseItem';
4
+ import type { ServerData } from './data';
5
+ export type { Controller as ModelMakerController } from '../Controller';
6
+ export type * from './data';
7
+ /** 插件状态 */
8
+ export interface State extends BasePlugin.State {
9
+ /** 插件是否启用 */
10
+ enabled: boolean;
11
+ /** 插件整体是否可见 */
12
+ visible: boolean;
13
+ }
14
+ /** 插件事件 */
15
+ export interface EventMap extends BasePlugin.EventMap<State, ServerData> {
16
+ /** visible 从 false 到 true 的回调
17
+ * @param event.userAction 是否是用户操作
18
+ */
19
+ show: (event: {
20
+ userAction: boolean;
21
+ }) => void;
22
+ /** visible 从 true 到 false 的回调
23
+ * @param event.userAction 是否是用户操作
24
+ */
25
+ hide: (event: {
26
+ userAction: boolean;
27
+ }) => void;
28
+ /** enabled 从 false 到 true 的回调
29
+ * @param event.userAction 是否是用户操作
30
+ */
31
+ enable: (event: {
32
+ userAction: boolean;
33
+ }) => void;
34
+ /** enabled 从 true 到 false 的回调
35
+ * @param event.userAction 是否是用户操作
36
+ */
37
+ disable: (event: {
38
+ userAction: boolean;
39
+ }) => void;
40
+ /** 插件内容点击的回调
41
+ * @param event.target 点击的标注实例
42
+ * @param event.intersectObjects 射线与标注模型的交点集合
43
+ * @param event.wantsFiveTapGestureParams Five wantsFiveTapGesture 的回调参数
44
+ * @returns <boolean> | <void> 返回 false 会阻止 Five wantsFiveTapGesture 的回调,其余 return 值会被忽略
45
+ */
46
+ wantsTap: (event: {
47
+ target: any;
48
+ intersectObjects: THREE.Intersection[];
49
+ }) => boolean | void;
50
+ }
51
+ export type ItemType = ServerData['list'][number]['type'];
52
+ export type ElementRenderer = (container: HTMLElement, item: ModelMakerBaseItem) => () => void;
@@ -0,0 +1,3 @@
1
+ import type * as PluginType from '../typings';
2
+ declare const tagRendererMap: Record<PluginType.ItemType, PluginType.ElementRenderer>;
3
+ export { tagRendererMap };
@@ -1,30 +1,9 @@
1
1
  import type { LineStyle } from '../utils/color';
2
- import { type AnyPositions } from '../../shared-utils/positionToVector3';
3
- import { PolylineWithDotsMesh } from './Polyline';
4
- import * as THREE from 'three';
5
- import PolygonMesh from './Polygon';
6
2
  import type { PointsData } from '../utils/data';
7
3
  import type { ColoredMeshStyle } from '../utils/three/ColoredMesh';
4
+ import { PolygonWithEdgeMesh } from './PolygonWithEdge';
8
5
  export type AreaStyle = ColoredMeshStyle & LineStyle;
9
6
  export type AreaData = PointsData;
10
- export declare class AreaMesh extends PolylineWithDotsMesh {
7
+ export declare class AreaMesh extends PolygonWithEdgeMesh {
11
8
  name: string;
12
- polygon: PolygonMesh;
13
- get color(): THREE.Color;
14
- get opacity(): number;
15
- /** 多边形前三个点组成的平面,用来使得后面加的点也落在这个平面上 */
16
- private planeHelper;
17
- private planeHelperNeedUpdate;
18
- constructor(params?: Partial<AreaStyle & AreaData>);
19
- setStyle(params: Partial<AreaStyle>): void;
20
- setPoints(points: AnyPositions, autoClosed?: boolean): void;
21
- getGeometryInfo(): {
22
- center: THREE.Vector3;
23
- area: number;
24
- };
25
- /**
26
- * @description: 获取一个点投影在当前平面上的点
27
- */
28
- projectPoint(point: THREE.Vector3): THREE.Vector3;
29
- private updatePlaneHelper;
30
9
  }
@@ -10,9 +10,12 @@ export type PolygonData = PointsData;
10
10
  export default class PolygonMesh extends ColoredMesh<THREE.BufferGeometry> {
11
11
  name: string;
12
12
  get isBlank(): boolean;
13
+ get center(): THREE.Vector3;
13
14
  points: THREE.Vector3[];
14
15
  planeHelperNeedUpdate: boolean;
16
+ private geometryInfoNeedUpdate;
15
17
  private planeHelper;
18
+ private geometryInfo;
16
19
  private opacityBeforeHighlight;
17
20
  private highlighted;
18
21
  constructor(params?: Partial<PolygonStyle & PolygonData>);
@@ -0,0 +1,22 @@
1
+ import type { AnyPositions } from '../../shared-utils/positionToVector3';
2
+ import { PolylineMesh } from './Polyline';
3
+ import type { LineStyle } from '../utils/color';
4
+ import PolygonMesh, { type PolygonData, type PolygonStyle } from './Polygon';
5
+ import * as THREE from 'three';
6
+ export type PolygonWithEdgeMeshStyle = PolygonStyle & LineStyle;
7
+ /**
8
+ * @description: 带边线的多边形
9
+ */
10
+ export declare class PolygonWithEdgeMesh extends PolygonMesh {
11
+ name: string;
12
+ get lineWidth(): number;
13
+ get lineColor(): THREE.Color;
14
+ protected line: PolylineMesh;
15
+ constructor(params?: Partial<PolygonWithEdgeMeshStyle & PolygonData>);
16
+ setPoints(points: AnyPositions, params?: {
17
+ closed: boolean;
18
+ }): void;
19
+ setStyle(style: Partial<PolygonWithEdgeMeshStyle>): void;
20
+ highlight(): void;
21
+ unhighlight(): void;
22
+ }
@@ -1,34 +1,36 @@
1
1
  import { type AnyPositions } from '../../shared-utils/positionToVector3';
2
2
  import { IObject3D } from '../../shared-utils/three/IObject3D';
3
3
  import { LineWithDotsMesh } from './LineWithDots';
4
- import { LineMesh, type LineMeshStyle } from './Line';
4
+ import type { LineMeshStyle } from './Line';
5
5
  import type { PointsData } from '../utils/data';
6
6
  import * as THREE from 'three';
7
7
  export type PolylineStyle = LineMeshStyle;
8
8
  export type PolylineData = PointsData;
9
- export declare abstract class PolylineBaseMesh<WithDots extends boolean = true> extends IObject3D {
9
+ export declare abstract class PolylineBaseMesh extends IObject3D {
10
10
  name: string;
11
11
  get lineColor(): THREE.Color;
12
12
  get lineWidth(): number;
13
13
  get dashed(): boolean;
14
14
  get occlusionVisibility(): boolean;
15
15
  get points(): THREE.Vector3[];
16
- lines: Array<WithDots extends true ? LineWithDotsMesh : LineMesh>;
16
+ lines: Array<LineWithDotsMesh>;
17
17
  private withDots;
18
18
  private paramsStyle;
19
19
  constructor(params?: Partial<PolylineStyle & PolylineData & {
20
- withDots: WithDots extends true ? true : false;
20
+ withDots: boolean;
21
21
  }>);
22
- setPoints(points: AnyPositions): void;
22
+ setPoints(points: AnyPositions, params?: {
23
+ closed: boolean;
24
+ }): void;
23
25
  setStyle(style: Partial<PolylineStyle>): void;
24
26
  highlight(): void;
25
27
  unhighlight(): void;
26
28
  }
27
- export declare class PolylineMesh extends PolylineBaseMesh<false> {
29
+ export declare class PolylineMesh extends PolylineBaseMesh {
28
30
  name: string;
29
31
  constructor(...params: ConstructorParameters<typeof PolylineBaseMesh>);
30
32
  }
31
- export declare class PolylineWithDotsMesh extends PolylineBaseMesh<true> {
33
+ export declare class PolylineWithDotsMesh extends PolylineBaseMesh {
32
34
  name: string;
33
35
  constructor(...params: ConstructorParameters<typeof PolylineBaseMesh>);
34
36
  }
@@ -1,9 +1,10 @@
1
1
  import { IObject3D } from '../../shared-utils/three/IObject3D';
2
2
  import { type AnyPosition, type AnyPositions } from '../../shared-utils/positionToVector3';
3
- import { AreaMesh, type AreaData } from './Area';
3
+ import type { AreaData } from './Area';
4
4
  import * as THREE from 'three';
5
5
  import type { LineStyle } from '../utils/color';
6
6
  import type { ColoredMeshStyle } from '../utils/three/ColoredMesh';
7
+ import { PolygonWithEdgeMesh } from './PolygonWithEdge';
7
8
  export type PrismStyle = ColoredMeshStyle & LineStyle;
8
9
  export interface PrismData extends AreaData {
9
10
  heightPoint: AnyPosition;
@@ -14,8 +15,9 @@ export interface PrismData extends AreaData {
14
15
  export declare class PrismMesh extends IObject3D {
15
16
  name: string;
16
17
  heightPoint: THREE.Vector3;
17
- bottomPolygon: AreaMesh;
18
- topPolygon: AreaMesh;
18
+ bottomPolygon: PolygonWithEdgeMesh;
19
+ topPolygon: PolygonWithEdgeMesh;
20
+ get center(): THREE.Vector3;
19
21
  get color(): THREE.Color;
20
22
  get lineWidth(): number;
21
23
  get lineColor(): THREE.Color;
@@ -2,6 +2,7 @@ import type { FiveDomEventMap } from '../../../shared-utils/five/FiveDomEvents';
2
2
  import { IObject3D } from '../../../shared-utils/three/IObject3D';
3
3
  import type { BaseEditor } from './Editor';
4
4
  import type { RequiredDeep } from 'type-fest';
5
+ import type { ImportDataToExportData } from '../../typings/utils.type';
5
6
  import type * as THREE from 'three';
6
7
  export interface BaseImportData {
7
8
  id?: string;
@@ -24,7 +25,8 @@ export interface BaseObjectConfig {
24
25
  /**
25
26
  * @description: 基础对象
26
27
  */
27
- export declare abstract class BaseObject<ImportData extends BaseImportData = BaseImportData, ExportData extends BaseExportData = any, Config extends BaseObjectConfig = BaseObjectConfig> extends IObject3D {
28
+ export declare abstract class BaseObject<ImportData extends BaseImportData = BaseImportData, ExportData extends BaseExportData = ImportDataToExportData<ImportData>, // 有性能问题,先注释掉
29
+ Config extends BaseObjectConfig = BaseObjectConfig> extends IObject3D {
28
30
  name: string;
29
31
  readonly isSculptObject = true;
30
32
  draggable: boolean;
@@ -49,7 +51,7 @@ export declare abstract class BaseObject<ImportData extends BaseImportData = Bas
49
51
  protected get pointSelector(): import("../../../shared-utils/three/PointSelector").PointSelector;
50
52
  constructor(data?: Partial<ImportData>, config?: Partial<Config>);
51
53
  on: <T extends keyof FiveDomEventMap>(event: T, callback: FiveDomEventMap[T]) => void;
52
- off: (event: keyof FiveDomEventMap, callback: (e: import("../../../shared-utils/five/FiveDomEvents").FiveDomEvent) => any, ...args: any[]) => void;
54
+ off: (event: keyof FiveDomEventMap, callback?: (e: import("../../../shared-utils/five/FiveDomEvents").FiveDomEvent) => any, ...args: any[]) => void;
53
55
  stopCreating(): void;
54
56
  delete(): void;
55
57
  highlight(): void;
@@ -1,8 +1,9 @@
1
1
  import type { Polygon } from '.';
2
2
  import type { FiveDomEvent } from '../../../shared-utils/five/FiveDomEvents';
3
3
  import { LineEditor } from '../Polyline/Editor';
4
+ import * as THREE from 'three';
4
5
  export declare class PolygonEditor extends LineEditor<Polygon> {
5
- get lines(): import("../../Meshes/LineWithDots").LineWithDotsMesh[];
6
+ get points(): THREE.Vector3[];
6
7
  constructor(originObject: Polygon);
7
8
  protected onDrag: (event: FiveDomEvent) => void;
8
9
  }
@@ -3,11 +3,10 @@ import type { FiveDomEvent } from '../../../shared-utils/five/FiveDomEvents';
3
3
  import type { Polyline } from '.';
4
4
  import type * as THREE from 'three';
5
5
  import { PointMesh } from '../../Meshes/Point';
6
- import type { LineWithDotsMesh } from '../../Meshes/LineWithDots';
7
6
  export declare abstract class LineEditor<OriginObject extends THREE.Object3D = THREE.Object3D> extends BaseEditor<OriginObject> {
8
7
  protected draggingPoints: PointMesh[];
9
- protected get points(): PointMesh[];
10
- abstract get lines(): LineWithDotsMesh[];
8
+ protected get pointMeshes(): PointMesh[];
9
+ abstract get points(): THREE.Vector3[];
11
10
  get pointHandles(): PointMesh[];
12
11
  constructor(originObject: OriginObject);
13
12
  enable(): void;
@@ -17,9 +16,7 @@ export declare abstract class LineEditor<OriginObject extends THREE.Object3D = T
17
16
  protected abstract onDrag(event: FiveDomEvent): void;
18
17
  }
19
18
  export declare class PolylineEditor extends LineEditor<Polyline> {
20
- get lines(): LineWithDotsMesh[];
19
+ get points(): THREE.Vector3[];
21
20
  constructor(originObject: Polyline);
22
- enable(): void;
23
- disable(): void;
24
21
  protected onDrag: (event: FiveDomEvent) => void;
25
22
  }
@@ -137,35 +137,59 @@ export declare class Sculpt extends Subscribe<Event> {
137
137
  /**
138
138
  * @description: 开始绘制点
139
139
  */
140
- createPoint(params?: Parameters<Point['create']>[0]): Promise<BaseObject<any, any, BaseObjectConfig>>;
140
+ createPoint(params?: Parameters<Point['create']>[0]): Promise<BaseObject<any, {
141
+ [x: string]: any;
142
+ id: string | number;
143
+ }, BaseObjectConfig>>;
141
144
  /**
142
145
  * @description: 开始绘制空间折线
143
146
  */
144
- createPolyline(params?: Parameters<Polyline['create']>[0]): Promise<BaseObject<any, any, BaseObjectConfig>>;
147
+ createPolyline(params?: Parameters<Polyline['create']>[0]): Promise<BaseObject<any, {
148
+ [x: string]: any;
149
+ id: string | number;
150
+ }, BaseObjectConfig>>;
145
151
  /**
146
152
  * @description: 开始绘制平面多边形
147
153
  */
148
- createPolygon(params?: Parameters<Polygon['create']>[0]): Promise<BaseObject<any, any, BaseObjectConfig>>;
154
+ createPolygon(params?: Parameters<Polygon['create']>[0]): Promise<BaseObject<any, {
155
+ [x: string]: any;
156
+ id: string | number;
157
+ }, BaseObjectConfig>>;
149
158
  /**
150
159
  * @description: 开始绘制多棱柱
151
160
  */
152
- createPrism(params?: Parameters<Prism['create']>[0]): Promise<BaseObject<any, any, BaseObjectConfig>>;
161
+ createPrism(params?: Parameters<Prism['create']>[0]): Promise<BaseObject<any, {
162
+ [x: string]: any;
163
+ id: string | number;
164
+ }, BaseObjectConfig>>;
153
165
  /**
154
166
  * @description: 开始绘制矩形
155
167
  */
156
- createRectangle(params?: Parameters<Rectangle['create']>[0]): Promise<BaseObject<any, any, BaseObjectConfig>>;
168
+ createRectangle(params?: Parameters<Rectangle['create']>[0]): Promise<BaseObject<any, {
169
+ [x: string]: any;
170
+ id: string | number;
171
+ }, BaseObjectConfig>>;
157
172
  /**
158
173
  * @description: 开始绘制圆形
159
174
  */
160
- createCircle(params?: Parameters<Circle['create']>[0]): Promise<BaseObject<any, any, BaseObjectConfig>>;
175
+ createCircle(params?: Parameters<Circle['create']>[0]): Promise<BaseObject<any, {
176
+ [x: string]: any;
177
+ id: string | number;
178
+ }, BaseObjectConfig>>;
161
179
  /**
162
180
  * @description: 开始绘制圆柱
163
181
  */
164
- createCylinder(params?: Parameters<Cylinder['create']>[0]): Promise<BaseObject<any, any, BaseObjectConfig>>;
182
+ createCylinder(params?: Parameters<Cylinder['create']>[0]): Promise<BaseObject<any, {
183
+ [x: string]: any;
184
+ id: string | number;
185
+ }, BaseObjectConfig>>;
165
186
  /**
166
187
  * @description: 开始绘制 Box
167
188
  */
168
- createBox(params?: Parameters<Box['create']>[0]): Promise<BaseObject<any, any, BaseObjectConfig>>;
189
+ createBox(params?: Parameters<Box['create']>[0]): Promise<BaseObject<any, {
190
+ [x: string]: any;
191
+ id: string | number;
192
+ }, BaseObjectConfig>>;
169
193
  /**
170
194
  * @description: 撤销
171
195
  */
@@ -1,7 +1,10 @@
1
1
  import type * as THREE from 'three';
2
- import type { LiteralUnion, UnknownArray } from 'type-fest';
2
+ import type { LiteralUnion, Merge, UnknownArray } from 'type-fest';
3
3
  import type { IsNull, NonRecursiveType } from 'type-fest/source/internal';
4
4
  export type LiteralString<T> = LiteralUnion<T, string>;
5
+ export type ImportDataToExportData<T> = Merge<JsonData<T>, {
6
+ id: string | number;
7
+ }>;
5
8
  export type JsonVector3<T> = ReplaceDeep<T, THREE.Vector3, number[]>;
6
9
  export type JsonColor<T> = ReplaceDeep<T, THREE.Color>;
7
10
  export type JsonData<T> = JsonColor<JsonVector3<T>>;
@@ -84,11 +84,11 @@ declare abstract class Controller<PluginState extends State, PluginEventMap exte
84
84
  /**
85
85
  * 展示UI
86
86
  */
87
- show?(options?: BaseOptions): Promise<void>;
87
+ show?(options?: BaseOptions): Promise<void> | void;
88
88
  /**
89
89
  * 隐藏UI
90
90
  */
91
- hide?(options?: BaseOptions): Promise<void>;
91
+ hide?(options?: BaseOptions): Promise<void> | void;
92
92
  /**
93
93
  * 设置state
94
94
  * @param state 插件的目标状态
@@ -15,8 +15,6 @@ declare abstract class Controller<PluginState extends State, PluginEventMap exte
15
15
  * @param state 插件 State
16
16
  */
17
17
  abstract load(serverData: PluginServerData, state?: PluginState, userAction?: boolean): Promise<void>;
18
- /** 把原始数据转化为插件数据 */
19
- protected abstract formatData?(serverData: PluginServerData): Promise<PluginData> | PluginData;
20
18
  }
21
19
  export type { State, EventMap, Config };
22
20
  export type { BaseOptions } from './BasePlugin';