@realsee/dnalogel 2.1.2-alpha.9 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +45 -0
- package/dist/CSS3DRenderPlugin/CSS3DRender.d.ts +167 -0
- package/dist/CSS3DRenderPlugin/Controller.d.ts +81 -0
- package/dist/CSS3DRenderPlugin/index.d.ts +5 -0
- package/dist/CSS3DRenderPlugin/typing.d.ts +26 -0
- package/dist/CSS3DRenderPlugin/utils/CSS3DObjectPlus.d.ts +34 -0
- package/dist/CSS3DRenderPlugin/utils/centerPoint.d.ts +2 -0
- package/dist/CSS3DRenderPlugin/utils/evenNumber.d.ts +3 -0
- package/dist/CSS3DRenderPlugin/utils/index.d.ts +4 -0
- package/dist/CSS3DRenderPlugin/utils/positionToVector3.d.ts +13 -0
- package/dist/CSS3DRenderPlugin/utils/random.d.ts +1 -0
- package/dist/CameraMovementPlugin/CameraMovementPlugin.d.ts +7 -0
- package/dist/CameraMovementPlugin/index.d.ts +5 -0
- package/dist/CameraMovementPlugin/typing.d.ts +68 -0
- package/dist/CruisePlugin/Controller.d.ts +172 -0
- package/dist/CruisePlugin/index.d.ts +6 -0
- package/dist/CruisePlugin/typing.d.ts +134 -0
- package/dist/CruisePlugin/utils/coordinatesAngle.d.ts +12 -0
- package/dist/CruisePlugin/utils/coordinatesToVector.d.ts +7 -0
- package/dist/CruisePlugin/utils/formatRad.d.ts +7 -0
- package/dist/CruisePlugin/utils/linerValue.d.ts +1 -0
- package/dist/CruisePlugin/utils/safeCall.d.ts +1 -0
- package/dist/CruisePlugin/utils/sleep.d.ts +1 -0
- package/dist/CruisePlugin/utils/vectorToCoordinates.d.ts +7 -0
- package/dist/GuideLinePlugin/Controller.d.ts +51 -0
- package/dist/GuideLinePlugin/index.d.ts +5 -0
- package/dist/GuideLinePlugin/typing.d.ts +34 -0
- package/dist/GuideLinePlugin/utils/getArrowMaterial.d.ts +4 -0
- package/dist/GuideLinePlugin/utils/getLineGeometries.d.ts +16 -0
- package/dist/GuideLinePlugin/utils/polyline-normals.d.ts +3 -0
- package/dist/ItemLabelPlugin/Plugin.d.ts +4 -0
- package/dist/ItemLabelPlugin/events.type.d.ts +9 -0
- package/dist/ItemLabelPlugin/index.d.ts +9 -0
- package/dist/ItemLabelPlugin/typings.d.ts +65 -0
- package/dist/ItemLabelPlugin/utils/getLabelTransform.d.ts +1 -0
- package/dist/ItemLabelPlugin/utils/getStrokeLength.d.ts +5 -0
- package/dist/ItemLabelPlugin/utils/isImpacted.d.ts +8 -0
- package/dist/ItemLabelPlugin/utils/parseData.d.ts +3 -0
- package/dist/ItemLabelPlugin/utils/transform2RenderData.d.ts +3 -0
- package/dist/ModelChassisCompassPlugin/Plugin.d.ts +19 -0
- package/dist/ModelChassisCompassPlugin/index.d.ts +4 -0
- package/dist/ModelEntryDoorGuidePlugin/Plugin.d.ts +26 -0
- package/dist/ModelEntryDoorGuidePlugin/index.d.ts +4 -0
- package/dist/ModelItemLabelPlugin/ModelItemLabelPlugin.d.ts +4 -0
- package/dist/ModelItemLabelPlugin/events.type.d.ts +9 -0
- package/dist/ModelItemLabelPlugin/index.d.ts +9 -0
- package/dist/ModelItemLabelPlugin/typings.d.ts +56 -0
- package/dist/ModelItemLabelPlugin/utils/parseData.d.ts +3 -0
- package/dist/ModelRoomLabelPlugin/Assets/roomLabelBg.d.ts +1 -0
- package/dist/ModelRoomLabelPlugin/Controller.d.ts +36 -0
- package/dist/ModelRoomLabelPlugin/index.d.ts +12 -0
- package/dist/ModelRoomLabelPlugin/typings.d.ts +35 -0
- package/dist/ModelRoomLabelPlugin/utils/parseData.d.ts +3 -0
- package/dist/ModelTVVideoPlugin/Plugin.d.ts +4 -0
- package/dist/ModelTVVideoPlugin/index.d.ts +5 -0
- package/dist/ModelTVVideoPlugin/typings.d.ts +25 -0
- package/dist/ModelTVVideoPlugin/utils/parseData.d.ts +2 -0
- package/dist/ModelViewPlugin/Plugin.d.ts +28 -0
- package/dist/ModelViewPlugin/index.d.ts +4 -0
- package/dist/Object3DHelperPlugin/Controller.d.ts +65 -0
- package/dist/Object3DHelperPlugin/FiveControllerWrapper.d.ts +19 -0
- package/dist/Object3DHelperPlugin/index.d.ts +6 -0
- package/dist/Object3DHelperPlugin/typings.d.ts +24 -0
- package/dist/PanoCompassPlugin/Assets/roomInfoIcon.d.ts +1 -0
- package/dist/PanoCompassPlugin/Controller.d.ts +84 -0
- package/dist/PanoCompassPlugin/getRoomInfoInstance.d.ts +8 -0
- package/dist/PanoCompassPlugin/index.d.ts +7 -0
- package/dist/PanoCompassPlugin/typings.d.ts +57 -0
- package/dist/PanoCursorRaycasterPlugin/index.d.ts +48 -0
- package/dist/PanoDoorLabelPlugin/BaseController.d.ts +60 -0
- package/dist/PanoDoorLabelPlugin/Controller.d.ts +37 -0
- package/dist/PanoDoorLabelPlugin/index.d.ts +7 -0
- package/dist/PanoDoorLabelPlugin/typings.d.ts +38 -0
- package/dist/PanoDoorLabelPlugin/utils.d.ts +5 -0
- package/dist/PanoMeasurePlugin/Controller/BaseController.d.ts +43 -0
- package/dist/PanoMeasurePlugin/Controller/EditController.d.ts +48 -0
- package/dist/PanoMeasurePlugin/Controller/MixedController.d.ts +42 -0
- package/dist/PanoMeasurePlugin/Controller/ShortcutKeyController.d.ts +12 -0
- package/dist/PanoMeasurePlugin/Controller/ViewController.d.ts +16 -0
- package/dist/PanoMeasurePlugin/Controller/WatchController.d.ts +26 -0
- package/dist/PanoMeasurePlugin/Controller/index.d.ts +73 -0
- package/dist/PanoMeasurePlugin/Model/index.d.ts +35 -0
- package/dist/PanoMeasurePlugin/Model/line.d.ts +30 -0
- package/dist/PanoMeasurePlugin/Model/point.d.ts +16 -0
- package/dist/PanoMeasurePlugin/Model/polyline.d.ts +16 -0
- package/dist/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete.svg.d.ts +2 -0
- package/dist/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete_bg.png.d.ts +2 -0
- package/dist/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete_hover_bg.png.d.ts +2 -0
- package/dist/PanoMeasurePlugin/Modules/DeleteDom/index.d.ts +25 -0
- package/dist/PanoMeasurePlugin/Modules/FiveHelper.d.ts +11 -0
- package/dist/PanoMeasurePlugin/Modules/GuideController.d.ts +18 -0
- package/dist/PanoMeasurePlugin/Modules/Magnifier.d.ts +59 -0
- package/dist/PanoMeasurePlugin/Modules/UIController/HTML.d.ts +2 -0
- package/dist/PanoMeasurePlugin/Modules/UIController/MainBtnController.d.ts +15 -0
- package/dist/PanoMeasurePlugin/Modules/UIController/Revoke/index.d.ts +13 -0
- package/dist/PanoMeasurePlugin/Modules/UIController/index.d.ts +20 -0
- package/dist/PanoMeasurePlugin/Modules/UIController/mobileHTML.d.ts +4 -0
- package/dist/PanoMeasurePlugin/Modules/UIController/mobileMainBtnController.d.ts +12 -0
- package/dist/PanoMeasurePlugin/Modules/UIController/style.d.ts +16 -0
- package/dist/PanoMeasurePlugin/Modules/rangePiece/html.d.ts +4 -0
- package/dist/PanoMeasurePlugin/Modules/rangePiece/index.d.ts +44 -0
- package/dist/PanoMeasurePlugin/index.d.ts +10 -0
- package/dist/PanoMeasurePlugin/typings/data.d.ts +37 -0
- package/dist/PanoMeasurePlugin/typings/event.type.d.ts +37 -0
- package/dist/PanoMeasurePlugin/typings/index.d.ts +8 -0
- package/dist/PanoMeasurePlugin/utils/calculateThreeMouse.d.ts +10 -0
- package/dist/PanoMeasurePlugin/utils/constants.d.ts +4 -0
- package/dist/PanoMeasurePlugin/utils/distanceDom.d.ts +28 -0
- package/dist/PanoMeasurePlugin/utils/findAssociatedLines.d.ts +2 -0
- package/dist/PanoMeasurePlugin/utils/findClosestPoint.d.ts +10 -0
- package/dist/PanoMeasurePlugin/utils/getIntersectionFromEvent.d.ts +4 -0
- package/dist/PanoMeasurePlugin/utils/getPointFromHammerEvent.d.ts +10 -0
- package/dist/PanoMeasurePlugin/utils/ironbox.d.ts +1 -0
- package/dist/PanoMeasurePlugin/utils/isNDCPointInScreen.d.ts +2 -0
- package/dist/PanoMeasurePlugin/utils/line.d.ts +17 -0
- package/dist/PanoMeasurePlugin/utils/math.d.ts +17 -0
- package/dist/PanoMeasurePlugin/utils/mouseGroup.d.ts +7 -0
- package/dist/PanoMeasurePlugin/utils/ndc2Screen.d.ts +5 -0
- package/dist/PanoRulerPlugin/Plugin.d.ts +34 -0
- package/dist/PanoRulerPlugin/index.d.ts +5 -0
- package/dist/PanoRulerPlugin/style.d.ts +2 -0
- package/dist/PanoRulerPlugin/typings.d.ts +21 -0
- package/dist/PanoRulerProPlugin/Controller.d.ts +15 -0
- package/dist/PanoRulerProPlugin/index.d.ts +8 -0
- package/dist/PanoRulerProPlugin/typings.d.ts +46 -0
- package/dist/PanoSpatialTagPlugin/Plugin.d.ts +35 -0
- package/dist/PanoSpatialTagPlugin/index.d.ts +5 -0
- package/dist/PanoSpatialTagPlugin/store.d.ts +1 -0
- package/dist/PanoSpatialTagPlugin/style.d.ts +1 -0
- package/dist/PanoSpatialTagPlugin/typings.d.ts +40 -0
- package/dist/PanoTagPlugin/Assets/Icon.d.ts +3 -0
- package/dist/PanoTagPlugin/controller/TagCacheController.d.ts +22 -0
- package/dist/PanoTagPlugin/controller/TagComputer.d.ts +69 -0
- package/dist/PanoTagPlugin/controller/index.d.ts +144 -0
- package/dist/PanoTagPlugin/index.d.ts +8 -0
- package/dist/PanoTagPlugin/tag.config.d.ts +7 -0
- package/dist/PanoTagPlugin/typings/controller.d.ts +103 -0
- package/dist/PanoTagPlugin/typings/index.d.ts +2 -0
- package/dist/PanoTagPlugin/typings/tag.d.ts +247 -0
- package/dist/PanoTagPlugin/utils/actionAfterFiveModelLoad.d.ts +2 -0
- package/dist/PanoTagPlugin/utils/addDebugPoints.d.ts +3 -0
- package/dist/PanoTagPlugin/utils/checkRange.d.ts +4 -0
- package/dist/PanoTagPlugin/utils/constants.d.ts +3 -0
- package/dist/PanoTagPlugin/utils/debounce.d.ts +7 -0
- package/dist/PanoTagPlugin/utils/doUtil.d.ts +1 -0
- package/dist/PanoTagPlugin/utils/index.d.ts +12 -0
- package/dist/PanoTagPlugin/utils/noTypecheck.d.ts +1 -0
- package/dist/PanoTagPlugin/utils/normalPositionToPositions.d.ts +2 -0
- package/dist/PanoTagPlugin/utils/planeNormal.d.ts +4 -0
- package/dist/PanoTagPlugin/utils/resizeObserver.d.ts +4 -0
- package/dist/PanoTagPlugin/utils/search.d.ts +11 -0
- package/dist/PanoTagPlugin/utils/tagPosition.d.ts +3 -0
- package/dist/PanoTagPlugin/utils/throttle.d.ts +7 -0
- package/dist/base/BasePlugin.d.ts +106 -0
- package/dist/base/BasePluginWithData.d.ts +34 -0
- package/dist/components/PaintBrush/Controller.d.ts +43 -0
- package/dist/components/PaintBrush/Subscribe.d.ts +76 -0
- package/dist/components/PaintBrush/index.d.ts +27 -0
- package/dist/components/PaintBrush/style.d.ts +2 -0
- package/dist/components/PaintBrush/tween.d.ts +7 -0
- package/dist/components/PaintBrush/typings.d.ts +58 -0
- package/dist/components/PaintBrush/utils.d.ts +26 -0
- package/dist/components/index.d.ts +2 -0
- package/dist/env.d.ts +1 -0
- package/dist/floorplan/Assets/camera.d.ts +1 -0
- package/dist/floorplan/Assets/compass.d.ts +1 -0
- package/dist/floorplan/Assets/floorplanExtraObject.d.ts +1 -0
- package/dist/floorplan/MapviewFloorplanPlugin/Controller.d.ts +97 -0
- package/dist/floorplan/MapviewFloorplanPlugin/index.d.ts +7 -0
- package/dist/floorplan/MapviewFloorplanPlugin/typing.d.ts +1 -0
- package/dist/floorplan/ModelFloorplanPlugin/Controller.d.ts +99 -0
- package/dist/floorplan/ModelFloorplanPlugin/index.d.ts +7 -0
- package/dist/floorplan/ModelFloorplanPlugin/typing.d.ts +1 -0
- package/dist/floorplan/PanoFloorplanRadarPlugin/Controller.d.ts +36 -0
- package/dist/floorplan/PanoFloorplanRadarPlugin/index.d.ts +7 -0
- package/dist/floorplan/PanoFloorplanRadarPlugin/typing.d.ts +52 -0
- package/dist/floorplan/TopviewFloorplanPlugin/Controller.d.ts +69 -0
- package/dist/floorplan/TopviewFloorplanPlugin/index.d.ts +7 -0
- package/dist/floorplan/TopviewFloorplanPlugin/typing.d.ts +11 -0
- package/dist/floorplan/constant.d.ts +5 -0
- package/dist/floorplan/index.d.ts +7 -0
- package/dist/floorplan/typings/floorplanData.d.ts +137 -0
- package/dist/floorplan/typings/floorplanServerData.d.ts +144 -0
- package/dist/floorplan/typings/index.d.ts +117 -0
- package/dist/floorplan/typings/utility.d.ts +2 -0
- package/dist/floorplan/utils/constant.d.ts +22 -0
- package/dist/floorplan/utils/correctFiveState.d.ts +15 -0
- package/dist/floorplan/utils/formatData.d.ts +5 -0
- package/dist/floorplan/utils/formatPosition.d.ts +36 -0
- package/dist/index.d.ts +23 -0
- package/dist/shared-utils/Object3DHelper/Base/BaseController.d.ts +48 -0
- package/dist/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +91 -0
- package/dist/shared-utils/Object3DHelper/Constants/color.d.ts +12 -0
- package/dist/shared-utils/Object3DHelper/Controller/CSS3DScaleController.d.ts +6 -0
- package/dist/shared-utils/Object3DHelper/Controller/MoveController.d.ts +13 -0
- package/dist/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +37 -0
- package/dist/shared-utils/Object3DHelper/Controller/RotateController.d.ts +22 -0
- package/dist/shared-utils/Object3DHelper/Helper/HTML/rectangleScaleDom.d.ts +11 -0
- package/dist/shared-utils/Object3DHelper/Helper/HTML/tipsDom.d.ts +6 -0
- package/dist/shared-utils/Object3DHelper/Helper/HTML/utils/createElement.d.ts +2 -0
- package/dist/shared-utils/Object3DHelper/Helper/MoveHelper.d.ts +13 -0
- package/dist/shared-utils/Object3DHelper/Helper/Objects/ArrowGroup.d.ts +17 -0
- package/dist/shared-utils/Object3DHelper/Helper/OutlineHelper.d.ts +11 -0
- package/dist/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +40 -0
- package/dist/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +55 -0
- package/dist/shared-utils/Object3DHelper/Helper/index.d.ts +5 -0
- package/dist/shared-utils/Object3DHelper/index.d.ts +71 -0
- package/dist/shared-utils/Object3DHelper/typings/Direction.d.ts +2 -0
- package/dist/shared-utils/Object3DHelper/typings/Hooks.d.ts +45 -0
- package/dist/shared-utils/Object3DHelper/typings/Scissor.d.ts +17 -0
- package/dist/shared-utils/Object3DHelper/typings/index.d.ts +5 -0
- package/dist/shared-utils/Object3DHelper/utils/calculateThreeMouse.d.ts +14 -0
- package/dist/shared-utils/Object3DHelper/utils/direction.d.ts +14 -0
- package/dist/shared-utils/Object3DHelper/utils/filterNotColinearPoints.d.ts +2 -0
- package/dist/shared-utils/Object3DHelper/utils/getMouseRaycaster.d.ts +5 -0
- package/dist/shared-utils/Object3DHelper/utils/getPoint.d.ts +3 -0
- package/dist/shared-utils/Object3DHelper/utils/index.d.ts +8 -0
- package/dist/shared-utils/Object3DHelper/utils/normalPositionToPositions.d.ts +5 -0
- package/dist/shared-utils/Object3DHelper/utils/object3DBoundingPosition.d.ts +1 -0
- package/dist/shared-utils/Object3DHelper/utils/threex/domevents/index.d.ts +34 -0
- package/dist/shared-utils/Object3DHelper/utils/vectorIsEqual.d.ts +2 -0
- package/dist/shared-utils/Subscribe.d.ts +60 -0
- package/dist/shared-utils/animationFrame/BetterTween.d.ts +11 -0
- package/dist/shared-utils/animationFrame/calculateProgress.d.ts +8 -0
- package/dist/shared-utils/animationFrame/formatRad.d.ts +15 -0
- package/dist/shared-utils/animationFrame/index.d.ts +16 -0
- package/dist/shared-utils/animationFrame/tween.d.ts +75 -0
- package/dist/shared-utils/changeModelCanvasOpacity.d.ts +2 -0
- package/dist/shared-utils/createCanvasTextTexture.d.ts +8 -0
- package/dist/shared-utils/createLine/index.d.ts +3 -0
- package/dist/shared-utils/debounce.d.ts +6 -0
- package/dist/shared-utils/equal.d.ts +11 -0
- package/dist/shared-utils/filter.d.ts +27 -0
- package/dist/shared-utils/five/changeMode.d.ts +5 -0
- package/dist/shared-utils/getPxmm.d.ts +19 -0
- package/dist/shared-utils/index.d.ts +4 -0
- package/dist/shared-utils/isNil.d.ts +10 -0
- package/dist/shared-utils/isTruelyObject.d.ts +18 -0
- package/dist/shared-utils/math/Interval.d.ts +13 -0
- package/dist/shared-utils/math/Rectangle.d.ts +27 -0
- package/dist/shared-utils/math/index.d.ts +2 -0
- package/dist/shared-utils/math/planimetry.d.ts +116 -0
- package/dist/shared-utils/math/rad2Deg.d.ts +1 -0
- package/dist/shared-utils/nearlyEqual.d.ts +7 -0
- package/dist/shared-utils/nextFrame.d.ts +1 -0
- package/dist/shared-utils/noop.d.ts +5 -0
- package/dist/shared-utils/object3d2LocalMatrix.d.ts +12 -0
- package/dist/shared-utils/removeArrayItem.d.ts +7 -0
- package/dist/shared-utils/tap.d.ts +8 -0
- package/dist/shared-utils/three/Assets/index.d.ts +3 -0
- package/dist/shared-utils/three/FivePointSelector.d.ts +36 -0
- package/dist/shared-utils/three/Magnifier.d.ts +53 -0
- package/dist/shared-utils/three/PointDomHelper.d.ts +18 -0
- package/dist/shared-utils/three/PointHelper.d.ts +21 -0
- package/dist/shared-utils/three/getCoords.d.ts +9 -0
- package/dist/shared-utils/three/getIntersect.d.ts +6 -0
- package/dist/shared-utils/three/getRaycaster.d.ts +6 -0
- package/dist/shared-utils/three/index.d.ts +7 -0
- package/dist/shared-utils/three/loadTexture.d.ts +2 -0
- package/dist/shared-utils/three/transformPositionToVector3.d.ts +7 -0
- package/dist/shared-utils/three/transfromToMeshBasicMaterial.d.ts +2 -0
- package/dist/shared-utils/throttle.d.ts +7 -0
- package/dist/shared-utils/tinyEJSrender.d.ts +5 -0
- package/dist/shared-utils/to.d.ts +8 -0
- package/dist/shared-utils/uuid.d.ts +5 -0
- package/dist/typings/math.type.d.ts +44 -0
- package/docs/assets/highlight.css +35 -0
- package/docs/classes/CruisePluginController.html +24 -24
- package/docs/classes/Magnifier.html +16 -16
- package/docs/classes/ModelRoomLabelController.html +11 -11
- package/docs/classes/Object3DHelperController.html +24 -24
- package/docs/classes/PaintBrush.html +15 -15
- package/docs/classes/PanoTagPluginController.html +39 -39
- package/docs/classes/Util.BetterTween.html +8 -8
- package/docs/classes/Util.FivePointSelector.html +12 -12
- package/docs/classes/Util.Interval.html +12 -12
- package/docs/classes/Util.Magnifier.html +17 -17
- package/docs/classes/Util.PointDomHelper.html +11 -11
- package/docs/classes/Util.PointHelper.html +11 -11
- package/docs/classes/Util.Rectangle.html +13 -13
- package/docs/enums/CameraMovementEffect.html +7 -7
- package/docs/enums/ContentType.html +12 -12
- package/docs/enums/DIRECTION.html +9 -9
- package/docs/enums/DISPLAY_STRATEGY_TYPE.html +9 -9
- package/docs/enums/DimensionType.html +7 -7
- package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +8 -8
- package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +9 -9
- package/docs/enums/LinkType.html +7 -7
- package/docs/enums/PaintBrushTypeEnum.html +8 -8
- package/docs/enums/PointType.html +7 -7
- package/docs/enums/Rotation.html +8 -8
- package/docs/functions/CSS3DRenderPlugin.html +4 -4
- package/docs/functions/CameraMovementPlugin.html +4 -4
- package/docs/functions/CruisePlugin.html +4 -4
- package/docs/functions/GuideLinePlugin.html +5 -5
- package/docs/functions/ItemLabelPlugin.html +4 -4
- package/docs/functions/MapviewFloorplanPlugin.html +4 -4
- package/docs/functions/ModelChassisCompassPlugin.html +4 -4
- package/docs/functions/ModelEntryDoorGuidePlugin.html +4 -4
- package/docs/functions/ModelFloorplanPlugin.html +4 -4
- package/docs/functions/ModelItemLabelPlugin.html +4 -4
- package/docs/functions/ModelRoomLabelPlugin.html +4 -4
- package/docs/functions/ModelTVVideoPlugin.html +4 -4
- package/docs/functions/ModelViewPlugin.html +4 -4
- package/docs/functions/Object3DHelperPlugin.html +4 -4
- package/docs/functions/PanoCompassPlugin.html +4 -4
- package/docs/functions/PanoCursorRaycasterPlugin.html +4 -4
- package/docs/functions/PanoDoorLabelPlugin.html +4 -4
- package/docs/functions/PanoFloorplanRadarPlugin.html +4 -4
- package/docs/functions/PanoMeasurePlugin.html +4 -4
- package/docs/functions/PanoRulerPlugin.html +4 -4
- package/docs/functions/PanoRulerProPlugin.html +4 -4
- package/docs/functions/PanoSpatialTagPlugin.html +4 -4
- package/docs/functions/PanoTagPlugin.html +4 -4
- package/docs/functions/TopviewFloorplanPlugin.html +4 -4
- package/docs/functions/Util.getCoordsFromClient.html +5 -5
- package/docs/functions/Util.getCoordsFromElement.html +5 -5
- package/docs/functions/Util.getFrameTime.html +5 -5
- package/docs/functions/Util.getIntersectFromRelativePosition.html +5 -5
- package/docs/functions/Util.getRaycasterFromFivePointer.html +5 -5
- package/docs/functions/Util.isNil.html +5 -5
- package/docs/functions/Util.nextFrame.html +5 -5
- package/docs/functions/Util.notNil.html +5 -5
- package/docs/functions/Util.requestAnimationFrameInterval.html +5 -5
- package/docs/functions/Util.tweenProgress.html +5 -5
- package/docs/functions/pluginFlag.html +5 -5
- package/docs/index.html +25 -4
- package/docs/interfaces/CSS3DRenderPluginEventMap.html +11 -11
- package/docs/interfaces/CSS3DRenderPluginState.html +8 -8
- package/docs/interfaces/CameraMovementPluginExportType.html +7 -7
- package/docs/interfaces/ContentTypeMap.html +12 -12
- package/docs/interfaces/FloorplanBounding.html +8 -8
- package/docs/interfaces/FloorplanData.html +10 -10
- package/docs/interfaces/FloorplanEntrance.html +11 -11
- package/docs/interfaces/FloorplanExtraObject.html +10 -10
- package/docs/interfaces/FloorplanExtraObject3D.html +8 -8
- package/docs/interfaces/FloorplanFloorData.html +9 -9
- package/docs/interfaces/FloorplanImagePosition.html +7 -7
- package/docs/interfaces/FloorplanObserver.html +9 -9
- package/docs/interfaces/FloorplanOutlineItem.html +9 -9
- package/docs/interfaces/FloorplanPosition.html +7 -7
- package/docs/interfaces/FloorplanRoomItem.html +13 -13
- package/docs/interfaces/FloorplanRoomLabelItem.html +7 -7
- package/docs/interfaces/FloorplanServerBounding.html +8 -8
- package/docs/interfaces/FloorplanServerComputedData.html +10 -10
- package/docs/interfaces/FloorplanServerData.html +7 -7
- package/docs/interfaces/FloorplanServerDoorItem.html +10 -10
- package/docs/interfaces/FloorplanServerDoorPosition.html +8 -8
- package/docs/interfaces/FloorplanServerEntrance.html +11 -11
- package/docs/interfaces/FloorplanServerFloorData.html +9 -9
- package/docs/interfaces/FloorplanServerImagePosition.html +7 -7
- package/docs/interfaces/FloorplanServerObserver.html +9 -9
- package/docs/interfaces/FloorplanServerOutlineItem.html +9 -9
- package/docs/interfaces/FloorplanServerPosition.html +7 -7
- package/docs/interfaces/FloorplanServerRoomItem.html +14 -14
- package/docs/interfaces/FloorplanServerRoomLabelItem.html +7 -7
- package/docs/interfaces/ItemLabelPluginData.html +6 -6
- package/docs/interfaces/ItemLabelPluginExportReturnsType.html +11 -11
- package/docs/interfaces/ItemLabelPluginParametersType.html +9 -9
- package/docs/interfaces/LineJson.html +7 -7
- package/docs/interfaces/ModelChassisCompassPluginData.html +7 -7
- package/docs/interfaces/ModelChassisCompassPluginExportType.html +8 -8
- package/docs/interfaces/ModelChassisCompassPluginParameterType.html +7 -7
- package/docs/interfaces/ModelEntryDoorGuidePluginData.html +8 -8
- package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +8 -8
- package/docs/interfaces/ModelItemLabelPluginData.html +6 -6
- package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +11 -11
- package/docs/interfaces/ModelItemLabelPluginParametersType.html +7 -7
- package/docs/interfaces/ModelRoomLabelPluginData.html +6 -6
- package/docs/interfaces/ModelTVVideoPluginData.html +9 -9
- package/docs/interfaces/ModelTVVideoPluginExportType.html +8 -8
- package/docs/interfaces/ModelTVVideoPluginParameterType.html +6 -6
- package/docs/interfaces/ModelViewPluginExportType.html +8 -8
- package/docs/interfaces/Object3DHelperState.html +8 -8
- package/docs/interfaces/OpenParameter.html +7 -7
- package/docs/interfaces/PaintBrushAction.html +12 -12
- package/docs/interfaces/PaintBrushConfigs.html +12 -12
- package/docs/interfaces/PaintBrushState.html +10 -10
- package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +10 -10
- package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +5 -5
- package/docs/interfaces/PanoMeasureParameterType.html +11 -11
- package/docs/interfaces/PanoRulerPluginExportType.html +10 -10
- package/docs/interfaces/PanoRulerPluginOptions.html +7 -7
- package/docs/interfaces/PanoRulerPluginParameterType.html +8 -8
- package/docs/interfaces/PanoRulerProPluginExportType.html +9 -9
- package/docs/interfaces/PanoRulerProPluginOptions.html +7 -7
- package/docs/interfaces/PanoRulerProPluginParameterType.html +7 -7
- package/docs/interfaces/PanoRulerProPluginState.html +8 -8
- package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +5 -5
- package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +5 -5
- package/docs/interfaces/PanoSpatialTagPluginData.html +11 -11
- package/docs/interfaces/PanoSpatialTagPluginDataElement.html +10 -10
- package/docs/interfaces/PanoSpatialTagPluginExportType.html +13 -13
- package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +10 -10
- package/docs/interfaces/PanoSpatialTagPluginParameterType.html +13 -13
- package/docs/interfaces/PanoSpatialTagPluginPointElement.html +11 -11
- package/docs/interfaces/PanoSpatialTagPluginTagElement.html +10 -10
- package/docs/interfaces/Point.html +8 -8
- package/docs/interfaces/PointJson.html +8 -8
- package/docs/interfaces/Room.html +9 -9
- package/docs/interfaces/RoomInfo.html +7 -7
- package/docs/interfaces/RoomLabel.html +14 -14
- package/docs/interfaces/RoomRules.html +5 -5
- package/docs/interfaces/Rooms.html +5 -5
- package/docs/interfaces/Scissor.html +9 -9
- package/docs/interfaces/TagConfig.html +10 -10
- package/docs/interfaces/Tags.html +9 -9
- package/docs/interfaces/Util.MagnifierParameter.html +11 -11
- package/docs/interfaces/Util.MouseGroupParameter.html +8 -8
- package/docs/modules/Util.html +5 -5
- package/docs/modules.html +4 -4
- package/docs/types/ArrayPosition.html +5 -5
- package/docs/types/CSS3DRenderExportType.html +5 -5
- package/docs/types/CSS3DRenderPluginExportType.html +5 -5
- package/docs/types/CSS3DRenderPluginParameterType.html +5 -5
- package/docs/types/Color.html +5 -5
- package/docs/types/ContentTypeConfigKey.html +5 -5
- package/docs/types/ContentTypeConfigKeyArray.html +5 -5
- package/docs/types/Create3DDomContainerReturnType.html +5 -5
- package/docs/types/Create3DElementReturnType.html +5 -5
- package/docs/types/CruisePluginExportType.html +5 -5
- package/docs/types/Direction-1.html +5 -5
- package/docs/types/Direction4.html +5 -5
- package/docs/types/FloorplanRuleLabels.html +5 -5
- package/docs/types/FloorplanServerRuleLabels.html +5 -5
- package/docs/types/GuideLinePluginExportType.html +5 -5
- package/docs/types/HelperEventMap.html +5 -5
- package/docs/types/MapviewFloorplanPluginParameterType.html +5 -5
- package/docs/types/MapviewFloorplanPluginReturnType.html +5 -5
- package/docs/types/MediaData.html +5 -5
- package/docs/types/ModelEntryDoorGuidePluginParameterType.html +5 -5
- package/docs/types/ModelFloorplanPluginParameterType.html +5 -5
- package/docs/types/ModelFloorplanPluginReturnType.html +5 -5
- package/docs/types/ModelRoomLabelPluginParameters.html +5 -5
- package/docs/types/ModelRoomLabelPluginReturnType.html +5 -5
- package/docs/types/MoveArgs.html +5 -5
- package/docs/types/MoveOpts.html +5 -5
- package/docs/types/Object3DHelperEventMap.html +5 -5
- package/docs/types/ObjectFit.html +5 -5
- package/docs/types/PaintBrushEventMap.html +5 -5
- package/docs/types/PanoCompassPluginData.html +5 -5
- package/docs/types/PanoCompassPluginExportType.html +5 -5
- package/docs/types/PanoCompassPluginParameterType.html +5 -5
- package/docs/types/PanoFloorplanRadarPluginParameterType.html +5 -5
- package/docs/types/PanoFloorplanRadarPluginReturnType.html +5 -5
- package/docs/types/PanoMeasurePluginEvent.html +5 -5
- package/docs/types/PanoMeasureReturnType.html +5 -5
- package/docs/types/PanoSpatialTagPluginId.html +5 -5
- package/docs/types/PanoTagPluginExportInterface.html +5 -5
- package/docs/types/PanoTagPluginParamsInterface.html +5 -5
- package/docs/types/PlaneTag.html +5 -5
- package/docs/types/PointTag.html +5 -5
- package/docs/types/Position.html +5 -5
- package/docs/types/RotateArgs.html +5 -5
- package/docs/types/RotateOpts.html +5 -5
- package/docs/types/RuleLabelsKey.html +5 -5
- package/docs/types/RuleLabelsValue.html +5 -5
- package/docs/types/Tag.html +5 -5
- package/docs/types/Tag2D.html +5 -5
- package/docs/types/Tag3D.html +5 -5
- package/docs/types/TagId.html +5 -5
- package/docs/types/TopviewFloorplanPluginParameterType.html +5 -5
- package/docs/types/TopviewFloorplanPluginReturnType.html +5 -5
- package/docs/variables/FLOOR_TYPE_MAP.html +5 -5
- package/docs/variables/PLUGIN.html +5 -5
- package/docs/variables/ROOM_FETILE_TYPE_MAP.html +5 -5
- package/docs/variables/ROOM_TYPE_MAP.html +5 -5
- package/docs/variables/VERSION.html +5 -5
- package/docs/variables/itemLabelPluginServerParams.html +5 -5
- package/docs/variables/modelItemLabelPluginServerParams.html +5 -5
- package/docs/variables/modelRoomLabelPluginServerParams.html +5 -5
- package/package.json +4 -8
- package/dist/index.es.js +0 -16650
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export interface ModelRoomLabelPluginData {
|
|
2
|
+
model_room_labels: Readonly<{
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
longitude: number;
|
|
6
|
+
pano_index: number;
|
|
7
|
+
floor_index: number;
|
|
8
|
+
position: {
|
|
9
|
+
x: number;
|
|
10
|
+
y: number;
|
|
11
|
+
z: number;
|
|
12
|
+
};
|
|
13
|
+
}>[];
|
|
14
|
+
}
|
|
15
|
+
export interface RoomLabel {
|
|
16
|
+
/** 房屋 ID */
|
|
17
|
+
readonly id: string;
|
|
18
|
+
/** 房屋名 */
|
|
19
|
+
readonly name: string;
|
|
20
|
+
/** 走到对应 panoIndex 时 five 的水平角度 */
|
|
21
|
+
readonly longitude: number;
|
|
22
|
+
/** 点击标签会走到的 panoIndex */
|
|
23
|
+
readonly panoIndex: number;
|
|
24
|
+
/** 所处楼层 */
|
|
25
|
+
readonly floorIndex: number;
|
|
26
|
+
/** 引导标签的三维坐标,一般是房屋中心点 */
|
|
27
|
+
readonly position: {
|
|
28
|
+
x: number;
|
|
29
|
+
y: number;
|
|
30
|
+
z: number;
|
|
31
|
+
};
|
|
32
|
+
zIndex: number;
|
|
33
|
+
visible: boolean;
|
|
34
|
+
transform: string;
|
|
35
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { FivePlugin } from '@realsee/five';
|
|
2
|
+
import type { ModelTVVideoPluginExportType, ModelTVVideoPluginParameterType } from './typings';
|
|
3
|
+
export declare const ModelTVVideoPlugin: FivePlugin<ModelTVVideoPluginParameterType, ModelTVVideoPluginExportType>;
|
|
4
|
+
export default ModelTVVideoPlugin;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import ModelTVVideoPlugin from './Plugin';
|
|
2
|
+
export { ModelTVVideoPlugin };
|
|
3
|
+
export default ModelTVVideoPlugin;
|
|
4
|
+
export type { ModelTVVideoPluginParameterType, ModelTVVideoPluginData, Point, ModelTVVideoPluginExportType } from './typings';
|
|
5
|
+
export { DIRECTION } from './typings';
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export interface ModelTVVideoPluginParameterType {
|
|
2
|
+
videoElement?: HTMLVideoElement;
|
|
3
|
+
}
|
|
4
|
+
export declare enum DIRECTION {
|
|
5
|
+
TOP_LEFT = "topLeft",
|
|
6
|
+
TOP_RIGHT = "topRight",
|
|
7
|
+
BOTTOM_LEFT = "bottomLeft",
|
|
8
|
+
BOTTOM_RIGHT = "bottomRight"
|
|
9
|
+
}
|
|
10
|
+
export interface Point {
|
|
11
|
+
x: number;
|
|
12
|
+
y: number;
|
|
13
|
+
z: number;
|
|
14
|
+
}
|
|
15
|
+
export interface ModelTVVideoPluginData {
|
|
16
|
+
enable?: boolean;
|
|
17
|
+
video_src: string;
|
|
18
|
+
video_poster_src: string;
|
|
19
|
+
points: Point[][] | Record<DIRECTION, Point>[];
|
|
20
|
+
}
|
|
21
|
+
export interface ModelTVVideoPluginExportType {
|
|
22
|
+
enable: () => void;
|
|
23
|
+
disable: () => void;
|
|
24
|
+
load: (data: ModelTVVideoPluginData, videoElement?: HTMLVideoElement) => Promise<void>;
|
|
25
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { PartialDeep } from 'type-fest';
|
|
2
|
+
import { FivePlugin } from '@realsee/five';
|
|
3
|
+
export interface Config {
|
|
4
|
+
lookAtCurrentCamera: boolean;
|
|
5
|
+
lockedPanoIndex: number | null;
|
|
6
|
+
lockedLatitude: number | null;
|
|
7
|
+
lockedLongitude: number | null;
|
|
8
|
+
}
|
|
9
|
+
export interface ModelViewPluginExportType {
|
|
10
|
+
appendTo: (element: HTMLElement, size?: {
|
|
11
|
+
width?: number;
|
|
12
|
+
height?: number;
|
|
13
|
+
}) => void;
|
|
14
|
+
refresh: (size?: {
|
|
15
|
+
width?: number;
|
|
16
|
+
height?: number;
|
|
17
|
+
}) => void;
|
|
18
|
+
changeConfigs: (config: Partial<Config>) => void;
|
|
19
|
+
}
|
|
20
|
+
export interface ModelViewPluginParameterType {
|
|
21
|
+
config: Config;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Five 模型插件
|
|
25
|
+
* @template ExportType 导出方法
|
|
26
|
+
*/
|
|
27
|
+
export declare const ModelViewPlugin: FivePlugin<PartialDeep<ModelViewPluginParameterType> | undefined, ModelViewPluginExportType>;
|
|
28
|
+
export default ModelViewPlugin;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { Five } from '@realsee/five';
|
|
2
|
+
import * as BasePlugin from '../base/BasePlugin';
|
|
3
|
+
import type * as THREE from 'three';
|
|
4
|
+
import { Object3DHelper } from '../shared-utils/Object3DHelper';
|
|
5
|
+
import type { Object3DHelperState } from '../shared-utils/Object3DHelper/typings';
|
|
6
|
+
import type { Object3DHelperPluginEventMap, Object3DHelperPluginState } from './typings';
|
|
7
|
+
export declare const VERSION = "v1.0.0";
|
|
8
|
+
export declare const PLUGIN: string;
|
|
9
|
+
export declare class Object3DHelperController extends BasePlugin.Controller<Object3DHelperPluginState, Object3DHelperPluginEventMap> {
|
|
10
|
+
version: string;
|
|
11
|
+
name: string;
|
|
12
|
+
state: Object3DHelperState;
|
|
13
|
+
objectHelperMap: Map<THREE.Object3D, Object3DHelper>;
|
|
14
|
+
constructor(five: Five);
|
|
15
|
+
/**
|
|
16
|
+
* @description Show guide line
|
|
17
|
+
*/
|
|
18
|
+
show(options?: {
|
|
19
|
+
userAction?: boolean;
|
|
20
|
+
}): Promise<void>;
|
|
21
|
+
/**
|
|
22
|
+
* @description Hide guide line
|
|
23
|
+
*/
|
|
24
|
+
hide(options?: {
|
|
25
|
+
userAction?: boolean;
|
|
26
|
+
}): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* @description Enable
|
|
29
|
+
*/
|
|
30
|
+
enable(options?: {
|
|
31
|
+
userAction?: boolean;
|
|
32
|
+
}): void;
|
|
33
|
+
/**
|
|
34
|
+
* @description Disable
|
|
35
|
+
*/
|
|
36
|
+
disable(options?: {
|
|
37
|
+
userAction?: boolean;
|
|
38
|
+
}): void;
|
|
39
|
+
/**
|
|
40
|
+
* @description Dispose
|
|
41
|
+
*/
|
|
42
|
+
dispose(): void;
|
|
43
|
+
setState(state: Partial<Object3DHelperState>, options?: {
|
|
44
|
+
userAction?: boolean;
|
|
45
|
+
} & Record<string, any>): void;
|
|
46
|
+
getObject3DHelper(object3D: THREE.Object3D): Object3DHelper;
|
|
47
|
+
/**
|
|
48
|
+
* @description 添加 helper
|
|
49
|
+
* @param { THREE.Object3D } object3D 要添加helper的物体
|
|
50
|
+
* @param { boolean } config.moveHelper 位移helper
|
|
51
|
+
* @param { boolean } config.rotateHelper 旋转helper
|
|
52
|
+
* @param { boolean } config.scaleHelper 缩放helper
|
|
53
|
+
*/
|
|
54
|
+
addObject3DHelper(object3D: THREE.Object3D, config?: {
|
|
55
|
+
moveHelper?: boolean;
|
|
56
|
+
rotateHelper?: boolean;
|
|
57
|
+
scaleHelper?: boolean;
|
|
58
|
+
}): void;
|
|
59
|
+
removeObject3DHelper(object3D: THREE.Object3D): void;
|
|
60
|
+
private handleEnable;
|
|
61
|
+
private handleVisible;
|
|
62
|
+
private handleDispose;
|
|
63
|
+
private everyHelperDo;
|
|
64
|
+
private actionIfStateIsEnabled;
|
|
65
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description: 将手势操作绑定到controller上
|
|
3
|
+
*/
|
|
4
|
+
import type { Five } from '@realsee/five';
|
|
5
|
+
import type { BaseController } from '../shared-utils/Object3DHelper/Base/BaseController';
|
|
6
|
+
import type * as THREE from 'three';
|
|
7
|
+
import type { BaseHelper } from '../shared-utils/Object3DHelper/Helper';
|
|
8
|
+
declare class ControllerWrapper<Helper extends BaseHelper = BaseHelper, Controller extends BaseController = BaseController<Helper>> {
|
|
9
|
+
helperController?: Controller;
|
|
10
|
+
private five;
|
|
11
|
+
constructor(five: Five, HelperController: new (...params: ConstructorParameters<typeof BaseController<Helper>>) => Controller, object: THREE.Object3D, helperObjects: Helper);
|
|
12
|
+
private onFiveWantsTapGesture;
|
|
13
|
+
private onFiveWantsGesture;
|
|
14
|
+
}
|
|
15
|
+
declare const controllerWrapper: <Helper extends BaseHelper<THREE.Object3D> = BaseHelper<THREE.Object3D>, Controller extends BaseController<BaseHelper<THREE.Object3D>, THREE.Object3D> = BaseController<Helper, THREE.Object3D>>(five: Five, HelperController: new (camera: THREE.Camera, model: THREE.Object3D, originObject3D: THREE.Object3D, helperObject3D: Helper, container: HTMLElement, scene: THREE.Scene, onRender?: () => void) => Controller, object: THREE.Object3D, helperObjects: Helper) => ControllerWrapper<Helper, Controller>;
|
|
16
|
+
export { ControllerWrapper };
|
|
17
|
+
export { controllerWrapper };
|
|
18
|
+
export { ControllerWrapper as FiveControllerWrapper };
|
|
19
|
+
export { controllerWrapper as fiveControllerWrapper };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from '../shared-utils/Object3DHelper/typings';
|
|
2
|
+
export * from './Controller';
|
|
3
|
+
import type { FivePlugin } from '@realsee/five';
|
|
4
|
+
import { Object3DHelperController } from './Controller';
|
|
5
|
+
export declare const Object3DHelperPlugin: FivePlugin<void, InstanceType<typeof Object3DHelperController>>;
|
|
6
|
+
export default Object3DHelperPlugin;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export interface Object3DHelperPluginState {
|
|
2
|
+
enabled: boolean;
|
|
3
|
+
visible: boolean;
|
|
4
|
+
disposed: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare type Object3DHelperPluginEventMap = {
|
|
7
|
+
show: (options?: {
|
|
8
|
+
userAction?: boolean;
|
|
9
|
+
}) => void;
|
|
10
|
+
hide: (options?: {
|
|
11
|
+
userAction?: boolean;
|
|
12
|
+
}) => void;
|
|
13
|
+
enable: (options?: {
|
|
14
|
+
userAction?: boolean;
|
|
15
|
+
}) => void;
|
|
16
|
+
disable: (options?: {
|
|
17
|
+
userAction?: boolean;
|
|
18
|
+
}) => void;
|
|
19
|
+
dispose: () => void;
|
|
20
|
+
stateChange: (params: {
|
|
21
|
+
state: Object3DHelperPluginState;
|
|
22
|
+
prevState?: Object3DHelperPluginState;
|
|
23
|
+
}) => void;
|
|
24
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const roomInfoIcon = "data:image/png;base64,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";
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { Five } from '@realsee/five';
|
|
2
|
+
import type { BaseOptions } from '../base/BasePlugin';
|
|
3
|
+
import * as BasePlugin from '../base/BasePluginWithData';
|
|
4
|
+
import type { EventMap, PanoCompassPluginData, PanoCompassPluginParameterType, PluginData, PluginServerData, State } from './typings';
|
|
5
|
+
export declare class PanoCompassController extends BasePlugin.Controller<State, EventMap, PluginServerData, PluginData> {
|
|
6
|
+
/**
|
|
7
|
+
* 默认状态
|
|
8
|
+
*/
|
|
9
|
+
state: State;
|
|
10
|
+
data?: PanoCompassPluginData;
|
|
11
|
+
private group;
|
|
12
|
+
private roomInfoInstance?;
|
|
13
|
+
private roomInfoWrapperInstance?;
|
|
14
|
+
private compassMeshTween?;
|
|
15
|
+
private compassMesh?;
|
|
16
|
+
private entryDoorMesh?;
|
|
17
|
+
constructor(five: Five, config?: PanoCompassPluginParameterType);
|
|
18
|
+
/**
|
|
19
|
+
* 启用插件,响应用户操作并展示UI
|
|
20
|
+
* @param options
|
|
21
|
+
*/
|
|
22
|
+
enable(options?: Required<BaseOptions>): void;
|
|
23
|
+
/**
|
|
24
|
+
* 禁用插件,禁止响应用户操作并隐藏UI
|
|
25
|
+
* @param options
|
|
26
|
+
*/
|
|
27
|
+
disable(options?: Required<BaseOptions>): void;
|
|
28
|
+
/**
|
|
29
|
+
* 展示UI
|
|
30
|
+
* @param options
|
|
31
|
+
* @returns
|
|
32
|
+
* @todo 需要考虑动画
|
|
33
|
+
*/
|
|
34
|
+
show(options?: Required<BaseOptions>): Promise<void>;
|
|
35
|
+
/**
|
|
36
|
+
* 隐藏UI
|
|
37
|
+
* @param options
|
|
38
|
+
* @returns
|
|
39
|
+
* @todo 需要考虑动画
|
|
40
|
+
*/
|
|
41
|
+
hide(options?: Required<BaseOptions>): Promise<void>;
|
|
42
|
+
setState(state: Partial<State>, options?: Required<BaseOptions>): void;
|
|
43
|
+
load(data: PluginServerData | PluginData, state?: State, userAction?: boolean): Promise<void>;
|
|
44
|
+
/**
|
|
45
|
+
* 销毁插件
|
|
46
|
+
* @todo 销毁贴图时,最好还是直接销毁贴图吧,this.compassMesh?.material.map 这种都是很深层的引用了。THREE 的建议我看也是自己去管理和销毁公共贴图。
|
|
47
|
+
*/
|
|
48
|
+
dispose: () => void;
|
|
49
|
+
protected formatData(serverData: PluginServerData | PluginData): Promise<PluginData>;
|
|
50
|
+
/**
|
|
51
|
+
* 添加事件监听
|
|
52
|
+
*/
|
|
53
|
+
private _addEventListener;
|
|
54
|
+
/**
|
|
55
|
+
* 移除事件监听
|
|
56
|
+
*/
|
|
57
|
+
private _removeEventListener;
|
|
58
|
+
/**
|
|
59
|
+
* 启用,响应事件,展示UI
|
|
60
|
+
*/
|
|
61
|
+
private _enable;
|
|
62
|
+
/**
|
|
63
|
+
* 禁用,不响应事件,不展示UI
|
|
64
|
+
*/
|
|
65
|
+
private _disable;
|
|
66
|
+
/**
|
|
67
|
+
* 展示UI
|
|
68
|
+
*/
|
|
69
|
+
private _toggleVisible;
|
|
70
|
+
private _clearCompassIfNeed;
|
|
71
|
+
private _clearEntryDoorIfNeed;
|
|
72
|
+
/**
|
|
73
|
+
* 初始化
|
|
74
|
+
* @todo 逻辑需要细分
|
|
75
|
+
*/
|
|
76
|
+
private init;
|
|
77
|
+
private loadCompassMesh;
|
|
78
|
+
private loadEntryDoorMesh;
|
|
79
|
+
private loadRoomInfo;
|
|
80
|
+
private onFivePanoWillArrive;
|
|
81
|
+
private onFivePanoArrived;
|
|
82
|
+
private onFiveCameraDirectionUpdate;
|
|
83
|
+
private onFiveModeChange;
|
|
84
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { FloorplanServerRoomItem } from '../floorplan/typings/floorplanServerData';
|
|
2
|
+
export declare function getRoomInfoInstance(): {
|
|
3
|
+
appendTo(element: Element): void;
|
|
4
|
+
dispose(): void;
|
|
5
|
+
setRoom(room: FloorplanServerRoomItem): void;
|
|
6
|
+
show(): void;
|
|
7
|
+
hide(): void;
|
|
8
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { FivePlugin } from '@realsee/five';
|
|
2
|
+
import { PanoCompassController } from './Controller';
|
|
3
|
+
import type { PanoCompassPluginParameterType } from './typings';
|
|
4
|
+
export declare type PanoCompassPluginExportType = PanoCompassController;
|
|
5
|
+
export declare const PanoCompassPlugin: FivePlugin<PanoCompassPluginParameterType, PanoCompassPluginExportType>;
|
|
6
|
+
export default PanoCompassPlugin;
|
|
7
|
+
export type { PanoCompassPluginParameterType, PanoCompassPluginData } from './typings';
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { FloorplanServerRoomItem } from '../floorplan/typings/floorplanServerData';
|
|
2
|
+
import type * as BasePlugin from '../base/BasePluginWithData';
|
|
3
|
+
export interface Config {
|
|
4
|
+
compassImageUrl: string;
|
|
5
|
+
entryDoorImageUrl: string;
|
|
6
|
+
}
|
|
7
|
+
export interface State extends BasePlugin.State {
|
|
8
|
+
visible: boolean;
|
|
9
|
+
config: Config;
|
|
10
|
+
}
|
|
11
|
+
export interface PluginData {
|
|
12
|
+
north_rad: null | number;
|
|
13
|
+
entrance: null | undefined | {
|
|
14
|
+
position: {
|
|
15
|
+
x: number;
|
|
16
|
+
y: number;
|
|
17
|
+
z: number;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
room_observers: undefined | {
|
|
21
|
+
index: number;
|
|
22
|
+
floor_index: number;
|
|
23
|
+
room: FloorplanServerRoomItem;
|
|
24
|
+
}[];
|
|
25
|
+
}
|
|
26
|
+
export interface EventMap extends BasePlugin.EventMap<State, PluginData> {
|
|
27
|
+
/** visible 从 false 到 true 的回调
|
|
28
|
+
* @param event.userAction 是否是用户操作
|
|
29
|
+
*/
|
|
30
|
+
show: (event: {
|
|
31
|
+
userAction: boolean;
|
|
32
|
+
}) => void;
|
|
33
|
+
/** visible 从 true 到 false 的回调
|
|
34
|
+
* @param event.userAction 是否是用户操作
|
|
35
|
+
*/
|
|
36
|
+
hide: (event: {
|
|
37
|
+
userAction: boolean;
|
|
38
|
+
}) => void;
|
|
39
|
+
/** enabled 从 false 到 true 的回调
|
|
40
|
+
* @param event.userAction 是否是用户操作
|
|
41
|
+
*/
|
|
42
|
+
enable: (event: {
|
|
43
|
+
userAction: boolean;
|
|
44
|
+
}) => void;
|
|
45
|
+
/** enabled 从 true 到 false 的回调
|
|
46
|
+
* @param event.userAction 是否是用户操作
|
|
47
|
+
*/
|
|
48
|
+
disable: (event: {
|
|
49
|
+
userAction: boolean;
|
|
50
|
+
}) => void;
|
|
51
|
+
}
|
|
52
|
+
export interface PluginServerData extends BasePlugin.ServerData {
|
|
53
|
+
version: number;
|
|
54
|
+
data: PluginData;
|
|
55
|
+
}
|
|
56
|
+
export declare type PanoCompassPluginParameterType = Partial<Config> | undefined;
|
|
57
|
+
export declare type PanoCompassPluginData = PluginData;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { FivePlugin, Intersection } from '@realsee/five';
|
|
2
|
+
import { Group, Vector3 } from 'three';
|
|
3
|
+
export interface PanoCursorRaycasterPluginParameterType {
|
|
4
|
+
}
|
|
5
|
+
export interface PanoCursorRaycasterPluginExportType {
|
|
6
|
+
/**
|
|
7
|
+
* @description: 获取鼠标与模型的焦点位置
|
|
8
|
+
* @return {Intersection | null} 鼠标与模型的焦点位置
|
|
9
|
+
*/
|
|
10
|
+
intersection: () => Intersection | null;
|
|
11
|
+
/**
|
|
12
|
+
* @description: 辅助坐标轴
|
|
13
|
+
* @param {Vector3} point: 坐标轴原点的位置
|
|
14
|
+
* @param {number} length: 坐标轴线长度,单位:米,默认值:2
|
|
15
|
+
* @param {number} fixDistance: 为避免被模型遮挡,默认向camera方向移动0.1m,默认值:0.1
|
|
16
|
+
* @return {{clear: () => void; pointAxesHelperMesh: THREE.Group}} clear: 清理函数;pointAxesHelperMesh: 辅助坐标轴mesh
|
|
17
|
+
*/
|
|
18
|
+
pointAxesHelper: (point: Vector3, length?: number, fixDistance?: number) => {
|
|
19
|
+
clear: () => void;
|
|
20
|
+
pointAxesHelperMesh: Group;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* @description: 将一个点在camera和点的向量上移动。传入点的位置和相对移动的距离,返回一个新的位置
|
|
24
|
+
* @param {Vector3} point: 点
|
|
25
|
+
* @param {number} distance: 向camera相对移动的距离(正方向为:点 -> 摄像头)
|
|
26
|
+
* @return {Vector3} 计算移动后的位置
|
|
27
|
+
*/
|
|
28
|
+
movePointTowardsCamera: (point: Vector3, distance: number) => Vector3;
|
|
29
|
+
/**
|
|
30
|
+
* @description: 某个点是否可见
|
|
31
|
+
* @param {Vector3} point: 要检测的点
|
|
32
|
+
* @param {number} distanceError: 允许的误差,如果点有可能打在模型后,则传入一个误差值,通常为0.01
|
|
33
|
+
* @return {boolean}: 是否可见
|
|
34
|
+
*/
|
|
35
|
+
canSeePoint: (point: Vector3, distanceError?: number) => boolean;
|
|
36
|
+
/**
|
|
37
|
+
* @description: 清理函数
|
|
38
|
+
* @return {() => void} 清理函数
|
|
39
|
+
*/
|
|
40
|
+
destroy: () => void;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* 全景中对当前鼠标的位置进行碰撞监测
|
|
44
|
+
* @param five
|
|
45
|
+
* @return
|
|
46
|
+
*/
|
|
47
|
+
export declare const PanoCursorRaycasterPlugin: FivePlugin<PanoCursorRaycasterPluginParameterType, PanoCursorRaycasterPluginExportType>;
|
|
48
|
+
export default PanoCursorRaycasterPlugin;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Five } from '@realsee/five';
|
|
2
|
+
import { BaseOptions, Controller, EventMap, State } from '../base/BasePlugin';
|
|
3
|
+
/**
|
|
4
|
+
* pano plugin controller 基类
|
|
5
|
+
* @author kyleju
|
|
6
|
+
*/
|
|
7
|
+
export declare abstract class BasePanoPluginController<T extends State, E extends EventMap<T>> extends Controller<T, E> {
|
|
8
|
+
state: T;
|
|
9
|
+
container: Element;
|
|
10
|
+
enabled: boolean;
|
|
11
|
+
constructor(five: Five);
|
|
12
|
+
/**
|
|
13
|
+
* 启用组件
|
|
14
|
+
* @param options
|
|
15
|
+
*/
|
|
16
|
+
enable(options?: BaseOptions): void;
|
|
17
|
+
/**
|
|
18
|
+
* 禁用组件
|
|
19
|
+
* @param options
|
|
20
|
+
*/
|
|
21
|
+
disable(options?: BaseOptions): void;
|
|
22
|
+
/**
|
|
23
|
+
* 显示 UI
|
|
24
|
+
* @param options
|
|
25
|
+
* @returns
|
|
26
|
+
*/
|
|
27
|
+
show(options?: BaseOptions): Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* 隐藏 UI
|
|
30
|
+
* @param options
|
|
31
|
+
* @returns
|
|
32
|
+
*/
|
|
33
|
+
hide(options: BaseOptions): Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* 销毁对象
|
|
36
|
+
*/
|
|
37
|
+
dispose(): void;
|
|
38
|
+
/**
|
|
39
|
+
* 设置状态
|
|
40
|
+
* @param state @T 状态
|
|
41
|
+
* @param options @BaseOptions 可选配置
|
|
42
|
+
* @returns
|
|
43
|
+
*/
|
|
44
|
+
setState(state: Partial<T>, options?: BaseOptions): void;
|
|
45
|
+
get visible(): boolean;
|
|
46
|
+
appendTo(container: Element): void;
|
|
47
|
+
private updateState;
|
|
48
|
+
/**
|
|
49
|
+
* 组件 渲染
|
|
50
|
+
*/
|
|
51
|
+
abstract render(): any;
|
|
52
|
+
/**
|
|
53
|
+
* State 初始化
|
|
54
|
+
*/
|
|
55
|
+
abstract initState(): T;
|
|
56
|
+
/**
|
|
57
|
+
* State 改变回调
|
|
58
|
+
*/
|
|
59
|
+
abstract stateChangedCallback(prevState: T, options?: BaseOptions): any;
|
|
60
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { Five } from '@realsee/five';
|
|
2
|
+
import type { BaseOptions, EventMap, State } from '../base/BasePlugin';
|
|
3
|
+
import type { FloorplanServerData } from '../floorplan/typings/floorplanServerData';
|
|
4
|
+
import { BasePanoPluginController } from './BaseController';
|
|
5
|
+
import type { DoorLabelConfig } from './typings';
|
|
6
|
+
/**
|
|
7
|
+
* 分间标签插件
|
|
8
|
+
* @author kyleju
|
|
9
|
+
*/
|
|
10
|
+
export declare class PanoDoorLabelPluginController extends BasePanoPluginController<State, EventMap<State>> {
|
|
11
|
+
private MinVisibledistance;
|
|
12
|
+
private MaxVisibledistance;
|
|
13
|
+
private OffsetHeight;
|
|
14
|
+
private rooms;
|
|
15
|
+
private floorplanServerData;
|
|
16
|
+
/** 标签项 */
|
|
17
|
+
private doorLabelItems;
|
|
18
|
+
/** 每个点位 visible 标签的缓存 */
|
|
19
|
+
private visibleLabelMap;
|
|
20
|
+
/** 标签项Prop值 */
|
|
21
|
+
private labelItems;
|
|
22
|
+
/** 数据 */
|
|
23
|
+
private doorLabels;
|
|
24
|
+
private roomObservers;
|
|
25
|
+
constructor(five: Five);
|
|
26
|
+
loadData: (floorplanServerData: FloorplanServerData, doorLabelConfig?: DoorLabelConfig) => void;
|
|
27
|
+
stateChangedCallback(prevState: State, options?: BaseOptions): void;
|
|
28
|
+
render(): void;
|
|
29
|
+
initState(): State;
|
|
30
|
+
dispose(): void;
|
|
31
|
+
private initRoomObservers;
|
|
32
|
+
private hideAllLabels;
|
|
33
|
+
private fixDoorVisibleAndPosition;
|
|
34
|
+
private fixDoorPosition;
|
|
35
|
+
private onClick;
|
|
36
|
+
private initData;
|
|
37
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { FivePlugin } from '@realsee/five';
|
|
2
|
+
import type { FloorplanServerData } from '../floorplan';
|
|
3
|
+
import type { PanoDoorLabelPluginController } from './Controller';
|
|
4
|
+
export type { FloorplanServerData, FloorplanServerRoomItem, } from '../floorplan/typings/floorplanServerData';
|
|
5
|
+
declare const PanoDoorLabelPlugin: FivePlugin<FloorplanServerData, PanoDoorLabelPluginController>;
|
|
6
|
+
export { PanoDoorLabelPlugin };
|
|
7
|
+
export default PanoDoorLabelPlugin;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type * as THREE from 'three';
|
|
2
|
+
export interface DoorLabel {
|
|
3
|
+
/** 观察点的房间 */
|
|
4
|
+
roomName: string;
|
|
5
|
+
/** 标签展示的房间名 */
|
|
6
|
+
name: string;
|
|
7
|
+
/** 标签的三维坐标位置 */
|
|
8
|
+
position: THREE.Vector3;
|
|
9
|
+
/** 标签的朝向 */
|
|
10
|
+
toward: '' | 'left' | 'right' | 'back' | 'forward';
|
|
11
|
+
[props: string]: any;
|
|
12
|
+
}
|
|
13
|
+
export interface LabelItemProp extends DoorLabel {
|
|
14
|
+
/** css left */
|
|
15
|
+
left: number;
|
|
16
|
+
/** css top */
|
|
17
|
+
top: number;
|
|
18
|
+
/** css transform */
|
|
19
|
+
transform: string;
|
|
20
|
+
/** 当前点位有哪些标签可以展示 */
|
|
21
|
+
visible: boolean;
|
|
22
|
+
/** 是否能够展示在用户视线内(inSight 是 visible 的一个子集,当切换户型图模式或是有模型遮挡时,inSight 为 false) */
|
|
23
|
+
inSight: boolean;
|
|
24
|
+
/** icon 朝向 */
|
|
25
|
+
cameraToward: '' | 'left' | 'right' | 'back' | 'forward';
|
|
26
|
+
}
|
|
27
|
+
export interface NeverOverlapLabel {
|
|
28
|
+
left: number;
|
|
29
|
+
top: number;
|
|
30
|
+
disFromCameraToLabel: number;
|
|
31
|
+
index: number;
|
|
32
|
+
transform?: string;
|
|
33
|
+
}
|
|
34
|
+
export interface DoorLabelConfig {
|
|
35
|
+
MinVisibledistance: number;
|
|
36
|
+
MaxVisibledistance: number;
|
|
37
|
+
OffsetHeight: number;
|
|
38
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Five } from '@realsee/five';
|
|
2
|
+
export declare function isTwoRectOverlaped(rect1: any, rect2: any): boolean;
|
|
3
|
+
export declare function getCameraToward(five: Five): "" | "left" | "right" | "back" | "forward";
|
|
4
|
+
export declare function getDistance(p1: any, p2: any): number;
|
|
5
|
+
export declare function getToward(rad: number): "" | "left" | "right" | "back" | "forward";
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type Magnifier from '../Modules/Magnifier';
|
|
2
|
+
import type FiveHelper from '../Modules/FiveHelper';
|
|
3
|
+
import type { Group } from 'three';
|
|
4
|
+
import type { Model } from '../Model';
|
|
5
|
+
import type { Config } from '../typings';
|
|
6
|
+
import type { PanoMeasurePluginEvent } from '../typings/event.type';
|
|
7
|
+
import type { UserDistanceItem } from '../utils/distanceDom';
|
|
8
|
+
import type { Five, Intersection, IntersectMeshInterface, Subscribe } from '@realsee/five';
|
|
9
|
+
import type { OpenParameter } from '../typings/data';
|
|
10
|
+
import Line from '../Model/line';
|
|
11
|
+
export interface IControllerParams {
|
|
12
|
+
five: Five;
|
|
13
|
+
group: Group;
|
|
14
|
+
model: Model;
|
|
15
|
+
config: Config;
|
|
16
|
+
mouseGroup: Group;
|
|
17
|
+
container: Element;
|
|
18
|
+
magnifier: Magnifier;
|
|
19
|
+
fiveHelper: FiveHelper;
|
|
20
|
+
openParams: OpenParameter;
|
|
21
|
+
hook: Subscribe<PanoMeasurePluginEvent>;
|
|
22
|
+
userDistanceItemCreator?: () => UserDistanceItem;
|
|
23
|
+
}
|
|
24
|
+
export default class BaseController {
|
|
25
|
+
model: Model;
|
|
26
|
+
protected five: Five;
|
|
27
|
+
protected group: Group;
|
|
28
|
+
protected config: Config;
|
|
29
|
+
protected dashed: Line;
|
|
30
|
+
protected disposed: boolean;
|
|
31
|
+
protected isMobile: boolean;
|
|
32
|
+
protected mouseGroup: Group;
|
|
33
|
+
protected container: Element;
|
|
34
|
+
protected fiveHelper: FiveHelper;
|
|
35
|
+
protected hook: IControllerParams['hook'];
|
|
36
|
+
protected magnifier: IControllerParams['magnifier'];
|
|
37
|
+
protected userDistanceItemCreator: IControllerParams['userDistanceItemCreator'];
|
|
38
|
+
constructor(params: IControllerParams);
|
|
39
|
+
updateDistanceUI: () => void;
|
|
40
|
+
protected removeLine(line: Line): void;
|
|
41
|
+
protected updateMouseGroup(intersection: Intersection, mesh?: IntersectMeshInterface): Group;
|
|
42
|
+
protected dispose(): void;
|
|
43
|
+
}
|