@anov/3d-ability 0.0.167 → 0.0.168

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.
Files changed (243) hide show
  1. package/dist/business/Animation/motion/index.d.ts +2 -3
  2. package/dist/business/Animation/motion/index.js +1 -6
  3. package/dist/business/Animation/motion/index.js.map +1 -1
  4. package/dist/business/Area/Fence/FenceBase.d.ts +2 -2
  5. package/dist/business/Area/Fence/FenceBase.js +1 -1
  6. package/dist/business/Area/Fence/FenceBase.js.map +1 -1
  7. package/dist/business/Area/Fence/fence_base_01.js +1 -1
  8. package/dist/business/Area/Fence/fence_base_01.js.map +1 -1
  9. package/dist/business/Area/Fence/fence_feeting_01.js +1 -1
  10. package/dist/business/Area/Fence/fence_feeting_01.js.map +1 -1
  11. package/dist/business/Area/Fence/fence_roll_01.js +1 -1
  12. package/dist/business/Area/Fence/fence_roll_01.js.map +1 -1
  13. package/dist/business/Area/FillArea/FillAreaBase.d.ts +2 -2
  14. package/dist/business/Area/FillArea/FillAreaBase.js +1 -1
  15. package/dist/business/Area/FillArea/FillAreaBase.js.map +1 -1
  16. package/dist/business/Area/index.d.ts +1 -2
  17. package/dist/business/Area/index.js +2 -2
  18. package/dist/business/Area/index.js.map +1 -1
  19. package/dist/business/Base/ObjectLayer.d.ts +2 -4
  20. package/dist/business/Base/ObjectLayer.js +11 -7
  21. package/dist/business/Base/ObjectLayer.js.map +1 -1
  22. package/dist/business/Batch/index.d.ts +1 -1
  23. package/dist/business/Batch/index.js +2 -2
  24. package/dist/business/Batch/index.js.map +1 -1
  25. package/dist/business/Box/index.d.ts +1 -1
  26. package/dist/business/Box/index.js +2 -2
  27. package/dist/business/Box/index.js.map +1 -1
  28. package/dist/business/Box/interface.js.map +1 -1
  29. package/dist/business/Box/types.js.map +1 -1
  30. package/dist/business/Cylinder/index.d.ts +1 -1
  31. package/dist/business/Cylinder/index.js +2 -2
  32. package/dist/business/Cylinder/index.js.map +1 -1
  33. package/dist/business/Cylinder/interface.d.ts +1 -1
  34. package/dist/business/Cylinder/interface.js.map +1 -1
  35. package/dist/business/Cylinder/types.js.map +1 -1
  36. package/dist/business/Flyline/index.d.ts +2 -2
  37. package/dist/business/Flyline/index.js +8 -8
  38. package/dist/business/Flyline/index.js.map +1 -1
  39. package/dist/business/Flyline/line/ArcLine.d.ts +1 -1
  40. package/dist/business/Flyline/line/ArcLine.js +3 -3
  41. package/dist/business/Flyline/line/ArcLine.js.map +1 -1
  42. package/dist/business/HeatMap/HeatMap.d.ts +59 -3
  43. package/dist/business/HeatMap/HeatMap.js +95 -7
  44. package/dist/business/HeatMap/HeatMap.js.map +1 -1
  45. package/dist/business/InfoPanel/index.d.ts +4 -3
  46. package/dist/business/InfoPanel/index.js +19 -13
  47. package/dist/business/InfoPanel/index.js.map +1 -1
  48. package/dist/business/InfoPanel/type.js.map +1 -1
  49. package/dist/business/Line/index.d.ts +3 -3
  50. package/dist/business/Line/index.js +7 -8
  51. package/dist/business/Line/index.js.map +1 -1
  52. package/dist/business/Line/interface.d.ts +4 -4
  53. package/dist/business/Line/interface.js.map +1 -1
  54. package/dist/business/Line/types.js.map +1 -1
  55. package/dist/business/Mark/index.d.ts +1 -2
  56. package/dist/business/Mark/index.js +3 -3
  57. package/dist/business/Mark/index.js.map +1 -1
  58. package/dist/business/MaterialSwitch/MaterialSwitchSystem.d.ts +3 -5
  59. package/dist/business/MaterialSwitch/MaterialSwitchSystem.js +10 -14
  60. package/dist/business/MaterialSwitch/MaterialSwitchSystem.js.map +1 -1
  61. package/dist/business/MaterialSwitch/index.js.map +1 -1
  62. package/dist/business/Plane/index.d.ts +2 -3
  63. package/dist/business/Plane/index.js +2 -2
  64. package/dist/business/Plane/index.js.map +1 -1
  65. package/dist/business/Plane/interface.d.ts +5 -5
  66. package/dist/business/Plane/interface.js.map +1 -1
  67. package/dist/business/Plane/types.js.map +1 -1
  68. package/dist/business/Poi/index.d.ts +3 -2
  69. package/dist/business/Poi/index.js +54 -25
  70. package/dist/business/Poi/index.js.map +1 -1
  71. package/dist/business/Poi/link/Cylinder.d.ts +1 -2
  72. package/dist/business/Poi/link/Cylinder.js +3 -3
  73. package/dist/business/Poi/link/Cylinder.js.map +1 -1
  74. package/dist/business/Poi/link/Pyramid.d.ts +1 -2
  75. package/dist/business/Poi/link/Pyramid.js +2 -2
  76. package/dist/business/Poi/link/Pyramid.js.map +1 -1
  77. package/dist/business/Poi/link/index.d.ts +2 -2
  78. package/dist/business/Poi/link/index.js +2 -2
  79. package/dist/business/Poi/link/index.js.map +1 -1
  80. package/dist/business/Poi/panel/index.d.ts +3 -3
  81. package/dist/business/Poi/panel/index.js +6 -7
  82. package/dist/business/Poi/panel/index.js.map +1 -1
  83. package/dist/business/Poi/panel/interfaces.js.map +1 -1
  84. package/dist/business/Poi/panel/utils.d.ts +1 -1
  85. package/dist/business/Poi/panel/utils.js +3 -3
  86. package/dist/business/Poi/panel/utils.js.map +1 -1
  87. package/dist/business/Poi/particle/DoubleCircle.d.ts +1 -2
  88. package/dist/business/Poi/particle/DoubleCircle.js +2 -3
  89. package/dist/business/Poi/particle/DoubleCircle.js.map +1 -1
  90. package/dist/business/Poi/particle/DynamicCircle.d.ts +1 -2
  91. package/dist/business/Poi/particle/DynamicCircle.js +2 -3
  92. package/dist/business/Poi/particle/DynamicCircle.js.map +1 -1
  93. package/dist/business/Poi/particle/SingleCircle.d.ts +1 -2
  94. package/dist/business/Poi/particle/SingleCircle.js +2 -3
  95. package/dist/business/Poi/particle/SingleCircle.js.map +1 -1
  96. package/dist/business/Poi/particle/index.d.ts +2 -2
  97. package/dist/business/Poi/particle/index.js +2 -2
  98. package/dist/business/Poi/particle/index.js.map +1 -1
  99. package/dist/business/Poi/title/Border.d.ts +1 -2
  100. package/dist/business/Poi/title/Border.js +2 -2
  101. package/dist/business/Poi/title/Border.js.map +1 -1
  102. package/dist/business/Poi/title/Ellipse.d.ts +1 -2
  103. package/dist/business/Poi/title/Ellipse.js +2 -2
  104. package/dist/business/Poi/title/Ellipse.js.map +1 -1
  105. package/dist/business/Poi/title/index.d.ts +1 -2
  106. package/dist/business/Poi/title/index.js +2 -2
  107. package/dist/business/Poi/title/index.js.map +1 -1
  108. package/dist/business/Sphere/index.d.ts +2 -2
  109. package/dist/business/Sphere/index.js +2 -2
  110. package/dist/business/Sphere/index.js.map +1 -1
  111. package/dist/business/Sphere/interface.js.map +1 -1
  112. package/dist/business/Sphere/types.js.map +1 -1
  113. package/dist/business/Spline/index.d.ts +1 -2
  114. package/dist/business/Spline/index.js +28 -14
  115. package/dist/business/Spline/index.js.map +1 -1
  116. package/dist/business/SplitBuilding/index.d.ts +2 -2
  117. package/dist/business/SplitBuilding/index.js +2 -2
  118. package/dist/business/SplitBuilding/index.js.map +1 -1
  119. package/dist/business/TrafficComponents/RealismTraffic/RealismTraffic.d.ts +2 -2
  120. package/dist/business/TrafficComponents/RealismTraffic/RealismTraffic.js +5 -6
  121. package/dist/business/TrafficComponents/RealismTraffic/RealismTraffic.js.map +1 -1
  122. package/dist/business/TrafficComponents/StreamerTraffic/StreamerTraffic.d.ts +2 -2
  123. package/dist/business/TrafficComponents/StreamerTraffic/StreamerTraffic.js +3 -3
  124. package/dist/business/TrafficComponents/StreamerTraffic/StreamerTraffic.js.map +1 -1
  125. package/dist/business/TrafficComponents/base.d.ts +4 -4
  126. package/dist/business/TrafficComponents/base.js +6 -6
  127. package/dist/business/TrafficComponents/base.js.map +1 -1
  128. package/dist/business/TrafficComponents/index.d.ts +2 -4
  129. package/dist/business/TrafficComponents/index.js +2 -2
  130. package/dist/business/TrafficComponents/index.js.map +1 -1
  131. package/dist/business/Utils/defineProps.js +3 -3
  132. package/dist/business/Utils/defineProps.js.map +1 -1
  133. package/dist/business/VideoPanel/index.d.ts +4 -4
  134. package/dist/business/VideoPanel/index.js +13 -11
  135. package/dist/business/VideoPanel/index.js.map +1 -1
  136. package/dist/business/VideoPanel/type.d.ts +8 -8
  137. package/dist/business/VideoPanel/type.js.map +1 -1
  138. package/dist/business/Water/index.d.ts +1 -3
  139. package/dist/business/Water/index.js +5 -5
  140. package/dist/business/Water/index.js.map +1 -1
  141. package/dist/business/index.d.ts +18 -21
  142. package/dist/business/index.js +18 -18
  143. package/dist/business/index.js.map +1 -1
  144. package/dist/core/Camera/PerspectiveCamera/CameraExpand.d.ts +1 -1
  145. package/dist/core/Camera/PerspectiveCamera/CameraExpand.js +4 -4
  146. package/dist/core/Camera/PerspectiveCamera/CameraExpand.js.map +1 -1
  147. package/dist/core/Camera/index.d.ts +1 -2
  148. package/dist/core/Camera/index.js +1 -1
  149. package/dist/core/Camera/index.js.map +1 -1
  150. package/dist/core/Controls/FirstViewControl/index.d.ts +2 -3
  151. package/dist/core/Controls/FirstViewControl/index.js +2 -4
  152. package/dist/core/Controls/FirstViewControl/index.js.map +1 -1
  153. package/dist/core/Controls/ThirdViewControl/index.d.ts +2 -3
  154. package/dist/core/Controls/ThirdViewControl/index.js +3 -6
  155. package/dist/core/Controls/ThirdViewControl/index.js.map +1 -1
  156. package/dist/core/Controls/ThirdViewControl/player/camera.d.ts +2 -4
  157. package/dist/core/Controls/ThirdViewControl/player/camera.js +2 -5
  158. package/dist/core/Controls/ThirdViewControl/player/camera.js.map +1 -1
  159. package/dist/core/Controls/ThirdViewControl/player.d.ts +2 -4
  160. package/dist/core/Controls/ThirdViewControl/player.js +2 -6
  161. package/dist/core/Controls/ThirdViewControl/player.js.map +1 -1
  162. package/dist/core/Controls/base.d.ts +3 -4
  163. package/dist/core/Controls/base.js +3 -5
  164. package/dist/core/Controls/base.js.map +1 -1
  165. package/dist/core/Curve/index.d.ts +1 -2
  166. package/dist/core/Curve/index.js +1 -1
  167. package/dist/core/Curve/index.js.map +1 -1
  168. package/dist/core/Material/SurfaceMaterial/index.js.map +1 -1
  169. package/dist/core/Material/index.d.ts +3 -5
  170. package/dist/core/Material/index.js +3 -3
  171. package/dist/core/Material/index.js.map +1 -1
  172. package/dist/core/PostEffects/addACESFilmicToneMappingPass.d.ts +1 -2
  173. package/dist/core/PostEffects/addACESFilmicToneMappingPass.js +4 -4
  174. package/dist/core/PostEffects/addACESFilmicToneMappingPass.js.map +1 -1
  175. package/dist/core/PostEffects/addBrightnessContrastPass.d.ts +1 -2
  176. package/dist/core/PostEffects/addBrightnessContrastPass.js +4 -4
  177. package/dist/core/PostEffects/addBrightnessContrastPass.js.map +1 -1
  178. package/dist/core/PostEffects/bloomPass.d.ts +1 -2
  179. package/dist/core/PostEffects/bloomPass.js +5 -6
  180. package/dist/core/PostEffects/bloomPass.js.map +1 -1
  181. package/dist/core/PostEffects/bloomSelect.d.ts +2 -2
  182. package/dist/core/PostEffects/bloomSelect.js +6 -7
  183. package/dist/core/PostEffects/bloomSelect.js.map +1 -1
  184. package/dist/core/PostEffects/colorifyPass.d.ts +2 -2
  185. package/dist/core/PostEffects/colorifyPass.js +4 -4
  186. package/dist/core/PostEffects/colorifyPass.js.map +1 -1
  187. package/dist/core/PostEffects/index.d.ts +13 -4
  188. package/dist/core/PostEffects/index.js +20 -14
  189. package/dist/core/PostEffects/index.js.map +1 -1
  190. package/dist/core/PostEffects/outlinePass.d.ts +2 -2
  191. package/dist/core/PostEffects/outlinePass.js +5 -4
  192. package/dist/core/PostEffects/outlinePass.js.map +1 -1
  193. package/dist/core/PostEffects/postprocessing.d.ts +2 -2
  194. package/dist/core/PostEffects/postprocessing.js +2 -2
  195. package/dist/core/PostEffects/postprocessing.js.map +1 -1
  196. package/dist/core/PostEffects/saoPass.d.ts +1 -2
  197. package/dist/core/PostEffects/saoPass.js +5 -4
  198. package/dist/core/PostEffects/saoPass.js.map +1 -1
  199. package/dist/core/SceneEffect/grow/grow.d.ts +1 -3
  200. package/dist/core/SceneEffect/grow/grow.js +3 -5
  201. package/dist/core/SceneEffect/grow/grow.js.map +1 -1
  202. package/dist/core/WeatherSystem/DynamicWeatherSystem.d.ts +1 -3
  203. package/dist/core/WeatherSystem/DynamicWeatherSystem.js +4 -6
  204. package/dist/core/WeatherSystem/DynamicWeatherSystem.js.map +1 -1
  205. package/dist/core/WeatherSystem/color/index.d.ts +0 -3
  206. package/dist/core/WeatherSystem/color/index.js +14 -9
  207. package/dist/core/WeatherSystem/color/index.js.map +1 -1
  208. package/dist/core/WeatherSystem/controller/ColorController.d.ts +1 -3
  209. package/dist/core/WeatherSystem/controller/ColorController.js +3 -5
  210. package/dist/core/WeatherSystem/controller/ColorController.js.map +1 -1
  211. package/dist/core/WeatherSystem/controller/HDRController.d.ts +1 -3
  212. package/dist/core/WeatherSystem/controller/HDRController.js +3 -5
  213. package/dist/core/WeatherSystem/controller/HDRController.js.map +1 -1
  214. package/dist/core/WeatherSystem/controller/SkyController.d.ts +1 -3
  215. package/dist/core/WeatherSystem/controller/SkyController.js +2 -4
  216. package/dist/core/WeatherSystem/controller/SkyController.js.map +1 -1
  217. package/dist/core/WeatherSystem/hdr/index.d.ts +2 -4
  218. package/dist/core/WeatherSystem/hdr/index.js +11 -12
  219. package/dist/core/WeatherSystem/hdr/index.js.map +1 -1
  220. package/dist/core/WeatherSystem/index.d.ts +2 -3
  221. package/dist/core/WeatherSystem/index.js +4 -7
  222. package/dist/core/WeatherSystem/index.js.map +1 -1
  223. package/dist/core/WeatherSystem/objects/rain/index.d.ts +1 -2
  224. package/dist/core/WeatherSystem/objects/rain/index.js +3 -3
  225. package/dist/core/WeatherSystem/objects/rain/index.js.map +1 -1
  226. package/dist/core/WeatherSystem/objects/rain/lineRain.d.ts +1 -3
  227. package/dist/core/WeatherSystem/objects/rain/lineRain.js +5 -7
  228. package/dist/core/WeatherSystem/objects/rain/lineRain.js.map +1 -1
  229. package/dist/core/WeatherSystem/objects/rain/plane.d.ts +1 -3
  230. package/dist/core/WeatherSystem/objects/rain/plane.js +4 -6
  231. package/dist/core/WeatherSystem/objects/rain/plane.js.map +1 -1
  232. package/dist/core/WeatherSystem/objects/rain/point.d.ts +1 -3
  233. package/dist/core/WeatherSystem/objects/rain/point.js +0 -3
  234. package/dist/core/WeatherSystem/objects/rain/point.js.map +1 -1
  235. package/dist/core/WeatherSystem/sky/index.js.map +1 -1
  236. package/dist/core/WeatherSystem/utils/constant.js.map +1 -1
  237. package/dist/core/WeatherSystem/weather/index.d.ts +2 -3
  238. package/dist/core/WeatherSystem/weather/index.js +5 -7
  239. package/dist/core/WeatherSystem/weather/index.js.map +1 -1
  240. package/dist/index.d.ts +8 -13
  241. package/dist/index.js +8 -8
  242. package/dist/index.js.map +1 -1
  243. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","ObjectLayer","StrategyManage","pyramid","_pyramid","_callee","_callee$","_context","default","cylinder","_cylinder","_callee2","_callee2$","_context2","LinkMesh","_ObjectLayer","_inherits","_super","_createSuper","sceneControl","_this","_classCallCheck","_defineProperty","_assertThisInitialized","Set","_createClass","get","_readyPromise","_vspace","set","newValue","_hspace","_mesh","setupAnimation","addReloadListener","callback","_listeners","add","removeReloadListener","delete","destroy","remove","removeFromParent","clear"],"sources":["../../../../src/business/Poi/link/index.ts"],"sourcesContent":["import type { Group, Mesh, SceneControl } from '@anov/3d-core'\nimport ObjectLayer from '../../Base/ObjectLayer'\n\nexport const StrategyManage = {\n pyramid: async () => (await import('./Pyramid')).default,\n cylinder: async () => (await import('./Cylinder')).default,\n}\n\nexport default class LinkMesh extends ObjectLayer {\n _readyPromise: Promise<boolean>\n _vspace: [number, number] = [0, 0] // 垂直间距\n _hspace: [number, number] = [0, 0] // 水平间距\n _mesh: Group | Mesh\n _listeners = new Set()\n\n constructor(sceneControl: SceneControl) {\n super(sceneControl)\n }\n\n public get ready() {\n return this._readyPromise\n }\n\n public get vspace() {\n return this._vspace\n }\n\n public set vspace(newValue) {\n this._vspace = newValue\n }\n\n public get hspace() {\n return this._hspace\n }\n\n public get mesh() {\n return this._mesh\n }\n\n public setupAnimation() {}\n\n // 注册监听\n public addReloadListener(callback) {\n this._listeners.add(callback)\n }\n\n // 移除监听\n public removeReloadListener(callback) {\n this._listeners.delete(callback)\n }\n\n // 销毁\n public destroy() {\n this._mesh.remove()\n this._mesh.removeFromParent()\n this._listeners.clear()\n }\n}"],"mappings":"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"}
1
+ {"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","ObjectLayer","StrategyManage","pyramid","_pyramid","_callee","_callee$","_context","default","cylinder","_cylinder","_callee2","_callee2$","_context2","LinkMesh","_ObjectLayer","_inherits","_super","_createSuper","_this","_classCallCheck","_defineProperty","_assertThisInitialized","Set","_createClass","get","_readyPromise","_vspace","set","newValue","_hspace","_mesh","setupAnimation","addReloadListener","callback","_listeners","add","removeReloadListener","delete","destroy","remove","removeFromParent","clear"],"sources":["../../../../src/business/Poi/link/index.ts"],"sourcesContent":["import type { Group, Mesh } from '@anov/3d-core'\nimport ObjectLayer from '../../Base/ObjectLayer'\n\nexport const StrategyManage = {\n pyramid: async () => (await import('./Pyramid')).default,\n cylinder: async () => (await import('./Cylinder')).default,\n}\n\nexport default class LinkMesh extends ObjectLayer {\n _readyPromise: Promise<boolean>\n _vspace: [number, number] = [0, 0] // 垂直间距\n _hspace: [number, number] = [0, 0] // 水平间距\n _mesh: Group | Mesh\n _listeners = new Set()\n\n constructor() {\n super()\n }\n\n public get ready() {\n return this._readyPromise\n }\n\n public get vspace() {\n return this._vspace\n }\n\n public set vspace(newValue) {\n this._vspace = newValue\n }\n\n public get hspace() {\n return this._hspace\n }\n\n public get mesh() {\n return this._mesh\n }\n\n public setupAnimation() {}\n\n // 注册监听\n public addReloadListener(callback) {\n this._listeners.add(callback)\n }\n\n // 移除监听\n public removeReloadListener(callback) {\n this._listeners.delete(callback)\n }\n\n // 销毁\n public destroy() {\n this._mesh.remove()\n this._mesh.removeFromParent()\n this._listeners.clear()\n }\n}"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { type PerspectiveCamera, type SceneControl } from '@anov/3d-core';
1
+ import { type PerspectiveCamera } from '@anov/3d-core';
2
2
  import ObjectLayer from '../../Base/ObjectLayer';
3
- import type { InfoPanelUpdateConfig } from './interfaces';
3
+ import { InfoPanelUpdateConfig } from './interfaces';
4
4
  /**
5
5
  * InfoPanel
6
6
  * 一个基于 CSS3DObject 的三维信息面板。面板的排版以像素为单位,
@@ -46,7 +46,7 @@ export default class InfoPanel extends ObjectLayer {
46
46
  * 构造函数
47
47
  * @param cfg 外部配置对象;仅识别本组件支持的字段,其他字段会忽略
48
48
  */
49
- constructor(cfg: InfoPanelUpdateConfig, sceneControl: SceneControl);
49
+ constructor(cfg?: InfoPanelUpdateConfig);
50
50
  /**
51
51
  * 将传入的配置与默认值合并并规范化。
52
52
  * - 自动处理文本样式、九宫格背景、可见性、对齐与偏移。
@@ -19,18 +19,18 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
19
19
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
20
20
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
21
21
  /*
22
- * @Descripttion:
23
- * @version:
22
+ * @Descripttion:
23
+ * @version:
24
24
  * @Author: 周志国
25
25
  * @Date: 2025-11-27 15:14:21
26
26
  * @LastEditors: 周志国
27
27
  * @LastEditTime: 2025-12-01 15:44:33
28
- * @changeLog:
28
+ * @changeLog:
29
29
  * @FilePath: /anov-3d-webgl/packages/anov-3d-ability/src/business/Poi/panel/index.ts
30
30
  */
31
- import { CSS3DObject, MathUtils, Vector3 } from '@anov/3d-core';
31
+ import { CSS3DObject, Vector3, MathUtils } from '@anov/3d-core';
32
32
  import ObjectLayer from "../../Base/ObjectLayer";
33
- import { arr2, arr3, arr4, clampAlign, color, num, parseStyle, parseWeight, rep, sanitizeUrl, setStyles } from "./utils";
33
+ import { clampAlign, parseWeight, parseStyle, num, color, sanitizeUrl, arr2, arr3, rep, setStyles, arr4 } from "./utils";
34
34
  /**
35
35
  * 文件概览
36
36
  * InfoPanel 是一个基于 CSS3DObject 的信息面板组件,用于在三维场景中以“屏幕像素”为基础进行排版和渲染。
@@ -127,9 +127,8 @@ var InfoPanel = /*#__PURE__*/function (_ObjectLayer) {
127
127
  function InfoPanel() {
128
128
  var _this;
129
129
  var cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
130
- var sceneControl = arguments.length > 1 ? arguments[1] : undefined;
131
130
  _classCallCheck(this, InfoPanel);
132
- _this = _super.call(this, sceneControl);
131
+ _this = _super.call(this);
133
132
  // 新增字段声明,修复类型报错
134
133
  /**
135
134
  * 内部状态与元素引用
@@ -1 +1 @@
1
- {"version":3,"names":["CSS3DObject","MathUtils","Vector3","ObjectLayer","arr2","arr3","arr4","clampAlign","color","num","parseStyle","parseWeight","rep","sanitizeUrl","setStyles","defaults","text","value","fontSize","fontWeight","fontStyle","offset","align","spacing","bgUrl","hsl","bgNineSlice","enabled","slice","width","repeat","fill","radius","bgSlice","content","visible","size","scale","userScale3","pixelLock","billboard","anchor","InfoPanel","_ObjectLayer","_inherits","_super","_createSuper","_this","cfg","arguments","length","undefined","sceneControl","_classCallCheck","call","_defineProperty","_assertThisInitialized","config","JSON","parse","stringify","updateConfig","container","document","createElement","titleEl","contentEl","innerWrap","position","left","top","transform","pointerEvents","appendChild","_cssObject","add","applyStyle","_createClass","key","t","c","ns","Array","isArray","sx","sy","sz","s","bb","ac","setPosition","x","y","z","set","setRotation","rotation","setScale","setScalar","setBillboard","mode","m","setVisible","v","display","boxSizing","transformOrigin","backgroundRepeat","backgroundPosition","backfaceVisibility","padding","_this$config$size","_slicedToArray","pxW","pxH","height","minWidth","concat","minHeight","style","bottom","textContent","textAlign","letterSpacing","whiteSpace","overflow","textOverflow","marginLeft","marginTop","wordBreak","hasBgUrl","w","wClamped","Math","min","borderStyle","borderWidth","borderImageSource","borderImageSlice","borderImageRepeat","backgroundImage","borderRadius","backgroundSize","filter","update","updateFacing","camera","objPos","_tmpObjPos","camPos","_tmpCamPos","getWorldPosition","lookAt","dx","dz","yaw","atan2","updateDynamicScale","viewportWidth","window","innerWidth","viewportHeight","innerHeight","camDir","_tmpCamDir","getWorldDirection","d","clone","sub","dot","fovRad","degToRad","fov","worldPerPixelY","tan","worldPerPixelX","aspect","userScale","Number","isFinite","MAX_S","MIN_S","max","dispose","parent","remove","getWorldSize","wpx","offsetWidth","hpx","offsetHeight","default"],"sources":["../../../../src/business/Poi/panel/index.ts"],"sourcesContent":["/*\n * @Descripttion:\n * @version:\n * @Author: 周志国\n * @Date: 2025-11-27 15:14:21\n * @LastEditors: 周志国\n * @LastEditTime: 2025-12-01 15:44:33\n * @changeLog:\n * @FilePath: /anov-3d-webgl/packages/anov-3d-ability/src/business/Poi/panel/index.ts\n */\nimport { CSS3DObject, MathUtils, type PerspectiveCamera, type SceneControl, Vector3 } from '@anov/3d-core'\nimport ObjectLayer from '../../Base/ObjectLayer'\nimport { arr2, arr3, arr4, clampAlign, color, num, parseStyle, parseWeight, rep, sanitizeUrl, setStyles } from './utils'\nimport type { InfoPanelConfig, InfoPanelUpdateConfig, NineSliceConfig } from './interfaces'\n\n/**\n * 文件概览\n * InfoPanel 是一个基于 CSS3DObject 的信息面板组件,用于在三维场景中以“屏幕像素”为基础进行排版和渲染。\n * - 最小像素尺寸通过 `size` 指定(默认 320x180),容器会随内容自适应增大。\n * - `pixelLock` 为 true 时,面板会随相机距离自动缩放以保持屏幕像素大小恒定。\n * - `scale`/`userScale3` 提供统一或非均匀的用户缩放,参与最终缩放计算。\n * - `billboard` 支持朝向相机(`yaw` 或 `full`),用于看板效果。\n */\n\n/**\n * 组件默认配置。\n * - text: 标题(主文本)相关样式与背景设置\n * - content: 副文本显示与样式\n * - size: 面板最小像素尺寸 `[width, height]`\n * - scale: 统一用户缩放系数(>0)\n * - userScale3: 非均匀用户缩放 `[sx, sy, sz]`,与 `scale` 相乘\n * - pixelLock: 是否锁定屏幕像素尺寸\n * - billboard: 看板模式('none'|'yaw'|'full')\n * - anchor: 面板锚点('top'|'center'|'bottom')\n */\nconst defaults: InfoPanelConfig = {\n text: {\n value: '',\n fontSize: 16,\n color: '#ffffff',\n fontWeight: 'normal',\n fontStyle: 'normal',\n offset: [0, 0] as [number, number],\n align: 'left',\n spacing: 0,\n bgUrl: '',\n hsl: [200, 120, 80],\n bgNineSlice: {\n enabled: true,\n slice: [65, 92, 27, 17] as [number, number, number, number],\n width: [65, 92, 27, 17] as [number, number, number, number],\n repeat: 'stretch',\n fill: true,\n radius: 0,\n },\n bgSlice: [65, 92, 27, 17] as [number, number, number, number],\n },\n content: {\n visible: false,\n value: '',\n fontSize: 16,\n color: '#ffffff',\n fontWeight: 'normal',\n fontStyle: 'normal',\n align: 'left',\n offset: [0, 0] as [number, number],\n spacing: 0,\n },\n // 默认面板像素尺寸(宽度,高度)\n size: [320, 180] as [number, number],\n scale: 1,\n // 非均匀用户缩放(来自外部 scale: [x,y,z])\n userScale3: [1, 1, 1] as [number, number, number],\n // 屏幕像素锁定:保持屏幕像素尺寸恒定\n pixelLock: true,\n billboard: 'none',\n anchor: 'top',\n}\n\n/**\n * InfoPanel\n * 一个基于 CSS3DObject 的三维信息面板。面板的排版以像素为单位,\n * 并可根据相机参数在 3D 世界中动态映射为适当的世界尺寸。\n *\n * 关键特性:\n * - 像素锁定(`pixelLock`):保证屏幕像素尺寸恒定的看板效果。\n * - 动态缩放(`updateDynamicScale`):实时根据相机 FOV、距离、视口宽高计算世界尺度。\n * - 看板模式(`billboard`):支持水平(yaw)和全方位(full)朝向相机。\n * - 自定义缩放(`scale` 与 `userScale3`):统一与非均匀缩放相乘得到最终缩放。\n *\n * 用法概览:\n * const panel = new InfoPanel({\n * text: { value: 'POI A', fontSize: 18 },\n * size: [320, 180],\n * scale: 1,\n * pixelLock: true,\n * billboard: 'yaw',\n * anchor: 'top'\n * });\n * panel.updateDynamicScale(camera);\n */\nexport default class InfoPanel extends ObjectLayer {\n // 新增字段声明,修复类型报错\n /**\n * 内部状态与元素引用\n * - config: 当前配置(已合并 defaults 与外部传入)\n * - container: 面板根容器(用于 CSS3DObject 承载)\n * - titleEl: 标题元素\n * - contentEl: 内容元素(可选)\n * - innerWrap: 内部包裹,用于实现锚点与偏移\n * - _cssObject: three.js CSS3DObject(加入到 scene graph)\n */\n private config: InfoPanelConfig\n private container: HTMLDivElement\n private titleEl: HTMLDivElement\n private contentEl: HTMLDivElement\n private innerWrap: HTMLDivElement\n private _cssObject: CSS3DObject\n // 复用的临时向量,避免频繁创建对象\n private _tmpObjPos: Vector3 = new Vector3()\n private _tmpCamPos: Vector3 = new Vector3()\n private _tmpCamDir: Vector3 = new Vector3()\n\n /**\n * 构造函数\n * @param cfg 外部配置对象;仅识别本组件支持的字段,其他字段会忽略\n */\n constructor(cfg: InfoPanelUpdateConfig = {}, sceneControl: SceneControl) {\n super(sceneControl)\n this.config = JSON.parse(JSON.stringify(defaults))\n this.updateConfig(cfg)\n this.container = document.createElement('div')\n this.titleEl = document.createElement('div')\n this.contentEl = document.createElement('div')\n this.innerWrap = document.createElement('div')\n // 内层包裹用于布局,默认采用容器左上角为参考点\n setStyles(this.innerWrap, {\n position: 'relative',\n left: '0',\n top: '0',\n transform: 'none',\n pointerEvents: 'auto',\n })\n this.innerWrap.appendChild(this.titleEl)\n this.innerWrap.appendChild(this.contentEl)\n this.container.appendChild(this.innerWrap)\n // 将 CSS3DObject 作为子节点添加,而非赋值到 this.object3D\n this._cssObject = new CSS3DObject(this.container)\n this.add(this._cssObject)\n this.applyStyle()\n }\n\n /**\n * 将传入的配置与默认值合并并规范化。\n * - 自动处理文本样式、九宫格背景、可见性、对齐与偏移。\n * - `scale`: 支持数值(统一缩放)或长度为 3 的数组(非均匀缩放)。\n * - `pixelLock`: 是否锁定屏幕像素尺寸。\n * - `anchor`: 面板锚点。\n * @param cfg 配置对象\n */\n updateConfig(cfg: InfoPanelUpdateConfig = {}) {\n const t = cfg.text || {}\n const c = cfg.content || {}\n this.config.text.value = typeof t.value === 'string' ? t.value : this.config.text.value\n this.config.text.fontSize = num(t.fontSize, this.config.text.fontSize)\n this.config.text.color = color(t.color, this.config.text.color)\n this.config.text.fontWeight = parseWeight(t.fontWeight || this.config.text.fontWeight)\n this.config.text.fontStyle = parseStyle(t.fontStyle || this.config.text.fontStyle)\n this.config.text.offset = arr2(t.offset, this.config.text.offset) as [number, number]\n this.config.text.align = clampAlign(t.align || this.config.text.align)\n this.config.text.spacing = num(t.spacing, this.config.text.spacing)\n this.config.text.bgUrl = typeof t.bgUrl === 'string' ? sanitizeUrl(t.bgUrl) : this.config.text.bgUrl\n this.config.text.hsl = arr3(t.hsl, this.config.text.hsl).slice(0, 3) as [number, number, number]\n const ns: Partial<NineSliceConfig> = t.bgNineSlice || {}\n this.config.text.bgNineSlice.enabled = typeof ns.enabled === 'boolean' ? ns.enabled : this.config.text.bgNineSlice.enabled\n this.config.text.bgNineSlice.slice = arr4(ns.slice || t.bgSlice, this.config.text.bgNineSlice.slice) as [number, number, number, number]\n this.config.text.bgNineSlice.width = arr4(ns.width || t.bgSlice, this.config.text.bgNineSlice.width) as [number, number, number, number]\n this.config.text.bgNineSlice.repeat = rep(ns.repeat || this.config.text.bgNineSlice.repeat) as NineSliceConfig['repeat']\n this.config.text.bgNineSlice.fill = typeof ns.fill === 'boolean' ? ns.fill : this.config.text.bgNineSlice.fill\n this.config.text.bgNineSlice.radius = num(ns.radius, this.config.text.bgNineSlice.radius)\n this.config.content.visible = typeof c.visible === 'boolean' ? c.visible : this.config.content.visible\n this.config.content.value = typeof c.value === 'string' ? c.value : this.config.content.value\n this.config.content.fontSize = num(c.fontSize, this.config.content.fontSize)\n this.config.content.color = color(c.color, this.config.content.color)\n this.config.content.fontWeight = parseWeight(c.fontWeight || this.config.content.fontWeight)\n this.config.content.fontStyle = parseStyle(c.fontStyle || this.config.content.fontStyle)\n this.config.content.align = clampAlign(c.align || this.config.content.align)\n this.config.content.offset = arr2(c.offset, this.config.content.offset) as [number, number]\n this.config.content.spacing = num(c.spacing, this.config.content.spacing)\n // 支持数值或数组。数值作为统一倍数,数组作为非均匀倍数\n if (Array.isArray(cfg.scale) && cfg.scale.length === 3) {\n const sx = num(cfg.scale[0], this.config.userScale3[0])\n const sy = num(cfg.scale[1], this.config.userScale3[1])\n const sz = num(cfg.scale[2], this.config.userScale3[2])\n this.config.userScale3 = [sx, sy, sz]\n }\n else {\n const s = num(cfg.scale, this.config.scale)\n // 用户缩放因子:仅作为乘数,不参与单位换算\n this.config.scale = s > 0 ? s : this.config.scale\n }\n const bb = (cfg.billboard || this.config.billboard)\n this.config.billboard = bb === 'yaw' || bb === 'full' ? bb : 'none'\n // 面板尺寸可通过 cfg.size 指定,否则使用默认尺寸\n this.config.size = arr2(cfg.size, this.config.size) as [number, number]\n // 屏幕像素锁定\n this.config.pixelLock = !!(typeof cfg.pixelLock === 'boolean' ? cfg.pixelLock : this.config.pixelLock)\n // 面板锚点\n const ac = cfg.anchor || this.config.anchor\n this.config.anchor = ac === 'top' || ac === 'center' || ac === 'bottom' ? ac : 'bottom'\n }\n\n /**\n * 设置面板世界坐标(应用到 CSS3DObject)。\n */\n setPosition(x: number, y: number, z: number): void {\n this._cssObject.position.set(x, y, z)\n }\n\n /**\n * 设置面板世界旋转(欧拉角,单位:弧度)。\n */\n setRotation(x: number, y: number, z: number): void {\n this._cssObject.rotation.set(x, y, z)\n }\n\n /**\n * 设置统一缩放因子(立即应用到 CSS3DObject)。\n * 注意:若使用 `updateDynamicScale`,每帧会覆盖此值。\n */\n setScale(s: number): void {\n this._cssObject.scale.setScalar(s)\n }\n\n /**\n * 设置看板模式。\n * @param mode 'none' | 'yaw' | 'full'\n */\n setBillboard(mode: 'none' | 'yaw' | 'full'): void {\n const m = mode === 'yaw' || mode === 'full' ? mode : 'none'\n this.config.billboard = m\n }\n\n /**\n * 设置可见性。\n * @param v 是否可见\n */\n setVisible(v: boolean): void {\n this._cssObject.visible = !!v\n }\n\n /**\n * 应用所有样式与文本到 DOM。\n * 仅影响面板的排版与外观,不涉及 3D 变换。\n */\n applyStyle(): void {\n const t = this.config.text\n const c = this.config.content\n // 基础容器样式,确保可见尺寸与居中锚点\n setStyles(this.container, {\n display: 'inline-block',\n boxSizing: 'border-box',\n transformOrigin: 'center center',\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center',\n backfaceVisibility: 'hidden',\n padding: '8px',\n })\n // 最小像素尺寸(默认 320x180,可通过 cfg.size 覆盖),容器尺寸随内容自适应\n const [pxW, pxH] = this.config.size\n setStyles(this.container, {\n width: '',\n height: '',\n minWidth: `${pxW}px`,\n minHeight: `${pxH}px`,\n })\n // 根据锚点设置内部包裹的定位与偏移(默认 top:以左上角为参考)\n if (this.config.anchor === 'top') {\n this.innerWrap.style.left = '0'\n this.innerWrap.style.top = '0'\n this.innerWrap.style.bottom = 'auto'\n this.innerWrap.style.transform = 'none'\n }\n else if (this.config.anchor === 'center') {\n this.innerWrap.style.left = '50%'\n this.innerWrap.style.top = '50%'\n this.innerWrap.style.bottom = 'auto'\n this.innerWrap.style.transform = 'translate(-50%, -50%)'\n }\n else { // bottom\n this.innerWrap.style.left = '0'\n this.innerWrap.style.top = 'auto'\n this.innerWrap.style.bottom = '0'\n this.innerWrap.style.transform = 'none'\n }\n this.titleEl.textContent = t.value || ''\n setStyles(this.titleEl, {\n fontSize: `${t.fontSize}px`,\n color: t.color,\n fontWeight: t.fontWeight,\n fontStyle: t.fontStyle,\n textAlign: t.align,\n letterSpacing: `${num(t.spacing)}px`,\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n marginLeft: `${num(t.offset[0])}px`,\n marginTop: `${num(t.offset[1])}px`,\n })\n this.contentEl.style.display = c.visible ? 'block' : 'none'\n this.contentEl.textContent = c.value || ''\n setStyles(this.contentEl, {\n fontSize: `${c.fontSize}px`,\n color: c.color,\n fontWeight: c.fontWeight,\n fontStyle: c.fontStyle,\n textAlign: c.align,\n letterSpacing: `${num(c.spacing)}px`,\n whiteSpace: 'pre-wrap',\n wordBreak: 'break-word',\n overflow: 'visible',\n textOverflow: 'clip',\n marginLeft: `${num(c.offset[0])}px`,\n marginTop: `${num(c.offset[1])}px`,\n })\n const hasBgUrl = typeof t.bgUrl === 'string' && t.bgUrl.length > 0\n if (hasBgUrl) {\n if (t.bgNineSlice && t.bgNineSlice.enabled) {\n const s = t.bgNineSlice.slice\n const w = t.bgNineSlice.width\n // 厚度限制,避免边框厚度超过容器尺寸导致异常视觉放大\n const wClamped = [\n Math.min(w[0], pxH * 0.5),\n Math.min(w[1], pxW * 0.5),\n Math.min(w[2], pxH * 0.5),\n Math.min(w[3], pxW * 0.5),\n ] as [number, number, number, number]\n setStyles(this.container, {\n borderStyle: 'solid',\n borderWidth: `${wClamped[0]}px ${wClamped[1]}px ${wClamped[2]}px ${wClamped[3]}px`,\n borderImageSource: `url(${t.bgUrl})`,\n borderImageSlice: `${s[0]} ${s[1]} ${s[2]} ${s[3]}${t.bgNineSlice.fill ? ' fill' : ''}`,\n borderImageRepeat: t.bgNineSlice.repeat,\n backgroundImage: 'none',\n borderRadius: `${num(t.bgNineSlice.radius, 0)}px`,\n })\n }\n else {\n setStyles(this.container, {\n backgroundImage: `url(${t.bgUrl})`,\n borderImageSource: 'none',\n borderImageSlice: '',\n borderImageRepeat: '',\n borderStyle: 'none',\n borderWidth: '0px',\n })\n }\n }\n else {\n setStyles(this.container, {\n backgroundImage: 'none',\n borderImageSource: 'none',\n borderImageSlice: '',\n borderImageRepeat: '',\n borderStyle: 'none',\n borderWidth: '0px',\n })\n }\n // 背景填充整个容器尺寸\n setStyles(this.container, {\n backgroundSize: '100% 100%',\n textAlign: t.align,\n pointerEvents: 'auto',\n filter: `hue-rotate(${num(t.hsl[0], 0)}deg) saturate(${num(t.hsl[1], 0)}%) brightness(${num(t.hsl[2], 0)}%)`,\n })\n }\n\n /**\n * 更新配置并立即重新应用到 DOM。\n * @param cfg 新配置\n */\n update(cfg: InfoPanelUpdateConfig = {}): void {\n this.updateConfig(cfg)\n this.applyStyle()\n }\n\n /**\n * 根据看板模式使面板朝向相机。\n * - 'full':使用 `lookAt` 全方位朝向相机。\n * - 'yaw':仅绕 Y 轴旋转,保持水平面朝向相机。\n * - 'none':不处理朝向。\n * @param camera three.js 相机\n */\n updateFacing(camera: PerspectiveCamera): void {\n const mode = this.config.billboard\n if (mode === 'none')\n return\n const objPos = this._tmpObjPos\n const camPos = this._tmpCamPos\n this._cssObject.getWorldPosition(objPos)\n camera.getWorldPosition(camPos)\n if (mode === 'full') {\n this._cssObject.lookAt(camPos)\n }\n else if (mode === 'yaw') {\n const dx = camPos.x - objPos.x\n const dz = camPos.z - objPos.z\n const yaw = Math.atan2(dx, dz)\n this._cssObject.rotation.set(0, yaw, 0)\n }\n }\n\n /**\n * 动态缩放:根据相机 FOV、沿相机前向的距离 d、视口尺寸,\n * 计算“每像素对应的世界单位”,并结合用户缩放得到最终缩放。\n * - pixelLock: s = worldPerPixelX * userScale\n * - 非锁定: s = userScale\n * - 最终各轴缩放: [sx, sy, sz] = s * userScale3\n */\n updateDynamicScale(camera: PerspectiveCamera, viewportWidth = window.innerWidth, viewportHeight = window.innerHeight): void {\n if (!camera)\n return\n const objPos = this._tmpObjPos\n const camPos = this._tmpCamPos\n const camDir = this._tmpCamDir\n this._cssObject.getWorldPosition(objPos)\n camera.getWorldPosition(camPos)\n camera.getWorldDirection(camDir)\n const d = objPos.clone().sub(camPos).dot(camDir)\n const fovRad = MathUtils.degToRad(camera.fov)\n const worldPerPixelY = (2 * d * Math.tan(fovRad / 2)) / viewportHeight\n const worldPerPixelX = worldPerPixelY * camera.aspect\n const userScale = this.config.scale\n const userScale3 = this.config.userScale3 || [1, 1, 1]\n // pixel-lock:保持屏幕像素尺寸恒定;非锁定:使用统一用户系数\n let s = this.config.pixelLock\n ? worldPerPixelX * (userScale > 0 ? userScale : 1)\n : (userScale > 0 ? userScale : 1)\n if (!Number.isFinite(s) || s <= 0)\n return\n // 简单限幅,避免极端相机参数造成缩放异常\n const MAX_S = 1e3\n const MIN_S = 1e-6\n s = Math.max(Math.min(s, MAX_S), MIN_S)\n const sx = s * (userScale3[0] || 1)\n const sy = s * (userScale3[1] || 1)\n const sz = s * (userScale3[2] || 1)\n this._cssObject.scale.set(sx, sy, sz)\n }\n\n // 移除父级缩放抵消,面板可响应外部实体缩放(含非均匀)\n\n /**\n * 释放面板:从场景移除 CSS3DObject,并清理 DOM。\n */\n dispose(): void {\n if (this._cssObject.parent)\n this._cssObject.parent.remove(this._cssObject)\n this.container.remove()\n }\n\n /**\n * 获取当前面板在世界坐标中的宽高(单位:世界单位)。\n * 注意:结果受相机参数、面板到相机的距离以及当前 `_cssObject.scale` 影响。\n * @param camera three.js 相机\n * @param viewportWidth 视口宽度(像素)\n * @param viewportHeight 视口高度(像素)\n * @returns `{ width, height }` 世界单位\n */\n getWorldSize(camera: PerspectiveCamera, viewportWidth = window.innerWidth, viewportHeight = window.innerHeight): { width: number; height: number } {\n const objPos = this._tmpObjPos\n const camPos = this._tmpCamPos\n const camDir = this._tmpCamDir\n this._cssObject.getWorldPosition(objPos)\n camera.getWorldPosition(camPos)\n camera.getWorldDirection(camDir)\n const d = objPos.clone().sub(camPos).dot(camDir)\n const fovRad = MathUtils.degToRad(camera.fov)\n const worldPerPixelY = (2 * d * Math.tan(fovRad / 2)) / viewportHeight\n const worldPerPixelX = worldPerPixelY * camera.aspect\n const wpx = this.container.offsetWidth || 0\n const hpx = this.container.offsetHeight || 0\n const s = this._cssObject.scale.x\n return { width: wpx * worldPerPixelX * s, height: hpx * worldPerPixelY * s }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["CSS3DObject","Vector3","MathUtils","ObjectLayer","clampAlign","parseWeight","parseStyle","num","color","sanitizeUrl","arr2","arr3","rep","setStyles","arr4","defaults","text","value","fontSize","fontWeight","fontStyle","offset","align","spacing","bgUrl","hsl","bgNineSlice","enabled","slice","width","repeat","fill","radius","bgSlice","content","visible","size","scale","userScale3","pixelLock","billboard","anchor","InfoPanel","_ObjectLayer","_inherits","_super","_createSuper","_this","cfg","arguments","length","undefined","_classCallCheck","call","_defineProperty","_assertThisInitialized","config","JSON","parse","stringify","updateConfig","container","document","createElement","titleEl","contentEl","innerWrap","position","left","top","transform","pointerEvents","appendChild","_cssObject","add","applyStyle","_createClass","key","t","c","ns","Array","isArray","sx","sy","sz","s","bb","ac","setPosition","x","y","z","set","setRotation","rotation","setScale","setScalar","setBillboard","mode","m","setVisible","v","display","boxSizing","transformOrigin","backgroundRepeat","backgroundPosition","backfaceVisibility","padding","_this$config$size","_slicedToArray","pxW","pxH","height","minWidth","concat","minHeight","style","bottom","textContent","textAlign","letterSpacing","whiteSpace","overflow","textOverflow","marginLeft","marginTop","wordBreak","hasBgUrl","w","wClamped","Math","min","borderStyle","borderWidth","borderImageSource","borderImageSlice","borderImageRepeat","backgroundImage","borderRadius","backgroundSize","filter","update","updateFacing","camera","objPos","_tmpObjPos","camPos","_tmpCamPos","getWorldPosition","lookAt","dx","dz","yaw","atan2","updateDynamicScale","viewportWidth","window","innerWidth","viewportHeight","innerHeight","camDir","_tmpCamDir","getWorldDirection","d","clone","sub","dot","fovRad","degToRad","fov","worldPerPixelY","tan","worldPerPixelX","aspect","userScale","Number","isFinite","MAX_S","MIN_S","max","dispose","parent","remove","getWorldSize","wpx","offsetWidth","hpx","offsetHeight","default"],"sources":["../../../../src/business/Poi/panel/index.ts"],"sourcesContent":["/*\n * @Descripttion: \n * @version: \n * @Author: 周志国\n * @Date: 2025-11-27 15:14:21\n * @LastEditors: 周志国\n * @LastEditTime: 2025-12-01 15:44:33\n * @changeLog: \n * @FilePath: /anov-3d-webgl/packages/anov-3d-ability/src/business/Poi/panel/index.ts\n */\nimport { CSS3DObject, Vector3, MathUtils, type PerspectiveCamera } from '@anov/3d-core'\nimport ObjectLayer from '../../Base/ObjectLayer'\nimport { clampAlign, parseWeight, parseStyle, num, color, sanitizeUrl, arr2, arr3, rep, setStyles, arr4 } from './utils'\nimport { InfoPanelConfig,InfoPanelUpdateConfig,NineSliceConfig} from './interfaces'\n/**\n * 文件概览\n * InfoPanel 是一个基于 CSS3DObject 的信息面板组件,用于在三维场景中以“屏幕像素”为基础进行排版和渲染。\n * - 最小像素尺寸通过 `size` 指定(默认 320x180),容器会随内容自适应增大。\n * - `pixelLock` 为 true 时,面板会随相机距离自动缩放以保持屏幕像素大小恒定。\n * - `scale`/`userScale3` 提供统一或非均匀的用户缩放,参与最终缩放计算。\n * - `billboard` 支持朝向相机(`yaw` 或 `full`),用于看板效果。\n */\n\n\n\n/**\n * 组件默认配置。\n * - text: 标题(主文本)相关样式与背景设置\n * - content: 副文本显示与样式\n * - size: 面板最小像素尺寸 `[width, height]`\n * - scale: 统一用户缩放系数(>0)\n * - userScale3: 非均匀用户缩放 `[sx, sy, sz]`,与 `scale` 相乘\n * - pixelLock: 是否锁定屏幕像素尺寸\n * - billboard: 看板模式('none'|'yaw'|'full')\n * - anchor: 面板锚点('top'|'center'|'bottom')\n */\nconst defaults: InfoPanelConfig = {\n text: {\n value: '',\n fontSize: 16,\n color: '#ffffff',\n fontWeight: 'normal',\n fontStyle: 'normal',\n offset: [0, 0] as [number, number],\n align: 'left',\n spacing: 0,\n bgUrl: '',\n hsl: [200, 120, 80],\n bgNineSlice: {\n enabled: true,\n slice: [65, 92, 27, 17] as [number, number, number, number],\n width: [65, 92, 27, 17] as [number, number, number, number],\n repeat: 'stretch',\n fill: true,\n radius: 0\n },\n bgSlice: [65, 92, 27, 17] as [number, number, number, number],\n },\n content: {\n visible: false,\n value: '',\n fontSize: 16,\n color: '#ffffff',\n fontWeight: 'normal',\n fontStyle: 'normal',\n align: 'left',\n offset: [0, 0] as [number, number],\n spacing: 0\n },\n // 默认面板像素尺寸(宽度,高度)\n size: [320, 180] as [number, number],\n scale: 1,\n // 非均匀用户缩放(来自外部 scale: [x,y,z])\n userScale3: [1, 1, 1] as [number, number, number],\n // 屏幕像素锁定:保持屏幕像素尺寸恒定\n pixelLock: true,\n billboard: 'none',\n anchor: 'top'\n}\n\n/**\n * InfoPanel\n * 一个基于 CSS3DObject 的三维信息面板。面板的排版以像素为单位,\n * 并可根据相机参数在 3D 世界中动态映射为适当的世界尺寸。\n *\n * 关键特性:\n * - 像素锁定(`pixelLock`):保证屏幕像素尺寸恒定的看板效果。\n * - 动态缩放(`updateDynamicScale`):实时根据相机 FOV、距离、视口宽高计算世界尺度。\n * - 看板模式(`billboard`):支持水平(yaw)和全方位(full)朝向相机。\n * - 自定义缩放(`scale` 与 `userScale3`):统一与非均匀缩放相乘得到最终缩放。\n *\n * 用法概览:\n * const panel = new InfoPanel({\n * text: { value: 'POI A', fontSize: 18 },\n * size: [320, 180],\n * scale: 1,\n * pixelLock: true,\n * billboard: 'yaw',\n * anchor: 'top'\n * });\n * panel.updateDynamicScale(camera);\n */\nexport default class InfoPanel extends ObjectLayer {\n // 新增字段声明,修复类型报错\n /**\n * 内部状态与元素引用\n * - config: 当前配置(已合并 defaults 与外部传入)\n * - container: 面板根容器(用于 CSS3DObject 承载)\n * - titleEl: 标题元素\n * - contentEl: 内容元素(可选)\n * - innerWrap: 内部包裹,用于实现锚点与偏移\n * - _cssObject: three.js CSS3DObject(加入到 scene graph)\n */\n private config: InfoPanelConfig\n private container: HTMLDivElement\n private titleEl: HTMLDivElement\n private contentEl: HTMLDivElement\n private innerWrap: HTMLDivElement\n private _cssObject: CSS3DObject\n // 复用的临时向量,避免频繁创建对象\n private _tmpObjPos: Vector3 = new Vector3()\n private _tmpCamPos: Vector3 = new Vector3()\n private _tmpCamDir: Vector3 = new Vector3()\n\n /**\n * 构造函数\n * @param cfg 外部配置对象;仅识别本组件支持的字段,其他字段会忽略\n */\n constructor(cfg: InfoPanelUpdateConfig = {}) {\n super()\n this.config = JSON.parse(JSON.stringify(defaults))\n this.updateConfig(cfg)\n this.container = document.createElement('div')\n this.titleEl = document.createElement('div')\n this.contentEl = document.createElement('div')\n this.innerWrap = document.createElement('div')\n // 内层包裹用于布局,默认采用容器左上角为参考点\n setStyles(this.innerWrap, {\n position: 'relative',\n left: '0',\n top: '0',\n transform: 'none',\n pointerEvents: 'auto',\n })\n this.innerWrap.appendChild(this.titleEl)\n this.innerWrap.appendChild(this.contentEl)\n this.container.appendChild(this.innerWrap)\n // 将 CSS3DObject 作为子节点添加,而非赋值到 this.object3D\n this._cssObject = new CSS3DObject(this.container)\n this.add(this._cssObject)\n this.applyStyle()\n }\n\n /**\n * 将传入的配置与默认值合并并规范化。\n * - 自动处理文本样式、九宫格背景、可见性、对齐与偏移。\n * - `scale`: 支持数值(统一缩放)或长度为 3 的数组(非均匀缩放)。\n * - `pixelLock`: 是否锁定屏幕像素尺寸。\n * - `anchor`: 面板锚点。\n * @param cfg 配置对象\n */\n updateConfig(cfg: InfoPanelUpdateConfig = {}) {\n const t = cfg.text || {}\n const c = cfg.content || {}\n this.config.text.value = typeof t.value === 'string' ? t.value : this.config.text.value\n this.config.text.fontSize = num(t.fontSize, this.config.text.fontSize)\n this.config.text.color = color(t.color, this.config.text.color)\n this.config.text.fontWeight = parseWeight(t.fontWeight || this.config.text.fontWeight)\n this.config.text.fontStyle = parseStyle(t.fontStyle || this.config.text.fontStyle)\n this.config.text.offset = arr2(t.offset, this.config.text.offset) as [number, number]\n this.config.text.align = clampAlign(t.align || this.config.text.align)\n this.config.text.spacing = num(t.spacing, this.config.text.spacing)\n this.config.text.bgUrl = typeof t.bgUrl === 'string' ? sanitizeUrl(t.bgUrl) : this.config.text.bgUrl\n this.config.text.hsl = arr3(t.hsl, this.config.text.hsl).slice(0, 3) as [number, number, number]\n const ns: Partial<NineSliceConfig> = t.bgNineSlice || {}\n this.config.text.bgNineSlice.enabled = typeof ns.enabled === 'boolean' ? ns.enabled : this.config.text.bgNineSlice.enabled\n this.config.text.bgNineSlice.slice = arr4(ns.slice||t.bgSlice, this.config.text.bgNineSlice.slice) as [number, number, number, number]\n this.config.text.bgNineSlice.width = arr4(ns.width||t.bgSlice, this.config.text.bgNineSlice.width) as [number, number, number, number]\n this.config.text.bgNineSlice.repeat = rep(ns.repeat || this.config.text.bgNineSlice.repeat) as NineSliceConfig['repeat']\n this.config.text.bgNineSlice.fill = typeof ns.fill === 'boolean' ? ns.fill : this.config.text.bgNineSlice.fill\n this.config.text.bgNineSlice.radius = num(ns.radius, this.config.text.bgNineSlice.radius)\n this.config.content.visible = typeof c.visible === 'boolean' ? c.visible : this.config.content.visible\n this.config.content.value = typeof c.value === 'string' ? c.value : this.config.content.value\n this.config.content.fontSize = num(c.fontSize, this.config.content.fontSize)\n this.config.content.color = color(c.color, this.config.content.color)\n this.config.content.fontWeight = parseWeight(c.fontWeight || this.config.content.fontWeight)\n this.config.content.fontStyle = parseStyle(c.fontStyle || this.config.content.fontStyle)\n this.config.content.align = clampAlign(c.align || this.config.content.align)\n this.config.content.offset = arr2(c.offset, this.config.content.offset) as [number, number]\n this.config.content.spacing = num(c.spacing, this.config.content.spacing)\n // 支持数值或数组。数值作为统一倍数,数组作为非均匀倍数\n if (Array.isArray(cfg.scale) && cfg.scale.length === 3) {\n const sx = num(cfg.scale[0], this.config.userScale3[0])\n const sy = num(cfg.scale[1], this.config.userScale3[1])\n const sz = num(cfg.scale[2], this.config.userScale3[2])\n this.config.userScale3 = [sx, sy, sz]\n } else {\n const s = num(cfg.scale, this.config.scale)\n // 用户缩放因子:仅作为乘数,不参与单位换算\n this.config.scale = s > 0 ? s : this.config.scale\n }\n const bb = (cfg.billboard || this.config.billboard)\n this.config.billboard = bb === 'yaw' || bb === 'full' ? bb : 'none'\n // 面板尺寸可通过 cfg.size 指定,否则使用默认尺寸\n this.config.size = arr2(cfg.size, this.config.size) as [number, number]\n // 屏幕像素锁定\n this.config.pixelLock = !!(typeof cfg.pixelLock === 'boolean' ? cfg.pixelLock : this.config.pixelLock)\n // 面板锚点\n const ac = cfg.anchor || this.config.anchor\n this.config.anchor = ac === 'top' || ac === 'center' || ac === 'bottom' ? ac : 'bottom'\n }\n\n /**\n * 设置面板世界坐标(应用到 CSS3DObject)。\n */\n setPosition(x: number, y: number, z: number): void {\n this._cssObject.position.set(x, y, z)\n }\n\n /**\n * 设置面板世界旋转(欧拉角,单位:弧度)。\n */\n setRotation(x: number, y: number, z: number): void {\n this._cssObject.rotation.set(x, y, z)\n }\n\n /**\n * 设置统一缩放因子(立即应用到 CSS3DObject)。\n * 注意:若使用 `updateDynamicScale`,每帧会覆盖此值。\n */\n setScale(s: number): void {\n this._cssObject.scale.setScalar(s)\n }\n\n /**\n * 设置看板模式。\n * @param mode 'none' | 'yaw' | 'full'\n */\n setBillboard(mode: 'none' | 'yaw' | 'full'): void {\n const m = mode === 'yaw' || mode === 'full' ? mode : 'none'\n this.config.billboard = m\n }\n\n /**\n * 设置可见性。\n * @param v 是否可见\n */\n setVisible(v: boolean): void {\n this._cssObject.visible = !!v\n }\n\n /**\n * 应用所有样式与文本到 DOM。\n * 仅影响面板的排版与外观,不涉及 3D 变换。\n */\n applyStyle(): void {\n const t = this.config.text\n const c = this.config.content\n // 基础容器样式,确保可见尺寸与居中锚点\n setStyles(this.container, {\n display: 'inline-block',\n boxSizing: 'border-box',\n transformOrigin: 'center center',\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center',\n backfaceVisibility: 'hidden',\n padding: '8px',\n })\n // 最小像素尺寸(默认 320x180,可通过 cfg.size 覆盖),容器尺寸随内容自适应\n const [pxW, pxH] = this.config.size\n setStyles(this.container, {\n width: '',\n height: '',\n minWidth: `${pxW}px`,\n minHeight: `${pxH}px`,\n })\n // 根据锚点设置内部包裹的定位与偏移(默认 top:以左上角为参考)\n if (this.config.anchor === 'top') {\n this.innerWrap.style.left = '0'\n this.innerWrap.style.top = '0'\n this.innerWrap.style.bottom = 'auto'\n this.innerWrap.style.transform = 'none'\n }\n else if (this.config.anchor === 'center') {\n this.innerWrap.style.left = '50%'\n this.innerWrap.style.top = '50%'\n this.innerWrap.style.bottom = 'auto'\n this.innerWrap.style.transform = 'translate(-50%, -50%)'\n }\n else { // bottom\n this.innerWrap.style.left = '0'\n this.innerWrap.style.top = 'auto'\n this.innerWrap.style.bottom = '0'\n this.innerWrap.style.transform = 'none'\n }\n this.titleEl.textContent = t.value || ''\n setStyles(this.titleEl, {\n fontSize: `${t.fontSize}px`,\n color: t.color,\n fontWeight: t.fontWeight,\n fontStyle: t.fontStyle,\n textAlign: t.align,\n letterSpacing: `${num(t.spacing)}px`,\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n marginLeft: `${num(t.offset[0])}px`,\n marginTop: `${num(t.offset[1])}px`,\n })\n this.contentEl.style.display = c.visible ? 'block' : 'none'\n this.contentEl.textContent = c.value || ''\n setStyles(this.contentEl, {\n fontSize: `${c.fontSize}px`,\n color: c.color,\n fontWeight: c.fontWeight,\n fontStyle: c.fontStyle,\n textAlign: c.align,\n letterSpacing: `${num(c.spacing)}px`,\n whiteSpace: 'pre-wrap',\n wordBreak: 'break-word',\n overflow: 'visible',\n textOverflow: 'clip',\n marginLeft: `${num(c.offset[0])}px`,\n marginTop: `${num(c.offset[1])}px`,\n })\n const hasBgUrl = typeof t.bgUrl === 'string' && t.bgUrl.length > 0\n if (hasBgUrl) {\n if (t.bgNineSlice && t.bgNineSlice.enabled) {\n const s = t.bgNineSlice.slice\n const w = t.bgNineSlice.width\n // 厚度限制,避免边框厚度超过容器尺寸导致异常视觉放大\n const wClamped = [\n Math.min(w[0], pxH * 0.5),\n Math.min(w[1], pxW * 0.5),\n Math.min(w[2], pxH * 0.5),\n Math.min(w[3], pxW * 0.5),\n ] as [number, number, number, number]\n setStyles(this.container, {\n borderStyle: 'solid',\n borderWidth: `${wClamped[0]}px ${wClamped[1]}px ${wClamped[2]}px ${wClamped[3]}px`,\n borderImageSource: `url(${t.bgUrl})`,\n borderImageSlice: `${s[0]} ${s[1]} ${s[2]} ${s[3]}${t.bgNineSlice.fill ? ' fill' : ''}`,\n borderImageRepeat: t.bgNineSlice.repeat,\n backgroundImage: 'none',\n borderRadius: `${num(t.bgNineSlice.radius, 0)}px`,\n })\n } else {\n setStyles(this.container, {\n backgroundImage: `url(${t.bgUrl})`,\n borderImageSource: 'none',\n borderImageSlice: '',\n borderImageRepeat: '',\n borderStyle: 'none',\n borderWidth: '0px',\n })\n }\n } else {\n setStyles(this.container, {\n backgroundImage: 'none',\n borderImageSource: 'none',\n borderImageSlice: '',\n borderImageRepeat: '',\n borderStyle: 'none',\n borderWidth: '0px',\n })\n }\n // 背景填充整个容器尺寸\n setStyles(this.container, {\n backgroundSize: '100% 100%',\n textAlign: t.align,\n pointerEvents: 'auto',\n filter: `hue-rotate(${num(t.hsl[0], 0)}deg) saturate(${num(t.hsl[1], 0)}%) brightness(${num(t.hsl[2], 0)}%)`,\n })\n }\n\n /**\n * 更新配置并立即重新应用到 DOM。\n * @param cfg 新配置\n */\n update(cfg: InfoPanelUpdateConfig = {}): void {\n this.updateConfig(cfg)\n this.applyStyle()\n }\n\n /**\n * 根据看板模式使面板朝向相机。\n * - 'full':使用 `lookAt` 全方位朝向相机。\n * - 'yaw':仅绕 Y 轴旋转,保持水平面朝向相机。\n * - 'none':不处理朝向。\n * @param camera three.js 相机\n */\n updateFacing(camera: PerspectiveCamera): void {\n const mode = this.config.billboard\n if (mode === 'none') return\n const objPos = this._tmpObjPos\n const camPos = this._tmpCamPos\n this._cssObject.getWorldPosition(objPos)\n camera.getWorldPosition(camPos)\n if (mode === 'full') {\n this._cssObject.lookAt(camPos)\n } else if (mode === 'yaw') {\n const dx = camPos.x - objPos.x\n const dz = camPos.z - objPos.z\n const yaw = Math.atan2(dx, dz)\n this._cssObject.rotation.set(0, yaw, 0)\n }\n }\n\n /**\n * 动态缩放:根据相机 FOV、沿相机前向的距离 d、视口尺寸,\n * 计算“每像素对应的世界单位”,并结合用户缩放得到最终缩放。\n * - pixelLock: s = worldPerPixelX * userScale\n * - 非锁定: s = userScale\n * - 最终各轴缩放: [sx, sy, sz] = s * userScale3\n */\n updateDynamicScale(camera: PerspectiveCamera, viewportWidth = window.innerWidth, viewportHeight = window.innerHeight): void {\n if (!camera) return\n const objPos = this._tmpObjPos\n const camPos = this._tmpCamPos\n const camDir = this._tmpCamDir\n this._cssObject.getWorldPosition(objPos)\n camera.getWorldPosition(camPos)\n camera.getWorldDirection(camDir)\n const d = objPos.clone().sub(camPos).dot(camDir)\n const fovRad = MathUtils.degToRad(camera.fov)\n const worldPerPixelY = (2 * d * Math.tan(fovRad / 2)) / viewportHeight\n const worldPerPixelX = worldPerPixelY * camera.aspect\n const userScale = this.config.scale\n const userScale3 = this.config.userScale3 || [1, 1, 1]\n // pixel-lock:保持屏幕像素尺寸恒定;非锁定:使用统一用户系数\n let s = this.config.pixelLock\n ? worldPerPixelX * (userScale > 0 ? userScale : 1)\n : (userScale > 0 ? userScale : 1)\n if (!Number.isFinite(s) || s <= 0) return\n // 简单限幅,避免极端相机参数造成缩放异常\n const MAX_S = 1e3\n const MIN_S = 1e-6\n s = Math.max(Math.min(s, MAX_S), MIN_S)\n const sx = s * (userScale3[0] || 1)\n const sy = s * (userScale3[1] || 1)\n const sz = s * (userScale3[2] || 1)\n this._cssObject.scale.set(sx, sy, sz)\n }\n\n // 移除父级缩放抵消,面板可响应外部实体缩放(含非均匀)\n\n /**\n * 释放面板:从场景移除 CSS3DObject,并清理 DOM。\n */\n dispose(): void {\n if (this._cssObject.parent) this._cssObject.parent.remove(this._cssObject)\n this.container.remove()\n }\n\n /**\n * 获取当前面板在世界坐标中的宽高(单位:世界单位)。\n * 注意:结果受相机参数、面板到相机的距离以及当前 `_cssObject.scale` 影响。\n * @param camera three.js 相机\n * @param viewportWidth 视口宽度(像素)\n * @param viewportHeight 视口高度(像素)\n * @returns `{ width, height }` 世界单位\n */\n getWorldSize(camera: PerspectiveCamera, viewportWidth = window.innerWidth, viewportHeight = window.innerHeight): { width: number; height: number } {\n const objPos = this._tmpObjPos\n const camPos = this._tmpCamPos\n const camDir = this._tmpCamDir\n this._cssObject.getWorldPosition(objPos)\n camera.getWorldPosition(camPos)\n camera.getWorldDirection(camDir)\n const d = objPos.clone().sub(camPos).dot(camDir)\n const fovRad = MathUtils.degToRad(camera.fov)\n const worldPerPixelY = (2 * d * Math.tan(fovRad / 2)) / viewportHeight\n const worldPerPixelX = worldPerPixelY * camera.aspect\n const wpx = this.container.offsetWidth || 0\n const hpx = this.container.offsetHeight || 0\n const s = this._cssObject.scale.x\n return { width: wpx * worldPerPixelX * s, height: hpx * worldPerPixelY * s }\n }\n}\n\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../../src/business/Poi/panel/interfaces.ts"],"sourcesContent":["/*\n * @Descripttion:\n * @version:\n * @Author: 周志国\n * @Date: 2025-11-28 11:30:45\n * @LastEditors: 周志国\n * @LastEditTime: 2025-12-01 15:01:27\n * @changeLog:\n * @FilePath: /anov-3d-webgl/packages/anov-3d-ability/src/business/Poi/panel/interfaces.ts\n */\n/**\n * 九宫格背景配置\n */\nexport interface NineSliceConfig {\n enabled: boolean\n slice: [number, number, number, number]\n width: [number, number, number, number]\n repeat: 'stretch' | 'repeat' | 'round'\n fill: boolean\n radius: number\n}\n\n/**\n * 主文本配置\n */\nexport interface TextConfig {\n value: string\n fontSize: number\n color: string\n fontWeight: 'normal' | 'bold'\n fontStyle: 'normal' | 'italic'\n offset: [number, number]\n align: 'left' | 'center' | 'right'\n spacing: number\n bgUrl: string\n hsl: [number, number, number]\n bgNineSlice: NineSliceConfig\n bgSlice: [number, number, number, number]\n}\n\n/**\n * 内容文本配置\n */\nexport interface ContentConfig {\n visible: boolean\n value: string\n fontSize: number\n color: string\n fontWeight: 'normal' | 'bold'\n fontStyle: 'normal' | 'italic'\n align: 'left' | 'center' | 'right'\n offset: [number, number]\n spacing: number\n}\n\n/**\n * 面板配置\n */\nexport interface InfoPanelConfig {\n text: TextConfig\n content: ContentConfig\n size: [number, number]\n scale: number\n userScale3: [number, number, number]\n pixelLock: boolean\n billboard: 'none' | 'yaw' | 'full'\n anchor: 'top' | 'center' | 'bottom'\n}\n\n/**\n * 面板可更新配置(Partial),用于 update / updateConfig\n */\nexport interface InfoPanelUpdateConfig {\n text?: Partial<TextConfig>\n content?: Partial<ContentConfig>\n size?: [number, number]\n scale?: number | [number, number, number]\n pixelLock?: boolean\n billboard?: 'none' | 'yaw' | 'full'\n anchor?: 'top' | 'center' | 'bottom'\n}"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["../../../../src/business/Poi/panel/interfaces.ts"],"sourcesContent":["/*\n * @Descripttion: \n * @version: \n * @Author: 周志国\n * @Date: 2025-11-28 11:30:45\n * @LastEditors: 周志国\n * @LastEditTime: 2025-12-01 15:01:27\n * @changeLog: \n * @FilePath: /anov-3d-webgl/packages/anov-3d-ability/src/business/Poi/panel/interfaces.ts\n */\n/**\n * 九宫格背景配置\n */\nexport interface NineSliceConfig {\n enabled: boolean\n slice: [number, number, number, number]\n width: [number, number, number, number]\n repeat: 'stretch' | 'repeat' | 'round'\n fill: boolean\n radius: number\n}\n\n/**\n * 主文本配置\n */\nexport interface TextConfig {\n value: string\n fontSize: number\n color: string\n fontWeight: 'normal' | 'bold'\n fontStyle: 'normal' | 'italic'\n offset: [number, number]\n align: 'left' | 'center' | 'right'\n spacing: number\n bgUrl: string\n hsl: [number, number, number]\n bgNineSlice: NineSliceConfig\n bgSlice: [number, number, number, number]\n}\n\n/**\n * 内容文本配置\n */\nexport interface ContentConfig {\n visible: boolean\n value: string\n fontSize: number\n color: string\n fontWeight: 'normal' | 'bold'\n fontStyle: 'normal' | 'italic'\n align: 'left' | 'center' | 'right'\n offset: [number, number]\n spacing: number\n}\n\n/**\n * 面板配置\n */\nexport interface InfoPanelConfig {\n text: TextConfig\n content: ContentConfig\n size: [number, number]\n scale: number\n userScale3: [number, number, number]\n pixelLock: boolean\n billboard: 'none' | 'yaw' | 'full'\n anchor: 'top' | 'center' | 'bottom'\n}\n\n/**\n * 面板可更新配置(Partial),用于 update / updateConfig\n */\nexport interface InfoPanelUpdateConfig {\n text?: Partial<TextConfig>\n content?: Partial<ContentConfig>\n size?: [number, number]\n scale?: number | [number, number, number]\n pixelLock?: boolean\n billboard?: 'none' | 'yaw' | 'full'\n anchor?: 'top' | 'center' | 'bottom'\n}"],"mappings":""}
@@ -3,7 +3,7 @@
3
3
  * @param v 任意字符串
4
4
  * @returns 'left' | 'center' | 'right'
5
5
  */
6
- declare function clampAlign(v: any): "center" | "left" | "right";
6
+ declare function clampAlign(v: any): "left" | "right" | "center";
7
7
  /**
8
8
  * 将任意字重值规范化为 'normal' 或 'bold'。
9
9
  * @param v 任意字符串
@@ -1,11 +1,11 @@
1
1
  /*
2
- * @Descripttion:
3
- * @version:
2
+ * @Descripttion:
3
+ * @version:
4
4
  * @Author: 周志国
5
5
  * @Date: 2025-11-28 10:40:08
6
6
  * @LastEditors: 周志国
7
7
  * @LastEditTime: 2025-12-01 15:44:23
8
- * @changeLog:
8
+ * @changeLog:
9
9
  * @FilePath: /anov-3d-webgl/packages/anov-3d-ability/src/business/Poi/panel/utils.ts
10
10
  */
11
11
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["clampAlign","v","parseWeight","parseStyle","num","n","d","arguments","length","undefined","Number","isNaN","color","c","sanitizeUrl","u","replace","trim","arr2","a","Array","isArray","arr4","arr3","rep","setStyles","el","styles","Object","assign","style"],"sources":["../../../../src/business/Poi/panel/utils.ts"],"sourcesContent":["/*\n * @Descripttion:\n * @version:\n * @Author: 周志国\n * @Date: 2025-11-28 10:40:08\n * @LastEditors: 周志国\n * @LastEditTime: 2025-12-01 15:44:23\n * @changeLog:\n * @FilePath: /anov-3d-webgl/packages/anov-3d-ability/src/business/Poi/panel/utils.ts\n */\n/**\n * 将任意对齐值规范化为 'left' | 'center' | 'right'。\n * @param v 任意字符串\n * @returns 'left' | 'center' | 'right'\n */\nfunction clampAlign(v) {\n if (v === 'center')\n return 'center'\n if (v === 'right')\n return 'right'\n return 'left'\n}\n\n/**\n * 将任意字重值规范化为 'normal' 或 'bold'。\n * @param v 任意字符串\n * @returns 'normal' | 'bold'\n */\nfunction parseWeight(v) {\n if (v === 'bold')\n return 'bold'\n return 'normal'\n}\n\n/**\n * 将任意字体风格规范化为 'normal' 或 'italic'。\n * @param v 任意字符串\n * @returns 'normal' | 'italic'\n */\nfunction parseStyle(v) {\n if (v === 'italic')\n return 'italic'\n return 'normal'\n}\n\n/**\n * 将输入转为数字;若无效则回退到默认值。\n * @param n 任意值\n * @param d 默认值\n * @returns 有效数字\n */\nfunction num(n, d = 0) {\n if (typeof n === 'number' && !Number.isNaN(n))\n return n\n return d\n}\n\n/**\n * 返回有效的颜色字符串;若无效则回退到默认值。\n * @param c 任意值\n * @param d 默认颜色,默认为 `#ffffff`\n * @returns 颜色字符串\n */\nfunction color(c, d = '#ffffff') {\n if (typeof c === 'string' && c.length)\n return c\n return d\n}\n\n/**\n * 清理 URL 字符串,去除反引号并修剪空白。\n * @param u 任意值\n * @returns 清理后的 URL 字符串(无效时返回空串)\n */\nfunction sanitizeUrl(u: any): string {\n if (typeof u !== 'string')\n return ''\n // 去掉意外的反引号并修剪空白\n return u.replace(/`/g, '').trim()\n}\n\n/**\n * 解析长度至少为 2 的数组,缺省回退到默认值。\n * @param a 任意数组\n * @param d 默认值 `[x, y]`\n * @returns `[x, y]`\n */\nfunction arr2(a, d = [0, 0]) {\n if (Array.isArray(a) && a.length >= 2)\n return [num(a[0], d[0]), num(a[1], d[1])]\n return d\n}\n\n/**\n * 解析长度至少为 4 的数组,缺省回退到默认值。\n * @param a 任意数组\n * @param d 默认值 `[t, r, b, l]`\n * @returns `[t, r, b, l]`\n */\nfunction arr4(a, d = [0, 0, 0, 0]) {\n if (Array.isArray(a) && a.length >= 4)\n return [num(a[0], d[0]), num(a[1], d[1]), num(a[2], d[2]), num(a[3], d[3])]\n return d\n}\n/**\n * 解析长度至少为 3 的数组,缺省回退到默认值。\n * @param a 任意数组\n * @param d 默认值 `[h, s, l]`\n * @returns `[h, s, l]`\n */\nfunction arr3(a, d = [0, 0, 0]) {\n if (Array.isArray(a) && a.length >= 3)\n return [num(a[0], d[0]), num(a[1], d[1]), num(a[2], d[2])]\n return d\n}\n\n/**\n * 规范化九宫格边框的平铺模式。\n * @param v 'repeat' | 'round' | 其他\n * @returns 'repeat' | 'round' | 'stretch'\n */\nfunction rep(v) {\n if (v === 'repeat' || v === 'round')\n return v\n return 'stretch'\n}\n\n/**\n * 批量应用内联样式到元素。\n * @param el 目标元素\n * @param styles 样式键值对\n */\nfunction setStyles(el: HTMLElement, styles: Record<string, string>) {\n Object.assign(el.style, styles)\n}\nexport { clampAlign, parseWeight, parseStyle, num, color, sanitizeUrl, arr2, arr3, arr4, rep, setStyles }\n"],"mappings":"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"}
1
+ {"version":3,"names":["clampAlign","v","parseWeight","parseStyle","num","n","d","arguments","length","undefined","Number","isNaN","color","c","sanitizeUrl","u","replace","trim","arr2","a","Array","isArray","arr4","arr3","rep","setStyles","el","styles","Object","assign","style"],"sources":["../../../../src/business/Poi/panel/utils.ts"],"sourcesContent":["/*\n * @Descripttion: \n * @version: \n * @Author: 周志国\n * @Date: 2025-11-28 10:40:08\n * @LastEditors: 周志国\n * @LastEditTime: 2025-12-01 15:44:23\n * @changeLog: \n * @FilePath: /anov-3d-webgl/packages/anov-3d-ability/src/business/Poi/panel/utils.ts\n */\n/**\n * 将任意对齐值规范化为 'left' | 'center' | 'right'。\n * @param v 任意字符串\n * @returns 'left' | 'center' | 'right'\n */\nfunction clampAlign(v) {\n if (v === 'center') return 'center'\n if (v === 'right') return 'right'\n return 'left'\n}\n\n/**\n * 将任意字重值规范化为 'normal' 或 'bold'。\n * @param v 任意字符串\n * @returns 'normal' | 'bold'\n */\nfunction parseWeight(v) {\n if (v === 'bold') return 'bold'\n return 'normal'\n}\n\n/**\n * 将任意字体风格规范化为 'normal' 或 'italic'。\n * @param v 任意字符串\n * @returns 'normal' | 'italic'\n */\nfunction parseStyle(v) {\n if (v === 'italic') return 'italic'\n return 'normal'\n}\n\n/**\n * 将输入转为数字;若无效则回退到默认值。\n * @param n 任意值\n * @param d 默认值\n * @returns 有效数字\n */\nfunction num(n, d = 0) {\n if (typeof n === 'number' && !Number.isNaN(n)) return n\n return d\n}\n\n/**\n * 返回有效的颜色字符串;若无效则回退到默认值。\n * @param c 任意值\n * @param d 默认颜色,默认为 `#ffffff`\n * @returns 颜色字符串\n */\nfunction color(c, d = '#ffffff') {\n if (typeof c === 'string' && c.length) return c\n return d\n}\n\n/**\n * 清理 URL 字符串,去除反引号并修剪空白。\n * @param u 任意值\n * @returns 清理后的 URL 字符串(无效时返回空串)\n */\nfunction sanitizeUrl(u: any): string {\n if (typeof u !== 'string') return ''\n // 去掉意外的反引号并修剪空白\n return u.replace(/`/g, '').trim()\n}\n\n/**\n * 解析长度至少为 2 的数组,缺省回退到默认值。\n * @param a 任意数组\n * @param d 默认值 `[x, y]`\n * @returns `[x, y]`\n */\nfunction arr2(a, d = [0, 0]) {\n if (Array.isArray(a) && a.length >= 2) return [num(a[0], d[0]), num(a[1], d[1])]\n return d\n}\n\n/**\n * 解析长度至少为 4 的数组,缺省回退到默认值。\n * @param a 任意数组\n * @param d 默认值 `[t, r, b, l]`\n * @returns `[t, r, b, l]`\n */\nfunction arr4(a, d = [0, 0, 0, 0]) {\n if (Array.isArray(a) && a.length >= 4) return [num(a[0], d[0]), num(a[1], d[1]), num(a[2], d[2]), num(a[3], d[3])]\n return d\n}\n/**\n * 解析长度至少为 3 的数组,缺省回退到默认值。\n * @param a 任意数组\n * @param d 默认值 `[h, s, l]`\n * @returns `[h, s, l]`\n */\nfunction arr3(a, d = [0, 0, 0]) {\n if (Array.isArray(a) && a.length >= 3) return [num(a[0], d[0]), num(a[1], d[1]), num(a[2], d[2])]\n return d\n}\n\n/**\n * 规范化九宫格边框的平铺模式。\n * @param v 'repeat' | 'round' | 其他\n * @returns 'repeat' | 'round' | 'stretch'\n */\nfunction rep(v) {\n if (v === 'repeat' || v === 'round') return v\n return 'stretch'\n}\n\n/**\n * 批量应用内联样式到元素。\n * @param el 目标元素\n * @param styles 样式键值对\n */\nfunction setStyles(el: HTMLElement, styles: Record<string, string>) {\n Object.assign(el.style, styles)\n}\nexport { clampAlign, parseWeight, parseStyle, num, color, sanitizeUrl, arr2, arr3, arr4, rep, setStyles }\n"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import { type SceneControl } from '@anov/3d-core';
2
1
  import type { ParticleOption } from '../types';
3
2
  import ParticleMesh from '.';
4
3
  declare class DoubleCircleMesh extends ParticleMesh {
@@ -9,7 +8,7 @@ declare class DoubleCircleMesh extends ParticleMesh {
9
8
  set radius(value: number);
10
9
  get color(): string;
11
10
  set color(newValue: string);
12
- constructor(option: ParticleOption, sceneControl: SceneControl);
11
+ constructor(option?: ParticleOption);
13
12
  private init;
14
13
  }
15
14
  export default DoubleCircleMesh;
@@ -24,9 +24,8 @@ var DoubleCircleMesh = /*#__PURE__*/function (_ParticleMesh) {
24
24
  function DoubleCircleMesh() {
25
25
  var _this;
26
26
  var option = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
27
- var sceneControl = arguments.length > 1 ? arguments[1] : undefined;
28
27
  _classCallCheck(this, DoubleCircleMesh);
29
- _this = _super.call(this, sceneControl);
28
+ _this = _super.call(this);
30
29
  _defineProperty(_assertThisInitialized(_this), "_material", void 0);
31
30
  _defineProperty(_assertThisInitialized(_this), "_radius", void 0);
32
31
  _defineProperty(_assertThisInitialized(_this), "_color", void 0);
@@ -96,7 +95,7 @@ var DoubleCircleMesh = /*#__PURE__*/function (_ParticleMesh) {
96
95
  this._mesh.rotation.x = Math.PI / 2;
97
96
  this.add(this._mesh);
98
97
  clock = new Clock();
99
- use.useframe(this.sceneControl, function () {
98
+ use.useframe(function () {
100
99
  _this2._material.uniforms.iTime.value = clock.getElapsedTime() * 0.5;
101
100
  });
102
101
  case 9:
@@ -1 +1 @@
1
- {"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_inherits","subClass","superClass","_setPrototypeOf","bind","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","_defineProperty","obj","_toPrimitive","String","toPrimitive","Number","Clock","Color","Mesh","PlaneGeometry","ShaderMaterial","use","CircleShader","ParticleMesh","DoubleCircleMesh","_ParticleMesh","_super","_this","option","sceneControl","_option$radius","radius","_option$color","color","_option$visible","visible","_radius","_color","init","get","set","_mesh","geometry","dispose","newValue","_material","uniforms","_init","_callee","_this2","defaultUniforms","vertexShader","fragmentShader","clock","_callee$","_context","structuredClone","side","transparent","depthWrite","depthTest","polygonOffset","polygonOffsetFactor","rotation","x","Math","PI","add","useframe","iTime","getElapsedTime"],"sources":["../../../../src/business/Poi/particle/DoubleCircle.ts"],"sourcesContent":["import { Clock, Color, Mesh, NormalBlending, PlaneGeometry, type SceneControl, ShaderMaterial, use } from '@anov/3d-core'\nimport type { ParticleOption } from '../types'\nimport CircleShader from '../shader/doubleCircle'\nimport ParticleMesh from '.'\n\nclass DoubleCircleMesh extends ParticleMesh {\n private _material: ShaderMaterial\n private _radius: number\n private _color: string\n\n public get radius(): number {\n return this._radius\n }\n\n public set radius(value: number) {\n if (this._radius === value)\n return\n this._radius = value\n // 更新Mesh几何体大小\n if (this._mesh) {\n // 替换现有几何体\n this._mesh.geometry.dispose() // 释放旧几何体\n this._mesh.geometry = new PlaneGeometry(value * 4, value * 4)\n }\n }\n\n public get color(): string {\n return this._color\n }\n\n public set color(newValue: string) {\n if (this._color === newValue)\n return\n this._color = newValue\n this._material.uniforms.color.value = new Color(this._color)\n }\n\n constructor(option: ParticleOption = {}, sceneControl: SceneControl) {\n super(sceneControl)\n const { radius = 0.5, color = '0xFFFFFF', visible = true } = option\n this._radius = radius\n this._color = color\n this.visible = visible\n this.init()\n }\n\n private async init() {\n const { uniforms: defaultUniforms, vertexShader, fragmentShader } = CircleShader\n const uniforms = structuredClone(defaultUniforms)\n uniforms.color.value = new Color(this.color)\n this._material = new ShaderMaterial({\n uniforms,\n vertexShader,\n fragmentShader,\n side: 2,\n transparent: true,\n depthWrite: false,\n depthTest: true,\n // blending: NormalBlending, // 明确混合模式\n polygonOffset: false, // 解决深度冲突\n polygonOffsetFactor: -1,\n })\n\n this._mesh = new Mesh(new PlaneGeometry(this.radius * 4, this.radius * 4), this._material)\n this._mesh.rotation.x = Math.PI / 2\n\n this.add(this._mesh)\n\n const clock = new Clock()\n use.useframe(this.sceneControl, () => {\n this._material.uniforms.iTime.value = clock.getElapsedTime() * 0.5\n })\n }\n}\n\nexport default DoubleCircleMesh\n"],"mappings":"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"}
1
+ {"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_inherits","subClass","superClass","_setPrototypeOf","bind","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","_defineProperty","obj","_toPrimitive","String","toPrimitive","Number","Clock","Color","Mesh","PlaneGeometry","ShaderMaterial","use","CircleShader","ParticleMesh","DoubleCircleMesh","_ParticleMesh","_super","_this","option","_option$radius","radius","_option$color","color","_option$visible","visible","_radius","_color","init","get","set","_mesh","geometry","dispose","newValue","_material","uniforms","_init","_callee","_this2","defaultUniforms","vertexShader","fragmentShader","clock","_callee$","_context","structuredClone","side","transparent","depthWrite","depthTest","polygonOffset","polygonOffsetFactor","rotation","x","Math","PI","add","useframe","iTime","getElapsedTime"],"sources":["../../../../src/business/Poi/particle/DoubleCircle.ts"],"sourcesContent":["import { Clock, Color, Mesh, PlaneGeometry, ShaderMaterial, use } from '@anov/3d-core'\nimport type { ParticleOption } from '../types'\nimport CircleShader from '../shader/doubleCircle'\nimport ParticleMesh from '.'\n\nclass DoubleCircleMesh extends ParticleMesh {\n private _material: ShaderMaterial\n private _radius: number\n private _color: string\n\n public get radius(): number {\n return this._radius\n }\n\n public set radius(value: number) {\n if (this._radius === value)\n return\n this._radius = value\n // 更新Mesh几何体大小\n if (this._mesh) {\n // 替换现有几何体\n this._mesh.geometry.dispose() // 释放旧几何体\n this._mesh.geometry = new PlaneGeometry(value * 4, value * 4)\n }\n }\n\n public get color(): string {\n return this._color\n }\n\n public set color(newValue: string) {\n if (this._color === newValue)\n return\n this._color = newValue\n this._material.uniforms.color.value = new Color(this._color)\n }\n\n constructor(option: ParticleOption = {}) {\n super()\n const { radius = 0.5, color = '0xFFFFFF', visible = true } = option\n this._radius = radius\n this._color = color\n this.visible = visible\n this.init()\n }\n\n private async init() {\n const { uniforms: defaultUniforms, vertexShader, fragmentShader } = CircleShader\n const uniforms = structuredClone(defaultUniforms)\n uniforms.color.value = new Color(this.color)\n this._material = new ShaderMaterial({\n uniforms,\n vertexShader,\n fragmentShader,\n side: 2,\n transparent: true,\n depthWrite: false,\n depthTest: true,\n // blending: NormalBlending, // 明确混合模式\n polygonOffset: false, // 解决深度冲突\n polygonOffsetFactor: -1,\n })\n\n this._mesh = new Mesh(new PlaneGeometry(this.radius * 4, this.radius * 4), this._material)\n this._mesh.rotation.x = Math.PI / 2\n\n this.add(this._mesh)\n\n const clock = new Clock()\n use.useframe(() => {\n this._material.uniforms.iTime.value = clock.getElapsedTime() * 0.5\n })\n }\n}\n\nexport default DoubleCircleMesh"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import { type SceneControl } from '@anov/3d-core';
2
1
  import type { ParticleOption } from '../types';
3
2
  import ParticleMesh from '.';
4
3
  declare class DynamicCircleMesh extends ParticleMesh {
@@ -9,7 +8,7 @@ declare class DynamicCircleMesh extends ParticleMesh {
9
8
  set radius(value: number);
10
9
  get color(): string;
11
10
  set color(newValue: string);
12
- constructor(option: ParticleOption, sceneControl: SceneControl);
11
+ constructor(option?: ParticleOption);
13
12
  private init;
14
13
  }
15
14
  export default DynamicCircleMesh;