@realsee/dnalogel 2.1.1 → 2.1.2-alpha.1
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 +3 -12
- package/components/index.js +242 -569
- package/dist/index.cjs.js +58 -73
- package/dist/index.es.js +7842 -12958
- package/dist/index.js +7842 -12958
- 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 +222 -9
- 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 +1 -300
- package/libs/CSS3DRenderPlugin/Controller.d.ts +3 -3
- package/libs/CSS3DRenderPlugin/Controller.js +1 -81
- package/libs/CSS3DRenderPlugin/index.js +1 -14
- package/libs/CSS3DRenderPlugin/typing.js +1 -1
- package/libs/CSS3DRenderPlugin/utils/CSS3DObjectPlus.js +1 -67
- package/libs/CSS3DRenderPlugin/utils/centerPoint.js +1 -10
- package/libs/CSS3DRenderPlugin/utils/evenNumber.js +1 -7
- package/libs/CSS3DRenderPlugin/utils/index.js +1 -13
- package/libs/CSS3DRenderPlugin/utils/positionToVector3.js +1 -7
- package/libs/CSS3DRenderPlugin/utils/random.js +1 -6
- package/libs/CameraMovementPlugin/CameraMovementPlugin.js +1 -71
- package/libs/CameraMovementPlugin/index.js +1 -15
- package/libs/CameraMovementPlugin/typing.js +1 -5
- package/libs/CruisePlugin/Controller.js +1 -440
- package/libs/CruisePlugin/index.js +1 -27
- package/libs/CruisePlugin/utils/coordinatesAngle.js +1 -9
- package/libs/CruisePlugin/utils/coordinatesToVector.js +1 -12
- package/libs/CruisePlugin/utils/formatRad.js +1 -7
- package/libs/CruisePlugin/utils/linerValue.js +1 -7
- package/libs/CruisePlugin/utils/safeCall.js +1 -12
- package/libs/CruisePlugin/utils/sleep.js +1 -10
- package/libs/CruisePlugin/utils/vectorToCoordinates.js +1 -10
- package/libs/GuideLinePlugin/Controller.js +1 -112
- package/libs/GuideLinePlugin/index.js +1 -15
- package/libs/GuideLinePlugin/utils/getArrowMaterial.js +1 -13
- package/libs/GuideLinePlugin/utils/getLineGeometries.js +1 -118
- package/libs/GuideLinePlugin/utils/polyline-normals.d.ts +3 -0
- package/libs/ItemLabelPlugin/ItemLabelComponent.js +1 -254
- package/libs/ItemLabelPlugin/ItemLabelItem.js +2 -133
- package/libs/ItemLabelPlugin/Plugin.js +2 -85
- package/libs/ItemLabelPlugin/index.js +1 -25
- package/libs/ItemLabelPlugin/typings.js +1 -4
- package/libs/ItemLabelPlugin/utils/getLabelTransform.js +1 -4
- package/libs/ItemLabelPlugin/utils/getStrokeLength.js +1 -16
- package/libs/ItemLabelPlugin/utils/isImpacted.js +1 -10
- package/libs/ItemLabelPlugin/utils/parseData.js +1 -10
- package/libs/ItemLabelPlugin/utils/transform2RenderData.js +1 -11
- package/libs/ModelChassisCompassPlugin/Plugin.js +1 -55
- package/libs/ModelChassisCompassPlugin/index.js +1 -10
- package/libs/ModelEntryDoorGuidePlugin/Plugin.js +1 -66
- package/libs/ModelEntryDoorGuidePlugin/index.js +1 -11
- package/libs/ModelItemLabelPlugin/ItemLabelComponent.js +1 -196
- package/libs/ModelItemLabelPlugin/ItemLabelItem.js +2 -42
- package/libs/ModelItemLabelPlugin/ModelItemLabelPlugin.js +2 -79
- package/libs/ModelItemLabelPlugin/events.type.js +1 -1
- package/libs/ModelItemLabelPlugin/index.js +1 -21
- package/libs/ModelItemLabelPlugin/typings.js +1 -4
- package/libs/ModelItemLabelPlugin/utils/parseData.js +1 -9
- package/libs/ModelRoomLabelPlugin/Assets/roomLabelBg.js +1 -4
- package/libs/ModelRoomLabelPlugin/Controller.js +1 -64
- package/libs/ModelRoomLabelPlugin/RoomLabelItem.js +1 -45
- package/libs/ModelRoomLabelPlugin/RoomLabelItems.js +1 -151
- package/libs/ModelRoomLabelPlugin/index.js +1 -16
- package/libs/ModelRoomLabelPlugin/utils/parseData.js +1 -16
- package/libs/ModelTVVideoPlugin/Plugin.js +1 -157
- package/libs/ModelTVVideoPlugin/index.js +1 -19
- package/libs/ModelTVVideoPlugin/typings.js +1 -4
- package/libs/ModelTVVideoPlugin/utils/parseData.js +1 -20
- package/libs/ModelViewPlugin/Plugin.js +1 -96
- package/libs/ModelViewPlugin/index.js +1 -8
- package/libs/Object3DHelperPlugin/Controller.d.ts +1 -1
- package/libs/Object3DHelperPlugin/Controller.js +1 -137
- package/libs/Object3DHelperPlugin/FiveControllerWrapper.d.ts +1 -1
- package/libs/Object3DHelperPlugin/FiveControllerWrapper.js +1 -35
- package/libs/Object3DHelperPlugin/index.js +1 -42
- package/libs/PanoCompassPlugin/Assets/roomInfoIcon.js +1 -4
- package/libs/PanoCompassPlugin/Controller.js +1 -205
- package/libs/PanoCompassPlugin/getRoomInfoInstance.js +1 -24
- package/libs/PanoCompassPlugin/index.js +1 -24
- package/libs/PanoCursorRaycasterPlugin/index.js +1 -60
- package/libs/PanoDoorLabelPlugin/BaseController.js +1 -50
- package/libs/PanoDoorLabelPlugin/Controller.js +1 -215
- package/libs/PanoDoorLabelPlugin/DoorLabelItem.js +1 -65
- package/libs/PanoDoorLabelPlugin/index.d.ts +1 -1
- package/libs/PanoDoorLabelPlugin/index.js +1 -15
- package/libs/PanoDoorLabelPlugin/utils.d.ts +2 -2
- package/libs/PanoDoorLabelPlugin/utils.js +1 -23
- package/libs/PanoMeasurePlugin/Controller/BaseController.js +1 -63
- package/libs/PanoMeasurePlugin/Controller/EditController.js +1 -114
- package/libs/PanoMeasurePlugin/Controller/MixedController.js +1 -138
- package/libs/PanoMeasurePlugin/Controller/ShortcutKeyController.js +1 -33
- package/libs/PanoMeasurePlugin/Controller/ViewController.js +1 -101
- package/libs/PanoMeasurePlugin/Controller/WatchController.js +1 -169
- package/libs/PanoMeasurePlugin/Controller/index.d.ts +1 -1
- package/libs/PanoMeasurePlugin/Controller/index.js +1 -167
- package/libs/PanoMeasurePlugin/Model/index.d.ts +4 -4
- package/libs/PanoMeasurePlugin/Model/index.js +1 -99
- package/libs/PanoMeasurePlugin/Model/line.d.ts +1 -1
- package/libs/PanoMeasurePlugin/Model/line.js +1 -60
- package/libs/PanoMeasurePlugin/Model/point.js +1 -30
- package/libs/PanoMeasurePlugin/Model/polyline.d.ts +2 -2
- package/libs/PanoMeasurePlugin/Model/polyline.js +1 -47
- package/libs/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete.svg.js +2 -5
- package/libs/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete_bg.png.js +1 -4
- package/libs/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete_hover_bg.png.js +1 -4
- package/libs/PanoMeasurePlugin/Modules/DeleteDom/index.js +3 -67
- package/libs/PanoMeasurePlugin/Modules/FiveHelper.js +1 -28
- package/libs/PanoMeasurePlugin/Modules/GuideController.js +1 -41
- package/libs/PanoMeasurePlugin/Modules/Magnifier.js +1 -103
- package/libs/PanoMeasurePlugin/Modules/UIController/HTML.js +8 -12
- package/libs/PanoMeasurePlugin/Modules/UIController/MainBtnController.js +1 -50
- package/libs/PanoMeasurePlugin/Modules/UIController/Revoke/index.js +1 -36
- package/libs/PanoMeasurePlugin/Modules/UIController/index.js +1 -48
- package/libs/PanoMeasurePlugin/Modules/UIController/mobileHTML.js +3 -8
- package/libs/PanoMeasurePlugin/Modules/UIController/mobileMainBtnController.js +1 -39
- package/libs/PanoMeasurePlugin/Modules/UIController/style.js +1 -70
- package/libs/PanoMeasurePlugin/Modules/rangePiece/html.js +2 -7
- package/libs/PanoMeasurePlugin/Modules/rangePiece/index.js +1 -123
- package/libs/PanoMeasurePlugin/index.js +1 -60
- package/libs/PanoMeasurePlugin/utils/calculateThreeMouse.js +1 -12
- package/libs/PanoMeasurePlugin/utils/constants.js +1 -23
- package/libs/PanoMeasurePlugin/utils/distanceDom.js +1 -62
- package/libs/PanoMeasurePlugin/utils/findAssociatedLines.js +1 -13
- package/libs/PanoMeasurePlugin/utils/findClosestPoint.d.ts +1 -1
- package/libs/PanoMeasurePlugin/utils/findClosestPoint.js +1 -16
- package/libs/PanoMeasurePlugin/utils/getIntersectionFromEvent.js +1 -9
- package/libs/PanoMeasurePlugin/utils/getPointFromHammerEvent.js +1 -8
- package/libs/PanoMeasurePlugin/utils/ironbox.js +1 -4
- package/libs/PanoMeasurePlugin/utils/isNDCPointInScreen.js +1 -7
- package/libs/PanoMeasurePlugin/utils/line.js +1 -18
- package/libs/PanoMeasurePlugin/utils/math.js +1 -13
- package/libs/PanoMeasurePlugin/utils/mouseGroup.js +3 -33
- package/libs/PanoMeasurePlugin/utils/ndc2Screen.js +1 -8
- package/libs/PanoRulerPlugin/Plugin.js +3 -241
- package/libs/PanoRulerPlugin/index.js +1 -11
- package/libs/PanoRulerPlugin/style.js +2 -5
- package/libs/PanoRulerProPlugin/Controller.js +1 -74
- package/libs/PanoRulerProPlugin/RulerItem.js +1 -118
- package/libs/PanoRulerProPlugin/RulerItems.js +1 -181
- package/libs/PanoRulerProPlugin/index.js +1 -17
- package/libs/PanoSpatialTagPlugin/Components/origins.js +1 -82
- package/libs/PanoSpatialTagPlugin/Components/tag.js +1 -124
- package/libs/PanoSpatialTagPlugin/Plugin.js +1 -258
- package/libs/PanoSpatialTagPlugin/index.js +1 -24
- package/libs/PanoSpatialTagPlugin/store.d.ts +1 -1
- package/libs/PanoSpatialTagPlugin/store.js +1 -6
- package/libs/PanoSpatialTagPlugin/style.js +1 -11
- package/libs/PanoSpatialTagPlugin/typings.js +1 -1
- package/libs/PanoTagPlugin/Assets/Icon.js +1 -6
- package/libs/PanoTagPlugin/Components/Common/Arrow.js +1 -103
- package/libs/PanoTagPlugin/Components/Common/Audio.js +1 -163
- package/libs/PanoTagPlugin/Components/Common/Line/Polyline.js +1 -93
- package/libs/PanoTagPlugin/Components/Common/Line/Straight.js +1 -91
- package/libs/PanoTagPlugin/Components/Common/Media.js +1 -3438
- package/libs/PanoTagPlugin/Components/Common/MediaItem.js +1 -139
- package/libs/PanoTagPlugin/Components/Common/MultiLineText.js +1 -181
- package/libs/PanoTagPlugin/Components/Common/Point/CustomPoint.js +1 -52
- package/libs/PanoTagPlugin/Components/Common/Point/DefaultPoint.js +1 -52
- package/libs/PanoTagPlugin/Components/Common/Point/PointSwitch.js +1 -170
- package/libs/PanoTagPlugin/Components/Common/Shadow.js +15 -125
- package/libs/PanoTagPlugin/Components/Common/Text.js +1 -984
- package/libs/PanoTagPlugin/Components/Tag/AudioTag.js +1 -140
- package/libs/PanoTagPlugin/Components/Tag/CustomTag.js +1 -72
- package/libs/PanoTagPlugin/Components/Tag/ImageTextTag.js +1 -202
- package/libs/PanoTagPlugin/Components/Tag/LinkTag.js +1 -128
- package/libs/PanoTagPlugin/Components/Tag/MarketingTag.js +1 -231
- package/libs/PanoTagPlugin/Components/Tag/MediaPlane.js +1 -95
- package/libs/PanoTagPlugin/Components/Tag/TextTag.js +1 -134
- package/libs/PanoTagPlugin/Components/Tag/index.js +2 -308
- package/libs/PanoTagPlugin/Components/TagContainer.js +1 -187
- package/libs/PanoTagPlugin/Components/TagWrapper.js +1 -183
- package/libs/PanoTagPlugin/controller/TagCacheController.js +1 -32
- package/libs/PanoTagPlugin/controller/TagComputer.d.ts +5 -5
- package/libs/PanoTagPlugin/controller/TagComputer.js +1 -15
- package/libs/PanoTagPlugin/controller/index.js +1 -386
- package/libs/PanoTagPlugin/index.js +1 -71
- package/libs/PanoTagPlugin/tag.config.js +1 -44
- package/libs/PanoTagPlugin/typings/controller.js +1 -1
- package/libs/PanoTagPlugin/typings/index.js +1 -7
- package/libs/PanoTagPlugin/typings/tag.js +1 -7
- package/libs/PanoTagPlugin/utils/actionAfterFiveModelLoad.js +1 -6
- package/libs/PanoTagPlugin/utils/addDebugPoints.js +1 -27
- package/libs/PanoTagPlugin/utils/checkRange.d.ts +1 -1
- package/libs/PanoTagPlugin/utils/checkRange.js +1 -10
- package/libs/PanoTagPlugin/utils/constants.js +1 -8
- package/libs/PanoTagPlugin/utils/debounce.js +1 -12
- package/libs/PanoTagPlugin/utils/doUtil.js +1 -12
- package/libs/PanoTagPlugin/utils/index.js +1 -36
- package/libs/PanoTagPlugin/utils/noTypecheck.js +1 -4
- package/libs/PanoTagPlugin/utils/normalPositionToPositions.js +1 -13
- package/libs/PanoTagPlugin/utils/planeNormal.js +1 -11
- package/libs/PanoTagPlugin/utils/resizeObserver.js +1 -17
- package/libs/PanoTagPlugin/utils/search.js +1 -33
- package/libs/PanoTagPlugin/utils/tagPosition.js +1 -13
- package/libs/PanoTagPlugin/utils/throttle.js +1 -11
- package/libs/base/BasePlugin.js +1 -18
- package/libs/base/BasePluginWithData.js +1 -7
- package/libs/components/PaintBrush/Controller.d.ts +2 -2
- package/libs/components/PaintBrush/Controller.js +1 -309
- package/libs/components/PaintBrush/Subscribe.js +1 -47
- package/libs/components/PaintBrush/index.js +1 -52
- package/libs/components/PaintBrush/style.js +2 -5
- package/libs/components/PaintBrush/tween.js +1 -15
- package/libs/components/PaintBrush/typings.js +1 -4
- package/libs/components/PaintBrush/utils.d.ts +1 -1
- package/libs/components/PaintBrush/utils.js +1 -45
- package/libs/components/index.js +1 -13
- package/libs/env.d.ts +1 -0
- package/libs/floorplan/Assets/camera.js +1 -4
- package/libs/floorplan/Assets/compass.js +1 -4
- package/libs/floorplan/Assets/floorplanExtraObject.js +1 -4
- package/libs/floorplan/Components/BaseImage.js +1 -104
- package/libs/floorplan/Components/Camera.js +1 -62
- package/libs/floorplan/Components/Compass.js +1 -60
- package/libs/floorplan/Components/CurrentFloor.js +1 -255
- package/libs/floorplan/Components/Main.js +1 -282
- package/libs/floorplan/Components/Normalmage.js +1 -37
- package/libs/floorplan/Components/RoomHighlight/Room.js +1 -61
- package/libs/floorplan/Components/RoomHighlight/RoomHighlight.js +1 -122
- package/libs/floorplan/Components/RoomLabels/RoomLabel.js +1 -152
- package/libs/floorplan/Components/RoomLabels/RoomLabels.js +1 -174
- package/libs/floorplan/Components/RoomMaterials/RoomMaterial.js +1 -184
- package/libs/floorplan/Components/RoomMaterials/RoomMaterial_0.js +1 -37
- package/libs/floorplan/Components/RoomMaterials/RoomMaterial_1.js +1 -39
- package/libs/floorplan/Components/RoomMaterials/RoomMaterial_2.js +1 -37
- package/libs/floorplan/Components/RuleLabels/RuleItem.js +1 -134
- package/libs/floorplan/Components/RuleLabels/RuleLabels.js +1 -139
- package/libs/floorplan/Components/SvgImage.js +2 -39
- package/libs/floorplan/MapviewFloorplanPlugin/Controller.d.ts +1 -1
- package/libs/floorplan/MapviewFloorplanPlugin/Controller.js +1 -322
- package/libs/floorplan/MapviewFloorplanPlugin/index.js +1 -49
- package/libs/floorplan/ModelFloorplanPlugin/Controller.d.ts +1 -1
- package/libs/floorplan/ModelFloorplanPlugin/Controller.js +1 -318
- package/libs/floorplan/ModelFloorplanPlugin/index.js +1 -49
- package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Camera.js +1 -84
- package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/CurrentFloor.js +1 -133
- package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/ExtraObjects.js +1 -72
- package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Main.js +1 -191
- package/libs/floorplan/PanoFloorplanRadarPlugin/Controller.js +1 -146
- package/libs/floorplan/PanoFloorplanRadarPlugin/index.js +1 -26
- package/libs/floorplan/TopviewFloorplanPlugin/Controller.d.ts +1 -1
- package/libs/floorplan/TopviewFloorplanPlugin/Controller.js +1 -265
- package/libs/floorplan/TopviewFloorplanPlugin/index.js +1 -46
- package/libs/floorplan/constant.js +1 -4
- package/libs/floorplan/index.js +1 -67
- package/libs/floorplan/typings/floorplanData.js +1 -1
- package/libs/floorplan/typings/floorplanServerData.js +1 -101
- package/libs/floorplan/utils/constant.js +1 -8
- package/libs/floorplan/utils/correctFiveState.js +1 -36
- package/libs/floorplan/utils/formatData.js +1 -82
- package/libs/floorplan/utils/formatPosition.js +1 -35
- package/libs/index.js +1 -330
- package/libs/shared-utils/Object3DHelper/Base/BaseController.js +1 -155
- package/libs/shared-utils/Object3DHelper/Base/BaseHelper.js +1 -53
- package/libs/shared-utils/Object3DHelper/Constants/color.js +1 -21
- package/libs/shared-utils/Object3DHelper/Controller/CSS3DScaleController.js +1 -29
- package/libs/shared-utils/Object3DHelper/Controller/MoveController.js +1 -74
- package/libs/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +1 -1
- package/libs/shared-utils/Object3DHelper/Controller/RectangleScaleController.js +1 -117
- package/libs/shared-utils/Object3DHelper/Controller/RotateController.js +1 -142
- package/libs/shared-utils/Object3DHelper/Helper/HTML/rectangleScaleDom.js +1 -81
- package/libs/shared-utils/Object3DHelper/Helper/HTML/tipsDom.js +1 -31
- package/libs/shared-utils/Object3DHelper/Helper/HTML/utils/createElement.js +1 -14
- package/libs/shared-utils/Object3DHelper/Helper/MoveHelper.js +1 -31
- package/libs/shared-utils/Object3DHelper/Helper/Objects/ArrowGroup.js +1 -35
- package/libs/shared-utils/Object3DHelper/Helper/OutlineHelper.js +1 -103
- package/libs/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.js +1 -143
- package/libs/shared-utils/Object3DHelper/Helper/RotateHelper.js +1 -137
- package/libs/shared-utils/Object3DHelper/Helper/index.js +1 -30
- package/libs/shared-utils/Object3DHelper/index.js +1 -140
- package/libs/shared-utils/Object3DHelper/typings/Direction.js +1 -1
- package/libs/shared-utils/Object3DHelper/typings/Hooks.js +1 -1
- package/libs/shared-utils/Object3DHelper/typings/Scissor.js +1 -1
- package/libs/shared-utils/Object3DHelper/typings/index.js +1 -1
- package/libs/shared-utils/Object3DHelper/utils/calculateThreeMouse.js +1 -11
- package/libs/shared-utils/Object3DHelper/utils/direction.js +1 -30
- package/libs/shared-utils/Object3DHelper/utils/filterNotColinearPoints.js +1 -18
- package/libs/shared-utils/Object3DHelper/utils/getMouseRaycaster.d.ts +1 -1
- package/libs/shared-utils/Object3DHelper/utils/getMouseRaycaster.js +1 -14
- package/libs/shared-utils/Object3DHelper/utils/getPoint.js +1 -18
- package/libs/shared-utils/Object3DHelper/utils/index.js +1 -29
- package/libs/shared-utils/Object3DHelper/utils/normalPositionToPositions.js +1 -13
- package/libs/shared-utils/Object3DHelper/utils/object3DBoundingPosition.js +1 -5
- package/libs/shared-utils/Object3DHelper/utils/threex/domevents/index.d.ts +34 -0
- package/libs/shared-utils/Object3DHelper/utils/threex/domevents/index.js +1 -191
- package/libs/shared-utils/Object3DHelper/utils/vectorIsEqual.js +1 -6
- package/libs/shared-utils/Subscribe.js +1 -50
- package/libs/shared-utils/animationFrame/BetterTween.js +1 -6
- package/libs/shared-utils/animationFrame/calculateProgress.js +1 -12
- package/libs/shared-utils/animationFrame/formatRad.js +1 -13
- package/libs/shared-utils/animationFrame/index.js +1 -51
- package/libs/shared-utils/animationFrame/tween.js +1 -30
- package/libs/shared-utils/changeModelCanvasOpacity.js +1 -12
- package/libs/shared-utils/createCanvasTextTexture.js +1 -11
- package/libs/shared-utils/createLine/index.js +1 -9
- package/libs/shared-utils/debounce.js +1 -11
- package/libs/shared-utils/equal.js +1 -54
- package/libs/shared-utils/filter.js +1 -30
- package/libs/shared-utils/five/changeMode.js +1 -21
- package/libs/shared-utils/getPxmm.js +1 -21
- package/libs/shared-utils/index.js +1 -45
- package/libs/shared-utils/isNil.js +1 -10
- package/libs/shared-utils/isTruelyObject.js +1 -6
- package/libs/shared-utils/math/Interval.js +1 -23
- package/libs/shared-utils/math/Rectangle.js +1 -23
- package/libs/shared-utils/math/index.js +1 -6
- package/libs/shared-utils/math/planimetry.d.ts +5 -5
- package/libs/shared-utils/math/planimetry.js +1 -135
- package/libs/shared-utils/math/rad2Deg.js +1 -6
- package/libs/shared-utils/nearlyEqual.js +1 -6
- package/libs/shared-utils/nextFrame.js +1 -6
- package/libs/shared-utils/noop.js +1 -5
- package/libs/shared-utils/object3d2LocalMatrix.js +1 -19
- package/libs/shared-utils/removeArrayItem.d.ts +1 -1
- package/libs/shared-utils/removeArrayItem.js +1 -8
- package/libs/shared-utils/tap.js +1 -6
- package/libs/shared-utils/three/Assets/index.js +1 -5
- package/libs/shared-utils/three/FivePointSelector.d.ts +1 -1
- package/libs/shared-utils/three/FivePointSelector.js +1 -63
- package/libs/shared-utils/three/Magnifier.d.ts +2 -2
- package/libs/shared-utils/three/Magnifier.js +1 -104
- package/libs/shared-utils/three/PointDomHelper.js +1 -68
- package/libs/shared-utils/three/PointHelper.js +3 -60
- package/libs/shared-utils/three/getCoords.js +1 -13
- package/libs/shared-utils/three/getIntersect.d.ts +1 -1
- package/libs/shared-utils/three/getIntersect.js +1 -8
- package/libs/shared-utils/three/getRaycaster.d.ts +1 -1
- package/libs/shared-utils/three/getRaycaster.js +1 -12
- package/libs/shared-utils/three/index.js +1 -33
- package/libs/shared-utils/three/loadTexture.js +1 -10
- package/libs/shared-utils/three/transformPositionToVector3.js +1 -5
- package/libs/shared-utils/three/transfromToMeshBasicMaterial.js +1 -13
- package/libs/shared-utils/throttle.js +1 -11
- package/libs/shared-utils/tinyEJSrender.js +14 -138
- package/libs/shared-utils/to.js +1 -11
- package/libs/shared-utils/uuid.js +1 -10
- package/libs/vendor/swiper/components-shared/get-changed-params.js +1 -0
- package/libs/vendor/swiper/components-shared/get-params.js +1 -0
- package/libs/vendor/swiper/components-shared/mount-swiper.js +1 -0
- package/libs/vendor/swiper/components-shared/params-list.js +1 -0
- package/libs/vendor/swiper/components-shared/update-swiper.js +1 -0
- package/libs/vendor/swiper/components-shared/utils.js +1 -0
- package/libs/vendor/swiper/svelte/swiper-slide.js +1 -0
- package/libs/vendor/swiper/svelte/swiper-svelte.js +1 -0
- package/libs/vendor/swiper/svelte/swiper.js +1 -0
- package/package.json +218 -31
- 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/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/ModelRoomLabelPlugin/typings.js +0 -1
- 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/typings.js +0 -1
- package/libs/PanoRulerProPlugin/typings.js +0 -1
- package/libs/PanoTagPlugin/Components/Common/TextItem.js +0 -106
- package/libs/TagComputer.2bc444dc.js +0 -315
- 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/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.5d5d1089.js +0 -34
- 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/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/negateScale.d.ts +0 -2
- package/libs/shared-utils/Object3DHelper/utils/negateScale.js +0 -7
- 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/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/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
|
@@ -1,155 +1 @@
|
|
|
1
|
-
var m = Object.defineProperty;
|
|
2
|
-
var O = (p, e, t) => e in p ? m(p, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : p[e] = t;
|
|
3
|
-
var s = (p, e, t) => (O(p, typeof e != "symbol" ? e + "" : e, t), t);
|
|
4
|
-
import * as l from "three";
|
|
5
|
-
import { Subscribe as y } from "../../Subscribe.js";
|
|
6
|
-
import j from "../utils/threex/domevents/index.js";
|
|
7
|
-
import { notNil as g } from "../../isNil.js";
|
|
8
|
-
import { CSS3DObjectPlus as D } from "../../../CSS3DRenderPlugin/utils/CSS3DObjectPlus.js";
|
|
9
|
-
import "three/examples/jsm/renderers/CSS3DRenderer";
|
|
10
|
-
import "../../../CSS3DRenderPlugin/utils/evenNumber.js";
|
|
11
|
-
import "../../../CSS3DRenderPlugin/utils/centerPoint.js";
|
|
12
|
-
let h = null;
|
|
13
|
-
class k {
|
|
14
|
-
constructor(e, t, o, n, a, r, c) {
|
|
15
|
-
s(this, "hooks", new y());
|
|
16
|
-
s(this, "helperObject3D");
|
|
17
|
-
s(this, "originObject3D");
|
|
18
|
-
s(this, "camera");
|
|
19
|
-
s(this, "model");
|
|
20
|
-
s(this, "scene");
|
|
21
|
-
s(this, "container");
|
|
22
|
-
s(this, "domEvents");
|
|
23
|
-
s(this, "isDragging", !1);
|
|
24
|
-
s(this, "onRender");
|
|
25
|
-
s(this, "enabled", !1);
|
|
26
|
-
s(this, "onWantsTapGesture", (e) => {
|
|
27
|
-
if (this.getIntersectObject(e))
|
|
28
|
-
return !1;
|
|
29
|
-
});
|
|
30
|
-
this.camera = e, this.model = t, this.originObject3D = o, this.helperObject3D = n, this.container = a, this.scene = r, this.domEvents = new j(e, a), this.onRender = c != null ? c : () => {
|
|
31
|
-
}, this.initialHelperPosition(), this.initialHelperQuaternion(), this.enable();
|
|
32
|
-
}
|
|
33
|
-
initialHelperPosition() {
|
|
34
|
-
this.helperObject3D.updatePosition();
|
|
35
|
-
}
|
|
36
|
-
initialHelperQuaternion() {
|
|
37
|
-
this.helperObject3D.updateQuaternion();
|
|
38
|
-
}
|
|
39
|
-
enable() {
|
|
40
|
-
this.enabled || (this.enabled = !0, this.scene.add(this.helperObject3D), this.render());
|
|
41
|
-
}
|
|
42
|
-
disable() {
|
|
43
|
-
!this.enabled || (this.enabled = !1, this.scene.remove(this.helperObject3D), this.render());
|
|
44
|
-
}
|
|
45
|
-
show() {
|
|
46
|
-
this.helperObject3D.show(), this.render();
|
|
47
|
-
}
|
|
48
|
-
hide() {
|
|
49
|
-
this.helperObject3D.hide(), this.render();
|
|
50
|
-
}
|
|
51
|
-
dispose() {
|
|
52
|
-
this.helperObject3D.dispose(), this.scene.remove(this.helperObject3D), this.render();
|
|
53
|
-
}
|
|
54
|
-
setOpacity(e) {
|
|
55
|
-
this.setOriginOpacityProperty();
|
|
56
|
-
const t = this.originObject3D;
|
|
57
|
-
if (t instanceof l.Mesh && (t.material.opacity = e), t.isCSS3DObjectPlus) {
|
|
58
|
-
const o = t;
|
|
59
|
-
o.container.style.opacity = e.toString();
|
|
60
|
-
}
|
|
61
|
-
this.render();
|
|
62
|
-
}
|
|
63
|
-
restoreOpacity() {
|
|
64
|
-
if (h === null)
|
|
65
|
-
return;
|
|
66
|
-
const e = this.originObject3D;
|
|
67
|
-
if (e instanceof l.Mesh && (e.material.opacity = h.opacity), e.isCSS3DObjectPlus) {
|
|
68
|
-
const t = e;
|
|
69
|
-
t.container.style.opacity = h.opacity.toString();
|
|
70
|
-
}
|
|
71
|
-
this.render();
|
|
72
|
-
}
|
|
73
|
-
setOriginOpacityProperty() {
|
|
74
|
-
var e, t;
|
|
75
|
-
if (h === null) {
|
|
76
|
-
const o = this.originObject3D;
|
|
77
|
-
o instanceof l.Mesh && (h = {
|
|
78
|
-
opacity: o.material.opacity
|
|
79
|
-
}), o instanceof D && (h = {
|
|
80
|
-
opacity: (e = o.container.style.opacity) != null ? e : 1
|
|
81
|
-
}), o.isCSS3DObjectPlus && (h = {
|
|
82
|
-
opacity: Number((t = o.container.style.opacity) != null ? t : 1)
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
updateHelperPosition() {
|
|
87
|
-
this.helperObject3D.updatePosition();
|
|
88
|
-
}
|
|
89
|
-
updateHelperQuaternion() {
|
|
90
|
-
this.helperObject3D.updateQuaternion();
|
|
91
|
-
}
|
|
92
|
-
applyHelperMatrix4(e) {
|
|
93
|
-
this.helperObject3D.applyMatrix4(e);
|
|
94
|
-
}
|
|
95
|
-
applyHelperQuaternion(e, t) {
|
|
96
|
-
this.helperObject3D.applyHelperQuaternion(e, t);
|
|
97
|
-
}
|
|
98
|
-
applyHelperScaleMatrix4(e, t) {
|
|
99
|
-
this.helperObject3D.applyHelperScaleMatrix4(e, t);
|
|
100
|
-
}
|
|
101
|
-
onWantsGesture(e, t, o) {
|
|
102
|
-
if (this.isDragging)
|
|
103
|
-
return !1;
|
|
104
|
-
}
|
|
105
|
-
render() {
|
|
106
|
-
this.onRender();
|
|
107
|
-
}
|
|
108
|
-
hoverListener(e, t = 16777215, o = 1) {
|
|
109
|
-
const n = (Array.isArray(e) ? e : [e]).filter(g), a = [];
|
|
110
|
-
for (const r of n)
|
|
111
|
-
if (r instanceof l.Mesh || r instanceof l.Group) {
|
|
112
|
-
const c = r instanceof l.Group ? r.children.filter((i) => i instanceof l.Mesh) : [r];
|
|
113
|
-
c.forEach((i) => {
|
|
114
|
-
i.__originalColor__ = i.material.color.clone(), i.__originalOpacity__ = i.material.opacity;
|
|
115
|
-
});
|
|
116
|
-
const d = () => {
|
|
117
|
-
c.forEach((i) => {
|
|
118
|
-
i.material.color.set(t), i.material.opacity = o;
|
|
119
|
-
}), this.render();
|
|
120
|
-
}, f = () => {
|
|
121
|
-
c.forEach((i) => {
|
|
122
|
-
i.material.color.copy(i.__originalColor__), i.material.opacity = i.__originalOpacity__;
|
|
123
|
-
}), this.render();
|
|
124
|
-
}, u = () => {
|
|
125
|
-
this.isDragging || d();
|
|
126
|
-
}, b = () => {
|
|
127
|
-
this.isDragging || f();
|
|
128
|
-
};
|
|
129
|
-
for (const i of c)
|
|
130
|
-
this.domEvents.addEventListener(i, "mouseover", u), this.domEvents.addEventListener(i, "mouseout", b), this.hooks.on("moveStart", d), this.hooks.on("moveEnd", f), this.hooks.on("rotateEnd", f), a.push(() => {
|
|
131
|
-
this.domEvents.removeEventListener(i, "mouseover", u), this.domEvents.removeEventListener(i, "mouseout", b), this.hooks.off("moveStart", d), this.hooks.off("moveEnd", f), this.hooks.off("rotateEnd", f);
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
return () => a.forEach((r) => r == null ? void 0 : r());
|
|
135
|
-
}
|
|
136
|
-
getIntersectObject(e) {
|
|
137
|
-
const t = this.camera.position, o = this.helperObject3D;
|
|
138
|
-
if (!o)
|
|
139
|
-
return;
|
|
140
|
-
let n;
|
|
141
|
-
const a = e.intersectObject(o, !0)[0];
|
|
142
|
-
if (!!a && (n = a, n.object = o, !!n)) {
|
|
143
|
-
if (this.model.intersectRaycaster) {
|
|
144
|
-
const r = this.model.intersectRaycaster(e)[0];
|
|
145
|
-
if (r && r.point.distanceTo(t) < n.point.distanceTo(t))
|
|
146
|
-
return;
|
|
147
|
-
}
|
|
148
|
-
return n.object;
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
export {
|
|
153
|
-
k as BaseController,
|
|
154
|
-
h as originOpacity
|
|
155
|
-
};
|
|
1
|
+
"use strict";var O=Object.defineProperty;var j=(s,e,t)=>e in s?O(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var n=(s,e,t)=>(j(s,typeof e!="symbol"?e+"":e,t),t);const y=require("three"),g=require("../../Subscribe.js"),m=require("../utils/threex/domevents/index.js"),D=require("../../isNil.js"),v=require("../../../CSS3DRenderPlugin/utils/CSS3DObjectPlus.js");function _(s){if(s&&s.__esModule)return s;const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const t in s)if(t!=="default"){const i=Object.getOwnPropertyDescriptor(s,t);Object.defineProperty(e,t,i.get?i:{enumerable:!0,get:()=>s[t]})}}return e.default=s,Object.freeze(e)}const h=_(y);let p=null;class S{constructor(e,t,i,c,a,o,l){n(this,"hooks",new g.Subscribe);n(this,"helperObject3D");n(this,"originObject3D");n(this,"camera");n(this,"model");n(this,"scene");n(this,"container");n(this,"domEvents");n(this,"isDragging",!1);n(this,"onRender");n(this,"enabled",!1);n(this,"onWantsTapGesture",e=>{if(this.getIntersectObject(e))return!1});this.camera=e,this.model=t,this.originObject3D=i,this.helperObject3D=c,this.container=a,this.scene=o,this.domEvents=new m.DomEvents(e,a),this.onRender=l!=null?l:()=>{},this.initialHelperPosition(),this.initialHelperQuaternion(),this.enable()}initialHelperPosition(){this.helperObject3D.updatePosition()}initialHelperQuaternion(){this.helperObject3D.updateQuaternion()}enable(){this.enabled||(this.enabled=!0,this.scene.add(this.helperObject3D),this.render())}disable(){!this.enabled||(this.enabled=!1,this.scene.remove(this.helperObject3D),this.render())}show(){this.helperObject3D.show(),this.render()}hide(){this.helperObject3D.hide(),this.render()}dispose(){this.helperObject3D.dispose(),this.scene.remove(this.helperObject3D),this.render()}setOpacity(e){this.setOriginOpacityProperty();const t=this.originObject3D;if(t instanceof h.Mesh&&(t.material.opacity=e),t.isCSS3DObjectPlus){const i=t;i.container.style.opacity=e.toString()}this.render()}restoreOpacity(){if(p===null)return;const e=this.originObject3D;if(e instanceof h.Mesh&&(e.material.opacity=p.opacity),e.isCSS3DObjectPlus){const t=e;t.container.style.opacity=p.opacity.toString()}this.render()}setOriginOpacityProperty(){var e,t;if(p===null){const i=this.originObject3D;i instanceof h.Mesh&&(p={opacity:i.material.opacity}),i instanceof v.CSS3DObjectPlus&&(p={opacity:(e=i.container.style.opacity)!=null?e:1}),i.isCSS3DObjectPlus&&(p={opacity:Number((t=i.container.style.opacity)!=null?t:1)})}}updateHelperPosition(){this.helperObject3D.updatePosition()}updateHelperQuaternion(){this.helperObject3D.updateQuaternion()}applyHelperMatrix4(e){this.helperObject3D.applyMatrix4(e)}applyHelperQuaternion(e,t){this.helperObject3D.applyHelperQuaternion(e,t)}applyHelperScaleMatrix4(e,t){this.helperObject3D.applyHelperScaleMatrix4(e,t)}onWantsGesture(e,t,i){if(this.isDragging)return!1}render(){this.onRender()}hoverListener(e,t=16777215,i=1){const c=(Array.isArray(e)?e:[e]).filter(D.notNil),a=[];for(const o of c)if(o instanceof h.Mesh||o instanceof h.Group){const l=o instanceof h.Group?o.children.filter(r=>r instanceof h.Mesh):[o];l.forEach(r=>{r.__originalColor__=r.material.color.clone(),r.__originalOpacity__=r.material.opacity});const d=()=>{l.forEach(r=>{r.material.color.set(t),r.material.opacity=i}),this.render()},u=()=>{l.forEach(r=>{r.material.color.copy(r.__originalColor__),r.material.opacity=r.__originalOpacity__}),this.render()},b=()=>{this.isDragging||d()},f=()=>{this.isDragging||u()};for(const r of l)this.domEvents.addEventListener(r,"mouseover",b),this.domEvents.addEventListener(r,"mouseout",f),this.hooks.on("moveStart",d),this.hooks.on("moveEnd",u),this.hooks.on("rotateEnd",u),a.push(()=>{this.domEvents.removeEventListener(r,"mouseover",b),this.domEvents.removeEventListener(r,"mouseout",f),this.hooks.off("moveStart",d),this.hooks.off("moveEnd",u),this.hooks.off("rotateEnd",u)})}return()=>a.forEach(o=>o==null?void 0:o())}getIntersectObject(e){const t=this.camera.position,i=this.helperObject3D;if(!i)return;let c;const a=e.intersectObject(i,!0)[0];if(!!a&&(c=a,c.object=i,!!c)){if(this.model.intersectRaycaster){const o=this.model.intersectRaycaster(e)[0];if(o&&o.point.distanceTo(t)<c.point.distanceTo(t))return}return c.object}}}exports.BaseController=S;
|
|
@@ -1,53 +1 @@
|
|
|
1
|
-
var
|
|
2
|
-
var p = (t, s, e) => s in t ? o(t, s, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[s] = e;
|
|
3
|
-
var i = (t, s, e) => (p(t, typeof s != "symbol" ? s + "" : s, e), e);
|
|
4
|
-
import { Object3D as l } from "three";
|
|
5
|
-
class n extends l {
|
|
6
|
-
constructor(e, r) {
|
|
7
|
-
var a;
|
|
8
|
-
super();
|
|
9
|
-
i(this, "originObject3D");
|
|
10
|
-
i(this, "onRender");
|
|
11
|
-
this.originObject3D = e, this.onRender = (a = r == null ? void 0 : r.onRender) != null ? a : () => {
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
get helperObject() {
|
|
15
|
-
return this;
|
|
16
|
-
}
|
|
17
|
-
render() {
|
|
18
|
-
this.onRender();
|
|
19
|
-
}
|
|
20
|
-
show() {
|
|
21
|
-
this.visible = !0, this.render();
|
|
22
|
-
}
|
|
23
|
-
hide() {
|
|
24
|
-
this.visible = !1, this.render();
|
|
25
|
-
}
|
|
26
|
-
updatePosition() {
|
|
27
|
-
this.position.copy(this.originObject3D.position);
|
|
28
|
-
}
|
|
29
|
-
updateQuaternion() {
|
|
30
|
-
this.quaternion.copy(this.originObject3D.quaternion);
|
|
31
|
-
}
|
|
32
|
-
applyHelperScaleMatrix4(e, r) {
|
|
33
|
-
this.scale.applyMatrix4(e);
|
|
34
|
-
}
|
|
35
|
-
applyHelperQuaternion(e, r) {
|
|
36
|
-
this.applyQuaternion(e);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
class b extends n {
|
|
40
|
-
}
|
|
41
|
-
class u extends n {
|
|
42
|
-
}
|
|
43
|
-
class c extends n {
|
|
44
|
-
}
|
|
45
|
-
class x extends c {
|
|
46
|
-
}
|
|
47
|
-
export {
|
|
48
|
-
n as BaseHelper,
|
|
49
|
-
b as MoveHelperAbstract,
|
|
50
|
-
x as RectangleScaleHelperAbstract,
|
|
51
|
-
u as RotateHelperAbstract,
|
|
52
|
-
c as ScaleHelperAbstract
|
|
53
|
-
};
|
|
1
|
+
"use strict";var l=Object.defineProperty;var c=(t,r,e)=>r in t?l(t,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[r]=e;var i=(t,r,e)=>(c(t,typeof r!="symbol"?r+"":r,e),e);const p=require("three");class a extends p.Object3D{constructor(e,s){var n;super();i(this,"originObject3D");i(this,"onRender");this.originObject3D=e,this.onRender=(n=s==null?void 0:s.onRender)!=null?n:()=>{}}get helperObject(){return this}render(){this.onRender()}show(){this.visible=!0,this.render()}hide(){this.visible=!1,this.render()}updatePosition(){this.position.copy(this.originObject3D.position)}updateQuaternion(){this.quaternion.copy(this.originObject3D.quaternion)}applyHelperScaleMatrix4(e,s){this.scale.applyMatrix4(e)}applyHelperQuaternion(e,s){this.applyQuaternion(e)}}class o extends a{}class h extends a{}class b extends a{}class d extends b{}exports.MoveHelperAbstract=o;exports.RectangleScaleHelperAbstract=d;exports.RotateHelperAbstract=h;
|
|
@@ -1,21 +1 @@
|
|
|
1
|
-
|
|
2
|
-
const o = {
|
|
3
|
-
X: 15618642,
|
|
4
|
-
Y: 4765519,
|
|
5
|
-
Z: 4227839
|
|
6
|
-
};
|
|
7
|
-
class t {
|
|
8
|
-
static get X() {
|
|
9
|
-
return new e.Color(o.X).convertSRGBToLinear().clone();
|
|
10
|
-
}
|
|
11
|
-
static get Y() {
|
|
12
|
-
return new e.Color(o.Y).convertSRGBToLinear().clone();
|
|
13
|
-
}
|
|
14
|
-
static get Z() {
|
|
15
|
-
return new e.Color(o.Z).convertSRGBToLinear().clone();
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
export {
|
|
19
|
-
o as AXES_COLOR,
|
|
20
|
-
t as AXES_THREE_COLOR
|
|
21
|
-
};
|
|
1
|
+
"use strict";const a=require("three");function i(e){if(e&&e.__esModule)return e;const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const c=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,c.get?c:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const n=i(a),o={X:15618642,Y:4765519,Z:4227839};class s{static get X(){return new n.Color(o.X).convertSRGBToLinear().clone()}static get Y(){return new n.Color(o.Y).convertSRGBToLinear().clone()}static get Z(){return new n.Color(o.Z).convertSRGBToLinear().clone()}}exports.AXES_THREE_COLOR=s;
|
|
@@ -1,29 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import "three";
|
|
3
|
-
import "../Base/BaseController.js";
|
|
4
|
-
import "../../Subscribe.js";
|
|
5
|
-
import "../utils/threex/domevents/index.js";
|
|
6
|
-
import "../../isNil.js";
|
|
7
|
-
import "../../../CSS3DRenderPlugin/utils/CSS3DObjectPlus.js";
|
|
8
|
-
import "three/examples/jsm/renderers/CSS3DRenderer";
|
|
9
|
-
import "../../../CSS3DRenderPlugin/utils/evenNumber.js";
|
|
10
|
-
import "../../../CSS3DRenderPlugin/utils/centerPoint.js";
|
|
11
|
-
import "../utils/getMouseRaycaster.js";
|
|
12
|
-
import "../utils/calculateThreeMouse.js";
|
|
13
|
-
import "../utils/vectorIsEqual.js";
|
|
14
|
-
class u extends d {
|
|
15
|
-
constructor(...t) {
|
|
16
|
-
super(...t), this.addHTMLEventListener();
|
|
17
|
-
}
|
|
18
|
-
addHTMLEventListener() {
|
|
19
|
-
this.helperObject3D.points.forEach((t) => {
|
|
20
|
-
if (!t)
|
|
21
|
-
return;
|
|
22
|
-
const r = t.point, e = (o) => this.dragStart(o, t), i = this.dragging.bind(this), n = this.dragEnd.bind(this);
|
|
23
|
-
r.addEventListener("dragstart", e), r.addEventListener("drag", i), r.addEventListener("dragend", n);
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
export {
|
|
28
|
-
u as CSS3DScaleController
|
|
29
|
-
};
|
|
1
|
+
"use strict";const d=require("./RectangleScaleController.js");require("three");class l extends d.RectangleScaleController{constructor(...e){super(...e),this.addHTMLEventListener()}addHTMLEventListener(){this.helperObject3D.points.forEach(e=>{if(!e)return;const t=e.point,r=a=>this.dragStart(a,e),n=this.dragging.bind(this),s=this.dragEnd.bind(this);t.addEventListener("dragstart",r),t.addEventListener("drag",n),t.addEventListener("dragend",s)})}}exports.CSS3DScaleController=l;
|
|
@@ -1,74 +1 @@
|
|
|
1
|
-
var u = Object.defineProperty;
|
|
2
|
-
var m = (s, e, t) => e in s ? u(s, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[e] = t;
|
|
3
|
-
var p = (s, e, t) => (m(s, typeof e != "symbol" ? e + "" : e, t), t);
|
|
4
|
-
import { BaseController as f } from "../Base/BaseController.js";
|
|
5
|
-
import * as c from "three";
|
|
6
|
-
import { getMouseRaycaster as b } from "../utils/getMouseRaycaster.js";
|
|
7
|
-
import "../../Subscribe.js";
|
|
8
|
-
import "../utils/threex/domevents/index.js";
|
|
9
|
-
import "../../isNil.js";
|
|
10
|
-
import "../../../CSS3DRenderPlugin/utils/CSS3DObjectPlus.js";
|
|
11
|
-
import "three/examples/jsm/renderers/CSS3DRenderer";
|
|
12
|
-
import "../../../CSS3DRenderPlugin/utils/evenNumber.js";
|
|
13
|
-
import "../../../CSS3DRenderPlugin/utils/centerPoint.js";
|
|
14
|
-
import "../utils/calculateThreeMouse.js";
|
|
15
|
-
class P extends f {
|
|
16
|
-
constructor(...t) {
|
|
17
|
-
super(...t);
|
|
18
|
-
p(this, "startInfo");
|
|
19
|
-
const r = this.helperObject3D;
|
|
20
|
-
this.hoverListener([r.xArrow, r.yArrow, r.zArrow]);
|
|
21
|
-
const o = this.dragStart.bind(this), n = this.dragging.bind(this), a = this.dragEnd.bind(this);
|
|
22
|
-
this.domEvents.addEventListener(this.helperObject3D, "mousedown", o), document.addEventListener("mousemove", n), document.addEventListener("mouseup", a);
|
|
23
|
-
}
|
|
24
|
-
dragStart(t) {
|
|
25
|
-
if (this.isDragging)
|
|
26
|
-
return;
|
|
27
|
-
const r = t == null ? void 0 : t.intersect;
|
|
28
|
-
if (!r)
|
|
29
|
-
return this.dragEnd();
|
|
30
|
-
const o = (r == null ? void 0 : r.object).direction;
|
|
31
|
-
if (!o)
|
|
32
|
-
return this.dragEnd();
|
|
33
|
-
const n = new c.Vector3(1, 0, 0).applyQuaternion(this.helperObject3D.quaternion), a = new c.Vector3(0, 1, 0).applyQuaternion(this.helperObject3D.quaternion), h = new c.Vector3(0, 0, 1).applyQuaternion(this.helperObject3D.quaternion), d = (() => {
|
|
34
|
-
switch (o) {
|
|
35
|
-
case "x":
|
|
36
|
-
return n;
|
|
37
|
-
case "y":
|
|
38
|
-
return a;
|
|
39
|
-
case "z":
|
|
40
|
-
return h;
|
|
41
|
-
}
|
|
42
|
-
})(), g = (() => {
|
|
43
|
-
switch (o) {
|
|
44
|
-
case "x":
|
|
45
|
-
case "y":
|
|
46
|
-
return h;
|
|
47
|
-
case "z":
|
|
48
|
-
return n;
|
|
49
|
-
}
|
|
50
|
-
})(), i = r.point.clone(), l = new c.Plane();
|
|
51
|
-
l.setFromNormalAndCoplanarPoint(g, i), this.startInfo = { startVectorProject: i.clone().projectOnVector(d), directionVector: d, plane: l }, this.helperObject3D.showDraggingHelper([o]), this.hooks.emit("moveStart"), this.isDragging = !0, console.log("%c MoveController dragStart", "color: #e5af2e");
|
|
52
|
-
}
|
|
53
|
-
dragging(t) {
|
|
54
|
-
if (!this.isDragging || !this.startInfo)
|
|
55
|
-
return;
|
|
56
|
-
const r = b(this.camera, t, this.container);
|
|
57
|
-
return r ? (console.log("%c RotateController dragging", "color: #49de1b"), this.move(r), !1) : this.dragEnd();
|
|
58
|
-
}
|
|
59
|
-
move(t) {
|
|
60
|
-
if (!this.startInfo)
|
|
61
|
-
return this.dragEnd();
|
|
62
|
-
const { plane: r, directionVector: o, startVectorProject: n } = this.startInfo, a = this.originObject3D, h = t.ray.intersectPlane(r, new c.Vector3());
|
|
63
|
-
if (!h)
|
|
64
|
-
return;
|
|
65
|
-
const d = h.clone().projectOnVector(o), g = d.clone().sub(n), i = new c.Matrix4();
|
|
66
|
-
i.setPosition(g), a.applyMatrix4(i), this.helperObject3D.applyMatrix4(i), n.copy(d), this.hooks.emit("positionUpdate", { matrix4: i });
|
|
67
|
-
}
|
|
68
|
-
dragEnd() {
|
|
69
|
-
!this.isDragging || (console.log("%c MoveController dragEnd", "color: #e94e4e"), this.startInfo = void 0, this.isDragging = !1, this.helperObject3D.show(), this.hooks.emit("moveEnd"));
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
export {
|
|
73
|
-
P as MoveController
|
|
74
|
-
};
|
|
1
|
+
"use strict";var p=Object.defineProperty;var f=(r,n,t)=>n in r?p(r,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[n]=t;var u=(r,n,t)=>(f(r,typeof n!="symbol"?n+"":n,t),t);const b=require("../Base/BaseController.js"),j=require("three"),m=require("../utils/getMouseRaycaster.js");function D(r){if(r&&r.__esModule)return r;const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const e=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(n,t,e.get?e:{enumerable:!0,get:()=>r[t]})}}return n.default=r,Object.freeze(n)}const c=D(j);class O extends b.BaseController{constructor(...t){super(...t);u(this,"startInfo");const e=this.helperObject3D;this.hoverListener([e.xArrow,e.yArrow,e.zArrow]);const o=this.dragStart.bind(this),s=this.dragging.bind(this),a=this.dragEnd.bind(this);this.domEvents.addEventListener(this.helperObject3D,"mousedown",o),document.addEventListener("mousemove",s),document.addEventListener("mouseup",a)}dragStart(t){if(this.isDragging)return;const e=t==null?void 0:t.intersect;if(!e)return this.dragEnd();const o=(e==null?void 0:e.object).direction;if(!o)return this.dragEnd();const s=new c.Vector3(1,0,0).applyQuaternion(this.helperObject3D.quaternion),a=new c.Vector3(0,1,0).applyQuaternion(this.helperObject3D.quaternion),l=new c.Vector3(0,0,1).applyQuaternion(this.helperObject3D.quaternion),d=(()=>{switch(o){case"x":return s;case"y":return a;case"z":return l}})(),g=(()=>{switch(o){case"x":case"y":return l;case"z":return s}})(),i=e.point.clone(),h=new c.Plane;h.setFromNormalAndCoplanarPoint(g,i),this.startInfo={startVectorProject:i.clone().projectOnVector(d),directionVector:d,plane:h},this.helperObject3D.showDraggingHelper([o]),this.hooks.emit("moveStart"),this.isDragging=!0,console.log("%c MoveController dragStart","color: #e5af2e")}dragging(t){if(!this.isDragging||!this.startInfo)return;const e=m.getMouseRaycaster(this.camera,t,this.container);return e?(console.log("%c RotateController dragging","color: #49de1b"),this.move(e),!1):this.dragEnd()}move(t){if(!this.startInfo)return this.dragEnd();const{plane:e,directionVector:o,startVectorProject:s}=this.startInfo,a=this.originObject3D,l=t.ray.intersectPlane(e,new c.Vector3);if(!l)return;const d=l.clone().projectOnVector(o),g=d.clone().sub(s),i=new c.Matrix4;i.setPosition(g),a.applyMatrix4(i),this.helperObject3D.applyMatrix4(i),s.copy(d),this.hooks.emit("positionUpdate",{matrix4:i})}dragEnd(){!this.isDragging||(console.log("%c MoveController dragEnd","color: #e94e4e"),this.startInfo=void 0,this.isDragging=!1,this.helperObject3D.show(),this.hooks.emit("moveEnd"))}}exports.MoveController=O;
|
|
@@ -19,7 +19,7 @@ export declare abstract class RectangleScaleController<OriginObject3D extends TH
|
|
|
19
19
|
disable(): void;
|
|
20
20
|
show(): void;
|
|
21
21
|
hide(): void;
|
|
22
|
-
protected getDragPlane(): THREE.Plane
|
|
22
|
+
protected getDragPlane(): THREE.Plane;
|
|
23
23
|
protected dragStart(mousePoint: {
|
|
24
24
|
x: number;
|
|
25
25
|
y: number;
|
|
@@ -1,117 +1 @@
|
|
|
1
|
-
var X = Object.defineProperty;
|
|
2
|
-
var Y = (h, a, s) => a in h ? X(h, a, { enumerable: !0, configurable: !0, writable: !0, value: s }) : h[a] = s;
|
|
3
|
-
var N = (h, a, s) => (Y(h, typeof a != "symbol" ? a + "" : a, s), s);
|
|
4
|
-
import { BaseController as A } from "../Base/BaseController.js";
|
|
5
|
-
import * as D from "three";
|
|
6
|
-
import { Vector3 as n } from "three";
|
|
7
|
-
import { getMouseRaycaster as H } from "../utils/getMouseRaycaster.js";
|
|
8
|
-
import { vectorIsEqual as T } from "../utils/vectorIsEqual.js";
|
|
9
|
-
import "../../Subscribe.js";
|
|
10
|
-
import "../utils/threex/domevents/index.js";
|
|
11
|
-
import "../../isNil.js";
|
|
12
|
-
import "../../../CSS3DRenderPlugin/utils/CSS3DObjectPlus.js";
|
|
13
|
-
import "three/examples/jsm/renderers/CSS3DRenderer";
|
|
14
|
-
import "../../../CSS3DRenderPlugin/utils/evenNumber.js";
|
|
15
|
-
import "../../../CSS3DRenderPlugin/utils/centerPoint.js";
|
|
16
|
-
import "../utils/calculateThreeMouse.js";
|
|
17
|
-
class it extends A {
|
|
18
|
-
constructor(...s) {
|
|
19
|
-
super(...s);
|
|
20
|
-
N(this, "startInfo");
|
|
21
|
-
}
|
|
22
|
-
enable() {
|
|
23
|
-
this.helperObject3D.enable(), super.enable();
|
|
24
|
-
}
|
|
25
|
-
disable() {
|
|
26
|
-
this.helperObject3D.disable(), super.disable();
|
|
27
|
-
}
|
|
28
|
-
show() {
|
|
29
|
-
this.helperObject3D.show(), super.show();
|
|
30
|
-
}
|
|
31
|
-
hide() {
|
|
32
|
-
this.helperObject3D.hide(), super.hide();
|
|
33
|
-
}
|
|
34
|
-
getDragPlane() {
|
|
35
|
-
const s = new D.Plane(), e = this.helperObject3D.cornerPositions;
|
|
36
|
-
if (e.length !== 0)
|
|
37
|
-
return e.length < 3 ? s.setFromNormalAndCoplanarPoint(this.originObject3D.getWorldDirection(new n()), e[0]) : s.setFromCoplanarPoints(e[0], e[1], e[2]), s;
|
|
38
|
-
}
|
|
39
|
-
dragStart(s, e) {
|
|
40
|
-
var p, o;
|
|
41
|
-
(o = (p = this.helperObject3D).updatePoints) == null || o.call(p);
|
|
42
|
-
const f = this.getDragPlane();
|
|
43
|
-
if (!f)
|
|
44
|
-
return this.dragEnd();
|
|
45
|
-
this.startInfo = { startPoint: { position: e.position.clone(), direction: e.direction }, plane: f }, this.hooks.emit("scaleStart"), this.render(), this.isDragging = !0, console.log("%c RectangleScaleController dragStart", "color: #e5af2e");
|
|
46
|
-
}
|
|
47
|
-
dragging(s) {
|
|
48
|
-
if (!this.isDragging)
|
|
49
|
-
return;
|
|
50
|
-
const e = H(this.camera, s, this.container);
|
|
51
|
-
if (!e)
|
|
52
|
-
return this.dragEnd();
|
|
53
|
-
this.scale(e), console.log("%c RectangleScaleController dragging", "color: #49de1b");
|
|
54
|
-
}
|
|
55
|
-
scale(s) {
|
|
56
|
-
var S, x;
|
|
57
|
-
if (!this.startInfo)
|
|
58
|
-
return;
|
|
59
|
-
const e = this.originObject3D, { startPoint: f, plane: p } = this.startInfo, o = this.helperObject3D.cornerPositions;
|
|
60
|
-
if (o.length < 4)
|
|
61
|
-
return this.dragEnd();
|
|
62
|
-
const g = s.ray.intersectPlane(p, new n());
|
|
63
|
-
if (!g || T(g, this.camera.position))
|
|
64
|
-
return;
|
|
65
|
-
const u = new n().addVectors(o[0], o[2]).divideScalar(2), { position: k, direction: z } = f, j = new n().subVectors(o[1], o[0]), O = new n().subVectors(o[3], o[0]), V = (r) => {
|
|
66
|
-
const i = new n(0, 0, 0);
|
|
67
|
-
if (!this.startInfo)
|
|
68
|
-
return i;
|
|
69
|
-
const t = (r === "ew" ? j : O).clone(), c = k.clone().projectOnVector(t), b = g.clone().projectOnVector(t), E = u.clone().projectOnVector(t);
|
|
70
|
-
if (b.equals(c))
|
|
71
|
-
return i;
|
|
72
|
-
if (r === "ns" && typeof this.startInfo.dragPointInCenterBottom != "boolean") {
|
|
73
|
-
const l = new n().subVectors(b, E), w = l.x < 0 && t.x >= 0, P = l.y < 0 && t.y >= 0, I = l.z < 0 && t.z >= 0;
|
|
74
|
-
this.startInfo.dragPointInCenterBottom = w || P || I;
|
|
75
|
-
}
|
|
76
|
-
if (r === "ew" && typeof this.startInfo.dragPointInCenterLeft != "boolean") {
|
|
77
|
-
const l = new n().subVectors(b, E), w = l.x < 0 && t.x >= 0, P = l.y < 0 && t.y >= 0, I = l.z < 0 && t.z >= 0;
|
|
78
|
-
this.startInfo.dragPointInCenterLeft = w || P || I;
|
|
79
|
-
}
|
|
80
|
-
const v = new n().subVectors(b, c), M = v.length();
|
|
81
|
-
return M > 0.3 ? (console.warn("offset.length() > 0.3, skipped", M), i) : v;
|
|
82
|
-
}, R = V("ew"), B = V("ns"), y = () => {
|
|
83
|
-
const r = R;
|
|
84
|
-
this.helperObject3D.cornerPositions.forEach((i, t) => {
|
|
85
|
-
var c;
|
|
86
|
-
(c = this.startInfo) != null && c.dragPointInCenterLeft ? (t === 0 || t === 3) && i.add(r) : (t === 1 || t === 2) && i.add(r);
|
|
87
|
-
});
|
|
88
|
-
}, C = () => {
|
|
89
|
-
const r = B;
|
|
90
|
-
this.helperObject3D.cornerPositions.forEach((i, t) => {
|
|
91
|
-
var c;
|
|
92
|
-
(c = this.startInfo) != null && c.dragPointInCenterBottom ? (t === 0 || t === 1) && i.add(r) : (t === 2 || t === 3) && i.add(r);
|
|
93
|
-
});
|
|
94
|
-
};
|
|
95
|
-
switch (z) {
|
|
96
|
-
case "ew":
|
|
97
|
-
y();
|
|
98
|
-
break;
|
|
99
|
-
case "ns":
|
|
100
|
-
C();
|
|
101
|
-
break;
|
|
102
|
-
case "nesw":
|
|
103
|
-
case "nwse":
|
|
104
|
-
y(), C();
|
|
105
|
-
}
|
|
106
|
-
const L = new n().subVectors(o[1], o[0]).length() / j.length(), q = new n().subVectors(o[3], o[0]).length() / O.length(), F = new n(L, q, 1), m = new D.Matrix4().scale(F);
|
|
107
|
-
e.isCSS3DObjectPlus ? e.applyScaleMatrix4(m) : e.scale.applyMatrix4(m), f.position.copy(g);
|
|
108
|
-
const U = new n().addVectors(o[0], o[2]).divideScalar(2), W = new n().subVectors(U, u), d = new D.Matrix4().setPosition(W);
|
|
109
|
-
e.applyMatrix4(d), (S = this.helperObject3D.css3DInstance) == null || S.css3DObject.applyMatrix4(d), (x = this.helperObject3D.plane) == null || x.applyMatrix4(d), this.hooks.emit("scaleUpdate", { matrix4: m, helperOrigin: u }), this.hooks.emit("positionUpdate", { matrix4: d }), this.render();
|
|
110
|
-
}
|
|
111
|
-
dragEnd() {
|
|
112
|
-
!this.isDragging || (this.startInfo = void 0, this.isDragging = !1, this.hooks.emit("scaleEnd"), this.render(), console.log("%c RectangleScaleController dragEnd", "color: #e94e4e"));
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
export {
|
|
116
|
-
it as RectangleScaleController
|
|
117
|
-
};
|
|
1
|
+
"use strict";var T=Object.defineProperty;var F=(r,c,e)=>c in r?T(r,c,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[c]=e;var x=(r,c,e)=>(F(r,typeof c!="symbol"?c+"":c,e),e);const W=require("../Base/BaseController.js"),n=require("three"),X=require("../utils/getMouseRaycaster.js"),Y=require("../utils/vectorIsEqual.js");function A(r){if(r&&r.__esModule)return r;const c=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const e in r)if(e!=="default"){const t=Object.getOwnPropertyDescriptor(r,e);Object.defineProperty(c,e,t.get?t:{enumerable:!0,get:()=>r[e]})}}return c.default=r,Object.freeze(c)}const O=A(n);class G extends W.BaseController{constructor(...e){super(...e);x(this,"startInfo")}enable(){this.helperObject3D.enable(),super.enable()}disable(){this.helperObject3D.disable(),super.disable()}show(){this.helperObject3D.show(),super.show()}hide(){this.helperObject3D.hide(),super.hide()}getDragPlane(){const e=new O.Plane,t=this.helperObject3D.cornerPositions;if(t.length!==0)return t.length<3?e.setFromNormalAndCoplanarPoint(this.originObject3D.getWorldDirection(new n.Vector3),t[0]):e.setFromCoplanarPoints(t[0],t[1],t[2]),e}dragStart(e,t){var g,o;(o=(g=this.helperObject3D).updatePoints)==null||o.call(g);const f=this.getDragPlane();if(!f)return this.dragEnd();this.startInfo={startPoint:{position:t.position.clone(),direction:t.direction},plane:f},this.hooks.emit("scaleStart"),this.render(),this.isDragging=!0,console.log("%c RectangleScaleController dragStart","color: #e5af2e")}dragging(e){if(!this.isDragging)return;const t=X.getMouseRaycaster(this.camera,e,this.container);if(!t)return this.dragEnd();this.scale(t),console.log("%c RectangleScaleController dragging","color: #49de1b")}scale(e){var S,E;if(!this.startInfo)return;const t=this.originObject3D,{startPoint:f,plane:g}=this.startInfo,o=this.helperObject3D.cornerPositions;if(o.length<4)return this.dragEnd();const d=e.ray.intersectPlane(g,new n.Vector3);if(!d||Y.vectorIsEqual(d,this.camera.position))return;const b=new n.Vector3().addVectors(o[0],o[2]).divideScalar(2),{position:R,direction:N}=f,I=new n.Vector3().subVectors(o[1],o[0]),D=new n.Vector3().subVectors(o[3],o[0]),y=i=>{const a=new n.Vector3(0,0,0);if(!this.startInfo)return a;const s=(i==="ew"?I:D).clone(),l=R.clone().projectOnVector(s),u=d.clone().projectOnVector(s),M=b.clone().projectOnVector(s);if(u.equals(l))return a;if(i==="ns"&&typeof this.startInfo.dragPointInCenterBottom!="boolean"){const h=new n.Vector3().subVectors(u,M),w=h.x<0&&s.x>=0,P=h.y<0&&s.y>=0,V=h.z<0&&s.z>=0;this.startInfo.dragPointInCenterBottom=w||P||V}if(i==="ew"&&typeof this.startInfo.dragPointInCenterLeft!="boolean"){const h=new n.Vector3().subVectors(u,M),w=h.x<0&&s.x>=0,P=h.y<0&&s.y>=0,V=h.z<0&&s.z>=0;this.startInfo.dragPointInCenterLeft=w||P||V}const _=new n.Vector3().subVectors(u,l),v=_.length();return v>.3?(console.warn("offset.length() > 0.3, skipped",v),a):_},k=y("ew"),q=y("ns"),m=()=>{const i=k;this.helperObject3D.cornerPositions.forEach((a,s)=>{var l;(l=this.startInfo)!=null&&l.dragPointInCenterLeft?(s===0||s===3)&&a.add(i):(s===1||s===2)&&a.add(i)})},C=()=>{const i=q;this.helperObject3D.cornerPositions.forEach((a,s)=>{var l;(l=this.startInfo)!=null&&l.dragPointInCenterBottom?(s===0||s===1)&&a.add(i):(s===2||s===3)&&a.add(i)})};switch(N){case"ew":m();break;case"ns":C();break;case"nesw":case"nwse":m(),C()}const B=new n.Vector3().subVectors(o[1],o[0]).length()/I.length(),z=new n.Vector3().subVectors(o[3],o[0]).length()/D.length(),H=new n.Vector3(B,z,1),j=new O.Matrix4().scale(H);t.isCSS3DObjectPlus?t.applyScaleMatrix4(j):t.scale.applyMatrix4(j),f.position.copy(d);const U=new n.Vector3().addVectors(o[0],o[2]).divideScalar(2),L=new n.Vector3().subVectors(U,b),p=new O.Matrix4().setPosition(L);t.applyMatrix4(p),(S=this.helperObject3D.css3DInstance)==null||S.css3DObject.applyMatrix4(p),(E=this.helperObject3D.plane)==null||E.applyMatrix4(p),this.hooks.emit("scaleUpdate",{matrix4:j,helperOrigin:b}),this.hooks.emit("positionUpdate",{matrix4:p}),this.render()}dragEnd(){!this.isDragging||(this.startInfo=void 0,this.isDragging=!1,this.hooks.emit("scaleEnd"),this.render(),console.log("%c RectangleScaleController dragEnd","color: #e94e4e"))}}exports.RectangleScaleController=G;
|
|
@@ -1,142 +1 @@
|
|
|
1
|
-
var T = Object.defineProperty;
|
|
2
|
-
var A = (d, h, n) => h in d ? T(d, h, { enumerable: !0, configurable: !0, writable: !0, value: n }) : d[h] = n;
|
|
3
|
-
var y = (d, h, n) => (A(d, typeof h != "symbol" ? h + "" : h, n), n);
|
|
4
|
-
import { BaseController as O } from "../Base/BaseController.js";
|
|
5
|
-
import * as i from "three";
|
|
6
|
-
import { getMouseRaycaster as E } from "../utils/getMouseRaycaster.js";
|
|
7
|
-
import "../../Subscribe.js";
|
|
8
|
-
import "../utils/threex/domevents/index.js";
|
|
9
|
-
import "../../isNil.js";
|
|
10
|
-
import "../../../CSS3DRenderPlugin/utils/CSS3DObjectPlus.js";
|
|
11
|
-
import "three/examples/jsm/renderers/CSS3DRenderer";
|
|
12
|
-
import "../../../CSS3DRenderPlugin/utils/evenNumber.js";
|
|
13
|
-
import "../../../CSS3DRenderPlugin/utils/centerPoint.js";
|
|
14
|
-
import "../utils/calculateThreeMouse.js";
|
|
15
|
-
class M extends O {
|
|
16
|
-
constructor(...n) {
|
|
17
|
-
super(...n);
|
|
18
|
-
y(this, "startInfo");
|
|
19
|
-
y(this, "lastRotation");
|
|
20
|
-
y(this, "rotations", []);
|
|
21
|
-
y(this, "helperObject3DQuaternion", this.originObject3D.quaternion.clone());
|
|
22
|
-
const t = this.helperObject3D;
|
|
23
|
-
this.hoverListener([t.xyCircle, t.xzCircle, t.yzCircle]);
|
|
24
|
-
const e = this.dragStart.bind(this), r = this.dragging.bind(this), o = this.dragEnd.bind(this);
|
|
25
|
-
this.domEvents.addEventListener(this.helperObject3D, "mousedown", e), document.addEventListener("mousemove", r), document.addEventListener("mouseup", o);
|
|
26
|
-
}
|
|
27
|
-
initialHelperQuaternion() {
|
|
28
|
-
this.helperObject3D.updateAngleHelperQuaternion(), this.helperObject3D.applyHelperQuaternion(this.originObject3D.quaternion);
|
|
29
|
-
}
|
|
30
|
-
dragStart(n) {
|
|
31
|
-
if (this.isDragging)
|
|
32
|
-
return;
|
|
33
|
-
const t = n == null ? void 0 : n.intersect;
|
|
34
|
-
if (!t)
|
|
35
|
-
return this.dragEnd();
|
|
36
|
-
const e = (t == null ? void 0 : t.object).direction;
|
|
37
|
-
if (!e)
|
|
38
|
-
return this.dragEnd();
|
|
39
|
-
this.helperObject3D.updateAngleHelperQuaternion();
|
|
40
|
-
const r = t.point, o = this.originObject3D.position.clone(), s = this.getAngleHelper(e);
|
|
41
|
-
this.setTipsAngle(0);
|
|
42
|
-
const l = r.clone();
|
|
43
|
-
l.y += 0.2, this.setTipsPosition(l);
|
|
44
|
-
const g = new i.Vector3(1, 0, 0).applyQuaternion(this.helperObject3DQuaternion), j = new i.Vector3(0, 1, 0).applyQuaternion(this.helperObject3DQuaternion), D = new i.Vector3(0, 0, 1).applyQuaternion(this.helperObject3DQuaternion), a = (() => {
|
|
45
|
-
switch (e) {
|
|
46
|
-
case "x":
|
|
47
|
-
return g;
|
|
48
|
-
case "y":
|
|
49
|
-
return j;
|
|
50
|
-
case "z":
|
|
51
|
-
return D;
|
|
52
|
-
}
|
|
53
|
-
})(), m = new i.Plane().setFromNormalAndCoplanarPoint(a, r), p = new i.Vector3();
|
|
54
|
-
m.projectPoint(r.clone(), p);
|
|
55
|
-
const c = p.clone().sub(o), H = c.clone(), u = c.angleTo(s.baseAxes);
|
|
56
|
-
this.setAngleHelperStart(e, u), this.setAngleHelperLength(e, 0), this.rotations.push({ vector: c.clone(), direction: !0 }), this.startInfo = { direction: e, startVector: c, staticStartVector: H, plane: m, angleHelper: s }, this.helperObject3D.showDraggingHelper([e]), this.hooks.emit("rotateStart"), this.isDragging = !0, console.log(`%c RotateController dragStart ${e}`, "color: #e5af2e");
|
|
57
|
-
}
|
|
58
|
-
dragging(n) {
|
|
59
|
-
var e;
|
|
60
|
-
if (!this.isDragging)
|
|
61
|
-
return;
|
|
62
|
-
const t = E(this.camera, n, this.container);
|
|
63
|
-
return t ? (console.log(`%c RotateController dragging ${(e = this.startInfo) == null ? void 0 : e.direction}`, "color: #49de1b"), this.rotate(t), !1) : this.dragEnd();
|
|
64
|
-
}
|
|
65
|
-
rotate(n) {
|
|
66
|
-
if (!this.startInfo)
|
|
67
|
-
return this.dragEnd();
|
|
68
|
-
const { startVector: t, plane: e, angleHelper: r, staticStartVector: o, direction: s } = this.startInfo, l = this.originObject3D, g = n.ray.intersectPlane(e, new i.Vector3());
|
|
69
|
-
if (!g)
|
|
70
|
-
return;
|
|
71
|
-
const j = l.position.clone(), D = new i.Vector3();
|
|
72
|
-
e.projectPoint(g.clone(), D);
|
|
73
|
-
const a = D.clone().sub(j);
|
|
74
|
-
if (t.angleTo(a) === 0 || (this.lastRotation === void 0 && (this.lastRotation = { angle: 0 }), this.rotations.length === 0))
|
|
75
|
-
return;
|
|
76
|
-
const m = (() => {
|
|
77
|
-
if (this.rotations.length === 1)
|
|
78
|
-
return a.angleTo(r.baseAxes) > o.angleTo(r.baseAxes);
|
|
79
|
-
{
|
|
80
|
-
const c = this.rotations[this.rotations.length - 1], H = this.rotations[this.rotations.length - 2], u = a.angleTo(H.vector), f = a.angleTo(c.vector), b = c.vector.angleTo(H.vector);
|
|
81
|
-
if (b === 0 || f === 0 || u === 0)
|
|
82
|
-
return;
|
|
83
|
-
if (u > f && u > b)
|
|
84
|
-
return c.direction;
|
|
85
|
-
if (u < b && f < b || u < f && f > b)
|
|
86
|
-
return !c.direction;
|
|
87
|
-
}
|
|
88
|
-
})();
|
|
89
|
-
if (m === void 0)
|
|
90
|
-
return console.warn("rotationDirection is undefined");
|
|
91
|
-
this.rotations.push({ vector: a, direction: m }), this.rotations = this.rotations.slice(-2), this.lastRotation.angle = this.lastRotation.angle + a.angleTo(t) * (m ? 1 : -1), this.setAngleHelperLength(s, this.lastRotation.angle), this.setTipsAngle(this.lastRotation.angle / Math.PI * 180);
|
|
92
|
-
const p = new i.Quaternion().setFromUnitVectors(t.clone().normalize(), a.clone().normalize());
|
|
93
|
-
l.applyQuaternion(p), this.helperObject3D.applyHelperQuaternion(p), this.helperObject3DQuaternion.premultiply(p), this.hooks.emit("rotateUpdate", { quaternion: p, origin: j }), this.startInfo.startVector = a;
|
|
94
|
-
}
|
|
95
|
-
dragEnd() {
|
|
96
|
-
!this.isDragging || (console.log("%c RotateController dragEnd", "color: #e94e4e"), this.startInfo = void 0, this.isDragging = !1, this.lastRotation = void 0, this.rotations = [], this.helperObject3D.show(), this.hooks.emit("rotateEnd"));
|
|
97
|
-
}
|
|
98
|
-
getAngleHelper(n) {
|
|
99
|
-
switch (n) {
|
|
100
|
-
case "x":
|
|
101
|
-
return this.helperObject3D.xAngleHelper;
|
|
102
|
-
case "y":
|
|
103
|
-
return this.helperObject3D.yAngleHelper;
|
|
104
|
-
case "z":
|
|
105
|
-
return this.helperObject3D.zAngleHelper;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
setAngleHelperStart(n, t) {
|
|
109
|
-
const e = this.getAngleHelper(n);
|
|
110
|
-
if (e instanceof i.Mesh && e.geometry instanceof i.CircleGeometry) {
|
|
111
|
-
const { radius: r, segments: o, thetaLength: s } = e.geometry.parameters;
|
|
112
|
-
e.geometry = new i.CircleGeometry(r, o, t, s);
|
|
113
|
-
} else
|
|
114
|
-
console.warn("only support THREE.CircleGeometry");
|
|
115
|
-
}
|
|
116
|
-
setAngleHelperLength(n, t) {
|
|
117
|
-
const r = t >= 0 ? Math.max(t, 1e-3) : Math.min(t, -1e-3), o = this.getAngleHelper(n);
|
|
118
|
-
if (o instanceof i.Mesh && o.geometry instanceof i.CircleGeometry) {
|
|
119
|
-
const { radius: s, thetaStart: l } = o.geometry.parameters, g = Math.ceil(Math.abs(r) * (40 / (2 * Math.PI)));
|
|
120
|
-
o.geometry = new i.CircleGeometry(s, g, l, r);
|
|
121
|
-
} else
|
|
122
|
-
console.warn("only support THREE.CircleGeometry");
|
|
123
|
-
}
|
|
124
|
-
setTipsAngle(n) {
|
|
125
|
-
var e;
|
|
126
|
-
const t = (e = this.helperObject3D.angleTips) == null ? void 0 : e.element;
|
|
127
|
-
!t || (t.innerText = `${n.toFixed(0)}\xB0`);
|
|
128
|
-
}
|
|
129
|
-
setTipsPosition(n) {
|
|
130
|
-
const t = this.helperObject3D.angleTips;
|
|
131
|
-
if (!t)
|
|
132
|
-
return;
|
|
133
|
-
const e = n.project(this.camera), { x: r, y: o, z: s } = e;
|
|
134
|
-
if (s > 1)
|
|
135
|
-
return;
|
|
136
|
-
const l = (r + 1) / 2 * 100 + "%", g = (-o + 1) / 2 * 100 + "%";
|
|
137
|
-
t.setLeftTop(l, g);
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
export {
|
|
141
|
-
M as RotateController
|
|
142
|
-
};
|
|
1
|
+
"use strict";var H=Object.defineProperty;var T=(r,a,e)=>a in r?H(r,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[a]=e;var j=(r,a,e)=>(T(r,typeof a!="symbol"?a+"":a,e),e);const R=require("../Base/BaseController.js"),A=require("three"),E=require("../utils/getMouseRaycaster.js");function C(r){if(r&&r.__esModule)return r;const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const e in r)if(e!=="default"){const t=Object.getOwnPropertyDescriptor(r,e);Object.defineProperty(a,e,t.get?t:{enumerable:!0,get:()=>r[e]})}}return a.default=r,Object.freeze(a)}const s=C(A);class w extends R.BaseController{constructor(...e){super(...e);j(this,"startInfo");j(this,"lastRotation");j(this,"rotations",[]);j(this,"helperObject3DQuaternion",this.originObject3D.quaternion.clone());const t=this.helperObject3D;this.hoverListener([t.xyCircle,t.xzCircle,t.yzCircle]);const n=this.dragStart.bind(this),o=this.dragging.bind(this),i=this.dragEnd.bind(this);this.domEvents.addEventListener(this.helperObject3D,"mousedown",n),document.addEventListener("mousemove",o),document.addEventListener("mouseup",i)}initialHelperQuaternion(){this.helperObject3D.updateAngleHelperQuaternion(),this.helperObject3D.applyHelperQuaternion(this.originObject3D.quaternion)}dragStart(e){if(this.isDragging)return;const t=e==null?void 0:e.intersect;if(!t)return this.dragEnd();const n=(t==null?void 0:t.object).direction;if(!n)return this.dragEnd();this.helperObject3D.updateAngleHelperQuaternion();const o=t.point,i=this.originObject3D.position.clone(),c=this.getAngleHelper(n);this.setTipsAngle(0);const g=o.clone();g.y+=.2,this.setTipsPosition(g);const p=new s.Vector3(1,0,0).applyQuaternion(this.helperObject3DQuaternion),y=new s.Vector3(0,1,0).applyQuaternion(this.helperObject3DQuaternion),D=new s.Vector3(0,0,1).applyQuaternion(this.helperObject3DQuaternion),l=(()=>{switch(n){case"x":return p;case"y":return y;case"z":return D}})(),f=new s.Plane().setFromNormalAndCoplanarPoint(l,o),u=new s.Vector3;f.projectPoint(o.clone(),u);const h=u.clone().sub(i),O=h.clone(),d=h.angleTo(c.baseAxes);this.setAngleHelperStart(n,d),this.setAngleHelperLength(n,0),this.rotations.push({vector:h.clone(),direction:!0}),this.startInfo={direction:n,startVector:h,staticStartVector:O,plane:f,angleHelper:c},this.helperObject3D.showDraggingHelper([n]),this.hooks.emit("rotateStart"),this.isDragging=!0,console.log(`%c RotateController dragStart ${n}`,"color: #e5af2e")}dragging(e){var n;if(!this.isDragging)return;const t=E.getMouseRaycaster(this.camera,e,this.container);return t?(console.log(`%c RotateController dragging ${(n=this.startInfo)==null?void 0:n.direction}`,"color: #49de1b"),this.rotate(t),!1):this.dragEnd()}rotate(e){if(!this.startInfo)return this.dragEnd();const{startVector:t,plane:n,angleHelper:o,staticStartVector:i,direction:c}=this.startInfo,g=this.originObject3D,p=e.ray.intersectPlane(n,new s.Vector3);if(!p)return;const y=g.position.clone(),D=new s.Vector3;n.projectPoint(p.clone(),D);const l=D.clone().sub(y);if(t.angleTo(l)===0||(this.lastRotation===void 0&&(this.lastRotation={angle:0}),this.rotations.length===0))return;const f=(()=>{if(this.rotations.length===1)return l.angleTo(o.baseAxes)>i.angleTo(o.baseAxes);{const h=this.rotations[this.rotations.length-1],O=this.rotations[this.rotations.length-2],d=l.angleTo(O.vector),b=l.angleTo(h.vector),m=h.vector.angleTo(O.vector);if(m===0||b===0||d===0)return;if(d>b&&d>m)return h.direction;if(d<m&&b<m||d<b&&b>m)return!h.direction}})();if(f===void 0)return console.warn("rotationDirection is undefined");this.rotations.push({vector:l,direction:f}),this.rotations=this.rotations.slice(-2),this.lastRotation.angle=this.lastRotation.angle+l.angleTo(t)*(f?1:-1),this.setAngleHelperLength(c,this.lastRotation.angle),this.setTipsAngle(this.lastRotation.angle/Math.PI*180);const u=new s.Quaternion().setFromUnitVectors(t.clone().normalize(),l.clone().normalize());g.applyQuaternion(u),this.helperObject3D.applyHelperQuaternion(u),this.helperObject3DQuaternion.premultiply(u),this.hooks.emit("rotateUpdate",{quaternion:u,origin:y}),this.startInfo.startVector=l}dragEnd(){!this.isDragging||(console.log("%c RotateController dragEnd","color: #e94e4e"),this.startInfo=void 0,this.isDragging=!1,this.lastRotation=void 0,this.rotations=[],this.helperObject3D.show(),this.hooks.emit("rotateEnd"))}getAngleHelper(e){switch(e){case"x":return this.helperObject3D.xAngleHelper;case"y":return this.helperObject3D.yAngleHelper;case"z":return this.helperObject3D.zAngleHelper}}setAngleHelperStart(e,t){const n=this.getAngleHelper(e);if(n instanceof s.Mesh&&n.geometry instanceof s.CircleGeometry){const{radius:o,segments:i,thetaLength:c}=n.geometry.parameters;n.geometry=new s.CircleGeometry(o,i,t,c)}else console.warn("only support THREE.CircleGeometry")}setAngleHelperLength(e,t){const o=t>=0?Math.max(t,.001):Math.min(t,-.001),i=this.getAngleHelper(e);if(i instanceof s.Mesh&&i.geometry instanceof s.CircleGeometry){const{radius:c,thetaStart:g}=i.geometry.parameters,p=Math.ceil(Math.abs(o)*(40/(2*Math.PI)));i.geometry=new s.CircleGeometry(c,p,g,o)}else console.warn("only support THREE.CircleGeometry")}setTipsAngle(e){var n;const t=(n=this.helperObject3D.angleTips)==null?void 0:n.element;!t||(t.innerText=`${e.toFixed(0)}\xB0`)}setTipsPosition(e){const t=this.helperObject3D.angleTips;if(!t)return;const n=e.project(this.camera),{x:o,y:i,z:c}=n;if(c>1)return;const g=(o+1)/2*100+"%",p=(-i+1)/2*100+"%";t.setLeftTop(g,p)}}exports.RotateController=w;
|