@realsee/dnalogel 2.1.0 → 2.1.2-alpha.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/components/index.js +242 -569
- package/dist/index.cjs.js +58 -73
- package/dist/index.es.js +7846 -12962
- package/dist/index.js +7846 -12962
- package/dist/index.umd.js +46 -61
- package/docs/assets/highlight.css +3 -3
- package/docs/assets/main.js +4 -2
- package/docs/assets/search.js +1 -1
- package/docs/assets/style.css +462 -619
- package/docs/classes/CruisePluginController.html +397 -23
- package/docs/classes/Magnifier.html +187 -9
- package/docs/classes/ModelRoomLabelController.html +149 -11
- package/docs/classes/Object3DHelperController.html +356 -0
- package/docs/classes/PaintBrush.html +260 -0
- package/docs/classes/PanoTagPluginController.html +940 -0
- package/docs/classes/Util.BetterTween.html +134 -0
- package/docs/classes/Util.FivePointSelector.html +144 -0
- package/docs/classes/Util.Interval.html +158 -0
- package/docs/classes/Util.Magnifier.html +196 -0
- package/docs/classes/Util.PointDomHelper.html +135 -0
- package/docs/classes/Util.PointHelper.html +127 -0
- package/docs/classes/Util.Rectangle.html +181 -0
- package/docs/enums/CameraMovementEffect.html +70 -3
- package/docs/enums/ContentType.html +116 -0
- package/docs/enums/DIRECTION.html +81 -1
- package/docs/enums/DISPLAY_STRATEGY_TYPE.html +81 -1
- package/docs/enums/DimensionType.html +67 -0
- package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +74 -1
- package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +81 -1
- package/docs/enums/LinkType.html +67 -0
- package/docs/enums/PaintBrushTypeEnum.html +74 -0
- package/docs/enums/PointType.html +67 -0
- package/docs/enums/Rotation.html +77 -3
- package/docs/functions/CSS3DRenderPlugin.html +233 -0
- package/docs/functions/CameraMovementPlugin.html +237 -0
- package/docs/functions/CruisePlugin.html +233 -0
- package/docs/functions/GuideLinePlugin.html +235 -0
- package/docs/functions/ItemLabelPlugin.html +235 -0
- package/docs/functions/MapviewFloorplanPlugin.html +235 -0
- package/docs/functions/ModelChassisCompassPlugin.html +237 -0
- package/docs/functions/ModelEntryDoorGuidePlugin.html +237 -0
- package/docs/functions/ModelFloorplanPlugin.html +235 -0
- package/docs/functions/ModelItemLabelPlugin.html +235 -0
- package/docs/functions/ModelRoomLabelPlugin.html +233 -0
- package/docs/functions/ModelTVVideoPlugin.html +235 -0
- package/docs/functions/ModelViewPlugin.html +237 -0
- package/docs/functions/Object3DHelperPlugin.html +233 -0
- package/docs/functions/PanoCompassPlugin.html +235 -0
- package/docs/functions/PanoCursorRaycasterPlugin.html +238 -0
- package/docs/functions/PanoDoorLabelPlugin.html +235 -0
- package/docs/functions/PanoFloorplanRadarPlugin.html +235 -0
- package/docs/functions/PanoMeasurePlugin.html +235 -0
- package/docs/functions/PanoRulerPlugin.html +237 -0
- package/docs/functions/PanoRulerProPlugin.html +237 -0
- package/docs/functions/PanoSpatialTagPlugin.html +237 -0
- package/docs/functions/PanoTagPlugin.html +249 -0
- package/docs/functions/TopviewFloorplanPlugin.html +235 -0
- package/docs/functions/Util.getCoordsFromClient.html +78 -0
- package/docs/functions/Util.getCoordsFromElement.html +78 -0
- package/docs/functions/Util.getFrameTime.html +70 -0
- package/docs/functions/Util.getIntersectFromRelativePosition.html +78 -0
- package/docs/functions/Util.getRaycasterFromFivePointer.html +78 -0
- package/docs/functions/Util.isNil.html +79 -0
- package/docs/functions/Util.nextFrame.html +73 -0
- package/docs/functions/Util.notNil.html +78 -0
- package/docs/functions/Util.requestAnimationFrameInterval.html +98 -0
- package/docs/functions/Util.tweenProgress.html +84 -0
- package/docs/functions/pluginFlag.html +233 -0
- package/docs/index.html +220 -2
- package/docs/interfaces/CSS3DRenderPluginEventMap.html +205 -0
- package/docs/interfaces/CSS3DRenderPluginState.html +85 -0
- package/docs/interfaces/CameraMovementPluginExportType.html +111 -17
- package/docs/interfaces/ContentTypeMap.html +212 -0
- package/docs/interfaces/FloorplanBounding.html +89 -10
- package/docs/interfaces/FloorplanData.html +95 -3
- package/docs/interfaces/FloorplanEntrance.html +114 -15
- package/docs/interfaces/FloorplanExtraObject.html +108 -7
- package/docs/interfaces/FloorplanExtraObject3D.html +99 -3
- package/docs/interfaces/FloorplanFloorData.html +88 -3
- package/docs/interfaces/FloorplanImagePosition.html +74 -3
- package/docs/interfaces/FloorplanObserver.html +92 -5
- package/docs/interfaces/FloorplanOutlineItem.html +88 -3
- package/docs/interfaces/FloorplanPosition.html +74 -3
- package/docs/interfaces/FloorplanRoomItem.html +134 -17
- package/docs/interfaces/FloorplanRoomLabelItem.html +78 -7
- package/docs/interfaces/FloorplanServerBounding.html +89 -10
- package/docs/interfaces/FloorplanServerComputedData.html +92 -1
- package/docs/interfaces/FloorplanServerData.html +74 -3
- package/docs/interfaces/FloorplanServerDoorItem.html +92 -1
- package/docs/interfaces/FloorplanServerDoorPosition.html +78 -1
- package/docs/interfaces/FloorplanServerEntrance.html +114 -15
- package/docs/interfaces/FloorplanServerFloorData.html +88 -3
- package/docs/interfaces/FloorplanServerImagePosition.html +74 -3
- package/docs/interfaces/FloorplanServerObserver.html +92 -5
- package/docs/interfaces/FloorplanServerOutlineItem.html +88 -3
- package/docs/interfaces/FloorplanServerPosition.html +74 -3
- package/docs/interfaces/FloorplanServerRoomItem.html +145 -20
- package/docs/interfaces/FloorplanServerRoomLabelItem.html +78 -7
- package/docs/interfaces/ItemLabelPluginData.html +64 -1
- package/docs/interfaces/ItemLabelPluginExportReturnsType.html +149 -1
- package/docs/interfaces/ItemLabelPluginParametersType.html +85 -1
- package/docs/interfaces/LineJson.html +71 -1
- package/docs/interfaces/ModelChassisCompassPluginData.html +71 -1
- package/docs/interfaces/ModelChassisCompassPluginExportType.html +107 -1
- package/docs/interfaces/ModelChassisCompassPluginParameterType.html +71 -1
- package/docs/interfaces/ModelEntryDoorGuidePluginData.html +78 -1
- package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +115 -1
- package/docs/interfaces/ModelItemLabelPluginData.html +64 -1
- package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +149 -1
- package/docs/interfaces/ModelItemLabelPluginParametersType.html +71 -1
- package/docs/interfaces/ModelRoomLabelPluginData.html +64 -1
- package/docs/interfaces/ModelTVVideoPluginData.html +85 -1
- package/docs/interfaces/ModelTVVideoPluginExportType.html +109 -1
- package/docs/interfaces/ModelTVVideoPluginParameterType.html +64 -1
- package/docs/interfaces/ModelViewPluginExportType.html +129 -1
- package/docs/interfaces/Object3DHelperState.html +78 -0
- package/docs/interfaces/OpenParameter.html +74 -3
- package/docs/interfaces/PaintBrushAction.html +118 -0
- package/docs/interfaces/PaintBrushConfigs.html +122 -0
- package/docs/interfaces/PaintBrushState.html +99 -0
- package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +186 -11
- package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +227 -1
- package/docs/interfaces/PanoMeasureParameterType.html +128 -5
- package/docs/interfaces/PanoRulerPluginExportType.html +138 -1
- package/docs/interfaces/PanoRulerPluginOptions.html +87 -1
- package/docs/interfaces/PanoRulerPluginParameterType.html +78 -1
- package/docs/interfaces/PanoRulerProPluginExportType.html +114 -1
- package/docs/interfaces/PanoRulerProPluginOptions.html +84 -1
- package/docs/interfaces/PanoRulerProPluginParameterType.html +71 -1
- package/docs/interfaces/PanoRulerProPluginState.html +78 -1
- package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +241 -1
- package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +230 -1
- package/docs/interfaces/PanoSpatialTagPluginData.html +114 -1
- package/docs/interfaces/PanoSpatialTagPluginDataElement.html +96 -1
- package/docs/interfaces/PanoSpatialTagPluginExportType.html +192 -1
- package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +92 -1
- package/docs/interfaces/PanoSpatialTagPluginParameterType.html +113 -1
- package/docs/interfaces/PanoSpatialTagPluginPointElement.html +99 -1
- package/docs/interfaces/PanoSpatialTagPluginTagElement.html +92 -1
- package/docs/interfaces/Point.html +78 -1
- package/docs/interfaces/PointJson.html +78 -1
- package/docs/interfaces/Room.html +85 -1
- package/docs/interfaces/RoomInfo.html +71 -1
- package/docs/interfaces/RoomLabel.html +141 -13
- package/docs/interfaces/RoomRules.html +230 -1
- package/docs/interfaces/Rooms.html +230 -1
- package/docs/interfaces/Scissor.html +100 -0
- package/docs/interfaces/TagConfig.html +120 -0
- package/docs/interfaces/Tags.html +89 -0
- package/docs/interfaces/Util.MagnifierParameter.html +116 -0
- package/docs/interfaces/Util.MouseGroupParameter.html +79 -0
- package/docs/modules/Util.html +91 -0
- package/docs/modules.html +425 -36
- package/docs/types/ArrayPosition.html +224 -0
- package/docs/types/CSS3DRenderExportType.html +224 -0
- package/docs/types/CSS3DRenderPluginExportType.html +224 -0
- package/docs/types/CSS3DRenderPluginParameterType.html +224 -0
- package/docs/types/Color.html +224 -0
- package/docs/types/ContentTypeConfigKey.html +224 -0
- package/docs/types/ContentTypeConfigKeyArray.html +224 -0
- package/docs/types/Create3DDomContainerReturnType.html +224 -0
- package/docs/types/Create3DElementReturnType.html +224 -0
- package/docs/types/CruisePluginExportType.html +224 -0
- package/docs/types/Direction-1.html +224 -0
- package/docs/types/Direction4.html +224 -0
- package/docs/types/FloorplanRuleLabels.html +226 -0
- package/docs/types/FloorplanServerRuleLabels.html +224 -0
- package/docs/types/GuideLinePluginExportType.html +224 -0
- package/docs/types/HelperEventMap.html +314 -0
- package/docs/types/MapviewFloorplanPluginParameterType.html +224 -0
- package/docs/types/MapviewFloorplanPluginReturnType.html +224 -0
- package/docs/types/MediaData.html +224 -0
- package/docs/types/ModelEntryDoorGuidePluginParameterType.html +224 -0
- package/docs/types/ModelFloorplanPluginParameterType.html +224 -0
- package/docs/types/ModelFloorplanPluginReturnType.html +224 -0
- package/docs/types/ModelRoomLabelPluginParameters.html +224 -0
- package/docs/types/ModelRoomLabelPluginReturnType.html +224 -0
- package/docs/types/MoveArgs.html +226 -0
- package/docs/types/MoveOpts.html +226 -0
- package/docs/types/Object3DHelperEventMap.html +317 -0
- package/docs/types/ObjectFit.html +224 -0
- package/docs/types/PaintBrushEventMap.html +255 -0
- package/docs/types/PanoCompassPluginData.html +224 -0
- package/docs/types/PanoCompassPluginExportType.html +224 -0
- package/docs/types/PanoCompassPluginParameterType.html +224 -0
- package/docs/types/PanoFloorplanRadarPluginParameterType.html +224 -0
- package/docs/types/PanoFloorplanRadarPluginReturnType.html +224 -0
- package/docs/types/PanoMeasurePluginEvent.html +224 -0
- package/docs/types/PanoMeasureReturnType.html +224 -0
- package/docs/types/PanoSpatialTagPluginId.html +224 -0
- package/docs/types/PanoTagPluginExportInterface.html +224 -0
- package/docs/types/PanoTagPluginParamsInterface.html +224 -0
- package/docs/types/PlaneTag.html +233 -0
- package/docs/types/PointTag.html +235 -0
- package/docs/types/Position.html +224 -0
- package/docs/types/RotateArgs.html +226 -0
- package/docs/types/RotateOpts.html +226 -0
- package/docs/types/RuleLabelsKey.html +224 -0
- package/docs/types/RuleLabelsValue.html +224 -0
- package/docs/types/Tag.html +235 -0
- package/docs/types/Tag2D.html +233 -0
- package/docs/types/Tag3D.html +233 -0
- package/docs/types/TagId.html +224 -0
- package/docs/types/TopviewFloorplanPluginParameterType.html +224 -0
- package/docs/types/TopviewFloorplanPluginReturnType.html +224 -0
- package/docs/variables/FLOOR_TYPE_MAP.html +226 -0
- package/docs/variables/PLUGIN.html +224 -0
- package/docs/variables/ROOM_FETILE_TYPE_MAP.html +226 -0
- package/docs/variables/ROOM_TYPE_MAP.html +226 -0
- package/docs/variables/VERSION.html +224 -0
- package/docs/variables/itemLabelPluginServerParams.html +231 -0
- package/docs/variables/modelItemLabelPluginServerParams.html +231 -0
- package/docs/variables/modelRoomLabelPluginServerParams.html +231 -0
- package/libs/CSS3DRenderPlugin/CSS3DRender.d.ts +2 -2
- package/libs/CSS3DRenderPlugin/CSS3DRender.js +150 -119
- package/libs/CSS3DRenderPlugin/Controller.d.ts +3 -3
- package/libs/CSS3DRenderPlugin/Controller.js +45 -42
- package/libs/CSS3DRenderPlugin/index.js +4 -12
- package/libs/CameraMovementPlugin/CameraMovementPlugin.js +71 -54
- package/libs/CruisePlugin/Controller.js +331 -287
- package/libs/CruisePlugin/index.js +6 -25
- package/libs/CruisePlugin/utils/coordinatesAngle.js +2 -3
- package/libs/CruisePlugin/utils/safeCall.js +21 -5
- package/libs/GuideLinePlugin/Controller.js +94 -62
- package/libs/GuideLinePlugin/index.js +4 -13
- package/libs/GuideLinePlugin/utils/getLineGeometries.js +49 -103
- package/libs/GuideLinePlugin/utils/polyline-normals.d.ts +3 -0
- package/libs/ItemLabelPlugin/ItemLabelComponent.js +200 -183
- package/libs/ItemLabelPlugin/ItemLabelItem.js +27 -27
- package/libs/ItemLabelPlugin/Plugin.js +20 -29
- package/libs/ItemLabelPlugin/index.js +5 -18
- package/libs/ItemLabelPlugin/utils/parseData.js +15 -4
- package/libs/ItemLabelPlugin/utils/transform2RenderData.js +16 -6
- package/libs/ModelChassisCompassPlugin/Plugin.js +54 -38
- package/libs/ModelEntryDoorGuidePlugin/Plugin.js +58 -46
- package/libs/ModelItemLabelPlugin/ItemLabelComponent.js +145 -129
- package/libs/ModelItemLabelPlugin/ItemLabelItem.js +18 -18
- package/libs/ModelItemLabelPlugin/ModelItemLabelPlugin.js +19 -24
- package/libs/ModelItemLabelPlugin/index.js +5 -14
- package/libs/ModelItemLabelPlugin/utils/parseData.js +16 -6
- package/libs/ModelRoomLabelPlugin/Controller.js +2 -6
- package/libs/ModelRoomLabelPlugin/RoomLabelItem.js +22 -22
- package/libs/ModelRoomLabelPlugin/RoomLabelItems.js +105 -94
- package/libs/ModelRoomLabelPlugin/index.js +4 -10
- package/libs/ModelTVVideoPlugin/Plugin.js +101 -94
- package/libs/ModelViewPlugin/Plugin.js +71 -60
- package/libs/Object3DHelperPlugin/Controller.d.ts +1 -1
- package/libs/Object3DHelperPlugin/Controller.js +79 -71
- package/libs/Object3DHelperPlugin/FiveControllerWrapper.d.ts +1 -1
- package/libs/Object3DHelperPlugin/FiveControllerWrapper.js +8 -11
- package/libs/Object3DHelperPlugin/index.js +8 -40
- package/libs/PanoCompassPlugin/Controller.js +91 -72
- package/libs/PanoCompassPlugin/index.js +4 -22
- package/libs/PanoCursorRaycasterPlugin/index.js +8 -9
- package/libs/PanoDoorLabelPlugin/BaseController.js +42 -33
- package/libs/PanoDoorLabelPlugin/Controller.js +84 -80
- package/libs/PanoDoorLabelPlugin/DoorLabelItem.js +16 -16
- package/libs/PanoDoorLabelPlugin/index.d.ts +1 -1
- package/libs/PanoDoorLabelPlugin/index.js +3 -12
- package/libs/PanoDoorLabelPlugin/utils.d.ts +2 -2
- package/libs/PanoMeasurePlugin/Controller/BaseController.js +14 -24
- package/libs/PanoMeasurePlugin/Controller/EditController.js +8 -20
- package/libs/PanoMeasurePlugin/Controller/MixedController.js +15 -28
- package/libs/PanoMeasurePlugin/Controller/ViewController.js +15 -26
- package/libs/PanoMeasurePlugin/Controller/WatchController.js +28 -43
- package/libs/PanoMeasurePlugin/Controller/index.d.ts +1 -1
- package/libs/PanoMeasurePlugin/Controller/index.js +43 -70
- package/libs/PanoMeasurePlugin/Model/index.d.ts +4 -4
- package/libs/PanoMeasurePlugin/Model/index.js +38 -45
- package/libs/PanoMeasurePlugin/Model/line.d.ts +1 -1
- package/libs/PanoMeasurePlugin/Model/line.js +10 -14
- package/libs/PanoMeasurePlugin/Model/polyline.d.ts +2 -2
- package/libs/PanoMeasurePlugin/Modules/Magnifier.js +3 -3
- package/libs/PanoMeasurePlugin/Modules/UIController/style.js +16 -24
- package/libs/PanoMeasurePlugin/Modules/rangePiece/index.js +35 -28
- package/libs/PanoMeasurePlugin/index.js +6 -55
- package/libs/PanoMeasurePlugin/utils/constants.js +29 -16
- package/libs/PanoMeasurePlugin/utils/findClosestPoint.d.ts +1 -1
- package/libs/PanoMeasurePlugin/utils/findClosestPoint.js +4 -5
- package/libs/PanoRulerPlugin/Plugin.js +180 -157
- package/libs/PanoRulerProPlugin/Controller.js +70 -51
- package/libs/PanoRulerProPlugin/RulerItem.js +55 -45
- package/libs/PanoRulerProPlugin/RulerItems.js +124 -125
- package/libs/PanoRulerProPlugin/index.js +4 -15
- package/libs/PanoSpatialTagPlugin/Components/origins.js +24 -25
- package/libs/PanoSpatialTagPlugin/Components/tag.js +23 -23
- package/libs/PanoSpatialTagPlugin/Plugin.js +61 -72
- package/libs/PanoSpatialTagPlugin/store.d.ts +1 -1
- package/libs/PanoSpatialTagPlugin/store.js +1 -2
- package/libs/PanoTagPlugin/Components/Common/Arrow.js +47 -47
- package/libs/PanoTagPlugin/Components/Common/Audio.js +95 -92
- package/libs/PanoTagPlugin/Components/Common/Line/Polyline.js +48 -48
- package/libs/PanoTagPlugin/Components/Common/Line/Straight.js +40 -41
- package/libs/PanoTagPlugin/Components/Common/Media.js +258 -3303
- package/libs/PanoTagPlugin/Components/Common/MediaItem.js +60 -60
- package/libs/PanoTagPlugin/Components/Common/MultiLineText.js +96 -107
- package/libs/PanoTagPlugin/Components/Common/Point/CustomPoint.js +15 -16
- package/libs/PanoTagPlugin/Components/Common/Point/DefaultPoint.js +22 -23
- package/libs/PanoTagPlugin/Components/Common/Point/PointSwitch.js +78 -82
- package/libs/PanoTagPlugin/Components/Common/Shadow.js +51 -52
- package/libs/PanoTagPlugin/Components/Common/Text.js +84 -937
- package/libs/PanoTagPlugin/Components/Tag/AudioTag.js +58 -64
- package/libs/PanoTagPlugin/Components/Tag/CustomTag.js +35 -34
- package/libs/PanoTagPlugin/Components/Tag/ImageTextTag.js +101 -111
- package/libs/PanoTagPlugin/Components/Tag/LinkTag.js +43 -45
- package/libs/PanoTagPlugin/Components/Tag/MarketingTag.js +123 -96
- package/libs/PanoTagPlugin/Components/Tag/MediaPlane.js +36 -44
- package/libs/PanoTagPlugin/Components/Tag/TextTag.js +71 -83
- package/libs/PanoTagPlugin/Components/Tag/index.js +130 -149
- package/libs/PanoTagPlugin/Components/TagContainer.js +69 -100
- package/libs/PanoTagPlugin/Components/TagWrapper.js +86 -116
- package/libs/PanoTagPlugin/controller/TagCacheController.js +2 -3
- package/libs/PanoTagPlugin/controller/TagComputer.d.ts +5 -5
- package/libs/PanoTagPlugin/controller/TagComputer.js +262 -13
- package/libs/PanoTagPlugin/controller/index.js +177 -186
- package/libs/PanoTagPlugin/index.js +7 -69
- package/libs/PanoTagPlugin/utils/checkRange.d.ts +1 -1
- package/libs/PanoTagPlugin/utils/resizeObserver.js +1 -1
- package/libs/PanoTagPlugin/utils/search.js +9 -27
- package/libs/base/BasePluginWithData.js +0 -1
- package/libs/components/PaintBrush/Controller.d.ts +2 -2
- package/libs/components/PaintBrush/Controller.js +3 -4
- package/libs/components/PaintBrush/index.js +2 -9
- package/libs/components/PaintBrush/tween.js +7 -11
- package/libs/components/PaintBrush/utils.d.ts +1 -1
- package/libs/env.d.ts +1 -0
- package/libs/floorplan/Components/BaseImage.js +29 -30
- package/libs/floorplan/Components/Camera.js +24 -24
- package/libs/floorplan/Components/Compass.js +36 -36
- package/libs/floorplan/Components/CurrentFloor.js +65 -74
- package/libs/floorplan/Components/Main.js +94 -112
- package/libs/floorplan/Components/Normalmage.js +21 -21
- package/libs/floorplan/Components/RoomHighlight/Room.js +20 -20
- package/libs/floorplan/Components/RoomHighlight/RoomHighlight.js +43 -44
- package/libs/floorplan/Components/RoomLabels/RoomLabel.js +60 -59
- package/libs/floorplan/Components/RoomLabels/RoomLabels.js +61 -61
- package/libs/floorplan/Components/RoomMaterials/RoomMaterial.js +136 -124
- package/libs/floorplan/Components/RoomMaterials/RoomMaterial_0.js +21 -21
- package/libs/floorplan/Components/RoomMaterials/RoomMaterial_1.js +20 -20
- package/libs/floorplan/Components/RoomMaterials/RoomMaterial_2.js +22 -22
- package/libs/floorplan/Components/RuleLabels/RuleItem.js +68 -68
- package/libs/floorplan/Components/RuleLabels/RuleLabels.js +40 -40
- package/libs/floorplan/Components/SvgImage.js +19 -19
- package/libs/floorplan/MapviewFloorplanPlugin/Controller.d.ts +1 -1
- package/libs/floorplan/MapviewFloorplanPlugin/Controller.js +145 -146
- package/libs/floorplan/MapviewFloorplanPlugin/index.js +4 -47
- package/libs/floorplan/ModelFloorplanPlugin/Controller.d.ts +1 -1
- package/libs/floorplan/ModelFloorplanPlugin/Controller.js +187 -189
- package/libs/floorplan/ModelFloorplanPlugin/index.js +4 -47
- package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Camera.js +32 -31
- package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/CurrentFloor.js +56 -60
- package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/ExtraObjects.js +29 -29
- package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Main.js +75 -83
- package/libs/floorplan/PanoFloorplanRadarPlugin/Controller.js +92 -74
- package/libs/floorplan/PanoFloorplanRadarPlugin/index.js +4 -24
- package/libs/floorplan/TopviewFloorplanPlugin/Controller.d.ts +1 -1
- package/libs/floorplan/TopviewFloorplanPlugin/Controller.js +181 -173
- package/libs/floorplan/TopviewFloorplanPlugin/index.js +4 -44
- package/libs/floorplan/utils/constant.js +1 -2
- package/libs/floorplan/utils/correctFiveState.js +48 -30
- package/libs/floorplan/utils/formatData.js +58 -36
- package/libs/index.js +90 -328
- package/libs/node_modules/.pnpm/swiper@8.4.4/node_modules/swiper/components-shared/get-changed-params.js +29 -0
- package/libs/node_modules/.pnpm/swiper@8.4.4/node_modules/swiper/components-shared/get-params.js +23 -0
- package/libs/node_modules/.pnpm/swiper@8.4.4/node_modules/swiper/components-shared/mount-swiper.js +14 -0
- package/libs/node_modules/.pnpm/swiper@8.4.4/node_modules/swiper/components-shared/params-list.js +120 -0
- package/libs/node_modules/.pnpm/swiper@8.4.4/node_modules/swiper/components-shared/update-swiper.js +36 -0
- package/libs/node_modules/.pnpm/swiper@8.4.4/node_modules/swiper/components-shared/utils.js +32 -0
- package/libs/node_modules/.pnpm/swiper@8.4.4/node_modules/swiper/svelte/swiper-slide.js +182 -0
- package/libs/node_modules/.pnpm/swiper@8.4.4/node_modules/swiper/svelte/swiper.js +254 -0
- package/libs/shared-utils/Object3DHelper/Base/BaseController.js +2 -5
- package/libs/shared-utils/Object3DHelper/Controller/CSS3DScaleController.js +5 -16
- package/libs/shared-utils/Object3DHelper/Controller/MoveController.js +16 -24
- package/libs/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +1 -1
- package/libs/shared-utils/Object3DHelper/Controller/RectangleScaleController.js +15 -23
- package/libs/shared-utils/Object3DHelper/Controller/RotateController.js +2 -10
- package/libs/shared-utils/Object3DHelper/Helper/HTML/rectangleScaleDom.js +27 -29
- package/libs/shared-utils/Object3DHelper/Helper/HTML/tipsDom.js +19 -9
- package/libs/shared-utils/Object3DHelper/Helper/MoveHelper.js +4 -5
- package/libs/shared-utils/Object3DHelper/Helper/OutlineHelper.js +1 -102
- package/libs/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.js +8 -14
- package/libs/shared-utils/Object3DHelper/Helper/RotateHelper.js +2 -3
- package/libs/shared-utils/Object3DHelper/index.js +72 -43
- package/libs/shared-utils/Object3DHelper/utils/direction.js +14 -22
- package/libs/shared-utils/Object3DHelper/utils/getMouseRaycaster.d.ts +1 -1
- package/libs/shared-utils/Object3DHelper/utils/threex/domevents/index.d.ts +34 -0
- package/libs/shared-utils/Object3DHelper/utils/threex/domevents/index.js +1 -1
- package/libs/shared-utils/Subscribe.js +1 -1
- package/libs/shared-utils/animationFrame/BetterTween.js +24 -4
- package/libs/shared-utils/animationFrame/calculateProgress.js +3 -9
- package/libs/shared-utils/animationFrame/formatRad.js +1 -3
- package/libs/shared-utils/animationFrame/index.js +19 -39
- package/libs/shared-utils/animationFrame/tween.js +17 -17
- package/libs/shared-utils/filter.js +6 -26
- package/libs/shared-utils/five/changeMode.js +34 -16
- package/libs/shared-utils/index.js +29 -43
- package/libs/shared-utils/math/planimetry.d.ts +5 -5
- package/libs/shared-utils/math/planimetry.js +34 -121
- package/libs/shared-utils/removeArrayItem.d.ts +1 -1
- package/libs/shared-utils/three/Assets/index.js +1 -2
- package/libs/shared-utils/three/FivePointSelector.d.ts +1 -1
- package/libs/shared-utils/three/FivePointSelector.js +12 -26
- package/libs/shared-utils/three/Magnifier.d.ts +2 -2
- package/libs/shared-utils/three/Magnifier.js +3 -3
- package/libs/shared-utils/three/PointDomHelper.js +27 -35
- package/libs/shared-utils/three/PointHelper.js +1 -1
- package/libs/shared-utils/three/getIntersect.d.ts +1 -1
- package/libs/shared-utils/three/getRaycaster.d.ts +1 -1
- package/libs/shared-utils/three/loadTexture.js +25 -7
- package/libs/shared-utils/three/transfromToMeshBasicMaterial.js +18 -7
- package/libs/shared-utils/to.js +26 -8
- package/package.json +45 -28
- package/dist/style.css +0 -1
- package/docs/assets/icons.css +0 -1043
- package/docs/assets/icons.png +0 -0
- package/docs/assets/icons@2x.png +0 -0
- package/docs/assets/widgets.png +0 -0
- package/docs/assets/widgets@2x.png +0 -0
- package/docs/interfaces/CSS3DRenderPluginExportType.html +0 -4
- package/libs/CSS3DRenderPlugin/typing.js +0 -1
- package/libs/CSS3DRenderPlugin/utils/index.js +0 -13
- package/libs/CSS3DRenderPlugin/utils/random.js +0 -6
- package/libs/CameraMovementPlugin/index.js +0 -15
- package/libs/CruisePlugin/typing.js +0 -1
- package/libs/GuideLinePlugin/typing.js +0 -1
- package/libs/GuideLinePlugin/utils/getPoint.d.ts +0 -3
- package/libs/GuideLinePlugin/utils/getPoint.js +0 -18
- package/libs/GuideLinePlugin/utils/polyline-normals.d.js +0 -1
- package/libs/ItemLabelPlugin/events.type.js +0 -1
- package/libs/ModelChassisCompassPlugin/index.js +0 -10
- package/libs/ModelEntryDoorGuidePlugin/index.js +0 -11
- package/libs/ModelItemLabelPlugin/events.type.js +0 -1
- package/libs/ModelRoomLabelPlugin/typings.js +0 -1
- package/libs/ModelTVVideoPlugin/index.js +0 -19
- package/libs/ModelViewPlugin/index.js +0 -8
- package/libs/Object3DHelperPlugin/mocks/addObject3D.d.ts +0 -2
- package/libs/Object3DHelperPlugin/mocks/addObject3D.js +0 -1377
- package/libs/Object3DHelperPlugin/mocks/objects.d.ts +0 -7
- package/libs/Object3DHelperPlugin/mocks/objects.js +0 -47
- package/libs/Object3DHelperPlugin/typings.js +0 -1
- package/libs/PanoCompassPlugin/typings.js +0 -1
- package/libs/PanoDoorLabelPlugin/typings.js +0 -1
- package/libs/PanoMeasurePlugin/typings/data.js +0 -1
- package/libs/PanoMeasurePlugin/typings/event.type.js +0 -1
- package/libs/PanoMeasurePlugin/typings/index.js +0 -1
- package/libs/PanoMeasurePlugin/typings/utils.type.d.ts +0 -1
- package/libs/PanoMeasurePlugin/typings/utils.type.js +0 -1
- package/libs/PanoMeasurePlugin/utils/clearGroup.d.ts +0 -2
- package/libs/PanoMeasurePlugin/utils/clearGroup.js +0 -6
- package/libs/PanoRulerPlugin/index.js +0 -11
- package/libs/PanoRulerPlugin/typings.js +0 -1
- package/libs/PanoRulerProPlugin/typings.js +0 -1
- package/libs/PanoSpatialTagPlugin/index.js +0 -24
- package/libs/PanoSpatialTagPlugin/typings.js +0 -1
- package/libs/PanoTagPlugin/Components/Common/TextItem.js +0 -106
- package/libs/PanoTagPlugin/typings/controller.js +0 -1
- package/libs/PanoTagPlugin/typings/index.js +0 -7
- package/libs/PanoTagPlugin/utils/index.js +0 -36
- package/libs/TagComputer.2bc444dc.js +0 -315
- package/libs/components/index.js +0 -13
- package/libs/floorplan/MapviewFloorplanPlugin/typing.js +0 -1
- package/libs/floorplan/ModelFloorplanPlugin/typing.js +0 -1
- package/libs/floorplan/PanoFloorplanRadarPlugin/typing.js +0 -1
- package/libs/floorplan/TopviewFloorplanPlugin/style.d.ts +0 -1
- package/libs/floorplan/TopviewFloorplanPlugin/style.js +0 -11
- package/libs/floorplan/TopviewFloorplanPlugin/typing.js +0 -1
- package/libs/floorplan/index.js +0 -67
- package/libs/floorplan/typings/floorplanData.js +0 -1
- package/libs/floorplan/typings/index.js +0 -1
- package/libs/floorplan/typings/utility.js +0 -1
- package/libs/hammer.b5b6115e.js +0 -882
- package/libs/index.164f1850.js +0 -641
- package/libs/index.6a0eead1.js +0 -12
- package/libs/index.ad783a2f.js +0 -31
- package/libs/index.dca207cb.js +0 -37
- package/libs/index.f2f85d71.js +0 -40
- package/libs/index.fd12d787.js +0 -34
- package/libs/shared-utils/Object3DHelper/Helper/index.js +0 -30
- package/libs/shared-utils/Object3DHelper/typings/Direction.js +0 -1
- package/libs/shared-utils/Object3DHelper/typings/Hooks.js +0 -1
- package/libs/shared-utils/Object3DHelper/typings/Scissor.js +0 -1
- package/libs/shared-utils/Object3DHelper/typings/index.js +0 -1
- package/libs/shared-utils/Object3DHelper/utils/filterNotColinearPoints.js +0 -18
- package/libs/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +0 -1
- package/libs/shared-utils/Object3DHelper/utils/finiteNumber.js +0 -6
- package/libs/shared-utils/Object3DHelper/utils/getPoint.js +0 -18
- package/libs/shared-utils/Object3DHelper/utils/index.js +0 -29
- package/libs/shared-utils/Object3DHelper/utils/negateScale.d.ts +0 -2
- package/libs/shared-utils/Object3DHelper/utils/negateScale.js +0 -7
- package/libs/shared-utils/Object3DHelper/utils/normalPositionToPositions.js +0 -13
- package/libs/shared-utils/Object3DHelper/utils/object3DBoundingPosition.js +0 -5
- package/libs/shared-utils/Object3DHelper/utils/threex/domevents/index.d.js +0 -4
- package/libs/shared-utils/Preloader.d.ts +0 -6
- package/libs/shared-utils/Preloader.js +0 -18
- package/libs/shared-utils/formatRad.d.ts +0 -7
- package/libs/shared-utils/formatRad.js +0 -7
- package/libs/shared-utils/getRandomColor.d.ts +0 -1
- package/libs/shared-utils/getRandomColor.js +0 -6
- package/libs/shared-utils/logger.d.ts +0 -16
- package/libs/shared-utils/logger.js +0 -27
- package/libs/shared-utils/math/evenNumber.d.ts +0 -3
- package/libs/shared-utils/math/evenNumber.js +0 -7
- package/libs/shared-utils/math/index.js +0 -6
- package/libs/shared-utils/px2rem.d.ts +0 -1
- package/libs/shared-utils/px2rem.js +0 -6
- package/libs/shared-utils/three/getExtraModelLoader.d.ts +0 -6
- package/libs/shared-utils/three/getExtraModelLoader.js +0 -18
- package/libs/shared-utils/three/getNormal.d.ts +0 -2
- package/libs/shared-utils/three/getNormal.js +0 -7
- package/libs/shared-utils/three/getTextureLoader.d.ts +0 -6
- package/libs/shared-utils/three/getTextureLoader.js +0 -16
- package/libs/shared-utils/three/index.js +0 -33
- package/libs/shared-utils/three/loadFbxObj.d.ts +0 -2
- package/libs/shared-utils/three/loadFbxObj.js +0 -16
- package/libs/shared-utils/vectorTocoordinates.d.ts +0 -7
- package/libs/shared-utils/vectorTocoordinates.js +0 -10
- package/libs/style.css +0 -1
- package/libs/tween.esm.bad2b2b4.js +0 -340
- package/libs/typings/math.type.js +0 -1
- package/libs/typings/utils.type.d.ts +0 -2
- package/libs/typings/utils.type.js +0 -1
|
@@ -44,8 +44,8 @@ export declare function getK(point1: Point, point2: Point): number;
|
|
|
44
44
|
* @return {point}
|
|
45
45
|
*/
|
|
46
46
|
export declare function closestPointOnLine(point: Point, linePoints: Point[]): {
|
|
47
|
-
x:
|
|
48
|
-
y:
|
|
47
|
+
x: any;
|
|
48
|
+
y: any;
|
|
49
49
|
};
|
|
50
50
|
/**
|
|
51
51
|
* 点到线段的距离,
|
|
@@ -62,8 +62,8 @@ export declare function pointDistanceFromLine(point: Point, linePoints: Point[])
|
|
|
62
62
|
* @return {[linePoints, linePoints]}
|
|
63
63
|
*/
|
|
64
64
|
export declare function linesWithDistanceOfLine(distanceOfLine: number, linePoints: Point[]): {
|
|
65
|
-
x:
|
|
66
|
-
y:
|
|
65
|
+
x: any;
|
|
66
|
+
y: any;
|
|
67
67
|
}[][];
|
|
68
68
|
/**
|
|
69
69
|
* 做线段的距离一定值的平行线段 (如果线段是弧形的)
|
|
@@ -83,7 +83,7 @@ export declare function linesWithDistanceOfLineWithCurve(distanceOfLine: number,
|
|
|
83
83
|
* @param needIntersectionInLine 是否是延长线的相交
|
|
84
84
|
* @return {point || false}
|
|
85
85
|
*/
|
|
86
|
-
export declare function intersectionOfLine(linePoints1: Point[], linePoints2: Point[], needIntersectionInLine: boolean): false | Point
|
|
86
|
+
export declare function intersectionOfLine(linePoints1: Point[], linePoints2: Point[], needIntersectionInLine: boolean): false | Point;
|
|
87
87
|
/**
|
|
88
88
|
* 是否点在线段上
|
|
89
89
|
* @param {point} point
|
|
@@ -1,135 +1,48 @@
|
|
|
1
|
-
function
|
|
2
|
-
return
|
|
1
|
+
function I(r, x) {
|
|
2
|
+
return r.x === x.x && r.y === x.y;
|
|
3
3
|
}
|
|
4
|
-
function
|
|
5
|
-
return Math.
|
|
4
|
+
function N(r, x) {
|
|
5
|
+
return Math.abs(r) === 1 / 0 && Math.abs(x) === 1 / 0 ? !0 : Math.abs(r - x) < 1e-3;
|
|
6
6
|
}
|
|
7
|
-
function
|
|
8
|
-
return
|
|
7
|
+
function m(r, x) {
|
|
8
|
+
return (x.y - r.y) / (x.x - r.x);
|
|
9
9
|
}
|
|
10
|
-
function
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
function q(x, r) {
|
|
14
|
-
const y = x.x - r[0].x, u = x.y - r[0].y, a = r[1].x - r[0].x, t = r[1].y - r[0].y, c = y * a + u * t, h = a * a + t * t, f = c / h;
|
|
15
|
-
let M, m;
|
|
16
|
-
return f < 0 || N(r[0], r[1]) ? (M = r[0].x, m = r[0].y) : f > 1 ? (M = r[1].x, m = r[1].y) : (M = r[0].x + f * a, m = r[0].y + f * t), { x: M, y: m };
|
|
17
|
-
}
|
|
18
|
-
function W(x, r) {
|
|
19
|
-
const y = q(x, r);
|
|
20
|
-
return e(x, y);
|
|
21
|
-
}
|
|
22
|
-
function w(x, r) {
|
|
23
|
-
const y = I(r[1], r[0]);
|
|
24
|
-
let u, a;
|
|
25
|
-
Math.abs(y) === 1 / 0 ? (a = 0, u = x) : (a = Math.sqrt(x * x / (y * y + 1)), u = a / -(1 / y));
|
|
26
|
-
const t = [
|
|
27
|
-
[
|
|
28
|
-
{ x: r[0].x - u, y: r[0].y - a },
|
|
29
|
-
{ x: r[1].x - u, y: r[1].y - a }
|
|
30
|
-
],
|
|
31
|
-
[
|
|
32
|
-
{ x: r[0].x + u, y: r[0].y + a },
|
|
33
|
-
{ x: r[1].x + u, y: r[1].y + a }
|
|
34
|
-
]
|
|
35
|
-
];
|
|
36
|
-
return r[1].x - r[0].x < 0 ? t : r[1].x - r[0].x > 0 || r[1].y - r[0].y < 0 ? t.reverse() : t;
|
|
37
|
-
}
|
|
38
|
-
function L(x, r, y) {
|
|
39
|
-
const u = A(r), a = e(r[0], u), t = Math.sqrt(y * y - a * a), c = isNaN(t) ? u : w(t, [u, r[0]])[y > 0 ? 0 : 1][0], h = (r[0].x - c.x) / y * x, f = (r[0].y - c.y) / y * x, M = (r[1].x - c.x) / y * x, m = (r[1].y - c.y) / y * x;
|
|
40
|
-
return [
|
|
41
|
-
[
|
|
42
|
-
{ x: r[0].x - h, y: r[0].y - f },
|
|
43
|
-
{ x: r[1].x - M, y: r[1].y - m }
|
|
44
|
-
],
|
|
45
|
-
[
|
|
46
|
-
{ x: r[0].x + h, y: r[0].y + f },
|
|
47
|
-
{ x: r[1].x + M, y: r[1].y + m }
|
|
48
|
-
]
|
|
49
|
-
];
|
|
50
|
-
}
|
|
51
|
-
function S(x, r, y) {
|
|
52
|
-
const u = I(x[1], x[0]), a = I(r[1], r[0]);
|
|
53
|
-
if (isNaN(u) || isNaN(a) || g(u, a))
|
|
10
|
+
function O(r, x, f) {
|
|
11
|
+
const u = m(r[1], r[0]), y = m(x[1], x[0]);
|
|
12
|
+
if (isNaN(u) || isNaN(y) || N(u, y))
|
|
54
13
|
return !1;
|
|
55
|
-
if (
|
|
56
|
-
return x[0];
|
|
57
|
-
if (D(x[1], r))
|
|
58
|
-
return x[1];
|
|
59
|
-
if (D(r[0], x))
|
|
14
|
+
if (h(r[0], x))
|
|
60
15
|
return r[0];
|
|
61
|
-
if (
|
|
16
|
+
if (h(r[1], x))
|
|
62
17
|
return r[1];
|
|
63
|
-
if (
|
|
18
|
+
if (h(x[0], r))
|
|
19
|
+
return x[0];
|
|
20
|
+
if (h(x[1], r))
|
|
21
|
+
return x[1];
|
|
22
|
+
if (f && !L(r, x))
|
|
64
23
|
return !1;
|
|
65
|
-
const
|
|
24
|
+
const a = r[0], c = x[0];
|
|
66
25
|
if (Math.abs(u) === 1 / 0)
|
|
67
|
-
return { x:
|
|
68
|
-
if (Math.abs(
|
|
69
|
-
return { x: c.x, y:
|
|
70
|
-
const
|
|
71
|
-
return { x:
|
|
72
|
-
}
|
|
73
|
-
function D(x, r) {
|
|
74
|
-
return N(x, r[0]) || N(x, r[1]) ? !0 : (r[0].x - x.x) * (x.x - r[1].x) >= 0 && (r[0].y - x.y) * (x.y - r[1].y) >= 0 && g(I(r[0], x), I(x, r[1]));
|
|
75
|
-
}
|
|
76
|
-
function X(x, r, y) {
|
|
77
|
-
const u = e(x, r);
|
|
78
|
-
let a = Math.atan2(x.y - r.y, x.x - r.x);
|
|
79
|
-
return a -= y, {
|
|
80
|
-
x: r.x + Math.cos(a) * u,
|
|
81
|
-
y: r.y + Math.sin(a) * u
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
function A(x) {
|
|
85
|
-
let r = 1 / 0, y = 0, u = 1 / 0, a = 0;
|
|
86
|
-
return x.forEach((t) => {
|
|
87
|
-
r = Math.min(r, t.x), y = Math.max(y, t.x), u = Math.min(u, t.y), a = Math.max(a, t.y);
|
|
88
|
-
}), { x: (r + y) / 2, y: (u + a) / 2 };
|
|
89
|
-
}
|
|
90
|
-
function b(x, r, y) {
|
|
91
|
-
return (x.x - y.x) * (r.y - y.y) - (r.x - y.x) * (x.y - y.y);
|
|
92
|
-
}
|
|
93
|
-
function C(x, r) {
|
|
94
|
-
return Math.max(x[0].x, x[1].x) >= Math.min(r[0].x, r[1].x) && Math.max(r[0].x, r[1].x) >= Math.min(x[0].x, x[1].x) && Math.max(x[0].y, x[1].y) >= Math.min(r[0].y, r[1].y) && b(r[0], x[1], x[0]) * b(x[1], r[1], x[0]) > 0 && b(x[0], r[1], r[0]) * b(r[1], x[1], r[0]) > 0 ? 1 : 0;
|
|
26
|
+
return { x: a.x, y: x[1].y - (x[1].x - a.x) * y };
|
|
27
|
+
if (Math.abs(y) === 1 / 0)
|
|
28
|
+
return { x: c.x, y: r[1].y - (r[1].x - c.x) * u };
|
|
29
|
+
const b = (c.y - a.y + u * a.x - y * c.x) / (u - y), K = u * b - u * a.x + a.y;
|
|
30
|
+
return { x: b, y: K };
|
|
95
31
|
}
|
|
96
|
-
function
|
|
97
|
-
return x.x * r.
|
|
32
|
+
function h(r, x) {
|
|
33
|
+
return I(r, x[0]) || I(r, x[1]) ? !0 : (x[0].x - r.x) * (r.x - x[1].x) >= 0 && (x[0].y - r.y) * (r.y - x[1].y) >= 0 && N(m(x[0], r), m(r, x[1]));
|
|
98
34
|
}
|
|
99
|
-
function
|
|
100
|
-
|
|
101
|
-
return (d(
|
|
102
|
-
x.reduce((y, u) => (r += d(y, u), u)),
|
|
103
|
-
x[0]
|
|
104
|
-
) + r) / 2;
|
|
35
|
+
function M(r, x, f) {
|
|
36
|
+
return (r.x - f.x) * (x.y - f.y) - (x.x - f.x) * (r.y - f.y);
|
|
105
37
|
}
|
|
106
|
-
function
|
|
107
|
-
|
|
108
|
-
const y = (d(
|
|
109
|
-
x.reduce((t, c) => (r += d(t, c), c)),
|
|
110
|
-
x[0]
|
|
111
|
-
) + r) / 2;
|
|
112
|
-
let u = 0;
|
|
113
|
-
const a = (e(
|
|
114
|
-
x.reduce((t, c) => (u += e(t, c) * 250, c)),
|
|
115
|
-
x[0]
|
|
116
|
-
) * 250 + u) / 2;
|
|
117
|
-
return y - (a - 250 * 1e3) * (y > 0 ? 1 : -1);
|
|
38
|
+
function L(r, x) {
|
|
39
|
+
return Math.max(r[0].x, r[1].x) >= Math.min(x[0].x, x[1].x) && Math.max(x[0].x, x[1].x) >= Math.min(r[0].x, r[1].x) && Math.max(r[0].y, r[1].y) >= Math.min(x[0].y, x[1].y) && M(x[0], r[1], r[0]) * M(r[1], x[1], r[0]) > 0 && M(r[0], x[1], x[0]) * M(x[1], r[1], x[0]) > 0 ? 1 : 0;
|
|
118
40
|
}
|
|
119
41
|
export {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
I as
|
|
126
|
-
S as intersectionOfLine,
|
|
127
|
-
C as isIntersect,
|
|
128
|
-
w as linesWithDistanceOfLine,
|
|
129
|
-
L as linesWithDistanceOfLineWithCurve,
|
|
130
|
-
W as pointDistanceFromLine,
|
|
131
|
-
D as pointOnLine,
|
|
132
|
-
X as pointRotateByCenterPoint,
|
|
133
|
-
g as sameK,
|
|
134
|
-
N as samePointAt
|
|
42
|
+
m as getK,
|
|
43
|
+
O as intersectionOfLine,
|
|
44
|
+
L as isIntersect,
|
|
45
|
+
h as pointOnLine,
|
|
46
|
+
N as sameK,
|
|
47
|
+
I as samePointAt
|
|
135
48
|
};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
const A = "data:image/png;base64,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", C = "data:image/svg+xml;base64,PHN2ZwogIHdpZHRoPSI2NyIKICBoZWlnaHQ9IjY3IgogIHZpZXdCb3g9IjAgMCA2NyA2NyIKICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCj4KICA8ZGVmcz4KICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iNTAlIiB5MT0iMCUiIHgyPSI1MCUiIHkyPSIxMDAlIiBpZD0iYSI+CiAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGRkYiIG9mZnNldD0iMCUiIC8+CiAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGRkYiIHN0b3Atb3BhY2l0eT0iLjM5NiIgb2Zmc2V0PSIxMDAlIiAvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iNTAlIiB5MT0iMCUiIHgyPSI1MCUiIHkyPSIxMDAlIiBpZD0iYiI+CiAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGRkYiIG9mZnNldD0iMCUiIC8+CiAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGRkYiIG9mZnNldD0iMTAwJSIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSJNMzQuOTAzIDc0LjI2OGEyOS45NjMgMjkuOTYzIDAgMCAwIDExLjY0OCAyLjM0YzMuOTE4IDAgNy42Ni0uNzUgMTEuMDkzLTIuMTEzbDEuOTc2IDEuOTc3YTMyLjUzMSAzMi41MzEgMCAwIDEtMTMuMDY5IDIuNzIgMzIuNTIgMzIuNTIgMCAwIDEtMTMuNjA5LTIuOTYzek03Ni4wNSAzMy4zMzNjLjkxIDEuMzQ3IDEuMjIyIDIuMTM5IDEuNDIyIDIuNzI4YTMyLjYwMiAzMi42MDIgMCAwIDEgMS43MjIgMTAuNDljMCAzLjg0OS0uNjY2IDcuNTQyLTEuODkgMTAuOTdhMzUuMzQgMzUuMzQgMCAwIDEtLjc4IDEuOTQ0LjUwOC41MDggMCAwIDEtLjYzLjI4M2wtMS4yOTktMS4yMjdjLjEzNi0xLjQ5Ni4zNTEtMi4wNzYuNDktMi40OTVhMzAuMDI3IDMwLjAyNyAwIDAgMCAxLjUyNC05LjQ3NSAzMC4wNCAzMC4wNCAwIDAgMC0xLjQwOC05LjExNiAzNi4xODMgMzYuMTgzIDAgMCAwLS43Ni0yLjA4NWwxLjI2Ni0xLjg4NGEuNTA4LjUwOCAwIDAgMSAuMzQzLS4xMzN6bS01OS40MzQuNTgxbDEuNjczIDEuMjNjLS4wODUgMS40LS4yNjcgMS45MTYtLjM4NiAyLjI5YTMwLjA0IDMwLjA0IDAgMCAwLTEuNDA4IDkuMTE3YzAgMy4yNDcuNTE1IDYuMzc0IDEuNDY4IDkuMzAzLjEwNy4zMy4yNjguNzguNDggMS4zNDZsLTEuMjg0IDEuODkzYS41MDcuNTA3IDAgMCAxLS42NzQuMDExYy0uNDI2LS44OTMtLjYzLTEuNDIxLS43Ny0xLjgyNWEzMi41OTQgMzIuNTk0IDAgMCAxLTEuODA0LTEwLjcyOGMwLTMuODY3LjY3Mi03LjU3NiAxLjkwNi0xMS4wMTguMTIzLS4zNDUuMjk4LS43OTEuNTI1LTEuMzQyYS41MDYuNTA2IDAgMCAxIC4yNzQtLjI3N3pNNDYuNTUxIDEzLjkxYzMuNzM1IDAgNy4zMjQuNjI3IDEwLjY2NyAxLjc4Mi40MjcuMTQ4Ljk5MS4zNjUgMS42OS42NTFsLS45NSAxLjk0NGMtMS41NzctLjE0NC0yLjIyMy0uMzY4LTIuNjg4LS41MDhhMzAuMDU2IDMwLjA1NiAwIDAgMC04LjcxOS0xLjI4NWMtMy41NSAwLTYuOTU3LjYxNi0xMC4xMTkgMS43NDYtLjI2OS4wOTctLjYyOS4yMzUtMS4wNzkuNDE1bC0xLjg5OC0xLjI3Yy42NjQtMS4wMjIgMS4wMzUtMS4xNzYgMS4zMjUtMS4yODlhMzIuNDUzIDMyLjQ1MyAwIDAgMSA4Ljc3LTIuMDVjLjk4OS0uMDkgMS45OS0uMTM2IDMuMDAxLS4xMzZ6IgogICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEyLjcxOCAtMTIuNzE4KSIKICAgIGZpbGw9InVybCgjYSkiCiAgICBzdHJva2U9InVybCgjYikiCiAgICBzdHJva2Utd2lkdGg9Ii41NSIKICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgIG9wYWNpdHk9Ii42IgogIC8+Cjwvc3ZnPgo=";
|
|
1
|
+
const A = "data:image/png;base64,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";
|
|
2
2
|
export {
|
|
3
|
-
C as POINT_DOM_HELPER_IMAGE,
|
|
4
3
|
A as POINT_HELPER_TEXTURE_URL
|
|
5
4
|
};
|
|
@@ -1,36 +1,22 @@
|
|
|
1
1
|
var l = Object.defineProperty;
|
|
2
|
-
var
|
|
3
|
-
var i = (
|
|
4
|
-
import * as
|
|
5
|
-
import { Subscribe as
|
|
6
|
-
import { Magnifier as
|
|
2
|
+
var h = (n, t, e) => t in n ? l(n, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[t] = e;
|
|
3
|
+
var i = (n, t, e) => (h(n, typeof t != "symbol" ? t + "" : t, e), e);
|
|
4
|
+
import * as a from "three";
|
|
5
|
+
import { Subscribe as p } from "@realsee/five";
|
|
6
|
+
import { Magnifier as m } from "./Magnifier.js";
|
|
7
7
|
import { PointHelper as d } from "./PointHelper.js";
|
|
8
8
|
import { PointDomHelper as f } from "./PointDomHelper.js";
|
|
9
|
-
|
|
10
|
-
import "./Assets/index.js";
|
|
11
|
-
import "../../tween.esm.bad2b2b4.js";
|
|
12
|
-
import "../animationFrame/index.js";
|
|
13
|
-
import "../../PanoMeasurePlugin/Modules/rangePiece/html.js";
|
|
14
|
-
import "../../CSS3DRenderPlugin/index.js";
|
|
15
|
-
import "../../CSS3DRenderPlugin/Controller.js";
|
|
16
|
-
import "../../CSS3DRenderPlugin/CSS3DRender.js";
|
|
17
|
-
import "three/examples/jsm/renderers/CSS3DRenderer";
|
|
18
|
-
import "../Subscribe.js";
|
|
19
|
-
import "../../CSS3DRenderPlugin/utils/evenNumber.js";
|
|
20
|
-
import "../../CSS3DRenderPlugin/utils/positionToVector3.js";
|
|
21
|
-
import "../../CSS3DRenderPlugin/utils/CSS3DObjectPlus.js";
|
|
22
|
-
import "../../CSS3DRenderPlugin/utils/centerPoint.js";
|
|
23
|
-
class F {
|
|
9
|
+
class D {
|
|
24
10
|
constructor(t, e) {
|
|
25
11
|
i(this, "five");
|
|
26
|
-
i(this, "hooks", new
|
|
12
|
+
i(this, "hooks", new p());
|
|
27
13
|
i(this, "magnifier", null);
|
|
28
14
|
i(this, "pointHelper", null);
|
|
29
15
|
i(this, "pointDomHelper", null);
|
|
30
16
|
i(this, "contentDom", document.createElement("div"));
|
|
31
17
|
i(this, "state", { enabled: !1 });
|
|
32
|
-
i(this, "group", new
|
|
33
|
-
this.five = t, this.magnifier = (e == null ? void 0 : e.magnifier) === void 0 ? new
|
|
18
|
+
i(this, "group", new a.Group());
|
|
19
|
+
this.five = t, this.magnifier = (e == null ? void 0 : e.magnifier) === void 0 ? new m(t, { dragEnabled: !0 }) : null, this.pointHelper = (e == null ? void 0 : e.pointHelper) === void 0 ? new d() : null, this.pointDomHelper = (e == null ? void 0 : e.pointDomHelper) === void 0 ? new f(t) : null, this.group.name = "five-point-selector", this.five.scene.add(this.group), this.contentDom.classList.add("five-point-selector-content"), this.contentDom.style.position = "absolute", this.contentDom.style.top = "0", this.contentDom.style.left = "0", this.contentDom.style.width = "100%", this.contentDom.style.height = "100%", this.contentDom.style.pointerEvents = "none";
|
|
34
20
|
}
|
|
35
21
|
enable() {
|
|
36
22
|
var t, e;
|
|
@@ -52,12 +38,12 @@ class F {
|
|
|
52
38
|
});
|
|
53
39
|
const e = this.magnifier;
|
|
54
40
|
e && e.renderWithPoint(t.point);
|
|
55
|
-
const
|
|
56
|
-
|
|
41
|
+
const o = this.pointHelper;
|
|
42
|
+
o && o.updateWithIntersect(t);
|
|
57
43
|
const r = this.pointDomHelper;
|
|
58
44
|
r && r.updateWithIntersect(t), this.five.needsRender = !0;
|
|
59
45
|
}
|
|
60
46
|
}
|
|
61
47
|
export {
|
|
62
|
-
|
|
48
|
+
D as FivePointSelector
|
|
63
49
|
};
|
|
@@ -36,8 +36,8 @@ export declare class Magnifier {
|
|
|
36
36
|
private state;
|
|
37
37
|
constructor(five: Five, options: MagnifierParameter);
|
|
38
38
|
dispose(): void;
|
|
39
|
-
enable(): this
|
|
40
|
-
disable(): this
|
|
39
|
+
enable(): this;
|
|
40
|
+
disable(): this;
|
|
41
41
|
/** 把放大镜放到某一个容器中 */
|
|
42
42
|
appendTo(element: Element): this;
|
|
43
43
|
/** 清除放大镜渲染内容 */
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var P = Object.defineProperty;
|
|
2
2
|
var b = (s, t, e) => t in s ? P(s, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[t] = e;
|
|
3
3
|
var a = (s, t, e) => (b(s, typeof t != "symbol" ? t + "" : t, e), e);
|
|
4
|
-
import
|
|
4
|
+
import w from "hammerjs";
|
|
5
5
|
import * as m from "three";
|
|
6
6
|
import { Subscribe as D } from "@realsee/five";
|
|
7
7
|
function l(s, t, e) {
|
|
@@ -18,7 +18,7 @@ function C(s, t, e) {
|
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
-
class
|
|
21
|
+
class H {
|
|
22
22
|
constructor(t, e) {
|
|
23
23
|
a(this, "width");
|
|
24
24
|
a(this, "height");
|
|
@@ -100,5 +100,5 @@ class R {
|
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
102
|
export {
|
|
103
|
-
|
|
103
|
+
H as Magnifier
|
|
104
104
|
};
|
|
@@ -1,42 +1,34 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
import * as
|
|
5
|
-
import
|
|
6
|
-
import "
|
|
1
|
+
var l = Object.defineProperty;
|
|
2
|
+
var m = (o, e, t) => e in o ? l(o, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : o[e] = t;
|
|
3
|
+
var n = (o, e, t) => (m(o, typeof e != "symbol" ? e + "" : e, t), t);
|
|
4
|
+
import * as a from "three";
|
|
5
|
+
import * as p from "@tweenjs/tween.js";
|
|
6
|
+
import "hammerjs";
|
|
7
7
|
import "@realsee/five";
|
|
8
|
-
import { BetterTween as d } from "../animationFrame/index.js";
|
|
9
8
|
import { rangePieceImg as h } from "../../PanoMeasurePlugin/Modules/rangePiece/html.js";
|
|
10
9
|
import { CSS3DRenderPlugin as b } from "../../CSS3DRenderPlugin/index.js";
|
|
11
|
-
import "
|
|
12
|
-
|
|
13
|
-
import "three/examples/jsm/renderers/CSS3DRenderer";
|
|
14
|
-
import "../Subscribe.js";
|
|
15
|
-
import "../../CSS3DRenderPlugin/utils/evenNumber.js";
|
|
16
|
-
import "../../CSS3DRenderPlugin/utils/positionToVector3.js";
|
|
17
|
-
import "../../CSS3DRenderPlugin/utils/CSS3DObjectPlus.js";
|
|
18
|
-
import "../../CSS3DRenderPlugin/utils/centerPoint.js";
|
|
19
|
-
class A {
|
|
10
|
+
import { BetterTween as u } from "../animationFrame/BetterTween.js";
|
|
11
|
+
class w {
|
|
20
12
|
constructor(e) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
13
|
+
n(this, "five");
|
|
14
|
+
n(this, "contentElement", document.createElement("div"));
|
|
15
|
+
n(this, "animeIns");
|
|
16
|
+
n(this, "container");
|
|
17
|
+
n(this, "css3DObject");
|
|
18
|
+
n(this, "disposeCss3DObject");
|
|
19
|
+
n(this, "state", { enabled: !1 });
|
|
28
20
|
this.five = e;
|
|
29
|
-
const
|
|
21
|
+
const s = 0.4 / 2, r = b(e).create3DDomContainer(
|
|
30
22
|
[
|
|
31
|
-
[-
|
|
32
|
-
[-
|
|
33
|
-
[
|
|
34
|
-
[
|
|
35
|
-
].map((i) => new
|
|
23
|
+
[-s, s, 0],
|
|
24
|
+
[-s, -s, 0],
|
|
25
|
+
[s, -s, 0],
|
|
26
|
+
[s, s, 0]
|
|
27
|
+
].map((i) => new a.Vector3().fromArray(i))
|
|
36
28
|
);
|
|
37
|
-
if (
|
|
38
|
-
const { container: i, dispose:
|
|
39
|
-
this.container = i, this.css3DObject =
|
|
29
|
+
if (r) {
|
|
30
|
+
const { container: i, dispose: c, css3DObject: d } = r;
|
|
31
|
+
this.container = i, this.css3DObject = d, this.disposeCss3DObject = c;
|
|
40
32
|
}
|
|
41
33
|
this.contentElement.style.width = "100%", this.contentElement.style.height = "100%", this.contentElement.style.backgroundImage = `url(${h})`, this.contentElement.style.backgroundSize = "100%", this.contentElement.style.backgroundRepeat = "no-repeat";
|
|
42
34
|
}
|
|
@@ -50,12 +42,12 @@ class A {
|
|
|
50
42
|
updateWithIntersect(e) {
|
|
51
43
|
if (!e.face || !this.css3DObject)
|
|
52
44
|
return;
|
|
53
|
-
const t = new
|
|
45
|
+
const t = new a.Vector3().addVectors(e.point, e.face.normal);
|
|
54
46
|
this.css3DObject.position.copy(e.point), this.css3DObject.lookAt(t), this.five.needsRender = !0;
|
|
55
47
|
}
|
|
56
48
|
doAnimation() {
|
|
57
49
|
var e;
|
|
58
|
-
(e = this.animeIns) == null || e.dispose(), new
|
|
50
|
+
(e = this.animeIns) == null || e.dispose(), new u({ progress: 0 }).to({ progress: [1, 0] }).duration(500).easing(p.Easing.Quadratic.InOut).onUpdate(({ progress: t }) => {
|
|
59
51
|
}).play();
|
|
60
52
|
}
|
|
61
53
|
dispose() {
|
|
@@ -64,5 +56,5 @@ class A {
|
|
|
64
56
|
}
|
|
65
57
|
}
|
|
66
58
|
export {
|
|
67
|
-
|
|
59
|
+
w as PointDomHelper
|
|
68
60
|
};
|
|
@@ -20,7 +20,7 @@ void main() {
|
|
|
20
20
|
}
|
|
21
21
|
`;
|
|
22
22
|
function p() {
|
|
23
|
-
const a = new t.PlaneGeometry(0.
|
|
23
|
+
const a = new t.PlaneGeometry(0.4, 0.4), n = l, e = new t.TextureLoader().load(n);
|
|
24
24
|
e.encoding = t.sRGBEncoding;
|
|
25
25
|
const s = new t.MeshBasicMaterial({
|
|
26
26
|
map: e,
|
|
@@ -1,10 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
var i = (r, n, o) => new Promise((s, a) => {
|
|
2
|
+
var u = (e) => {
|
|
3
|
+
try {
|
|
4
|
+
t(o.next(e));
|
|
5
|
+
} catch (d) {
|
|
6
|
+
a(d);
|
|
7
|
+
}
|
|
8
|
+
}, m = (e) => {
|
|
9
|
+
try {
|
|
10
|
+
t(o.throw(e));
|
|
11
|
+
} catch (d) {
|
|
12
|
+
a(d);
|
|
13
|
+
}
|
|
14
|
+
}, t = (e) => e.done ? s(e.value) : Promise.resolve(e.value).then(u, m);
|
|
15
|
+
t((o = o.apply(r, n)).next());
|
|
16
|
+
});
|
|
17
|
+
import * as c from "three";
|
|
18
|
+
const x = new c.TextureLoader();
|
|
19
|
+
function T(r) {
|
|
20
|
+
return i(this, null, function* () {
|
|
21
|
+
return new Promise((n, o) => {
|
|
22
|
+
x.load(r, n, void 0, o);
|
|
23
|
+
}).then((n) => (n.encoding = c.sRGBEncoding, n));
|
|
24
|
+
});
|
|
7
25
|
}
|
|
8
26
|
export {
|
|
9
|
-
|
|
27
|
+
T as loadTexture
|
|
10
28
|
};
|
|
@@ -1,13 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
var p = Object.defineProperty;
|
|
2
|
+
var s = Object.getOwnPropertySymbols;
|
|
3
|
+
var d = Object.prototype.hasOwnProperty, f = Object.prototype.propertyIsEnumerable;
|
|
4
|
+
var i = (e, a, r) => a in e ? p(e, a, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[a] = r, m = (e, a) => {
|
|
5
|
+
for (var r in a || (a = {}))
|
|
6
|
+
d.call(a, r) && i(e, r, a[r]);
|
|
7
|
+
if (s)
|
|
8
|
+
for (var r of s(a))
|
|
9
|
+
f.call(a, r) && i(e, r, a[r]);
|
|
10
|
+
return e;
|
|
11
|
+
};
|
|
12
|
+
import { MeshBasicMaterial as M } from "three";
|
|
13
|
+
function O(e, a) {
|
|
14
|
+
e.traverse((r) => {
|
|
15
|
+
var n;
|
|
5
16
|
if (r.type === "Mesh") {
|
|
6
|
-
const
|
|
7
|
-
|
|
17
|
+
const t = r, o = m({ map: t.material.map || {} }, a);
|
|
18
|
+
t.material = new M(o), t.renderOrder = 1, ((n = r.parent) == null ? void 0 : n.type) === "Mesh" && (r.renderOrder = r.parent.renderOrder + 1);
|
|
8
19
|
}
|
|
9
20
|
});
|
|
10
21
|
}
|
|
11
22
|
export {
|
|
12
|
-
|
|
23
|
+
O as default
|
|
13
24
|
};
|
package/libs/shared-utils/to.js
CHANGED
|
@@ -1,11 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
var l = (a, t, n) => new Promise((c, u) => {
|
|
2
|
+
var f = (r) => {
|
|
3
|
+
try {
|
|
4
|
+
e(n.next(r));
|
|
5
|
+
} catch (o) {
|
|
6
|
+
u(o);
|
|
7
|
+
}
|
|
8
|
+
}, i = (r) => {
|
|
9
|
+
try {
|
|
10
|
+
e(n.throw(r));
|
|
11
|
+
} catch (o) {
|
|
12
|
+
u(o);
|
|
13
|
+
}
|
|
14
|
+
}, e = (r) => r.done ? c(r.value) : Promise.resolve(r.value).then(f, i);
|
|
15
|
+
e((n = n.apply(a, t)).next());
|
|
16
|
+
});
|
|
17
|
+
function d(a) {
|
|
18
|
+
return l(this, null, function* () {
|
|
19
|
+
try {
|
|
20
|
+
return [null, yield a];
|
|
21
|
+
} catch (t) {
|
|
22
|
+
return t instanceof Error ? [t, null] : [new Error(""), null];
|
|
23
|
+
}
|
|
24
|
+
});
|
|
7
25
|
}
|
|
8
26
|
export {
|
|
9
|
-
|
|
10
|
-
|
|
27
|
+
d as default,
|
|
28
|
+
d as to
|
|
11
29
|
};
|