@realsee/five 6.8.0-alpha.9 → 6.8.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/AGENTS_READ_ME.md +6 -1
- package/AI_CONTEXT.md +6 -1
- package/README.md +10 -3
- package/ai_guides/README.md +29 -0
- package/ai_guides/api.md +92 -21
- package/ai_guides/features/3dtile.md +1 -1
- package/ai_guides/features/camera-animation.md +18 -1
- package/ai_guides/features/clipper.md +2 -2
- package/ai_guides/features/coordinate-system.md +20 -2
- package/ai_guides/features/event.md +106 -10
- package/ai_guides/features/five.md +17 -17
- package/ai_guides/features/flowing-light-2d-pass.md +75 -17
- package/ai_guides/features/flowing-light-3d-pass.md +76 -17
- package/ai_guides/features/gaussian-blur-pass.md +1 -1
- package/ai_guides/features/gesture.md +2 -1
- package/ai_guides/features/get-screen-pixels.md +2 -2
- package/ai_guides/features/image-options.md +2 -2
- package/ai_guides/features/load-external-model.md +6 -2
- package/ai_guides/features/load-progress.md +1 -1
- package/ai_guides/features/material.md +20 -12
- package/ai_guides/features/mode.md +1 -1
- package/ai_guides/features/model.md +1 -1
- package/ai_guides/features/move-pano-effect.md +1 -1
- package/ai_guides/features/multi-work.md +1 -1
- package/ai_guides/features/pano-filter.md +149 -0
- package/ai_guides/features/pano-tile.md +1 -1
- package/ai_guides/features/pano-uv.md +1 -1
- package/ai_guides/features/parameter.md +26 -2
- package/ai_guides/features/plugin.md +1 -1
- package/ai_guides/features/postprocessing.md +1 -1
- package/ai_guides/features/raycast.md +5 -2
- package/ai_guides/features/request-proxy.md +1 -1
- package/ai_guides/features/screen-project.md +2 -1
- package/ai_guides/features/state.md +23 -3
- package/ai_guides/features/view-layer.md +1 -1
- package/ai_guides/features/work.md +1 -1
- package/ai_guides/glossary.md +4 -4
- package/ai_guides/release_notes/6.8.md +190 -58
- package/ai_guides/template.md +11 -0
- package/docs/00_FOR_AI_AGENTS.md +3 -2
- package/docs/README.md +3 -2
- package/docs/assets/hierarchy.js +1 -1
- package/docs/assets/main.js +1 -1
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/five.AdaptiveLuminancePass.html +7 -6
- package/docs/classes/five.AnimationFrameLoop.html +1 -1
- package/docs/classes/five.BoundingMesh.html +2 -2
- package/docs/classes/five.Camera.html +3 -3
- package/docs/classes/five.EyeDomeLightingPass.html +1 -1
- package/docs/classes/five.Five.html +77 -76
- package/docs/classes/five.FivePass.html +1 -1
- package/docs/classes/five.Histogram.html +19 -0
- package/docs/classes/five.InternalWebGLRenderer.html +1 -1
- package/docs/classes/five.Model.html +8 -8
- package/docs/classes/five.ModelScene.html +1 -1
- package/docs/classes/five.NetworkSubscribe.html +5 -5
- package/docs/classes/five.PBMContainer.html +1 -1
- package/docs/classes/five.PBMCustomShader.html +42 -3
- package/docs/classes/five.PBMGSObject.html +5 -3
- package/docs/classes/five.PBMGroup.html +1 -1
- package/docs/classes/five.PBMMesh.html +1 -1
- package/docs/classes/five.PBMMeshMaterial.html +7 -7
- package/docs/classes/five.PBMPanoFilter.html +61 -0
- package/docs/classes/five.PBMPointCloud.html +1 -1
- package/docs/classes/five.PBMPointCloudMaterial.html +5 -6
- package/docs/classes/five.PBMSkinnedMesh.html +1 -1
- package/docs/classes/five.PBMUpdateable.html +41 -0
- package/docs/classes/five.PanoCircleMesh.html +1 -1
- package/docs/classes/five.PanoCircleMeshCustom.html +1 -1
- package/docs/classes/five.PanoCircleMeshSolid.html +1 -1
- package/docs/classes/five.Parameter.html +57 -55
- package/docs/classes/five.Scene.html +1 -1
- package/docs/classes/five.Subscribe.html +5 -5
- package/docs/classes/five.Tile.html +1 -1
- package/docs/classes/five.Tile3D.html +24 -24
- package/docs/classes/five.TileNode.html +1 -1
- package/docs/classes/five.Tileset.html +3 -2
- package/docs/classes/five.TrajectoryNode.html +1 -1
- package/docs/classes/five.Work.html +16 -16
- package/docs/classes/five.WorkResolvedObserver.html +22 -22
- package/docs/classes/gltf-loader.DDSLoader.html +1 -1
- package/docs/classes/gltf-loader.DRACOLoader.html +1 -1
- package/docs/classes/gltf-loader.GLTFLoader.html +2 -2
- package/docs/classes/gltf-loader.GLTFObject.html +1 -1
- package/docs/classes/gltf-loader.GLTFParser.html +1 -1
- package/docs/classes/gltf-loader.THREEGLTFLoader.html +2 -2
- package/docs/classes/line.Line.html +1 -1
- package/docs/classes/line.LineGeometry.html +1 -1
- package/docs/classes/line.LineMaterial.html +1 -1
- package/docs/classes/line.LineSegmentsGeometry.html +1 -1
- package/docs/classes/line.THREE_Line2.html +1 -1
- package/docs/classes/line.THREE_LineSegments2.html +1 -1
- package/docs/classes/plugins.BasePlugin.Controller.html +1 -1
- package/docs/classes/plugins.CSS2DObject.html +10 -0
- package/docs/classes/plugins.CSS2DRenderer.html +7 -0
- package/docs/classes/plugins.CSS3DObject.html +9 -0
- package/docs/classes/plugins.CSS3DRenderer.html +4 -2
- package/docs/classes/plugins.CSS3DSprite.html +11 -0
- package/docs/classes/plugins.Object3DHelperController.html +43 -0
- package/docs/classes/plugins.RoundedBoxGeometry.html +1 -1
- package/docs/classes/sticker.Sticker.html +1 -1
- package/docs/classes/vfx.Airflow.html +1 -1
- package/docs/classes/vfx.Flame.html +1 -1
- package/docs/classes/vfx.Particle.html +6 -6
- package/docs/classes/vfx.ParticleGPU.html +3 -3
- package/docs/classes/vfx.SpotLight.html +1 -1
- package/docs/documents/README.html +122 -1
- package/docs/documents/api.html +163 -35
- package/docs/documents/features_3dtile.html +1 -1
- package/docs/documents/features_camera-animation.html +18 -2
- package/docs/documents/features_clipper.html +2 -2
- package/docs/documents/features_coordinate-system.html +52 -3
- package/docs/documents/features_event.html +44 -8
- package/docs/documents/features_five.html +17 -17
- package/docs/documents/features_flowing-light-2d-pass.html +41 -125
- package/docs/documents/features_flowing-light-3d-pass.html +43 -132
- package/docs/documents/features_gaussian-blur-pass.html +6 -6
- package/docs/documents/features_gesture.html +2 -1
- package/docs/documents/features_get-screen-pixels.html +2 -2
- package/docs/documents/features_image-options.html +2 -2
- package/docs/documents/features_load-external-model.html +6 -2
- package/docs/documents/features_load-progress.html +1 -1
- package/docs/documents/features_material.html +11 -4
- package/docs/documents/features_mode.html +1 -1
- package/docs/documents/features_model.html +1 -1
- package/docs/documents/features_move-pano-effect.html +1 -1
- package/docs/documents/features_multi-work.html +1 -1
- package/docs/documents/features_pano-filter.html +123 -0
- package/docs/documents/features_pano-tile.html +1 -1
- package/docs/documents/features_pano-uv.html +1 -1
- package/docs/documents/features_parameter.html +11 -3
- package/docs/documents/features_plugin.html +1 -1
- package/docs/documents/features_postprocessing.html +1 -1
- package/docs/documents/features_raycast.html +5 -2
- package/docs/documents/features_request-proxy.html +1 -1
- package/docs/documents/features_screen-project.html +2 -1
- package/docs/documents/features_state.html +9 -2
- package/docs/documents/features_view-layer.html +1 -1
- package/docs/documents/features_work.html +1 -1
- package/docs/documents/glossary.html +5 -5
- package/docs/documents/release_notes_6.8.html +164 -64
- package/docs/documents/template.html +9 -0
- package/docs/functions/five.createDebugBoundingMesh.html +1 -1
- package/docs/functions/five.parseWork.html +1 -1
- package/docs/functions/plugins.CSS2DPlugin.html +1 -0
- package/docs/functions/plugins.CSS3DPlugin.html +1 -0
- package/docs/functions/plugins.GaussianSplattingEntranceAnimationPlugin.html +1 -0
- package/docs/functions/plugins.Object3DHelperPlugin.html +1 -0
- package/docs/functions/react.getPlugin.html +2 -0
- package/docs/functions/react.setPlugin.html +2 -0
- package/docs/functions/react.useFiveCurrentObserver.html +2 -2
- package/docs/functions/react.useFiveFloor.html +2 -2
- package/docs/functions/react.useFivePlugin.html +8 -0
- package/docs/functions/react.useFiveProject2d.html +2 -2
- package/docs/functions/react.withFive.html +1 -1
- package/docs/functions/vue.useFiveCurrentObserver.html +2 -2
- package/docs/functions/vue.useFiveFloor.html +2 -2
- package/docs/functions/vue.useFiveWorks.html +2 -2
- package/docs/hierarchy.html +1 -1
- package/docs/index.html +122 -1
- package/docs/interfaces/five.AddableObject.html +1 -1
- package/docs/interfaces/five.AjaxOptions.html +1 -1
- package/docs/interfaces/five.BaseEvent.html +7 -2
- package/docs/interfaces/five.BaseExtendableEvent.html +11 -0
- package/docs/interfaces/five.EventCallback.html +58 -54
- package/docs/interfaces/five.FiveInitArgs.html +2 -2
- package/docs/interfaces/five.FloorplanControllerCustomInitArgs.html +9 -9
- package/docs/interfaces/five.GestureEvent.html +21 -2
- package/docs/interfaces/five.GesturePointer.html +20 -0
- package/docs/interfaces/five.ImageOptions.html +1 -1
- package/docs/interfaces/five.IntersectEvent.html +10 -2
- package/docs/interfaces/five.IntersectMesh.html +1 -1
- package/docs/interfaces/five.IntersectMeshInterface.html +1 -1
- package/docs/interfaces/five.Intersection.html +1 -1
- package/docs/interfaces/five.LooseWorkObserver.html +2 -2
- package/docs/interfaces/five.LooseWorkPanorama.html +2 -2
- package/docs/interfaces/five.LooseWorkWithExtrinsics.html +6 -6
- package/docs/interfaces/five.MapviewControllerCustomInitArgs.html +10 -10
- package/docs/interfaces/five.ModeChangeEvent.html +9 -2
- package/docs/interfaces/five.ModelControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.ModelEvent.html +7 -2
- package/docs/interfaces/five.ModelSceneEvent.html +7 -2
- package/docs/interfaces/five.ModelTileEvent.html +7 -2
- package/docs/interfaces/five.MovePanoOptions.html +8 -8
- package/docs/interfaces/five.NetworkAbortError.html +1 -1
- package/docs/interfaces/five.NetworkFirbiddenError.html +1 -1
- package/docs/interfaces/five.NetworkOptions.html +1 -1
- package/docs/interfaces/five.NetworkProxyError.html +1 -1
- package/docs/interfaces/five.NetworkResourceEvent.html +7 -2
- package/docs/interfaces/five.NetworkResponseError.html +1 -1
- package/docs/interfaces/five.NetworkTimeoutError.html +1 -1
- package/docs/interfaces/five.ObjectEvent.html +7 -2
- package/docs/interfaces/five.PBMClipperParameter.html +2 -2
- package/docs/interfaces/five.PBMCustomShaderInitArgs.html +2 -2
- package/docs/interfaces/five.PBMCustomShaderSlots.html +2 -2
- package/docs/interfaces/five.PBMMaterial.html +1 -1
- package/docs/interfaces/five.PBMMeshMaterialParameters.html +5 -3
- package/docs/interfaces/five.PBMPanoDepth.html +5 -5
- package/docs/interfaces/five.PBMPanoFilterValue.html +6 -0
- package/docs/interfaces/five.PBMPanoPicture.html +8 -6
- package/docs/interfaces/five.PBMPointCloudMaterialParameters.html +2 -3
- package/docs/interfaces/five.PBMRefinedScreen.html +2 -2
- package/docs/interfaces/five.PanoCircleMeshInterface.html +2 -2
- package/docs/interfaces/five.PanoEvent.html +15 -2
- package/docs/interfaces/five.PanoPrepareEvent.html +15 -0
- package/docs/interfaces/five.PanoTextureEvent.html +11 -2
- package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.ParameterMaterialValue.html +40 -38
- package/docs/interfaces/five.ParameterTilesetValue.html +15 -15
- package/docs/interfaces/five.ParameterValue.html +54 -52
- package/docs/interfaces/five.Pose.html +1 -1
- package/docs/interfaces/five.RenderEvent.html +7 -2
- package/docs/interfaces/five.ResolvedParameterValue.html +55 -54
- package/docs/interfaces/five.RgbaData.html +7 -0
- package/docs/interfaces/five.SplatData.html +2 -2
- package/docs/interfaces/five.State.html +1 -1
- package/docs/interfaces/five.StateEvent.html +9 -2
- package/docs/interfaces/five.TextureOptions.html +1 -1
- package/docs/interfaces/five.Tile3DOptions.html +2 -2
- package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +7 -7
- package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.ViewLayer.html +24 -24
- package/docs/interfaces/five.WorkCubeImage.html +3 -2
- package/docs/interfaces/five.WorkImage.html +6 -5
- package/docs/interfaces/five.WorkInitial.html +8 -8
- package/docs/interfaces/five.WorkModel.html +8 -8
- package/docs/interfaces/five.WorkModelLayer.html +6 -6
- package/docs/interfaces/five.WorkObserver.html +29 -29
- package/docs/interfaces/five.WorkObserverJson.html +2 -2
- package/docs/interfaces/five.WorkObserverProto.html +26 -0
- package/docs/interfaces/five.WorkPanoramaJson.html +2 -2
- package/docs/interfaces/five.WorkTile.html +6 -5
- package/docs/interfaces/five.WorkVideo.html +4 -4
- package/docs/interfaces/five.WorksEvent.html +7 -2
- package/docs/interfaces/five.XRControllerEvent.html +10 -2
- package/docs/interfaces/five.XRControllerState.html +8 -0
- package/docs/interfaces/five.XRGestureEvent.html +13 -2
- package/docs/interfaces/five.XRPanoramaControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.XRSessionEvent.html +9 -2
- package/docs/interfaces/plugins.BackgroundPluginController.html +1 -1
- package/docs/interfaces/plugins.BackgroundPluginType.EventMap.html +1 -1
- package/docs/interfaces/plugins.BasePlugin.State.html +1 -1
- package/docs/interfaces/plugins.CSS2DPluginController.html +49 -0
- package/docs/interfaces/plugins.CSS2DPluginType.Config.html +2 -0
- package/docs/interfaces/plugins.CSS2DPluginType.CreateCSS2DObjectType.html +8 -0
- package/docs/interfaces/plugins.CSS2DPluginType.EventMap.html +10 -0
- package/docs/interfaces/plugins.CSS2DPluginType.Params.html +4 -0
- package/docs/interfaces/plugins.CSS2DPluginType.State.html +8 -0
- package/docs/interfaces/plugins.CSS2DRendererParameters.html +2 -0
- package/docs/interfaces/plugins.CSS3DPluginController.html +52 -0
- package/docs/interfaces/plugins.CSS3DPluginType.Config.html +2 -0
- package/docs/interfaces/plugins.CSS3DPluginType.CreateCSS3DObjectType.html +10 -0
- package/docs/interfaces/plugins.CSS3DPluginType.EventMap.html +10 -0
- package/docs/interfaces/plugins.CSS3DPluginType.Params.html +4 -0
- package/docs/interfaces/plugins.CSS3DPluginType.State.html +8 -0
- package/docs/interfaces/plugins.CSS3DRendererParameters.html +2 -0
- package/docs/interfaces/plugins.DynamicPathLinePluginController.html +3 -3
- package/docs/interfaces/plugins.DynamicPathLinePluginType.EventMap.html +1 -1
- package/docs/interfaces/plugins.DynamicPathLinePluginType.State.html +1 -1
- package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationController.html +44 -0
- package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.BoundingAABB2D.html +3 -0
- package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.Config.html +8 -0
- package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.EventMap.html +10 -0
- package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.Keyframe.html +3 -0
- package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.State.html +8 -0
- package/docs/interfaces/plugins.ItemMaskController.html +1 -1
- package/docs/interfaces/plugins.ItemMaskPluginType.EventMap.html +1 -1
- package/docs/interfaces/plugins.ItemMaskPluginType.State.html +2 -2
- package/docs/interfaces/plugins.Object3DHelperPluginType.BaseController.html +30 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.BaseHelper.html +22 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.BoundingBoxController.html +30 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.HelperOffset.html +4 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.MoveController.html +36 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.MoveHelperAbstract.html +32 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.Object3DHelper.html +12 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.Object3DHelperPluginState.html +4 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.Object3DHelperState.html +4 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.ObjectHelperControllers.html +4 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.RotateController.html +36 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.RotateHelperAbstract.html +28 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.Scissor.html +5 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.Vector2Position.html +3 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.Vector3Position.html +4 -0
- package/docs/interfaces/plugins.OrientationPluginController.html +6 -6
- package/docs/interfaces/plugins.OrientationPluginType.EventMap.html +1 -1
- package/docs/interfaces/plugins.OrientationPluginType.State.html +1 -1
- package/docs/interfaces/plugins.PanoAnimeController.html +1 -1
- package/docs/interfaces/plugins.PanoAnimePluginType.EventMap.html +1 -1
- package/docs/interfaces/plugins.PanoAnimePluginType.State.html +1 -1
- package/docs/interfaces/plugins.PlayingState.html +2 -2
- package/docs/interfaces/plugins.PluginTemplateType.EventMap.html +1 -1
- package/docs/interfaces/plugins.PluginTemplateType.State.html +1 -1
- package/docs/interfaces/plugins.TrajectoryController.html +8 -8
- package/docs/interfaces/react.FiveAppProps.html +11 -0
- package/docs/interfaces/react.FiveInjectionTypes.html +21 -21
- package/docs/interfaces/sticker.IntersectionLike.html +2 -2
- package/docs/interfaces/vfx.ParticleArgs.html +4 -4
- package/docs/interfaces/vue.FiveActionVueCallbacks.html +3 -3
- package/docs/modules/five.html +1 -1
- package/docs/modules/plugins.CSS2DPluginType.html +1 -0
- package/docs/modules/plugins.CSS3DPluginType.html +1 -0
- package/docs/modules/plugins.GaussianSplattingEntranceAnimationPluginType.html +1 -0
- package/docs/modules/plugins.Object3DHelperPluginType.html +1 -0
- package/docs/modules/plugins.html +1 -1
- package/docs/modules/react.html +1 -1
- package/docs/modules.html +1 -1
- package/docs/types/five.ControllerEventTypes.html +30 -26
- package/docs/types/five.EasingFunction.html +1 -0
- package/docs/types/five.EventTypes.html +26 -26
- package/docs/types/five.LegacyEventType.html +7 -7
- package/docs/types/five.PBMAlphaMode.html +1 -1
- package/docs/types/five.PBMColorStyle.html +1 -1
- package/docs/types/five.PBMFloorStyle.html +1 -1
- package/docs/types/five.PBMMeshShaderType.html +1 -1
- package/docs/types/five.PBMPointBack.html +1 -1
- package/docs/types/five.PBMPointCloudShaderType.html +1 -1
- package/docs/types/five.PBMPointShape.html +1 -1
- package/docs/types/five.PBMPointSize.html +1 -1
- package/docs/types/five.PBMTransition.html +1 -1
- package/docs/types/five.ParseOptions.html +6 -6
- package/docs/types/five.Works.html +1 -1
- package/docs/types/plugins.BasePlugin.EventMap.html +1 -1
- package/docs/types/plugins.CSS2DPluginType.PluginData.html +1 -0
- package/docs/types/plugins.CSS2DPluginType.ServerData.html +1 -0
- package/docs/types/plugins.CSS3DPluginType.PluginData.html +1 -0
- package/docs/types/plugins.CSS3DPluginType.ServerData.html +1 -0
- package/docs/types/plugins.Object3DHelperPluginType.AddObject3DHelperConfig.html +13 -0
- package/docs/types/plugins.Object3DHelperPluginType.Circle.html +1 -0
- package/docs/types/plugins.Object3DHelperPluginType.Color.html +1 -0
- package/docs/types/plugins.Object3DHelperPluginType.Direction.html +1 -0
- package/docs/types/plugins.Object3DHelperPluginType.Direction4.html +1 -0
- package/docs/types/plugins.Object3DHelperPluginType.HelperConfig.html +1 -0
- package/docs/types/plugins.Object3DHelperPluginType.HelperEventMap.html +17 -0
- package/docs/types/plugins.Object3DHelperPluginType.InternalHelperEventMap.html +8 -0
- package/docs/types/plugins.Object3DHelperPluginType.Object3DHelperEventMap.html +1 -0
- package/docs/types/plugins.Object3DHelperPluginType.Object3DHelperPluginEventMap.html +7 -0
- package/docs/types/plugins.Object3DHelperPluginType.PositionFrom.html +1 -0
- package/docs/types/plugins.Object3DHelperPluginType.ScaleCallback.html +1 -0
- package/docs/types/plugins.Object3DHelperPluginType.ScalePosition.html +4 -0
- package/docs/types/plugins.Object3DHelperPluginType.UseFaceNormalInterface.html +4 -0
- package/docs/types/plugins.Object3DHelperPluginType.Vector2WithArray.html +1 -0
- package/docs/types/plugins.Object3DHelperPluginType.Vector3WithArray.html +1 -0
- package/docs/variables/five.PROXY_CONTROLLER_EVENT_NAMES.html +1 -1
- package/docs/variables/react.FiveApp.html +3 -0
- package/docs/variables/react.FiveAutoCanvas.html +3 -0
- package/five/application/events.d.ts +1 -1
- package/five/application/five.d.ts +6 -5
- package/five/bvh/bvhObject.d.ts +2 -2
- package/five/controllers/base.d.ts +1 -0
- package/five/controllers/events.d.ts +5 -1
- package/five/controllers/mapview.d.ts +1 -0
- package/five/controllers/model.d.ts +2 -2
- package/five/controllers/panorama.d.ts +3 -2
- package/five/controllers/xrPanorama.d.ts +1 -1
- package/five/core/camera.d.ts +1 -1
- package/five/gaussian-splatting/util/renderData.d.ts +66 -0
- package/five/index.d.ts +4 -1
- package/five/index.js +272 -782
- package/five/index.mjs +26894 -32056
- package/five/meshes/boundingMesh.d.ts +1 -0
- package/five/model/index.d.ts +2 -2
- package/five/model/loaders/glTF-helpers/extensions/KHR_binary_glTF.d.ts +1 -1
- package/five/model/loaders/glTF-helpers/extensions/KHR_gaussian_splatting.d.ts +26 -0
- package/five/model/loaders/glTF-helpers/extensions/KHR_gaussian_splatting_compression_spz.d.ts +7 -5
- package/five/model/loaders/glTF-helpers/extensions/KHR_gaussian_splatting_compression_spz_2.d.ts +13 -0
- package/five/model/loaders/glTF-helpers/extensions/base.d.ts +2 -1
- package/five/model/loaders/glTF-helpers/index.d.ts +4 -0
- package/five/model/loaders/glTF-helpers/parser.d.ts +2 -1
- package/five/model/loaders/spz.d.ts +2 -2
- package/five/model/materials/pbmMaterial.d.ts +54 -4
- package/five/model/materials/pbmMeshMaterial.d.ts +5 -3
- package/five/model/materials/pbmPointCloudMaterial.d.ts +0 -2
- package/five/model/objects/{pbmGSObject.d.ts → pbmGaussianSplattingObject.d.ts} +4 -1
- package/five/model/objects/pbmGaussianSplattingRenderMesh.d.ts +59 -0
- package/five/model/objects/pbmGaussianSplattingTestMesh.d.ts +7 -0
- package/five/model/parameter.d.ts +11 -6
- package/five/model/tile3d/index.d.ts +5 -3
- package/five/model/tile3d/tile-node.d.ts +2 -2
- package/five/model/tile3d/tileset.d.ts +1 -0
- package/five/renderer/postprocessing/passes/adaptive-luminance-pass.d.ts +9 -7
- package/five/renderer/postprocessing/passes/flowing-light-2d-pass.d.ts +6 -1
- package/five/renderer/postprocessing/passes/flowing-light-3d-pass.d.ts +3 -1
- package/five/renderer/tools/render-cube-to-equirectangular.d.ts +7 -0
- package/five/renderer/tools/render-full-screen.d.ts +1 -1
- package/five/texture/histogram.d.ts +54 -0
- package/five/texture/loader.d.ts +1 -1
- package/five/texture/textureData.d.ts +11 -0
- package/five/thirdparty/hammer.d.ts +371 -255
- package/five/thirdparty/jsrsasign.d.ts +5 -20
- package/five/types/movePanoOptions.d.ts +4 -3
- package/five/utils/error.d.ts +1 -0
- package/five/utils/event.d.ts +98 -37
- package/five/utils/imageURL.d.ts +1 -1
- package/five/utils/memoryUsage.d.ts +2 -2
- package/five/utils/subscribe.d.ts +2 -2
- package/five/webxr/motionHelper.d.ts +1 -1
- package/five/work/index.d.ts +1 -0
- package/five/work/looseWorkType.d.ts +2 -2
- package/five/work/work.d.ts +5 -35
- package/five/work/workJsonType.d.ts +2 -2
- package/five/work/workObserverProto.d.ts +39 -0
- package/gltf-loader/index.js +9 -9
- package/gltf-loader/index.mjs +1351 -1451
- package/line/index.js +4 -4
- package/line/index.mjs +334 -513
- package/llms.txt +37 -1
- package/package.json +4 -4
- package/plugins/CSS2DPlugin/Controller.d.ts +59 -0
- package/plugins/CSS2DPlugin/index.d.ts +5 -0
- package/plugins/CSS2DPlugin/typing.d.ts +30 -0
- package/plugins/CSS3DPlugin/Controller.d.ts +64 -0
- package/plugins/CSS3DPlugin/index.d.ts +5 -0
- package/plugins/CSS3DPlugin/typing.d.ts +32 -0
- package/plugins/GaussianSplattingEntranceAnimationPlugin/Controller.d.ts +30 -0
- package/plugins/GaussianSplattingEntranceAnimationPlugin/index.d.ts +5 -0
- package/plugins/GaussianSplattingEntranceAnimationPlugin/typing.d.ts +28 -0
- package/plugins/Object3DHelperPlugin/Controller.d.ts +99 -0
- package/plugins/Object3DHelperPlugin/Controllers/BaseController.d.ts +142 -0
- package/plugins/Object3DHelperPlugin/Controllers/BoundingBoxController.d.ts +16 -0
- package/plugins/Object3DHelperPlugin/Controllers/MoveController.d.ts +66 -0
- package/plugins/Object3DHelperPlugin/Controllers/RotateController.d.ts +61 -0
- package/plugins/Object3DHelperPlugin/FiveControllerWrapper.d.ts +17 -0
- package/plugins/Object3DHelperPlugin/Helper/BaseHelper.d.ts +97 -0
- package/plugins/Object3DHelperPlugin/Helper/BoundingBoxHelper.d.ts +16 -0
- package/plugins/Object3DHelperPlugin/Helper/MoveHelper.d.ts +37 -0
- package/plugins/Object3DHelperPlugin/Helper/RotateHelper.d.ts +93 -0
- package/plugins/Object3DHelperPlugin/constant.d.ts +27 -0
- package/plugins/Object3DHelperPlugin/index.d.ts +6 -0
- package/plugins/Object3DHelperPlugin/typing.d.ts +143 -0
- package/plugins/Object3DHelperPlugin/utils/ArrowGroup.d.ts +22 -0
- package/plugins/Object3DHelperPlugin/utils/CenterHandle.d.ts +23 -0
- package/plugins/Object3DHelperPlugin/utils/PlaneHandle.d.ts +19 -0
- package/plugins/Object3DHelperPlugin/utils/calculateScaleByCamera.d.ts +5 -0
- package/plugins/Object3DHelperPlugin/utils/cameraHooks.d.ts +2 -0
- package/plugins/Object3DHelperPlugin/utils/direction.d.ts +14 -0
- package/plugins/Object3DHelperPlugin/utils/getMouseRaycaster.d.ts +5 -0
- package/plugins/Object3DHelperPlugin/utils/getOrthographicCameraDirection.d.ts +8 -0
- package/plugins/Object3DHelperPlugin/utils/setObjectQuaternion.d.ts +8 -0
- package/plugins/Object3DHelperPlugin/utils/solidGuide.d.ts +27 -0
- package/plugins/Object3DHelperPlugin/utils/tipsDom.d.ts +8 -0
- package/plugins/TrajectoryPlugin/Controller.d.ts +1 -1
- package/plugins/index.d.ts +6 -1
- package/plugins/index.js +55 -21
- package/plugins/index.mjs +5582 -4238
- package/plugins/thirdParty/CSS2DRenderer.d.ts +37 -0
- package/plugins/thirdParty/CSS3DRenderer.d.ts +16 -3
- package/plugins/thirdParty/domevents.d.ts +36 -0
- package/plugins/utils/uuid.d.ts +1 -4
- package/react/autoCanvas.d.ts +9 -0
- package/react/context.d.ts +3 -2
- package/react/createProvider.d.ts +4 -4
- package/react/createStore.d.ts +3 -3
- package/react/fiveApp.d.ts +22 -0
- package/react/hooks/useFivePlugin.d.ts +26 -0
- package/react/hooks/useFiveProject2d.d.ts +1 -1
- package/react/index.d.ts +4 -0
- package/react/index.js +3 -3
- package/react/index.mjs +687 -782
- package/react/rendererPool.d.ts +2 -2
- package/react/withFive.d.ts +1 -1
- package/shader-lib/index.js +13 -14
- package/shader-lib/index.mjs +424 -824
- package/sticker/index.js +3 -3
- package/sticker/index.mjs +102 -142
- package/umd/five-gltf-loader.js +9 -9
- package/umd/five-line.js +4 -4
- package/umd/five-plugins.js +55 -21
- package/umd/five-react.js +3 -3
- package/umd/five-shader-lib.js +13 -14
- package/umd/five-sticker.js +3 -3
- package/umd/five-vfx.js +21 -21
- package/umd/five-vue.js +3 -3
- package/umd/five.js +267 -777
- package/vfx/index.js +21 -21
- package/vfx/index.mjs +454 -910
- package/vue/index.js +3 -3
- package/vue/index.mjs +309 -301
- package/vue/rendererPool.d.ts +5 -5
- package/work-downloader/index.js +3 -3
- package/work-downloader/index.mjs +339 -556
- package/five/gs/util/renderData.d.ts +0 -32
- package/five/model/objects/pbmGSRenderMesh.d.ts +0 -29
- package/five/work/workObserverUtils.d.ts +0 -36
- /package/five/assets/{realsee-pmg-data-url.d.ts → realsee-png-data-url.d.ts} +0 -0
- /package/five/{gs → gaussian-splatting}/wasm/data.d.ts +0 -0
- /package/five/{gs → gaussian-splatting}/wasm/sort.d.ts +0 -0
- /package/five/{gs → gaussian-splatting}/worker/dataWorker.d.ts +0 -0
- /package/five/{gs → gaussian-splatting}/worker/sortWorker.d.ts +0 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { BaseController } from './BaseController';
|
|
2
|
+
import * as THREE from 'three';
|
|
3
|
+
import type { MoveHelperAbstract } from '../Helper/BaseHelper';
|
|
4
|
+
export declare function rayOnLine(params: {
|
|
5
|
+
raycaster: THREE.Raycaster;
|
|
6
|
+
line: THREE.Line3;
|
|
7
|
+
clampToLine?: boolean;
|
|
8
|
+
}): THREE.Vector3;
|
|
9
|
+
export type UseFaceNormalInterface = {
|
|
10
|
+
/**
|
|
11
|
+
* 是否使用面的法线,默认为true
|
|
12
|
+
*/
|
|
13
|
+
enable?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* 期望对齐的方向,默认为Y轴对齐Face的法向向量,即 `{ x: 0, y: 1, z: 0 }`
|
|
16
|
+
*/
|
|
17
|
+
alignmentVector?: {
|
|
18
|
+
x?: number;
|
|
19
|
+
y?: number;
|
|
20
|
+
z?: number;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* 修正后的face normal
|
|
24
|
+
*/
|
|
25
|
+
fixedFaceNormal?: (face: THREE.Vector3) => THREE.Vector3;
|
|
26
|
+
} | boolean;
|
|
27
|
+
export declare class MoveController<T extends MoveHelperAbstract = MoveHelperAbstract> extends BaseController<T> {
|
|
28
|
+
get moveByMouseEnable(): boolean;
|
|
29
|
+
protected name: string;
|
|
30
|
+
private startInfo?;
|
|
31
|
+
/** 拖拽时用于显示方向参考的直线(与 ScaleController 一致:Line + LineBasicMaterial) */
|
|
32
|
+
private dragGuideLine?;
|
|
33
|
+
private solidGuide;
|
|
34
|
+
private _moveByMouse;
|
|
35
|
+
private mouseInfo?;
|
|
36
|
+
private mousedownEventListenerDisposer?;
|
|
37
|
+
constructor(...params: ConstructorParameters<typeof BaseController<T>>);
|
|
38
|
+
dispose(): void;
|
|
39
|
+
/**
|
|
40
|
+
* @description: 跟随鼠标移动
|
|
41
|
+
*/
|
|
42
|
+
moveByMouse(params?: {
|
|
43
|
+
/** 是否使用面的法线,默认为false */
|
|
44
|
+
useFaceNormal: UseFaceNormalInterface;
|
|
45
|
+
}): void;
|
|
46
|
+
/**
|
|
47
|
+
* @description: 禁用跟随鼠标移动
|
|
48
|
+
*/
|
|
49
|
+
disableMoveByMouse(): void;
|
|
50
|
+
onIntersectionOnModelUpdate(intersection: THREE.Intersection): void;
|
|
51
|
+
private handleMouseDown;
|
|
52
|
+
private handleMouseUp;
|
|
53
|
+
/**
|
|
54
|
+
* @description: 拖动开始,找出拖的Direction
|
|
55
|
+
*/
|
|
56
|
+
private dragStart;
|
|
57
|
+
private dragging;
|
|
58
|
+
/**
|
|
59
|
+
* 更新直线缩放,保持视觉上的恒定大小(与 ScaleController 保持一致)
|
|
60
|
+
*/
|
|
61
|
+
private updateDragGuideLineScale;
|
|
62
|
+
private move;
|
|
63
|
+
private dragEnd;
|
|
64
|
+
private setTipsText;
|
|
65
|
+
private setTipsPosition;
|
|
66
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { BaseController } from './BaseController';
|
|
2
|
+
import type { RotateHelperAbstract } from '../Helper/BaseHelper';
|
|
3
|
+
import * as THREE from 'three';
|
|
4
|
+
export declare class RotateController<T extends RotateHelperAbstract = RotateHelperAbstract> extends BaseController<T> {
|
|
5
|
+
protected name: string;
|
|
6
|
+
private get rotateCenter();
|
|
7
|
+
private startInfo?;
|
|
8
|
+
private removeListener?;
|
|
9
|
+
private solidGuide;
|
|
10
|
+
private snapGuideLines;
|
|
11
|
+
constructor(...params: ConstructorParameters<typeof BaseController<T>>);
|
|
12
|
+
setRotateAngle(angle: {
|
|
13
|
+
x?: number;
|
|
14
|
+
y?: number;
|
|
15
|
+
z?: number;
|
|
16
|
+
}): void;
|
|
17
|
+
/**
|
|
18
|
+
* @description 通过改变欧拉角中的某一个值来改变旋转,但保持其他两个轴的旋转不变
|
|
19
|
+
* @param axis 要修改的轴 ('x' | 'y' | 'z')
|
|
20
|
+
* @param angle 新的角度值(度)
|
|
21
|
+
* @returns 新的四元数值
|
|
22
|
+
*/
|
|
23
|
+
getEulerAngle(axis: 'x' | 'y' | 'z', angle: number): THREE.Quaternion;
|
|
24
|
+
protected onApplyOriginObjectRotate(params: {
|
|
25
|
+
quaternion: THREE.Quaternion;
|
|
26
|
+
origin: THREE.Vector3;
|
|
27
|
+
}): void;
|
|
28
|
+
protected onApplyOriginObjectScale(params: {
|
|
29
|
+
matrix: THREE.Matrix4;
|
|
30
|
+
origin?: THREE.Vector3;
|
|
31
|
+
}): void;
|
|
32
|
+
/**
|
|
33
|
+
* @description: 拖动开始,找出拖的Direction
|
|
34
|
+
*/
|
|
35
|
+
private dragStart;
|
|
36
|
+
private getMatrix;
|
|
37
|
+
private getMatrixAngle;
|
|
38
|
+
private parseAngleByDirection;
|
|
39
|
+
private dragging;
|
|
40
|
+
private rotate;
|
|
41
|
+
private dragEnd;
|
|
42
|
+
private updateOtherHelpers;
|
|
43
|
+
private getAngleHelper;
|
|
44
|
+
private setAngleHelperStart;
|
|
45
|
+
private setAngleHelperLength;
|
|
46
|
+
private setTipsAngle;
|
|
47
|
+
private setTipsPosition;
|
|
48
|
+
/**
|
|
49
|
+
* 从 quaternion 提取绕指定轴的旋转角度
|
|
50
|
+
* 通过投影分解,不受万向锁影响
|
|
51
|
+
*/
|
|
52
|
+
private extractAxisAngle;
|
|
53
|
+
/**
|
|
54
|
+
* 显示吸附辅助线:在旋转平面上显示两条轴线
|
|
55
|
+
*/
|
|
56
|
+
private showSnapGuideLines;
|
|
57
|
+
/**
|
|
58
|
+
* 移除吸附辅助线
|
|
59
|
+
*/
|
|
60
|
+
private removeSnapGuideLines;
|
|
61
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Five } from '@realsee/five';
|
|
2
|
+
import type { BaseController } from './Controllers/BaseController';
|
|
3
|
+
import type * as THREE from 'three';
|
|
4
|
+
import type { Subscribe } from '@realsee/five';
|
|
5
|
+
import DomEvents from '../thirdParty/domevents';
|
|
6
|
+
type ControllerClass = new (...params: ConstructorParameters<typeof BaseController<any>>) => any;
|
|
7
|
+
declare class ControllerWrapper<HelperControllerInterface extends ControllerClass> {
|
|
8
|
+
helperController?: InstanceType<HelperControllerInterface>;
|
|
9
|
+
private five;
|
|
10
|
+
constructor(five: Five, donEvents: DomEvents, HelperController: HelperControllerInterface, object: THREE.Object3D, helperObject3D: InstanceType<HelperControllerInterface>['helperObject3D'], HelperControllerConfig?: any, hooks?: Subscribe<any>, internalHooks?: Subscribe<any>, helperGroup?: THREE.Object3D);
|
|
11
|
+
dispose(): void;
|
|
12
|
+
private onFiveWantsTapGesture;
|
|
13
|
+
private onFiveWantsGesture;
|
|
14
|
+
private onFiveIntersectionOnModelUpdate;
|
|
15
|
+
}
|
|
16
|
+
export { ControllerWrapper };
|
|
17
|
+
export { ControllerWrapper as FiveControllerWrapper };
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import type { Group, Mesh, Object3D } from 'three';
|
|
3
|
+
import { Vector3 } from 'three';
|
|
4
|
+
import type { Direction, PositionFrom } from '../typing';
|
|
5
|
+
import type { tipsDom } from '../utils/tipsDom';
|
|
6
|
+
export interface BaseHelperConfig {
|
|
7
|
+
onRender?: () => any;
|
|
8
|
+
/**
|
|
9
|
+
* @description: helper 初始位置来源
|
|
10
|
+
* @default 'objectPosition'
|
|
11
|
+
*/
|
|
12
|
+
positionFrom?: PositionFrom;
|
|
13
|
+
}
|
|
14
|
+
export declare abstract class BaseHelper<OriginObject3D extends Object3D = Object3D> extends THREE.Object3D {
|
|
15
|
+
protected originObject3D: OriginObject3D;
|
|
16
|
+
protected onRender: () => any;
|
|
17
|
+
private positionFrom;
|
|
18
|
+
removeChildren(): this;
|
|
19
|
+
add(...objects: Object3D[]): this;
|
|
20
|
+
addIfNotExists(...objects: Object3D[]): this;
|
|
21
|
+
remove(...objects: Object3D[]): this;
|
|
22
|
+
removeFromParent(): this;
|
|
23
|
+
get helperObject(): Object3D;
|
|
24
|
+
constructor(originObject3D: OriginObject3D, config?: BaseHelperConfig);
|
|
25
|
+
render(): void;
|
|
26
|
+
enable(): void;
|
|
27
|
+
disable(): void;
|
|
28
|
+
show(): void;
|
|
29
|
+
hide(): void;
|
|
30
|
+
raycasterIntersectObject(raycaster: THREE.Raycaster, intersection?: THREE.Intersection[]): THREE.Intersection[];
|
|
31
|
+
initialPosition(offset?: THREE.Vector3): void;
|
|
32
|
+
setScaleByCamera(camera: THREE.PerspectiveCamera | THREE.OrthographicCamera): void;
|
|
33
|
+
initQuaternion(config?: {
|
|
34
|
+
xAxis?: Vector3 | (() => Vector3);
|
|
35
|
+
yAxis?: Vector3 | (() => Vector3);
|
|
36
|
+
zAxis?: Vector3 | (() => Vector3);
|
|
37
|
+
}): void;
|
|
38
|
+
applyHelperScaleMatrix4(matrix: THREE.Matrix4, origin?: Vector3): void;
|
|
39
|
+
setHelperQuaternion(quaternion: THREE.Quaternion, origin?: Vector3): void;
|
|
40
|
+
applyHelperQuaternion(quaternion: THREE.Quaternion, origin?: Vector3): void;
|
|
41
|
+
dispose(): void;
|
|
42
|
+
}
|
|
43
|
+
export declare abstract class MoveHelperAbstract<OriginObject3D extends Object3D = Object3D> extends BaseHelper<OriginObject3D> {
|
|
44
|
+
abstract xArrow?: Object3D & {
|
|
45
|
+
arrow: Object3D;
|
|
46
|
+
line?: Object3D;
|
|
47
|
+
direction: Direction;
|
|
48
|
+
};
|
|
49
|
+
abstract yArrow?: Object3D & {
|
|
50
|
+
arrow: Object3D;
|
|
51
|
+
line?: Object3D;
|
|
52
|
+
direction: Direction;
|
|
53
|
+
};
|
|
54
|
+
abstract zArrow?: Object3D & {
|
|
55
|
+
arrow: Object3D;
|
|
56
|
+
line?: Object3D;
|
|
57
|
+
direction: Direction;
|
|
58
|
+
};
|
|
59
|
+
abstract centerHandle?: Object3D & {
|
|
60
|
+
direction: Direction;
|
|
61
|
+
};
|
|
62
|
+
abstract xyPlane?: Object3D & {
|
|
63
|
+
direction: Direction;
|
|
64
|
+
};
|
|
65
|
+
abstract xzPlane?: Object3D & {
|
|
66
|
+
direction: Direction;
|
|
67
|
+
};
|
|
68
|
+
abstract yzPlane?: Object3D & {
|
|
69
|
+
direction: Direction;
|
|
70
|
+
};
|
|
71
|
+
abstract moveTips?: {
|
|
72
|
+
element: HTMLElement;
|
|
73
|
+
show: () => void;
|
|
74
|
+
hide: () => void;
|
|
75
|
+
setLeftTop: (left: string, top: string) => void;
|
|
76
|
+
};
|
|
77
|
+
abstract showDraggingHelper(directions?: Direction[]): void;
|
|
78
|
+
abstract update(camera: THREE.Camera): void;
|
|
79
|
+
}
|
|
80
|
+
export declare abstract class BoundingBoxHelperAbstract<OriginObject3D extends Object3D = Object3D> extends BaseHelper<OriginObject3D> {
|
|
81
|
+
}
|
|
82
|
+
export type Circle = (Mesh | Group) & {
|
|
83
|
+
direction: Direction;
|
|
84
|
+
circle: Mesh;
|
|
85
|
+
angleSector?: Mesh & {
|
|
86
|
+
angleDirection: number;
|
|
87
|
+
baseAxes: Vector3;
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
export declare abstract class RotateHelperAbstract<OriginObject3D extends Object3D = Object3D> extends BaseHelper<OriginObject3D> {
|
|
91
|
+
abstract xCircle?: Circle;
|
|
92
|
+
abstract yCircle?: Circle;
|
|
93
|
+
abstract zCircle?: Circle;
|
|
94
|
+
abstract angleTips?: ReturnType<typeof tipsDom>;
|
|
95
|
+
abstract showDraggingHelper(directions: Direction[]): void;
|
|
96
|
+
abstract update(camera: THREE.Camera): void;
|
|
97
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import { BoundingBoxHelperAbstract } from './BaseHelper';
|
|
3
|
+
export declare class BoundingBoxHelper<T extends THREE.Object3D = THREE.Object3D> extends BoundingBoxHelperAbstract<T> {
|
|
4
|
+
name: string;
|
|
5
|
+
box: THREE.Mesh<THREE.BufferGeometry, THREE.MeshBasicMaterial>;
|
|
6
|
+
outline: THREE.LineSegments<THREE.BufferGeometry, THREE.LineBasicMaterial>;
|
|
7
|
+
private positionAttribute;
|
|
8
|
+
constructor(originObject: T);
|
|
9
|
+
initQuaternion(): void;
|
|
10
|
+
setHelperQuaternion(quaternion: THREE.Quaternion, origin: THREE.Vector3): void;
|
|
11
|
+
raycasterIntersectObject(raycaster: THREE.Raycaster, intersection: THREE.Intersection[]): THREE.Intersection[];
|
|
12
|
+
raycast(raycaster: THREE.Raycaster, intersects: THREE.Intersection[]): void;
|
|
13
|
+
update(): void;
|
|
14
|
+
private createOutline;
|
|
15
|
+
private createBox;
|
|
16
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { Object3D } from 'three';
|
|
2
|
+
import type { Direction } from '../typing';
|
|
3
|
+
import { MoveHelperAbstract, type BaseHelperConfig } from './BaseHelper';
|
|
4
|
+
import { ArrowGroup } from '../utils/ArrowGroup';
|
|
5
|
+
import { CenterHandle } from '../utils/CenterHandle';
|
|
6
|
+
import { PlaneHandle } from '../utils/PlaneHandle';
|
|
7
|
+
import { Camera } from '@realsee/five';
|
|
8
|
+
import { tipsDom } from '../utils/tipsDom';
|
|
9
|
+
import * as THREE from 'three';
|
|
10
|
+
export declare class MoveHelper extends MoveHelperAbstract {
|
|
11
|
+
name: string;
|
|
12
|
+
xArrow?: ArrowGroup;
|
|
13
|
+
yArrow?: ArrowGroup;
|
|
14
|
+
zArrow?: ArrowGroup;
|
|
15
|
+
centerHandle?: CenterHandle;
|
|
16
|
+
xyPlane?: PlaneHandle;
|
|
17
|
+
xzPlane?: PlaneHandle;
|
|
18
|
+
yzPlane?: PlaneHandle;
|
|
19
|
+
moveTips?: ReturnType<typeof tipsDom>;
|
|
20
|
+
private container?;
|
|
21
|
+
constructor(originObject3D: Object3D, config?: {
|
|
22
|
+
container?: HTMLElement;
|
|
23
|
+
xArrowEnable?: boolean;
|
|
24
|
+
yArrowEnable?: boolean;
|
|
25
|
+
zArrowEnable?: boolean;
|
|
26
|
+
centerHandleEnable?: boolean;
|
|
27
|
+
xyPlaneEnable?: boolean;
|
|
28
|
+
xzPlaneEnable?: boolean;
|
|
29
|
+
yzPlaneEnable?: boolean;
|
|
30
|
+
moveTipsEnable?: boolean;
|
|
31
|
+
} & BaseHelperConfig);
|
|
32
|
+
update(camera: Camera): void;
|
|
33
|
+
show(): void;
|
|
34
|
+
setScaleByCamera(camera: THREE.PerspectiveCamera | THREE.OrthographicCamera): void;
|
|
35
|
+
showDraggingHelper(directions: Direction[]): void;
|
|
36
|
+
dispose(): void;
|
|
37
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import type { Object3D } from 'three';
|
|
3
|
+
import { RotateHelperAbstract, type BaseHelperConfig } from './BaseHelper';
|
|
4
|
+
import type { Color, Direction } from '../typing';
|
|
5
|
+
import { tipsDom } from '../utils/tipsDom';
|
|
6
|
+
export declare class RotateHelper extends RotateHelperAbstract {
|
|
7
|
+
name: string;
|
|
8
|
+
xCircle?: RotateCircleGroup;
|
|
9
|
+
yCircle?: RotateCircleGroup;
|
|
10
|
+
zCircle?: RotateCircleGroup;
|
|
11
|
+
children: RotateCircleGroup[];
|
|
12
|
+
angleTips?: ReturnType<typeof tipsDom>;
|
|
13
|
+
private container?;
|
|
14
|
+
constructor(originObject3D: Object3D, config?: {
|
|
15
|
+
container?: HTMLElement;
|
|
16
|
+
yzCircleEnable?: boolean;
|
|
17
|
+
xzCircleEnable?: boolean;
|
|
18
|
+
xyCircleEnable?: boolean;
|
|
19
|
+
angleTipsEnable?: boolean;
|
|
20
|
+
} & BaseHelperConfig);
|
|
21
|
+
hide(): void;
|
|
22
|
+
show(): void;
|
|
23
|
+
setScaleByCamera(camera: THREE.PerspectiveCamera | THREE.OrthographicCamera): void;
|
|
24
|
+
update(camera: THREE.Camera): void;
|
|
25
|
+
showDraggingHelper(directions: Direction[]): void;
|
|
26
|
+
dispose(): void;
|
|
27
|
+
}
|
|
28
|
+
declare class RotateCircleGroup extends THREE.Group {
|
|
29
|
+
direction: Direction;
|
|
30
|
+
/** 1/4 圆 */
|
|
31
|
+
circle: Circle;
|
|
32
|
+
/** 旋转过程中展示的背景圆环 */
|
|
33
|
+
ring: DashedRing;
|
|
34
|
+
/** 旋转过程中表示角度的扇形 */
|
|
35
|
+
angleSector: AngleSector;
|
|
36
|
+
constructor(options: {
|
|
37
|
+
direction: Direction;
|
|
38
|
+
color?: Color;
|
|
39
|
+
});
|
|
40
|
+
showCircle(): void;
|
|
41
|
+
showRing(): void;
|
|
42
|
+
hide(): void;
|
|
43
|
+
}
|
|
44
|
+
declare class Circle extends THREE.Mesh {
|
|
45
|
+
direction: Direction;
|
|
46
|
+
material: THREE.MeshBasicMaterial;
|
|
47
|
+
gapAngle: number;
|
|
48
|
+
geometry: THREE.RingGeometry;
|
|
49
|
+
constructor(options: {
|
|
50
|
+
direction: Direction;
|
|
51
|
+
color?: Color;
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
declare class DashedRing extends THREE.Group {
|
|
55
|
+
direction: Readonly<Direction>;
|
|
56
|
+
constructor(options: {
|
|
57
|
+
direction: Direction;
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
declare class AngleSector extends THREE.Mesh {
|
|
61
|
+
direction: Direction;
|
|
62
|
+
baseAxes: THREE.Vector3;
|
|
63
|
+
offsetAngle: (angle: number) => number;
|
|
64
|
+
angleDirection: 1 | -1;
|
|
65
|
+
material: THREE.MeshBasicMaterial;
|
|
66
|
+
constructor(options: {
|
|
67
|
+
direction: Direction;
|
|
68
|
+
color?: Color;
|
|
69
|
+
});
|
|
70
|
+
/**
|
|
71
|
+
* 设置扇形旋转方向为顺时针
|
|
72
|
+
*/
|
|
73
|
+
setClockwiseDirection(): void;
|
|
74
|
+
/**
|
|
75
|
+
* 设置扇形旋转方向为逆时针
|
|
76
|
+
*/
|
|
77
|
+
setCounterClockwiseDirection(): void;
|
|
78
|
+
/**
|
|
79
|
+
* 切换扇形旋转方向
|
|
80
|
+
*/
|
|
81
|
+
toggleDirection(): void;
|
|
82
|
+
/**
|
|
83
|
+
* 设置扇形的基础轴向
|
|
84
|
+
* @param axes 新的基础轴向向量
|
|
85
|
+
*/
|
|
86
|
+
setBaseAxes(axes: THREE.Vector3): void;
|
|
87
|
+
/**
|
|
88
|
+
* 获取当前旋转方向
|
|
89
|
+
* @returns 'clockwise' | 'counterclockwise'
|
|
90
|
+
*/
|
|
91
|
+
getDirection(): 'clockwise' | 'counterclockwise';
|
|
92
|
+
}
|
|
93
|
+
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
declare const AXES_COLOR: {
|
|
3
|
+
X: number;
|
|
4
|
+
Y: number;
|
|
5
|
+
Z: number;
|
|
6
|
+
};
|
|
7
|
+
declare class AXES_THREE_COLOR {
|
|
8
|
+
static get X(): THREE.Color;
|
|
9
|
+
static get Y(): THREE.Color;
|
|
10
|
+
static get Z(): THREE.Color;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Object3DHelper 渲染顺序常量
|
|
14
|
+
* 数值越大,渲染优先级越高
|
|
15
|
+
*/
|
|
16
|
+
export declare const RENDER_ORDER: {
|
|
17
|
+
readonly ROTATE_HELPER: 9992;
|
|
18
|
+
readonly MOVE_HELPER: 9993;
|
|
19
|
+
readonly SCALE_HELPER_LINE: 9994;
|
|
20
|
+
readonly SCALE_HELPER_SPHERE: 9995;
|
|
21
|
+
readonly MOVE_HELPER_ARROW: 10001;
|
|
22
|
+
readonly MOVE_HELPER_CENTER: 10002;
|
|
23
|
+
readonly DRAG_GUIDE_LINE: 10003;
|
|
24
|
+
readonly DRAG_FACE_PATCH: 10004;
|
|
25
|
+
};
|
|
26
|
+
export type RenderOrderType = (typeof RENDER_ORDER)[keyof typeof RENDER_ORDER];
|
|
27
|
+
export { AXES_COLOR, AXES_THREE_COLOR };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as Object3DHelperPluginType from './typing';
|
|
2
|
+
import type { Five } from '@realsee/five';
|
|
3
|
+
import { Controller } from './Controller';
|
|
4
|
+
export declare const Object3DHelperPlugin: (five: Five) => Controller;
|
|
5
|
+
export { Controller as Object3DHelperController };
|
|
6
|
+
export type { Object3DHelperPluginType };
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import type * as THREE from 'three';
|
|
2
|
+
import type { BaseHelper, MoveHelperAbstract, RotateHelperAbstract, Circle } from './Helper/BaseHelper';
|
|
3
|
+
import type { MoveController, UseFaceNormalInterface } from './Controllers/MoveController';
|
|
4
|
+
import type { Object3DHelper, AddObject3DHelperConfig } from './Controller';
|
|
5
|
+
import type { BaseController } from './Controllers/BaseController';
|
|
6
|
+
import type { RotateController } from './Controllers/RotateController';
|
|
7
|
+
import type { BoundingBoxController } from './Controllers/BoundingBoxController';
|
|
8
|
+
export interface Object3DHelperPluginState {
|
|
9
|
+
enabled: boolean;
|
|
10
|
+
visible: boolean;
|
|
11
|
+
disposed: boolean;
|
|
12
|
+
}
|
|
13
|
+
export type HelperConfig<T extends object = object> = boolean | ({
|
|
14
|
+
enable: boolean;
|
|
15
|
+
} & T);
|
|
16
|
+
export type Object3DHelperPluginEventMap = {
|
|
17
|
+
show: (options?: {
|
|
18
|
+
userAction?: boolean;
|
|
19
|
+
}) => void;
|
|
20
|
+
hide: (options?: {
|
|
21
|
+
userAction?: boolean;
|
|
22
|
+
}) => void;
|
|
23
|
+
enable: (options?: {
|
|
24
|
+
userAction?: boolean;
|
|
25
|
+
}) => void;
|
|
26
|
+
disable: (options?: {
|
|
27
|
+
userAction?: boolean;
|
|
28
|
+
}) => void;
|
|
29
|
+
dispose: () => void;
|
|
30
|
+
stateChange: (params: {
|
|
31
|
+
state: Object3DHelperPluginState;
|
|
32
|
+
prevState?: Object3DHelperPluginState;
|
|
33
|
+
}) => void;
|
|
34
|
+
};
|
|
35
|
+
export type Direction = 'x' | 'y' | 'z' | 'xy' | 'xz' | 'yz' | 'plane';
|
|
36
|
+
export type Direction4 = 'nesw' | 'nwse' | 'ns' | 'ew';
|
|
37
|
+
export interface Scissor {
|
|
38
|
+
left: number;
|
|
39
|
+
bottom: number;
|
|
40
|
+
width: number;
|
|
41
|
+
height: number;
|
|
42
|
+
}
|
|
43
|
+
export type HelperEventMap = {
|
|
44
|
+
wantToMove: (position: THREE.Vector3) => void;
|
|
45
|
+
moveBefore: (position: THREE.Vector3) => void;
|
|
46
|
+
wantToRotate: (quaternion: THREE.Quaternion) => void;
|
|
47
|
+
wantToScale: (scale: THREE.Vector3) => void;
|
|
48
|
+
move: (position: THREE.Vector3) => void;
|
|
49
|
+
rotate: (quaternion: THREE.Quaternion) => void;
|
|
50
|
+
scale: (scale: THREE.Vector3) => void;
|
|
51
|
+
moveStart: (direction?: Direction) => void;
|
|
52
|
+
rotateStart: (direction?: Direction) => void;
|
|
53
|
+
scaleStart: (direction?: Direction | Direction4) => void;
|
|
54
|
+
moveEnd: () => void;
|
|
55
|
+
rotateEnd: () => void;
|
|
56
|
+
scaleEnd: () => void;
|
|
57
|
+
moveByMouseEnable: () => void;
|
|
58
|
+
moveByMouseDisable: () => void;
|
|
59
|
+
updateOtherHelpers: (params: {
|
|
60
|
+
camera: THREE.Camera;
|
|
61
|
+
}) => void;
|
|
62
|
+
};
|
|
63
|
+
export type InternalHelperEventMap = {
|
|
64
|
+
initialHelperPosition: () => void;
|
|
65
|
+
setObjectPosition: (position: THREE.Vector3) => void;
|
|
66
|
+
setObjectRotate: (quaternion: THREE.Quaternion, origin?: THREE.Vector3) => void;
|
|
67
|
+
setObjectScale: (scale: THREE.Vector3) => void;
|
|
68
|
+
applyObjectPosition: (position: {
|
|
69
|
+
matrix: THREE.Matrix4;
|
|
70
|
+
}) => void;
|
|
71
|
+
applyObjectRotate: (rotate: {
|
|
72
|
+
quaternion: THREE.Quaternion;
|
|
73
|
+
origin: THREE.Vector3;
|
|
74
|
+
}) => void;
|
|
75
|
+
applyObjectScale: (scale: {
|
|
76
|
+
matrix: THREE.Matrix4;
|
|
77
|
+
origin?: THREE.Vector3;
|
|
78
|
+
}) => void;
|
|
79
|
+
};
|
|
80
|
+
export interface Object3DHelperState {
|
|
81
|
+
enabled: boolean;
|
|
82
|
+
visible: boolean;
|
|
83
|
+
disposed: boolean;
|
|
84
|
+
}
|
|
85
|
+
export type Object3DHelperEventMap = HelperEventMap & {
|
|
86
|
+
show: (options?: {
|
|
87
|
+
userAction?: boolean;
|
|
88
|
+
}) => void;
|
|
89
|
+
hide: (options?: {
|
|
90
|
+
userAction?: boolean;
|
|
91
|
+
}) => void;
|
|
92
|
+
enable: (options?: {
|
|
93
|
+
userAction?: boolean;
|
|
94
|
+
}) => void;
|
|
95
|
+
disable: (options?: {
|
|
96
|
+
userAction?: boolean;
|
|
97
|
+
}) => void;
|
|
98
|
+
dispose: () => void;
|
|
99
|
+
stateChange: (params: {
|
|
100
|
+
state: Object3DHelperState;
|
|
101
|
+
prevState?: Object3DHelperState;
|
|
102
|
+
}) => void;
|
|
103
|
+
};
|
|
104
|
+
export interface HelperOffset {
|
|
105
|
+
x: number | {
|
|
106
|
+
percents: number;
|
|
107
|
+
};
|
|
108
|
+
y: number | {
|
|
109
|
+
percents: number;
|
|
110
|
+
};
|
|
111
|
+
z: number | {
|
|
112
|
+
percents: number;
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
export type Color = THREE.Color | string | number;
|
|
116
|
+
export type PositionFrom = 'objectPosition' | 'boundingBox' | 'boundingSphere' | THREE.Vector3 | ((object: THREE.Object3D) => THREE.Vector3);
|
|
117
|
+
export interface ObjectHelperControllers {
|
|
118
|
+
moveController?: MoveController;
|
|
119
|
+
rotateController?: RotateController;
|
|
120
|
+
boundingBoxController?: BoundingBoxController;
|
|
121
|
+
}
|
|
122
|
+
export type ScaleCallback = (params: {
|
|
123
|
+
intersectPoint: THREE.Vector3;
|
|
124
|
+
scalePosition: ScalePosition;
|
|
125
|
+
offset: THREE.Vector3;
|
|
126
|
+
}) => any;
|
|
127
|
+
export type ScalePosition = {
|
|
128
|
+
id?: string;
|
|
129
|
+
handlePosition: THREE.Vector3;
|
|
130
|
+
basePosition: THREE.Vector3;
|
|
131
|
+
};
|
|
132
|
+
export interface Vector3Position {
|
|
133
|
+
x: number;
|
|
134
|
+
y: number;
|
|
135
|
+
z: number;
|
|
136
|
+
}
|
|
137
|
+
export type Vector3WithArray = [number, number, number];
|
|
138
|
+
export interface Vector2Position {
|
|
139
|
+
x: number;
|
|
140
|
+
y: number;
|
|
141
|
+
}
|
|
142
|
+
export type Vector2WithArray = [number, number];
|
|
143
|
+
export type { BaseController, BoundingBoxController, MoveController, UseFaceNormalInterface, RotateController, MoveHelperAbstract, RotateHelperAbstract, Circle, BaseHelper, Object3DHelper, AddObject3DHelperConfig, };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import type { Direction } from '../typing';
|
|
3
|
+
import { DirectionGroup, DirectionMesh } from './direction';
|
|
4
|
+
interface InstanceParameter {
|
|
5
|
+
direction: Direction;
|
|
6
|
+
color?: THREE.Color | string | number;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* 箭头组:正方向有线段+箭头,反方向有箭头
|
|
10
|
+
* 参考 three.js TransformControls 的 gizmoTranslate
|
|
11
|
+
*/
|
|
12
|
+
export declare class ArrowGroup extends DirectionGroup {
|
|
13
|
+
line: DirectionMesh<THREE.Geometry, THREE.MeshBasicMaterial>;
|
|
14
|
+
arrow: DirectionMesh<THREE.ConeGeometry, THREE.MeshBasicMaterial>;
|
|
15
|
+
arrowNeg: DirectionMesh<THREE.ConeGeometry, THREE.MeshBasicMaterial>;
|
|
16
|
+
private lineHeight;
|
|
17
|
+
private arrowHeight;
|
|
18
|
+
name: string;
|
|
19
|
+
constructor(param: InstanceParameter);
|
|
20
|
+
private formatGeometries;
|
|
21
|
+
}
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import type { Direction } from '../typing';
|
|
3
|
+
import { DirectionGroup } from '../utils/direction';
|
|
4
|
+
interface InstanceParameter {
|
|
5
|
+
color?: THREE.Color | string | number;
|
|
6
|
+
size?: number;
|
|
7
|
+
}
|
|
8
|
+
export declare class CenterHandle extends DirectionGroup {
|
|
9
|
+
cube: THREE.Mesh<THREE.BoxGeometry, THREE.MeshBasicMaterial[]> & {
|
|
10
|
+
direction: Direction;
|
|
11
|
+
};
|
|
12
|
+
name: string;
|
|
13
|
+
private faceMaterials;
|
|
14
|
+
private baseColor;
|
|
15
|
+
private faceNormals;
|
|
16
|
+
constructor(param?: InstanceParameter);
|
|
17
|
+
/**
|
|
18
|
+
* 更新各个面的颜色,根据与相机的角度动态调整
|
|
19
|
+
* @param camera 相机对象
|
|
20
|
+
*/
|
|
21
|
+
update(camera: THREE.Camera): void;
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import type { Direction } from '../typing';
|
|
3
|
+
import { DirectionGroup } from './direction';
|
|
4
|
+
interface PlaneHandleParams {
|
|
5
|
+
direction: Direction;
|
|
6
|
+
color?: THREE.Color | string | number;
|
|
7
|
+
size?: number;
|
|
8
|
+
offset?: number;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* 平面移动手柄,参考 three.js TransformControls 的 XY/XZ/YZ 平面手柄
|
|
12
|
+
* 一个小的半透明方块,位于两个轴的交汇处
|
|
13
|
+
*/
|
|
14
|
+
export declare class PlaneHandle extends DirectionGroup {
|
|
15
|
+
handle: THREE.Mesh<THREE.BoxGeometry, THREE.MeshBasicMaterial>;
|
|
16
|
+
name: string;
|
|
17
|
+
constructor(params: PlaneHandleParams);
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Direction } from '../typing';
|
|
2
|
+
import * as THREE from 'three';
|
|
3
|
+
export declare class DirectionGroup extends THREE.Group {
|
|
4
|
+
direction: Direction;
|
|
5
|
+
constructor(direction?: Direction);
|
|
6
|
+
}
|
|
7
|
+
export declare class DirectionLine<T extends THREE.Geometry, K extends THREE.Material> extends THREE.Line<T, K> {
|
|
8
|
+
direction: Direction;
|
|
9
|
+
constructor(geometry?: T, material?: K, direction?: Direction);
|
|
10
|
+
}
|
|
11
|
+
export declare class DirectionMesh<T extends THREE.Geometry, K extends THREE.Material> extends THREE.Mesh<T, K> {
|
|
12
|
+
direction: Direction;
|
|
13
|
+
constructor(geometry?: T, material?: K, direction?: Direction);
|
|
14
|
+
}
|