@realsee/dnalogel 3.75.0-alpha.0 → 3.75.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 (509) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/Sculpt/Objects/Polygon/index.d.ts +13 -0
  3. package/dist/Sculpt/Objects/Prism/index.d.ts +18 -0
  4. package/dist/Sculpt/index.d.ts +27 -6
  5. package/dist/index.cjs.js +52 -52
  6. package/dist/index.js +4413 -4392
  7. package/dist/index.umd.js +45 -45
  8. package/dist/shared-utils/three/PointSelector/index.d.ts +1 -5
  9. package/libs/PanoMeasurePlugin/utils/isIntersecting.js +36 -32
  10. package/libs/Sculpt/Objects/Polygon/index.d.ts +13 -0
  11. package/libs/Sculpt/Objects/Polygon/index.js +107 -104
  12. package/libs/Sculpt/Objects/Prism/index.d.ts +18 -0
  13. package/libs/Sculpt/index.d.ts +27 -6
  14. package/libs/Sculpt/index.js +95 -79
  15. package/libs/Sculpt/utils/Modules/Global.js +1 -2
  16. package/libs/base/BasePlugin.js +5 -5
  17. package/libs/shared-utils/logger.js +1 -1
  18. package/libs/shared-utils/three/PointSelector/index.d.ts +1 -5
  19. package/libs/shared-utils/three/PointSelector/index.js +6 -7
  20. package/package.json +1 -1
  21. package/docs/.nojekyll +0 -1
  22. package/docs/assets/custom.css +0 -0
  23. package/docs/assets/highlight.css +0 -127
  24. package/docs/assets/icons.js +0 -18
  25. package/docs/assets/icons.svg +0 -1
  26. package/docs/assets/main.js +0 -60
  27. package/docs/assets/navigation.js +0 -1
  28. package/docs/assets/search.js +0 -1
  29. package/docs/assets/style.css +0 -1493
  30. package/docs/classes/AreaMakerPluginType.AreaMakerController.html +0 -59
  31. package/docs/classes/AreaMakerPluginType.AreaMakerItem.html +0 -71
  32. package/docs/classes/CSS3DRender.html +0 -100
  33. package/docs/classes/GuideLineItem.GuideLineItem.html +0 -21
  34. package/docs/classes/GuideLineModeItem.GuideLineModeItem.html +0 -70
  35. package/docs/classes/ModelMakerPluginInstance.html +0 -116
  36. package/docs/classes/ModelMakerPluginType.ModelMakerBoxItem.html +0 -52
  37. package/docs/classes/ModelMakerPluginType.ModelMakerPolygonItem.html +0 -52
  38. package/docs/classes/ModelMakerPluginType.ModelMakerPrismItem.html +0 -53
  39. package/docs/classes/ModelRoomLabelController.html +0 -19
  40. package/docs/classes/MoveController.html +0 -45
  41. package/docs/classes/Object3DHelperController.html +0 -45
  42. package/docs/classes/PaintBrush.html +0 -15
  43. package/docs/classes/PanoMeasurePluginLine.html +0 -24
  44. package/docs/classes/PanoMeasurePluginModel.html +0 -23
  45. package/docs/classes/PanoMeasurePluginPoint.html +0 -7
  46. package/docs/classes/PanoMeasurePluginPolyline.html +0 -27
  47. package/docs/classes/PanoTagPluginController.html +0 -111
  48. package/docs/classes/Sculpt.html +0 -77
  49. package/docs/classes/Util.BetterTween.html +0 -6
  50. package/docs/classes/Util.FiveDomEvents.html +0 -13
  51. package/docs/classes/Util.FivePuppet.html +0 -20
  52. package/docs/classes/Util.Interval.html +0 -11
  53. package/docs/classes/Util.LegacyPointHelper.html +0 -7
  54. package/docs/classes/Util.LightTag.html +0 -47
  55. package/docs/classes/Util.LineSegments.html +0 -4
  56. package/docs/classes/Util.Magnifier.html +0 -26
  57. package/docs/classes/Util.Object3D.html +0 -8
  58. package/docs/classes/Util.PointDomHelper.html +0 -8
  59. package/docs/classes/Util.PointHelper.html +0 -10
  60. package/docs/classes/Util.PointSelector.html +0 -66
  61. package/docs/classes/Util.PointSelectorHelper.html +0 -14
  62. package/docs/classes/Util.Rectangle.html +0 -12
  63. package/docs/classes/Util.sculpt.BaseEditor.html +0 -17
  64. package/docs/classes/Util.sculpt.BoxMesh.html +0 -48
  65. package/docs/classes/Util.sculpt.BoxMeshEditor.html +0 -18
  66. package/docs/classes/Util.sculpt.CircleMesh.html +0 -26
  67. package/docs/classes/Util.sculpt.CircleMeshEditor.html +0 -18
  68. package/docs/classes/Util.sculpt.CircleWithEdgeMesh.html +0 -26
  69. package/docs/classes/Util.sculpt.CylinderMesh.html +0 -25
  70. package/docs/classes/Util.sculpt.CylinderMeshEditor.html +0 -18
  71. package/docs/classes/Util.sculpt.LineMesh.html +0 -34
  72. package/docs/classes/Util.sculpt.PointMesh.html +0 -24
  73. package/docs/classes/Util.sculpt.PolygonMesh.html +0 -40
  74. package/docs/classes/Util.sculpt.PrismMesh.html +0 -48
  75. package/docs/classes/Util.sculpt.PrismMeshEditor.html +0 -18
  76. package/docs/classes/Util.sculpt.RectangleMesh.html +0 -41
  77. package/docs/classes/Util.sculpt.RectangleMeshEditor.html +0 -18
  78. package/docs/classes/Util.sculpt.RectangleWithEdgeMesh.html +0 -44
  79. package/docs/classes/WalkController.html +0 -42
  80. package/docs/enums/CameraMovementEffect.html +0 -4
  81. package/docs/enums/ContentType.html +0 -34
  82. package/docs/enums/DIRECTION.html +0 -5
  83. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +0 -5
  84. package/docs/enums/DimensionType.html +0 -4
  85. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +0 -4
  86. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +0 -5
  87. package/docs/enums/PaintBrushTypeEnum.html +0 -4
  88. package/docs/enums/PointType.html +0 -4
  89. package/docs/enums/Rotation.html +0 -5
  90. package/docs/functions/AreaMakerPlugin.html +0 -1
  91. package/docs/functions/CSS3DRenderPlugin.html +0 -1
  92. package/docs/functions/CameraMovementPlugin.html +0 -2
  93. package/docs/functions/CruisePlugin.html +0 -1
  94. package/docs/functions/CurrentPanoImagePlugin.html +0 -1
  95. package/docs/functions/FloorplanGuidePlugin.html +0 -1
  96. package/docs/functions/GuideLinePlugin.html +0 -1
  97. package/docs/functions/ItemLabelPlugin.html +0 -1
  98. package/docs/functions/MapviewFloorplanPlugin.html +0 -1
  99. package/docs/functions/MeasurePlugin.html +0 -1
  100. package/docs/functions/ModelChassisCompassPlugin.html +0 -2
  101. package/docs/functions/ModelEntryDoorGuidePlugin.html +0 -2
  102. package/docs/functions/ModelFloorplanPlugin.html +0 -1
  103. package/docs/functions/ModelItemLabelPlugin.html +0 -1
  104. package/docs/functions/ModelMakerPlugin.html +0 -1
  105. package/docs/functions/ModelRoomLabelPlugin.html +0 -1
  106. package/docs/functions/ModelTVVideoPlugin.html +0 -1
  107. package/docs/functions/ModelViewPlugin.html +0 -2
  108. package/docs/functions/MovePlugin.html +0 -1
  109. package/docs/functions/Object3DHelperPlugin.html +0 -1
  110. package/docs/functions/PanoCompassPlugin.html +0 -1
  111. package/docs/functions/PanoCursorRaycasterPlugin.html +0 -2
  112. package/docs/functions/PanoDoorLabelPlugin.html +0 -1
  113. package/docs/functions/PanoFloorplanRadarPlugin.html +0 -1
  114. package/docs/functions/PanoMeasurePlugin.html +0 -1
  115. package/docs/functions/PanoRulerPlugin.html +0 -2
  116. package/docs/functions/PanoRulerProPlugin.html +0 -2
  117. package/docs/functions/PanoSpatialTagPlugin.html +0 -2
  118. package/docs/functions/PanoTagPlugin.html +0 -1
  119. package/docs/functions/PanoVideoPlugin.html +0 -10
  120. package/docs/functions/PipelinePlugin.html +0 -1
  121. package/docs/functions/SculptPlugin.html +0 -2
  122. package/docs/functions/SculptPluginForFive.html +0 -2
  123. package/docs/functions/TopviewFloorplanPlugin.html +0 -1
  124. package/docs/functions/Util.awaitNextFrame.html +0 -1
  125. package/docs/functions/Util.blink.html +0 -13
  126. package/docs/functions/Util.blinkWithPreset.html +0 -6
  127. package/docs/functions/Util.bounding.html +0 -1
  128. package/docs/functions/Util.boundingBox.html +0 -1
  129. package/docs/functions/Util.boundingSphere.html +0 -1
  130. package/docs/functions/Util.boxVertex.html +0 -7
  131. package/docs/functions/Util.boxVertexes.html +0 -1
  132. package/docs/functions/Util.checkFiveModelLoaded.html +0 -2
  133. package/docs/functions/Util.cleanup.html +0 -3
  134. package/docs/functions/Util.convexHull.html +0 -2
  135. package/docs/functions/Util.equal.html +0 -5
  136. package/docs/functions/Util.fiveModelIsLoaded.html +0 -2
  137. package/docs/functions/Util.generatePolygonGeometry.html +0 -2
  138. package/docs/functions/Util.getCoordsFromClient.html +0 -1
  139. package/docs/functions/Util.getCoordsFromElement.html +0 -1
  140. package/docs/functions/Util.getFrameTime.html +0 -3
  141. package/docs/functions/Util.getGeometryArea.html +0 -1
  142. package/docs/functions/Util.getGeometryInfo.html +0 -1
  143. package/docs/functions/Util.getIntersectFromRelativePosition.html +0 -1
  144. package/docs/functions/Util.getRaycasterFromFivePointer.html +0 -1
  145. package/docs/functions/Util.initialCSS3DRender.html +0 -1
  146. package/docs/functions/Util.inside.html +0 -1
  147. package/docs/functions/Util.isModelLike.html +0 -1
  148. package/docs/functions/Util.isNil.html +0 -2
  149. package/docs/functions/Util.isPanoramaLike.html +0 -1
  150. package/docs/functions/Util.lookObject.html +0 -7
  151. package/docs/functions/Util.lookPoint.html +0 -5
  152. package/docs/functions/Util.nextFrame.html +0 -1
  153. package/docs/functions/Util.notNil.html +0 -2
  154. package/docs/functions/Util.reblink.html +0 -13
  155. package/docs/functions/Util.replaceStaticPrefix.html +0 -8
  156. package/docs/functions/Util.requestAnimationFrameInterval.html +0 -5
  157. package/docs/functions/Util.sculpt.createBox.html +0 -1
  158. package/docs/functions/Util.sculpt.createCircle.html +0 -1
  159. package/docs/functions/Util.sculpt.createCylinder.html +0 -1
  160. package/docs/functions/Util.sculpt.createLine.html +0 -2
  161. package/docs/functions/Util.sculpt.createPoint.html +0 -1
  162. package/docs/functions/Util.sculpt.createPolygon.html +0 -1
  163. package/docs/functions/Util.sculpt.createPrism.html +0 -1
  164. package/docs/functions/Util.sculpt.createRectangle.html +0 -2
  165. package/docs/functions/Util.sculpt.transformUnit.html +0 -1
  166. package/docs/functions/Util.sculpt.transformUnitSquare.html +0 -1
  167. package/docs/functions/Util.tag.html +0 -1
  168. package/docs/functions/Util.triangleArea.html +0 -2
  169. package/docs/functions/Util.triangleCenter.html +0 -2
  170. package/docs/functions/Util.tweenProgress.html +0 -1
  171. package/docs/functions/Util.uuid.html +0 -2
  172. package/docs/functions/Util.waitFiveModelLoaded.html +0 -2
  173. package/docs/functions/Util.worldBounding.html +0 -1
  174. package/docs/functions/Util.worldBoundingBox.html +0 -1
  175. package/docs/functions/Util.worldBoundingSphere.html +0 -1
  176. package/docs/functions/createPolyline.html +0 -2
  177. package/docs/functions/pluginFlag.html +0 -1
  178. package/docs/functions/validatePolygon.html +0 -1
  179. package/docs/hierarchy.html +0 -1
  180. package/docs/index.html +0 -70
  181. package/docs/interfaces/AreaMakerPluginType.AnimeOptions.html +0 -4
  182. package/docs/interfaces/AreaMakerPluginType.Config.html +0 -8
  183. package/docs/interfaces/AreaMakerPluginType.EventMap.html +0 -25
  184. package/docs/interfaces/AreaMakerPluginType.Params.html +0 -4
  185. package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItem.html +0 -20
  186. package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItemV1.html +0 -13
  187. package/docs/interfaces/AreaMakerPluginType.ServerDataV1.html +0 -9
  188. package/docs/interfaces/AreaMakerPluginType.ServerDataV2.html +0 -3
  189. package/docs/interfaces/AreaMakerPluginType.ShowHideOptions.html +0 -3
  190. package/docs/interfaces/AreaMakerPluginType.State.html +0 -8
  191. package/docs/interfaces/BoxAnimationConfig.html +0 -6
  192. package/docs/interfaces/CSS3DRenderPluginEventMap.html +0 -9
  193. package/docs/interfaces/CSS3DRenderPluginState.html +0 -7
  194. package/docs/interfaces/CameraMovementPluginExportType.html +0 -11
  195. package/docs/interfaces/ContentTypeMapInterface.html +0 -73
  196. package/docs/interfaces/CruisePluginTypes.Config.html +0 -7
  197. package/docs/interfaces/CruisePluginTypes.CruiseKeyframe.html +0 -8
  198. package/docs/interfaces/CruisePluginTypes.EventMap.html +0 -33
  199. package/docs/interfaces/CruisePluginTypes.GuildLineConfig.html +0 -6
  200. package/docs/interfaces/CruisePluginTypes.MoveAction.html +0 -16
  201. package/docs/interfaces/CruisePluginTypes.MoveWithKeyframesAction.html +0 -19
  202. package/docs/interfaces/CruisePluginTypes.MoveWithPanoIndexAction.html +0 -20
  203. package/docs/interfaces/CruisePluginTypes.PluginData.html +0 -8
  204. package/docs/interfaces/CruisePluginTypes.PluginServerData.html +0 -2
  205. package/docs/interfaces/CruisePluginTypes.PluginState.html +0 -15
  206. package/docs/interfaces/CurrentPanoImagePluginType.Config.html +0 -13
  207. package/docs/interfaces/CurrentPanoImagePluginType.EventMap.html +0 -15
  208. package/docs/interfaces/CurrentPanoImagePluginType.Params.html +0 -4
  209. package/docs/interfaces/CurrentPanoImagePluginType.ShowHideOptions.html +0 -3
  210. package/docs/interfaces/CurrentPanoImagePluginType.State.html +0 -7
  211. package/docs/interfaces/FloorplanBounding.html +0 -9
  212. package/docs/interfaces/FloorplanData.html +0 -7
  213. package/docs/interfaces/FloorplanEntrance.html +0 -14
  214. package/docs/interfaces/FloorplanExtraObject.html +0 -9
  215. package/docs/interfaces/FloorplanExtraObject3D.html +0 -5
  216. package/docs/interfaces/FloorplanFloorData.html +0 -9
  217. package/docs/interfaces/FloorplanImagePosition.html +0 -4
  218. package/docs/interfaces/FloorplanObserver.html +0 -8
  219. package/docs/interfaces/FloorplanOutlineItem.html +0 -6
  220. package/docs/interfaces/FloorplanPosition.html +0 -4
  221. package/docs/interfaces/FloorplanRoomItem.html +0 -24
  222. package/docs/interfaces/FloorplanRoomLabelItem.html +0 -6
  223. package/docs/interfaces/FloorplanServerBounding.html +0 -9
  224. package/docs/interfaces/FloorplanServerComputedData.html +0 -6
  225. package/docs/interfaces/FloorplanServerData.html +0 -4
  226. package/docs/interfaces/FloorplanServerDoorItem.html +0 -6
  227. package/docs/interfaces/FloorplanServerDoorPosition.html +0 -4
  228. package/docs/interfaces/FloorplanServerEntrance.html +0 -14
  229. package/docs/interfaces/FloorplanServerFloorData.html +0 -8
  230. package/docs/interfaces/FloorplanServerImagePosition.html +0 -4
  231. package/docs/interfaces/FloorplanServerObserver.html +0 -8
  232. package/docs/interfaces/FloorplanServerOutlineItem.html +0 -6
  233. package/docs/interfaces/FloorplanServerPosition.html +0 -4
  234. package/docs/interfaces/FloorplanServerRoomItem.html +0 -27
  235. package/docs/interfaces/FloorplanServerRoomLabelItem.html +0 -6
  236. package/docs/interfaces/GuideLineModeItem.GuideLineTagContainer.html +0 -4
  237. package/docs/interfaces/GuideLinePluginType.CatmullRomCurve3.html +0 -7
  238. package/docs/interfaces/GuideLinePluginType.EventMap.html +0 -13
  239. package/docs/interfaces/GuideLinePluginType.ExtraRouteData.html +0 -5
  240. package/docs/interfaces/GuideLinePluginType.GuideLineGeometryStyle.html +0 -8
  241. package/docs/interfaces/GuideLinePluginType.GuideLineItemContainer.html +0 -2
  242. package/docs/interfaces/GuideLinePluginType.GuideLineMaterialStyle.html +0 -32
  243. package/docs/interfaces/GuideLinePluginType.GuideLineMeshStyle.html +0 -4
  244. package/docs/interfaces/GuideLinePluginType.LineGeometriesConfig.html +0 -5
  245. package/docs/interfaces/GuideLinePluginType.ModelGuideLineStyle.html +0 -42
  246. package/docs/interfaces/GuideLinePluginType.ModelGuideLineTagData.html +0 -3
  247. package/docs/interfaces/GuideLinePluginType.PanoramaGuideLineStyle.html +0 -57
  248. package/docs/interfaces/GuideLinePluginType.PluginDataV2.html +0 -1
  249. package/docs/interfaces/GuideLinePluginType.PluginServerData.html +0 -2
  250. package/docs/interfaces/GuideLinePluginType.PluginState.html +0 -7
  251. package/docs/interfaces/GuideLinePluginType.Route.html +0 -13
  252. package/docs/interfaces/HelperOffset.html +0 -4
  253. package/docs/interfaces/ImagePlaneGroup.html +0 -3
  254. package/docs/interfaces/ItemLabelPluginData.html +0 -2
  255. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +0 -7
  256. package/docs/interfaces/ItemLabelPluginParametersType.html +0 -5
  257. package/docs/interfaces/MinMax.html +0 -3
  258. package/docs/interfaces/ModelChassisCompassPluginData.html +0 -3
  259. package/docs/interfaces/ModelChassisCompassPluginExportType.html +0 -4
  260. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +0 -3
  261. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +0 -4
  262. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +0 -4
  263. package/docs/interfaces/ModelItemLabelPluginData.html +0 -2
  264. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +0 -7
  265. package/docs/interfaces/ModelItemLabelPluginParametersType.html +0 -3
  266. package/docs/interfaces/ModelMakerPluginType.BoxItemObjectData.html +0 -17
  267. package/docs/interfaces/ModelMakerPluginType.EventMap.html +0 -18
  268. package/docs/interfaces/ModelMakerPluginType.PrismItemObjectData.html +0 -23
  269. package/docs/interfaces/ModelMakerPluginType.ServerBaseItem.html +0 -11
  270. package/docs/interfaces/ModelMakerPluginType.ServerBoxItem.html +0 -10
  271. package/docs/interfaces/ModelMakerPluginType.ServerData.html +0 -3
  272. package/docs/interfaces/ModelMakerPluginType.ServerPrismItem.html +0 -10
  273. package/docs/interfaces/ModelMakerPluginType.ServerTrianglesItem.html +0 -10
  274. package/docs/interfaces/ModelMakerPluginType.State.html +0 -8
  275. package/docs/interfaces/ModelMakerPluginType.TrianglesItemObjectData.html +0 -11
  276. package/docs/interfaces/ModelRoomLabelPluginData.html +0 -2
  277. package/docs/interfaces/ModelTVVideoPluginData.html +0 -5
  278. package/docs/interfaces/ModelTVVideoPluginExportType.html +0 -4
  279. package/docs/interfaces/ModelTVVideoPluginParameterType.html +0 -2
  280. package/docs/interfaces/ModelViewPluginExportType.html +0 -8
  281. package/docs/interfaces/Object3DHelperState.html +0 -4
  282. package/docs/interfaces/ObjectHelperControllers.html +0 -5
  283. package/docs/interfaces/PaintBrushAction.html +0 -14
  284. package/docs/interfaces/PaintBrushConfigs.html +0 -8
  285. package/docs/interfaces/PaintBrushState.html +0 -6
  286. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +0 -16
  287. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +0 -1
  288. package/docs/interfaces/PanoMeasureParameterType.html +0 -20
  289. package/docs/interfaces/PanoMeasurePluginLineJson.html +0 -4
  290. package/docs/interfaces/PanoMeasurePluginOpenParameter.html +0 -4
  291. package/docs/interfaces/PanoMeasurePluginPointJson.html +0 -3
  292. package/docs/interfaces/PanoMeasurePluginPolylineJson.html +0 -7
  293. package/docs/interfaces/PanoRulerPluginExportType.html +0 -6
  294. package/docs/interfaces/PanoRulerPluginOptions.html +0 -3
  295. package/docs/interfaces/PanoRulerPluginParameterType.html +0 -4
  296. package/docs/interfaces/PanoRulerProPluginExportType.html +0 -5
  297. package/docs/interfaces/PanoRulerProPluginOptions.html +0 -3
  298. package/docs/interfaces/PanoRulerProPluginParameterType.html +0 -3
  299. package/docs/interfaces/PanoRulerProPluginState.html +0 -4
  300. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +0 -1
  301. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +0 -1
  302. package/docs/interfaces/PanoSpatialTagPluginData.html +0 -7
  303. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +0 -6
  304. package/docs/interfaces/PanoSpatialTagPluginExportType.html +0 -9
  305. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +0 -6
  306. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +0 -9
  307. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +0 -7
  308. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +0 -6
  309. package/docs/interfaces/PanoVideoPluginType.LoadParams.html +0 -3
  310. package/docs/interfaces/PanoVideoPluginType.PanoVideoItem.html +0 -8
  311. package/docs/interfaces/PanoVideoPluginType.PluginData.html +0 -2
  312. package/docs/interfaces/PanoVideoPluginType.PluginEventMap.html +0 -15
  313. package/docs/interfaces/PanoVideoPluginType.PluginState.html +0 -2
  314. package/docs/interfaces/PanoVideoPluginType.VideoItem.html +0 -14
  315. package/docs/interfaces/PanoVideoPluginType.VideoMeshParams.html +0 -13
  316. package/docs/interfaces/PluginEventMap.html +0 -16
  317. package/docs/interfaces/Point.html +0 -4
  318. package/docs/interfaces/Room.html +0 -5
  319. package/docs/interfaces/RoomInfo.html +0 -3
  320. package/docs/interfaces/RoomLabel.html +0 -16
  321. package/docs/interfaces/RoomRules.html +0 -1
  322. package/docs/interfaces/Rooms.html +0 -1
  323. package/docs/interfaces/Scissor.html +0 -13
  324. package/docs/interfaces/SculptConfig.html +0 -19
  325. package/docs/interfaces/State.html +0 -7
  326. package/docs/interfaces/TagCacheInterface.html +0 -9
  327. package/docs/interfaces/TagConfig.html +0 -174
  328. package/docs/interfaces/TagGLTFObjectGroup.html +0 -3
  329. package/docs/interfaces/TagIconAnimationConfig.html +0 -7
  330. package/docs/interfaces/TagIconUrl.html +0 -22
  331. package/docs/interfaces/TagObjectGroup.html +0 -3
  332. package/docs/interfaces/TagState.html +0 -3
  333. package/docs/interfaces/TagStyle.html +0 -5
  334. package/docs/interfaces/Tags.html +0 -8
  335. package/docs/interfaces/TemporaryState.html +0 -2
  336. package/docs/interfaces/Util.AnimeInstance.html +0 -14
  337. package/docs/interfaces/Util.BlinkAnimeOptions.html +0 -21
  338. package/docs/interfaces/Util.EventHandlerConfig.html +0 -21
  339. package/docs/interfaces/Util.FiveDomEvent.html +0 -7
  340. package/docs/interfaces/Util.FiveDomEventMap.html +0 -20
  341. package/docs/interfaces/Util.LegacyMouseGroupParameter.html +0 -4
  342. package/docs/interfaces/Util.MagnifierParameter.html +0 -13
  343. package/docs/interfaces/Util.MouseGroupParameter.html +0 -4
  344. package/docs/interfaces/Util.ObjectInitialState.html +0 -9
  345. package/docs/interfaces/Util.PointIntersection.html +0 -21
  346. package/docs/interfaces/Util.PointSelectorHelperConfig.html +0 -6
  347. package/docs/interfaces/Util.ReBlinkAnimeOptions.html +0 -27
  348. package/docs/modules/AreaMakerPluginType.html +0 -17
  349. package/docs/modules/CruisePluginTypes.html +0 -14
  350. package/docs/modules/CurrentPanoImagePluginType.html +0 -6
  351. package/docs/modules/GuideLineItem.html +0 -2
  352. package/docs/modules/GuideLineModeItem.html +0 -3
  353. package/docs/modules/GuideLinePluginType.html +0 -25
  354. package/docs/modules/ModelMakerPluginType.html +0 -19
  355. package/docs/modules/PanoVideoPluginType.html +0 -8
  356. package/docs/modules/SculptData.html +0 -9
  357. package/docs/modules/SculptType.html +0 -2
  358. package/docs/modules/Util.html +0 -91
  359. package/docs/modules/Util.sculpt.html +0 -27
  360. package/docs/modules.html +0 -281
  361. package/docs/types/AddObject3DHelperConfig.html +0 -19
  362. package/docs/types/AreaMakerPluginType.AreaMakerItemEventMap.html +0 -7
  363. package/docs/types/AreaMakerPluginType.ItemRenderer.html +0 -1
  364. package/docs/types/AreaMakerPluginType.PluginData.html +0 -2
  365. package/docs/types/AreaMakerPluginType.ServerData.html +0 -2
  366. package/docs/types/ArrayPosition.html +0 -1
  367. package/docs/types/AudioAppearance.html +0 -1
  368. package/docs/types/CSS3DRenderExportType.html +0 -1
  369. package/docs/types/CSS3DRenderPluginExportType.html +0 -1
  370. package/docs/types/CSS3DRenderPluginParameterType.html +0 -1
  371. package/docs/types/ClassFunctionParameters.html +0 -1
  372. package/docs/types/Color.html +0 -1
  373. package/docs/types/ContentTypeConfigKey.html +0 -1
  374. package/docs/types/ContentTypeConfigKeySplit.html +0 -1
  375. package/docs/types/ContentTypeMap.html +0 -1
  376. package/docs/types/Create3DDomContainerReturnType.html +0 -1
  377. package/docs/types/Create3DElementReturnType.html +0 -1
  378. package/docs/types/CruisePluginExportType.html +0 -1
  379. package/docs/types/CruisePluginTypes.CruiseData.html +0 -5
  380. package/docs/types/CruisePluginTypes.MoveEffect.html +0 -1
  381. package/docs/types/CurrentPanoImagePluginExportType.html +0 -1
  382. package/docs/types/DeprecatedMediaPlaneProperty.html +0 -3
  383. package/docs/types/DeprecatedTagProperty.html +0 -3
  384. package/docs/types/Direction-1.html +0 -1
  385. package/docs/types/Direction4.html +0 -1
  386. package/docs/types/ElementRenderer.html +0 -2
  387. package/docs/types/FloorplanGuidePluginParameterType.html +0 -1
  388. package/docs/types/FloorplanGuidePluginReturnType.html +0 -1
  389. package/docs/types/FloorplanRuleLabels.html +0 -2
  390. package/docs/types/FloorplanServerRuleLabels.html +0 -1
  391. package/docs/types/GuideLinePluginExportType.html +0 -1
  392. package/docs/types/GuideLinePluginType.GuideLineItem.html +0 -2
  393. package/docs/types/GuideLinePluginType.GuideLineItemEventMap.html +0 -1
  394. package/docs/types/GuideLinePluginType.GuideLineModeItemMode.html +0 -1
  395. package/docs/types/GuideLinePluginType.GuideLineStyle.html +0 -2
  396. package/docs/types/GuideLinePluginType.ModelGuideLineTag.html +0 -2
  397. package/docs/types/GuideLinePluginType.PathItem.html +0 -2
  398. package/docs/types/GuideLinePluginType.PluginData.html +0 -2
  399. package/docs/types/GuideLinePluginType.RouteConfig.html +0 -4
  400. package/docs/types/HelperEventMap.html +0 -1
  401. package/docs/types/InternalHelperEventMap.html +0 -1
  402. package/docs/types/MapviewFloorplanPluginParameterType.html +0 -1
  403. package/docs/types/MapviewFloorplanPluginReturnType.html +0 -1
  404. package/docs/types/MeasureEndReason.html +0 -1
  405. package/docs/types/MeasurePluginConfig.html +0 -5
  406. package/docs/types/MeasurePluginEventMap.html +0 -1
  407. package/docs/types/MediaData.html +0 -2
  408. package/docs/types/MediaStore.html +0 -1
  409. package/docs/types/ModelEntryDoorGuidePluginParameterType.html +0 -1
  410. package/docs/types/ModelFloorplanPluginParameterType.html +0 -1
  411. package/docs/types/ModelFloorplanPluginReturnType.html +0 -1
  412. package/docs/types/ModelId.html +0 -1
  413. package/docs/types/ModelMakerPluginType.ElementRenderer.html +0 -1
  414. package/docs/types/ModelMakerPluginType.ItemType.html +0 -2
  415. package/docs/types/ModelMakerPluginType.MarkerItem.html +0 -1
  416. package/docs/types/ModelMakerPluginType.ServerItem.html +0 -2
  417. package/docs/types/ModelRoomLabelPluginParameters.html +0 -1
  418. package/docs/types/ModelRoomLabelPluginReturnType.html +0 -1
  419. package/docs/types/MoveArgs.html +0 -2
  420. package/docs/types/MoveOpts.html +0 -2
  421. package/docs/types/Object3DHelperEventMap.html +0 -1
  422. package/docs/types/ObjectFit.html +0 -1
  423. package/docs/types/PaintBrushEventMap.html +0 -1
  424. package/docs/types/PanoCompassPluginData.html +0 -1
  425. package/docs/types/PanoCompassPluginExportType.html +0 -1
  426. package/docs/types/PanoCompassPluginParameterType.html +0 -1
  427. package/docs/types/PanoFloorplanRadarPluginParameterType.html +0 -1
  428. package/docs/types/PanoFloorplanRadarPluginReturnType.html +0 -1
  429. package/docs/types/PanoIndex.html +0 -1
  430. package/docs/types/PanoMeasurePluginEvent.html +0 -1
  431. package/docs/types/PanoMeasureReturnType.html +0 -1
  432. package/docs/types/PanoSpatialTagPluginId.html +0 -1
  433. package/docs/types/PanoTagPluginExportInterface.html +0 -1
  434. package/docs/types/PanoTagPluginParamsInterface.html +0 -1
  435. package/docs/types/PanoVideoPluginParameterType.html +0 -1
  436. package/docs/types/PanoVideoPluginReturnType.html +0 -1
  437. package/docs/types/PickTagContentTypeInContentTypeConfigKey.html +0 -2
  438. package/docs/types/PipelinePluginParameterType.html +0 -1
  439. package/docs/types/PipelinePluginReturnType.html +0 -1
  440. package/docs/types/PlaneTag.html +0 -2
  441. package/docs/types/Point2DTag.html +0 -2
  442. package/docs/types/Point3DTag.html +0 -2
  443. package/docs/types/PointTagInstance.html +0 -1
  444. package/docs/types/Position.html +0 -1
  445. package/docs/types/PositionFrom.html +0 -1
  446. package/docs/types/RotateArgs.html +0 -2
  447. package/docs/types/RotateOpts.html +0 -2
  448. package/docs/types/RuleLabelsKey.html +0 -1
  449. package/docs/types/RuleLabelsValue.html +0 -1
  450. package/docs/types/ScaleCallback.html +0 -1
  451. package/docs/types/ScalePosition.html +0 -3
  452. package/docs/types/SculptData.BoxData.html +0 -1
  453. package/docs/types/SculptData.CircleData.html +0 -1
  454. package/docs/types/SculptData.CylinderData.html +0 -1
  455. package/docs/types/SculptData.PointData.html +0 -1
  456. package/docs/types/SculptData.PolygonData.html +0 -1
  457. package/docs/types/SculptData.PolylineData.html +0 -1
  458. package/docs/types/SculptData.PrismData.html +0 -1
  459. package/docs/types/SculptData.RectangleData.html +0 -1
  460. package/docs/types/SculptType.Theme.html +0 -10
  461. package/docs/types/StickType.html +0 -1
  462. package/docs/types/Tag.html +0 -17
  463. package/docs/types/Tag2D.html +0 -2
  464. package/docs/types/Tag3D.html +0 -2
  465. package/docs/types/TagClickParams.html +0 -1
  466. package/docs/types/TagConfigByKey.html +0 -1
  467. package/docs/types/TagContentType.html +0 -1
  468. package/docs/types/TagContentTypeMapping.html +0 -1
  469. package/docs/types/TagDimensionType.html +0 -1
  470. package/docs/types/TagElement.html +0 -2
  471. package/docs/types/TagEvents.html +0 -1
  472. package/docs/types/TagGLTFObject.html +0 -1
  473. package/docs/types/TagHooks.html +0 -1
  474. package/docs/types/TagId.html +0 -1
  475. package/docs/types/TagInstance.html +0 -1
  476. package/docs/types/TagPlacement.html +0 -5
  477. package/docs/types/TagPointType.html +0 -2
  478. package/docs/types/TagRendererMap.html +0 -1
  479. package/docs/types/TopviewFloorplanPluginParameterType.html +0 -1
  480. package/docs/types/TopviewFloorplanPluginReturnType.html +0 -1
  481. package/docs/types/Util.ActionIfNoIntersection.html +0 -1
  482. package/docs/types/Util.AdherePoint.html +0 -2
  483. package/docs/types/Util.PointSelectorConfig.html +0 -1
  484. package/docs/types/Util.SupportedTarget.html +0 -2
  485. package/docs/types/Util.Target.html +0 -2
  486. package/docs/types/Util.ThreeObject.html +0 -2
  487. package/docs/types/WorkCode.html +0 -1
  488. package/docs/variables/FLOOR_TYPE_MAP.html +0 -2
  489. package/docs/variables/PLUGIN.html +0 -1
  490. package/docs/variables/ROOM_FETILE_TYPE_MAP.html +0 -2
  491. package/docs/variables/ROOM_TYPE_MAP.html +0 -2
  492. package/docs/variables/Util.ANIME_PRESETS.html +0 -2
  493. package/docs/variables/Util.CURRENT_PANO_IMAGE_DEFAULT_IMAGE.html +0 -2
  494. package/docs/variables/Util.DEFAULT_ANIME_CONFIG.html +0 -2
  495. package/docs/variables/Util.DEFAULT_STATIC_PREFIX.html +0 -2
  496. package/docs/variables/Util.DNALOGEL_DEFAULT_ASSETS.html +0 -2
  497. package/docs/variables/Util.ENTRY_DOOR_DEFAULT_IMAGE.html +0 -2
  498. package/docs/variables/Util.FLOORPLAN_DEFAULT_IMAGE.html +0 -2
  499. package/docs/variables/Util.GUIDELINE_DEFAULT_ARROW_TEXTURE.html +0 -2
  500. package/docs/variables/Util.GUIDELINE_WHITE_ARROW_TEXTURE.html +0 -2
  501. package/docs/variables/Util.MODEL_CHASSIS_COMPASS_DEFAULT_MODEL.html +0 -2
  502. package/docs/variables/Util.MODEL_ENTRY_DOOR_GUIDE_PLUGIN_DEFAULT_MODEL.html +0 -2
  503. package/docs/variables/Util.PANO_COMPASS_DEFAULT_IMAGE.html +0 -2
  504. package/docs/variables/Util.PANO_SPATIAL_TAG_BLUR_IMAGE.html +0 -2
  505. package/docs/variables/Util.PANO_TAG_DEFAULT_LINK_ICON.html +0 -2
  506. package/docs/variables/defaultGlobalConfig.html +0 -1
  507. package/docs/variables/itemLabelPluginServerParams.html +0 -1
  508. package/docs/variables/modelItemLabelPluginServerParams.html +0 -1
  509. package/docs/variables/modelRoomLabelPluginServerParams.html +0 -1
@@ -1,6 +1,6 @@
1
1
  import type { Five } from '@realsee/five';
2
2
  import { PointSelectorHelper, type PointIntersection, type PointSelectorHelperConfig } from './utils/PointSelectorHelper';
3
- import type { Intersection, Vector3 } from 'three';
3
+ import type { Vector3 } from 'three';
4
4
  import * as THREE from 'three';
5
5
  import { Subscribe } from '../../Subscribe';
6
6
  import type { LiteralString } from '../../../typings/utils.type';
@@ -39,10 +39,6 @@ interface Config {
39
39
  * @default false
40
40
  */
41
41
  skipPanorama: boolean;
42
- /**
43
- * five 6.7.0 特性,可配置是否自定义拾取点过滤函数
44
- */
45
- hitFilter: (intersect: Intersection) => boolean;
46
42
  }
47
43
  export type PointSelectorConfig = Partial<Config>;
48
44
  type EventMap = {
@@ -1,48 +1,52 @@
1
- function a(n, t) {
2
- const s = Array.isArray(t) ? t : [t];
3
- for (let u = 0; u < s.length; u++) {
4
- const r = n.start, e = n.end, c = s[u].start, o = s[u].end;
5
- if (!(f(r, c) || f(r, o) || f(e, c) || f(e, o) || f(r, e)) && d([r.x, r.y, r.z], [e.x, e.y, e.z], [c.x, c.y, c.z], [o.x, o.y, o.z]))
1
+ function m(n, s) {
2
+ const o = Array.isArray(s) ? s : [s];
3
+ for (let u = 0; u < o.length; u++) {
4
+ const t = n.start, c = n.end, r = o[u].start, e = o[u].end;
5
+ if (!(f(t, r) || f(t, e) || f(c, r) || f(c, e) || f(t, c)) && M([t.x, t.y, t.z], [c.x, c.y, c.z], [r.x, r.y, r.z], [e.x, e.y, e.z]))
6
6
  return !0;
7
7
  }
8
8
  return !1;
9
9
  }
10
- function d(n, t, s, u) {
11
- const r = [t[0] - n[0], t[1] - n[1], t[2] - n[2]], e = [u[0] - s[0], u[1] - s[1], u[2] - s[2]], c = [
12
- [r[0], -e[0]],
13
- [r[1], -e[1]],
14
- [r[2], -e[2]]
15
- ], o = [s[0] - n[0], s[1] - n[1], s[2] - n[2]], i = g(c, o);
16
- if (i === null)
17
- return !1;
18
- const [x, z] = i;
19
- return !!(y(x) && y(z));
20
- }
21
- function g(n, t) {
22
- if (q(n) === 0)
23
- return null;
24
- const u = I(n);
25
- return V(u, t);
10
+ function M(n, s, o, u) {
11
+ const t = [s[0] - n[0], s[1] - n[1], s[2] - n[2]], c = [u[0] - o[0], u[1] - o[1], u[2] - o[2]], r = [
12
+ { a: [t[0], -c[0]], b: o[0] - n[0] },
13
+ { a: [t[1], -c[1]], b: o[1] - n[1] },
14
+ { a: [t[2], -c[2]], b: o[2] - n[2] }
15
+ ], e = [
16
+ [0, 1],
17
+ // X 和 Y
18
+ [0, 2],
19
+ // X Z
20
+ [1, 2]
21
+ // Y Z
22
+ ];
23
+ for (const [i, y] of e) {
24
+ const b = [r[i].a, r[y].a], z = [r[i].b, r[y].b], a = V(b);
25
+ if (Math.abs(a) < 1e-10)
26
+ continue;
27
+ const g = h(b, a), [q, I] = j(g, z);
28
+ return !!(x(q) && x(I));
29
+ }
30
+ return !1;
26
31
  }
27
- function q(n) {
32
+ function V(n) {
28
33
  return n[0][0] * n[1][1] - n[0][1] * n[1][0];
29
34
  }
30
- function I(n) {
31
- const t = n[0][0] * n[1][1] - n[0][1] * n[1][0];
35
+ function h(n, s) {
32
36
  return [
33
- [n[1][1] / t, -n[0][1] / t],
34
- [-n[1][0] / t, n[0][0] / t]
37
+ [n[1][1] / s, -n[0][1] / s],
38
+ [-n[1][0] / s, n[0][0] / s]
35
39
  ];
36
40
  }
37
- function V(n, t) {
38
- return [n[0][0] * t[0] + n[0][1] * t[1], n[1][0] * t[0] + n[1][1] * t[1]];
41
+ function j(n, s) {
42
+ return [n[0][0] * s[0] + n[0][1] * s[1], n[1][0] * s[0] + n[1][1] * s[1]];
39
43
  }
40
- function y(n) {
44
+ function x(n) {
41
45
  return n >= 0 && n <= 1;
42
46
  }
43
- function f(n, t) {
44
- return n.x === t.x && n.y === t.y && n.z === t.z;
47
+ function f(n, s) {
48
+ return n.x === s.x && n.y === s.y && n.z === s.z;
45
49
  }
46
50
  export {
47
- a as isIntersecting
51
+ m as isIntersecting
48
52
  };
@@ -14,11 +14,24 @@ export type PolygonCreateConfig = Partial<PolygonStyle & CreateLimitConfig & Pol
14
14
  onPointPlaced?: (points: THREE.Vector3[]) => void;
15
15
  onUndo?: () => void;
16
16
  onRedo?: () => void;
17
+ /**
18
+ * @description 检测到自相交时的回调
19
+ * @param point 尝试添加但被拒绝的点坐标
20
+ */
21
+ __onSelfIntersect?: (point: THREE.Vector3) => void;
22
+ /**
23
+ * @description 将要添加的下一个点
24
+ */
25
+ __onWillAddPoint?: (point: THREE.Vector3, points: THREE.Vector3[]) => void;
17
26
  /**
18
27
  * @description 检测是否自相交,如果自交,禁止添加下一个点
19
28
  * @default false
20
29
  */
21
30
  experimental_self_intersect_check?: boolean;
31
+ /**
32
+ * 最多允许能添加的点数
33
+ */
34
+ experimental_max_point_count?: number;
22
35
  };
23
36
  export declare class Polygon extends BaseObject<PolygonImportData> {
24
37
  readonly type = "Polygon";
@@ -1,34 +1,34 @@
1
- var pt = Object.defineProperty, Pt = Object.defineProperties;
1
+ var ct = Object.defineProperty, Pt = Object.defineProperties;
2
2
  var yt = Object.getOwnPropertyDescriptors;
3
3
  var it = Object.getOwnPropertySymbols;
4
- var mt = Object.prototype.hasOwnProperty, ft = Object.prototype.propertyIsEnumerable;
5
- var M = Math.pow, A = (e, s, t) => s in e ? pt(e, s, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[s] = t, H = (e, s) => {
4
+ var mt = Object.prototype.hasOwnProperty, xt = Object.prototype.propertyIsEnumerable;
5
+ var _ = Math.pow, T = (e, s, t) => s in e ? ct(e, s, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[s] = t, H = (e, s) => {
6
6
  for (var t in s || (s = {}))
7
- mt.call(s, t) && A(e, t, s[t]);
7
+ mt.call(s, t) && T(e, t, s[t]);
8
8
  if (it)
9
9
  for (var t of it(s))
10
- ft.call(s, t) && A(e, t, s[t]);
10
+ xt.call(s, t) && T(e, t, s[t]);
11
11
  return e;
12
- }, I = (e, s) => Pt(e, yt(s));
13
- var C = (e, s, t) => (A(e, typeof s != "symbol" ? s + "" : s, t), t);
14
- var ot = (e, s, t) => new Promise((o, r) => {
15
- var f = (u) => {
12
+ }, R = (e, s) => Pt(e, yt(s));
13
+ var C = (e, s, t) => (T(e, typeof s != "symbol" ? s + "" : s, t), t);
14
+ var ot = (e, s, t) => new Promise((n, r) => {
15
+ var x = (c) => {
16
16
  try {
17
- w(t.next(u));
18
- } catch (h) {
19
- r(h);
17
+ w(t.next(c));
18
+ } catch (u) {
19
+ r(u);
20
20
  }
21
- }, a = (u) => {
21
+ }, a = (c) => {
22
22
  try {
23
- w(t.throw(u));
24
- } catch (h) {
25
- r(h);
23
+ w(t.throw(c));
24
+ } catch (u) {
25
+ r(u);
26
26
  }
27
- }, w = (u) => u.done ? o(u.value) : Promise.resolve(u.value).then(f, a);
27
+ }, w = (c) => c.done ? n(c.value) : Promise.resolve(c.value).then(x, a);
28
28
  w((t = t.apply(e, s)).next());
29
29
  });
30
- import { BaseObject as xt } from "../Base/index.js";
31
- import * as v from "three";
30
+ import { BaseObject as ft } from "../Base/index.js";
31
+ import * as j from "three";
32
32
  import { PolylineMesh as nt } from "../../Meshes/Polyline.js";
33
33
  import { AreaMesh as rt } from "../../Meshes/Area.js";
34
34
  import { PolygonEditor as bt } from "./Editor.js";
@@ -36,10 +36,10 @@ import { vector3ToArray as Ct } from "../../../shared-utils/three/vector3ToArray
36
36
  import { withResolvers as wt } from "../../../shared-utils/promise/withResolvers.js";
37
37
  import { anyPositionToVector3 as Dt } from "../../../shared-utils/positionToVector3.js";
38
38
  import { PointMesh as Ht } from "../../Meshes/Point.js";
39
- class Rt extends xt {
40
- constructor(t, o) {
39
+ class Wt extends ft {
40
+ constructor(t, n) {
41
41
  var r;
42
- super(t, o);
42
+ super(t, n);
43
43
  C(this, "type", "Polygon");
44
44
  C(this, "areaMesh");
45
45
  // 新增:Polygon 专属的历史记录
@@ -54,12 +54,12 @@ class Rt extends xt {
54
54
  return this._editor || (this._editor = new bt(this)), this._editor;
55
55
  }
56
56
  updateCreationPointMeshes() {
57
- var o, r;
58
- const t = (r = (o = this.areaMesh) == null ? void 0 : o.userData) == null ? void 0 : r.syncCreationPointMeshes;
57
+ var n, r;
58
+ const t = (r = (n = this.areaMesh) == null ? void 0 : n.userData) == null ? void 0 : r.syncCreationPointMeshes;
59
59
  typeof t == "function" && t(), this._editor && this._editor.updatePointMeshes();
60
60
  }
61
61
  get data() {
62
- return this.updateMatrixWorld(), I(H({}, this.baseData), {
62
+ return this.updateMatrixWorld(), R(H({}, this.baseData), {
63
63
  points: Ct(this.applyObjectMatrixWorld(this.areaMesh.points)),
64
64
  style: {
65
65
  color: this.areaMesh.color.getHex(),
@@ -80,17 +80,17 @@ class Rt extends xt {
80
80
  (t = this.areaMesh) == null || t.unhighlight();
81
81
  }
82
82
  canUndo() {
83
- var o, r, f;
84
- return this.creatingObject ? (f = (r = (o = this.creatingObject) == null ? void 0 : o.canUndo) == null ? void 0 : r.call(o)) != null ? f : !1 : this.currentHistoryIndex > 0;
83
+ var n, r, x;
84
+ return this.creatingObject ? (x = (r = (n = this.creatingObject) == null ? void 0 : n.canUndo) == null ? void 0 : r.call(n)) != null ? x : !1 : this.currentHistoryIndex > 0;
85
85
  }
86
86
  canRedo() {
87
- var t, o, r;
88
- return this.creatingObject ? (r = (o = (t = this.creatingObject) == null ? void 0 : t.canRedo) == null ? void 0 : o.call(t)) != null ? r : !1 : this.currentHistoryIndex < this.historyStack.length - 1;
87
+ var t, n, r;
88
+ return this.creatingObject ? (r = (n = (t = this.creatingObject) == null ? void 0 : t.canRedo) == null ? void 0 : n.call(t)) != null ? r : !1 : this.currentHistoryIndex < this.historyStack.length - 1;
89
89
  }
90
90
  undo() {
91
- var t, o;
91
+ var t, n;
92
92
  if (this.creatingObject)
93
- return (o = (t = this.creatingObject) == null ? void 0 : t.undo) == null ? void 0 : o.call(t);
93
+ return (n = (t = this.creatingObject) == null ? void 0 : t.undo) == null ? void 0 : n.call(t);
94
94
  if (this.canUndo()) {
95
95
  this.currentHistoryIndex--;
96
96
  const r = this.historyStack[this.currentHistoryIndex];
@@ -99,9 +99,9 @@ class Rt extends xt {
99
99
  console.log("[Polygon] undo: 无法撤销", { uuid: this.uuid });
100
100
  }
101
101
  redo() {
102
- var t, o;
102
+ var t, n;
103
103
  if (this.creatingObject)
104
- return (o = (t = this.creatingObject) == null ? void 0 : t.redo) == null ? void 0 : o.call(t);
104
+ return (n = (t = this.creatingObject) == null ? void 0 : t.redo) == null ? void 0 : n.call(t);
105
105
  if (this.canRedo()) {
106
106
  this.currentHistoryIndex++;
107
107
  const r = this.historyStack[this.currentHistoryIndex];
@@ -116,7 +116,7 @@ class Rt extends xt {
116
116
  return;
117
117
  this.historyStack = this.historyStack.slice(0, this.currentHistoryIndex + 1);
118
118
  const t = {
119
- points: this.areaMesh.points.map((o) => o.clone())
119
+ points: this.areaMesh.points.map((n) => n.clone())
120
120
  };
121
121
  this.historyStack.push(t), this.historyStack.length > this.maxHistorySize ? this.historyStack.shift() : this.currentHistoryIndex++;
122
122
  }
@@ -124,127 +124,130 @@ class Rt extends xt {
124
124
  * 恢复快照
125
125
  */
126
126
  restoreSnapshot(t) {
127
- this.areaMesh.setPoints(t.points.map((o) => o.clone())), this.updateCreationPointMeshes(), this._editor && this._editor.updatePointMeshes();
127
+ this.areaMesh.setPoints(t.points.map((n) => n.clone())), this.updateCreationPointMeshes(), this._editor && this._editor.updatePointMeshes();
128
128
  }
129
129
  create(t) {
130
130
  return ot(this, null, function* () {
131
131
  var r;
132
- this.children.forEach((f) => {
133
- f.parent === this && this.remove(f);
132
+ this.children.forEach((x) => {
133
+ x.parent === this && this.remove(x);
134
134
  }), this.children.length = 0;
135
- const o = new rt(t);
136
- this.areaMesh = o, this.add(this.areaMesh), this.creatingObject = vt(this.areaMesh, this.pointSelector, t), yield (r = this.creatingObject) == null ? void 0 : r.finished, this.creatingObject = null, this.recordHistory(), this.updateCreationPointMeshes(), this.config.defaultAction && this.editor.enable();
135
+ const n = new rt(t);
136
+ this.areaMesh = n, this.add(this.areaMesh), this.creatingObject = jt(this.areaMesh, this.pointSelector, t), yield (r = this.creatingObject) == null ? void 0 : r.finished, this.creatingObject = null, this.recordHistory(), this.updateCreationPointMeshes(), this.config.defaultAction && this.editor.enable();
137
137
  });
138
138
  }
139
139
  }
140
- function vt(e, s, t) {
141
- var L, N, $, G, J, K, Q, X, Z;
142
- const { promise: o, resolve: r, reject: f } = wt(), a = e.parent;
140
+ function jt(e, s, t) {
141
+ var N, $, G, J, K, Q, X, Z, g;
142
+ const { promise: n, resolve: r, reject: x } = wt(), a = e.parent;
143
143
  if (!a) {
144
- f(new Error("No container"));
144
+ x(new Error("No container"));
145
145
  return;
146
146
  }
147
- const w = (L = t == null ? void 0 : t.limit) != null ? L : "none", u = t == null ? void 0 : t.simpleMode, h = (K = (J = ($ = e.five) != null ? $ : (N = e.get) == null ? void 0 : N.call(e, "five")) != null ? J : (G = window.globalModules) == null ? void 0 : G.five) != null ? K : window.$five, T = (Q = t == null ? void 0 : t.autoClosePixelDistance) != null ? Q : 10;
148
- e.userData = (X = e.userData) != null ? X : {}, e.userData.dragSelectPixelDistance = T;
149
- let E = 0;
150
- u && h && h.model && h.model.bounding && typeof ((Z = h.model.bounding.max) == null ? void 0 : Z.y) == "number" && (E = h.model.bounding.max.y + 1);
147
+ const w = (N = t == null ? void 0 : t.limit) != null ? N : "none", c = t == null ? void 0 : t.simpleMode, u = (Q = (K = (G = e.five) != null ? G : ($ = e.get) == null ? void 0 : $.call(e, "five")) != null ? K : (J = window.globalModules) == null ? void 0 : J.five) != null ? Q : window.$five, V = (X = t == null ? void 0 : t.autoClosePixelDistance) != null ? X : 10;
148
+ e.userData = (Z = e.userData) != null ? Z : {}, e.userData.dragSelectPixelDistance = V;
149
+ let M = 0;
150
+ c && u && u.model && u.model.bounding && typeof ((g = u.model.bounding.max) == null ? void 0 : g.y) == "number" && (M = u.model.bounding.max.y + 1);
151
151
  const P = new nt(e.style);
152
152
  a == null || a.add(P);
153
- const y = new nt(I(H({}, e.style), { dashed: !0, lengthEnable: !1 }));
153
+ const y = new nt(R(H({}, e.style), { dashed: !0, lengthEnable: !1 }));
154
154
  a == null || a.add(y);
155
- let j = [];
156
- const lt = (i = n) => {
157
- j.forEach((d, c) => {
158
- const p = i[c];
159
- p && d.position.copy(p);
155
+ let v = [];
156
+ const lt = (i = o) => {
157
+ v.forEach((d, p) => {
158
+ const h = i[p];
159
+ h && d.position.copy(h);
160
160
  });
161
161
  };
162
162
  function D() {
163
- var d, c;
164
- j.forEach((p) => {
165
- var b;
166
- return (b = p.parent) == null ? void 0 : b.remove(p);
163
+ var d, p;
164
+ v.forEach((h) => {
165
+ var f;
166
+ return (f = h.parent) == null ? void 0 : f.remove(h);
167
167
  });
168
- const i = (c = (d = e.line) == null ? void 0 : d.style) != null ? c : e.style;
169
- j = n.map((p, b) => {
168
+ const i = (p = (d = e.line) == null ? void 0 : d.style) != null ? p : e.style;
169
+ v = o.map((h, f) => {
170
170
  var S, k;
171
- const x = new Ht(I(H({}, i), {
171
+ const b = new Ht(R(H({}, i), {
172
172
  color: (S = i.pointColor) != null ? S : i.lineColor,
173
173
  tip: void 0,
174
- point: p
174
+ point: h
175
175
  }));
176
- return x.name = `PolygonPointMesh_${b}`, x.userData = (k = x.userData) != null ? k : {}, x.userData.dragSelectPixelDistance = T, a == null || a.add(x), x;
176
+ return b.name = `PolygonPointMesh_${f}`, b.userData = (k = b.userData) != null ? k : {}, b.userData.dragSelectPixelDistance = V, a == null || a.add(b), b;
177
177
  }), lt();
178
178
  }
179
- function V() {
180
- j.forEach((i) => {
179
+ function Y() {
180
+ v.forEach((i) => {
181
181
  var d;
182
182
  return (d = i.parent) == null ? void 0 : d.remove(i);
183
- }), j = [], e.userData && (delete e.userData.creationPointMeshes, delete e.userData.syncCreationPointMeshes, delete e.userData.disposeCreationPointMeshes);
183
+ }), v = [], e.userData && (delete e.userData.creationPointMeshes, delete e.userData.syncCreationPointMeshes, delete e.userData.disposeCreationPointMeshes);
184
184
  }
185
- s.enable(), u && s.setAdherePoints([]);
186
- const n = [];
187
- let l, m, R = !1, U;
188
- const O = [], Y = () => n.length > 0, z = () => O.length > 0, at = () => {
185
+ s.enable(), c && s.setAdherePoints([]);
186
+ const o = [];
187
+ let l, m, W = !1, U;
188
+ const E = [], z = () => o.length > 0, B = () => E.length > 0, at = () => {
189
189
  var i;
190
- Y() && (O.push(n.pop()), g(U), D(), (i = t == null ? void 0 : t.onUndo) == null || i.call(t), s.pointSelectorHelper && s.pointSelectorHelper.magnifier && s.pointSelectorHelper.magnifier.render());
190
+ z() && (E.push(o.pop()), O(U), D(), (i = t == null ? void 0 : t.onUndo) == null || i.call(t), s.pointSelectorHelper && s.pointSelectorHelper.magnifier && s.pointSelectorHelper.magnifier.render());
191
191
  }, ht = () => {
192
192
  var i;
193
- z() && (n.push(O.pop()), g(U), D(), (i = t == null ? void 0 : t.onRedo) == null || i.call(t), s.pointSelectorHelper && s.pointSelectorHelper.magnifier && s.pointSelectorHelper.magnifier.render());
194
- }, B = (i) => {
195
- var c;
196
- O.length = 0;
197
- let d = n.length === 0 ? i.point : l.clone();
198
- if (u && (d = d.clone().setY(E)), n.push(d), e.setPoints(n, { closed: !1 }), t != null && t.experimental_self_intersect_check && n.length > 2 && e.isBlank) {
199
- n.pop(), e.setPoints(n, { closed: !1 }), D(), console.warn("[Polygon] 检测到自相交,无法添加该点");
200
- return;
193
+ B() && (o.push(E.pop()), O(U), D(), (i = t == null ? void 0 : t.onRedo) == null || i.call(t), s.pointSelectorHelper && s.pointSelectorHelper.magnifier && s.pointSelectorHelper.magnifier.render());
194
+ }, q = (i) => {
195
+ var p, h;
196
+ E.length = 0;
197
+ let d = o.length === 0 ? i.point : l.clone();
198
+ if (c && (d = d.clone().setY(M)), t.__onWillAddPoint(d, o), !((t == null ? void 0 : t.experimental_max_point_count) != null && o.length === t.experimental_max_point_count)) {
199
+ if (o.push(d), e.setPoints(o, { closed: !1 }), t != null && t.experimental_self_intersect_check && o.length > 2 && e.isBlank) {
200
+ const f = o.pop();
201
+ e.setPoints(o, { closed: !1 }), D(), console.warn("[Polygon] 检测到自相交,无法添加该点"), (p = t == null ? void 0 : t.__onSelfIntersect) == null || p.call(t, f);
202
+ return;
203
+ }
204
+ D(), (h = t == null ? void 0 : t.onPointPlaced) == null || h.call(t, o), W && (F(), r());
201
205
  }
202
- D(), (c = t == null ? void 0 : t.onPointPlaced) == null || c.call(t, n), R && (q(), r());
203
- }, g = (i) => {
206
+ }, O = (i) => {
204
207
  const d = () => {
205
- P.setPoints([]), y.setPoints([]), e.setPoints(n), s.pointSelectorHelper && s.pointSelectorHelper.magnifier && s.pointSelectorHelper.magnifier.render();
208
+ P.setPoints([]), y.setPoints([]), e.setPoints(o), s.pointSelectorHelper && s.pointSelectorHelper.magnifier && s.pointSelectorHelper.magnifier.render();
206
209
  };
207
210
  if (!i) {
208
211
  d(), D();
209
212
  return;
210
213
  }
211
- if (U = i, !(n != null && n.length))
214
+ if (U = i, !(o != null && o.length))
212
215
  return d();
213
- const c = n.at(-1).clone();
214
- if (n.length < 3 && (u ? (l = i.point.clone().setY(E), P.setPoints([c, l]), y.setPoints([])) : w === "none" ? (l = i.point, P.setPoints([c, l]), y.setPoints([])) : w === "xoz" ? (m = m != null ? m : new v.Plane().setFromNormalAndCoplanarPoint(new v.Vector3(0, 1, 0), n[0]), s.plane = m, l = m.projectPoint(i.point, new v.Vector3()), P.setPoints([c, l]), y.setPoints([l, i.point])) : w === "y" && (n.length === 1 ? (l = i.point, P.setPoints([c, l]), y.setPoints([])) : (m = m != null ? m : new v.Plane().setFromCoplanarPoints(n[0], n[1], new v.Vector3(0, 1, 0).add(n[0])), s.plane = m, l = m.projectPoint(i.point, new v.Vector3()), P.setPoints([c, l]), y.setPoints([l, i.point])))), n.length >= 3) {
215
- u ? l = i.point.clone().setY(E) : l = e.projectPoint(i.point);
216
- const p = n[0];
217
- let b = !1;
216
+ const p = o.at(-1).clone();
217
+ if (o.length < 3 && (c ? (l = i.point.clone().setY(M), P.setPoints([p, l]), y.setPoints([])) : w === "none" ? (l = i.point, P.setPoints([p, l]), y.setPoints([])) : w === "xoz" ? (m = m != null ? m : new j.Plane().setFromNormalAndCoplanarPoint(new j.Vector3(0, 1, 0), o[0]), s.plane = m, l = m.projectPoint(i.point, new j.Vector3()), P.setPoints([p, l]), y.setPoints([l, i.point])) : w === "y" && (o.length === 1 ? (l = i.point, P.setPoints([p, l]), y.setPoints([])) : (m = m != null ? m : new j.Plane().setFromCoplanarPoints(o[0], o[1], new j.Vector3(0, 1, 0).add(o[0])), s.plane = m, l = m.projectPoint(i.point, new j.Vector3()), P.setPoints([p, l]), y.setPoints([l, i.point])))), o.length >= 3) {
218
+ c ? l = i.point.clone().setY(M) : l = e.projectPoint(i.point);
219
+ const h = o[0];
220
+ let f = !1;
218
221
  if (typeof (t == null ? void 0 : t.autoClosePixelDistance) == "number") {
219
- if (h && h.camera && h.getElement) {
220
- const x = h.getElement(), S = x.clientWidth, k = x.clientHeight, W = (ut) => {
221
- const st = ut.clone().project(h.camera);
222
+ if (u && u.camera && u.getElement) {
223
+ const b = u.getElement(), S = b.clientWidth, k = b.clientHeight, A = (pt) => {
224
+ const st = pt.clone().project(u.camera);
222
225
  return {
223
226
  x: (st.x * 0.5 + 0.5) * S,
224
227
  y: (1 - (st.y * 0.5 + 0.5)) * k
225
228
  };
226
- }, _ = W(p), tt = W(l), et = W(i.point), dt = Math.sqrt(M(_.x - tt.x, 2) + M(_.y - tt.y, 2)), ct = Math.sqrt(M(_.x - et.x, 2) + M(_.y - et.y, 2));
227
- (dt < t.autoClosePixelDistance || ct < t.autoClosePixelDistance) && (b = !0);
229
+ }, I = A(h), tt = A(l), et = A(i.point), dt = Math.sqrt(_(I.x - tt.x, 2) + _(I.y - tt.y, 2)), ut = Math.sqrt(_(I.x - et.x, 2) + _(I.y - et.y, 2));
230
+ (dt < t.autoClosePixelDistance || ut < t.autoClosePixelDistance) && (f = !0);
228
231
  }
229
232
  } else
230
- (p.distanceTo(l) < 0.2 || p.distanceTo(i.point) < 0.2) && (b = !0);
231
- b ? (l = p, i.point.copy(p), s.pointSelectorHelper.updateWithIntersect(i, { emitEvent: !1 }), R = !0) : R = !1, P.setPoints([c, l]), y.setPoints([l, i.point]);
233
+ (h.distanceTo(l) < 0.2 || h.distanceTo(i.point) < 0.2) && (f = !0);
234
+ f ? (l = h, i.point.copy(h), s.pointSelectorHelper.updateWithIntersect(i, { emitEvent: !1 }), W = !0) : W = !1, P.setPoints([p, l]), y.setPoints([l, i.point]);
232
235
  }
233
- n.length >= 2 ? (e.setPoints([...n, l], { closed: !1 }), e.line.setPoints(e.points.slice(0, -1)), e.isBlank ? (s.cursorError = !0, P.setStyle({ lineColor: 16734553 }), y.setStyle({ lineColor: 16734553 })) : (s.cursorError = !1, P.setStyle({ lineColor: e.lineColor }), y.setStyle({ lineColor: e.lineColor }))) : e.setPoints([]), D();
234
- }, q = () => {
235
- s.off("select", B), s.off("intersectionUpdate", g), s.off("disable", F), s.plane = null, s.disable(), a == null || a.remove(P, y), V();
236
+ o.length >= 2 ? (e.setPoints([...o, l], { closed: !1 }), e.line.setPoints(e.points.slice(0, -1)), e.isBlank ? (s.cursorError = !0, P.setStyle({ lineColor: 16734553 }), y.setStyle({ lineColor: 16734553 })) : (s.cursorError = !1, P.setStyle({ lineColor: e.lineColor }), y.setStyle({ lineColor: e.lineColor }))) : e.setPoints([]), D();
236
237
  }, F = () => {
237
- q(), a == null || a.remove(e, y, P), V(), f(new Error("Cancelled"));
238
+ s.off("select", q), s.off("intersectionUpdate", O), s.off("disable", L), s.plane = null, s.disable(), a == null || a.remove(P, y), Y();
239
+ }, L = () => {
240
+ F(), a == null || a.remove(e, y, P), Y(), x(new Error("Cancelled"));
238
241
  };
239
- return s.on("select", B), s.on("intersectionUpdate", g), s.on("disable", F), {
240
- finished: o,
241
- canUndo: Y,
242
- canRedo: z,
242
+ return s.on("select", q), s.on("intersectionUpdate", O), s.on("disable", L), {
243
+ finished: n,
244
+ canUndo: z,
245
+ canRedo: B,
243
246
  undo: at,
244
247
  redo: ht
245
248
  };
246
249
  }
247
250
  export {
248
- Rt as Polygon,
249
- vt as createPolygon
251
+ Wt as Polygon,
252
+ jt as createPolygon
250
253
  };
@@ -13,6 +13,24 @@ export type PrismCreateConfig = Partial<PrismStyle & CreateLimitConfig & Polygon
13
13
  onPointPlaced?: (points: THREE.Vector3[]) => void;
14
14
  onUndo?: () => void;
15
15
  onRedo?: () => void;
16
+ /**
17
+ * @description 检测到自相交时的回调
18
+ * @param point 尝试添加但被拒绝的点坐标
19
+ */
20
+ __onSelfIntersect?: (point: THREE.Vector3) => void;
21
+ /**
22
+ * @description 将要添加的下一个点
23
+ */
24
+ __onWillAddPoint?: (point: THREE.Vector3, points: THREE.Vector3[]) => void;
25
+ /**
26
+ * @description 检测是否自相交,如果自交,禁止添加下一个点
27
+ * @default false
28
+ */
29
+ experimental_self_intersect_check?: boolean;
30
+ /**
31
+ * 最多允许能添加的点数
32
+ */
33
+ experimental_max_point_count?: number;
16
34
  };
17
35
  export declare class Prism extends BaseObject<PrismImportData> {
18
36
  readonly type = "Prism";
@@ -32,7 +32,7 @@ export interface SculptConfig {
32
32
  /**
33
33
  * @description 放大镜配置
34
34
  * 设置为 null 或 false 可禁用放大镜功能
35
- * @default *{ width: 190, height: 190, scale: 2, dragEnabled: true }*
35
+ * @default { width: 190, height: 190, scale: 2, dragEnabled: true }
36
36
  */
37
37
  magnifier?: MagnifierParameter | null | false;
38
38
  /**
@@ -41,11 +41,6 @@ export interface SculptConfig {
41
41
  * @default false
42
42
  */
43
43
  hideCursorCircle?: boolean;
44
- /**
45
- * @description 是否自定义拾取点过滤函数
46
- * @default false
47
- */
48
- hitFilter?: () => boolean;
49
44
  }
50
45
  interface Data {
51
46
  items: Array<BuiltInData>;
@@ -58,6 +53,32 @@ type Event = {
58
53
  * 返回 false 来禁用 Five 默认行为
59
54
  */
60
55
  click: (e: MouseEvent, item: BuiltInItem) => void | false;
56
+ /**
57
+ * @description 当 Polygon 创建时检测到自相交时触发(需开启 experimental_self_intersect_check)
58
+ * @param item Polygon 实例
59
+ * @param point 尝试添加但被拒绝的点坐标
60
+ */
61
+ 'polygon.experimental_self_intersect': (item: Polygon, point: THREE.Vector3) => void;
62
+ /**
63
+ * @description polygon 将要添加到下一个点
64
+ * @param item Polygon 实例
65
+ * @param point polygon 将要添加到下一个点到坐标
66
+ * @param points 当前已经绘制的点坐标(不包括即将添加的点)
67
+ */
68
+ 'polygon.experimental_point_will_add': (item: Polygon, point: THREE.Vector3, points: THREE.Vector3[]) => void;
69
+ /**
70
+ * @description prism 将要添加到下一个点
71
+ * @param item Prism 实例
72
+ * @param point prism 将要添加到下一个点到坐标
73
+ * @param points 当前已经绘制的点坐标(不包括即将添加的点)
74
+ */
75
+ 'prism.experimental_point_will_add': (item: Prism, point: THREE.Vector3, points: THREE.Vector3[]) => void;
76
+ /**
77
+ * @description prism 检测到自相交时的回调
78
+ * @param item Prism 实例
79
+ * @param point 尝试添加但被拒绝的点坐标
80
+ */
81
+ 'prism.experimental_self_intersect': (item: Prism, point: THREE.Vector3) => void;
61
82
  };
62
83
  export declare class Sculpt extends Subscribe<Event> {
63
84
  static modules: {