@anov/3d-ability 0.0.140 → 0.0.141

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 (265) hide show
  1. package/dist/business/Animation/motion/index.js +35 -56
  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 +146 -187
  5. package/dist/business/Area/Fence/FenceBase.js.map +1 -1
  6. package/dist/business/Area/Fence/fence_base_01.js +120 -112
  7. package/dist/business/Area/Fence/fence_base_01.js.map +1 -1
  8. package/dist/business/Area/Fence/fence_feeting_01.js +218 -130
  9. package/dist/business/Area/Fence/fence_feeting_01.js.map +1 -1
  10. package/dist/business/Area/Fence/fence_roll_01.js +140 -130
  11. package/dist/business/Area/Fence/fence_roll_01.js.map +1 -1
  12. package/dist/business/Area/FillArea/FillAreaBase.js +87 -126
  13. package/dist/business/Area/FillArea/FillAreaBase.js.map +1 -1
  14. package/dist/business/Area/FillArea/fillArea_face_01.js +72 -98
  15. package/dist/business/Area/FillArea/fillArea_face_01.js.map +1 -1
  16. package/dist/business/Area/FillArea/fillArea_line_01.js +66 -94
  17. package/dist/business/Area/FillArea/fillArea_line_01.js.map +1 -1
  18. package/dist/business/Area/index.js +267 -483
  19. package/dist/business/Area/index.js.map +1 -1
  20. package/dist/business/Area/tool.js +14 -26
  21. package/dist/business/Area/tool.js.map +1 -1
  22. package/dist/business/Base/ObjectLayer.js +21 -46
  23. package/dist/business/Base/ObjectLayer.js.map +1 -1
  24. package/dist/business/Batch/index.js +189 -234
  25. package/dist/business/Batch/index.js.map +1 -1
  26. package/dist/business/Box/index.js +52 -81
  27. package/dist/business/Box/index.js.map +1 -1
  28. package/dist/business/Cylinder/index.js +51 -79
  29. package/dist/business/Cylinder/index.js.map +1 -1
  30. package/dist/business/Flyline/bubble/CircleBubble.js +1 -9
  31. package/dist/business/Flyline/bubble/CircleBubble.js.map +1 -1
  32. package/dist/business/Flyline/bubble/index.js +7 -21
  33. package/dist/business/Flyline/bubble/index.js.map +1 -1
  34. package/dist/business/Flyline/index.js +96 -162
  35. package/dist/business/Flyline/index.js.map +1 -1
  36. package/dist/business/Flyline/line/ArcLine.js +208 -291
  37. package/dist/business/Flyline/line/ArcLine.js.map +1 -1
  38. package/dist/business/Flyline/line/index.js +8 -22
  39. package/dist/business/Flyline/line/index.js.map +1 -1
  40. package/dist/business/HeatMap/HeatMap.js +380 -467
  41. package/dist/business/HeatMap/HeatMap.js.map +1 -1
  42. package/dist/business/HeatMap/core.js +405 -525
  43. package/dist/business/HeatMap/core.js.map +1 -1
  44. package/dist/business/HeatMap/shader.js +69 -3
  45. package/dist/business/HeatMap/shader.js.map +1 -1
  46. package/dist/business/InfoPanel/index.js +201 -242
  47. package/dist/business/InfoPanel/index.js.map +1 -1
  48. package/dist/business/Line/index.js +55 -88
  49. package/dist/business/Line/index.js.map +1 -1
  50. package/dist/business/Mark/KeyframeAnimation.js +145 -176
  51. package/dist/business/Mark/KeyframeAnimation.js.map +1 -1
  52. package/dist/business/Mark/index.js +196 -294
  53. package/dist/business/Mark/index.js.map +1 -1
  54. package/dist/business/Mark/shader/tanhao.js +36 -3
  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 +377 -551
  58. package/dist/business/MaterialSwitch/MaterialSwitchSystem.js.map +1 -1
  59. package/dist/business/MaterialSwitch/inject.js +92 -58
  60. package/dist/business/MaterialSwitch/inject.js.map +1 -1
  61. package/dist/business/MaterialSwitch/shader/finalFade.js +74 -2
  62. package/dist/business/MaterialSwitch/shader/finalFade.js.map +1 -1
  63. package/dist/business/MaterialSwitch/shader/ground.js +95 -16
  64. package/dist/business/MaterialSwitch/shader/ground.js.map +1 -1
  65. package/dist/business/MaterialSwitch/shader/groundBase64.js +9 -3
  66. package/dist/business/MaterialSwitch/shader/groundBase64.js.map +1 -1
  67. package/dist/business/MaterialSwitch/shader/realFade.js +48 -9
  68. package/dist/business/MaterialSwitch/shader/realFade.js.map +1 -1
  69. package/dist/business/Plane/index.js +51 -78
  70. package/dist/business/Plane/index.js.map +1 -1
  71. package/dist/business/Poi/index.d.ts +5 -0
  72. package/dist/business/Poi/index.js +256 -295
  73. package/dist/business/Poi/index.js.map +1 -1
  74. package/dist/business/Poi/link/Cylinder.js +56 -89
  75. package/dist/business/Poi/link/Cylinder.js.map +1 -1
  76. package/dist/business/Poi/link/Pyramid.js +104 -165
  77. package/dist/business/Poi/link/Pyramid.js.map +1 -1
  78. package/dist/business/Poi/link/index.d.ts +1 -1
  79. package/dist/business/Poi/link/index.js +54 -114
  80. package/dist/business/Poi/link/index.js.map +1 -1
  81. package/dist/business/Poi/panel/index.d.ts +124 -0
  82. package/dist/business/Poi/panel/index.js +474 -0
  83. package/dist/business/Poi/panel/index.js.map +1 -0
  84. package/dist/business/Poi/panel/interfaces.d.ts +67 -0
  85. package/dist/business/Poi/panel/interfaces.js +2 -0
  86. package/dist/business/Poi/panel/interfaces.js.map +1 -0
  87. package/dist/business/Poi/panel/utils.d.ts +72 -0
  88. package/dist/business/Poi/panel/utils.js +126 -0
  89. package/dist/business/Poi/panel/utils.js.map +1 -0
  90. package/dist/business/Poi/particle/DoubleCircle.js +71 -107
  91. package/dist/business/Poi/particle/DoubleCircle.js.map +1 -1
  92. package/dist/business/Poi/particle/DynamicCircle.js +75 -111
  93. package/dist/business/Poi/particle/DynamicCircle.js.map +1 -1
  94. package/dist/business/Poi/particle/SingleCircle.js +62 -98
  95. package/dist/business/Poi/particle/SingleCircle.js.map +1 -1
  96. package/dist/business/Poi/particle/index.js +49 -117
  97. package/dist/business/Poi/particle/index.js.map +1 -1
  98. package/dist/business/Poi/shader/circle.js +31 -3
  99. package/dist/business/Poi/shader/circle.js.map +1 -1
  100. package/dist/business/Poi/shader/cylinder.js +37 -3
  101. package/dist/business/Poi/shader/cylinder.js.map +1 -1
  102. package/dist/business/Poi/shader/doubleCircle.js +55 -3
  103. package/dist/business/Poi/shader/doubleCircle.js.map +1 -1
  104. package/dist/business/Poi/shader/dynamicCircle.js +67 -3
  105. package/dist/business/Poi/shader/dynamicCircle.js.map +1 -1
  106. package/dist/business/Poi/title/Border.js +7 -27
  107. package/dist/business/Poi/title/Border.js.map +1 -1
  108. package/dist/business/Poi/title/Ellipse.js +7 -27
  109. package/dist/business/Poi/title/Ellipse.js.map +1 -1
  110. package/dist/business/Poi/title/index.js +208 -292
  111. package/dist/business/Poi/title/index.js.map +1 -1
  112. package/dist/business/Poi/tools.js +22 -19
  113. package/dist/business/Poi/tools.js.map +1 -1
  114. package/dist/business/Poi/types.d.ts +3 -0
  115. package/dist/business/Poi/types.js.map +1 -1
  116. package/dist/business/Sphere/index.js +47 -72
  117. package/dist/business/Sphere/index.js.map +1 -1
  118. package/dist/business/Spline/index.js +190 -245
  119. package/dist/business/Spline/index.js.map +1 -1
  120. package/dist/business/SplitBuilding/index.js +327 -536
  121. package/dist/business/SplitBuilding/index.js.map +1 -1
  122. package/dist/business/SplitBuilding/type.js +2 -2
  123. package/dist/business/TrafficComponents/RealismTraffic/RealismTraffic.js +218 -275
  124. package/dist/business/TrafficComponents/RealismTraffic/RealismTraffic.js.map +1 -1
  125. package/dist/business/TrafficComponents/StreamerTraffic/StreamerTraffic.js +132 -177
  126. package/dist/business/TrafficComponents/StreamerTraffic/StreamerTraffic.js.map +1 -1
  127. package/dist/business/TrafficComponents/StreamerTraffic/fragmentShader.js +51 -1
  128. package/dist/business/TrafficComponents/StreamerTraffic/fragmentShader.js.map +1 -1
  129. package/dist/business/TrafficComponents/StreamerTraffic/vertexShader.js +6 -1
  130. package/dist/business/TrafficComponents/StreamerTraffic/vertexShader.js.map +1 -1
  131. package/dist/business/TrafficComponents/base.js +32 -55
  132. package/dist/business/TrafficComponents/base.js.map +1 -1
  133. package/dist/business/TrafficComponents/utils.js +25 -24
  134. package/dist/business/TrafficComponents/utils.js.map +1 -1
  135. package/dist/business/Utils/Curve.js +40 -56
  136. package/dist/business/Utils/Curve.js.map +1 -1
  137. package/dist/business/Utils/constant.js +1 -1
  138. package/dist/business/Utils/constant.js.map +1 -1
  139. package/dist/business/Utils/defineProps.js +13 -14
  140. package/dist/business/Utils/defineProps.js.map +1 -1
  141. package/dist/business/Utils/round-curve.js +127 -153
  142. package/dist/business/Utils/round-curve.js.map +1 -1
  143. package/dist/business/VideoPanel/index.js +258 -319
  144. package/dist/business/VideoPanel/index.js.map +1 -1
  145. package/dist/business/Water/index.js +78 -108
  146. package/dist/business/Water/index.js.map +1 -1
  147. package/dist/business/Water/types.js +1 -1
  148. package/dist/business/Water/types.js.map +1 -1
  149. package/dist/core/Camera/PerspectiveCamera/CameraExpand.js +383 -449
  150. package/dist/core/Camera/PerspectiveCamera/CameraExpand.js.map +1 -1
  151. package/dist/core/Camera/PerspectiveCamera/FollowOrbitControls.js +107 -142
  152. package/dist/core/Camera/PerspectiveCamera/FollowOrbitControls.js.map +1 -1
  153. package/dist/core/Controls/FirstViewControl/index.js +84 -96
  154. package/dist/core/Controls/FirstViewControl/index.js.map +1 -1
  155. package/dist/core/Controls/ThirdViewControl/action/input.js +77 -98
  156. package/dist/core/Controls/ThirdViewControl/action/input.js.map +1 -1
  157. package/dist/core/Controls/ThirdViewControl/config/constants.js +1 -1
  158. package/dist/core/Controls/ThirdViewControl/config/constants.js.map +1 -1
  159. package/dist/core/Controls/ThirdViewControl/index.js +19 -28
  160. package/dist/core/Controls/ThirdViewControl/index.js.map +1 -1
  161. package/dist/core/Controls/ThirdViewControl/player/animation.js +126 -155
  162. package/dist/core/Controls/ThirdViewControl/player/animation.js.map +1 -1
  163. package/dist/core/Controls/ThirdViewControl/player/camera.js +47 -63
  164. package/dist/core/Controls/ThirdViewControl/player/camera.js.map +1 -1
  165. package/dist/core/Controls/ThirdViewControl/player/control.js +39 -49
  166. package/dist/core/Controls/ThirdViewControl/player/control.js.map +1 -1
  167. package/dist/core/Controls/ThirdViewControl/player.js +66 -91
  168. package/dist/core/Controls/ThirdViewControl/player.js.map +1 -1
  169. package/dist/core/Controls/base.js +14 -30
  170. package/dist/core/Controls/base.js.map +1 -1
  171. package/dist/core/Curve/RoundedCornersCurve/RoundedCornersCurve.js +92 -131
  172. package/dist/core/Curve/RoundedCornersCurve/RoundedCornersCurve.js.map +1 -1
  173. package/dist/core/Debug/PerformanceInfo/Performance.js +22 -47
  174. package/dist/core/Debug/PerformanceInfo/Performance.js.map +1 -1
  175. package/dist/core/Light/PointLight/PointLightExt.js +4 -21
  176. package/dist/core/Light/PointLight/PointLightExt.js.map +1 -1
  177. package/dist/core/Material/FinirMaterial/FinirMaterial.js +37 -57
  178. package/dist/core/Material/FinirMaterial/FinirMaterial.js.map +1 -1
  179. package/dist/core/Material/PristineGridMaterial/PristineGridMaterial.js +116 -153
  180. package/dist/core/Material/PristineGridMaterial/PristineGridMaterial.js.map +1 -1
  181. package/dist/core/Material/PristineGridMaterial/shader/fragment.js +95 -1
  182. package/dist/core/Material/PristineGridMaterial/shader/fragment.js.map +1 -1
  183. package/dist/core/Material/PristineGridMaterial/shader/vertex.js +26 -1
  184. package/dist/core/Material/PristineGridMaterial/shader/vertex.js.map +1 -1
  185. package/dist/core/Material/SurfaceMaterial/index.js +76 -172
  186. package/dist/core/Material/SurfaceMaterial/index.js.map +1 -1
  187. package/dist/core/Material/decorators.js +6 -11
  188. package/dist/core/Material/decorators.js.map +1 -1
  189. package/dist/core/PostEffects/addACESFilmicToneMappingPass.js +16 -12
  190. package/dist/core/PostEffects/addACESFilmicToneMappingPass.js.map +1 -1
  191. package/dist/core/PostEffects/addBrightnessContrastPass.js +17 -13
  192. package/dist/core/PostEffects/addBrightnessContrastPass.js.map +1 -1
  193. package/dist/core/PostEffects/bloomPass.js +17 -10
  194. package/dist/core/PostEffects/bloomPass.js.map +1 -1
  195. package/dist/core/PostEffects/bloomSelect.js +60 -43
  196. package/dist/core/PostEffects/bloomSelect.js.map +1 -1
  197. package/dist/core/PostEffects/colorifyPass.js +17 -13
  198. package/dist/core/PostEffects/colorifyPass.js.map +1 -1
  199. package/dist/core/PostEffects/index.js +28 -22
  200. package/dist/core/PostEffects/index.js.map +1 -1
  201. package/dist/core/PostEffects/outlinePass.js +37 -50
  202. package/dist/core/PostEffects/outlinePass.js.map +1 -1
  203. package/dist/core/PostEffects/postprocessing.js +14 -12
  204. package/dist/core/PostEffects/postprocessing.js.map +1 -1
  205. package/dist/core/PostEffects/saoPass.js +15 -10
  206. package/dist/core/PostEffects/saoPass.js.map +1 -1
  207. package/dist/core/PostEffects/shader/colorify.js +22 -3
  208. package/dist/core/PostEffects/shader/colorify.js.map +1 -1
  209. package/dist/core/PostEffects/shader/gammaCorrectionShader.js +27 -3
  210. package/dist/core/PostEffects/shader/gammaCorrectionShader.js.map +1 -1
  211. package/dist/core/PostEffects/shader/mapping.js +66 -3
  212. package/dist/core/PostEffects/shader/mapping.js.map +1 -1
  213. package/dist/core/PostEffects/shader/thermalMaging.js +28 -3
  214. package/dist/core/PostEffects/shader/thermalMaging.js.map +1 -1
  215. package/dist/core/SceneEffect/grow/grow.js +85 -101
  216. package/dist/core/SceneEffect/grow/grow.js.map +1 -1
  217. package/dist/core/SceneEffect/grow/style_down.js +60 -77
  218. package/dist/core/SceneEffect/grow/style_down.js.map +1 -1
  219. package/dist/core/SceneEffect/grow/style_up.js +64 -81
  220. package/dist/core/SceneEffect/grow/style_up.js.map +1 -1
  221. package/dist/core/SceneEffect/grow/type.js +2 -2
  222. package/dist/core/SceneEffect/grow/type.js.map +1 -1
  223. package/dist/core/WeatherSystem/DynamicWeatherSystem.js +51 -76
  224. package/dist/core/WeatherSystem/DynamicWeatherSystem.js.map +1 -1
  225. package/dist/core/WeatherSystem/hdr/index.js +69 -105
  226. package/dist/core/WeatherSystem/hdr/index.js.map +1 -1
  227. package/dist/core/WeatherSystem/index.js +77 -124
  228. package/dist/core/WeatherSystem/index.js.map +1 -1
  229. package/dist/core/WeatherSystem/objects/fog/index.js +52 -80
  230. package/dist/core/WeatherSystem/objects/fog/index.js.map +1 -1
  231. package/dist/core/WeatherSystem/objects/rain/index.js +72 -84
  232. package/dist/core/WeatherSystem/objects/rain/index.js.map +1 -1
  233. package/dist/core/WeatherSystem/objects/rain/lineRain.js +88 -118
  234. package/dist/core/WeatherSystem/objects/rain/lineRain.js.map +1 -1
  235. package/dist/core/WeatherSystem/objects/rain/plane.js +116 -146
  236. package/dist/core/WeatherSystem/objects/rain/plane.js.map +1 -1
  237. package/dist/core/WeatherSystem/objects/rain/point.js +100 -148
  238. package/dist/core/WeatherSystem/objects/rain/point.js.map +1 -1
  239. package/dist/core/WeatherSystem/objects/sky/cloud.js +71 -104
  240. package/dist/core/WeatherSystem/objects/sky/cloud.js.map +1 -1
  241. package/dist/core/WeatherSystem/objects/sky/index.js +66 -84
  242. package/dist/core/WeatherSystem/objects/sky/index.js.map +1 -1
  243. package/dist/core/WeatherSystem/objects/sky/outline.js +25 -45
  244. package/dist/core/WeatherSystem/objects/sky/outline.js.map +1 -1
  245. package/dist/core/WeatherSystem/shaders/cloud.js +74 -3
  246. package/dist/core/WeatherSystem/shaders/cloud.js.map +1 -1
  247. package/dist/core/WeatherSystem/shaders/fog.js +103 -3
  248. package/dist/core/WeatherSystem/shaders/fog.js.map +1 -1
  249. package/dist/core/WeatherSystem/shaders/rain.js +206 -7
  250. package/dist/core/WeatherSystem/shaders/rain.js.map +1 -1
  251. package/dist/core/WeatherSystem/shaders/sky.js +87 -3
  252. package/dist/core/WeatherSystem/shaders/sky.js.map +1 -1
  253. package/dist/core/WeatherSystem/sky/index.js +104 -135
  254. package/dist/core/WeatherSystem/sky/index.js.map +1 -1
  255. package/dist/core/WeatherSystem/utils/constant.js +44 -38
  256. package/dist/core/WeatherSystem/utils/constant.js.map +1 -1
  257. package/dist/core/WeatherSystem/utils/math.js +18 -25
  258. package/dist/core/WeatherSystem/utils/math.js.map +1 -1
  259. package/dist/core/WeatherSystem/utils/type.js +1 -1
  260. package/dist/core/WeatherSystem/utils/type.js.map +1 -1
  261. package/dist/core/WeatherSystem/weather/index.js +96 -141
  262. package/dist/core/WeatherSystem/weather/index.js.map +1 -1
  263. package/dist/utils/index.js +1 -1
  264. package/dist/utils/index.js.map +1 -1
  265. package/package.json +3 -3
@@ -1,21 +1,10 @@
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
1
  var _class;
3
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
4
- 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); } }
5
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
6
- 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); }
7
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
8
- 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); }; }
9
- 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); }
10
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
11
- 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; } }
12
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
13
2
  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; }
14
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
15
- 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); }
3
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
4
+ 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); }
16
5
  function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }
17
6
  import { CurvePath, LineCurve3, QuadraticBezierCurve3 } from '@anov/3d-core';
18
- var calculateDistance = function calculateDistance(p1, p2) {
7
+ const calculateDistance = (p1, p2) => {
19
8
  return p1.clone().sub(p2).length();
20
9
  };
21
10
 
@@ -25,18 +14,18 @@ var calculateDistance = function calculateDistance(p1, p2) {
25
14
  * @param radius
26
15
  * @returns
27
16
  */
28
- var calculateSafeRadius = function calculateSafeRadius(points, radius) {
17
+ const calculateSafeRadius = (points, radius) => {
29
18
  if (points.length <= 2) return [radius, radius];
30
- var safeRadii = new Array(points.length).fill(radius);
31
- for (var i = 1; i < points.length - 1; i++) {
32
- var prevDist = calculateDistance(points[i], points[i - 1]);
33
- var nextDist = calculateDistance(points[i], points[i + 1]);
34
- var maxSafeRadius = Math.min(prevDist / 2, nextDist / 2, radius);
19
+ const safeRadii = new Array(points.length).fill(radius);
20
+ for (let i = 1; i < points.length - 1; i++) {
21
+ const prevDist = calculateDistance(points[i], points[i - 1]);
22
+ const nextDist = calculateDistance(points[i], points[i + 1]);
23
+ const maxSafeRadius = Math.min(prevDist / 2, nextDist / 2, radius);
35
24
  safeRadii[i] = maxSafeRadius;
36
25
  }
37
26
  if (points.length > 2) {
38
- var firstDist = calculateDistance(points[0], points[1]);
39
- var lastDist = calculateDistance(points[points.length - 1], points[points.length - 2]);
27
+ const firstDist = calculateDistance(points[0], points[1]);
28
+ const lastDist = calculateDistance(points[points.length - 1], points[points.length - 2]);
40
29
  safeRadii[0] = Math.min(firstDist / 2, radius);
41
30
  safeRadii[points.length - 1] = Math.min(lastDist / 2, radius);
42
31
  }
@@ -50,74 +39,67 @@ var calculateSafeRadius = function calculateSafeRadius(points, radius) {
50
39
  * @param close
51
40
  * @returns
52
41
  */
53
- export var createRoundedCornersCurve = function createRoundedCornersCurve(points) {
54
- var radius = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 20;
55
- var close = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
56
- var curve = new CurvePath();
42
+ export const createRoundedCornersCurve = (points, radius = 20, close = true) => {
43
+ const curve = new CurvePath();
57
44
  if (points.length < 2) throw new Error('At least two points are required to create a curve');
58
45
  if (points.length === 2) {
59
46
  curve.curves.push(new LineCurve3(points[0], points[1]));
60
47
  return curve;
61
48
  }
62
- var safeRadii = calculateSafeRadius(points, radius);
63
- var lines = [];
64
- var lastIndex = points.length - 1;
49
+ const safeRadii = calculateSafeRadius(points, radius);
50
+ const lines = [];
51
+ const lastIndex = points.length - 1;
65
52
  if (close && points.length > 2) {
66
- var firstLastDist = calculateDistance(points[0], points[lastIndex]);
67
- var safeConnectRadius = Math.min(firstLastDist / 2, radius);
53
+ const firstLastDist = calculateDistance(points[0], points[lastIndex]);
54
+ const safeConnectRadius = Math.min(firstLastDist / 2, radius);
68
55
  safeRadii[0] = Math.min(safeRadii[0], safeConnectRadius);
69
56
  safeRadii[lastIndex] = Math.min(safeRadii[lastIndex], safeConnectRadius);
70
57
  }
71
58
  if (points.length > 2) {
72
- var dir = points[0].clone().sub(points[1]).normalize();
73
- var realEndPoints = points[1].clone().add(dir.multiplyScalar(safeRadii[1]));
74
- var firstPoint = points[0];
59
+ const dir = points[0].clone().sub(points[1]).normalize();
60
+ const realEndPoints = points[1].clone().add(dir.multiplyScalar(safeRadii[1]));
61
+ let firstPoint = points[0];
75
62
  if (close) firstPoint = points[0].clone().add(points[1].clone().sub(points[0]).normalize().multiplyScalar(safeRadii[0]));
76
63
  lines.push(new LineCurve3(firstPoint, realEndPoints));
77
64
  }
78
- for (var i = 1; i < lastIndex; i++) {
79
- var dir1 = points[i - 1].clone().sub(points[i]).normalize();
80
- var dir2 = points[i + 1].clone().sub(points[i]).normalize();
81
- var dir3 = points[i].clone().sub(points[i + 1]).normalize();
82
- var p1 = points[i].clone().add(dir1.multiplyScalar(safeRadii[i]));
83
- var p2 = points[i].clone();
84
- var p3 = points[i].clone().add(dir2.multiplyScalar(safeRadii[i]));
85
- var bezierCurve = new QuadraticBezierCurve3(p1, p2, p3);
65
+ for (let i = 1; i < lastIndex; i++) {
66
+ const dir1 = points[i - 1].clone().sub(points[i]).normalize();
67
+ const dir2 = points[i + 1].clone().sub(points[i]).normalize();
68
+ const dir3 = points[i].clone().sub(points[i + 1]).normalize();
69
+ const p1 = points[i].clone().add(dir1.multiplyScalar(safeRadii[i]));
70
+ const p2 = points[i].clone();
71
+ const p3 = points[i].clone().add(dir2.multiplyScalar(safeRadii[i]));
72
+ const bezierCurve = new QuadraticBezierCurve3(p1, p2, p3);
86
73
  lines.push(bezierCurve);
87
- var nextRadius = safeRadii[i + 1];
88
- var nextEndPoint = i === lastIndex - 1 && close ? points[i + 1].clone().add(dir3.multiplyScalar(nextRadius)) : i === lastIndex - 1 ? points[i + 1] : points[i + 1].clone().add(dir3.multiplyScalar(nextRadius));
74
+ const nextRadius = safeRadii[i + 1];
75
+ const nextEndPoint = i === lastIndex - 1 && close ? points[i + 1].clone().add(dir3.multiplyScalar(nextRadius)) : i === lastIndex - 1 ? points[i + 1] : points[i + 1].clone().add(dir3.multiplyScalar(nextRadius));
89
76
  lines.push(new LineCurve3(p3, nextEndPoint));
90
77
  }
91
78
  if (close && points.length > 2) {
92
- var lastDir1 = points[0].clone().sub(points[lastIndex]).normalize();
93
- var lastDir2 = points[lastIndex - 1].clone().sub(points[lastIndex]).normalize();
94
- var lastP1 = points[lastIndex].clone().add(lastDir2.multiplyScalar(safeRadii[lastIndex]));
95
- var lastP2 = points[lastIndex].clone();
96
- var lastP3 = points[lastIndex].clone().add(lastDir1.multiplyScalar(safeRadii[lastIndex]));
97
- var lastBezier = new QuadraticBezierCurve3(lastP1, lastP2, lastP3);
79
+ const lastDir1 = points[0].clone().sub(points[lastIndex]).normalize();
80
+ const lastDir2 = points[lastIndex - 1].clone().sub(points[lastIndex]).normalize();
81
+ const lastP1 = points[lastIndex].clone().add(lastDir2.multiplyScalar(safeRadii[lastIndex]));
82
+ const lastP2 = points[lastIndex].clone();
83
+ const lastP3 = points[lastIndex].clone().add(lastDir1.multiplyScalar(safeRadii[lastIndex]));
84
+ const lastBezier = new QuadraticBezierCurve3(lastP1, lastP2, lastP3);
98
85
  lines.push(lastBezier);
99
- var firstDir1 = points[1].clone().sub(points[0]).normalize();
100
- var firstDir2 = points[lastIndex].clone().sub(points[0]).normalize();
101
- var firstP1 = points[0].clone().add(firstDir2.multiplyScalar(safeRadii[0]));
102
- var firstP2 = points[0].clone();
103
- var firstP3 = points[0].clone().add(firstDir1.multiplyScalar(safeRadii[0]));
86
+ const firstDir1 = points[1].clone().sub(points[0]).normalize();
87
+ const firstDir2 = points[lastIndex].clone().sub(points[0]).normalize();
88
+ const firstP1 = points[0].clone().add(firstDir2.multiplyScalar(safeRadii[0]));
89
+ const firstP2 = points[0].clone();
90
+ const firstP3 = points[0].clone().add(firstDir1.multiplyScalar(safeRadii[0]));
104
91
  lines.push(new LineCurve3(lastP3, firstP1));
105
92
  lines.push(new QuadraticBezierCurve3(firstP1, firstP2, firstP3));
106
93
  }
107
- curve.curves = [].concat(lines);
94
+ curve.curves = [...lines];
108
95
  return curve;
109
96
  };
110
- var recreateCurve = function recreateCurve(target, _propertyKey, descriptor) {
111
- var originalMethod = descriptor.value;
112
- var handleFunction = function handleFunction(fn) {
113
- return function () {
114
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
115
- args[_key] = arguments[_key];
116
- }
117
- var res = fn.apply(this, args);
118
- this.curves = createRoundedCornersCurve(this._points, this._radius, this._close).curves;
119
- return res;
120
- };
97
+ const recreateCurve = (target, _propertyKey, descriptor) => {
98
+ const originalMethod = descriptor.value;
99
+ const handleFunction = fn => function (...args) {
100
+ const res = fn.apply(this, args);
101
+ this.curves = createRoundedCornersCurve(this._points, this._radius, this._close).curves;
102
+ return res;
121
103
  };
122
104
  if (originalMethod) descriptor.value = handleFunction(originalMethod);else descriptor.set = handleFunction(descriptor.set);
123
105
  return descriptor;
@@ -126,69 +108,48 @@ var recreateCurve = function recreateCurve(target, _propertyKey, descriptor) {
126
108
  /**
127
109
  * 圆角拐角曲线类
128
110
  */
129
- export var RoundedCornersCurve = (_class = /*#__PURE__*/function (_CurvePath) {
130
- _inherits(RoundedCornersCurve, _CurvePath);
131
- var _super = _createSuper(RoundedCornersCurve);
132
- function RoundedCornersCurve(points) {
133
- var _this;
134
- var radius = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 20;
135
- var close = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
136
- _classCallCheck(this, RoundedCornersCurve);
137
- _this = _super.call(this);
138
- _defineProperty(_assertThisInitialized(_this), "_points", void 0);
139
- _defineProperty(_assertThisInitialized(_this), "_radius", 20);
140
- _defineProperty(_assertThisInitialized(_this), "_close", true);
141
- _this._points = points;
142
- _this._radius = radius;
143
- _this._close = close;
144
- _this.curves = createRoundedCornersCurve(_this._points, _this._radius, _this._close).curves;
145
- return _this;
146
- }
147
- _createClass(RoundedCornersCurve, [{
148
- key: "points",
149
- get: function get() {
150
- return this._points.slice();
151
- },
152
- set: function set(points) {
153
- this._points = points;
154
- }
155
- }, {
156
- key: "radius",
157
- get: function get() {
158
- return this._radius;
159
- },
160
- set: function set(radius) {
161
- this._radius = radius;
162
- }
163
- }, {
164
- key: "close",
165
- get: function get() {
166
- return this._close;
167
- },
168
- set: function set(close) {
169
- this._close = close;
170
- }
171
- }, {
172
- key: "clone",
173
- value: function clone() {
174
- return new this.constructor(this._points.map(function (p) {
175
- return p.clone();
176
- }), this._radius, this._close);
177
- }
111
+ export let RoundedCornersCurve = (_class = class RoundedCornersCurve extends CurvePath {
112
+ get points() {
113
+ return this._points.slice();
114
+ }
115
+ set points(points) {
116
+ this._points = points;
117
+ }
118
+ get radius() {
119
+ return this._radius;
120
+ }
121
+ set radius(radius) {
122
+ this._radius = radius;
123
+ }
124
+ get close() {
125
+ return this._close;
126
+ }
127
+ set close(close) {
128
+ this._close = close;
129
+ }
130
+ constructor(points, radius = 20, close = true) {
131
+ super();
132
+ _defineProperty(this, "_points", void 0);
133
+ _defineProperty(this, "_radius", 20);
134
+ _defineProperty(this, "_close", true);
135
+ this._points = points;
136
+ this._radius = radius;
137
+ this._close = close;
138
+ this.curves = createRoundedCornersCurve(this._points, this._radius, this._close).curves;
139
+ }
140
+ clone() {
141
+ return new this.constructor(this._points.map(p => p.clone()), this._radius, this._close);
142
+ }
178
143
 
179
- /**
180
- * updatePoint
181
- * @param index
182
- * @param point
183
- */
184
- }, {
185
- key: "updatePoint",
186
- value: function updatePoint(index, point) {
187
- if (index < 0 || index >= this._points.length) throw new Error("Point index out of range: ".concat(index));
188
- this._points[index] = point;
189
- this.curves = createRoundedCornersCurve(this._points, this._radius, this._close).curves;
190
- }
191
- }]);
192
- return RoundedCornersCurve;
193
- }(CurvePath), (_applyDecoratedDescriptor(_class.prototype, "points", [recreateCurve], Object.getOwnPropertyDescriptor(_class.prototype, "points"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "radius", [recreateCurve], Object.getOwnPropertyDescriptor(_class.prototype, "radius"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "close", [recreateCurve], Object.getOwnPropertyDescriptor(_class.prototype, "close"), _class.prototype)), _class);
144
+ /**
145
+ * updatePoint
146
+ * @param index
147
+ * @param point
148
+ */
149
+ updatePoint(index, point) {
150
+ if (index < 0 || index >= this._points.length) throw new Error(`Point index out of range: ${index}`);
151
+ this._points[index] = point;
152
+ this.curves = createRoundedCornersCurve(this._points, this._radius, this._close).curves;
153
+ }
154
+ }, (_applyDecoratedDescriptor(_class.prototype, "points", [recreateCurve], Object.getOwnPropertyDescriptor(_class.prototype, "points"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "radius", [recreateCurve], Object.getOwnPropertyDescriptor(_class.prototype, "radius"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "close", [recreateCurve], Object.getOwnPropertyDescriptor(_class.prototype, "close"), _class.prototype)), _class);
194
155
  //# sourceMappingURL=RoundedCornersCurve.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["CurvePath","LineCurve3","QuadraticBezierCurve3","calculateDistance","p1","p2","clone","sub","length","calculateSafeRadius","points","radius","safeRadii","Array","fill","i","prevDist","nextDist","maxSafeRadius","Math","min","firstDist","lastDist","createRoundedCornersCurve","arguments","undefined","close","curve","Error","curves","push","lines","lastIndex","firstLastDist","safeConnectRadius","dir","normalize","realEndPoints","add","multiplyScalar","firstPoint","dir1","dir2","dir3","p3","bezierCurve","nextRadius","nextEndPoint","lastDir1","lastDir2","lastP1","lastP2","lastP3","lastBezier","firstDir1","firstDir2","firstP1","firstP2","firstP3","concat","recreateCurve","target","_propertyKey","descriptor","originalMethod","value","handleFunction","fn","_len","args","_key","res","apply","_points","_radius","_close","set","RoundedCornersCurve","_class","_CurvePath","_inherits","_super","_createSuper","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","_createClass","key","get","slice","constructor","map","p","updatePoint","index","point","_applyDecoratedDescriptor","prototype","Object","getOwnPropertyDescriptor"],"sources":["../../../../src/core/Curve/RoundedCornersCurve/RoundedCornersCurve.ts"],"sourcesContent":["import { CurvePath, LineCurve3, QuadraticBezierCurve3 } from '@anov/3d-core'\nimport type { Vector3 } from '@anov/3d-core'\nimport type { RoundedCornersCurveInterface } from '.'\n\nconst calculateDistance = (p1: Vector3, p2: Vector3): number => {\n return p1.clone().sub(p2).length()\n}\n\n/**\n * calculateSafeRadius\n * @param points\n * @param radius\n * @returns\n */\nconst calculateSafeRadius = (points: Vector3[], radius: number): number[] => {\n if (points.length <= 2)\n return [radius, radius]\n\n const safeRadii: number[] = new Array(points.length).fill(radius)\n\n for (let i = 1; i < points.length - 1; i++) {\n const prevDist = calculateDistance(points[i], points[i - 1])\n const nextDist = calculateDistance(points[i], points[i + 1])\n\n const maxSafeRadius = Math.min(prevDist / 2, nextDist / 2, radius)\n safeRadii[i] = maxSafeRadius\n }\n\n if (points.length > 2) {\n const firstDist = calculateDistance(points[0], points[1])\n const lastDist = calculateDistance(points[points.length - 1], points[points.length - 2])\n\n safeRadii[0] = Math.min(firstDist / 2, radius)\n safeRadii[points.length - 1] = Math.min(lastDist / 2, radius)\n }\n\n return safeRadii\n}\n\n/**\n * 创建圆角拐角曲线\n * @param points\n * @param radius\n * @param close\n * @returns\n */\nexport const createRoundedCornersCurve = (points: Vector3[], radius = 20, close = true) => {\n const curve = new CurvePath() as CurvePath<Vector3>\n\n if (points.length < 2)\n throw new Error('At least two points are required to create a curve')\n\n if (points.length === 2) {\n curve.curves.push(new LineCurve3(points[0], points[1]))\n return curve\n }\n\n const safeRadii = calculateSafeRadius(points, radius)\n\n const lines = []\n const lastIndex = points.length - 1\n\n if (close && points.length > 2) {\n const firstLastDist = calculateDistance(points[0], points[lastIndex])\n const safeConnectRadius = Math.min(firstLastDist / 2, radius)\n safeRadii[0] = Math.min(safeRadii[0], safeConnectRadius)\n safeRadii[lastIndex] = Math.min(safeRadii[lastIndex], safeConnectRadius)\n }\n\n if (points.length > 2) {\n const dir = points[0].clone().sub(points[1]).normalize()\n const realEndPoints = points[1].clone().add(dir.multiplyScalar(safeRadii[1]))\n\n let firstPoint = points[0]\n if (close)\n firstPoint = points[0].clone().add(points[1].clone().sub(points[0]).normalize().multiplyScalar(safeRadii[0]))\n\n lines.push(new LineCurve3(firstPoint, realEndPoints))\n }\n\n for (let i = 1; i < lastIndex; i++) {\n const dir1 = points[i - 1].clone().sub(points[i]).normalize()\n const dir2 = points[i + 1].clone().sub(points[i]).normalize()\n const dir3 = points[i].clone().sub(points[i + 1]).normalize()\n\n const p1 = points[i].clone().add(dir1.multiplyScalar(safeRadii[i]))\n const p2 = points[i].clone()\n const p3 = points[i].clone().add(dir2.multiplyScalar(safeRadii[i]))\n\n const bezierCurve = new QuadraticBezierCurve3(p1, p2, p3)\n lines.push(bezierCurve)\n\n const nextRadius = safeRadii[i + 1]\n const nextEndPoint = (i === lastIndex - 1 && close)\n ? points[i + 1].clone().add(dir3.multiplyScalar(nextRadius))\n : (i === lastIndex - 1)\n ? points[i + 1]\n : points[i + 1].clone().add(dir3.multiplyScalar(nextRadius))\n\n lines.push(new LineCurve3(p3, nextEndPoint))\n }\n\n if (close && points.length > 2) {\n const lastDir1 = points[0].clone().sub(points[lastIndex]).normalize()\n const lastDir2 = points[lastIndex - 1].clone().sub(points[lastIndex]).normalize()\n\n const lastP1 = points[lastIndex].clone().add(lastDir2.multiplyScalar(safeRadii[lastIndex]))\n const lastP2 = points[lastIndex].clone()\n const lastP3 = points[lastIndex].clone().add(lastDir1.multiplyScalar(safeRadii[lastIndex]))\n\n const lastBezier = new QuadraticBezierCurve3(lastP1, lastP2, lastP3)\n lines.push(lastBezier)\n\n const firstDir1 = points[1].clone().sub(points[0]).normalize()\n const firstDir2 = points[lastIndex].clone().sub(points[0]).normalize()\n\n const firstP1 = points[0].clone().add(firstDir2.multiplyScalar(safeRadii[0]))\n const firstP2 = points[0].clone()\n const firstP3 = points[0].clone().add(firstDir1.multiplyScalar(safeRadii[0]))\n\n lines.push(new LineCurve3(lastP3, firstP1))\n lines.push(new QuadraticBezierCurve3(firstP1, firstP2, firstP3))\n }\n\n curve.curves = [...lines]\n return curve\n}\n\nconst recreateCurve = (target: any, _propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n const originalMethod = descriptor.value\n\n const handleFunction = (fn: Function) => function (...args: any[]) {\n const res = fn.apply(this, args)\n this.curves = createRoundedCornersCurve(this._points, this._radius, this._close).curves\n return res\n }\n\n if (originalMethod)\n descriptor.value = handleFunction(originalMethod)\n else\n descriptor.set = handleFunction(descriptor.set)\n\n return descriptor\n}\n\n/**\n * 圆角拐角曲线类\n */\nexport class RoundedCornersCurve extends CurvePath<Vector3> implements RoundedCornersCurveInterface {\n private _points: Vector3[]\n private _radius = 20\n private _close = true\n\n get points(): Vector3[] {\n return this._points.slice()\n }\n\n @recreateCurve\n set points(points: Vector3[]) {\n this._points = points\n }\n\n get radius(): number {\n return this._radius\n }\n\n @recreateCurve\n set radius(radius: number) {\n this._radius = radius\n }\n\n get close(): boolean {\n return this._close\n }\n\n @recreateCurve\n set close(close: boolean) {\n this._close = close\n }\n\n constructor(points: Vector3[], radius = 20, close = true) {\n super()\n\n this._points = points\n this._radius = radius\n this._close = close\n\n this.curves = createRoundedCornersCurve(this._points, this._radius, this._close).curves\n }\n\n override clone(): this {\n return new (this.constructor as any)(this._points.map(p => p.clone()), this._radius, this._close)\n }\n\n /**\n * updatePoint\n * @param index\n * @param point\n */\n updatePoint(index: number, point: Vector3): void {\n if (index < 0 || index >= this._points.length)\n throw new Error(`Point index out of range: ${index}`)\n\n this._points[index] = point\n this.curves = createRoundedCornersCurve(this._points, this._radius, this._close).curves\n }\n}"],"mappings":";;;;;;;;;;;;;;;;AAAA,SAASA,SAAS,EAAEC,UAAU,EAAEC,qBAAqB,QAAQ,eAAe;AAI5E,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,EAAW,EAAEC,EAAW,EAAa;EAC9D,OAAOD,EAAE,CAACE,KAAK,CAAC,CAAC,CAACC,GAAG,CAACF,EAAE,CAAC,CAACG,MAAM,CAAC,CAAC;AACpC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,MAAiB,EAAEC,MAAc,EAAe;EAC3E,IAAID,MAAM,CAACF,MAAM,IAAI,CAAC,EACpB,OAAO,CAACG,MAAM,EAAEA,MAAM,CAAC;EAEzB,IAAMC,SAAmB,GAAG,IAAIC,KAAK,CAACH,MAAM,CAACF,MAAM,CAAC,CAACM,IAAI,CAACH,MAAM,CAAC;EAEjE,KAAK,IAAII,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGL,MAAM,CAACF,MAAM,GAAG,CAAC,EAAEO,CAAC,EAAE,EAAE;IAC1C,IAAMC,QAAQ,GAAGb,iBAAiB,CAACO,MAAM,CAACK,CAAC,CAAC,EAAEL,MAAM,CAACK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,IAAME,QAAQ,GAAGd,iBAAiB,CAACO,MAAM,CAACK,CAAC,CAAC,EAAEL,MAAM,CAACK,CAAC,GAAG,CAAC,CAAC,CAAC;IAE5D,IAAMG,aAAa,GAAGC,IAAI,CAACC,GAAG,CAACJ,QAAQ,GAAG,CAAC,EAAEC,QAAQ,GAAG,CAAC,EAAEN,MAAM,CAAC;IAClEC,SAAS,CAACG,CAAC,CAAC,GAAGG,aAAa;EAC9B;EAEA,IAAIR,MAAM,CAACF,MAAM,GAAG,CAAC,EAAE;IACrB,IAAMa,SAAS,GAAGlB,iBAAiB,CAACO,MAAM,CAAC,CAAC,CAAC,EAAEA,MAAM,CAAC,CAAC,CAAC,CAAC;IACzD,IAAMY,QAAQ,GAAGnB,iBAAiB,CAACO,MAAM,CAACA,MAAM,CAACF,MAAM,GAAG,CAAC,CAAC,EAAEE,MAAM,CAACA,MAAM,CAACF,MAAM,GAAG,CAAC,CAAC,CAAC;IAExFI,SAAS,CAAC,CAAC,CAAC,GAAGO,IAAI,CAACC,GAAG,CAACC,SAAS,GAAG,CAAC,EAAEV,MAAM,CAAC;IAC9CC,SAAS,CAACF,MAAM,CAACF,MAAM,GAAG,CAAC,CAAC,GAAGW,IAAI,CAACC,GAAG,CAACE,QAAQ,GAAG,CAAC,EAAEX,MAAM,CAAC;EAC/D;EAEA,OAAOC,SAAS;AAClB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMW,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAIb,MAAiB,EAAgC;EAAA,IAA9BC,MAAM,GAAAa,SAAA,CAAAhB,MAAA,QAAAgB,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,EAAE;EAAA,IAAEE,KAAK,GAAAF,SAAA,CAAAhB,MAAA,QAAAgB,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,IAAI;EACpF,IAAMG,KAAK,GAAG,IAAI3B,SAAS,CAAC,CAAuB;EAEnD,IAAIU,MAAM,CAACF,MAAM,GAAG,CAAC,EACnB,MAAM,IAAIoB,KAAK,CAAC,oDAAoD,CAAC;EAEvE,IAAIlB,MAAM,CAACF,MAAM,KAAK,CAAC,EAAE;IACvBmB,KAAK,CAACE,MAAM,CAACC,IAAI,CAAC,IAAI7B,UAAU,CAACS,MAAM,CAAC,CAAC,CAAC,EAAEA,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,OAAOiB,KAAK;EACd;EAEA,IAAMf,SAAS,GAAGH,mBAAmB,CAACC,MAAM,EAAEC,MAAM,CAAC;EAErD,IAAMoB,KAAK,GAAG,EAAE;EAChB,IAAMC,SAAS,GAAGtB,MAAM,CAACF,MAAM,GAAG,CAAC;EAEnC,IAAIkB,KAAK,IAAIhB,MAAM,CAACF,MAAM,GAAG,CAAC,EAAE;IAC9B,IAAMyB,aAAa,GAAG9B,iBAAiB,CAACO,MAAM,CAAC,CAAC,CAAC,EAAEA,MAAM,CAACsB,SAAS,CAAC,CAAC;IACrE,IAAME,iBAAiB,GAAGf,IAAI,CAACC,GAAG,CAACa,aAAa,GAAG,CAAC,EAAEtB,MAAM,CAAC;IAC7DC,SAAS,CAAC,CAAC,CAAC,GAAGO,IAAI,CAACC,GAAG,CAACR,SAAS,CAAC,CAAC,CAAC,EAAEsB,iBAAiB,CAAC;IACxDtB,SAAS,CAACoB,SAAS,CAAC,GAAGb,IAAI,CAACC,GAAG,CAACR,SAAS,CAACoB,SAAS,CAAC,EAAEE,iBAAiB,CAAC;EAC1E;EAEA,IAAIxB,MAAM,CAACF,MAAM,GAAG,CAAC,EAAE;IACrB,IAAM2B,GAAG,GAAGzB,MAAM,CAAC,CAAC,CAAC,CAACJ,KAAK,CAAC,CAAC,CAACC,GAAG,CAACG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC0B,SAAS,CAAC,CAAC;IACxD,IAAMC,aAAa,GAAG3B,MAAM,CAAC,CAAC,CAAC,CAACJ,KAAK,CAAC,CAAC,CAACgC,GAAG,CAACH,GAAG,CAACI,cAAc,CAAC3B,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7E,IAAI4B,UAAU,GAAG9B,MAAM,CAAC,CAAC,CAAC;IAC1B,IAAIgB,KAAK,EACPc,UAAU,GAAG9B,MAAM,CAAC,CAAC,CAAC,CAACJ,KAAK,CAAC,CAAC,CAACgC,GAAG,CAAC5B,MAAM,CAAC,CAAC,CAAC,CAACJ,KAAK,CAAC,CAAC,CAACC,GAAG,CAACG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC0B,SAAS,CAAC,CAAC,CAACG,cAAc,CAAC3B,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/GmB,KAAK,CAACD,IAAI,CAAC,IAAI7B,UAAU,CAACuC,UAAU,EAAEH,aAAa,CAAC,CAAC;EACvD;EAEA,KAAK,IAAItB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGiB,SAAS,EAAEjB,CAAC,EAAE,EAAE;IAClC,IAAM0B,IAAI,GAAG/B,MAAM,CAACK,CAAC,GAAG,CAAC,CAAC,CAACT,KAAK,CAAC,CAAC,CAACC,GAAG,CAACG,MAAM,CAACK,CAAC,CAAC,CAAC,CAACqB,SAAS,CAAC,CAAC;IAC7D,IAAMM,IAAI,GAAGhC,MAAM,CAACK,CAAC,GAAG,CAAC,CAAC,CAACT,KAAK,CAAC,CAAC,CAACC,GAAG,CAACG,MAAM,CAACK,CAAC,CAAC,CAAC,CAACqB,SAAS,CAAC,CAAC;IAC7D,IAAMO,IAAI,GAAGjC,MAAM,CAACK,CAAC,CAAC,CAACT,KAAK,CAAC,CAAC,CAACC,GAAG,CAACG,MAAM,CAACK,CAAC,GAAG,CAAC,CAAC,CAAC,CAACqB,SAAS,CAAC,CAAC;IAE7D,IAAMhC,EAAE,GAAGM,MAAM,CAACK,CAAC,CAAC,CAACT,KAAK,CAAC,CAAC,CAACgC,GAAG,CAACG,IAAI,CAACF,cAAc,CAAC3B,SAAS,CAACG,CAAC,CAAC,CAAC,CAAC;IACnE,IAAMV,EAAE,GAAGK,MAAM,CAACK,CAAC,CAAC,CAACT,KAAK,CAAC,CAAC;IAC5B,IAAMsC,EAAE,GAAGlC,MAAM,CAACK,CAAC,CAAC,CAACT,KAAK,CAAC,CAAC,CAACgC,GAAG,CAACI,IAAI,CAACH,cAAc,CAAC3B,SAAS,CAACG,CAAC,CAAC,CAAC,CAAC;IAEnE,IAAM8B,WAAW,GAAG,IAAI3C,qBAAqB,CAACE,EAAE,EAAEC,EAAE,EAAEuC,EAAE,CAAC;IACzDb,KAAK,CAACD,IAAI,CAACe,WAAW,CAAC;IAEvB,IAAMC,UAAU,GAAGlC,SAAS,CAACG,CAAC,GAAG,CAAC,CAAC;IACnC,IAAMgC,YAAY,GAAIhC,CAAC,KAAKiB,SAAS,GAAG,CAAC,IAAIN,KAAK,GAC9ChB,MAAM,CAACK,CAAC,GAAG,CAAC,CAAC,CAACT,KAAK,CAAC,CAAC,CAACgC,GAAG,CAACK,IAAI,CAACJ,cAAc,CAACO,UAAU,CAAC,CAAC,GACzD/B,CAAC,KAAKiB,SAAS,GAAG,CAAC,GAChBtB,MAAM,CAACK,CAAC,GAAG,CAAC,CAAC,GACbL,MAAM,CAACK,CAAC,GAAG,CAAC,CAAC,CAACT,KAAK,CAAC,CAAC,CAACgC,GAAG,CAACK,IAAI,CAACJ,cAAc,CAACO,UAAU,CAAC,CAAC;IAElEf,KAAK,CAACD,IAAI,CAAC,IAAI7B,UAAU,CAAC2C,EAAE,EAAEG,YAAY,CAAC,CAAC;EAC9C;EAEA,IAAIrB,KAAK,IAAIhB,MAAM,CAACF,MAAM,GAAG,CAAC,EAAE;IAC9B,IAAMwC,QAAQ,GAAGtC,MAAM,CAAC,CAAC,CAAC,CAACJ,KAAK,CAAC,CAAC,CAACC,GAAG,CAACG,MAAM,CAACsB,SAAS,CAAC,CAAC,CAACI,SAAS,CAAC,CAAC;IACrE,IAAMa,QAAQ,GAAGvC,MAAM,CAACsB,SAAS,GAAG,CAAC,CAAC,CAAC1B,KAAK,CAAC,CAAC,CAACC,GAAG,CAACG,MAAM,CAACsB,SAAS,CAAC,CAAC,CAACI,SAAS,CAAC,CAAC;IAEjF,IAAMc,MAAM,GAAGxC,MAAM,CAACsB,SAAS,CAAC,CAAC1B,KAAK,CAAC,CAAC,CAACgC,GAAG,CAACW,QAAQ,CAACV,cAAc,CAAC3B,SAAS,CAACoB,SAAS,CAAC,CAAC,CAAC;IAC3F,IAAMmB,MAAM,GAAGzC,MAAM,CAACsB,SAAS,CAAC,CAAC1B,KAAK,CAAC,CAAC;IACxC,IAAM8C,MAAM,GAAG1C,MAAM,CAACsB,SAAS,CAAC,CAAC1B,KAAK,CAAC,CAAC,CAACgC,GAAG,CAACU,QAAQ,CAACT,cAAc,CAAC3B,SAAS,CAACoB,SAAS,CAAC,CAAC,CAAC;IAE3F,IAAMqB,UAAU,GAAG,IAAInD,qBAAqB,CAACgD,MAAM,EAAEC,MAAM,EAAEC,MAAM,CAAC;IACpErB,KAAK,CAACD,IAAI,CAACuB,UAAU,CAAC;IAEtB,IAAMC,SAAS,GAAG5C,MAAM,CAAC,CAAC,CAAC,CAACJ,KAAK,CAAC,CAAC,CAACC,GAAG,CAACG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC0B,SAAS,CAAC,CAAC;IAC9D,IAAMmB,SAAS,GAAG7C,MAAM,CAACsB,SAAS,CAAC,CAAC1B,KAAK,CAAC,CAAC,CAACC,GAAG,CAACG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC0B,SAAS,CAAC,CAAC;IAEtE,IAAMoB,OAAO,GAAG9C,MAAM,CAAC,CAAC,CAAC,CAACJ,KAAK,CAAC,CAAC,CAACgC,GAAG,CAACiB,SAAS,CAAChB,cAAc,CAAC3B,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,IAAM6C,OAAO,GAAG/C,MAAM,CAAC,CAAC,CAAC,CAACJ,KAAK,CAAC,CAAC;IACjC,IAAMoD,OAAO,GAAGhD,MAAM,CAAC,CAAC,CAAC,CAACJ,KAAK,CAAC,CAAC,CAACgC,GAAG,CAACgB,SAAS,CAACf,cAAc,CAAC3B,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7EmB,KAAK,CAACD,IAAI,CAAC,IAAI7B,UAAU,CAACmD,MAAM,EAAEI,OAAO,CAAC,CAAC;IAC3CzB,KAAK,CAACD,IAAI,CAAC,IAAI5B,qBAAqB,CAACsD,OAAO,EAAEC,OAAO,EAAEC,OAAO,CAAC,CAAC;EAClE;EAEA/B,KAAK,CAACE,MAAM,MAAA8B,MAAA,CAAO5B,KAAK,CAAC;EACzB,OAAOJ,KAAK;AACd,CAAC;AAED,IAAMiC,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,MAAW,EAAEC,YAA6B,EAAEC,UAA8B,EAAK;EACpG,IAAMC,cAAc,GAAGD,UAAU,CAACE,KAAK;EAEvC,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,EAAY;IAAA,OAAK,YAA0B;MAAA,SAAAC,IAAA,GAAA5C,SAAA,CAAAhB,MAAA,EAAb6D,IAAI,OAAAxD,KAAA,CAAAuD,IAAA,GAAAE,IAAA,MAAAA,IAAA,GAAAF,IAAA,EAAAE,IAAA;QAAJD,IAAI,CAAAC,IAAA,IAAA9C,SAAA,CAAA8C,IAAA;MAAA;MACxD,IAAMC,GAAG,GAAGJ,EAAE,CAACK,KAAK,CAAC,IAAI,EAAEH,IAAI,CAAC;MAChC,IAAI,CAACxC,MAAM,GAAGN,yBAAyB,CAAC,IAAI,CAACkD,OAAO,EAAE,IAAI,CAACC,OAAO,EAAE,IAAI,CAACC,MAAM,CAAC,CAAC9C,MAAM;MACvF,OAAO0C,GAAG;IACZ,CAAC;EAAA;EAED,IAAIP,cAAc,EAChBD,UAAU,CAACE,KAAK,GAAGC,cAAc,CAACF,cAAc,CAAC,MAEjDD,UAAU,CAACa,GAAG,GAAGV,cAAc,CAACH,UAAU,CAACa,GAAG,CAAC;EAEjD,OAAOb,UAAU;AACnB,CAAC;;AAED;AACA;AACA;AACA,WAAac,mBAAmB,IAAAC,MAAA,0BAAAC,UAAA;EAAAC,SAAA,CAAAH,mBAAA,EAAAE,UAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAL,mBAAA;EAgC9B,SAAAA,oBAAYnE,MAAiB,EAA6B;IAAA,IAAAyE,KAAA;IAAA,IAA3BxE,MAAM,GAAAa,SAAA,CAAAhB,MAAA,QAAAgB,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,EAAE;IAAA,IAAEE,KAAK,GAAAF,SAAA,CAAAhB,MAAA,QAAAgB,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,IAAI;IAAA4D,eAAA,OAAAP,mBAAA;IACtDM,KAAA,GAAAF,MAAA,CAAAI,IAAA;IAAOC,eAAA,CAAAC,sBAAA,CAAAJ,KAAA;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,cA/BS,EAAE;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,aACH,IAAI;IAgCnBA,KAAA,CAAKV,OAAO,GAAG/D,MAAM;IACrByE,KAAA,CAAKT,OAAO,GAAG/D,MAAM;IACrBwE,KAAA,CAAKR,MAAM,GAAGjD,KAAK;IAEnByD,KAAA,CAAKtD,MAAM,GAAGN,yBAAyB,CAAC4D,KAAA,CAAKV,OAAO,EAAEU,KAAA,CAAKT,OAAO,EAAES,KAAA,CAAKR,MAAM,CAAC,CAAC9C,MAAM;IAAA,OAAAsD,KAAA;EACzF;EAACK,YAAA,CAAAX,mBAAA;IAAAY,GAAA;IAAAC,GAAA,EAnCD,SAAAA,IAAA,EAAwB;MACtB,OAAO,IAAI,CAACjB,OAAO,CAACkB,KAAK,CAAC,CAAC;IAC7B,CAAC;IAAAf,GAAA,EAED,SAAAA,IACWlE,MAAiB,EAAE;MAC5B,IAAI,CAAC+D,OAAO,GAAG/D,MAAM;IACvB;EAAC;IAAA+E,GAAA;IAAAC,GAAA,EAED,SAAAA,IAAA,EAAqB;MACnB,OAAO,IAAI,CAAChB,OAAO;IACrB,CAAC;IAAAE,GAAA,EAED,SAAAA,IACWjE,MAAc,EAAE;MACzB,IAAI,CAAC+D,OAAO,GAAG/D,MAAM;IACvB;EAAC;IAAA8E,GAAA;IAAAC,GAAA,EAED,SAAAA,IAAA,EAAqB;MACnB,OAAO,IAAI,CAACf,MAAM;IACpB,CAAC;IAAAC,GAAA,EAED,SAAAA,IACUlD,KAAc,EAAE;MACxB,IAAI,CAACiD,MAAM,GAAGjD,KAAK;IACrB;EAAC;IAAA+D,GAAA;IAAAxB,KAAA,EAYD,SAAA3D,MAAA,EAAuB;MACrB,OAAO,IAAK,IAAI,CAACsF,WAAW,CAAS,IAAI,CAACnB,OAAO,CAACoB,GAAG,CAAC,UAAAC,CAAC;QAAA,OAAIA,CAAC,CAACxF,KAAK,CAAC,CAAC;MAAA,EAAC,EAAE,IAAI,CAACoE,OAAO,EAAE,IAAI,CAACC,MAAM,CAAC;IACnG;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAAc,GAAA;IAAAxB,KAAA,EAKA,SAAA8B,YAAYC,KAAa,EAAEC,KAAc,EAAQ;MAC/C,IAAID,KAAK,GAAG,CAAC,IAAIA,KAAK,IAAI,IAAI,CAACvB,OAAO,CAACjE,MAAM,EAC3C,MAAM,IAAIoB,KAAK,8BAAA+B,MAAA,CAA8BqC,KAAK,CAAE,CAAC;MAEvD,IAAI,CAACvB,OAAO,CAACuB,KAAK,CAAC,GAAGC,KAAK;MAC3B,IAAI,CAACpE,MAAM,GAAGN,yBAAyB,CAAC,IAAI,CAACkD,OAAO,EAAE,IAAI,CAACC,OAAO,EAAE,IAAI,CAACC,MAAM,CAAC,CAAC9C,MAAM;IACzF;EAAC;EAAA,OAAAgD,mBAAA;AAAA,EAzDsC7E,SAAS,IAAAkG,yBAAA,CAAApB,MAAA,CAAAqB,SAAA,aAS/CvC,aAAa,GAAAwC,MAAA,CAAAC,wBAAA,CAAAvB,MAAA,CAAAqB,SAAA,aAAArB,MAAA,CAAAqB,SAAA,GAAAD,yBAAA,CAAApB,MAAA,CAAAqB,SAAA,aASbvC,aAAa,GAAAwC,MAAA,CAAAC,wBAAA,CAAAvB,MAAA,CAAAqB,SAAA,aAAArB,MAAA,CAAAqB,SAAA,GAAAD,yBAAA,CAAApB,MAAA,CAAAqB,SAAA,YASbvC,aAAa,GAAAwC,MAAA,CAAAC,wBAAA,CAAAvB,MAAA,CAAAqB,SAAA,YAAArB,MAAA,CAAAqB,SAAA,IAAArB,MAAA"}
1
+ {"version":3,"names":["CurvePath","LineCurve3","QuadraticBezierCurve3","calculateDistance","p1","p2","clone","sub","length","calculateSafeRadius","points","radius","safeRadii","Array","fill","i","prevDist","nextDist","maxSafeRadius","Math","min","firstDist","lastDist","createRoundedCornersCurve","close","curve","Error","curves","push","lines","lastIndex","firstLastDist","safeConnectRadius","dir","normalize","realEndPoints","add","multiplyScalar","firstPoint","dir1","dir2","dir3","p3","bezierCurve","nextRadius","nextEndPoint","lastDir1","lastDir2","lastP1","lastP2","lastP3","lastBezier","firstDir1","firstDir2","firstP1","firstP2","firstP3","recreateCurve","target","_propertyKey","descriptor","originalMethod","value","handleFunction","fn","args","res","apply","_points","_radius","_close","set","RoundedCornersCurve","_class","slice","constructor","_defineProperty","map","p","updatePoint","index","point","_applyDecoratedDescriptor","prototype","Object","getOwnPropertyDescriptor"],"sources":["../../../../src/core/Curve/RoundedCornersCurve/RoundedCornersCurve.ts"],"sourcesContent":["import { CurvePath, LineCurve3, QuadraticBezierCurve3 } from '@anov/3d-core'\nimport type { Vector3 } from '@anov/3d-core'\nimport type { RoundedCornersCurveInterface } from '.'\n\nconst calculateDistance = (p1: Vector3, p2: Vector3): number => {\n return p1.clone().sub(p2).length()\n}\n\n/**\n * calculateSafeRadius\n * @param points\n * @param radius\n * @returns\n */\nconst calculateSafeRadius = (points: Vector3[], radius: number): number[] => {\n if (points.length <= 2)\n return [radius, radius]\n\n const safeRadii: number[] = new Array(points.length).fill(radius)\n\n for (let i = 1; i < points.length - 1; i++) {\n const prevDist = calculateDistance(points[i], points[i - 1])\n const nextDist = calculateDistance(points[i], points[i + 1])\n\n const maxSafeRadius = Math.min(prevDist / 2, nextDist / 2, radius)\n safeRadii[i] = maxSafeRadius\n }\n\n if (points.length > 2) {\n const firstDist = calculateDistance(points[0], points[1])\n const lastDist = calculateDistance(points[points.length - 1], points[points.length - 2])\n\n safeRadii[0] = Math.min(firstDist / 2, radius)\n safeRadii[points.length - 1] = Math.min(lastDist / 2, radius)\n }\n\n return safeRadii\n}\n\n/**\n * 创建圆角拐角曲线\n * @param points\n * @param radius\n * @param close\n * @returns\n */\nexport const createRoundedCornersCurve = (points: Vector3[], radius = 20, close = true) => {\n const curve = new CurvePath() as CurvePath<Vector3>\n\n if (points.length < 2)\n throw new Error('At least two points are required to create a curve')\n\n if (points.length === 2) {\n curve.curves.push(new LineCurve3(points[0], points[1]))\n return curve\n }\n\n const safeRadii = calculateSafeRadius(points, radius)\n\n const lines = []\n const lastIndex = points.length - 1\n\n if (close && points.length > 2) {\n const firstLastDist = calculateDistance(points[0], points[lastIndex])\n const safeConnectRadius = Math.min(firstLastDist / 2, radius)\n safeRadii[0] = Math.min(safeRadii[0], safeConnectRadius)\n safeRadii[lastIndex] = Math.min(safeRadii[lastIndex], safeConnectRadius)\n }\n\n if (points.length > 2) {\n const dir = points[0].clone().sub(points[1]).normalize()\n const realEndPoints = points[1].clone().add(dir.multiplyScalar(safeRadii[1]))\n\n let firstPoint = points[0]\n if (close)\n firstPoint = points[0].clone().add(points[1].clone().sub(points[0]).normalize().multiplyScalar(safeRadii[0]))\n\n lines.push(new LineCurve3(firstPoint, realEndPoints))\n }\n\n for (let i = 1; i < lastIndex; i++) {\n const dir1 = points[i - 1].clone().sub(points[i]).normalize()\n const dir2 = points[i + 1].clone().sub(points[i]).normalize()\n const dir3 = points[i].clone().sub(points[i + 1]).normalize()\n\n const p1 = points[i].clone().add(dir1.multiplyScalar(safeRadii[i]))\n const p2 = points[i].clone()\n const p3 = points[i].clone().add(dir2.multiplyScalar(safeRadii[i]))\n\n const bezierCurve = new QuadraticBezierCurve3(p1, p2, p3)\n lines.push(bezierCurve)\n\n const nextRadius = safeRadii[i + 1]\n const nextEndPoint = (i === lastIndex - 1 && close)\n ? points[i + 1].clone().add(dir3.multiplyScalar(nextRadius))\n : (i === lastIndex - 1)\n ? points[i + 1]\n : points[i + 1].clone().add(dir3.multiplyScalar(nextRadius))\n\n lines.push(new LineCurve3(p3, nextEndPoint))\n }\n\n if (close && points.length > 2) {\n const lastDir1 = points[0].clone().sub(points[lastIndex]).normalize()\n const lastDir2 = points[lastIndex - 1].clone().sub(points[lastIndex]).normalize()\n\n const lastP1 = points[lastIndex].clone().add(lastDir2.multiplyScalar(safeRadii[lastIndex]))\n const lastP2 = points[lastIndex].clone()\n const lastP3 = points[lastIndex].clone().add(lastDir1.multiplyScalar(safeRadii[lastIndex]))\n\n const lastBezier = new QuadraticBezierCurve3(lastP1, lastP2, lastP3)\n lines.push(lastBezier)\n\n const firstDir1 = points[1].clone().sub(points[0]).normalize()\n const firstDir2 = points[lastIndex].clone().sub(points[0]).normalize()\n\n const firstP1 = points[0].clone().add(firstDir2.multiplyScalar(safeRadii[0]))\n const firstP2 = points[0].clone()\n const firstP3 = points[0].clone().add(firstDir1.multiplyScalar(safeRadii[0]))\n\n lines.push(new LineCurve3(lastP3, firstP1))\n lines.push(new QuadraticBezierCurve3(firstP1, firstP2, firstP3))\n }\n\n curve.curves = [...lines]\n return curve\n}\n\nconst recreateCurve = (target: any, _propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n const originalMethod = descriptor.value\n\n const handleFunction = (fn: Function) => function (...args: any[]) {\n const res = fn.apply(this, args)\n this.curves = createRoundedCornersCurve(this._points, this._radius, this._close).curves\n return res\n }\n\n if (originalMethod)\n descriptor.value = handleFunction(originalMethod)\n else\n descriptor.set = handleFunction(descriptor.set)\n\n return descriptor\n}\n\n/**\n * 圆角拐角曲线类\n */\nexport class RoundedCornersCurve extends CurvePath<Vector3> implements RoundedCornersCurveInterface {\n private _points: Vector3[]\n private _radius = 20\n private _close = true\n\n get points(): Vector3[] {\n return this._points.slice()\n }\n\n @recreateCurve\n set points(points: Vector3[]) {\n this._points = points\n }\n\n get radius(): number {\n return this._radius\n }\n\n @recreateCurve\n set radius(radius: number) {\n this._radius = radius\n }\n\n get close(): boolean {\n return this._close\n }\n\n @recreateCurve\n set close(close: boolean) {\n this._close = close\n }\n\n constructor(points: Vector3[], radius = 20, close = true) {\n super()\n\n this._points = points\n this._radius = radius\n this._close = close\n\n this.curves = createRoundedCornersCurve(this._points, this._radius, this._close).curves\n }\n\n override clone(): this {\n return new (this.constructor as any)(this._points.map(p => p.clone()), this._radius, this._close)\n }\n\n /**\n * updatePoint\n * @param index\n * @param point\n */\n updatePoint(index: number, point: Vector3): void {\n if (index < 0 || index >= this._points.length)\n throw new Error(`Point index out of range: ${index}`)\n\n this._points[index] = point\n this.curves = createRoundedCornersCurve(this._points, this._radius, this._close).curves\n }\n}"],"mappings":"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"}
@@ -1,49 +1,24 @@
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 _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3
- 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); } }
4
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
5
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
- 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); }
7
- export var Performance = /*#__PURE__*/function () {
8
- function Performance() {
9
- _classCallCheck(this, Performance);
1
+ export class Performance {
2
+ get objects() {
3
+ return 0;
10
4
  }
11
- _createClass(Performance, [{
12
- key: "objects",
13
- get: function get() {
14
- return 0;
15
- }
16
- }, {
17
- key: "vertices",
18
- get: function get() {
19
- return 0;
20
- }
21
- }, {
22
- key: "triangles",
23
- get: function get() {
24
- return 0;
25
- }
26
- }, {
27
- key: "renderTime",
28
- get: function get() {
29
- return 0;
30
- }
31
- }, {
32
- key: "drawCall",
33
- get: function get() {
34
- return 0;
35
- }
36
- }, {
37
- key: "memory",
38
- get: function get() {
39
- return 0;
40
- }
41
- }, {
42
- key: "fps",
43
- get: function get() {
44
- return 0;
45
- }
46
- }]);
47
- return Performance;
48
- }();
5
+ get vertices() {
6
+ return 0;
7
+ }
8
+ get triangles() {
9
+ return 0;
10
+ }
11
+ get renderTime() {
12
+ return 0;
13
+ }
14
+ get drawCall() {
15
+ return 0;
16
+ }
17
+ get memory() {
18
+ return 0;
19
+ }
20
+ get fps() {
21
+ return 0;
22
+ }
23
+ }
49
24
  //# sourceMappingURL=Performance.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Performance","_classCallCheck","_createClass","key","get"],"sources":["../../../../src/core/Debug/PerformanceInfo/Performance.ts"],"sourcesContent":["import type { PerformanceInterface } from './index'\n\nexport class Performance implements PerformanceInterface {\n public get objects() {\n return 0\n }\n\n public get vertices() {\n return 0\n }\n\n public get triangles() {\n return 0\n }\n\n public get renderTime() {\n return 0\n }\n\n public get drawCall() {\n return 0\n }\n\n public get memory() {\n return 0\n }\n\n public get fps() {\n return 0\n }\n}\n"],"mappings":";;;;;;AAEA,WAAaA,WAAW;EAAA,SAAAA,YAAA;IAAAC,eAAA,OAAAD,WAAA;EAAA;EAAAE,YAAA,CAAAF,WAAA;IAAAG,GAAA;IAAAC,GAAA,EACtB,SAAAA,IAAA,EAAqB;MACnB,OAAO,CAAC;IACV;EAAC;IAAAD,GAAA;IAAAC,GAAA,EAED,SAAAA,IAAA,EAAsB;MACpB,OAAO,CAAC;IACV;EAAC;IAAAD,GAAA;IAAAC,GAAA,EAED,SAAAA,IAAA,EAAuB;MACrB,OAAO,CAAC;IACV;EAAC;IAAAD,GAAA;IAAAC,GAAA,EAED,SAAAA,IAAA,EAAwB;MACtB,OAAO,CAAC;IACV;EAAC;IAAAD,GAAA;IAAAC,GAAA,EAED,SAAAA,IAAA,EAAsB;MACpB,OAAO,CAAC;IACV;EAAC;IAAAD,GAAA;IAAAC,GAAA,EAED,SAAAA,IAAA,EAAoB;MAClB,OAAO,CAAC;IACV;EAAC;IAAAD,GAAA;IAAAC,GAAA,EAED,SAAAA,IAAA,EAAiB;MACf,OAAO,CAAC;IACV;EAAC;EAAA,OAAAJ,WAAA;AAAA"}
1
+ {"version":3,"names":["Performance","objects","vertices","triangles","renderTime","drawCall","memory","fps"],"sources":["../../../../src/core/Debug/PerformanceInfo/Performance.ts"],"sourcesContent":["import type { PerformanceInterface } from './index'\n\nexport class Performance implements PerformanceInterface {\n public get objects() {\n return 0\n }\n\n public get vertices() {\n return 0\n }\n\n public get triangles() {\n return 0\n }\n\n public get renderTime() {\n return 0\n }\n\n public get drawCall() {\n return 0\n }\n\n public get memory() {\n return 0\n }\n\n public get fps() {\n return 0\n }\n}\n"],"mappings":"AAEA,OAAO,MAAMA,WAAW,CAAiC;EACvD,IAAWC,OAAOA,CAAA,EAAG;IACnB,OAAO,CAAC;EACV;EAEA,IAAWC,QAAQA,CAAA,EAAG;IACpB,OAAO,CAAC;EACV;EAEA,IAAWC,SAASA,CAAA,EAAG;IACrB,OAAO,CAAC;EACV;EAEA,IAAWC,UAAUA,CAAA,EAAG;IACtB,OAAO,CAAC;EACV;EAEA,IAAWC,QAAQA,CAAA,EAAG;IACpB,OAAO,CAAC;EACV;EAEA,IAAWC,MAAMA,CAAA,EAAG;IAClB,OAAO,CAAC;EACV;EAEA,IAAWC,GAAGA,CAAA,EAAG;IACf,OAAO,CAAC;EACV;AACF"}
@@ -1,25 +1,8 @@
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 _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); } }
3
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
4
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
5
- 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); }
6
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
7
- 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); }
8
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
9
- 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); }; }
10
- 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); }
11
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
12
- 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; } }
13
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
14
1
  import { PointLight } from '@anov/3d-core';
15
- var PointLightExt = /*#__PURE__*/function (_PointLight) {
16
- _inherits(PointLightExt, _PointLight);
17
- var _super = _createSuper(PointLightExt);
18
- function PointLightExt() {
19
- _classCallCheck(this, PointLightExt);
20
- return _super.call(this);
2
+ class PointLightExt extends PointLight {
3
+ constructor() {
4
+ super();
21
5
  }
22
- return _createClass(PointLightExt);
23
- }(PointLight);
6
+ }
24
7
  export default PointLightExt;
25
8
  //# sourceMappingURL=PointLightExt.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["PointLight","PointLightExt","_PointLight","_inherits","_super","_createSuper","_classCallCheck","call","_createClass"],"sources":["../../../../src/core/Light/PointLight/PointLightExt.ts"],"sourcesContent":["import { PointLight } from '@anov/3d-core'\n\nclass PointLightExt extends PointLight {\n constructor() {\n super()\n }\n}\n\nexport default PointLightExt"],"mappings":";;;;;;;;;;;;;AAAA,SAASA,UAAU,QAAQ,eAAe;AAAA,IAEpCC,aAAa,0BAAAC,WAAA;EAAAC,SAAA,CAAAF,aAAA,EAAAC,WAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,aAAA;EACjB,SAAAA,cAAA,EAAc;IAAAK,eAAA,OAAAL,aAAA;IAAA,OAAAG,MAAA,CAAAG,IAAA;EAEd;EAAC,OAAAC,YAAA,CAAAP,aAAA;AAAA,EAHyBD,UAAU;AAMtC,eAAeC,aAAa"}
1
+ {"version":3,"names":["PointLight","PointLightExt","constructor"],"sources":["../../../../src/core/Light/PointLight/PointLightExt.ts"],"sourcesContent":["import { PointLight } from '@anov/3d-core'\n\nclass PointLightExt extends PointLight {\n constructor() {\n super()\n }\n}\n\nexport default PointLightExt"],"mappings":"AAAA,SAASA,UAAU,QAAQ,eAAe;AAE1C,MAAMC,aAAa,SAASD,UAAU,CAAC;EACrCE,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAC,CAAC;EACT;AACF;AAEA,eAAeD,aAAa"}
@@ -1,43 +1,39 @@
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
1
  var _class;
3
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
4
- 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); } }
5
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
6
- 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); }
7
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
8
- 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); }; }
9
- 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); }
10
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
11
- 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; } }
12
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
13
2
  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; }
14
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
15
- 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); }
3
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
4
+ 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); }
16
5
  function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }
17
6
  import { Color, MeshStandardMaterial } from '@anov/3d-core';
18
7
  import { addUpdateTag } from "../decorators";
19
8
  /**
20
9
  * 菲尼尔材质
21
10
  */
22
- export var FinirMaterial = (_class = /*#__PURE__*/function (_MeshStandardMaterial) {
23
- _inherits(FinirMaterial, _MeshStandardMaterial);
24
- var _super = _createSuper(FinirMaterial);
25
- function FinirMaterial(options) {
26
- var _this;
27
- _classCallCheck(this, FinirMaterial);
28
- _this = _super.call(this, {
11
+ export let FinirMaterial = (_class = class FinirMaterial extends MeshStandardMaterial {
12
+ get rimColor() {
13
+ return this._rimColor;
14
+ }
15
+ set rimColor(value) {
16
+ this._rimColor = value;
17
+ }
18
+ get rimPower() {
19
+ return this._rimPower;
20
+ }
21
+ set rimPower(value) {
22
+ this._rimPower = value;
23
+ }
24
+ constructor(options) {
25
+ super({
29
26
  opacity: 0.0,
30
27
  transparent: true,
31
28
  depthWrite: false
32
29
  });
33
- _defineProperty(_assertThisInitialized(_this), "_rimColor", new Color(0x00FFFF));
34
- _defineProperty(_assertThisInitialized(_this), "_rimPower", 0.9);
35
- var _ref = options || {},
36
- _ref$rimColor = _ref.rimColor,
37
- rimColor = _ref$rimColor === void 0 ? _this._rimColor : _ref$rimColor,
38
- _ref$rimPower = _ref.rimPower,
39
- rimPower = _ref$rimPower === void 0 ? _this._rimPower : _ref$rimPower;
40
- _this.onBeforeCompile = function (shader) {
30
+ _defineProperty(this, "_rimColor", new Color(0x00FFFF));
31
+ _defineProperty(this, "_rimPower", 0.9);
32
+ const {
33
+ rimColor = this._rimColor,
34
+ rimPower = this._rimPower
35
+ } = options || {};
36
+ this.onBeforeCompile = shader => {
41
37
  shader.uniforms.rimColor = {
42
38
  value: rimColor
43
39
  };
@@ -46,35 +42,19 @@ export var FinirMaterial = (_class = /*#__PURE__*/function (_MeshStandardMateria
46
42
  };
47
43
  shader.vertexShader = shader.vertexShader.replace('void main() {', ['varying vec3 vViewDirection;', 'void main() {', 'vec4 worldPosition1 = modelMatrix * vec4(position, 1.0);', 'vViewDirection = normalize(cameraPosition - worldPosition1.xyz);'].join('\n'));
48
44
  shader.fragmentShader = shader.fragmentShader.replace('void main() {', ['uniform vec3 rimColor;', 'uniform float rimPower;', 'varying vec3 vViewDirection;', 'void main() {'].join('\n'));
49
- shader.fragmentShader = shader.fragmentShader.replace('#include <dithering_fragment>', "#include <dithering_fragment>\n vec3 viewDir = normalize(vViewDirection);\n float dotNV = 1.0-saturate( dot( normal, viewDir ) );\n gl_FragColor.rgb += rimPower*dotNV*rimColor;\n vec3 fresnelall =rimPower*dotNV*rimColor;\n gl_FragColor.a +=(fresnelall.r+fresnelall.g+fresnelall.b)/3.;");
45
+ shader.fragmentShader = shader.fragmentShader.replace('#include <dithering_fragment>', `#include <dithering_fragment>
46
+ vec3 viewDir = normalize(vViewDirection);
47
+ float dotNV = 1.0-saturate( dot( normal, viewDir ) );
48
+ gl_FragColor.rgb += rimPower*dotNV*rimColor;
49
+ vec3 fresnelall =rimPower*dotNV*rimColor;
50
+ gl_FragColor.a +=(fresnelall.r+fresnelall.g+fresnelall.b)/3.;`);
50
51
  };
51
- return _this;
52
52
  }
53
- _createClass(FinirMaterial, [{
54
- key: "rimColor",
55
- get: function get() {
56
- return this._rimColor;
57
- },
58
- set: function set(value) {
59
- this._rimColor = value;
60
- }
61
- }, {
62
- key: "rimPower",
63
- get: function get() {
64
- return this._rimPower;
65
- },
66
- set: function set(value) {
67
- this._rimPower = value;
68
- }
69
- }, {
70
- key: "clone",
71
- value: function clone() {
72
- return new this.constructor({
73
- rimColor: this._rimColor,
74
- rimPower: this._rimPower
75
- });
76
- }
77
- }]);
78
- return FinirMaterial;
79
- }(MeshStandardMaterial), (_applyDecoratedDescriptor(_class.prototype, "rimColor", [addUpdateTag], Object.getOwnPropertyDescriptor(_class.prototype, "rimColor"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "rimPower", [addUpdateTag], Object.getOwnPropertyDescriptor(_class.prototype, "rimPower"), _class.prototype)), _class);
53
+ clone() {
54
+ return new this.constructor({
55
+ rimColor: this._rimColor,
56
+ rimPower: this._rimPower
57
+ });
58
+ }
59
+ }, (_applyDecoratedDescriptor(_class.prototype, "rimColor", [addUpdateTag], Object.getOwnPropertyDescriptor(_class.prototype, "rimColor"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "rimPower", [addUpdateTag], Object.getOwnPropertyDescriptor(_class.prototype, "rimPower"), _class.prototype)), _class);
80
60
  //# sourceMappingURL=FinirMaterial.js.map