@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
|
@@ -12,16 +12,14 @@ export default class Controller extends BasePluginWithData.Controller<PluginStat
|
|
|
12
12
|
readonly cruisePlugin: CruisePluginController;
|
|
13
13
|
/** GuideLineItem 索引 */
|
|
14
14
|
readonly itemMap: Map<string | number, GuideLineItem>;
|
|
15
|
-
|
|
15
|
+
/** 当新增一根线时,整体高度的偏移值 */
|
|
16
|
+
private heightOffset;
|
|
17
|
+
get disposed(): boolean;
|
|
16
18
|
state: {
|
|
17
19
|
visible: boolean;
|
|
18
20
|
enabled: boolean;
|
|
19
21
|
};
|
|
20
22
|
protected data?: PluginData;
|
|
21
|
-
/** 当新增一根线时,整体高度的偏移值 */
|
|
22
|
-
private heightOffset;
|
|
23
|
-
get disposed(): boolean;
|
|
24
|
-
private _config;
|
|
25
23
|
private _disposed;
|
|
26
24
|
constructor(five: Five, config?: Config);
|
|
27
25
|
load(serverData: PluginServerData | PluginData, state?: PluginState, userAction?: boolean): Promise<void>;
|
|
@@ -2,7 +2,7 @@ import type { Five } from '@realsee/five';
|
|
|
2
2
|
import type GuideLinePlugin from './Controller';
|
|
3
3
|
import type * as PluginType from './typing';
|
|
4
4
|
import { GuideLineModeItem } from './GuideLineModeItem';
|
|
5
|
-
import
|
|
5
|
+
import { CruisePluginTypes } from '../CruisePlugin';
|
|
6
6
|
import { Subscribe } from '@realsee/five';
|
|
7
7
|
/** 路线引导实例。
|
|
8
8
|
* - 路线包括两个部分:全景路线和模型路线。
|
|
@@ -18,19 +18,12 @@ declare class GuideLineModeItem {
|
|
|
18
18
|
get panoGroup(): number[];
|
|
19
19
|
/** 可展示的楼层 */
|
|
20
20
|
get visibleFloorIndexes(): number[];
|
|
21
|
-
/** THREE Curve 路径 */
|
|
22
|
-
get curvePath(): THREE.CurvePath<THREE.Vector3>;
|
|
23
|
-
/** THREE Curve 路径上的点 */
|
|
24
|
-
get curvePoints(): THREE.Vector3[];
|
|
25
|
-
name: string;
|
|
26
21
|
startTagContainer: GuideLineTagContainer;
|
|
27
22
|
endTagContainer: GuideLineTagContainer;
|
|
28
23
|
readonly mesh: THREE.Mesh<THREE.BufferGeometry, THREE.ShaderMaterial>;
|
|
29
24
|
private five;
|
|
30
25
|
private mode;
|
|
31
26
|
private path;
|
|
32
|
-
private _curvePath;
|
|
33
|
-
private _curvePoints;
|
|
34
27
|
private _panoGroup;
|
|
35
28
|
private skippedPositions;
|
|
36
29
|
private textureUrl;
|
|
@@ -54,8 +47,6 @@ declare class GuideLineModeItem {
|
|
|
54
47
|
private disposed;
|
|
55
48
|
private flowAnime;
|
|
56
49
|
private flickerAnime;
|
|
57
|
-
/** 缓存 panoGroup 中每个点距离起点的长度 */
|
|
58
|
-
private cacheLengths;
|
|
59
50
|
constructor(five: Five, options: {
|
|
60
51
|
mode: PluginType.GuideLineModeItemMode;
|
|
61
52
|
plugin: GuideLinePlugin;
|
|
@@ -99,14 +90,6 @@ declare class GuideLineModeItem {
|
|
|
99
90
|
setEndTag(tag: Tag | PluginType.ModelGuideLineTagData | null): void;
|
|
100
91
|
/** 闪烁 */
|
|
101
92
|
flicker(): void;
|
|
102
|
-
/** 求起点到 panoIndex 曲线长度
|
|
103
|
-
* @param index panoIndex 在 panoGroup 中的索引
|
|
104
|
-
*
|
|
105
|
-
* @description 为什么不使用 panoIndex 作为参数?
|
|
106
|
-
* - panoIndex 在一个曲线中可能出现多次,无法确定是哪一个。
|
|
107
|
-
*/
|
|
108
|
-
getLengthByPanoGroupIndex(index: number): number | void;
|
|
109
|
-
private getPanoGroupLengths;
|
|
110
93
|
private setTag;
|
|
111
94
|
/** 开始走点动画 */
|
|
112
95
|
private onWalkAnimationStart;
|
|
@@ -19,12 +19,5 @@ interface LineGeometryOption {
|
|
|
19
19
|
export declare function createLineGeometry(options: LineGeometryOption): {
|
|
20
20
|
geometry: THREE.BufferGeometry;
|
|
21
21
|
maxU: number;
|
|
22
|
-
curvePath?: undefined;
|
|
23
|
-
curvePoints?: undefined;
|
|
24
|
-
} | {
|
|
25
|
-
geometry: THREE.BufferGeometry;
|
|
26
|
-
maxU: number;
|
|
27
|
-
curvePath: THREE.CurvePath<THREE.Vector3>;
|
|
28
|
-
curvePoints: THREE.Vector3[];
|
|
29
22
|
};
|
|
30
23
|
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SvelteComponentTyped as default } from 'svelte/internal';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SvelteComponentTyped as default } from 'svelte/internal';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SvelteComponentTyped as default } from 'svelte/internal';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SvelteComponentTyped as default } from 'svelte/internal';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SvelteComponentTyped as default } from 'svelte/internal';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SvelteComponentTyped as default } from 'svelte/internal';
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import type Magnifier from '../Modules/Magnifier';
|
|
2
1
|
import type FiveHelper from '../Modules/FiveHelper';
|
|
3
|
-
import type
|
|
2
|
+
import { type Group } from 'three';
|
|
4
3
|
import type { Model } from '../Model';
|
|
5
4
|
import type { Config } from '../typings';
|
|
6
5
|
import type { PanoMeasurePluginEvent } from '../typings/event.type';
|
|
7
|
-
import type { UserDistanceItem } from '../utils/
|
|
6
|
+
import type { UserDistanceItem } from '../utils/dom/distanceItem';
|
|
8
7
|
import type { Five, Intersection, IntersectMeshInterface, Subscribe } from '@realsee/five';
|
|
9
|
-
import type { OpenParameter } from '../typings/data';
|
|
8
|
+
import type { OpenParameter, EditParameter, MeasureType } from '../typings/data';
|
|
10
9
|
import Line from '../Model/line';
|
|
10
|
+
import type { Magnifier } from '../../shared-utils';
|
|
11
11
|
export interface ControllerParams {
|
|
12
12
|
five: Five;
|
|
13
13
|
group: Group;
|
|
@@ -18,6 +18,9 @@ export interface ControllerParams {
|
|
|
18
18
|
magnifier: Magnifier;
|
|
19
19
|
fiveHelper: FiveHelper;
|
|
20
20
|
openParams: OpenParameter;
|
|
21
|
+
editParams: EditParameter;
|
|
22
|
+
magnifierParams: ConstructorParameters<typeof Magnifier>[1];
|
|
23
|
+
getMeasureType: () => MeasureType;
|
|
21
24
|
hook: Subscribe<PanoMeasurePluginEvent>;
|
|
22
25
|
userDistanceItemCreator?: () => UserDistanceItem;
|
|
23
26
|
}
|
|
@@ -27,14 +30,19 @@ export default class BaseController {
|
|
|
27
30
|
protected group: Group;
|
|
28
31
|
protected config: Config;
|
|
29
32
|
protected dashed: Line;
|
|
33
|
+
protected perpendicularDashed: Line;
|
|
30
34
|
protected disposed: boolean;
|
|
31
35
|
protected isMobile: boolean;
|
|
32
36
|
protected mouseGroup: Group;
|
|
33
37
|
protected container: Element;
|
|
34
38
|
protected fiveHelper: FiveHelper;
|
|
39
|
+
protected editParams: EditParameter;
|
|
40
|
+
protected magnifierParams: ConstructorParameters<typeof Magnifier>[1];
|
|
35
41
|
protected hook: ControllerParams['hook'];
|
|
36
42
|
protected magnifier: ControllerParams['magnifier'];
|
|
37
43
|
protected userDistanceItemCreator: ControllerParams['userDistanceItemCreator'];
|
|
44
|
+
protected get currentMeasureType(): MeasureType;
|
|
45
|
+
private getMeasureType;
|
|
38
46
|
constructor(params: ControllerParams);
|
|
39
47
|
updateDistanceUI: () => void;
|
|
40
48
|
protected removeLine(line: Line): void;
|
|
@@ -2,17 +2,19 @@ import Line from '../Model/line';
|
|
|
2
2
|
import BaseController from './BaseController';
|
|
3
3
|
import type { ControllerParams } from './BaseController';
|
|
4
4
|
import { Polyline } from '../Model/polyline';
|
|
5
|
+
import Area from '../Model/area';
|
|
5
6
|
export default class EditController extends BaseController {
|
|
6
7
|
type: string;
|
|
7
8
|
polyline: Polyline;
|
|
9
|
+
area: Area;
|
|
8
10
|
/** 拖动的控制点 */
|
|
9
11
|
private pressPoint?;
|
|
10
12
|
private hasAppendDashed;
|
|
11
|
-
private hasAppendMouseGroup;
|
|
12
13
|
private fiveElement?;
|
|
13
14
|
/** 上一个端点位置 */
|
|
14
15
|
private lastPoint;
|
|
15
16
|
private hammer?;
|
|
17
|
+
private pointSelector;
|
|
16
18
|
/** 根据 intersection 更新放大镜和吸附点 */
|
|
17
19
|
private onIntersectionUpdate;
|
|
18
20
|
constructor(params: ControllerParams);
|
|
@@ -20,6 +22,15 @@ export default class EditController extends BaseController {
|
|
|
20
22
|
getEditingLines(): Line[];
|
|
21
23
|
/** 撤销编辑 */
|
|
22
24
|
revoke: () => void;
|
|
25
|
+
/**
|
|
26
|
+
* @description: 测面积的撤销功能
|
|
27
|
+
*/
|
|
28
|
+
revokeArea: () => void;
|
|
29
|
+
/**
|
|
30
|
+
* @description: 测距的撤销功能
|
|
31
|
+
*/
|
|
32
|
+
revokeLine: (_polyline?: Polyline) => void;
|
|
33
|
+
selectPoint(): void;
|
|
23
34
|
private onMouseLeave;
|
|
24
35
|
/** 编辑线条发生改变时通知外部 */
|
|
25
36
|
private onLineChanged;
|
|
@@ -33,12 +44,9 @@ export default class EditController extends BaseController {
|
|
|
33
44
|
/**
|
|
34
45
|
* 1. 如果存在上一个点,需要绘制当前点到上一个点的连线
|
|
35
46
|
* 2. 把上一个点的位置更新为当前点的位置
|
|
36
|
-
* 3. 清除
|
|
47
|
+
* 3. 清除 pointSelector
|
|
37
48
|
*/
|
|
38
49
|
private onTap;
|
|
39
|
-
private onWantsTapGesture;
|
|
40
|
-
/** 编辑时取消走点 */
|
|
41
|
-
private onWantsToMoveToPano;
|
|
42
50
|
/** 存在长按点时不能移动全景 */
|
|
43
51
|
private onWantsPanGesture;
|
|
44
52
|
/** 移动全景时更新 distanceItem 在屏幕上的位置 */
|
|
@@ -3,7 +3,9 @@ import BaseController, { type ControllerParams } from './BaseController';
|
|
|
3
3
|
export default class WatchController extends BaseController {
|
|
4
4
|
type: string;
|
|
5
5
|
private deleteDom;
|
|
6
|
+
private choose;
|
|
6
7
|
private highlightedLines;
|
|
8
|
+
private highlightedArea;
|
|
7
9
|
private fiveElement?;
|
|
8
10
|
private editPointState?;
|
|
9
11
|
private hammer?;
|
|
@@ -11,6 +13,10 @@ export default class WatchController extends BaseController {
|
|
|
11
13
|
dispose(): void;
|
|
12
14
|
highlightLine(line: Line): void;
|
|
13
15
|
clearHighlightLines(): void;
|
|
16
|
+
private highlightArea;
|
|
17
|
+
private highlightLines;
|
|
18
|
+
private unHighlightLines;
|
|
19
|
+
private unHighlightArea;
|
|
14
20
|
private onPanStart;
|
|
15
21
|
private onPanEnd;
|
|
16
22
|
private onPan;
|
|
@@ -18,9 +24,10 @@ export default class WatchController extends BaseController {
|
|
|
18
24
|
private wantsPanGesture;
|
|
19
25
|
private wantsTapGesture;
|
|
20
26
|
private chooseLine;
|
|
21
|
-
private
|
|
27
|
+
private chooseArea;
|
|
22
28
|
private polylineRemoved;
|
|
23
29
|
private onCameraUpdate;
|
|
24
|
-
private
|
|
30
|
+
private deleteArea;
|
|
31
|
+
private deleteLine;
|
|
25
32
|
private cancelDeleteClickCallback;
|
|
26
33
|
}
|
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
import type { Config } from '../typings';
|
|
2
|
-
import type { OpenParameter, PluginData } from '../typings/data';
|
|
2
|
+
import type { EditParameter, MeasureType, OpenParameter, PluginData } from '../typings/data';
|
|
3
3
|
import type { PanoMeasurePluginEvent } from '../typings/event.type';
|
|
4
|
-
import type { UserDistanceItem } from '../utils/
|
|
4
|
+
import type { UserDistanceItem } from '../utils/dom/distanceItem';
|
|
5
5
|
import type { Polyline } from '../Model/polyline';
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
6
|
+
import EditController from './EditController';
|
|
7
|
+
import ViewController from './ViewController';
|
|
8
|
+
import WatchController from './WatchController';
|
|
9
|
+
import MixedController from './MixedController';
|
|
10
|
+
import { type Five, Subscribe } from '@realsee/five';
|
|
9
11
|
import { type UIControllerParams } from '../Modules/UIController';
|
|
10
12
|
import { type GuideControllerParams } from '../Modules/GuideController';
|
|
13
|
+
import { Magnifier } from '../../shared-utils';
|
|
14
|
+
import type { MagnifierParameter } from '../../shared-utils';
|
|
11
15
|
export type Mode = 'Watch' | 'Edit' | 'Mixed' | 'View';
|
|
12
16
|
export interface PanoMeasureParameterType extends Partial<Config> {
|
|
13
|
-
|
|
17
|
+
editParams?: EditParameter;
|
|
14
18
|
magnifierParams?: MagnifierParameter;
|
|
19
|
+
openParams?: OpenParameter;
|
|
15
20
|
useUIController?: boolean | UIControllerParams;
|
|
16
21
|
useGuideController?: boolean | GuideControllerParams;
|
|
17
22
|
userDistanceItemCreator?: () => UserDistanceItem;
|
|
@@ -20,6 +25,11 @@ export default class MeasureController {
|
|
|
20
25
|
hasOpen: boolean;
|
|
21
26
|
hook: Subscribe<PanoMeasurePluginEvent>;
|
|
22
27
|
magnifier: Magnifier;
|
|
28
|
+
controller: WatchController | EditController | MixedController | ViewController | null;
|
|
29
|
+
/** 允许的测量类型 */
|
|
30
|
+
allowMeasureType: Array<MeasureType>;
|
|
31
|
+
/** 当前的测量类型 */
|
|
32
|
+
currentMeasureType: MeasureType | null;
|
|
23
33
|
private five;
|
|
24
34
|
private model;
|
|
25
35
|
private group;
|
|
@@ -31,7 +41,6 @@ export default class MeasureController {
|
|
|
31
41
|
private useGuideController?;
|
|
32
42
|
private container;
|
|
33
43
|
private shortcutKeyController?;
|
|
34
|
-
private controller;
|
|
35
44
|
constructor(five: Five, params: PanoMeasureParameterType);
|
|
36
45
|
appendTo(parent: HTMLElement): void;
|
|
37
46
|
dispose(): void;
|
|
@@ -51,14 +60,18 @@ export default class MeasureController {
|
|
|
51
60
|
* @description 清除标尺线条
|
|
52
61
|
* @description 还原点位展示和默认鼠标 UI
|
|
53
62
|
*/
|
|
54
|
-
disable()
|
|
63
|
+
disable: () => void;
|
|
55
64
|
getCurrentMode: () => Mode | null;
|
|
56
65
|
/** 变更场景
|
|
57
66
|
* @description 如果从编辑场景改变到观看场景,不会自动保存,默认丢弃所有改动
|
|
58
67
|
*/
|
|
59
68
|
changeMode: (mode: Mode) => void;
|
|
69
|
+
/**
|
|
70
|
+
* @description: 切换测量的类型
|
|
71
|
+
*/
|
|
72
|
+
changeMeasureType: (measureType: MeasureType) => void;
|
|
60
73
|
/** 进入编辑模式 */
|
|
61
|
-
edit(): void;
|
|
74
|
+
edit(measureType?: MeasureType): void;
|
|
62
75
|
/** 撤销编辑 */
|
|
63
76
|
revoke(): void;
|
|
64
77
|
removePolyline(polyline: Polyline): void;
|
|
@@ -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
|
+
}
|
|
@@ -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;
|
|
@@ -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;
|
|
@@ -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
|
+
}
|
|
@@ -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;
|
|
@@ -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;
|
|
@@ -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 {
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import type MeasureController from '../../Controller';
|
|
2
|
+
export type UIMode = 'pc' | 'mobile';
|
|
2
3
|
export interface UIControllerParams {
|
|
3
|
-
container
|
|
4
|
-
mode?:
|
|
4
|
+
container?: Element;
|
|
5
|
+
mode?: UIMode;
|
|
6
|
+
useNewUI?: boolean;
|
|
5
7
|
startButtonText?: string;
|
|
6
8
|
endButtonText?: string;
|
|
7
9
|
revokeButtonText?: string;
|
|
8
10
|
exitButtonText?: string;
|
|
9
11
|
}
|
|
10
|
-
export type UIMode = 'pc' | 'mobile';
|
|
11
12
|
export declare class UIController {
|
|
12
13
|
private revoke?;
|
|
13
14
|
private container;
|
|
@@ -15,6 +16,7 @@ export declare class UIController {
|
|
|
15
16
|
private disposers;
|
|
16
17
|
private measureController;
|
|
17
18
|
private mode;
|
|
19
|
+
private svelteDom?;
|
|
18
20
|
private _params;
|
|
19
21
|
constructor(measureController: MeasureController, params: UIControllerParams);
|
|
20
22
|
dispose(): void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Five, Subscribe } from '@realsee/five';
|
|
2
|
-
import { Group } from 'three';
|
|
2
|
+
import type { Group } from 'three';
|
|
3
3
|
import type { Model } from '../../Model';
|
|
4
4
|
import type { PanoMeasurePluginEvent } from '../../typings/event.type';
|
|
5
5
|
import type FiveHelper from '../FiveHelper';
|
|
@@ -21,6 +21,29 @@ export interface OpenParameter {
|
|
|
21
21
|
isMobile?: boolean;
|
|
22
22
|
crossHairParameter?: CrossHairParameter;
|
|
23
23
|
}
|
|
24
|
+
/** 长度达到一定值时,自动结束线段,null 的话不自动结束 */
|
|
25
|
+
export interface autoEndConfig {
|
|
26
|
+
line?: number | null;
|
|
27
|
+
area?: number | null;
|
|
28
|
+
}
|
|
29
|
+
export type MeasureType = 'line' | 'area';
|
|
30
|
+
export interface EditParameter {
|
|
31
|
+
/**
|
|
32
|
+
* @description 选择测量插件的模式
|
|
33
|
+
* @default ['line']
|
|
34
|
+
* @example
|
|
35
|
+
* ['line']: 传统的测距
|
|
36
|
+
* ['area']: 新增的测面积功能
|
|
37
|
+
* ['line', 'area']: 同时开启测距和测面积功能
|
|
38
|
+
*/
|
|
39
|
+
allowMeasureType?: Array<MeasureType>;
|
|
40
|
+
/**
|
|
41
|
+
* @description: 选点的两种模式, 'fixed' 为固定选点为屏幕中心点,拖动five画布来选点,'mouse' 为跟随鼠标移动
|
|
42
|
+
* @default: 'fixed'
|
|
43
|
+
*/
|
|
44
|
+
pointSelectorMode?: 'fixed' | 'cursor';
|
|
45
|
+
autoEndConfig?: autoEndConfig;
|
|
46
|
+
}
|
|
24
47
|
export interface CrossHairParameter {
|
|
25
48
|
useNormalVector?: boolean;
|
|
26
49
|
ballColor?: number;
|
|
@@ -4,6 +4,7 @@ import type { State } from '../Controller/MixedController';
|
|
|
4
4
|
import type Line from '../Model/line';
|
|
5
5
|
import type Point from '../Model/point';
|
|
6
6
|
import type { Polyline } from '../Model/polyline';
|
|
7
|
+
import type { MeasureType } from './data';
|
|
7
8
|
type ControllerEvent = {
|
|
8
9
|
enable: (userAction: boolean) => void;
|
|
9
10
|
disable: (userAction: boolean) => void;
|
|
@@ -16,13 +17,19 @@ type WatchEvent = {
|
|
|
16
17
|
selectedChange: (lines: Line[]) => void;
|
|
17
18
|
};
|
|
18
19
|
type EditEvent = {
|
|
19
|
-
/**
|
|
20
|
-
* 编辑线条变更
|
|
21
|
-
*/
|
|
20
|
+
/** 编辑线条变更 */
|
|
22
21
|
editedPolylineChange: (polyline: Polyline) => void;
|
|
23
22
|
/** 编辑中的虚线变更 */
|
|
24
23
|
editedDashedLineChange: (line: Line | null) => void;
|
|
25
24
|
anchorChange: (anchor: Vector3 | null) => void;
|
|
25
|
+
/** 测量类型变更 */
|
|
26
|
+
measureTypeChange: (measureTpe: MeasureType) => void;
|
|
27
|
+
/** 差最后一次打点就可以完成完成 */
|
|
28
|
+
readyComplete: () => void;
|
|
29
|
+
/** 一条线段或者一个面积编辑完成 */
|
|
30
|
+
complete: () => void;
|
|
31
|
+
/** 测量面积时,是否可以打点的状态是会一直变的 */
|
|
32
|
+
allowAddPointStateChange: (state: 'allow' | 'forbid') => void;
|
|
26
33
|
};
|
|
27
34
|
type DragEvent = {
|
|
28
35
|
wantsDragLine: (event: {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Config as BaseConfig } from '../../base/BasePlugin';
|
|
2
|
-
import type { UserDistanceItem } from '../utils/
|
|
2
|
+
import type { UserDistanceItem } from '../utils/dom/distanceItem';
|
|
3
3
|
export interface Config extends BaseConfig {
|
|
4
4
|
userDistanceItemCreator?: undefined | (() => UserDistanceItem);
|
|
5
5
|
/** 展示 distance DOM 时,使用的转换函数
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ItemDomParams } from './base';
|
|
2
|
+
import { ItemDom } from './base';
|
|
3
|
+
import type { Five } from '@realsee/five';
|
|
4
|
+
import type { BufferGeometry } from 'three';
|
|
5
|
+
import type Area from '../../Model/area';
|
|
6
|
+
interface AreaItemParams extends ItemDomParams {
|
|
7
|
+
area: Area;
|
|
8
|
+
}
|
|
9
|
+
export declare class AreaItem extends ItemDom {
|
|
10
|
+
protected params: AreaItemParams;
|
|
11
|
+
private area;
|
|
12
|
+
constructor(params: AreaItemParams);
|
|
13
|
+
/**
|
|
14
|
+
* @description: dom 依赖的多边形的顶点的位置更新时,更新 dom 的位置和面积
|
|
15
|
+
*/
|
|
16
|
+
updateArea(five: Five, _geometry?: BufferGeometry): void;
|
|
17
|
+
updateAreaText(area: number, config?: {
|
|
18
|
+
unit?: string;
|
|
19
|
+
fix?: number;
|
|
20
|
+
}): void;
|
|
21
|
+
}
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Vector3 } from 'three';
|
|
2
|
+
import type { Five } from '@realsee/five';
|
|
3
|
+
export interface ItemDomParams {
|
|
4
|
+
clickCallback?: (event: MouseEvent, item: ItemDom) => unknown;
|
|
5
|
+
}
|
|
6
|
+
export declare abstract class ItemDom {
|
|
7
|
+
ndcPosition: Vector3 | null;
|
|
8
|
+
protected contentDom: HTMLElement;
|
|
9
|
+
protected containerDom: HTMLElement;
|
|
10
|
+
protected params: ItemDomParams;
|
|
11
|
+
protected canSelected: boolean;
|
|
12
|
+
constructor(params: ItemDomParams);
|
|
13
|
+
handleClick: (e: MouseEvent) => void;
|
|
14
|
+
setCanSelect(canSelect: boolean): void;
|
|
15
|
+
highlight(): void;
|
|
16
|
+
unHighlight(): void;
|
|
17
|
+
appendTo(container: Element): void;
|
|
18
|
+
remove(): void;
|
|
19
|
+
show(): void;
|
|
20
|
+
hide(): void;
|
|
21
|
+
/**
|
|
22
|
+
* @description: camera update 的时候,更新dom的位置
|
|
23
|
+
*/
|
|
24
|
+
updateDomPosition(five: Five): void;
|
|
25
|
+
}
|