@anov/3d-ability 0.0.142 → 0.0.143

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 (256) hide show
  1. package/dist/business/Animation/motion/index.js +56 -35
  2. package/dist/business/Animation/motion/index.js.map +1 -1
  3. package/dist/business/Animation/type.js +2 -2
  4. package/dist/business/Area/Fence/FenceBase.js +187 -146
  5. package/dist/business/Area/Fence/FenceBase.js.map +1 -1
  6. package/dist/business/Area/Fence/fence_base_01.js +112 -120
  7. package/dist/business/Area/Fence/fence_base_01.js.map +1 -1
  8. package/dist/business/Area/Fence/fence_feeting_01.js +130 -218
  9. package/dist/business/Area/Fence/fence_feeting_01.js.map +1 -1
  10. package/dist/business/Area/Fence/fence_roll_01.js +130 -140
  11. package/dist/business/Area/Fence/fence_roll_01.js.map +1 -1
  12. package/dist/business/Area/FillArea/FillAreaBase.js +126 -87
  13. package/dist/business/Area/FillArea/FillAreaBase.js.map +1 -1
  14. package/dist/business/Area/FillArea/fillArea_face_01.js +98 -72
  15. package/dist/business/Area/FillArea/fillArea_face_01.js.map +1 -1
  16. package/dist/business/Area/FillArea/fillArea_line_01.js +94 -66
  17. package/dist/business/Area/FillArea/fillArea_line_01.js.map +1 -1
  18. package/dist/business/Area/index.js +483 -267
  19. package/dist/business/Area/index.js.map +1 -1
  20. package/dist/business/Area/tool.js +26 -14
  21. package/dist/business/Area/tool.js.map +1 -1
  22. package/dist/business/Base/ObjectLayer.js +46 -21
  23. package/dist/business/Base/ObjectLayer.js.map +1 -1
  24. package/dist/business/Batch/index.js +234 -189
  25. package/dist/business/Batch/index.js.map +1 -1
  26. package/dist/business/Box/index.js +81 -52
  27. package/dist/business/Box/index.js.map +1 -1
  28. package/dist/business/Cylinder/index.js +79 -51
  29. package/dist/business/Cylinder/index.js.map +1 -1
  30. package/dist/business/Flyline/bubble/CircleBubble.js +9 -1
  31. package/dist/business/Flyline/bubble/CircleBubble.js.map +1 -1
  32. package/dist/business/Flyline/bubble/index.js +21 -7
  33. package/dist/business/Flyline/bubble/index.js.map +1 -1
  34. package/dist/business/Flyline/index.js +162 -96
  35. package/dist/business/Flyline/index.js.map +1 -1
  36. package/dist/business/Flyline/line/ArcLine.js +291 -208
  37. package/dist/business/Flyline/line/ArcLine.js.map +1 -1
  38. package/dist/business/Flyline/line/index.js +22 -8
  39. package/dist/business/Flyline/line/index.js.map +1 -1
  40. package/dist/business/HeatMap/HeatMap.js +467 -380
  41. package/dist/business/HeatMap/HeatMap.js.map +1 -1
  42. package/dist/business/HeatMap/core.js +525 -405
  43. package/dist/business/HeatMap/core.js.map +1 -1
  44. package/dist/business/HeatMap/shader.js +3 -69
  45. package/dist/business/HeatMap/shader.js.map +1 -1
  46. package/dist/business/InfoPanel/index.js +242 -201
  47. package/dist/business/InfoPanel/index.js.map +1 -1
  48. package/dist/business/Line/index.js +88 -55
  49. package/dist/business/Line/index.js.map +1 -1
  50. package/dist/business/Mark/KeyframeAnimation.js +176 -145
  51. package/dist/business/Mark/KeyframeAnimation.js.map +1 -1
  52. package/dist/business/Mark/index.js +294 -196
  53. package/dist/business/Mark/index.js.map +1 -1
  54. package/dist/business/Mark/shader/tanhao.js +3 -36
  55. package/dist/business/Mark/shader/tanhao.js.map +1 -1
  56. package/dist/business/Mark/type.js +1 -1
  57. package/dist/business/MaterialSwitch/MaterialSwitchSystem.js +551 -377
  58. package/dist/business/MaterialSwitch/MaterialSwitchSystem.js.map +1 -1
  59. package/dist/business/MaterialSwitch/inject.js +58 -92
  60. package/dist/business/MaterialSwitch/inject.js.map +1 -1
  61. package/dist/business/MaterialSwitch/shader/finalFade.js +2 -74
  62. package/dist/business/MaterialSwitch/shader/finalFade.js.map +1 -1
  63. package/dist/business/MaterialSwitch/shader/ground.js +16 -95
  64. package/dist/business/MaterialSwitch/shader/ground.js.map +1 -1
  65. package/dist/business/MaterialSwitch/shader/groundBase64.js +3 -9
  66. package/dist/business/MaterialSwitch/shader/groundBase64.js.map +1 -1
  67. package/dist/business/MaterialSwitch/shader/realFade.js +9 -48
  68. package/dist/business/MaterialSwitch/shader/realFade.js.map +1 -1
  69. package/dist/business/Plane/index.js +78 -51
  70. package/dist/business/Plane/index.js.map +1 -1
  71. package/dist/business/Poi/index.js +336 -248
  72. package/dist/business/Poi/index.js.map +1 -1
  73. package/dist/business/Poi/link/Cylinder.js +89 -56
  74. package/dist/business/Poi/link/Cylinder.js.map +1 -1
  75. package/dist/business/Poi/link/Pyramid.js +165 -104
  76. package/dist/business/Poi/link/Pyramid.js.map +1 -1
  77. package/dist/business/Poi/link/index.js +114 -54
  78. package/dist/business/Poi/link/index.js.map +1 -1
  79. package/dist/business/Poi/panel/index.js +373 -315
  80. package/dist/business/Poi/panel/index.js.map +1 -1
  81. package/dist/business/Poi/panel/utils.js +10 -5
  82. package/dist/business/Poi/panel/utils.js.map +1 -1
  83. package/dist/business/Poi/particle/DoubleCircle.js +107 -71
  84. package/dist/business/Poi/particle/DoubleCircle.js.map +1 -1
  85. package/dist/business/Poi/particle/DynamicCircle.js +111 -75
  86. package/dist/business/Poi/particle/DynamicCircle.js.map +1 -1
  87. package/dist/business/Poi/particle/SingleCircle.js +98 -62
  88. package/dist/business/Poi/particle/SingleCircle.js.map +1 -1
  89. package/dist/business/Poi/particle/index.js +117 -49
  90. package/dist/business/Poi/particle/index.js.map +1 -1
  91. package/dist/business/Poi/shader/circle.js +3 -31
  92. package/dist/business/Poi/shader/circle.js.map +1 -1
  93. package/dist/business/Poi/shader/cylinder.js +3 -37
  94. package/dist/business/Poi/shader/cylinder.js.map +1 -1
  95. package/dist/business/Poi/shader/doubleCircle.js +3 -55
  96. package/dist/business/Poi/shader/doubleCircle.js.map +1 -1
  97. package/dist/business/Poi/shader/dynamicCircle.js +3 -67
  98. package/dist/business/Poi/shader/dynamicCircle.js.map +1 -1
  99. package/dist/business/Poi/title/Border.js +27 -7
  100. package/dist/business/Poi/title/Border.js.map +1 -1
  101. package/dist/business/Poi/title/Ellipse.js +27 -7
  102. package/dist/business/Poi/title/Ellipse.js.map +1 -1
  103. package/dist/business/Poi/title/index.js +292 -208
  104. package/dist/business/Poi/title/index.js.map +1 -1
  105. package/dist/business/Poi/tools.js +17 -18
  106. package/dist/business/Poi/tools.js.map +1 -1
  107. package/dist/business/Sphere/index.js +72 -47
  108. package/dist/business/Sphere/index.js.map +1 -1
  109. package/dist/business/Spline/index.js +245 -190
  110. package/dist/business/Spline/index.js.map +1 -1
  111. package/dist/business/SplitBuilding/index.js +536 -327
  112. package/dist/business/SplitBuilding/index.js.map +1 -1
  113. package/dist/business/SplitBuilding/type.js +2 -2
  114. package/dist/business/TrafficComponents/RealismTraffic/RealismTraffic.js +275 -218
  115. package/dist/business/TrafficComponents/RealismTraffic/RealismTraffic.js.map +1 -1
  116. package/dist/business/TrafficComponents/StreamerTraffic/StreamerTraffic.js +177 -132
  117. package/dist/business/TrafficComponents/StreamerTraffic/StreamerTraffic.js.map +1 -1
  118. package/dist/business/TrafficComponents/StreamerTraffic/fragmentShader.js +1 -51
  119. package/dist/business/TrafficComponents/StreamerTraffic/fragmentShader.js.map +1 -1
  120. package/dist/business/TrafficComponents/StreamerTraffic/vertexShader.js +1 -6
  121. package/dist/business/TrafficComponents/StreamerTraffic/vertexShader.js.map +1 -1
  122. package/dist/business/TrafficComponents/base.js +55 -32
  123. package/dist/business/TrafficComponents/base.js.map +1 -1
  124. package/dist/business/TrafficComponents/utils.js +24 -25
  125. package/dist/business/TrafficComponents/utils.js.map +1 -1
  126. package/dist/business/Utils/Curve.js +56 -40
  127. package/dist/business/Utils/Curve.js.map +1 -1
  128. package/dist/business/Utils/constant.js +1 -1
  129. package/dist/business/Utils/constant.js.map +1 -1
  130. package/dist/business/Utils/defineProps.js +14 -13
  131. package/dist/business/Utils/defineProps.js.map +1 -1
  132. package/dist/business/Utils/round-curve.js +153 -127
  133. package/dist/business/Utils/round-curve.js.map +1 -1
  134. package/dist/business/VideoPanel/index.js +319 -258
  135. package/dist/business/VideoPanel/index.js.map +1 -1
  136. package/dist/business/Water/index.js +108 -78
  137. package/dist/business/Water/index.js.map +1 -1
  138. package/dist/business/Water/types.js +1 -1
  139. package/dist/business/Water/types.js.map +1 -1
  140. package/dist/core/Camera/PerspectiveCamera/CameraExpand.js +449 -383
  141. package/dist/core/Camera/PerspectiveCamera/CameraExpand.js.map +1 -1
  142. package/dist/core/Camera/PerspectiveCamera/FollowOrbitControls.js +142 -107
  143. package/dist/core/Camera/PerspectiveCamera/FollowOrbitControls.js.map +1 -1
  144. package/dist/core/Controls/FirstViewControl/index.js +96 -84
  145. package/dist/core/Controls/FirstViewControl/index.js.map +1 -1
  146. package/dist/core/Controls/ThirdViewControl/action/input.js +98 -77
  147. package/dist/core/Controls/ThirdViewControl/action/input.js.map +1 -1
  148. package/dist/core/Controls/ThirdViewControl/config/constants.js +1 -1
  149. package/dist/core/Controls/ThirdViewControl/config/constants.js.map +1 -1
  150. package/dist/core/Controls/ThirdViewControl/index.js +28 -19
  151. package/dist/core/Controls/ThirdViewControl/index.js.map +1 -1
  152. package/dist/core/Controls/ThirdViewControl/player/animation.js +155 -126
  153. package/dist/core/Controls/ThirdViewControl/player/animation.js.map +1 -1
  154. package/dist/core/Controls/ThirdViewControl/player/camera.js +63 -47
  155. package/dist/core/Controls/ThirdViewControl/player/camera.js.map +1 -1
  156. package/dist/core/Controls/ThirdViewControl/player/control.js +49 -39
  157. package/dist/core/Controls/ThirdViewControl/player/control.js.map +1 -1
  158. package/dist/core/Controls/ThirdViewControl/player.js +91 -66
  159. package/dist/core/Controls/ThirdViewControl/player.js.map +1 -1
  160. package/dist/core/Controls/base.js +30 -14
  161. package/dist/core/Controls/base.js.map +1 -1
  162. package/dist/core/Curve/RoundedCornersCurve/RoundedCornersCurve.js +131 -92
  163. package/dist/core/Curve/RoundedCornersCurve/RoundedCornersCurve.js.map +1 -1
  164. package/dist/core/Debug/PerformanceInfo/Performance.js +47 -22
  165. package/dist/core/Debug/PerformanceInfo/Performance.js.map +1 -1
  166. package/dist/core/Light/PointLight/PointLightExt.js +21 -4
  167. package/dist/core/Light/PointLight/PointLightExt.js.map +1 -1
  168. package/dist/core/Material/FinirMaterial/FinirMaterial.js +57 -37
  169. package/dist/core/Material/FinirMaterial/FinirMaterial.js.map +1 -1
  170. package/dist/core/Material/PristineGridMaterial/PristineGridMaterial.js +153 -116
  171. package/dist/core/Material/PristineGridMaterial/PristineGridMaterial.js.map +1 -1
  172. package/dist/core/Material/PristineGridMaterial/shader/fragment.js +1 -95
  173. package/dist/core/Material/PristineGridMaterial/shader/fragment.js.map +1 -1
  174. package/dist/core/Material/PristineGridMaterial/shader/vertex.js +1 -26
  175. package/dist/core/Material/PristineGridMaterial/shader/vertex.js.map +1 -1
  176. package/dist/core/Material/SurfaceMaterial/index.js +172 -76
  177. package/dist/core/Material/SurfaceMaterial/index.js.map +1 -1
  178. package/dist/core/Material/decorators.js +11 -6
  179. package/dist/core/Material/decorators.js.map +1 -1
  180. package/dist/core/PostEffects/addACESFilmicToneMappingPass.js +12 -16
  181. package/dist/core/PostEffects/addACESFilmicToneMappingPass.js.map +1 -1
  182. package/dist/core/PostEffects/addBrightnessContrastPass.js +13 -17
  183. package/dist/core/PostEffects/addBrightnessContrastPass.js.map +1 -1
  184. package/dist/core/PostEffects/bloomPass.js +10 -17
  185. package/dist/core/PostEffects/bloomPass.js.map +1 -1
  186. package/dist/core/PostEffects/bloomSelect.js +43 -60
  187. package/dist/core/PostEffects/bloomSelect.js.map +1 -1
  188. package/dist/core/PostEffects/colorifyPass.js +13 -17
  189. package/dist/core/PostEffects/colorifyPass.js.map +1 -1
  190. package/dist/core/PostEffects/index.js +22 -28
  191. package/dist/core/PostEffects/index.js.map +1 -1
  192. package/dist/core/PostEffects/outlinePass.js +50 -37
  193. package/dist/core/PostEffects/outlinePass.js.map +1 -1
  194. package/dist/core/PostEffects/postprocessing.js +12 -14
  195. package/dist/core/PostEffects/postprocessing.js.map +1 -1
  196. package/dist/core/PostEffects/saoPass.js +10 -15
  197. package/dist/core/PostEffects/saoPass.js.map +1 -1
  198. package/dist/core/PostEffects/shader/colorify.js +3 -22
  199. package/dist/core/PostEffects/shader/colorify.js.map +1 -1
  200. package/dist/core/PostEffects/shader/gammaCorrectionShader.js +3 -27
  201. package/dist/core/PostEffects/shader/gammaCorrectionShader.js.map +1 -1
  202. package/dist/core/PostEffects/shader/mapping.js +3 -66
  203. package/dist/core/PostEffects/shader/mapping.js.map +1 -1
  204. package/dist/core/PostEffects/shader/thermalMaging.js +3 -28
  205. package/dist/core/PostEffects/shader/thermalMaging.js.map +1 -1
  206. package/dist/core/SceneEffect/grow/grow.js +101 -85
  207. package/dist/core/SceneEffect/grow/grow.js.map +1 -1
  208. package/dist/core/SceneEffect/grow/style_down.js +77 -60
  209. package/dist/core/SceneEffect/grow/style_down.js.map +1 -1
  210. package/dist/core/SceneEffect/grow/style_up.js +81 -64
  211. package/dist/core/SceneEffect/grow/style_up.js.map +1 -1
  212. package/dist/core/SceneEffect/grow/type.js +2 -2
  213. package/dist/core/SceneEffect/grow/type.js.map +1 -1
  214. package/dist/core/WeatherSystem/DynamicWeatherSystem.js +76 -51
  215. package/dist/core/WeatherSystem/DynamicWeatherSystem.js.map +1 -1
  216. package/dist/core/WeatherSystem/hdr/index.js +105 -69
  217. package/dist/core/WeatherSystem/hdr/index.js.map +1 -1
  218. package/dist/core/WeatherSystem/index.js +124 -77
  219. package/dist/core/WeatherSystem/index.js.map +1 -1
  220. package/dist/core/WeatherSystem/objects/fog/index.js +80 -52
  221. package/dist/core/WeatherSystem/objects/fog/index.js.map +1 -1
  222. package/dist/core/WeatherSystem/objects/rain/index.js +84 -72
  223. package/dist/core/WeatherSystem/objects/rain/index.js.map +1 -1
  224. package/dist/core/WeatherSystem/objects/rain/lineRain.js +118 -88
  225. package/dist/core/WeatherSystem/objects/rain/lineRain.js.map +1 -1
  226. package/dist/core/WeatherSystem/objects/rain/plane.js +146 -116
  227. package/dist/core/WeatherSystem/objects/rain/plane.js.map +1 -1
  228. package/dist/core/WeatherSystem/objects/rain/point.js +148 -100
  229. package/dist/core/WeatherSystem/objects/rain/point.js.map +1 -1
  230. package/dist/core/WeatherSystem/objects/sky/cloud.js +104 -71
  231. package/dist/core/WeatherSystem/objects/sky/cloud.js.map +1 -1
  232. package/dist/core/WeatherSystem/objects/sky/index.js +84 -66
  233. package/dist/core/WeatherSystem/objects/sky/index.js.map +1 -1
  234. package/dist/core/WeatherSystem/objects/sky/outline.js +45 -25
  235. package/dist/core/WeatherSystem/objects/sky/outline.js.map +1 -1
  236. package/dist/core/WeatherSystem/shaders/cloud.js +3 -74
  237. package/dist/core/WeatherSystem/shaders/cloud.js.map +1 -1
  238. package/dist/core/WeatherSystem/shaders/fog.js +3 -103
  239. package/dist/core/WeatherSystem/shaders/fog.js.map +1 -1
  240. package/dist/core/WeatherSystem/shaders/rain.js +7 -206
  241. package/dist/core/WeatherSystem/shaders/rain.js.map +1 -1
  242. package/dist/core/WeatherSystem/shaders/sky.js +3 -87
  243. package/dist/core/WeatherSystem/shaders/sky.js.map +1 -1
  244. package/dist/core/WeatherSystem/sky/index.js +135 -104
  245. package/dist/core/WeatherSystem/sky/index.js.map +1 -1
  246. package/dist/core/WeatherSystem/utils/constant.js +38 -44
  247. package/dist/core/WeatherSystem/utils/constant.js.map +1 -1
  248. package/dist/core/WeatherSystem/utils/math.js +25 -18
  249. package/dist/core/WeatherSystem/utils/math.js.map +1 -1
  250. package/dist/core/WeatherSystem/utils/type.js +1 -1
  251. package/dist/core/WeatherSystem/utils/type.js.map +1 -1
  252. package/dist/core/WeatherSystem/weather/index.js +141 -96
  253. package/dist/core/WeatherSystem/weather/index.js.map +1 -1
  254. package/dist/utils/index.js +1 -1
  255. package/dist/utils/index.js.map +1 -1
  256. package/package.json +3 -3
@@ -1,228 +1,312 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
3
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
4
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
5
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
6
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
7
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
8
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
10
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
11
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
12
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
13
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
14
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
15
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
16
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
17
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
1
18
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
3
- 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); }
19
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
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
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
4
22
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
5
23
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
6
24
  import { DoubleSide, Group, Mesh, MeshBasicMaterial, NearestFilter, PlaneGeometry, SRGBColorSpace, TextureLoader } from '@anov/3d-core';
7
25
  import debounce from 'lodash/debounce';
8
26
  import { createTextCanvas } from "../tools";
9
27
  import ObjectLayer from "../../Base/ObjectLayer";
10
- export const StrategyManage = {
28
+ export var StrategyManage = {
11
29
  border: function () {
12
- var _ref = _asyncToGenerator(function* () {
13
- return (yield import("./Border")).default;
14
- });
15
- return function border() {
16
- return _ref.apply(this, arguments);
17
- };
30
+ var _border = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
31
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
32
+ while (1) switch (_context.prev = _context.next) {
33
+ case 0:
34
+ _context.next = 2;
35
+ return import("./Border");
36
+ case 2:
37
+ return _context.abrupt("return", _context.sent.default);
38
+ case 3:
39
+ case "end":
40
+ return _context.stop();
41
+ }
42
+ }, _callee);
43
+ }));
44
+ function border() {
45
+ return _border.apply(this, arguments);
46
+ }
47
+ return border;
18
48
  }(),
19
49
  ellipse: function () {
20
- var _ref2 = _asyncToGenerator(function* () {
21
- return (yield import("./Ellipse")).default;
22
- });
23
- return function ellipse() {
24
- return _ref2.apply(this, arguments);
25
- };
50
+ var _ellipse = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
51
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
52
+ while (1) switch (_context2.prev = _context2.next) {
53
+ case 0:
54
+ _context2.next = 2;
55
+ return import("./Ellipse");
56
+ case 2:
57
+ return _context2.abrupt("return", _context2.sent.default);
58
+ case 3:
59
+ case "end":
60
+ return _context2.stop();
61
+ }
62
+ }, _callee2);
63
+ }));
64
+ function ellipse() {
65
+ return _ellipse.apply(this, arguments);
66
+ }
67
+ return ellipse;
26
68
  }()
27
69
  };
28
- const MIN_WIDTH = 1.2;
29
- export default class TitleMesh extends ObjectLayer {
30
- constructor(option) {
31
- super();
32
- _defineProperty(this, "_readyPromise", void 0);
33
- _defineProperty(this, "_mesh", void 0);
34
- _defineProperty(this, "_listeners", new Set());
35
- _defineProperty(this, "_padding", void 0);
36
- _defineProperty(this, "_bgUrl", void 0);
37
- _defineProperty(this, "_value", void 0);
38
- _defineProperty(this, "_fontSize", void 0);
39
- _defineProperty(this, "_color", void 0);
40
- _defineProperty(this, "_fontWeight", void 0);
41
- _defineProperty(this, "_offset", void 0);
42
- _defineProperty(this, "_uri", void 0);
43
- _defineProperty(this, "_debouncedUpdate", void 0);
44
- const {
45
- value,
46
- fontSize,
47
- color,
48
- fontWeight,
49
- offset,
50
- bgUrl,
51
- uri
52
- } = option;
53
- this._value = value;
54
- this._fontSize = fontSize;
55
- this._color = color;
56
- this._fontWeight = fontWeight;
57
- this._offset = offset;
58
- if (bgUrl) this._bgUrl = bgUrl;
59
- this._uri = uri;
60
- this._debouncedUpdate = debounce(this.performUpdate.bind(this), 300);
61
- }
62
- get ready() {
63
- return this._readyPromise;
64
- }
65
- get mesh() {
66
- return this._mesh;
67
- }
68
- get value() {
69
- return this._value;
70
- }
71
- set value(newValue) {
72
- if (this._value === newValue) return;
73
- this._value = newValue;
74
- this.update();
75
- }
76
- get fontSize() {
77
- return this._fontSize;
78
- }
79
- set fontSize(newValue) {
80
- if (this._fontSize === newValue) return;
81
- this._fontSize = newValue;
82
- this.update();
83
- }
84
- get color() {
85
- return this._color;
86
- }
87
- set color(newValue) {
88
- if (this._color === newValue) return;
89
- this._color = newValue;
90
- this.update();
91
- }
92
- get fontWeight() {
93
- return this._fontWeight;
94
- }
95
- set fontWeight(newValue) {
96
- if (this._fontWeight === newValue) return;
97
- this._fontWeight = newValue;
98
- this.update();
99
- }
100
- get offset() {
101
- return this._offset;
102
- }
103
- set offset(newValue) {
104
- this._offset = newValue;
105
- this.update();
106
- }
107
- get bgUrl() {
108
- return this._bgUrl;
109
- }
110
- set bgUrl(newValue) {
111
- if (this._bgUrl === newValue) return;
112
- this._bgUrl = newValue;
113
- this.update();
114
- }
115
- get uri() {
116
- return this._uri;
117
- }
118
- set uri(newValue) {
119
- if (this._uri === newValue) return;
120
- this._uri = newValue;
121
- this.update();
70
+ var MIN_WIDTH = 1.2;
71
+ var TitleMesh = /*#__PURE__*/function (_ObjectLayer) {
72
+ _inherits(TitleMesh, _ObjectLayer);
73
+ var _super = _createSuper(TitleMesh);
74
+ function TitleMesh(option) {
75
+ var _this;
76
+ _classCallCheck(this, TitleMesh);
77
+ _this = _super.call(this);
78
+ _defineProperty(_assertThisInitialized(_this), "_readyPromise", void 0);
79
+ _defineProperty(_assertThisInitialized(_this), "_mesh", void 0);
80
+ _defineProperty(_assertThisInitialized(_this), "_listeners", new Set());
81
+ _defineProperty(_assertThisInitialized(_this), "_padding", void 0);
82
+ _defineProperty(_assertThisInitialized(_this), "_bgUrl", void 0);
83
+ _defineProperty(_assertThisInitialized(_this), "_value", void 0);
84
+ _defineProperty(_assertThisInitialized(_this), "_fontSize", void 0);
85
+ _defineProperty(_assertThisInitialized(_this), "_color", void 0);
86
+ _defineProperty(_assertThisInitialized(_this), "_fontWeight", void 0);
87
+ _defineProperty(_assertThisInitialized(_this), "_offset", void 0);
88
+ _defineProperty(_assertThisInitialized(_this), "_uri", void 0);
89
+ _defineProperty(_assertThisInitialized(_this), "_debouncedUpdate", void 0);
90
+ var value = option.value,
91
+ fontSize = option.fontSize,
92
+ color = option.color,
93
+ fontWeight = option.fontWeight,
94
+ offset = option.offset,
95
+ bgUrl = option.bgUrl,
96
+ uri = option.uri;
97
+ _this._value = value;
98
+ _this._fontSize = fontSize;
99
+ _this._color = color;
100
+ _this._fontWeight = fontWeight;
101
+ _this._offset = offset;
102
+ if (bgUrl) _this._bgUrl = bgUrl;
103
+ _this._uri = uri;
104
+ _this._debouncedUpdate = debounce(_this.performUpdate.bind(_assertThisInitialized(_this)), 300);
105
+ return _this;
122
106
  }
107
+ _createClass(TitleMesh, [{
108
+ key: "ready",
109
+ get: function get() {
110
+ return this._readyPromise;
111
+ }
112
+ }, {
113
+ key: "mesh",
114
+ get: function get() {
115
+ return this._mesh;
116
+ }
117
+ }, {
118
+ key: "value",
119
+ get: function get() {
120
+ return this._value;
121
+ },
122
+ set: function set(newValue) {
123
+ if (this._value === newValue) return;
124
+ this._value = newValue;
125
+ this.update();
126
+ }
127
+ }, {
128
+ key: "fontSize",
129
+ get: function get() {
130
+ return this._fontSize;
131
+ },
132
+ set: function set(newValue) {
133
+ if (this._fontSize === newValue) return;
134
+ this._fontSize = newValue;
135
+ this.update();
136
+ }
137
+ }, {
138
+ key: "color",
139
+ get: function get() {
140
+ return this._color;
141
+ },
142
+ set: function set(newValue) {
143
+ if (this._color === newValue) return;
144
+ this._color = newValue;
145
+ this.update();
146
+ }
147
+ }, {
148
+ key: "fontWeight",
149
+ get: function get() {
150
+ return this._fontWeight;
151
+ },
152
+ set: function set(newValue) {
153
+ if (this._fontWeight === newValue) return;
154
+ this._fontWeight = newValue;
155
+ this.update();
156
+ }
157
+ }, {
158
+ key: "offset",
159
+ get: function get() {
160
+ return this._offset;
161
+ },
162
+ set: function set(newValue) {
163
+ this._offset = newValue;
164
+ this.update();
165
+ }
166
+ }, {
167
+ key: "bgUrl",
168
+ get: function get() {
169
+ return this._bgUrl;
170
+ },
171
+ set: function set(newValue) {
172
+ if (this._bgUrl === newValue) return;
173
+ this._bgUrl = newValue;
174
+ this.update();
175
+ }
176
+ }, {
177
+ key: "uri",
178
+ get: function get() {
179
+ return this._uri;
180
+ },
181
+ set: function set(newValue) {
182
+ if (this._uri === newValue) return;
183
+ this._uri = newValue;
184
+ this.update();
185
+ }
123
186
 
124
- // 注册监听
125
- addReloadListener(callback) {
126
- this._listeners.add(callback);
127
- }
187
+ // 注册监听
188
+ }, {
189
+ key: "addReloadListener",
190
+ value: function addReloadListener(callback) {
191
+ this._listeners.add(callback);
192
+ }
128
193
 
129
- // 移除监听
130
- removeReloadListener(callback) {
131
- this._listeners.delete(callback);
132
- }
133
- setupAnimation() {}
194
+ // 移除监听
195
+ }, {
196
+ key: "removeReloadListener",
197
+ value: function removeReloadListener(callback) {
198
+ this._listeners.delete(callback);
199
+ }
200
+ }, {
201
+ key: "setupAnimation",
202
+ value: function setupAnimation() {}
134
203
 
135
- // 销毁
136
- destroy() {
137
- this._debouncedUpdate.cancel();
138
- this._listeners.clear();
139
- this._mesh.remove();
140
- this._mesh.removeFromParent();
141
- }
142
- init() {
143
- const {
144
- width: canvasW,
145
- height: canvasH,
146
- texture
147
- } = createTextCanvas({
148
- fontSize: this._fontSize,
149
- color: this._color,
150
- fontWeight: this._fontWeight,
151
- value: this._value
152
- });
153
- // 转化为场景中的尺寸,并增加左右上下边距
154
- const width = Math.max(canvasW / 100 + this._padding[1] * 2, MIN_WIDTH);
155
- const height = canvasH / 100 + this._padding[0] * 2;
156
- const group = new Group();
157
- this.initBackground(group, {
158
- width,
159
- height,
160
- source: this._bgUrl,
161
- offset: [0, 0, 0]
162
- });
163
- this.initText(group, {
164
- width: canvasW / 100,
165
- height: canvasH / 100,
166
- source: texture,
167
- offset: [0, 0, 0.001],
168
- color: this._color
169
- });
170
- this.add(group);
171
- this._mesh = group;
172
- }
204
+ // 销毁
205
+ }, {
206
+ key: "destroy",
207
+ value: function destroy() {
208
+ this._debouncedUpdate.cancel();
209
+ this._listeners.clear();
210
+ this._mesh.remove();
211
+ this._mesh.removeFromParent();
212
+ }
213
+ }, {
214
+ key: "init",
215
+ value: function init() {
216
+ var _createTextCanvas = createTextCanvas({
217
+ fontSize: this._fontSize,
218
+ color: this._color,
219
+ fontWeight: this._fontWeight,
220
+ value: this._value
221
+ }),
222
+ canvasW = _createTextCanvas.width,
223
+ canvasH = _createTextCanvas.height,
224
+ texture = _createTextCanvas.texture;
225
+ // 转化为场景中的尺寸,并增加左右上下边距
226
+ var width = Math.max(canvasW / 100 + this._padding[1] * 2, MIN_WIDTH);
227
+ var height = canvasH / 100 + this._padding[0] * 2;
228
+ var group = new Group();
229
+ this.initBackground(group, {
230
+ width: width,
231
+ height: height,
232
+ source: this._bgUrl,
233
+ offset: [0, 0, 0]
234
+ });
235
+ this.initText(group, {
236
+ width: canvasW / 100,
237
+ height: canvasH / 100,
238
+ source: texture,
239
+ offset: [0, 0, 0.001],
240
+ color: this._color
241
+ });
242
+ this.add(group);
243
+ this._mesh = group;
244
+ }
173
245
 
174
- // Update method with debounce
175
- update() {
176
- this._debouncedUpdate();
177
- }
178
- performUpdate() {
179
- this._mesh.remove();
180
- this._mesh.removeFromParent();
181
- this.init();
182
- this._listeners.forEach(cb => {
183
- cb();
184
- });
185
- }
186
- initBackground(group, option) {
187
- const mesh = this.createPanel(option);
188
- group.add(mesh);
189
- }
190
- initText(group, option) {
191
- const mesh = this.createPanel(option);
192
- group.add(mesh);
193
- }
194
- createPanel({
195
- width,
196
- height,
197
- source,
198
- color,
199
- offset
200
- }) {
201
- const texture = typeof source == 'string' ? new TextureLoader().load(source) : source;
202
- texture.colorSpace = SRGBColorSpace;
203
- texture.magFilter = NearestFilter; // 或 LinearFilter
204
- texture.minFilter = NearestFilter; // 避免mipmap混合
205
- texture.generateMipmaps = false; // 禁用mipmap生成
246
+ // Update method with debounce
247
+ }, {
248
+ key: "update",
249
+ value: function update() {
250
+ this._debouncedUpdate();
251
+ }
252
+ }, {
253
+ key: "performUpdate",
254
+ value: function performUpdate() {
255
+ this._mesh.remove();
256
+ this._mesh.removeFromParent();
257
+ this.init();
258
+ this._listeners.forEach(function (cb) {
259
+ cb();
260
+ });
261
+ }
262
+ }, {
263
+ key: "initBackground",
264
+ value: function initBackground(group, option) {
265
+ var mesh = this.createPanel(option);
266
+ group.add(mesh);
267
+ }
268
+ }, {
269
+ key: "initText",
270
+ value: function initText(group, option) {
271
+ var mesh = this.createPanel(option);
272
+ group.add(mesh);
273
+ }
274
+ }, {
275
+ key: "createPanel",
276
+ value: function createPanel(_ref) {
277
+ var width = _ref.width,
278
+ height = _ref.height,
279
+ source = _ref.source,
280
+ color = _ref.color,
281
+ offset = _ref.offset;
282
+ var texture = typeof source == 'string' ? new TextureLoader().load(source) : source;
283
+ texture.colorSpace = SRGBColorSpace;
284
+ texture.magFilter = NearestFilter; // 或 LinearFilter
285
+ texture.minFilter = NearestFilter; // 避免mipmap混合
286
+ texture.generateMipmaps = false; // 禁用mipmap生成
206
287
 
207
- const meshBasicMaterial = new MeshBasicMaterial({
208
- map: texture,
209
- transparent: true,
210
- alphaTest: 0.5,
211
- side: DoubleSide,
212
- color,
213
- depthWrite: true,
214
- depthTest: true,
215
- polygonOffset: true,
216
- // 解决深度冲突
217
- polygonOffsetFactor: -1,
218
- polygonOffsetUnits: -1
219
- });
220
- const mesh = new Mesh(new PlaneGeometry(width, height), meshBasicMaterial);
221
- // mesh.renderOrder = 1000
288
+ var meshBasicMaterial = new MeshBasicMaterial({
289
+ map: texture,
290
+ transparent: true,
291
+ alphaTest: 0.5,
292
+ side: DoubleSide,
293
+ color: color,
294
+ depthWrite: true,
295
+ depthTest: true,
296
+ polygonOffset: true,
297
+ // 解决深度冲突
298
+ polygonOffsetFactor: -1,
299
+ polygonOffsetUnits: -1
300
+ });
301
+ var mesh = new Mesh(new PlaneGeometry(width, height), meshBasicMaterial);
302
+ // mesh.renderOrder = 1000
222
303
 
223
- // this._scale && mesh.scale.fromArray(scale)
224
- offset && mesh.position.fromArray([...offset, 0]);
225
- return mesh;
226
- }
227
- }
304
+ // this._scale && mesh.scale.fromArray(scale)
305
+ offset && mesh.position.fromArray([].concat(_toConsumableArray(offset), [0]));
306
+ return mesh;
307
+ }
308
+ }]);
309
+ return TitleMesh;
310
+ }(ObjectLayer);
311
+ export { TitleMesh as default };
228
312
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DoubleSide","Group","Mesh","MeshBasicMaterial","NearestFilter","PlaneGeometry","SRGBColorSpace","TextureLoader","debounce","createTextCanvas","ObjectLayer","StrategyManage","border","_ref","_asyncToGenerator","default","apply","arguments","ellipse","_ref2","MIN_WIDTH","TitleMesh","constructor","option","_defineProperty","Set","value","fontSize","color","fontWeight","offset","bgUrl","uri","_value","_fontSize","_color","_fontWeight","_offset","_bgUrl","_uri","_debouncedUpdate","performUpdate","bind","ready","_readyPromise","mesh","_mesh","newValue","update","addReloadListener","callback","_listeners","add","removeReloadListener","delete","setupAnimation","destroy","cancel","clear","remove","removeFromParent","init","width","canvasW","height","canvasH","texture","Math","max","_padding","group","initBackground","source","initText","forEach","cb","createPanel","load","colorSpace","magFilter","minFilter","generateMipmaps","meshBasicMaterial","map","transparent","alphaTest","side","depthWrite","depthTest","polygonOffset","polygonOffsetFactor","polygonOffsetUnits","position","fromArray"],"sources":["../../../../src/business/Poi/title/index.ts"],"sourcesContent":["import { DoubleSide, Group, Mesh, MeshBasicMaterial, NearestFilter, PlaneGeometry, SRGBColorSpace, TextureLoader } from '@anov/3d-core'\nimport debounce from 'lodash/debounce'\nimport type { TextOption } from '../types'\nimport { createTextCanvas } from '../tools'\nimport ObjectLayer from '../../Base/ObjectLayer'\n\nexport const StrategyManage = {\n border: async () => (await import('./Border')).default,\n ellipse: async () => (await import('./Ellipse')).default,\n}\n\nconst MIN_WIDTH = 1.2\nexport default class TitleMesh extends ObjectLayer {\n private _readyPromise: Promise<boolean>\n private _mesh: Group | Mesh\n private _listeners = new Set()\n\n _padding: [number, number]\n _bgUrl: string\n private _value: string\n private _fontSize: number\n private _color: string\n private _fontWeight: string\n private _offset: [number, number]\n private _uri: string\n private _debouncedUpdate: Function & { cancel: Function }\n\n constructor(option: TextOption) {\n super()\n const { value, fontSize, color, fontWeight, offset, bgUrl, uri } = option\n this._value = value\n this._fontSize = fontSize\n this._color = color\n this._fontWeight = fontWeight\n this._offset = offset\n if (bgUrl)\n this._bgUrl = bgUrl\n this._uri = uri\n this._debouncedUpdate = debounce(this.performUpdate.bind(this), 300)\n }\n\n public get ready() {\n return this._readyPromise\n }\n\n public get mesh() {\n return this._mesh\n }\n\n public get value(): string {\n return this._value\n }\n\n public set value(newValue: string) {\n if (this._value === newValue)\n return\n this._value = newValue\n this.update()\n }\n\n public get fontSize(): number {\n return this._fontSize\n }\n\n public set fontSize(newValue: number) {\n if (this._fontSize === newValue)\n return\n this._fontSize = newValue\n this.update()\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.update()\n }\n\n public get fontWeight(): string {\n return this._fontWeight\n }\n\n public set fontWeight(newValue: string) {\n if (this._fontWeight === newValue)\n return\n this._fontWeight = newValue\n this.update()\n }\n\n public get offset(): [number, number] {\n return this._offset\n }\n\n public set offset(newValue: [number, number]) {\n this._offset = newValue\n this.update()\n }\n\n public get bgUrl(): string {\n return this._bgUrl\n }\n\n public set bgUrl(newValue: string) {\n if (this._bgUrl === newValue)\n return\n this._bgUrl = newValue\n this.update()\n }\n\n public get uri(): string {\n return this._uri\n }\n\n public set uri(newValue: string) {\n if (this._uri === newValue)\n return\n this._uri = newValue\n this.update()\n }\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 public setupAnimation() {}\n\n // 销毁\n public destroy() {\n this._debouncedUpdate.cancel()\n this._listeners.clear()\n this._mesh.remove()\n this._mesh.removeFromParent()\n }\n\n init() {\n const { width: canvasW, height: canvasH, texture } = createTextCanvas({\n fontSize: this._fontSize,\n color: this._color,\n fontWeight: this._fontWeight,\n value: this._value,\n })\n // 转化为场景中的尺寸,并增加左右上下边距\n const width = Math.max(canvasW / 100 + this._padding[1] * 2, MIN_WIDTH)\n const height = canvasH / 100 + this._padding[0] * 2\n\n const group = new Group()\n this.initBackground(group, { width, height, source: this._bgUrl, offset: [0, 0, 0] })\n this.initText(group, { width: canvasW / 100, height: canvasH / 100, source: texture, offset: [0, 0, 0.001], color: this._color })\n this.add(group)\n this._mesh = group\n }\n\n // Update method with debounce\n private update(): void {\n this._debouncedUpdate()\n }\n\n private performUpdate(): void {\n this._mesh.remove()\n this._mesh.removeFromParent()\n this.init()\n this._listeners.forEach((cb: Function) => {\n cb()\n })\n }\n\n private initBackground(group: Group, option) {\n const mesh = this.createPanel(option)\n group.add(mesh)\n }\n\n private initText(group: Group, option) {\n const mesh = this.createPanel(option)\n group.add(mesh)\n }\n\n private createPanel({ width, height, source, color, offset }) {\n const texture = (typeof source == 'string') ? new TextureLoader().load(source) : source\n texture.colorSpace = SRGBColorSpace\n texture.magFilter = NearestFilter // 或 LinearFilter\n texture.minFilter = NearestFilter // 避免mipmap混合\n texture.generateMipmaps = false // 禁用mipmap生成\n\n const meshBasicMaterial = new MeshBasicMaterial({\n map: texture,\n transparent: true,\n alphaTest: 0.5,\n side: DoubleSide,\n color,\n depthWrite: true,\n depthTest: true,\n polygonOffset: true, // 解决深度冲突\n polygonOffsetFactor: -1,\n polygonOffsetUnits: -1,\n })\n\n const mesh = new Mesh(\n new PlaneGeometry(width, height),\n meshBasicMaterial,\n )\n // mesh.renderOrder = 1000\n\n // this._scale && mesh.scale.fromArray(scale)\n offset && mesh.position.fromArray([...offset, 0])\n return mesh\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","DoubleSide","Group","Mesh","MeshBasicMaterial","NearestFilter","PlaneGeometry","SRGBColorSpace","TextureLoader","debounce","createTextCanvas","ObjectLayer","StrategyManage","border","_border","_callee","_callee$","_context","default","ellipse","_ellipse","_callee2","_callee2$","_context2","MIN_WIDTH","TitleMesh","_ObjectLayer","_inherits","_super","_createSuper","option","_this","_classCallCheck","_defineProperty","_assertThisInitialized","Set","fontSize","color","fontWeight","offset","bgUrl","uri","_value","_fontSize","_color","_fontWeight","_offset","_bgUrl","_uri","_debouncedUpdate","performUpdate","bind","_createClass","get","_readyPromise","_mesh","set","newValue","update","addReloadListener","callback","_listeners","add","removeReloadListener","delete","setupAnimation","destroy","cancel","clear","remove","removeFromParent","init","_createTextCanvas","canvasW","width","canvasH","height","texture","Math","max","_padding","group","initBackground","source","initText","cb","mesh","createPanel","_ref","load","colorSpace","magFilter","minFilter","generateMipmaps","meshBasicMaterial","map","transparent","alphaTest","side","depthWrite","depthTest","polygonOffset","polygonOffsetFactor","polygonOffsetUnits","position","fromArray","concat","_toConsumableArray"],"sources":["../../../../src/business/Poi/title/index.ts"],"sourcesContent":["import { DoubleSide, Group, Mesh, MeshBasicMaterial, NearestFilter, PlaneGeometry, SRGBColorSpace, TextureLoader } from '@anov/3d-core'\nimport debounce from 'lodash/debounce'\nimport type { TextOption } from '../types'\nimport { createTextCanvas } from '../tools'\nimport ObjectLayer from '../../Base/ObjectLayer'\n\nexport const StrategyManage = {\n border: async () => (await import('./Border')).default,\n ellipse: async () => (await import('./Ellipse')).default,\n}\n\nconst MIN_WIDTH = 1.2\nexport default class TitleMesh extends ObjectLayer {\n private _readyPromise: Promise<boolean>\n private _mesh: Group | Mesh\n private _listeners = new Set()\n\n _padding: [number, number]\n _bgUrl: string\n private _value: string\n private _fontSize: number\n private _color: string\n private _fontWeight: string\n private _offset: [number, number]\n private _uri: string\n private _debouncedUpdate: Function & { cancel: Function }\n\n constructor(option: TextOption) {\n super()\n const { value, fontSize, color, fontWeight, offset, bgUrl, uri } = option\n this._value = value\n this._fontSize = fontSize\n this._color = color\n this._fontWeight = fontWeight\n this._offset = offset\n if (bgUrl)\n this._bgUrl = bgUrl\n this._uri = uri\n this._debouncedUpdate = debounce(this.performUpdate.bind(this), 300)\n }\n\n public get ready() {\n return this._readyPromise\n }\n\n public get mesh() {\n return this._mesh\n }\n\n public get value(): string {\n return this._value\n }\n\n public set value(newValue: string) {\n if (this._value === newValue)\n return\n this._value = newValue\n this.update()\n }\n\n public get fontSize(): number {\n return this._fontSize\n }\n\n public set fontSize(newValue: number) {\n if (this._fontSize === newValue)\n return\n this._fontSize = newValue\n this.update()\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.update()\n }\n\n public get fontWeight(): string {\n return this._fontWeight\n }\n\n public set fontWeight(newValue: string) {\n if (this._fontWeight === newValue)\n return\n this._fontWeight = newValue\n this.update()\n }\n\n public get offset(): [number, number] {\n return this._offset\n }\n\n public set offset(newValue: [number, number]) {\n this._offset = newValue\n this.update()\n }\n\n public get bgUrl(): string {\n return this._bgUrl\n }\n\n public set bgUrl(newValue: string) {\n if (this._bgUrl === newValue)\n return\n this._bgUrl = newValue\n this.update()\n }\n\n public get uri(): string {\n return this._uri\n }\n\n public set uri(newValue: string) {\n if (this._uri === newValue)\n return\n this._uri = newValue\n this.update()\n }\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 public setupAnimation() {}\n\n // 销毁\n public destroy() {\n this._debouncedUpdate.cancel()\n this._listeners.clear()\n this._mesh.remove()\n this._mesh.removeFromParent()\n }\n\n init() {\n const { width: canvasW, height: canvasH, texture } = createTextCanvas({\n fontSize: this._fontSize,\n color: this._color,\n fontWeight: this._fontWeight,\n value: this._value,\n })\n // 转化为场景中的尺寸,并增加左右上下边距\n const width = Math.max(canvasW / 100 + this._padding[1] * 2, MIN_WIDTH)\n const height = canvasH / 100 + this._padding[0] * 2\n\n const group = new Group()\n this.initBackground(group, { width, height, source: this._bgUrl, offset: [0, 0, 0] })\n this.initText(group, { width: canvasW / 100, height: canvasH / 100, source: texture, offset: [0, 0, 0.001], color: this._color })\n this.add(group)\n this._mesh = group\n }\n\n // Update method with debounce\n private update(): void {\n this._debouncedUpdate()\n }\n\n private performUpdate(): void {\n this._mesh.remove()\n this._mesh.removeFromParent()\n this.init()\n this._listeners.forEach((cb: Function) => {\n cb()\n })\n }\n\n private initBackground(group: Group, option) {\n const mesh = this.createPanel(option)\n group.add(mesh)\n }\n\n private initText(group: Group, option) {\n const mesh = this.createPanel(option)\n group.add(mesh)\n }\n\n private createPanel({ width, height, source, color, offset }) {\n const texture = (typeof source == 'string') ? new TextureLoader().load(source) : source\n texture.colorSpace = SRGBColorSpace\n texture.magFilter = NearestFilter // 或 LinearFilter\n texture.minFilter = NearestFilter // 避免mipmap混合\n texture.generateMipmaps = false // 禁用mipmap生成\n\n const meshBasicMaterial = new MeshBasicMaterial({\n map: texture,\n transparent: true,\n alphaTest: 0.5,\n side: DoubleSide,\n color,\n depthWrite: true,\n depthTest: true,\n polygonOffset: true, // 解决深度冲突\n polygonOffsetFactor: -1,\n polygonOffsetUnits: -1,\n })\n\n const mesh = new Mesh(\n new PlaneGeometry(width, height),\n meshBasicMaterial,\n )\n // mesh.renderOrder = 1000\n\n // this._scale && mesh.scale.fromArray(scale)\n offset && mesh.position.fromArray([...offset, 0])\n return mesh\n }\n}"],"mappings":"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"}