@anov/3d-ability 0.0.142 → 0.0.144

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 (257) 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.d.ts +1 -1
  78. package/dist/business/Poi/link/index.js +114 -54
  79. package/dist/business/Poi/link/index.js.map +1 -1
  80. package/dist/business/Poi/panel/index.js +373 -315
  81. package/dist/business/Poi/panel/index.js.map +1 -1
  82. package/dist/business/Poi/panel/utils.js +10 -5
  83. package/dist/business/Poi/panel/utils.js.map +1 -1
  84. package/dist/business/Poi/particle/DoubleCircle.js +107 -71
  85. package/dist/business/Poi/particle/DoubleCircle.js.map +1 -1
  86. package/dist/business/Poi/particle/DynamicCircle.js +111 -75
  87. package/dist/business/Poi/particle/DynamicCircle.js.map +1 -1
  88. package/dist/business/Poi/particle/SingleCircle.js +98 -62
  89. package/dist/business/Poi/particle/SingleCircle.js.map +1 -1
  90. package/dist/business/Poi/particle/index.js +117 -49
  91. package/dist/business/Poi/particle/index.js.map +1 -1
  92. package/dist/business/Poi/shader/circle.js +3 -31
  93. package/dist/business/Poi/shader/circle.js.map +1 -1
  94. package/dist/business/Poi/shader/cylinder.js +3 -37
  95. package/dist/business/Poi/shader/cylinder.js.map +1 -1
  96. package/dist/business/Poi/shader/doubleCircle.js +3 -55
  97. package/dist/business/Poi/shader/doubleCircle.js.map +1 -1
  98. package/dist/business/Poi/shader/dynamicCircle.js +3 -67
  99. package/dist/business/Poi/shader/dynamicCircle.js.map +1 -1
  100. package/dist/business/Poi/title/Border.js +27 -7
  101. package/dist/business/Poi/title/Border.js.map +1 -1
  102. package/dist/business/Poi/title/Ellipse.js +27 -7
  103. package/dist/business/Poi/title/Ellipse.js.map +1 -1
  104. package/dist/business/Poi/title/index.js +292 -208
  105. package/dist/business/Poi/title/index.js.map +1 -1
  106. package/dist/business/Poi/tools.js +17 -18
  107. package/dist/business/Poi/tools.js.map +1 -1
  108. package/dist/business/Sphere/index.js +72 -47
  109. package/dist/business/Sphere/index.js.map +1 -1
  110. package/dist/business/Spline/index.js +245 -190
  111. package/dist/business/Spline/index.js.map +1 -1
  112. package/dist/business/SplitBuilding/index.js +536 -327
  113. package/dist/business/SplitBuilding/index.js.map +1 -1
  114. package/dist/business/SplitBuilding/type.js +2 -2
  115. package/dist/business/TrafficComponents/RealismTraffic/RealismTraffic.js +275 -218
  116. package/dist/business/TrafficComponents/RealismTraffic/RealismTraffic.js.map +1 -1
  117. package/dist/business/TrafficComponents/StreamerTraffic/StreamerTraffic.js +177 -132
  118. package/dist/business/TrafficComponents/StreamerTraffic/StreamerTraffic.js.map +1 -1
  119. package/dist/business/TrafficComponents/StreamerTraffic/fragmentShader.js +1 -51
  120. package/dist/business/TrafficComponents/StreamerTraffic/fragmentShader.js.map +1 -1
  121. package/dist/business/TrafficComponents/StreamerTraffic/vertexShader.js +1 -6
  122. package/dist/business/TrafficComponents/StreamerTraffic/vertexShader.js.map +1 -1
  123. package/dist/business/TrafficComponents/base.js +55 -32
  124. package/dist/business/TrafficComponents/base.js.map +1 -1
  125. package/dist/business/TrafficComponents/utils.js +24 -25
  126. package/dist/business/TrafficComponents/utils.js.map +1 -1
  127. package/dist/business/Utils/Curve.js +56 -40
  128. package/dist/business/Utils/Curve.js.map +1 -1
  129. package/dist/business/Utils/constant.js +1 -1
  130. package/dist/business/Utils/constant.js.map +1 -1
  131. package/dist/business/Utils/defineProps.js +14 -13
  132. package/dist/business/Utils/defineProps.js.map +1 -1
  133. package/dist/business/Utils/round-curve.js +153 -127
  134. package/dist/business/Utils/round-curve.js.map +1 -1
  135. package/dist/business/VideoPanel/index.js +319 -258
  136. package/dist/business/VideoPanel/index.js.map +1 -1
  137. package/dist/business/Water/index.js +108 -78
  138. package/dist/business/Water/index.js.map +1 -1
  139. package/dist/business/Water/types.js +1 -1
  140. package/dist/business/Water/types.js.map +1 -1
  141. package/dist/core/Camera/PerspectiveCamera/CameraExpand.js +449 -383
  142. package/dist/core/Camera/PerspectiveCamera/CameraExpand.js.map +1 -1
  143. package/dist/core/Camera/PerspectiveCamera/FollowOrbitControls.js +142 -107
  144. package/dist/core/Camera/PerspectiveCamera/FollowOrbitControls.js.map +1 -1
  145. package/dist/core/Controls/FirstViewControl/index.js +96 -84
  146. package/dist/core/Controls/FirstViewControl/index.js.map +1 -1
  147. package/dist/core/Controls/ThirdViewControl/action/input.js +98 -77
  148. package/dist/core/Controls/ThirdViewControl/action/input.js.map +1 -1
  149. package/dist/core/Controls/ThirdViewControl/config/constants.js +1 -1
  150. package/dist/core/Controls/ThirdViewControl/config/constants.js.map +1 -1
  151. package/dist/core/Controls/ThirdViewControl/index.js +28 -19
  152. package/dist/core/Controls/ThirdViewControl/index.js.map +1 -1
  153. package/dist/core/Controls/ThirdViewControl/player/animation.js +155 -126
  154. package/dist/core/Controls/ThirdViewControl/player/animation.js.map +1 -1
  155. package/dist/core/Controls/ThirdViewControl/player/camera.js +63 -47
  156. package/dist/core/Controls/ThirdViewControl/player/camera.js.map +1 -1
  157. package/dist/core/Controls/ThirdViewControl/player/control.js +49 -39
  158. package/dist/core/Controls/ThirdViewControl/player/control.js.map +1 -1
  159. package/dist/core/Controls/ThirdViewControl/player.js +91 -66
  160. package/dist/core/Controls/ThirdViewControl/player.js.map +1 -1
  161. package/dist/core/Controls/base.js +30 -14
  162. package/dist/core/Controls/base.js.map +1 -1
  163. package/dist/core/Curve/RoundedCornersCurve/RoundedCornersCurve.js +131 -92
  164. package/dist/core/Curve/RoundedCornersCurve/RoundedCornersCurve.js.map +1 -1
  165. package/dist/core/Debug/PerformanceInfo/Performance.js +47 -22
  166. package/dist/core/Debug/PerformanceInfo/Performance.js.map +1 -1
  167. package/dist/core/Light/PointLight/PointLightExt.js +21 -4
  168. package/dist/core/Light/PointLight/PointLightExt.js.map +1 -1
  169. package/dist/core/Material/FinirMaterial/FinirMaterial.js +57 -37
  170. package/dist/core/Material/FinirMaterial/FinirMaterial.js.map +1 -1
  171. package/dist/core/Material/PristineGridMaterial/PristineGridMaterial.js +153 -116
  172. package/dist/core/Material/PristineGridMaterial/PristineGridMaterial.js.map +1 -1
  173. package/dist/core/Material/PristineGridMaterial/shader/fragment.js +1 -95
  174. package/dist/core/Material/PristineGridMaterial/shader/fragment.js.map +1 -1
  175. package/dist/core/Material/PristineGridMaterial/shader/vertex.js +1 -26
  176. package/dist/core/Material/PristineGridMaterial/shader/vertex.js.map +1 -1
  177. package/dist/core/Material/SurfaceMaterial/index.js +172 -76
  178. package/dist/core/Material/SurfaceMaterial/index.js.map +1 -1
  179. package/dist/core/Material/decorators.js +11 -6
  180. package/dist/core/Material/decorators.js.map +1 -1
  181. package/dist/core/PostEffects/addACESFilmicToneMappingPass.js +12 -16
  182. package/dist/core/PostEffects/addACESFilmicToneMappingPass.js.map +1 -1
  183. package/dist/core/PostEffects/addBrightnessContrastPass.js +13 -17
  184. package/dist/core/PostEffects/addBrightnessContrastPass.js.map +1 -1
  185. package/dist/core/PostEffects/bloomPass.js +10 -17
  186. package/dist/core/PostEffects/bloomPass.js.map +1 -1
  187. package/dist/core/PostEffects/bloomSelect.js +43 -60
  188. package/dist/core/PostEffects/bloomSelect.js.map +1 -1
  189. package/dist/core/PostEffects/colorifyPass.js +13 -17
  190. package/dist/core/PostEffects/colorifyPass.js.map +1 -1
  191. package/dist/core/PostEffects/index.js +22 -28
  192. package/dist/core/PostEffects/index.js.map +1 -1
  193. package/dist/core/PostEffects/outlinePass.js +50 -37
  194. package/dist/core/PostEffects/outlinePass.js.map +1 -1
  195. package/dist/core/PostEffects/postprocessing.js +12 -14
  196. package/dist/core/PostEffects/postprocessing.js.map +1 -1
  197. package/dist/core/PostEffects/saoPass.js +10 -15
  198. package/dist/core/PostEffects/saoPass.js.map +1 -1
  199. package/dist/core/PostEffects/shader/colorify.js +3 -22
  200. package/dist/core/PostEffects/shader/colorify.js.map +1 -1
  201. package/dist/core/PostEffects/shader/gammaCorrectionShader.js +3 -27
  202. package/dist/core/PostEffects/shader/gammaCorrectionShader.js.map +1 -1
  203. package/dist/core/PostEffects/shader/mapping.js +3 -66
  204. package/dist/core/PostEffects/shader/mapping.js.map +1 -1
  205. package/dist/core/PostEffects/shader/thermalMaging.js +3 -28
  206. package/dist/core/PostEffects/shader/thermalMaging.js.map +1 -1
  207. package/dist/core/SceneEffect/grow/grow.js +101 -85
  208. package/dist/core/SceneEffect/grow/grow.js.map +1 -1
  209. package/dist/core/SceneEffect/grow/style_down.js +77 -60
  210. package/dist/core/SceneEffect/grow/style_down.js.map +1 -1
  211. package/dist/core/SceneEffect/grow/style_up.js +81 -64
  212. package/dist/core/SceneEffect/grow/style_up.js.map +1 -1
  213. package/dist/core/SceneEffect/grow/type.js +2 -2
  214. package/dist/core/SceneEffect/grow/type.js.map +1 -1
  215. package/dist/core/WeatherSystem/DynamicWeatherSystem.js +76 -51
  216. package/dist/core/WeatherSystem/DynamicWeatherSystem.js.map +1 -1
  217. package/dist/core/WeatherSystem/hdr/index.js +105 -69
  218. package/dist/core/WeatherSystem/hdr/index.js.map +1 -1
  219. package/dist/core/WeatherSystem/index.js +124 -77
  220. package/dist/core/WeatherSystem/index.js.map +1 -1
  221. package/dist/core/WeatherSystem/objects/fog/index.js +80 -52
  222. package/dist/core/WeatherSystem/objects/fog/index.js.map +1 -1
  223. package/dist/core/WeatherSystem/objects/rain/index.js +84 -72
  224. package/dist/core/WeatherSystem/objects/rain/index.js.map +1 -1
  225. package/dist/core/WeatherSystem/objects/rain/lineRain.js +118 -88
  226. package/dist/core/WeatherSystem/objects/rain/lineRain.js.map +1 -1
  227. package/dist/core/WeatherSystem/objects/rain/plane.js +146 -116
  228. package/dist/core/WeatherSystem/objects/rain/plane.js.map +1 -1
  229. package/dist/core/WeatherSystem/objects/rain/point.js +148 -100
  230. package/dist/core/WeatherSystem/objects/rain/point.js.map +1 -1
  231. package/dist/core/WeatherSystem/objects/sky/cloud.js +104 -71
  232. package/dist/core/WeatherSystem/objects/sky/cloud.js.map +1 -1
  233. package/dist/core/WeatherSystem/objects/sky/index.js +84 -66
  234. package/dist/core/WeatherSystem/objects/sky/index.js.map +1 -1
  235. package/dist/core/WeatherSystem/objects/sky/outline.js +45 -25
  236. package/dist/core/WeatherSystem/objects/sky/outline.js.map +1 -1
  237. package/dist/core/WeatherSystem/shaders/cloud.js +3 -74
  238. package/dist/core/WeatherSystem/shaders/cloud.js.map +1 -1
  239. package/dist/core/WeatherSystem/shaders/fog.js +3 -103
  240. package/dist/core/WeatherSystem/shaders/fog.js.map +1 -1
  241. package/dist/core/WeatherSystem/shaders/rain.js +7 -206
  242. package/dist/core/WeatherSystem/shaders/rain.js.map +1 -1
  243. package/dist/core/WeatherSystem/shaders/sky.js +3 -87
  244. package/dist/core/WeatherSystem/shaders/sky.js.map +1 -1
  245. package/dist/core/WeatherSystem/sky/index.js +135 -104
  246. package/dist/core/WeatherSystem/sky/index.js.map +1 -1
  247. package/dist/core/WeatherSystem/utils/constant.js +38 -44
  248. package/dist/core/WeatherSystem/utils/constant.js.map +1 -1
  249. package/dist/core/WeatherSystem/utils/math.js +25 -18
  250. package/dist/core/WeatherSystem/utils/math.js.map +1 -1
  251. package/dist/core/WeatherSystem/utils/type.js +1 -1
  252. package/dist/core/WeatherSystem/utils/type.js.map +1 -1
  253. package/dist/core/WeatherSystem/weather/index.js +141 -96
  254. package/dist/core/WeatherSystem/weather/index.js.map +1 -1
  255. package/dist/utils/index.js +1 -1
  256. package/dist/utils/index.js.map +1 -1
  257. package/package.json +3 -3
@@ -1,10 +1,21 @@
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); }
1
2
  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); }
2
13
  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; }
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); }
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); }
5
16
  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; }
6
17
  import { CurvePath, LineCurve3, QuadraticBezierCurve3 } from '@anov/3d-core';
7
- const calculateDistance = (p1, p2) => {
18
+ var calculateDistance = function calculateDistance(p1, p2) {
8
19
  return p1.clone().sub(p2).length();
9
20
  };
10
21
 
@@ -14,18 +25,18 @@ const calculateDistance = (p1, p2) => {
14
25
  * @param radius
15
26
  * @returns
16
27
  */
17
- const calculateSafeRadius = (points, radius) => {
28
+ var calculateSafeRadius = function calculateSafeRadius(points, radius) {
18
29
  if (points.length <= 2) return [radius, 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);
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);
24
35
  safeRadii[i] = maxSafeRadius;
25
36
  }
26
37
  if (points.length > 2) {
27
- const firstDist = calculateDistance(points[0], points[1]);
28
- const lastDist = calculateDistance(points[points.length - 1], points[points.length - 2]);
38
+ var firstDist = calculateDistance(points[0], points[1]);
39
+ var lastDist = calculateDistance(points[points.length - 1], points[points.length - 2]);
29
40
  safeRadii[0] = Math.min(firstDist / 2, radius);
30
41
  safeRadii[points.length - 1] = Math.min(lastDist / 2, radius);
31
42
  }
@@ -39,67 +50,74 @@ const calculateSafeRadius = (points, radius) => {
39
50
  * @param close
40
51
  * @returns
41
52
  */
42
- export const createRoundedCornersCurve = (points, radius = 20, close = true) => {
43
- const curve = new CurvePath();
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();
44
57
  if (points.length < 2) throw new Error('At least two points are required to create a curve');
45
58
  if (points.length === 2) {
46
59
  curve.curves.push(new LineCurve3(points[0], points[1]));
47
60
  return curve;
48
61
  }
49
- const safeRadii = calculateSafeRadius(points, radius);
50
- const lines = [];
51
- const lastIndex = points.length - 1;
62
+ var safeRadii = calculateSafeRadius(points, radius);
63
+ var lines = [];
64
+ var lastIndex = points.length - 1;
52
65
  if (close && points.length > 2) {
53
- const firstLastDist = calculateDistance(points[0], points[lastIndex]);
54
- const safeConnectRadius = Math.min(firstLastDist / 2, radius);
66
+ var firstLastDist = calculateDistance(points[0], points[lastIndex]);
67
+ var safeConnectRadius = Math.min(firstLastDist / 2, radius);
55
68
  safeRadii[0] = Math.min(safeRadii[0], safeConnectRadius);
56
69
  safeRadii[lastIndex] = Math.min(safeRadii[lastIndex], safeConnectRadius);
57
70
  }
58
71
  if (points.length > 2) {
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];
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];
62
75
  if (close) firstPoint = points[0].clone().add(points[1].clone().sub(points[0]).normalize().multiplyScalar(safeRadii[0]));
63
76
  lines.push(new LineCurve3(firstPoint, realEndPoints));
64
77
  }
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);
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);
73
86
  lines.push(bezierCurve);
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));
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));
76
89
  lines.push(new LineCurve3(p3, nextEndPoint));
77
90
  }
78
91
  if (close && points.length > 2) {
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);
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);
85
98
  lines.push(lastBezier);
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]));
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]));
91
104
  lines.push(new LineCurve3(lastP3, firstP1));
92
105
  lines.push(new QuadraticBezierCurve3(firstP1, firstP2, firstP3));
93
106
  }
94
- curve.curves = [...lines];
107
+ curve.curves = [].concat(lines);
95
108
  return curve;
96
109
  };
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;
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
+ };
103
121
  };
104
122
  if (originalMethod) descriptor.value = handleFunction(originalMethod);else descriptor.set = handleFunction(descriptor.set);
105
123
  return descriptor;
@@ -108,48 +126,69 @@ const recreateCurve = (target, _propertyKey, descriptor) => {
108
126
  /**
109
127
  * 圆角拐角曲线类
110
128
  */
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
- }
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
+ }
143
178
 
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);
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);
155
194
  //# 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","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
+ {"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":"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"}
@@ -1,24 +1,49 @@
1
- export class Performance {
2
- get objects() {
3
- return 0;
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);
4
10
  }
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
- }
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
+ }();
24
49
  //# sourceMappingURL=Performance.js.map
@@ -1 +1 @@
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
+ {"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,8 +1,25 @@
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); }
1
14
  import { PointLight } from '@anov/3d-core';
2
- class PointLightExt extends PointLight {
3
- constructor() {
4
- super();
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);
5
21
  }
6
- }
22
+ return _createClass(PointLightExt);
23
+ }(PointLight);
7
24
  export default PointLightExt;
8
25
  //# sourceMappingURL=PointLightExt.js.map
@@ -1 +1 @@
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
+ {"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,39 +1,43 @@
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); }
1
2
  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); }
2
13
  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; }
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); }
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); }
5
16
  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; }
6
17
  import { Color, MeshStandardMaterial } from '@anov/3d-core';
7
18
  import { addUpdateTag } from "../decorators";
8
19
  /**
9
20
  * 菲尼尔材质
10
21
  */
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({
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, {
26
29
  opacity: 0.0,
27
30
  transparent: true,
28
31
  depthWrite: false
29
32
  });
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 => {
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) {
37
41
  shader.uniforms.rimColor = {
38
42
  value: rimColor
39
43
  };
@@ -42,19 +46,35 @@ export let FinirMaterial = (_class = class FinirMaterial extends MeshStandardMat
42
46
  };
43
47
  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'));
44
48
  shader.fragmentShader = shader.fragmentShader.replace('void main() {', ['uniform vec3 rimColor;', 'uniform float rimPower;', 'varying vec3 vViewDirection;', 'void main() {'].join('\n'));
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.;`);
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.;");
51
50
  };
51
+ return _this;
52
52
  }
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);
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);
60
80
  //# sourceMappingURL=FinirMaterial.js.map