@realsee/five 6.7.0-alpha.8 → 6.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/assets/hierarchy.js +1 -1
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/five.AdaptiveLuminancePass.html +22 -0
- package/docs/classes/five.AnimationFrameLoop.html +4 -4
- package/docs/classes/five.BoundingMesh.html +4 -0
- package/docs/classes/five.Camera.html +6 -5
- package/docs/classes/five.EffectComposer.html +21 -0
- package/docs/classes/five.EyeDomeLightingPass.html +21 -0
- package/docs/classes/five.Five.html +90 -76
- package/docs/classes/five.FivePass.html +18 -0
- package/docs/classes/five.FiveRenderer.html +9 -0
- package/docs/classes/five.FullScreenQuad.html +6 -0
- package/docs/classes/five.InternalWebGLRenderer.html +1 -1
- package/docs/classes/five.Model.html +32 -31
- package/docs/classes/five.ModelScene.html +23 -20
- package/docs/classes/five.NetworkSubscribe.html +1 -1
- package/docs/classes/five.PBMContainer.html +1 -1
- package/docs/classes/five.PBMGroup.html +1 -1
- package/docs/classes/five.PBMMesh.html +1 -1
- package/docs/classes/five.PBMMeshMaterial.html +6 -7
- 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.PanoCircleMesh.html +3 -3
- package/docs/classes/five.PanoCircleMeshCustom.html +4 -4
- package/docs/classes/five.PanoCircleMeshSolid.html +5 -5
- package/docs/classes/five.Parameter.html +44 -47
- package/docs/classes/five.Scene.html +1 -1
- package/docs/classes/five.Subscribe.html +1 -1
- package/docs/classes/five.TextureLoader.html +2 -2
- package/docs/classes/five.Tile3D.html +21 -21
- package/docs/classes/five.TileNode.html +4 -3
- package/docs/classes/five.Tileset.html +4 -4
- package/docs/classes/five.TrajectoryNode.html +1 -1
- package/docs/classes/five.Work.html +16 -16
- package/docs/classes/five.WorkResolvedObserver.html +20 -21
- 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 +1 -1
- package/docs/classes/gltf-loader.GLTFObject.html +1 -1
- package/docs/classes/gltf-loader.THREEGLTFLoader.html +1 -1
- 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.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 +1 -1
- package/docs/classes/vfx.ParticleGPU.html +1 -1
- package/docs/classes/vfx.SpotLight.html +1 -1
- package/docs/functions/five.loadAt3d.html +1 -1
- package/docs/functions/five.parseWork.html +1 -1
- package/docs/functions/five.workToJson.html +1 -1
- package/docs/functions/plugins.DynamicPathLinePlugin.html +1 -0
- package/docs/functions/react.withFive.html +1 -1
- package/docs/functions/vue.useFiveWorks.html +2 -2
- package/docs/hierarchy.html +1 -1
- package/docs/interfaces/five.AddableObject.html +1 -1
- package/docs/interfaces/five.AjaxOptions.html +1 -1
- package/docs/interfaces/five.AnimationFrame.html +3 -2
- package/docs/interfaces/five.AnimationFrameContext.html +2 -2
- package/docs/interfaces/five.BaseEvent.html +1 -1
- package/docs/interfaces/five.EventCallback.html +1 -1
- package/docs/interfaces/five.FiveInitArgs.html +3 -3
- package/docs/interfaces/five.FiveLoadOptions.html +8 -10
- package/docs/interfaces/five.GestureEvent.html +1 -1
- package/docs/interfaces/five.ImageOptions.html +1 -1
- package/docs/interfaces/five.IntersectEvent.html +1 -1
- package/docs/interfaces/five.IntersectMesh.html +2 -2
- package/docs/interfaces/five.IntersectMeshInterface.html +1 -1
- package/docs/interfaces/five.Intersection.html +1 -1
- package/docs/interfaces/five.LoosePanoWork.html +2 -2
- package/docs/interfaces/five.LooseWork.html +2 -2
- package/docs/interfaces/five.LooseWorkInitial.html +2 -2
- package/docs/interfaces/five.LooseWorkModel.html +3 -2
- package/docs/interfaces/five.LooseWorkObserver.html +3 -2
- package/docs/interfaces/five.LooseWorkPanorama.html +8 -8
- package/docs/interfaces/five.LooseWorkVideo.html +2 -2
- package/docs/interfaces/five.LooseWorkWithExtrinsics.html +7 -7
- package/docs/interfaces/five.ModeChangeEvent.html +2 -2
- package/docs/interfaces/five.ModelControllerCustomInitArgs.html +5 -3
- package/docs/interfaces/five.ModelEvent.html +2 -2
- package/docs/interfaces/five.ModelOptions.html +11 -0
- package/docs/interfaces/five.ModelSceneEvent.html +2 -2
- package/docs/interfaces/five.MovePanoOptions.html +1 -1
- 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 +2 -2
- package/docs/interfaces/five.NetworkResponseError.html +1 -1
- package/docs/interfaces/five.NetworkTimeoutError.html +1 -1
- package/docs/interfaces/five.ObjectEvent.html +2 -2
- package/docs/interfaces/five.PBMMaterial.html +1 -1
- package/docs/interfaces/five.PBMMeshMaterialParameters.html +2 -3
- package/docs/interfaces/five.PBMPointCloudMaterialParameters.html +2 -3
- package/docs/interfaces/five.PanoCircleMeshInterface.html +1 -1
- package/docs/interfaces/five.PanoCircleMeshSolidOptions.html +2 -2
- package/docs/interfaces/five.PanoEvent.html +1 -1
- package/docs/interfaces/five.PanoTextureEvent.html +1 -1
- package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +12 -10
- package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +5 -3
- package/docs/interfaces/five.ParameterMaterialValue.html +29 -31
- package/docs/interfaces/five.ParameterTilesetValue.html +15 -16
- package/docs/interfaces/five.ParameterValue.html +43 -46
- package/docs/interfaces/five.Pass.html +9 -0
- package/docs/interfaces/five.Pose.html +1 -1
- package/docs/interfaces/five.RenderEvent.html +2 -2
- package/docs/interfaces/five.ResolvedParameterValue.html +43 -46
- package/docs/interfaces/five.State.html +1 -1
- package/docs/interfaces/five.StateEvent.html +1 -1
- package/docs/interfaces/five.TextureOptions.html +1 -1
- package/docs/interfaces/five.TilesetOptions.html +2 -2
- package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +7 -3
- package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +12 -10
- package/docs/interfaces/five.ViewLayer.html +21 -21
- package/docs/interfaces/five.WorkCubeImage.html +2 -2
- package/docs/interfaces/five.WorkImage.html +5 -3
- package/docs/interfaces/five.WorkInitial.html +8 -8
- package/docs/interfaces/five.WorkModel.html +9 -7
- package/docs/interfaces/five.WorkModelJson.html +3 -2
- package/docs/interfaces/five.WorkModelLayer.html +7 -2
- package/docs/interfaces/five.WorkModelLayerJson.html +2 -2
- package/docs/interfaces/five.WorkObserver.html +21 -22
- package/docs/interfaces/five.WorkObserverJson.html +4 -2
- package/docs/interfaces/five.WorkPanoramaJson.html +2 -2
- package/docs/interfaces/five.WorkPanoramasJson.html +2 -2
- package/docs/interfaces/five.WorkTile.html +4 -4
- package/docs/interfaces/five.WorkVideo.html +4 -4
- package/docs/interfaces/five.WorksEvent.html +2 -3
- package/docs/interfaces/five.XRControllerEvent.html +1 -1
- package/docs/interfaces/five.XRGestureEvent.html +1 -1
- package/docs/interfaces/five.XRPanoramaControllerCustomInitArgs.html +12 -10
- package/docs/interfaces/five.XRSessionEvent.html +1 -1
- 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.DynamicPathLinePluginController.html +83 -0
- package/docs/interfaces/plugins.DynamicPathLinePluginType.Config.html +36 -0
- package/docs/interfaces/plugins.DynamicPathLinePluginType.EventMap.html +26 -0
- package/docs/interfaces/plugins.DynamicPathLinePluginType.Params.html +6 -0
- package/docs/interfaces/plugins.DynamicPathLinePluginType.PathConfig.html +28 -0
- package/docs/interfaces/plugins.DynamicPathLinePluginType.State.html +10 -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 +1 -1
- package/docs/interfaces/plugins.OrientationPluginController.html +1 -1
- 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.PluginTemplateType.EventMap.html +1 -1
- package/docs/interfaces/plugins.PluginTemplateType.State.html +1 -1
- package/docs/interfaces/plugins.TrajectoryController.html +1 -1
- package/docs/interfaces/react.FiveInjectionTypes.html +4 -4
- package/docs/modules/five.html +1 -1
- package/docs/modules/plugins.DynamicPathLinePluginType.html +1 -0
- package/docs/modules/plugins.html +1 -1
- package/docs/types/five.AnimationFrameLoopType.html +1 -1
- package/docs/types/five.Models.html +4 -4
- package/docs/types/five.ParseOptions.html +6 -6
- package/docs/types/five.PostProcessingType.html +1 -1
- package/docs/types/five.RequestAnimationFrameArgs.html +1 -0
- package/docs/types/five.TilesetFrameState.html +2 -3
- package/docs/types/plugins.BasePlugin.EventMap.html +1 -1
- package/docs/types/plugins.DynamicPathLinePluginType.PluginData.html +3 -0
- package/docs/types/plugins.DynamicPathLinePluginType.ServerData.html +3 -0
- package/docs/types/vue.FiveProviderComponent.html +1 -1
- package/five/index.d.ts +311 -85
- package/five/index.js +299 -198
- package/five/index.mjs +6822 -6456
- package/gltf-loader/index.js +3 -3
- package/gltf-loader/index.mjs +146 -146
- package/line/index.js +3 -3
- package/line/index.mjs +10 -10
- package/package.json +1 -1
- package/plugins/index.d.ts +314 -0
- package/plugins/index.js +296 -15
- package/plugins/index.mjs +2615 -1503
- package/react/index.d.ts +1 -1
- package/react/index.js +2 -2
- package/react/index.mjs +2 -2
- package/shader-lib/index.d.ts +24 -1
- package/shader-lib/index.js +22 -13
- package/shader-lib/index.mjs +408 -171
- package/sticker/index.js +3 -3
- package/sticker/index.mjs +7 -7
- package/umd/five-gltf-loader.js +3 -3
- package/umd/five-line.js +3 -3
- package/umd/five-plugins.js +296 -15
- package/umd/five-react.js +2 -2
- package/umd/five-shader-lib.js +22 -13
- package/umd/five-sticker.js +3 -3
- package/umd/five-vfx.js +2 -2
- package/umd/five-vue.js +2 -2
- package/umd/five.js +299 -198
- package/vfx/index.js +2 -2
- package/vfx/index.mjs +2 -2
- package/vue/index.d.ts +1 -1
- package/vue/index.js +2 -2
- package/vue/index.mjs +2 -2
- package/work-downloader/index.js +3 -3
- package/work-downloader/index.mjs +13 -11
- package/docs/interfaces/five.ModelLike.html +0 -3
- package/docs/types/five.Tile3dOptions.html +0 -1
package/line/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
3
|
* @realsee/five
|
|
4
|
-
* Generated:
|
|
5
|
-
* Version: 6.7.0
|
|
4
|
+
* Generated: 12/29/2025
|
|
5
|
+
* Version: 6.7.0
|
|
6
6
|
* Terms:
|
|
7
7
|
* Realsee SDK License Agreement
|
|
8
8
|
* Update: July 28, 2021
|
|
@@ -451,4 +451,4 @@
|
|
|
451
451
|
#include <premultiplied_alpha_fragment>
|
|
452
452
|
|
|
453
453
|
}
|
|
454
|
-
`},g=(function(a){y(r,a);function r(t){var n=a.call(this,{uniforms:o.UniformsUtils.clone(B.uniforms),vertexShader:B.vertexShader,fragmentShader:B.fragmentShader,clipping:!0})||this;return n.type="LineMaterial",n.dashed=!1,Object.defineProperties(n,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(e){this.uniforms.diffuse.value=e}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(e){this.uniforms.linewidth.value=e}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(e){this.uniforms.dashScale.value=e}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(e){this.uniforms.dashSize.value=e}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(e){this.uniforms.gapSize.value=e}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(e){this.uniforms.opacity.value=e}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(e){this.uniforms.resolution.value.copy(e)}}}),n.setValues(t),n}return r})(o.ShaderMaterial);Object.assign(g.prototype,{isLineMaterial:!0});var M=(function(a){y(r,a);function r(t,n){var e=a.call(this)||this;return e.type="LineSegments2",e.geometry=t!==void 0?t:new A,e.material=n!==void 0?n:new g({color:Math.random()*16777215}),e}return r.prototype.computeLineDistances=function(){for(var t=this.geometry,n=t.attributes.instanceStart,e=t.attributes.instanceEnd,i=new Float32Array(2*n.count),s=new o.Vector3,c=new o.Vector3,p=0,u=0,S=n.count;p<S;p++,u+=2)s.fromBufferAttribute(n,p),c.fromBufferAttribute(e,p),i[u]=u===0?0:i[u-1],i[u+1]=i[u]+s.distanceTo(c);var h=new o.InstancedInterleavedBuffer(i,2,1);return t.setAttribute("instanceDistanceStart",new o.InterleavedBufferAttribute(h,1,0)),t.setAttribute("instanceDistanceEnd",new o.InterleavedBufferAttribute(h,1,1)),this},r.prototype.raycast=function(t,n){t.camera===null&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2.');var e=t.ray,i=t.camera,s=i.projectionMatrix,c=this.geometry,p=this.material,u=p.resolution,S=p.linewidth,h=c.attributes.instanceStart,U=c.attributes.instanceEnd,l=new o.Vector4,f=new o.Vector4,v=new o.Vector4,b=new o.Vector3,w=new o.Matrix4,d=new o.Line3,z=new o.Vector3;e.at(1,v),v.w=1,v.applyMatrix4(i.matrixWorldInverse),v.applyMatrix4(s),v.multiplyScalar(1/v.w),v.x*=u.x/2,v.y*=u.y/2,v.z=0,b.copy(v);var x=this.matrixWorld;w.multiplyMatrices(i.matrixWorldInverse,x);for(var m=0,N=h.count;m<N;m++){l.fromBufferAttribute(h,m),f.fromBufferAttribute(U,m),l.w=1,f.w=1,l.applyMatrix4(w),f.applyMatrix4(w),l.applyMatrix4(s),f.applyMatrix4(s),l.multiplyScalar(1/l.w),f.multiplyScalar(1/f.w);var j=l.z<-1&&f.z<-1,G=l.z>1&&f.z>1;if(!(j||G)){l.x*=u.x/2,l.y*=u.y/2,f.x*=u.x/2,f.y*=u.y/2,d.start.copy(l),d.start.z=0,d.end.copy(f),d.end.z=0;var D=d.closestPointToPointParameter(b,!0);d.at(D,z);var O=o.MathUtils.lerp(l.z,f.z,D),W=O>=-1&&O<=1,T=b.distanceTo(z)<S*.5;if(W&&T){d.start.fromBufferAttribute(h,m),d.end.fromBufferAttribute(U,m),d.start.applyMatrix4(x),d.end.applyMatrix4(x);var V=new o.Vector3,E=new o.Vector3;e.distanceSqToSegment(d.start,d.end,E,V),n.push({point:E,pointOnLine:V,distance:e.origin.distanceTo(E),object:this,faceIndex:m})}}}},r})(o.Mesh);Object.assign(M.prototype,{isLineSegments2:!0});var C=(function(a){y(r,a);function r(t,n){var e=a.call(this,t,n)||this;return e.type="Line2",e}return r})(M);Object.assign(C.prototype,{isLine2:!0});var P=(function(a){y(r,a);function r(){var t=a.call(this)||this;return t.type="LineGeometry",t}return r.prototype.setPositions=function(t){for(var n=t.length-3,e=new Float32Array(2*n),i=0;i<n;i+=3)e[2*i]=t[i],e[2*i+1]=t[i+1],e[2*i+2]=t[i+2],e[2*i+3]=t[i+3],e[2*i+4]=t[i+4],e[2*i+5]=t[i+5];return a.prototype.setPositions.call(this,e),this},r.prototype.setColors=function(t){for(var n=t.length-3,e=new Float32Array(2*n),i=0;i<n;i+=3)e[2*i]=t[i],e[2*i+1]=t[i+1],e[2*i+2]=t[i+2],e[2*i+3]=t[i+3],e[2*i+4]=t[i+4],e[2*i+5]=t[i+5];return a.prototype.setColors.call(this,e),this},r.prototype.fromLine=function(t){var n=t.geometry;if(n instanceof o.Geometry){var e=new o.BufferGeometry().fromGeometry(n);this.setPositions(e.attributes.position.array)}else n instanceof o.BufferGeometry&&this.setPositions(n.attributes.position.array);return this},r.prototype.copy=function(){return this},r})(A);Object.assign(P.prototype,{isLineGeometry:!0});var k="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sHDgwCEMBJZu0AAAAdaVRYdENvbW1lbnQAAAAAAENyZWF0ZWQgd2l0aCBHSU1QZC5lBwAABM5JREFUWMO1V0tPG2cUPZ4Hxh6DazIOrjFNqJs0FIMqWFgWQkatsmvVbtggKlSVRVf5AWz4AWz4AUSKEChll19QJYSXkECuhFxsHjEhxCYm+DWGMZ5HF72DJq4bAzFXurI0M/I5997v3u9cC65vTJVn2lX/xHINQOYSBLTLEuIuCWw4Z3IGAEvf6ASmVHjNzHCXBG4A0AjACsAOwEbO0nsFQBnAGYASAIl+ZRMR7SolMEdsByD09fV5R0ZGgg8ePPjW5/N1iqLYpuu6RZblciKR2I9Go69evnwZnZ+fjwI4IS8AKBIRzeQfJWCANwKwh0KhtrGxsYehUOin1tbW+zzP23ietzY2NnIAoGmaLsuyUiqVyvl8XtrY2NiamZn589mzZxsAUgCOAeQAnFI2tI+VxIjaAeDzoaGh7xYWFuZOTk6OZVk+12uYqqq6JEnn0Wg0OT4+/geAXwGEAdwDIFJQXC1wO4DWR48e/RCPxxclSSroVzRFUbSDg4P848ePFwH8DuAhkWih83TRQWxFOXgAwvDwcOfo6OhvXV1d39tsNtuVBwTDWBwOh1UUxVsMw1hXVlbSdCgNV43uYSvrHg6H24aHh38eHBz85TrgF9FYLHA4HLzH43FvbW2d7u/vG+dANp8FpqIlbd3d3V8Fg8EfBUFw4BONZVmL3+9vHhkZCQL4AoAHgJPK8G+yzC0XDofdoVAo5PP5vkadTBAEtr+/39ff3x8gAp/RPOEqx2qjx+NpvXv3bk9DQ0NDvQgwDIOWlhZrMBj8kgi0UJdxRgYMArzL5XJ7vd57qLPZ7Xamp6fnNgBXtQxcjFuHw+Hyer3t9SYgCAITCAScAJoBNNEY/08GOFVVrfVMv7kMNDntFD1vjIAPrlRN0xjckOm6biFQ3jwNPwDMZrOnqVTqfb3Bi8Wivru7W/VCYkwPlKOjo0IikXh7EwQikYgE4Nw0CfXKDCipVCoTj8df3QABbW1tLUc6oUgkFPMkVACUNjc337148eKvw8PDbJ2jP1taWkoCyNDVXDSECmNSK4qiKNLq6urW8+fPI/UicHx8rD59+jSVy+WOAKSJhKENwFItLtoxk8mwsixzHR0dHe3t7c5PAU+n09rs7OzJkydPYqVSaQfANoDXALIk31S2smU1TWMPDg7K5XKZ7+3t9TudTut1U7+wsFCcmJiIpdPpbQBxADsAknQWymYCOukBHYCuKApisdhpMpnURFEU79y503TVyKenpzOTk5M7e3t7MQKPV0Zv1gNm+awB0MvlshqLxfLb29uyJElWURSbXC4XXyvqxcXFs6mpqeTc3Nzu3t7e3wQcA7BPZ8Cov1pNlJplmQtAG8MwHV6v95tAINA5MDBwPxAIuLu6upr8fr/VAN3c3JQjkcjZ+vp6fnl5+d2bN29SuVzuNYAEpf01CdRChUL+X1VskHACuA3Ay3Fcu9vt7nA6nZ7m5uYWQRCaNE3jVVW15PP580KhIGUymWw2m00DOAJwSP4WwPtq4LX2Ao6USxNlQyS/RcQcdLGwlNIz6vEMAaZpNzCk2Pll94LK/cDYimxERiBwG10sxjgvEZBE0UpE6vxj+0Ct5bTaXthgEhRmja8QWNkkPGsuIpfdjpkK+cZUWTC0KredVmtD/gdlSl6EG4AMvQAAAABJRU5ErkJggg==",F=14467195,Q=8,Z=2,X=20,I=null,_=(function(a){y(r,a);function r(t,n){t===void 0&&(t=new o.Vector3),n===void 0&&(n=new o.Vector3);var e=a.call(this)||this;e.type="FiveLine",e.needsRender=!0;var i=new P,s=new g({color:F,linewidth:Z,dashScale:X,dashed:!1});e.line=new C(i,s);var c=new o.BufferGeometry,p=new o.PointsMaterial({color:F,size:Q,map:I||(I=new o.TextureLoader().load(k)),sizeAttenuation:!1,transparent:!0});return e.points=new o.Points(c,p),e.points.renderOrder=11,e.points.frustumCulled=!1,e.setPoints(t,n),e.add(e.line,e.points),e}return Object.defineProperty(r,"version",{get:function(){return"6.7.0
|
|
454
|
+
`},g=(function(a){y(r,a);function r(t){var n=a.call(this,{uniforms:o.UniformsUtils.clone(B.uniforms),vertexShader:B.vertexShader,fragmentShader:B.fragmentShader,clipping:!0})||this;return n.type="LineMaterial",n.dashed=!1,Object.defineProperties(n,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(e){this.uniforms.diffuse.value=e}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(e){this.uniforms.linewidth.value=e}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(e){this.uniforms.dashScale.value=e}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(e){this.uniforms.dashSize.value=e}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(e){this.uniforms.gapSize.value=e}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(e){this.uniforms.opacity.value=e}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(e){this.uniforms.resolution.value.copy(e)}}}),n.setValues(t),n}return r})(o.ShaderMaterial);Object.assign(g.prototype,{isLineMaterial:!0});var M=(function(a){y(r,a);function r(t,n){var e=a.call(this)||this;return e.type="LineSegments2",e.geometry=t!==void 0?t:new A,e.material=n!==void 0?n:new g({color:Math.random()*16777215}),e}return r.prototype.computeLineDistances=function(){for(var t=this.geometry,n=t.attributes.instanceStart,e=t.attributes.instanceEnd,i=new Float32Array(2*n.count),s=new o.Vector3,c=new o.Vector3,p=0,u=0,S=n.count;p<S;p++,u+=2)s.fromBufferAttribute(n,p),c.fromBufferAttribute(e,p),i[u]=u===0?0:i[u-1],i[u+1]=i[u]+s.distanceTo(c);var h=new o.InstancedInterleavedBuffer(i,2,1);return t.setAttribute("instanceDistanceStart",new o.InterleavedBufferAttribute(h,1,0)),t.setAttribute("instanceDistanceEnd",new o.InterleavedBufferAttribute(h,1,1)),this},r.prototype.raycast=function(t,n){t.camera===null&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2.');var e=t.ray,i=t.camera,s=i.projectionMatrix,c=this.geometry,p=this.material,u=p.resolution,S=p.linewidth,h=c.attributes.instanceStart,U=c.attributes.instanceEnd,l=new o.Vector4,f=new o.Vector4,v=new o.Vector4,b=new o.Vector3,w=new o.Matrix4,d=new o.Line3,z=new o.Vector3;e.at(1,v),v.w=1,v.applyMatrix4(i.matrixWorldInverse),v.applyMatrix4(s),v.multiplyScalar(1/v.w),v.x*=u.x/2,v.y*=u.y/2,v.z=0,b.copy(v);var x=this.matrixWorld;w.multiplyMatrices(i.matrixWorldInverse,x);for(var m=0,N=h.count;m<N;m++){l.fromBufferAttribute(h,m),f.fromBufferAttribute(U,m),l.w=1,f.w=1,l.applyMatrix4(w),f.applyMatrix4(w),l.applyMatrix4(s),f.applyMatrix4(s),l.multiplyScalar(1/l.w),f.multiplyScalar(1/f.w);var j=l.z<-1&&f.z<-1,G=l.z>1&&f.z>1;if(!(j||G)){l.x*=u.x/2,l.y*=u.y/2,f.x*=u.x/2,f.y*=u.y/2,d.start.copy(l),d.start.z=0,d.end.copy(f),d.end.z=0;var D=d.closestPointToPointParameter(b,!0);d.at(D,z);var O=o.MathUtils.lerp(l.z,f.z,D),W=O>=-1&&O<=1,T=b.distanceTo(z)<S*.5;if(W&&T){d.start.fromBufferAttribute(h,m),d.end.fromBufferAttribute(U,m),d.start.applyMatrix4(x),d.end.applyMatrix4(x);var V=new o.Vector3,E=new o.Vector3;e.distanceSqToSegment(d.start,d.end,E,V),n.push({point:E,pointOnLine:V,distance:e.origin.distanceTo(E),object:this,faceIndex:m})}}}},r})(o.Mesh);Object.assign(M.prototype,{isLineSegments2:!0});var C=(function(a){y(r,a);function r(t,n){var e=a.call(this,t,n)||this;return e.type="Line2",e}return r})(M);Object.assign(C.prototype,{isLine2:!0});var P=(function(a){y(r,a);function r(){var t=a.call(this)||this;return t.type="LineGeometry",t}return r.prototype.setPositions=function(t){for(var n=t.length-3,e=new Float32Array(2*n),i=0;i<n;i+=3)e[2*i]=t[i],e[2*i+1]=t[i+1],e[2*i+2]=t[i+2],e[2*i+3]=t[i+3],e[2*i+4]=t[i+4],e[2*i+5]=t[i+5];return a.prototype.setPositions.call(this,e),this},r.prototype.setColors=function(t){for(var n=t.length-3,e=new Float32Array(2*n),i=0;i<n;i+=3)e[2*i]=t[i],e[2*i+1]=t[i+1],e[2*i+2]=t[i+2],e[2*i+3]=t[i+3],e[2*i+4]=t[i+4],e[2*i+5]=t[i+5];return a.prototype.setColors.call(this,e),this},r.prototype.fromLine=function(t){var n=t.geometry;if(n instanceof o.Geometry){var e=new o.BufferGeometry().fromGeometry(n);this.setPositions(e.attributes.position.array)}else n instanceof o.BufferGeometry&&this.setPositions(n.attributes.position.array);return this},r.prototype.copy=function(){return this},r})(A);Object.assign(P.prototype,{isLineGeometry:!0});var k="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sHDgwCEMBJZu0AAAAdaVRYdENvbW1lbnQAAAAAAENyZWF0ZWQgd2l0aCBHSU1QZC5lBwAABM5JREFUWMO1V0tPG2cUPZ4Hxh6DazIOrjFNqJs0FIMqWFgWQkatsmvVbtggKlSVRVf5AWz4AWz4AUSKEChll19QJYSXkECuhFxsHjEhxCYm+DWGMZ5HF72DJq4bAzFXurI0M/I5997v3u9cC65vTJVn2lX/xHINQOYSBLTLEuIuCWw4Z3IGAEvf6ASmVHjNzHCXBG4A0AjACsAOwEbO0nsFQBnAGYASAIl+ZRMR7SolMEdsByD09fV5R0ZGgg8ePPjW5/N1iqLYpuu6RZblciKR2I9Go69evnwZnZ+fjwI4IS8AKBIRzeQfJWCANwKwh0KhtrGxsYehUOin1tbW+zzP23ietzY2NnIAoGmaLsuyUiqVyvl8XtrY2NiamZn589mzZxsAUgCOAeQAnFI2tI+VxIjaAeDzoaGh7xYWFuZOTk6OZVk+12uYqqq6JEnn0Wg0OT4+/geAXwGEAdwDIFJQXC1wO4DWR48e/RCPxxclSSroVzRFUbSDg4P848ePFwH8DuAhkWih83TRQWxFOXgAwvDwcOfo6OhvXV1d39tsNtuVBwTDWBwOh1UUxVsMw1hXVlbSdCgNV43uYSvrHg6H24aHh38eHBz85TrgF9FYLHA4HLzH43FvbW2d7u/vG+dANp8FpqIlbd3d3V8Fg8EfBUFw4BONZVmL3+9vHhkZCQL4AoAHgJPK8G+yzC0XDofdoVAo5PP5vkadTBAEtr+/39ff3x8gAp/RPOEqx2qjx+NpvXv3bk9DQ0NDvQgwDIOWlhZrMBj8kgi0UJdxRgYMArzL5XJ7vd57qLPZ7Xamp6fnNgBXtQxcjFuHw+Hyer3t9SYgCAITCAScAJoBNNEY/08GOFVVrfVMv7kMNDntFD1vjIAPrlRN0xjckOm6biFQ3jwNPwDMZrOnqVTqfb3Bi8Wivru7W/VCYkwPlKOjo0IikXh7EwQikYgE4Nw0CfXKDCipVCoTj8df3QABbW1tLUc6oUgkFPMkVACUNjc337148eKvw8PDbJ2jP1taWkoCyNDVXDSECmNSK4qiKNLq6urW8+fPI/UicHx8rD59+jSVy+WOAKSJhKENwFItLtoxk8mwsixzHR0dHe3t7c5PAU+n09rs7OzJkydPYqVSaQfANoDXALIk31S2smU1TWMPDg7K5XKZ7+3t9TudTut1U7+wsFCcmJiIpdPpbQBxADsAknQWymYCOukBHYCuKApisdhpMpnURFEU79y503TVyKenpzOTk5M7e3t7MQKPV0Zv1gNm+awB0MvlshqLxfLb29uyJElWURSbXC4XXyvqxcXFs6mpqeTc3Nzu3t7e3wQcA7BPZ8Cov1pNlJplmQtAG8MwHV6v95tAINA5MDBwPxAIuLu6upr8fr/VAN3c3JQjkcjZ+vp6fnl5+d2bN29SuVzuNYAEpf01CdRChUL+X1VskHACuA3Ay3Fcu9vt7nA6nZ7m5uYWQRCaNE3jVVW15PP580KhIGUymWw2m00DOAJwSP4WwPtq4LX2Ao6USxNlQyS/RcQcdLGwlNIz6vEMAaZpNzCk2Pll94LK/cDYimxERiBwG10sxjgvEZBE0UpE6vxj+0Ct5bTaXthgEhRmja8QWNkkPGsuIpfdjpkK+cZUWTC0KredVmtD/gdlSl6EG4AMvQAAAABJRU5ErkJggg==",F=14467195,Q=8,Z=2,X=20,I=null,_=(function(a){y(r,a);function r(t,n){t===void 0&&(t=new o.Vector3),n===void 0&&(n=new o.Vector3);var e=a.call(this)||this;e.type="FiveLine",e.needsRender=!0;var i=new P,s=new g({color:F,linewidth:Z,dashScale:X,dashed:!1});e.line=new C(i,s);var c=new o.BufferGeometry,p=new o.PointsMaterial({color:F,size:Q,map:I||(I=new o.TextureLoader().load(k)),sizeAttenuation:!1,transparent:!0});return e.points=new o.Points(c,p),e.points.renderOrder=11,e.points.frustumCulled=!1,e.setPoints(t,n),e.add(e.line,e.points),e}return Object.defineProperty(r,"version",{get:function(){return"6.7.0"},enumerable:!1,configurable:!0}),r.prototype.setPoints=function(t,n){var e=[].concat(t.toArray(),n.toArray());this.points.geometry.setAttribute("position",new o.BufferAttribute(new Float32Array(e),3)),this.line.geometry.setPositions(e),this.line.computeLineDistances(),this.needsRender=!0},r.prototype.getPoints=function(){var t=this.points.geometry.attributes.position.array;return[new o.Vector3(t[0],t[1],t[2]),new o.Vector3(t[3],t[4],t[5])]},r.prototype.setMaterial=function(t){var n=this.line.material;for(var e in t)if(t.hasOwnProperty(e)){var i=t[e];e==="dashed"?(n.dashed=i,i?n.defines.USE_DASH="":delete n.defines.USE_DASH,n.needsUpdate=!0):n[e]=t[e]}this.needsRender=!0},r.prototype.setResolution=function(t,n){var e=this.line.material.resolution;(e.x!==t||e.y!==n)&&(e.set(t,n),this.needsRender=!0)},r})(o.Object3D);Object.assign(_.prototype,{isFiveLine:!0});exports.Line=_;exports.LineGeometry=P;exports.LineMaterial=g;exports.LineSegmentsGeometry=A;exports.THREE_Line2=C;exports.THREE_LineSegments2=M;
|
package/line/index.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
3
|
* @realsee/five
|
|
4
|
-
* Generated:
|
|
5
|
-
* Version: 6.7.0
|
|
4
|
+
* Generated: 12/29/2025
|
|
5
|
+
* Version: 6.7.0
|
|
6
6
|
* Terms:
|
|
7
7
|
* Realsee SDK License Agreement
|
|
8
8
|
* Update: July 28, 2021
|
|
@@ -635,16 +635,16 @@ var F = (
|
|
|
635
635
|
return o.prototype.computeLineDistances = function() {
|
|
636
636
|
for (var t = this.geometry, n = t.attributes.instanceStart, e = t.attributes.instanceEnd, r = new Float32Array(2 * n.count), s = new i.Vector3(), c = new i.Vector3(), p = 0, u = 0, y = n.count; p < y; p++, u += 2)
|
|
637
637
|
s.fromBufferAttribute(n, p), c.fromBufferAttribute(e, p), r[u] = u === 0 ? 0 : r[u - 1], r[u + 1] = r[u] + s.distanceTo(c);
|
|
638
|
-
var
|
|
639
|
-
return t.setAttribute("instanceDistanceStart", new i.InterleavedBufferAttribute(
|
|
638
|
+
var h = new i.InstancedInterleavedBuffer(r, 2, 1);
|
|
639
|
+
return t.setAttribute("instanceDistanceStart", new i.InterleavedBufferAttribute(h, 1, 0)), t.setAttribute("instanceDistanceEnd", new i.InterleavedBufferAttribute(h, 1, 1)), this;
|
|
640
640
|
}, o.prototype.raycast = function(t, n) {
|
|
641
641
|
t.camera === null && console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2.');
|
|
642
|
-
var e = t.ray, r = t.camera, s = r.projectionMatrix, c = this.geometry, p = this.material, u = p.resolution, y = p.linewidth,
|
|
642
|
+
var e = t.ray, r = t.camera, s = r.projectionMatrix, c = this.geometry, p = this.material, u = p.resolution, y = p.linewidth, h = c.attributes.instanceStart, M = c.attributes.instanceEnd, l = new i.Vector4(), f = new i.Vector4(), v = new i.Vector4(), g = new i.Vector3(), S = new i.Matrix4(), d = new i.Line3(), C = new i.Vector3();
|
|
643
643
|
e.at(1, v), v.w = 1, v.applyMatrix4(r.matrixWorldInverse), v.applyMatrix4(s), v.multiplyScalar(1 / v.w), v.x *= u.x / 2, v.y *= u.y / 2, v.z = 0, g.copy(v);
|
|
644
644
|
var w = this.matrixWorld;
|
|
645
645
|
S.multiplyMatrices(r.matrixWorldInverse, w);
|
|
646
|
-
for (var
|
|
647
|
-
l.fromBufferAttribute(
|
|
646
|
+
for (var m = 0, N = h.count; m < N; m++) {
|
|
647
|
+
l.fromBufferAttribute(h, m), f.fromBufferAttribute(M, m), l.w = 1, f.w = 1, l.applyMatrix4(S), f.applyMatrix4(S), l.applyMatrix4(s), f.applyMatrix4(s), l.multiplyScalar(1 / l.w), f.multiplyScalar(1 / f.w);
|
|
648
648
|
var _ = l.z < -1 && f.z < -1, G = l.z > 1 && f.z > 1;
|
|
649
649
|
if (!(_ || G)) {
|
|
650
650
|
l.x *= u.x / 2, l.y *= u.y / 2, f.x *= u.x / 2, f.y *= u.y / 2, d.start.copy(l), d.start.z = 0, d.end.copy(f), d.end.z = 0;
|
|
@@ -652,14 +652,14 @@ var F = (
|
|
|
652
652
|
d.at(U, C);
|
|
653
653
|
var z = i.MathUtils.lerp(l.z, f.z, U), W = z >= -1 && z <= 1, j = g.distanceTo(C) < y * 0.5;
|
|
654
654
|
if (W && j) {
|
|
655
|
-
d.start.fromBufferAttribute(
|
|
655
|
+
d.start.fromBufferAttribute(h, m), d.end.fromBufferAttribute(M, m), d.start.applyMatrix4(w), d.end.applyMatrix4(w);
|
|
656
656
|
var P = new i.Vector3(), b = new i.Vector3();
|
|
657
657
|
e.distanceSqToSegment(d.start, d.end, b, P), n.push({
|
|
658
658
|
point: b,
|
|
659
659
|
pointOnLine: P,
|
|
660
660
|
distance: e.origin.distanceTo(b),
|
|
661
661
|
object: this,
|
|
662
|
-
faceIndex:
|
|
662
|
+
faceIndex: m
|
|
663
663
|
});
|
|
664
664
|
}
|
|
665
665
|
}
|
|
@@ -735,7 +735,7 @@ var T = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAA
|
|
|
735
735
|
}
|
|
736
736
|
return Object.defineProperty(o, "version", {
|
|
737
737
|
get: function() {
|
|
738
|
-
return "6.7.0
|
|
738
|
+
return "6.7.0";
|
|
739
739
|
},
|
|
740
740
|
enumerable: !1,
|
|
741
741
|
configurable: !0
|
package/package.json
CHANGED
package/plugins/index.d.ts
CHANGED
|
@@ -187,6 +187,44 @@ declare interface Config_5 {
|
|
|
187
187
|
maxOpacity: number;
|
|
188
188
|
}
|
|
189
189
|
|
|
190
|
+
/** 插件配置 */
|
|
191
|
+
declare interface Config_6 {
|
|
192
|
+
/** 线条数量 */
|
|
193
|
+
lineCount?: number;
|
|
194
|
+
/** 线条间距 */
|
|
195
|
+
spacing?: number;
|
|
196
|
+
/** 线宽 */
|
|
197
|
+
lineWidth?: number;
|
|
198
|
+
/** 线条颜色 */
|
|
199
|
+
color?: number;
|
|
200
|
+
/** 流光速度(单位距离/秒,值越大速度越快) */
|
|
201
|
+
speed?: number;
|
|
202
|
+
/** 流光过渡范围(单位:米,默认 5.0) */
|
|
203
|
+
range?: number;
|
|
204
|
+
/** 波动幅度 */
|
|
205
|
+
waveAmp?: number;
|
|
206
|
+
/** 波动频率 */
|
|
207
|
+
waveFreq?: number;
|
|
208
|
+
/** 粒子数量 */
|
|
209
|
+
particleCount?: number;
|
|
210
|
+
/** 粒子最大飘散距离 */
|
|
211
|
+
maxDistance?: number;
|
|
212
|
+
/** pathline Y 轴偏移(相对于 subMesh 向上偏移) */
|
|
213
|
+
lineYOffset?: number;
|
|
214
|
+
/** 子网格宽度 */
|
|
215
|
+
subMeshWidth?: number;
|
|
216
|
+
/** 子网格底色 */
|
|
217
|
+
subMeshColor?: number;
|
|
218
|
+
/** 子网格基础透明度(最小透明度) */
|
|
219
|
+
subMeshOpacity?: number;
|
|
220
|
+
/** 子网格最大透明度(流光中心的透明度,默认 1.0) */
|
|
221
|
+
subMeshMaxOpacity?: number;
|
|
222
|
+
/** 子网格流光分段间隔(单位:米,默认 3.0) */
|
|
223
|
+
subMeshSegmentInterval?: number;
|
|
224
|
+
/** 子网格流光高亮带宽度(单位:米,默认 1.5) */
|
|
225
|
+
subMeshHighlightWidth?: number;
|
|
226
|
+
}
|
|
227
|
+
|
|
190
228
|
declare interface ConfigChangeEvent {
|
|
191
229
|
/** 变更前的 config */
|
|
192
230
|
prevConfig: Config_5;
|
|
@@ -207,6 +245,186 @@ export declare class CSS3DRenderer {
|
|
|
207
245
|
|
|
208
246
|
}
|
|
209
247
|
|
|
248
|
+
export declare const DynamicPathLinePlugin: (five: Five, params?: DynamicPathLinePluginType.Params) => DynamicPathLinePluginController;
|
|
249
|
+
|
|
250
|
+
export declare class DynamicPathLinePluginController extends BasePlugin_2.Controller<DynamicPathLinePluginType.State, DynamicPathLinePluginType.EventMap, DynamicPathLinePluginType.ServerData, DynamicPathLinePluginType.PluginData> {
|
|
251
|
+
/** 当前使用的数据 */
|
|
252
|
+
data?: DynamicPathLinePluginType.PluginData;
|
|
253
|
+
/** 插件当前状态 */
|
|
254
|
+
state: DynamicPathLinePluginType.State;
|
|
255
|
+
/** config 的原始值 */
|
|
256
|
+
private _config;
|
|
257
|
+
get config(): {
|
|
258
|
+
lineCount: number;
|
|
259
|
+
spacing: number;
|
|
260
|
+
lineWidth: number;
|
|
261
|
+
color: number;
|
|
262
|
+
speed: number;
|
|
263
|
+
range: number;
|
|
264
|
+
waveAmp: number;
|
|
265
|
+
waveFreq: number;
|
|
266
|
+
particleCount: number;
|
|
267
|
+
maxDistance: number;
|
|
268
|
+
lineYOffset: number;
|
|
269
|
+
subMeshWidth: number;
|
|
270
|
+
subMeshColor: number;
|
|
271
|
+
subMeshOpacity: number;
|
|
272
|
+
subMeshMaxOpacity: number;
|
|
273
|
+
subMeshSegmentInterval: number;
|
|
274
|
+
subMeshHighlightWidth: number;
|
|
275
|
+
};
|
|
276
|
+
private paths;
|
|
277
|
+
private up;
|
|
278
|
+
private updateState;
|
|
279
|
+
constructor(five: Five, params?: DynamicPathLinePluginType.Params);
|
|
280
|
+
/**
|
|
281
|
+
* 加载服务端数据
|
|
282
|
+
*/
|
|
283
|
+
load(serverData: DynamicPathLinePluginType.ServerData, state?: DynamicPathLinePluginType.State): Promise<void>;
|
|
284
|
+
/**
|
|
285
|
+
* 添加路径
|
|
286
|
+
*/
|
|
287
|
+
addPath(pathConfig: DynamicPathLinePluginType.PathConfig): boolean;
|
|
288
|
+
/**
|
|
289
|
+
* 移除路径
|
|
290
|
+
*/
|
|
291
|
+
removePath(pathId: string): boolean;
|
|
292
|
+
/**
|
|
293
|
+
* 启用路径
|
|
294
|
+
*/
|
|
295
|
+
enablePath(pathId: string): boolean;
|
|
296
|
+
/**
|
|
297
|
+
* 禁用路径
|
|
298
|
+
*/
|
|
299
|
+
disablePath(pathId: string): boolean;
|
|
300
|
+
/**
|
|
301
|
+
* 显示路径
|
|
302
|
+
*/
|
|
303
|
+
showPath(pathId: string): boolean;
|
|
304
|
+
/**
|
|
305
|
+
* 隐藏路径
|
|
306
|
+
*/
|
|
307
|
+
hidePath(pathId: string): boolean;
|
|
308
|
+
/**
|
|
309
|
+
* 获取所有路径ID
|
|
310
|
+
*/
|
|
311
|
+
getPathIds(): string[];
|
|
312
|
+
/**
|
|
313
|
+
* 获取路径配置
|
|
314
|
+
*/
|
|
315
|
+
getPathConfig(pathId: string): DynamicPathLinePluginType.PathConfig | undefined;
|
|
316
|
+
/**
|
|
317
|
+
* 清空所有路径
|
|
318
|
+
*/
|
|
319
|
+
clearAllPaths(): void;
|
|
320
|
+
private getPositions;
|
|
321
|
+
private createLines;
|
|
322
|
+
private createParticleMaterial;
|
|
323
|
+
private createParticles;
|
|
324
|
+
/**
|
|
325
|
+
* 创建子网格面片的几何体
|
|
326
|
+
*/
|
|
327
|
+
private createSubMeshGeometry;
|
|
328
|
+
/**
|
|
329
|
+
* 创建流光的 alpha 贴图
|
|
330
|
+
* @param segmentCount - 分段数(流光数量)
|
|
331
|
+
* @param highlightWidthInMeters - 单个高亮带的物理宽度(单位:米)
|
|
332
|
+
* @param totalLength - 路径总长度(单位:米)
|
|
333
|
+
* @param baseOpacity - 基础透明度(0-1)
|
|
334
|
+
* @param maxOpacity - 最大透明度(0-1)
|
|
335
|
+
* @returns DataTexture
|
|
336
|
+
*/
|
|
337
|
+
private createAlphaMapTexture;
|
|
338
|
+
/**
|
|
339
|
+
* 创建子网格面片的材质
|
|
340
|
+
*/
|
|
341
|
+
private createSubMeshMaterial;
|
|
342
|
+
/**
|
|
343
|
+
* 将路径点投影到屏幕空间
|
|
344
|
+
*/
|
|
345
|
+
private projectPointsToScreen;
|
|
346
|
+
/**
|
|
347
|
+
* 找到最近的屏幕外点
|
|
348
|
+
*/
|
|
349
|
+
private findNearestOffscreenPoint;
|
|
350
|
+
/**
|
|
351
|
+
* 找到最远的屏幕外点(从终点反向搜索)
|
|
352
|
+
*/
|
|
353
|
+
private findFarestOffscreenPoint;
|
|
354
|
+
private updatePathAnimation;
|
|
355
|
+
/**
|
|
356
|
+
* 启动指定路径的动画
|
|
357
|
+
* @param pathId - 路径ID
|
|
358
|
+
* @param options - 配置选项
|
|
359
|
+
*/
|
|
360
|
+
startPathAnimation(pathId: string, options?: {
|
|
361
|
+
startPointIndex?: number;
|
|
362
|
+
fromStart?: boolean;
|
|
363
|
+
}): boolean;
|
|
364
|
+
/**
|
|
365
|
+
* 停止指定路径的动画
|
|
366
|
+
*/
|
|
367
|
+
stopPathAnimation(pathId: string, saveProgress?: boolean): boolean;
|
|
368
|
+
private _enable;
|
|
369
|
+
private _disable;
|
|
370
|
+
/**
|
|
371
|
+
* 启用插件
|
|
372
|
+
*/
|
|
373
|
+
enable(options?: BasePlugin_2.BaseOptions): void;
|
|
374
|
+
/**
|
|
375
|
+
* 禁用插件
|
|
376
|
+
*/
|
|
377
|
+
disable(options?: BasePlugin_2.BaseOptions): void;
|
|
378
|
+
/**
|
|
379
|
+
* 显示插件
|
|
380
|
+
*/
|
|
381
|
+
show(options?: BasePlugin_2.BaseOptions): void;
|
|
382
|
+
/**
|
|
383
|
+
* 隐藏插件
|
|
384
|
+
*/
|
|
385
|
+
hide(options?: BasePlugin_2.BaseOptions): void;
|
|
386
|
+
/**
|
|
387
|
+
* 设置状态
|
|
388
|
+
*/
|
|
389
|
+
setState(state: Partial<DynamicPathLinePluginType.State>, options?: BasePlugin_2.BaseOptions): void;
|
|
390
|
+
/**
|
|
391
|
+
* 播放动画
|
|
392
|
+
*/
|
|
393
|
+
play(fromStart?: boolean): void;
|
|
394
|
+
/**
|
|
395
|
+
* 暂停动画
|
|
396
|
+
*/
|
|
397
|
+
pause(): void;
|
|
398
|
+
/**
|
|
399
|
+
* 重置动画状态(不自动开始播放)
|
|
400
|
+
*/
|
|
401
|
+
reset(): void;
|
|
402
|
+
highlightPath(pathId: string, highlight: boolean): void;
|
|
403
|
+
/**
|
|
404
|
+
* 更新指定路径的屏幕空间投影优化
|
|
405
|
+
* @param pathId - 路径ID,如果不提供则更新所有路径
|
|
406
|
+
*/
|
|
407
|
+
updateScreenProjection(pathId?: string): void;
|
|
408
|
+
private disposePathResources;
|
|
409
|
+
/**
|
|
410
|
+
* 销毁插件
|
|
411
|
+
*/
|
|
412
|
+
dispose(): void;
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
declare namespace DynamicPathLinePluginType {
|
|
416
|
+
export {
|
|
417
|
+
PathConfig,
|
|
418
|
+
PluginData_6 as PluginData,
|
|
419
|
+
ServerData_5 as ServerData,
|
|
420
|
+
Config_6 as Config,
|
|
421
|
+
Params_6 as Params,
|
|
422
|
+
State_6 as State,
|
|
423
|
+
EventMap_6 as EventMap
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
export { DynamicPathLinePluginType }
|
|
427
|
+
|
|
210
428
|
/** 插件事件 */
|
|
211
429
|
declare interface EventMap extends BasePlugin.EventMap<State, ServerData> {
|
|
212
430
|
}
|
|
@@ -257,6 +475,26 @@ declare interface EventMap_5 extends BasePlugin_2.EventMap<State_5, PluginData_5
|
|
|
257
475
|
}) => void;
|
|
258
476
|
}
|
|
259
477
|
|
|
478
|
+
/** 插件事件 */
|
|
479
|
+
declare interface EventMap_6 extends BasePlugin.EventMap<State_6, PluginData_6> {
|
|
480
|
+
/** 动画开始播放 */
|
|
481
|
+
animationStart: () => void;
|
|
482
|
+
/** 动画停止播放 */
|
|
483
|
+
animationStop: () => void;
|
|
484
|
+
/** 路径添加 */
|
|
485
|
+
pathAdd: (pathId: string, config: PathConfig) => void;
|
|
486
|
+
/** 路径移除 */
|
|
487
|
+
pathRemove: (pathId: string) => void;
|
|
488
|
+
/** 路径启用 */
|
|
489
|
+
pathEnable: (pathId: string) => void;
|
|
490
|
+
/** 路径禁用 */
|
|
491
|
+
pathDisable: (pathId: string) => void;
|
|
492
|
+
/** 路径显示 */
|
|
493
|
+
pathShow: (pathId: string) => void;
|
|
494
|
+
/** 路径隐藏 */
|
|
495
|
+
pathHide: (pathId: string) => void;
|
|
496
|
+
}
|
|
497
|
+
|
|
260
498
|
export declare class ItemMaskController extends BasePlugin.Controller<ItemMaskPluginType.State, ItemMaskPluginType.EventMap, ItemMaskPluginType.ServerData, ItemMaskPluginType.PluginData> {
|
|
261
499
|
/** 当前使用的数据 */
|
|
262
500
|
data?: ItemMaskPluginType.PluginData;
|
|
@@ -605,6 +843,44 @@ declare interface Params_5 {
|
|
|
605
843
|
initialState?: Partial<State_5>;
|
|
606
844
|
}
|
|
607
845
|
|
|
846
|
+
/** 插件初始化参数 */
|
|
847
|
+
declare interface Params_6 {
|
|
848
|
+
config?: Partial<Config_6>;
|
|
849
|
+
initialState?: Partial<State_6>;
|
|
850
|
+
/** 初始路径配置列表 */
|
|
851
|
+
paths?: PathConfig[];
|
|
852
|
+
}
|
|
853
|
+
|
|
854
|
+
/** 路径配置 */
|
|
855
|
+
declare interface PathConfig {
|
|
856
|
+
/** 路径唯一标识 */
|
|
857
|
+
id: string;
|
|
858
|
+
/** 路径点 */
|
|
859
|
+
points: THREE_2.Vector3[];
|
|
860
|
+
/** 是否启用 */
|
|
861
|
+
enabled?: boolean;
|
|
862
|
+
/** 是否可见 */
|
|
863
|
+
visible?: boolean;
|
|
864
|
+
/** 线条颜色(可选,覆盖全局配置) */
|
|
865
|
+
color?: number;
|
|
866
|
+
/** 线宽(可选,覆盖全局配置) */
|
|
867
|
+
lineWidth?: number;
|
|
868
|
+
/** 子网格颜色(可选,覆盖全局配置) */
|
|
869
|
+
subMeshColor?: number;
|
|
870
|
+
/** 子网格宽度(可选,覆盖全局配置) */
|
|
871
|
+
subMeshWidth?: number;
|
|
872
|
+
/** 子网格透明度(可选,覆盖全局配置) */
|
|
873
|
+
subMeshOpacity?: number;
|
|
874
|
+
/** 流光速度(可选,覆盖全局配置,单位:米/秒) */
|
|
875
|
+
speed?: number;
|
|
876
|
+
/** 流光范围(可选,覆盖全局配置,单位:米,默认 5.0) */
|
|
877
|
+
range?: number;
|
|
878
|
+
/** 是否启用子网格(可选,默认 true) */
|
|
879
|
+
enableSubMesh?: boolean;
|
|
880
|
+
/** 是否启用路径线和粒子效果(可选,默认 true) */
|
|
881
|
+
enablePathline?: boolean;
|
|
882
|
+
}
|
|
883
|
+
|
|
608
884
|
export declare interface PlayingState {
|
|
609
885
|
keyframeIndex: number | null;
|
|
610
886
|
progress: number | null;
|
|
@@ -623,6 +899,11 @@ declare type PluginData_4 = any;
|
|
|
623
899
|
|
|
624
900
|
declare type PluginData_5 = {};
|
|
625
901
|
|
|
902
|
+
/** 插件数据 */
|
|
903
|
+
declare type PluginData_6 = {
|
|
904
|
+
paths: Map<string, PathConfig>;
|
|
905
|
+
};
|
|
906
|
+
|
|
626
907
|
declare interface PluginDataItem {
|
|
627
908
|
}
|
|
628
909
|
|
|
@@ -662,6 +943,29 @@ declare type ServerData_3 = {
|
|
|
662
943
|
|
|
663
944
|
declare type ServerData_4 = {};
|
|
664
945
|
|
|
946
|
+
/** 服务端数据 */
|
|
947
|
+
declare type ServerData_5 = {
|
|
948
|
+
paths: Array<{
|
|
949
|
+
id: string;
|
|
950
|
+
points: Array<{
|
|
951
|
+
x: number;
|
|
952
|
+
y: number;
|
|
953
|
+
z: number;
|
|
954
|
+
}>;
|
|
955
|
+
enabled?: boolean;
|
|
956
|
+
visible?: boolean;
|
|
957
|
+
color?: number;
|
|
958
|
+
lineWidth?: number;
|
|
959
|
+
subMeshColor?: number;
|
|
960
|
+
subMeshWidth?: number;
|
|
961
|
+
subMeshOpacity?: number;
|
|
962
|
+
speed?: number;
|
|
963
|
+
range?: number;
|
|
964
|
+
enableSubMesh?: boolean;
|
|
965
|
+
enablePathline?: boolean;
|
|
966
|
+
}>;
|
|
967
|
+
};
|
|
968
|
+
|
|
665
969
|
/** 插件状态 */
|
|
666
970
|
declare interface State extends BasePlugin.State {
|
|
667
971
|
/** 插件是否启用 */
|
|
@@ -706,6 +1010,16 @@ declare interface State_5 extends BasePlugin_2.State {
|
|
|
706
1010
|
visible: boolean;
|
|
707
1011
|
}
|
|
708
1012
|
|
|
1013
|
+
/** 插件状态 */
|
|
1014
|
+
declare interface State_6 extends BasePlugin.State {
|
|
1015
|
+
/** 插件是否启用 */
|
|
1016
|
+
enabled: boolean;
|
|
1017
|
+
/** 插件整体是否可见 */
|
|
1018
|
+
visible: boolean;
|
|
1019
|
+
/** 动画是否正在播放 */
|
|
1020
|
+
playing: boolean;
|
|
1021
|
+
}
|
|
1022
|
+
|
|
709
1023
|
export declare class TrajectoryController extends BasePlugin.Controller<PluginTemplateType.State, PluginTemplateType.EventMap, PluginTemplateType.ServerData, PluginTemplateType.PluginData> {
|
|
710
1024
|
/** 当前使用的数据 */
|
|
711
1025
|
data?: PluginTemplateType.PluginData;
|