@realsee/dnalogel 2.20.5 → 2.21.0-dev.2
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.
- package/dist/GuideLinePlugin/Controller.d.ts +3 -5
- package/dist/GuideLinePlugin/GuideLineItem.d.ts +1 -1
- package/dist/GuideLinePlugin/GuideLineModeItem.d.ts +0 -17
- package/dist/GuideLinePlugin/utils/createLineGeometry.d.ts +0 -7
- package/dist/PanoMeasurePlugin/Components/Common/CircleButton.svelte.d.ts +1 -0
- package/dist/PanoMeasurePlugin/Components/Common/Exit.svelte.d.ts +1 -0
- package/dist/PanoMeasurePlugin/Components/Common/Switcher0.svelte.d.ts +1 -0
- package/dist/PanoMeasurePlugin/Components/Common/Switcher1.svelte.d.ts +1 -0
- package/dist/PanoMeasurePlugin/Components/Controller0.svelte.d.ts +1 -0
- package/dist/PanoMeasurePlugin/Components/Controller1.svelte.d.ts +1 -0
- package/dist/PanoMeasurePlugin/Controller/BaseController.d.ts +12 -4
- package/dist/PanoMeasurePlugin/Controller/EditController.d.ts +13 -5
- package/dist/PanoMeasurePlugin/Controller/WatchController.d.ts +9 -2
- package/dist/PanoMeasurePlugin/Controller/index.d.ts +22 -9
- package/dist/PanoMeasurePlugin/Model/area.d.ts +62 -0
- package/dist/PanoMeasurePlugin/Model/index.d.ts +9 -0
- package/dist/PanoMeasurePlugin/Model/line.d.ts +4 -1
- package/dist/PanoMeasurePlugin/Model/polygon.d.ts +10 -0
- package/dist/PanoMeasurePlugin/Model/polyline.d.ts +4 -0
- package/dist/PanoMeasurePlugin/Modules/DeleteDom/index.d.ts +1 -1
- package/dist/PanoMeasurePlugin/Modules/FiveHelper.d.ts +2 -1
- package/dist/PanoMeasurePlugin/Modules/GuideController.d.ts +1 -1
- package/dist/PanoMeasurePlugin/Modules/Magnifier.d.ts +1 -1
- package/dist/PanoMeasurePlugin/Modules/UIController/index.d.ts +5 -3
- package/dist/PanoMeasurePlugin/Modules/rangePiece/index.d.ts +1 -1
- package/dist/PanoMeasurePlugin/typings/data.d.ts +23 -0
- package/dist/PanoMeasurePlugin/typings/event.type.d.ts +10 -3
- package/dist/PanoMeasurePlugin/typings/index.d.ts +1 -1
- package/dist/PanoMeasurePlugin/utils/dom/areaDom.d.ts +22 -0
- package/dist/PanoMeasurePlugin/utils/dom/base.d.ts +25 -0
- package/dist/PanoMeasurePlugin/utils/dom/distanceItem.d.ts +27 -0
- package/dist/PanoMeasurePlugin/utils/generatePolygonGeometry.d.ts +6 -0
- package/dist/PanoMeasurePlugin/utils/geometryUtil.d.ts +7 -0
- package/dist/PanoMeasurePlugin/utils/getIntersectionFromEvent.d.ts +1 -1
- package/dist/PanoMeasurePlugin/utils/isIntersecting.d.ts +15 -0
- package/dist/PanoMeasurePlugin/utils/line.d.ts +2 -1
- package/dist/index.cjs.js +64 -64
- package/dist/index.js +9427 -8244
- package/dist/index.umd.js +57 -57
- package/dist/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -7
- package/dist/shared-utils/isTouchDevice.d.ts +1 -0
- package/dist/shared-utils/safeObj.d.ts +1 -0
- package/dist/shared-utils/three/IObject3D.d.ts +7 -0
- package/dist/shared-utils/three/Magnifier.d.ts +3 -0
- package/dist/shared-utils/three/PointSelector.d.ts +32 -0
- package/dist/shared-utils/three/PointSelectorHelper.d.ts +50 -0
- package/dist/shared-utils/three/index.d.ts +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/CSS3DRender.html +32 -31
- package/docs/classes/CruisePluginController.html +27 -26
- package/docs/classes/GuideLineItem.GuideLineItem.html +21 -20
- package/docs/classes/GuideLineModeItem.GuideLineModeItem.html +33 -87
- package/docs/classes/Magnifier.html +21 -20
- package/docs/classes/ModelRoomLabelController.html +12 -11
- package/docs/classes/Object3DHelperController.html +26 -25
- package/docs/classes/PaintBrush.html +16 -15
- package/docs/classes/PanoMeasurePluginLine.html +52 -106
- package/docs/classes/PanoMeasurePluginModel.html +67 -24
- package/docs/classes/PanoMeasurePluginPoint.html +15 -14
- package/docs/classes/PanoMeasurePluginPolyline.html +39 -26
- package/docs/classes/PanoTagPluginController.html +48 -47
- package/docs/classes/Util.BetterTween.html +10 -9
- package/docs/classes/Util.Interval.html +13 -12
- package/docs/classes/Util.Magnifier.html +31 -17
- package/docs/classes/Util.PointDomHelper.html +12 -11
- package/docs/classes/Util.PointHelper.html +12 -11
- package/docs/classes/{Util.FivePointSelector.html → Util.PointSelectorHelper.html} +96 -26
- package/docs/classes/Util.Rectangle.html +14 -13
- package/docs/enums/CameraMovementEffect.html +8 -7
- package/docs/enums/ContentType.html +21 -20
- package/docs/enums/DIRECTION.html +10 -9
- package/docs/enums/DISPLAY_STRATEGY_TYPE.html +10 -9
- package/docs/enums/DimensionType.html +8 -7
- package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +9 -8
- package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +10 -9
- package/docs/enums/PaintBrushTypeEnum.html +9 -8
- package/docs/enums/PointType.html +8 -7
- package/docs/enums/Rotation.html +9 -8
- package/docs/functions/CSS3DRenderPlugin.html +6 -5
- package/docs/functions/CameraMovementPlugin.html +6 -5
- package/docs/functions/CruisePlugin.html +6 -5
- package/docs/functions/GuideLinePlugin.html +6 -5
- package/docs/functions/ItemLabelPlugin.html +6 -5
- package/docs/functions/MapviewFloorplanPlugin.html +6 -5
- package/docs/functions/ModelChassisCompassPlugin.html +6 -5
- package/docs/functions/ModelEntryDoorGuidePlugin.html +6 -5
- package/docs/functions/ModelFloorplanPlugin.html +6 -5
- package/docs/functions/ModelItemLabelPlugin.html +6 -5
- package/docs/functions/ModelRoomLabelPlugin.html +6 -5
- package/docs/functions/ModelTVVideoPlugin.html +6 -5
- package/docs/functions/ModelViewPlugin.html +6 -5
- package/docs/functions/Object3DHelperPlugin.html +6 -5
- package/docs/functions/PanoCompassPlugin.html +6 -5
- package/docs/functions/PanoCursorRaycasterPlugin.html +6 -5
- package/docs/functions/PanoDoorLabelPlugin.html +6 -5
- package/docs/functions/PanoFloorplanRadarPlugin.html +6 -5
- package/docs/functions/PanoMeasurePlugin.html +6 -5
- package/docs/functions/PanoRulerPlugin.html +6 -5
- package/docs/functions/PanoRulerProPlugin.html +6 -5
- package/docs/functions/PanoSpatialTagPlugin.html +6 -5
- package/docs/functions/PanoTagPlugin.html +6 -5
- package/docs/functions/PanoVideoPlugin.html +6 -5
- package/docs/functions/TopviewFloorplanPlugin.html +6 -5
- package/docs/functions/Util.getCoordsFromClient.html +6 -5
- package/docs/functions/Util.getCoordsFromElement.html +6 -5
- package/docs/functions/Util.getFrameTime.html +6 -5
- package/docs/functions/Util.getIntersectFromRelativePosition.html +6 -5
- package/docs/functions/Util.getRaycasterFromFivePointer.html +6 -5
- package/docs/functions/Util.isAbsoluteURL.html +6 -5
- package/docs/functions/Util.isModelLike.html +6 -5
- package/docs/functions/Util.isNil.html +6 -5
- package/docs/functions/Util.isPanoramaLike.html +6 -5
- package/docs/functions/Util.nextFrame.html +6 -5
- package/docs/functions/Util.notNil.html +6 -5
- package/docs/functions/Util.requestAnimationFrameInterval.html +6 -5
- package/docs/functions/Util.tweenProgress.html +6 -5
- package/docs/functions/Util.uuid.html +6 -5
- package/docs/functions/pluginFlag.html +6 -5
- package/docs/index.html +6 -5
- package/docs/interfaces/AddTagConfig.html +7 -6
- package/docs/interfaces/CSS3DRenderPluginEventMap.html +12 -11
- package/docs/interfaces/CSS3DRenderPluginState.html +9 -8
- package/docs/interfaces/CameraMovementPluginExportType.html +8 -7
- package/docs/interfaces/CruisePluginTypes.Config.html +9 -8
- package/docs/interfaces/CruisePluginTypes.CruiseKeyframe.html +13 -12
- package/docs/interfaces/CruisePluginTypes.EventMap.html +21 -20
- package/docs/interfaces/CruisePluginTypes.MoveAction.html +13 -12
- package/docs/interfaces/CruisePluginTypes.MoveWithKeyframesAction.html +15 -14
- package/docs/interfaces/CruisePluginTypes.MoveWithPanoIndexAction.html +15 -14
- package/docs/interfaces/CruisePluginTypes.PluginData.html +10 -9
- package/docs/interfaces/CruisePluginTypes.PluginServerData.html +8 -7
- package/docs/interfaces/CruisePluginTypes.PluginState.html +12 -11
- package/docs/interfaces/EventMap.html +16 -15
- package/docs/interfaces/FloorplanBounding.html +9 -8
- package/docs/interfaces/FloorplanData.html +11 -10
- package/docs/interfaces/FloorplanEntrance.html +12 -11
- package/docs/interfaces/FloorplanExtraObject.html +11 -10
- package/docs/interfaces/FloorplanExtraObject3D.html +9 -8
- package/docs/interfaces/FloorplanFloorData.html +10 -9
- package/docs/interfaces/FloorplanImagePosition.html +8 -7
- package/docs/interfaces/FloorplanObserver.html +10 -9
- package/docs/interfaces/FloorplanOutlineItem.html +10 -9
- package/docs/interfaces/FloorplanPosition.html +8 -7
- package/docs/interfaces/FloorplanRoomItem.html +14 -13
- package/docs/interfaces/FloorplanRoomLabelItem.html +8 -7
- package/docs/interfaces/FloorplanServerBounding.html +9 -8
- package/docs/interfaces/FloorplanServerComputedData.html +11 -10
- package/docs/interfaces/FloorplanServerData.html +8 -7
- package/docs/interfaces/FloorplanServerDoorItem.html +11 -10
- package/docs/interfaces/FloorplanServerDoorPosition.html +9 -8
- package/docs/interfaces/FloorplanServerEntrance.html +12 -11
- package/docs/interfaces/FloorplanServerFloorData.html +10 -9
- package/docs/interfaces/FloorplanServerImagePosition.html +8 -7
- package/docs/interfaces/FloorplanServerObserver.html +10 -9
- package/docs/interfaces/FloorplanServerOutlineItem.html +10 -9
- package/docs/interfaces/FloorplanServerPosition.html +8 -7
- package/docs/interfaces/FloorplanServerRoomItem.html +15 -14
- package/docs/interfaces/FloorplanServerRoomLabelItem.html +8 -7
- package/docs/interfaces/GuideLineModeItem.GuideLineTagContainer.html +9 -8
- package/docs/interfaces/GuideLinePluginType.CatmullRomCurve3.html +11 -10
- package/docs/interfaces/GuideLinePluginType.EventMap.html +14 -13
- package/docs/interfaces/GuideLinePluginType.GuideLineGeometryStyle.html +9 -8
- package/docs/interfaces/GuideLinePluginType.GuideLineItemContainer.html +7 -6
- package/docs/interfaces/GuideLinePluginType.GuideLineMaterialStyle.html +14 -13
- package/docs/interfaces/GuideLinePluginType.LineGeometriesConfig.html +9 -8
- package/docs/interfaces/GuideLinePluginType.ModelGuideLineStyle.html +19 -18
- package/docs/interfaces/GuideLinePluginType.ModelGuideLineTagData.html +8 -7
- package/docs/interfaces/GuideLinePluginType.PanoramaGuideLineStyle.html +19 -18
- package/docs/interfaces/GuideLinePluginType.PluginDataV2.html +6 -5
- package/docs/interfaces/GuideLinePluginType.PluginServerData.html +8 -7
- package/docs/interfaces/GuideLinePluginType.PluginState.html +9 -8
- package/docs/interfaces/GuideLinePluginType.Route.html +12 -11
- package/docs/interfaces/GuideLinePluginType.RouteConfig.html +10 -9
- package/docs/interfaces/HelperOffset.html +9 -8
- package/docs/interfaces/ImagePlaneGroup.html +7 -6
- package/docs/interfaces/ItemLabelPluginData.html +7 -6
- package/docs/interfaces/ItemLabelPluginExportReturnsType.html +12 -11
- package/docs/interfaces/ItemLabelPluginParametersType.html +10 -9
- package/docs/interfaces/MinMax.html +8 -7
- package/docs/interfaces/ModelChassisCompassPluginData.html +8 -7
- package/docs/interfaces/ModelChassisCompassPluginExportType.html +9 -8
- package/docs/interfaces/ModelChassisCompassPluginParameterType.html +8 -7
- package/docs/interfaces/ModelEntryDoorGuidePluginData.html +9 -8
- package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +9 -8
- package/docs/interfaces/ModelItemLabelPluginData.html +7 -6
- package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +12 -11
- package/docs/interfaces/ModelItemLabelPluginParametersType.html +8 -7
- package/docs/interfaces/ModelRoomLabelPluginData.html +7 -6
- package/docs/interfaces/ModelTVVideoPluginData.html +10 -9
- package/docs/interfaces/ModelTVVideoPluginExportType.html +9 -8
- package/docs/interfaces/ModelTVVideoPluginParameterType.html +7 -6
- package/docs/interfaces/ModelViewPluginExportType.html +12 -11
- package/docs/interfaces/Object3DHelperState.html +9 -8
- package/docs/interfaces/ObjectHelperControllers.html +10 -9
- package/docs/interfaces/PaintBrushAction.html +13 -12
- package/docs/interfaces/PaintBrushConfigs.html +13 -12
- package/docs/interfaces/PaintBrushState.html +11 -10
- package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +11 -10
- package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +6 -5
- package/docs/interfaces/PanoMeasureParameterType.html +23 -15
- package/docs/interfaces/PanoMeasurePluginLineJson.html +9 -8
- package/docs/interfaces/PanoMeasurePluginOpenParameter.html +8 -7
- package/docs/interfaces/PanoMeasurePluginPointJson.html +8 -7
- package/docs/interfaces/PanoMeasurePluginPolylineJson.html +9 -8
- package/docs/interfaces/PanoRulerPluginExportType.html +11 -10
- package/docs/interfaces/PanoRulerPluginOptions.html +8 -7
- package/docs/interfaces/PanoRulerPluginParameterType.html +9 -8
- package/docs/interfaces/PanoRulerProPluginExportType.html +10 -9
- package/docs/interfaces/PanoRulerProPluginOptions.html +8 -7
- package/docs/interfaces/PanoRulerProPluginParameterType.html +8 -7
- package/docs/interfaces/PanoRulerProPluginState.html +9 -8
- package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +6 -5
- package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +6 -5
- package/docs/interfaces/PanoSpatialTagPluginData.html +12 -11
- package/docs/interfaces/PanoSpatialTagPluginDataElement.html +11 -10
- package/docs/interfaces/PanoSpatialTagPluginExportType.html +14 -13
- package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +11 -10
- package/docs/interfaces/PanoSpatialTagPluginParameterType.html +14 -13
- package/docs/interfaces/PanoSpatialTagPluginPointElement.html +12 -11
- package/docs/interfaces/PanoSpatialTagPluginTagElement.html +11 -10
- package/docs/interfaces/PanoVideoPluginType.LoadParams.html +7 -6
- package/docs/interfaces/PanoVideoPluginType.PanoVideoItem.html +9 -8
- package/docs/interfaces/PanoVideoPluginType.PluginData.html +7 -6
- package/docs/interfaces/PanoVideoPluginType.PluginEventMap.html +10 -9
- package/docs/interfaces/PanoVideoPluginType.PluginState.html +7 -6
- package/docs/interfaces/PanoVideoPluginType.VideoItem.html +9 -8
- package/docs/interfaces/PanoVideoPluginType.VideoMeshParams.html +11 -10
- package/docs/interfaces/Point.html +9 -8
- package/docs/interfaces/Room.html +10 -9
- package/docs/interfaces/RoomInfo.html +8 -7
- package/docs/interfaces/RoomLabel.html +15 -14
- package/docs/interfaces/RoomRules.html +6 -5
- package/docs/interfaces/Rooms.html +6 -5
- package/docs/interfaces/Scissor.html +10 -9
- package/docs/interfaces/State.html +9 -8
- package/docs/interfaces/TagCacheInterface.html +13 -12
- package/docs/interfaces/TagConfig.html +14 -13
- package/docs/interfaces/TagGLTFObjectGroup.html +7 -6
- package/docs/interfaces/TagIconUrl.html +13 -12
- package/docs/interfaces/TagObjectGroup.html +7 -6
- package/docs/interfaces/TagStyle.html +7 -6
- package/docs/interfaces/Tags.html +10 -9
- package/docs/interfaces/TemporaryState.html +7 -6
- package/docs/interfaces/Util.MagnifierParameter.html +12 -11
- package/docs/interfaces/Util.MouseGroupParameter.html +9 -8
- package/docs/interfaces/Util.PointIntersection.html +407 -0
- package/docs/modules/CruisePluginTypes.html +6 -5
- package/docs/modules/GuideLineItem.html +6 -5
- package/docs/modules/GuideLineModeItem.html +6 -5
- package/docs/modules/GuideLinePluginType.html +6 -5
- package/docs/modules/PanoVideoPluginType.html +6 -5
- package/docs/modules/Util.html +8 -6
- package/docs/modules.html +6 -5
- package/docs/types/ArrayPosition.html +6 -5
- package/docs/types/AudioAppearance.html +6 -5
- package/docs/types/AudioTagTypeConfigKey.html +6 -5
- package/docs/types/CSS3DRenderExportType.html +6 -5
- package/docs/types/CSS3DRenderPluginExportType.html +6 -5
- package/docs/types/CSS3DRenderPluginParameterType.html +6 -5
- package/docs/types/ClassFunctionParameters.html +6 -5
- package/docs/types/Color.html +6 -5
- package/docs/types/ContentTypeConfigKey.html +6 -5
- package/docs/types/ContentTypeConfigKeySplit.html +6 -5
- package/docs/types/ContentTypeMap.html +6 -5
- package/docs/types/Create3DDomContainerReturnType.html +6 -5
- package/docs/types/Create3DElementReturnType.html +6 -5
- package/docs/types/CruisePluginExportType.html +6 -5
- package/docs/types/CruisePluginTypes.CruiseData.html +6 -5
- package/docs/types/CruisePluginTypes.MoveEffect.html +6 -5
- package/docs/types/DeprecatedMediaPlaneProperty.html +6 -5
- package/docs/types/DeprecatedTagProperty.html +6 -5
- package/docs/types/Direction-1.html +6 -5
- package/docs/types/Direction4.html +6 -5
- package/docs/types/ElementRenderer.html +6 -5
- package/docs/types/FloorplanRuleLabels.html +6 -5
- package/docs/types/FloorplanServerRuleLabels.html +6 -5
- package/docs/types/GuideLinePluginExportType.html +6 -5
- package/docs/types/GuideLinePluginType.GuideLineItem.html +6 -5
- package/docs/types/GuideLinePluginType.GuideLineItemEventMap.html +6 -5
- package/docs/types/GuideLinePluginType.GuideLineModeItemMode.html +6 -5
- package/docs/types/GuideLinePluginType.GuideLineStyle.html +6 -5
- package/docs/types/GuideLinePluginType.ModelGuideLineTag.html +6 -5
- package/docs/types/GuideLinePluginType.PathItem.html +6 -5
- package/docs/types/GuideLinePluginType.PluginData.html +6 -5
- package/docs/types/HelperEventMap.html +6 -5
- package/docs/types/LoadTagConfig.html +6 -5
- package/docs/types/MapviewFloorplanPluginParameterType.html +6 -5
- package/docs/types/MapviewFloorplanPluginReturnType.html +6 -5
- package/docs/types/MediaData.html +6 -5
- package/docs/types/MediaStore.html +6 -5
- package/docs/types/ModelEntryDoorGuidePluginParameterType.html +6 -5
- package/docs/types/ModelFloorplanPluginParameterType.html +6 -5
- package/docs/types/ModelFloorplanPluginReturnType.html +6 -5
- package/docs/types/ModelRoomLabelPluginParameters.html +6 -5
- package/docs/types/ModelRoomLabelPluginReturnType.html +6 -5
- package/docs/types/MoveArgs.html +6 -5
- package/docs/types/MoveOpts.html +6 -5
- package/docs/types/Object3DHelperEventMap.html +6 -5
- package/docs/types/ObjectFit.html +6 -5
- package/docs/types/PaintBrushEventMap.html +6 -5
- package/docs/types/PanoCompassPluginData.html +6 -5
- package/docs/types/PanoCompassPluginExportType.html +6 -5
- package/docs/types/PanoCompassPluginParameterType.html +6 -5
- package/docs/types/PanoFloorplanRadarPluginParameterType.html +6 -5
- package/docs/types/PanoFloorplanRadarPluginReturnType.html +6 -5
- package/docs/types/PanoIndex.html +6 -5
- package/docs/types/PanoMeasurePluginEvent.html +6 -5
- package/docs/types/PanoMeasureReturnType.html +6 -5
- package/docs/types/PanoSpatialTagPluginId.html +6 -5
- package/docs/types/PanoTagPluginExportInterface.html +6 -5
- package/docs/types/PanoTagPluginParamsInterface.html +6 -5
- package/docs/types/PanoVideoPluginParameterType.html +6 -5
- package/docs/types/PanoVideoPluginReturnType.html +6 -5
- package/docs/types/PartialObjectDeep.html +6 -5
- package/docs/types/PickTagContentTypeInContentTypeConfigKey.html +6 -5
- package/docs/types/PlaneTag.html +6 -5
- package/docs/types/Point2DTag.html +6 -5
- package/docs/types/Point3DTag.html +6 -5
- package/docs/types/PointTag.html +6 -5
- package/docs/types/PointTagInstance.html +6 -5
- package/docs/types/Position.html +6 -5
- package/docs/types/RotateArgs.html +6 -5
- package/docs/types/RotateOpts.html +6 -5
- package/docs/types/RuleLabelsKey.html +6 -5
- package/docs/types/RuleLabelsValue.html +6 -5
- package/docs/types/StickType.html +6 -5
- package/docs/types/Tag.html +6 -5
- package/docs/types/Tag2D.html +6 -5
- package/docs/types/Tag3D.html +6 -5
- package/docs/types/TagContentType.html +6 -5
- package/docs/types/TagDimensionType.html +6 -5
- package/docs/types/TagElement.html +6 -5
- package/docs/types/TagEvents.html +6 -5
- package/docs/types/TagGLTFObject.html +6 -5
- package/docs/types/TagHooks.html +6 -5
- package/docs/types/TagId.html +6 -5
- package/docs/types/TagInstance.html +6 -5
- package/docs/types/TagPointType.html +6 -5
- package/docs/types/TagRendererMap.html +6 -5
- package/docs/types/TopviewFloorplanPluginParameterType.html +6 -5
- package/docs/types/TopviewFloorplanPluginReturnType.html +6 -5
- package/docs/types/WorkCode.html +6 -5
- package/docs/variables/FLOOR_TYPE_MAP.html +6 -5
- package/docs/variables/PLUGIN.html +6 -5
- package/docs/variables/ROOM_FETILE_TYPE_MAP.html +6 -5
- package/docs/variables/ROOM_TYPE_MAP.html +6 -5
- package/docs/variables/itemLabelPluginServerParams.html +6 -5
- package/docs/variables/modelItemLabelPluginServerParams.html +6 -5
- package/docs/variables/modelRoomLabelPluginServerParams.html +6 -5
- package/libs/GuideLinePlugin/Components/Tag.js +41 -134
- package/libs/GuideLinePlugin/Controller.d.ts +3 -5
- package/libs/GuideLinePlugin/Controller.js +44 -48
- package/libs/GuideLinePlugin/GuideLineItem/index.js +1 -1
- package/libs/GuideLinePlugin/GuideLineItem.d.ts +1 -1
- package/libs/GuideLinePlugin/GuideLineModeItem/index.js +113 -150
- package/libs/GuideLinePlugin/GuideLineModeItem.d.ts +0 -17
- package/libs/GuideLinePlugin/utils/createLineGeometry.d.ts +0 -7
- package/libs/GuideLinePlugin/utils/createLineGeometry.js +17 -19
- package/libs/ModelRoomLabelPlugin/RoomLabelItems.js +77 -77
- package/libs/Object3DHelperPlugin/Controller.js +3 -2
- package/libs/Object3DHelperPlugin/index.js +6 -5
- package/libs/PanoMeasurePlugin/Components/Common/CircleButton.js +57 -0
- package/libs/PanoMeasurePlugin/Components/Common/CircleButton.svelte.d.ts +1 -0
- package/libs/PanoMeasurePlugin/Components/Common/Exit.js +42 -0
- package/libs/PanoMeasurePlugin/Components/Common/Exit.svelte.d.ts +1 -0
- package/libs/PanoMeasurePlugin/Components/Common/Switcher0.js +250 -0
- package/libs/PanoMeasurePlugin/Components/Common/Switcher0.svelte.d.ts +1 -0
- package/libs/PanoMeasurePlugin/Components/Common/Switcher1.js +211 -0
- package/libs/PanoMeasurePlugin/Components/Common/Switcher1.svelte.d.ts +1 -0
- package/libs/PanoMeasurePlugin/Components/Controller0.js +130 -0
- package/libs/PanoMeasurePlugin/Components/Controller0.svelte.d.ts +1 -0
- package/libs/PanoMeasurePlugin/Components/Controller1.js +255 -0
- package/libs/PanoMeasurePlugin/Components/Controller1.svelte.d.ts +1 -0
- package/libs/PanoMeasurePlugin/Controller/BaseController.d.ts +12 -4
- package/libs/PanoMeasurePlugin/Controller/BaseController.js +28 -21
- package/libs/PanoMeasurePlugin/Controller/EditController.d.ts +13 -5
- package/libs/PanoMeasurePlugin/Controller/EditController.js +184 -75
- package/libs/PanoMeasurePlugin/Controller/MixedController.js +26 -25
- package/libs/PanoMeasurePlugin/Controller/ViewController.js +5 -4
- package/libs/PanoMeasurePlugin/Controller/WatchController.d.ts +9 -2
- package/libs/PanoMeasurePlugin/Controller/WatchController.js +99 -53
- package/libs/PanoMeasurePlugin/Controller/index.d.ts +22 -9
- package/libs/PanoMeasurePlugin/Controller/index.js +127 -73
- package/libs/PanoMeasurePlugin/Model/area.d.ts +62 -0
- package/libs/PanoMeasurePlugin/Model/area.js +98 -0
- package/libs/PanoMeasurePlugin/Model/index.d.ts +9 -0
- package/libs/PanoMeasurePlugin/Model/index.js +27 -12
- package/libs/PanoMeasurePlugin/Model/line.d.ts +4 -1
- package/libs/PanoMeasurePlugin/Model/line.js +15 -8
- package/libs/PanoMeasurePlugin/Model/point.js +17 -12
- package/libs/PanoMeasurePlugin/Model/polygon.d.ts +10 -0
- package/libs/PanoMeasurePlugin/Model/polygon.js +39 -0
- package/libs/PanoMeasurePlugin/Model/polyline.d.ts +4 -0
- package/libs/PanoMeasurePlugin/Model/polyline.js +10 -3
- package/libs/PanoMeasurePlugin/Modules/DeleteDom/index.d.ts +1 -1
- package/libs/PanoMeasurePlugin/Modules/DeleteDom/index.js +27 -25
- package/libs/PanoMeasurePlugin/Modules/FiveHelper.d.ts +2 -1
- package/libs/PanoMeasurePlugin/Modules/FiveHelper.js +3 -3
- package/libs/PanoMeasurePlugin/Modules/GuideController.d.ts +1 -1
- package/libs/PanoMeasurePlugin/Modules/Magnifier.d.ts +1 -1
- package/libs/PanoMeasurePlugin/Modules/UIController/index.d.ts +5 -3
- package/libs/PanoMeasurePlugin/Modules/UIController/index.js +112 -35
- package/libs/PanoMeasurePlugin/Modules/rangePiece/index.d.ts +1 -1
- package/libs/PanoMeasurePlugin/index.js +61 -17
- package/libs/PanoMeasurePlugin/typings/data.d.ts +23 -0
- package/libs/PanoMeasurePlugin/typings/event.type.d.ts +10 -3
- package/libs/PanoMeasurePlugin/typings/index.d.ts +1 -1
- package/libs/PanoMeasurePlugin/utils/dom/areaDom.d.ts +22 -0
- package/libs/PanoMeasurePlugin/utils/dom/areaDom.js +29 -0
- package/libs/PanoMeasurePlugin/utils/dom/base.d.ts +25 -0
- package/libs/PanoMeasurePlugin/utils/dom/base.js +72 -0
- package/libs/PanoMeasurePlugin/utils/dom/distanceItem.d.ts +27 -0
- package/libs/PanoMeasurePlugin/utils/dom/distanceItem.js +47 -0
- package/libs/PanoMeasurePlugin/utils/generatePolygonGeometry.d.ts +6 -0
- package/libs/PanoMeasurePlugin/utils/generatePolygonGeometry.js +13 -0
- package/libs/PanoMeasurePlugin/utils/geometryUtil.d.ts +7 -0
- package/libs/PanoMeasurePlugin/utils/geometryUtil.js +37 -0
- package/libs/PanoMeasurePlugin/utils/getIntersectionFromEvent.d.ts +1 -1
- package/libs/PanoMeasurePlugin/utils/isIntersecting.d.ts +15 -0
- package/libs/PanoMeasurePlugin/utils/isIntersecting.js +25 -0
- package/libs/PanoMeasurePlugin/utils/line.d.ts +2 -1
- package/libs/PanoTagPlugin/controller/TagRender.js +1 -1
- package/libs/base/BasePlugin.js +1 -1
- package/libs/floorplan/Components/RoomHighlight/Room.js +54 -54
- package/libs/floorplan/Components/RoomHighlight/RoomHighlight.js +8 -8
- package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/CurrentFloor.js +28 -30
- package/libs/index.js +134 -116
- package/libs/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -7
- package/libs/shared-utils/Object3DHelper/Base/BaseHelper.js +29 -49
- package/libs/shared-utils/index.js +6 -6
- package/libs/shared-utils/isTouchDevice.d.ts +1 -0
- package/libs/shared-utils/isTouchDevice.js +4 -0
- package/libs/shared-utils/logger.js +2 -2
- package/libs/shared-utils/safeObj.d.ts +1 -0
- package/libs/shared-utils/safeObj.js +6 -0
- package/libs/shared-utils/three/IObject3D.d.ts +7 -0
- package/libs/shared-utils/three/IObject3D.js +25 -0
- package/libs/shared-utils/three/Magnifier.d.ts +3 -0
- package/libs/shared-utils/three/Magnifier.js +11 -9
- package/libs/shared-utils/three/PointSelector.d.ts +32 -0
- package/libs/shared-utils/three/PointSelector.js +68 -0
- package/libs/shared-utils/three/PointSelectorHelper.d.ts +50 -0
- package/libs/shared-utils/three/PointSelectorHelper.js +100 -0
- package/libs/shared-utils/three/centerPoint.js +1 -3
- package/libs/shared-utils/three/index.d.ts +1 -1
- package/package.json +4 -2
- package/dist/PanoMeasurePlugin/utils/distanceDom.d.ts +0 -30
- package/dist/shared-utils/three/FivePointSelector.d.ts +0 -36
- package/libs/PanoMeasurePlugin/utils/distanceDom.d.ts +0 -30
- package/libs/PanoMeasurePlugin/utils/distanceDom.js +0 -83
- package/libs/shared-utils/three/FivePointSelector.d.ts +0 -36
- package/libs/shared-utils/three/FivePointSelector.js +0 -49
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import type { Line as FiveLine } from '@realsee/five/line';
|
|
3
|
+
import { Subscribe, type Five, type SubscribeEventMap } from '@realsee/five';
|
|
4
|
+
import PolygonMesh from './polygon';
|
|
5
|
+
import { Polyline } from './polyline';
|
|
6
|
+
import type { Model } from '.';
|
|
7
|
+
import { AreaItem } from '../utils/dom/areaDom';
|
|
8
|
+
export interface AreaHook extends SubscribeEventMap {
|
|
9
|
+
selected: (area: Area, position: {
|
|
10
|
+
left: string;
|
|
11
|
+
top: string;
|
|
12
|
+
}) => void;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* @description: 多边形类
|
|
16
|
+
*/
|
|
17
|
+
export default class Area {
|
|
18
|
+
id: string;
|
|
19
|
+
selected: boolean;
|
|
20
|
+
text?: string;
|
|
21
|
+
readonly lightMesh: FiveLine;
|
|
22
|
+
readonly areaItem: AreaItem;
|
|
23
|
+
readonly hook: Subscribe<AreaHook>;
|
|
24
|
+
/** 多边形mesh */
|
|
25
|
+
polygon: PolygonMesh;
|
|
26
|
+
/** 多边形顶点 */
|
|
27
|
+
points: THREE.Vector3[];
|
|
28
|
+
/** 多边形前三个点组成的平面,用来使得后面加的点也落在这个平面上 */
|
|
29
|
+
planeHelper: THREE.Plane | null;
|
|
30
|
+
/** 多边形边框 */
|
|
31
|
+
polyline: Polyline;
|
|
32
|
+
/** 多边形mesh容器 */
|
|
33
|
+
private meshContainer;
|
|
34
|
+
/** 多边形dom容器 */
|
|
35
|
+
private domContainer;
|
|
36
|
+
private five;
|
|
37
|
+
private model?;
|
|
38
|
+
constructor(points: THREE.Vector3[] | undefined, config: {
|
|
39
|
+
/** @todo: 这个model整的真的太恶心了 */
|
|
40
|
+
model: Model;
|
|
41
|
+
meshContainer?: THREE.Object3D;
|
|
42
|
+
domContainer?: Element;
|
|
43
|
+
five?: Five;
|
|
44
|
+
});
|
|
45
|
+
addPoints(point: THREE.Vector3): void;
|
|
46
|
+
refresh(): void;
|
|
47
|
+
hideArea(): void;
|
|
48
|
+
showArea(): void;
|
|
49
|
+
/**
|
|
50
|
+
* @description: five camera update 时,更新Dom的位置
|
|
51
|
+
*/
|
|
52
|
+
updateDom: () => void;
|
|
53
|
+
/**
|
|
54
|
+
* @description: 获取一个点投影在当前平面上的点
|
|
55
|
+
*/
|
|
56
|
+
projectPoint(point: THREE.Vector3): THREE.Vector3;
|
|
57
|
+
remove(): void;
|
|
58
|
+
/**
|
|
59
|
+
* @todo: 没写完
|
|
60
|
+
*/
|
|
61
|
+
dispose(): void;
|
|
62
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
var m = Object.defineProperty;
|
|
2
|
+
var d = (o, e, i) => e in o ? m(o, e, { enumerable: !0, configurable: !0, writable: !0, value: i }) : o[e] = i;
|
|
3
|
+
var t = (o, e, i) => (d(o, typeof e != "symbol" ? e + "" : e, i), i);
|
|
4
|
+
import * as r from "three";
|
|
5
|
+
import { uuid as f } from "../../shared-utils/uuid.js";
|
|
6
|
+
import { Subscribe as c } from "@realsee/five";
|
|
7
|
+
import u from "./line.js";
|
|
8
|
+
import v from "./polygon.js";
|
|
9
|
+
import { Polyline as y } from "./polyline.js";
|
|
10
|
+
import h from "./point.js";
|
|
11
|
+
import { AreaItem as C } from "../utils/dom/areaDom.js";
|
|
12
|
+
import "../utils/line.js";
|
|
13
|
+
import "@realsee/five/line";
|
|
14
|
+
import "../utils/constants.js";
|
|
15
|
+
import "../utils/dom/distanceItem.js";
|
|
16
|
+
import "../utils/dom/base.js";
|
|
17
|
+
import "../utils/isNDCPointInScreen.js";
|
|
18
|
+
import "../../shared-utils/three/IObject3D.js";
|
|
19
|
+
import "../utils/generatePolygonGeometry.js";
|
|
20
|
+
import "earcut";
|
|
21
|
+
import "../../shared-utils/removeArrayItem.js";
|
|
22
|
+
import "../utils/geometryUtil.js";
|
|
23
|
+
import "../../shared-utils/three/centerPoint.js";
|
|
24
|
+
class V {
|
|
25
|
+
constructor(e, i) {
|
|
26
|
+
t(this, "id", f());
|
|
27
|
+
t(this, "selected", !1);
|
|
28
|
+
t(this, "text");
|
|
29
|
+
t(this, "lightMesh");
|
|
30
|
+
t(this, "areaItem");
|
|
31
|
+
t(this, "hook", new c());
|
|
32
|
+
/** 多边形mesh */
|
|
33
|
+
t(this, "polygon");
|
|
34
|
+
/** 多边形顶点 */
|
|
35
|
+
t(this, "points", []);
|
|
36
|
+
/** 多边形前三个点组成的平面,用来使得后面加的点也落在这个平面上 */
|
|
37
|
+
t(this, "planeHelper");
|
|
38
|
+
/** 多边形边框 */
|
|
39
|
+
t(this, "polyline");
|
|
40
|
+
/** 多边形mesh容器 */
|
|
41
|
+
t(this, "meshContainer");
|
|
42
|
+
/** 多边形dom容器 */
|
|
43
|
+
t(this, "domContainer");
|
|
44
|
+
t(this, "five");
|
|
45
|
+
t(this, "model");
|
|
46
|
+
/**
|
|
47
|
+
* @description: five camera update 时,更新Dom的位置
|
|
48
|
+
*/
|
|
49
|
+
t(this, "updateDom", () => {
|
|
50
|
+
this.five && (this.polyline.lines.forEach((e) => e.distanceItem.update(this.five)), this.areaItem.updateDomPosition(this.five));
|
|
51
|
+
});
|
|
52
|
+
var n;
|
|
53
|
+
e && (this.points = e), this.model = i.model, this.polygon = new v(e), this.polyline = new y({ model: i.model }), this.areaItem = new C({
|
|
54
|
+
area: this,
|
|
55
|
+
clickCallback: (a, s) => {
|
|
56
|
+
const l = a.clientX + "px", p = a.clientY + "px";
|
|
57
|
+
this.hook.emit("selected", this, { left: l, top: p });
|
|
58
|
+
}
|
|
59
|
+
}), this.domContainer = i.domContainer || null, this.meshContainer = i.meshContainer || null, this.five = i.five || null, this.areaItem.appendTo(this.domContainer), (n = this.five) == null || n.on("cameraUpdate", this.updateDom);
|
|
60
|
+
}
|
|
61
|
+
addPoints(e) {
|
|
62
|
+
var a;
|
|
63
|
+
this.points = this.points.concat(e);
|
|
64
|
+
const i = this.points.at(-2), n = this.points.at(-1);
|
|
65
|
+
if (i && n) {
|
|
66
|
+
const s = new u(new h(i), new h(n), this.polyline.model);
|
|
67
|
+
this.polyline.addLine(s), this.meshContainer.add(s.mesh), this.five && (s.distanceItem.setCanSelect(!1), s.distanceItem.appendTo(this.domContainer), s.distanceItem.update(this.five));
|
|
68
|
+
}
|
|
69
|
+
(a = this.meshContainer) != null && a.children.includes(this.polygon) || this.meshContainer.add(this.polygon), this.polygon.updatePoints(this.points), this.areaItem.updateArea(this.five), this.points.length === 3 ? this.planeHelper = new r.Plane().setFromCoplanarPoints(this.points[0], this.points[1], this.points[2]) : this.points.length < 3 && (this.planeHelper = null);
|
|
70
|
+
}
|
|
71
|
+
refresh() {
|
|
72
|
+
this.polygon.updatePoints(this.points), this.areaItem.updateArea(this.five);
|
|
73
|
+
}
|
|
74
|
+
hideArea() {
|
|
75
|
+
this.polygon.visible = !1, this.areaItem.hide();
|
|
76
|
+
}
|
|
77
|
+
showArea() {
|
|
78
|
+
this.polygon.visible = !0, this.areaItem.show();
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* @description: 获取一个点投影在当前平面上的点
|
|
82
|
+
*/
|
|
83
|
+
projectPoint(e) {
|
|
84
|
+
return this.planeHelper ? this.planeHelper.projectPoint(e, new r.Vector3()) : e;
|
|
85
|
+
}
|
|
86
|
+
remove() {
|
|
87
|
+
this.polygon.removeFromParent(), this.areaItem.remove(), this.polyline.lines.forEach((e) => e.remove());
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* @todo: 没写完
|
|
91
|
+
*/
|
|
92
|
+
dispose() {
|
|
93
|
+
this.remove(), this.model.areas.splice(this.model.areas.indexOf(this), 1), this.planeHelper = null, this.five.off("cameraUpdate", this.updateDom), this.five.needsRender = !0;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
export {
|
|
97
|
+
V as default
|
|
98
|
+
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Config } from '../typings';
|
|
2
2
|
import type { PluginData } from '../typings/data';
|
|
3
|
+
import type Area from './area';
|
|
3
4
|
import type Line from './line';
|
|
4
5
|
import { Polyline } from './polyline';
|
|
5
6
|
import { Subscribe } from '@realsee/five';
|
|
@@ -8,6 +9,10 @@ type IModelEvent = {
|
|
|
8
9
|
* @param line 被创建的线条
|
|
9
10
|
*/
|
|
10
11
|
polylineAdded: (line: Polyline) => void;
|
|
12
|
+
/** 新增面积
|
|
13
|
+
* @param area 被创建的面积
|
|
14
|
+
*/
|
|
15
|
+
areaAdded: (area: Area) => void;
|
|
11
16
|
/** 删除线条
|
|
12
17
|
* @param lines 被删除的线条数组
|
|
13
18
|
*/
|
|
@@ -16,18 +21,22 @@ type IModelEvent = {
|
|
|
16
21
|
export declare class Model {
|
|
17
22
|
readonly config?: Config;
|
|
18
23
|
readonly polylines: Polyline[];
|
|
24
|
+
readonly areas: Area[];
|
|
19
25
|
readonly hook: Subscribe<IModelEvent>;
|
|
20
26
|
constructor(config?: Config);
|
|
21
27
|
addPolyline(polyline: Polyline): void;
|
|
28
|
+
addArea(area: Area): void;
|
|
22
29
|
replacePolylineByID(id: string, polyline: Polyline): void;
|
|
23
30
|
removePolyline(polyline: Polyline): void;
|
|
24
31
|
getPolylineByID(id: string): Polyline;
|
|
25
32
|
getPolylineByLine(line: Line): Polyline;
|
|
26
33
|
getLineByID(id: string): Line;
|
|
27
34
|
getAllLines(): Line[];
|
|
35
|
+
getAllAreas(): Area[];
|
|
28
36
|
getAllPoints(): import("./point").default[];
|
|
29
37
|
includes(item: Polyline): boolean;
|
|
30
38
|
clear(): void;
|
|
39
|
+
dispose(): void;
|
|
31
40
|
getClosestPoint(): void;
|
|
32
41
|
parse(data: PluginData): void;
|
|
33
42
|
toJson(): PluginData;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var t = (o, i, e) => (
|
|
4
|
-
import { Polyline as
|
|
1
|
+
var l = Object.defineProperty;
|
|
2
|
+
var r = (o, i, e) => i in o ? l(o, i, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[i] = e;
|
|
3
|
+
var t = (o, i, e) => (r(o, typeof i != "symbol" ? i + "" : i, e), e);
|
|
4
|
+
import { Polyline as n } from "./polyline.js";
|
|
5
5
|
import { Subscribe as p } from "@realsee/five";
|
|
6
6
|
import "./line.js";
|
|
7
7
|
import "../../shared-utils/uuid.js";
|
|
@@ -9,14 +9,16 @@ import "../utils/line.js";
|
|
|
9
9
|
import "@realsee/five/line";
|
|
10
10
|
import "../utils/constants.js";
|
|
11
11
|
import "three";
|
|
12
|
-
import "../utils/
|
|
12
|
+
import "../utils/dom/distanceItem.js";
|
|
13
|
+
import "../utils/dom/base.js";
|
|
13
14
|
import "../utils/isNDCPointInScreen.js";
|
|
14
15
|
import "./point.js";
|
|
15
16
|
import "../../shared-utils/removeArrayItem.js";
|
|
16
|
-
class
|
|
17
|
+
class B {
|
|
17
18
|
constructor(i) {
|
|
18
19
|
t(this, "config");
|
|
19
20
|
t(this, "polylines", []);
|
|
21
|
+
t(this, "areas", []);
|
|
20
22
|
t(this, "hook", new p());
|
|
21
23
|
this.config = i;
|
|
22
24
|
}
|
|
@@ -27,12 +29,19 @@ class I {
|
|
|
27
29
|
}
|
|
28
30
|
this.polylines.push(i), this.hook.emit("polylineAdded", i);
|
|
29
31
|
}
|
|
32
|
+
addArea(i) {
|
|
33
|
+
if (this.areas.find(({ id: e }) => e === i.id) !== void 0) {
|
|
34
|
+
console.error(new Error("不能重复添加 area"));
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
this.areas.push(i), this.hook.emit("areaAdded", i);
|
|
38
|
+
}
|
|
30
39
|
replacePolylineByID(i, e) {
|
|
31
|
-
const
|
|
32
|
-
|
|
40
|
+
const s = this.getPolylineByID(i);
|
|
41
|
+
s == null || s.replace(e);
|
|
33
42
|
}
|
|
34
43
|
removePolyline(i) {
|
|
35
|
-
const e = this.polylines.findIndex(({ id:
|
|
44
|
+
const e = this.polylines.findIndex(({ id: s }) => s === i.id);
|
|
36
45
|
if (e === -1) {
|
|
37
46
|
console.error(new Error("polyline 不存在"));
|
|
38
47
|
return;
|
|
@@ -51,6 +60,9 @@ class I {
|
|
|
51
60
|
getAllLines() {
|
|
52
61
|
return this.polylines.map((i) => i.lines).flat(1);
|
|
53
62
|
}
|
|
63
|
+
getAllAreas() {
|
|
64
|
+
return this.areas;
|
|
65
|
+
}
|
|
54
66
|
getAllPoints() {
|
|
55
67
|
return this.polylines.map((i) => i.points).flat(1);
|
|
56
68
|
}
|
|
@@ -58,12 +70,15 @@ class I {
|
|
|
58
70
|
return this.polylines.find(({ id: e }) => e === i.id) !== void 0;
|
|
59
71
|
}
|
|
60
72
|
clear() {
|
|
61
|
-
this.polylines.forEach((i) => this.hook.emit("polylineRemoved", i)), this.polylines.splice(0, this.polylines.length);
|
|
73
|
+
this.polylines.forEach((i) => this.hook.emit("polylineRemoved", i)), this.areas.forEach((i) => i.dispose()), this.polylines.splice(0, this.polylines.length), this.areas.splice(0, this.areas.length);
|
|
74
|
+
}
|
|
75
|
+
dispose() {
|
|
76
|
+
this.clear();
|
|
62
77
|
}
|
|
63
78
|
getClosestPoint() {
|
|
64
79
|
}
|
|
65
80
|
parse(i) {
|
|
66
|
-
this.clear(), this.polylines.push(...i.polylines.map((e) => new
|
|
81
|
+
this.clear(), this.polylines.push(...i.polylines.map((e) => new n({ model: this }).fromJson(e))), this.polylines.forEach((e) => this.hook.emit("polylineAdded", e));
|
|
67
82
|
}
|
|
68
83
|
toJson() {
|
|
69
84
|
return {
|
|
@@ -72,5 +87,5 @@ class I {
|
|
|
72
87
|
}
|
|
73
88
|
}
|
|
74
89
|
export {
|
|
75
|
-
|
|
90
|
+
B as Model
|
|
76
91
|
};
|
|
@@ -4,7 +4,8 @@ import type { LineJson } from '../typings/data';
|
|
|
4
4
|
import type { Line as FiveLine } from '@realsee/five/line';
|
|
5
5
|
import type { Polyline } from './polyline';
|
|
6
6
|
import { Subscribe, type SubscribeEventMap } from '@realsee/five';
|
|
7
|
-
import {
|
|
7
|
+
import { DistanceItem } from '../utils/dom/distanceItem';
|
|
8
|
+
import type * as THREE from 'three';
|
|
8
9
|
export interface ILineHook extends SubscribeEventMap {
|
|
9
10
|
selected: (line: Line) => void;
|
|
10
11
|
textChanged: (text: string | undefined) => void;
|
|
@@ -22,6 +23,8 @@ export default class Line {
|
|
|
22
23
|
readonly distanceItem: DistanceItem;
|
|
23
24
|
private polyline?;
|
|
24
25
|
constructor(point: Point, anotherPoint: Point, model: Model);
|
|
26
|
+
setPoints(startPoint: THREE.Vector3, endPoint: THREE.Vector3): void;
|
|
27
|
+
remove(): void;
|
|
25
28
|
clear(): void;
|
|
26
29
|
isEmpty(): boolean;
|
|
27
30
|
getPolyline(): Polyline;
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
var r = Object.defineProperty;
|
|
2
2
|
var m = (s, t, i) => t in s ? r(s, t, { enumerable: !0, configurable: !0, writable: !0, value: i }) : s[t] = i;
|
|
3
3
|
var e = (s, t, i) => (m(s, typeof t != "symbol" ? t + "" : t, i), i);
|
|
4
|
-
import { uuid as
|
|
5
|
-
import { createLineMesh as
|
|
6
|
-
import { Subscribe as
|
|
7
|
-
import {
|
|
4
|
+
import { uuid as p } from "../../shared-utils/uuid.js";
|
|
5
|
+
import { createLineMesh as n } from "../utils/line.js";
|
|
6
|
+
import { Subscribe as c } from "@realsee/five";
|
|
7
|
+
import { DistanceItem as d } from "../utils/dom/distanceItem.js";
|
|
8
8
|
import "@realsee/five/line";
|
|
9
9
|
import "../utils/constants.js";
|
|
10
10
|
import "three";
|
|
11
|
+
import "../utils/dom/base.js";
|
|
11
12
|
import "../utils/isNDCPointInScreen.js";
|
|
12
13
|
class l {
|
|
13
14
|
constructor(t, i, o) {
|
|
@@ -22,15 +23,21 @@ class l {
|
|
|
22
23
|
e(this, "hook");
|
|
23
24
|
e(this, "distanceItem");
|
|
24
25
|
e(this, "polyline");
|
|
25
|
-
var
|
|
26
|
-
if (this.id =
|
|
26
|
+
var h;
|
|
27
|
+
if (this.id = p(), this.model = o, t.id === i.id)
|
|
27
28
|
throw new Error("无效的线段, 一个点无法构成线段");
|
|
28
|
-
typeof o.config.defaultText == "string" && (this.text = o.config.defaultText), this.hook = new
|
|
29
|
+
typeof o.config.defaultText == "string" && (this.text = o.config.defaultText), this.hook = new c(), this.points = [t, i], this.mesh = n(this, "normal"), this.lightMesh = n(this, "light"), this.distanceItem = new d({
|
|
29
30
|
line: this,
|
|
30
31
|
clickCallback: () => this.hook.emit("selected", this),
|
|
31
|
-
userDistanceItem: (
|
|
32
|
+
userDistanceItem: (h = this.model.config) != null && h.userDistanceItemCreator ? this.model.config.userDistanceItemCreator() : void 0
|
|
32
33
|
}), t.lines.push(this), i.lines.push(this);
|
|
33
34
|
}
|
|
35
|
+
setPoints(t, i) {
|
|
36
|
+
this.points[0].position.copy(t), this.points[1].position.copy(i), this.mesh.setPoints(t, i);
|
|
37
|
+
}
|
|
38
|
+
remove() {
|
|
39
|
+
this.mesh.parent && this.mesh.parent.remove(this.mesh), this.distanceItem.remove();
|
|
40
|
+
}
|
|
34
41
|
clear() {
|
|
35
42
|
this.selected = !1, this.polyline = void 0;
|
|
36
43
|
}
|
|
@@ -1,16 +1,21 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
import { Vector3 as
|
|
1
|
+
var s = Object.defineProperty;
|
|
2
|
+
var n = (t, i, o) => i in t ? s(t, i, { enumerable: !0, configurable: !0, writable: !0, value: o }) : t[i] = o;
|
|
3
|
+
var r = (t, i, o) => (n(t, typeof i != "symbol" ? i + "" : i, o), o);
|
|
4
|
+
import { Vector3 as p } from "three";
|
|
5
5
|
import { uuid as h } from "../../shared-utils/uuid.js";
|
|
6
6
|
import { removeArrayItem as m } from "../../shared-utils/removeArrayItem.js";
|
|
7
|
-
class
|
|
7
|
+
class e {
|
|
8
8
|
constructor(i) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
this.id = h(), this.lines = [], this.position = new
|
|
9
|
+
r(this, "id");
|
|
10
|
+
r(this, "lines");
|
|
11
|
+
r(this, "position");
|
|
12
|
+
r(this, "type", "point");
|
|
13
|
+
if (this.id = h(), this.lines = [], this.position = new p(), Array.isArray(i))
|
|
14
|
+
this.position.fromArray(i);
|
|
15
|
+
else if (typeof i == "object" && i.isVector3)
|
|
16
|
+
this.position.copy(i);
|
|
17
|
+
else
|
|
18
|
+
throw new Error("position must be Vector3 or number[]");
|
|
14
19
|
}
|
|
15
20
|
toJson() {
|
|
16
21
|
return { id: this.id, position: this.position.toArray() };
|
|
@@ -22,9 +27,9 @@ class r {
|
|
|
22
27
|
m(i, this.lines);
|
|
23
28
|
}
|
|
24
29
|
clone() {
|
|
25
|
-
return new
|
|
30
|
+
return new e(this.position);
|
|
26
31
|
}
|
|
27
32
|
}
|
|
28
33
|
export {
|
|
29
|
-
|
|
34
|
+
e as default
|
|
30
35
|
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import { IObject3D } from '../../shared-utils/three/IObject3D';
|
|
3
|
+
export default class PolygonMesh extends IObject3D {
|
|
4
|
+
geometry: THREE.BufferGeometry;
|
|
5
|
+
constructor(points?: THREE.Vector3[]);
|
|
6
|
+
/**
|
|
7
|
+
* @description: 按照新的端点来更新多边形的geometry
|
|
8
|
+
*/
|
|
9
|
+
updatePoints(points: THREE.Vector3[]): void;
|
|
10
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
var c = Object.defineProperty;
|
|
2
|
+
var d = (o, t, e) => t in o ? c(o, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[t] = e;
|
|
3
|
+
var i = (o, t, e) => (d(o, typeof t != "symbol" ? t + "" : t, e), e);
|
|
4
|
+
import * as r from "three";
|
|
5
|
+
import { IObject3D as h } from "../../shared-utils/three/IObject3D.js";
|
|
6
|
+
import l from "../utils/generatePolygonGeometry.js";
|
|
7
|
+
import "earcut";
|
|
8
|
+
const p = new r.BufferGeometry();
|
|
9
|
+
class w extends h {
|
|
10
|
+
constructor(e) {
|
|
11
|
+
super();
|
|
12
|
+
i(this, "geometry", new r.BufferGeometry());
|
|
13
|
+
const s = new r.MeshBasicMaterial({
|
|
14
|
+
color: 6522623,
|
|
15
|
+
transparent: !0,
|
|
16
|
+
side: r.DoubleSide,
|
|
17
|
+
depthTest: !0,
|
|
18
|
+
opacity: 0.5
|
|
19
|
+
}), m = new r.MeshBasicMaterial({
|
|
20
|
+
color: 16777215,
|
|
21
|
+
transparent: !0,
|
|
22
|
+
side: r.DoubleSide,
|
|
23
|
+
depthTest: !1,
|
|
24
|
+
depthWrite: !1,
|
|
25
|
+
opacity: 0.2
|
|
26
|
+
}), n = new r.Mesh(this.geometry, s), a = new r.Mesh(this.geometry, m);
|
|
27
|
+
n.renderOrder = 10, a.renderOrder = 0, e && this.updatePoints(e), this.add(n, a);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* @description: 按照新的端点来更新多边形的geometry
|
|
31
|
+
*/
|
|
32
|
+
updatePoints(e) {
|
|
33
|
+
const s = l(e);
|
|
34
|
+
s ? this.geometry.copy(s) : this.geometry.copy(p);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
export {
|
|
38
|
+
w as default
|
|
39
|
+
};
|
|
@@ -28,6 +28,10 @@ export declare class Polyline {
|
|
|
28
28
|
removeLine(line: Line): void;
|
|
29
29
|
isLastLine(line: Line): boolean;
|
|
30
30
|
getLastLine(): Line;
|
|
31
|
+
/**
|
|
32
|
+
* @description: 获取连续线段的顶点数量
|
|
33
|
+
*/
|
|
34
|
+
getPointLength(): number;
|
|
31
35
|
clear(): void;
|
|
32
36
|
/** 是否产生重叠 */
|
|
33
37
|
overlapWith(item: Point | Line | Polyline): boolean;
|
|
@@ -9,10 +9,11 @@ import "../utils/line.js";
|
|
|
9
9
|
import "@realsee/five/line";
|
|
10
10
|
import "../utils/constants.js";
|
|
11
11
|
import "three";
|
|
12
|
-
import "../utils/
|
|
12
|
+
import "../utils/dom/distanceItem.js";
|
|
13
|
+
import "../utils/dom/base.js";
|
|
13
14
|
import "../utils/isNDCPointInScreen.js";
|
|
14
15
|
import "../../shared-utils/removeArrayItem.js";
|
|
15
|
-
class
|
|
16
|
+
class S {
|
|
16
17
|
constructor(i) {
|
|
17
18
|
s(this, "id", L());
|
|
18
19
|
s(this, "lines", []);
|
|
@@ -47,6 +48,12 @@ class C {
|
|
|
47
48
|
getLastLine() {
|
|
48
49
|
return this.lines.slice(-1)[0];
|
|
49
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* @description: 获取连续线段的顶点数量
|
|
53
|
+
*/
|
|
54
|
+
getPointLength() {
|
|
55
|
+
return this.lines.length + 1;
|
|
56
|
+
}
|
|
50
57
|
clear() {
|
|
51
58
|
const i = this.lines.slice();
|
|
52
59
|
this.lines.slice(0, this.lines.length), this.points.slice(0, this.points.length), i.reduceRight((t, h) => this.hook.emit("lineRemoved", h), void 0);
|
|
@@ -105,5 +112,5 @@ class C {
|
|
|
105
112
|
}
|
|
106
113
|
}
|
|
107
114
|
export {
|
|
108
|
-
|
|
115
|
+
S as Polyline
|
|
109
116
|
};
|
|
@@ -18,7 +18,7 @@ export default class DeleteDom {
|
|
|
18
18
|
dispose(): void;
|
|
19
19
|
appendTo(element: Element): this;
|
|
20
20
|
setLines(lines: Line[]): this;
|
|
21
|
-
updatePosition(): this;
|
|
21
|
+
updatePosition(left?: string, top?: string): this;
|
|
22
22
|
hide(): this;
|
|
23
23
|
show(): this;
|
|
24
24
|
private onMouseEnter;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var n = (
|
|
4
|
-
import
|
|
1
|
+
var f = Object.defineProperty;
|
|
2
|
+
var k = (r, e, t) => e in r ? f(r, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[e] = t;
|
|
3
|
+
var n = (r, e, t) => (k(r, typeof e != "symbol" ? e + "" : e, t), t);
|
|
4
|
+
import x from "./_Assets/delete.svg.js";
|
|
5
5
|
import p from "./_Assets/delete_bg.png.js";
|
|
6
|
-
import
|
|
7
|
-
class
|
|
6
|
+
import E from "./_Assets/delete_hover_bg.png.js";
|
|
7
|
+
class $ {
|
|
8
8
|
constructor(e, t) {
|
|
9
9
|
n(this, "visible", !1);
|
|
10
10
|
n(this, "five");
|
|
@@ -16,17 +16,17 @@ class D {
|
|
|
16
16
|
n(this, "container", document.createElement("div"));
|
|
17
17
|
n(this, "masking", document.createElement("div"));
|
|
18
18
|
n(this, "onMouseEnter", () => {
|
|
19
|
-
this.content.style.backgroundImage = `url(${
|
|
19
|
+
this.content.style.backgroundImage = `url(${E})`;
|
|
20
20
|
});
|
|
21
21
|
n(this, "onMouseLeave", () => {
|
|
22
22
|
this.content.style.backgroundImage = `url(${p})`;
|
|
23
23
|
});
|
|
24
|
-
var
|
|
24
|
+
var c, o;
|
|
25
25
|
this.five = e, this.onClick = (t == null ? void 0 : t.onClick) || (() => {
|
|
26
26
|
}), this.cancelDelete = (t == null ? void 0 : t.cancelDelete) || (() => {
|
|
27
|
-
}), this.container.classList.add("fpm__delete"), this.container.style.opacity = "0", this.container.style.position = "absolute", this.container.style.left = "0", this.container.style.top = "10px", this.container.style.transform = "translate3d(0, 0, 10px)", this.container.style.pointerEvents = "none", this.container.style.transition = "
|
|
28
|
-
${
|
|
29
|
-
<span>${(
|
|
27
|
+
}), this.container.classList.add("fpm__delete"), this.container.style.opacity = "0", this.container.style.position = "absolute", this.container.style.left = "0", this.container.style.top = "10px", this.container.style.transform = "translate3d(0, 0, 10px)", this.container.style.pointerEvents = "none", this.container.style.transition = "opacity 200ms ease", this.container.style.zIndex = "99", this.content.classList.add("fpm__delete-content"), this.content.style.width = "62px", this.content.style.height = "26px", this.content.style.display = "flex", this.content.style.alignItems = "center", this.content.style.justifyContent = "center", this.content.style.transform = "translate(-50%, -50%)", this.content.style.color = "#fff", this.content.style.fontSize = "12px", this.content.style.lineHeight = "17px", this.content.style.borderRadius = "11px", this.content.style.backgroundSize = "100% 100%", this.content.style.cursor = "pointer", this.content.style.userSelect = "none", this.content.style.backgroundImage = `url(${p})`, this.content.innerHTML = `
|
|
28
|
+
${x}
|
|
29
|
+
<span>${(o = (c = t.i18n) == null ? void 0 : c.call(t, "删除")) != null ? o : "删除"}</span>
|
|
30
30
|
`, this.container.append(this.content);
|
|
31
31
|
const s = this.content.querySelector(".fpm__delete-icon");
|
|
32
32
|
s && (s.style.width = "16px", s.style.height = "17px", s.style.marginRight = "1px"), this.content.addEventListener("click", this.onClick), this.content.addEventListener("mouseenter", this.onMouseEnter), this.content.addEventListener("mouseleave", this.onMouseLeave), this.masking.setAttribute("style", "position: absolute;top: 0;left: 0;bottom: 0;right: 0;pointer-events: none;"), this.masking.addEventListener("click", this.cancelDelete), this.masking.addEventListener("touchstart", this.cancelDelete);
|
|
@@ -40,30 +40,32 @@ class D {
|
|
|
40
40
|
setLines(e) {
|
|
41
41
|
return this.lines = e, this.points = Array.from(new Set(this.lines.map((t) => [t.points[0], t.points[1]]).flat(1))), this;
|
|
42
42
|
}
|
|
43
|
-
updatePosition() {
|
|
43
|
+
updatePosition(e, t) {
|
|
44
|
+
if (e && t)
|
|
45
|
+
return this.container.style.left = e, this.container.style.top = t, this.show();
|
|
44
46
|
if (this.lines.length === 0)
|
|
45
47
|
return this;
|
|
46
|
-
const
|
|
47
|
-
if (
|
|
48
|
+
const s = this.points.map((i) => i.position), c = s.map((i) => i.clone().project(this.five.camera));
|
|
49
|
+
if (c.some((i) => Math.abs(i.z) > 1))
|
|
48
50
|
return this.hide();
|
|
49
|
-
const
|
|
50
|
-
if (!
|
|
51
|
+
const o = c.map((i) => i.x), a = c.map((i) => i.y), d = (Math.min(...o) + Math.max(...o)) / 2, u = Math.max(...a), h = this.container.parentElement;
|
|
52
|
+
if (!h)
|
|
51
53
|
return this;
|
|
52
|
-
const
|
|
53
|
-
let
|
|
54
|
-
if (this.lines.length === 1 &&
|
|
55
|
-
const i = (
|
|
56
|
-
Math.abs(i) > 0.4 && (
|
|
54
|
+
const l = (d + 1) / 2 * h.clientWidth, v = -(u - 1) / 2 * h.clientHeight;
|
|
55
|
+
let m = l, y = v - 34;
|
|
56
|
+
if (this.lines.length === 1 && s.length === 2) {
|
|
57
|
+
const i = (a[1] - a[0]) / (o[1] - o[0]), g = -((a[1] + a[0]) / 2 - 1) / 2 * h.clientHeight;
|
|
58
|
+
Math.abs(i) > 0.4 && (m = l + 57, y = g);
|
|
57
59
|
}
|
|
58
|
-
return this.container.style.transform = `translate3d(${
|
|
60
|
+
return this.container.style.top = "0", this.container.style.transform = `translate3d(${m}px, ${y}px, 0)`, this.show();
|
|
59
61
|
}
|
|
60
62
|
hide() {
|
|
61
|
-
return this.visible = !1, this.masking.style.pointerEvents = "none", this.container.style.opacity = "0", this.container.style.
|
|
63
|
+
return this.visible = !1, this.masking.style.pointerEvents = "none", this.container.style.opacity = "0", this.container.style.pointerEvents = "none", this;
|
|
62
64
|
}
|
|
63
65
|
show() {
|
|
64
|
-
return this.visible = !0, this.masking.style.pointerEvents = "auto", this.container.style.opacity = "1", this.container.style.
|
|
66
|
+
return this.visible = !0, this.masking.style.pointerEvents = "auto", this.container.style.opacity = "1", this.container.style.pointerEvents = "auto", this;
|
|
65
67
|
}
|
|
66
68
|
}
|
|
67
69
|
export {
|
|
68
|
-
|
|
70
|
+
$ as default
|
|
69
71
|
};
|
|
@@ -8,7 +8,7 @@ class u {
|
|
|
8
8
|
i(this, "five");
|
|
9
9
|
/** 模型加载后获取折线 */
|
|
10
10
|
i(this, "onModelLoaded", () => {
|
|
11
|
-
this.five.model
|
|
11
|
+
this.five.model;
|
|
12
12
|
});
|
|
13
13
|
this.five = e, this.five.model.loaded ? this.onModelLoaded() : this.five.on("modelLoaded", this.onModelLoaded);
|
|
14
14
|
}
|
|
@@ -19,8 +19,8 @@ class u {
|
|
|
19
19
|
return null;
|
|
20
20
|
let t = 1 / 0, s;
|
|
21
21
|
return this.edges.forEach((l) => {
|
|
22
|
-
const
|
|
23
|
-
|
|
22
|
+
const n = l.closestPointToPoint(e.point, !0, new a()), d = n.distanceTo(e.point);
|
|
23
|
+
d < t && (s = n, t = d);
|
|
24
24
|
}), t > 0.1 ? null : s || null;
|
|
25
25
|
}
|
|
26
26
|
}
|
|
@@ -3,7 +3,7 @@ import Hammer from 'hammerjs';
|
|
|
3
3
|
import * as THREE from 'three';
|
|
4
4
|
import { Subscribe, type SubscribeEventMap } from '@realsee/five';
|
|
5
5
|
interface MagnifierEvent extends SubscribeEventMap {
|
|
6
|
-
wantsPanGesture: (event: typeof Hammer['Input']) => boolean;
|
|
6
|
+
wantsPanGesture: (event: (typeof Hammer)['Input']) => boolean;
|
|
7
7
|
}
|
|
8
8
|
/** 放大镜配置参数 */
|
|
9
9
|
export interface MagnifierParameter {
|