kitchen-simulator 5.0.0-test.2 → 5.0.0-test.4

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 (697) hide show
  1. package/es/KitchenConfigurator.js +1 -1
  2. package/es/KitchenConfigurator.js.map +1 -1
  3. package/es/index.js +2 -2
  4. package/es/index.js.map +1 -1
  5. package/package.json +8 -16
  6. package/src/KitchenConfigurator.jsx +1 -1
  7. package/src/index.js +3 -3
  8. package/lib/@history.js +0 -11
  9. package/lib/@history.js.map +0 -1
  10. package/lib/AppContext.js +0 -11
  11. package/lib/AppContext.js.map +0 -1
  12. package/lib/KitchenConfigurator.js +0 -1353
  13. package/lib/KitchenConfigurator.js.map +0 -1
  14. package/lib/KitchenConfiguratorApp.js +0 -539
  15. package/lib/KitchenConfiguratorApp.js.map +0 -1
  16. package/lib/actions/area-actions.js +0 -22
  17. package/lib/actions/area-actions.js.map +0 -1
  18. package/lib/actions/export.js +0 -44
  19. package/lib/actions/export.js.map +0 -1
  20. package/lib/actions/groups-actions.js +0 -108
  21. package/lib/actions/groups-actions.js.map +0 -1
  22. package/lib/actions/holes-actions.js +0 -141
  23. package/lib/actions/holes-actions.js.map +0 -1
  24. package/lib/actions/items-actions.js +0 -365
  25. package/lib/actions/items-actions.js.map +0 -1
  26. package/lib/actions/lines-actions.js +0 -98
  27. package/lib/actions/lines-actions.js.map +0 -1
  28. package/lib/actions/project-actions.js +0 -333
  29. package/lib/actions/project-actions.js.map +0 -1
  30. package/lib/actions/scene-actions.js +0 -44
  31. package/lib/actions/scene-actions.js.map +0 -1
  32. package/lib/actions/user-actions.js +0 -69
  33. package/lib/actions/user-actions.js.map +0 -1
  34. package/lib/actions/vertices-actions.js +0 -36
  35. package/lib/actions/vertices-actions.js.map +0 -1
  36. package/lib/actions/viewer2d-actions.js +0 -74
  37. package/lib/actions/viewer2d-actions.js.map +0 -1
  38. package/lib/actions/viewer3d-actions.js +0 -33
  39. package/lib/actions/viewer3d-actions.js.map +0 -1
  40. package/lib/catalog/areas/area/planner-element.js +0 -47
  41. package/lib/catalog/areas/area/planner-element.js.map +0 -1
  42. package/lib/catalog/catalog.js +0 -283
  43. package/lib/catalog/catalog.js.map +0 -1
  44. package/lib/catalog/factories/area-factory-3d.js +0 -192
  45. package/lib/catalog/factories/area-factory-3d.js.map +0 -1
  46. package/lib/catalog/factories/area-factory.js +0 -90
  47. package/lib/catalog/factories/area-factory.js.map +0 -1
  48. package/lib/catalog/factories/export.js +0 -26
  49. package/lib/catalog/factories/export.js.map +0 -1
  50. package/lib/catalog/factories/wall-factory-3d.js +0 -213
  51. package/lib/catalog/factories/wall-factory-3d.js.map +0 -1
  52. package/lib/catalog/factories/wall-factory.js +0 -279
  53. package/lib/catalog/factories/wall-factory.js.map +0 -1
  54. package/lib/catalog/holes/door-closet/planner-element.js +0 -232
  55. package/lib/catalog/holes/door-closet/planner-element.js.map +0 -1
  56. package/lib/catalog/holes/door-double/planner-element.js +0 -325
  57. package/lib/catalog/holes/door-double/planner-element.js.map +0 -1
  58. package/lib/catalog/holes/door-exterior/planner-element.js +0 -225
  59. package/lib/catalog/holes/door-exterior/planner-element.js.map +0 -1
  60. package/lib/catalog/holes/door-interior/planner-element.js +0 -237
  61. package/lib/catalog/holes/door-interior/planner-element.js.map +0 -1
  62. package/lib/catalog/holes/door-panic/planner-element.js +0 -513
  63. package/lib/catalog/holes/door-panic/planner-element.js.map +0 -1
  64. package/lib/catalog/holes/door-panic-double/planner-element.js +0 -473
  65. package/lib/catalog/holes/door-panic-double/planner-element.js.map +0 -1
  66. package/lib/catalog/holes/door-sliding/planner-element.js +0 -235
  67. package/lib/catalog/holes/door-sliding/planner-element.js.map +0 -1
  68. package/lib/catalog/holes/doorway-framed/planner-element.js +0 -155
  69. package/lib/catalog/holes/doorway-framed/planner-element.js.map +0 -1
  70. package/lib/catalog/holes/doorway-frameless/planner-element.js +0 -114
  71. package/lib/catalog/holes/doorway-frameless/planner-element.js.map +0 -1
  72. package/lib/catalog/holes/window-clear/planner-element.js +0 -176
  73. package/lib/catalog/holes/window-clear/planner-element.js.map +0 -1
  74. package/lib/catalog/holes/window-cross/planner-element.js +0 -175
  75. package/lib/catalog/holes/window-cross/planner-element.js.map +0 -1
  76. package/lib/catalog/holes/window-double-hung/planner-element.js +0 -313
  77. package/lib/catalog/holes/window-double-hung/planner-element.js.map +0 -1
  78. package/lib/catalog/holes/window-vertical/planner-element.js +0 -286
  79. package/lib/catalog/holes/window-vertical/planner-element.js.map +0 -1
  80. package/lib/catalog/lines/wall/planner-element.js +0 -77
  81. package/lib/catalog/lines/wall/planner-element.js.map +0 -1
  82. package/lib/catalog/molding/molding-dcm/planner-element.js +0 -39
  83. package/lib/catalog/molding/molding-dcm/planner-element.js.map +0 -1
  84. package/lib/catalog/molding/molding-fbm/planner-element.js +0 -39
  85. package/lib/catalog/molding/molding-fbm/planner-element.js.map +0 -1
  86. package/lib/catalog/molding/molding-lrm/planner-element.js +0 -39
  87. package/lib/catalog/molding/molding-lrm/planner-element.js.map +0 -1
  88. package/lib/catalog/properties/export.js +0 -82
  89. package/lib/catalog/properties/export.js.map +0 -1
  90. package/lib/catalog/properties/property-checkbox.js +0 -79
  91. package/lib/catalog/properties/property-checkbox.js.map +0 -1
  92. package/lib/catalog/properties/property-color.js +0 -47
  93. package/lib/catalog/properties/property-color.js.map +0 -1
  94. package/lib/catalog/properties/property-enum.js +0 -63
  95. package/lib/catalog/properties/property-enum.js.map +0 -1
  96. package/lib/catalog/properties/property-hidden.js +0 -27
  97. package/lib/catalog/properties/property-hidden.js.map +0 -1
  98. package/lib/catalog/properties/property-lenght-measure.js +0 -109
  99. package/lib/catalog/properties/property-lenght-measure.js.map +0 -1
  100. package/lib/catalog/properties/property-length-measure.js +0 -93
  101. package/lib/catalog/properties/property-length-measure.js.map +0 -1
  102. package/lib/catalog/properties/property-length-measure_hole.js +0 -109
  103. package/lib/catalog/properties/property-length-measure_hole.js.map +0 -1
  104. package/lib/catalog/properties/property-number.js +0 -56
  105. package/lib/catalog/properties/property-number.js.map +0 -1
  106. package/lib/catalog/properties/property-read-only.js +0 -34
  107. package/lib/catalog/properties/property-read-only.js.map +0 -1
  108. package/lib/catalog/properties/property-string.js +0 -56
  109. package/lib/catalog/properties/property-string.js.map +0 -1
  110. package/lib/catalog/properties/property-toggle.js +0 -47
  111. package/lib/catalog/properties/property-toggle.js.map +0 -1
  112. package/lib/catalog/properties/shared-property-style.js +0 -21
  113. package/lib/catalog/properties/shared-property-style.js.map +0 -1
  114. package/lib/catalog/utils/FuseUtils.js +0 -89
  115. package/lib/catalog/utils/FuseUtils.js.map +0 -1
  116. package/lib/catalog/utils/exporter.js +0 -156
  117. package/lib/catalog/utils/exporter.js.map +0 -1
  118. package/lib/catalog/utils/geom-utils.js +0 -206
  119. package/lib/catalog/utils/geom-utils.js.map +0 -1
  120. package/lib/catalog/utils/item-loader.js +0 -1534
  121. package/lib/catalog/utils/item-loader.js.map +0 -1
  122. package/lib/catalog/utils/load-obj.js +0 -100
  123. package/lib/catalog/utils/load-obj.js.map +0 -1
  124. package/lib/catalog/utils/mtl-loader.js +0 -360
  125. package/lib/catalog/utils/mtl-loader.js.map +0 -1
  126. package/lib/catalog/utils/obj-loader.js +0 -479
  127. package/lib/catalog/utils/obj-loader.js.map +0 -1
  128. package/lib/class/FuseUtils.js +0 -89
  129. package/lib/class/FuseUtils.js.map +0 -1
  130. package/lib/class/area.js +0 -151
  131. package/lib/class/area.js.map +0 -1
  132. package/lib/class/export.js +0 -97
  133. package/lib/class/export.js.map +0 -1
  134. package/lib/class/group.js +0 -446
  135. package/lib/class/group.js.map +0 -1
  136. package/lib/class/guide.js +0 -68
  137. package/lib/class/guide.js.map +0 -1
  138. package/lib/class/hole.js +0 -935
  139. package/lib/class/hole.js.map +0 -1
  140. package/lib/class/item.js +0 -1894
  141. package/lib/class/item.js.map +0 -1
  142. package/lib/class/layer.js +0 -673
  143. package/lib/class/layer.js.map +0 -1
  144. package/lib/class/line.js +0 -1296
  145. package/lib/class/line.js.map +0 -1
  146. package/lib/class/project.js +0 -829
  147. package/lib/class/project.js.map +0 -1
  148. package/lib/class/vertex.js +0 -272
  149. package/lib/class/vertex.js.map +0 -1
  150. package/lib/components/atoms/Snackbar/index.js +0 -57
  151. package/lib/components/atoms/Snackbar/index.js.map +0 -1
  152. package/lib/components/atoms/radio-button/index.js +0 -33
  153. package/lib/components/atoms/radio-button/index.js.map +0 -1
  154. package/lib/components/atoms/radio-button/styles.js +0 -12
  155. package/lib/components/atoms/radio-button/styles.js.map +0 -1
  156. package/lib/components/button/MainButton.js +0 -98
  157. package/lib/components/button/MainButton.js.map +0 -1
  158. package/lib/components/button/ToggleMeasureButton.js +0 -63
  159. package/lib/components/button/ToggleMeasureButton.js.map +0 -1
  160. package/lib/components/catalog-view/catalog-breadcrumb.js +0 -61
  161. package/lib/components/catalog-view/catalog-breadcrumb.js.map +0 -1
  162. package/lib/components/catalog-view/catalog-item.js +0 -233
  163. package/lib/components/catalog-view/catalog-item.js.map +0 -1
  164. package/lib/components/catalog-view/catalog-list.js +0 -189
  165. package/lib/components/catalog-view/catalog-list.js.map +0 -1
  166. package/lib/components/catalog-view/catalog-page-item.js +0 -137
  167. package/lib/components/catalog-view/catalog-page-item.js.map +0 -1
  168. package/lib/components/catalog-view/catalog-turn-back-page-item.js +0 -113
  169. package/lib/components/catalog-view/catalog-turn-back-page-item.js.map +0 -1
  170. package/lib/components/configurator/custom-configurator.js +0 -101
  171. package/lib/components/configurator/custom-configurator.js.map +0 -1
  172. package/lib/components/configurator/project-configurator.js +0 -138
  173. package/lib/components/configurator/project-configurator.js.map +0 -1
  174. package/lib/components/content.js +0 -132
  175. package/lib/components/content.js.map +0 -1
  176. package/lib/components/export.js +0 -90
  177. package/lib/components/export.js.map +0 -1
  178. package/lib/components/firstsetting/button/styles.js +0 -34
  179. package/lib/components/firstsetting/button/styles.js.map +0 -1
  180. package/lib/components/firstsetting/export.js +0 -16
  181. package/lib/components/firstsetting/export.js.map +0 -1
  182. package/lib/components/firstsetting/firstsetting-content-button.js +0 -224
  183. package/lib/components/firstsetting/firstsetting-content-button.js.map +0 -1
  184. package/lib/components/firstsetting/firstsetting-toggle-button.js +0 -133
  185. package/lib/components/firstsetting/firstsetting-toggle-button.js.map +0 -1
  186. package/lib/components/firstsetting/firstsetting.js +0 -633
  187. package/lib/components/firstsetting/firstsetting.js.map +0 -1
  188. package/lib/components/footerbar/button/ControlButton.js +0 -79
  189. package/lib/components/footerbar/button/ControlButton.js.map +0 -1
  190. package/lib/components/footerbar/button/DirectionButton.js +0 -76
  191. package/lib/components/footerbar/button/DirectionButton.js.map +0 -1
  192. package/lib/components/footerbar/button/DirectionPanSpinButton.js +0 -57
  193. package/lib/components/footerbar/button/DirectionPanSpinButton.js.map +0 -1
  194. package/lib/components/footerbar/button/ToggleButton.js +0 -83
  195. package/lib/components/footerbar/button/ToggleButton.js.map +0 -1
  196. package/lib/components/footerbar/button/ToggleConvertButton.js +0 -80
  197. package/lib/components/footerbar/button/ToggleConvertButton.js.map +0 -1
  198. package/lib/components/footerbar/button/ToggleMeasureButton.js +0 -59
  199. package/lib/components/footerbar/button/ToggleMeasureButton.js.map +0 -1
  200. package/lib/components/footerbar/button/styles.js +0 -29
  201. package/lib/components/footerbar/button/styles.js.map +0 -1
  202. package/lib/components/footerbar/export.js +0 -16
  203. package/lib/components/footerbar/export.js.map +0 -1
  204. package/lib/components/footerbar/footer-content-button.js +0 -224
  205. package/lib/components/footerbar/footer-content-button.js.map +0 -1
  206. package/lib/components/footerbar/footer-toggle-button.js +0 -133
  207. package/lib/components/footerbar/footer-toggle-button.js.map +0 -1
  208. package/lib/components/footerbar/footerbar.js +0 -808
  209. package/lib/components/footerbar/footerbar.js.map +0 -1
  210. package/lib/components/footerbar/styles.js +0 -41
  211. package/lib/components/footerbar/styles.js.map +0 -1
  212. package/lib/components/header/button/MenuButton.js +0 -77
  213. package/lib/components/header/button/MenuButton.js.map +0 -1
  214. package/lib/components/header/button/SaveButton.js +0 -57
  215. package/lib/components/header/button/SaveButton.js.map +0 -1
  216. package/lib/components/header/button/styles.js +0 -68
  217. package/lib/components/header/button/styles.js.map +0 -1
  218. package/lib/components/header/export.js +0 -12
  219. package/lib/components/header/export.js.map +0 -1
  220. package/lib/components/header/header.js +0 -556
  221. package/lib/components/header/header.js.map +0 -1
  222. package/lib/components/header/styles.js +0 -47
  223. package/lib/components/header/styles.js.map +0 -1
  224. package/lib/components/login/Login.js +0 -94
  225. package/lib/components/login/Login.js.map +0 -1
  226. package/lib/components/login/LoginForm/index.js +0 -140
  227. package/lib/components/login/LoginForm/index.js.map +0 -1
  228. package/lib/components/login/Register.js +0 -104
  229. package/lib/components/login/Register.js.map +0 -1
  230. package/lib/components/login/RegisterForm/index.js +0 -237
  231. package/lib/components/login/RegisterForm/index.js.map +0 -1
  232. package/lib/components/login/jwtService.js +0 -239
  233. package/lib/components/login/jwtService.js.map +0 -1
  234. package/lib/components/molecules/slider/index.js +0 -22
  235. package/lib/components/molecules/slider/index.js.map +0 -1
  236. package/lib/components/molecules/slider/styles.js +0 -2
  237. package/lib/components/molecules/slider/styles.js.map +0 -1
  238. package/lib/components/myprojects/export.js +0 -12
  239. package/lib/components/myprojects/export.js.map +0 -1
  240. package/lib/components/myprojects/index.js +0 -453
  241. package/lib/components/myprojects/index.js.map +0 -1
  242. package/lib/components/myprojects/styles.js +0 -31
  243. package/lib/components/myprojects/styles.js.map +0 -1
  244. package/lib/components/sidebar/custom-accordion.js +0 -45
  245. package/lib/components/sidebar/custom-accordion.js.map +0 -1
  246. package/lib/components/sidebar/export.js +0 -50
  247. package/lib/components/sidebar/export.js.map +0 -1
  248. package/lib/components/sidebar/panel-element-editor/attributes-editor/attributes-editor.js +0 -74
  249. package/lib/components/sidebar/panel-element-editor/attributes-editor/attributes-editor.js.map +0 -1
  250. package/lib/components/sidebar/panel-element-editor/attributes-editor/confirm-popup.js +0 -124
  251. package/lib/components/sidebar/panel-element-editor/attributes-editor/confirm-popup.js.map +0 -1
  252. package/lib/components/sidebar/panel-element-editor/attributes-editor/hole-attributes-editor.js +0 -135
  253. package/lib/components/sidebar/panel-element-editor/attributes-editor/hole-attributes-editor.js.map +0 -1
  254. package/lib/components/sidebar/panel-element-editor/attributes-editor/item-attributes-editor.js +0 -260
  255. package/lib/components/sidebar/panel-element-editor/attributes-editor/item-attributes-editor.js.map +0 -1
  256. package/lib/components/sidebar/panel-element-editor/attributes-editor/line-attributes-editor.js +0 -84
  257. package/lib/components/sidebar/panel-element-editor/attributes-editor/line-attributes-editor.js.map +0 -1
  258. package/lib/components/sidebar/panel-element-editor/element-editor.js +0 -884
  259. package/lib/components/sidebar/panel-element-editor/element-editor.js.map +0 -1
  260. package/lib/components/sidebar/panel-element-editor/multi-elements-editor.js +0 -2
  261. package/lib/components/sidebar/panel-element-editor/multi-elements-editor.js.map +0 -1
  262. package/lib/components/sidebar/panel-element-editor/panel-element-editor.js +0 -56
  263. package/lib/components/sidebar/panel-element-editor/panel-element-editor.js.map +0 -1
  264. package/lib/components/sidebar/panel-element-editor/panel-multi-elements-editor.js +0 -125
  265. package/lib/components/sidebar/panel-element-editor/panel-multi-elements-editor.js.map +0 -1
  266. package/lib/components/sidebar/panel-group-editor.js +0 -218
  267. package/lib/components/sidebar/panel-group-editor.js.map +0 -1
  268. package/lib/components/sidebar/panel-groups.js +0 -274
  269. package/lib/components/sidebar/panel-groups.js.map +0 -1
  270. package/lib/components/sidebar/panel-guides.js +0 -192
  271. package/lib/components/sidebar/panel-guides.js.map +0 -1
  272. package/lib/components/sidebar/panel-layer-elements.js +0 -258
  273. package/lib/components/sidebar/panel-layer-elements.js.map +0 -1
  274. package/lib/components/sidebar/panel-layers.js +0 -347
  275. package/lib/components/sidebar/panel-layers.js.map +0 -1
  276. package/lib/components/sidebar/panel.js +0 -110
  277. package/lib/components/sidebar/panel.js.map +0 -1
  278. package/lib/components/sidebar/sidebar.js +0 -117
  279. package/lib/components/sidebar/sidebar.js.map +0 -1
  280. package/lib/components/sidebar/toolbar-panel.js +0 -171
  281. package/lib/components/sidebar/toolbar-panel.js.map +0 -1
  282. package/lib/components/sign/export.js +0 -18
  283. package/lib/components/sign/export.js.map +0 -1
  284. package/lib/components/sign/main/index.js +0 -567
  285. package/lib/components/sign/main/index.js.map +0 -1
  286. package/lib/components/sign/main/styles.js +0 -27
  287. package/lib/components/sign/main/styles.js.map +0 -1
  288. package/lib/components/style/button.js +0 -121
  289. package/lib/components/style/button.js.map +0 -1
  290. package/lib/components/style/cancel-button.js +0 -30
  291. package/lib/components/style/cancel-button.js.map +0 -1
  292. package/lib/components/style/content-container.js +0 -41
  293. package/lib/components/style/content-container.js.map +0 -1
  294. package/lib/components/style/content-title.js +0 -38
  295. package/lib/components/style/content-title.js.map +0 -1
  296. package/lib/components/style/delete-button.js +0 -35
  297. package/lib/components/style/delete-button.js.map +0 -1
  298. package/lib/components/style/export.js +0 -122
  299. package/lib/components/style/export.js.map +0 -1
  300. package/lib/components/style/form-block.js +0 -32
  301. package/lib/components/style/form-block.js.map +0 -1
  302. package/lib/components/style/form-color-input.js +0 -35
  303. package/lib/components/style/form-color-input.js.map +0 -1
  304. package/lib/components/style/form-label.js +0 -34
  305. package/lib/components/style/form-label.js.map +0 -1
  306. package/lib/components/style/form-number-input.js +0 -197
  307. package/lib/components/style/form-number-input.js.map +0 -1
  308. package/lib/components/style/form-number-input_2.js +0 -214
  309. package/lib/components/style/form-number-input_2.js.map +0 -1
  310. package/lib/components/style/form-select.js +0 -30
  311. package/lib/components/style/form-select.js.map +0 -1
  312. package/lib/components/style/form-slider.js +0 -53
  313. package/lib/components/style/form-slider.js.map +0 -1
  314. package/lib/components/style/form-submit-button.js +0 -36
  315. package/lib/components/style/form-submit-button.js.map +0 -1
  316. package/lib/components/style/form-text-input.js +0 -84
  317. package/lib/components/style/form-text-input.js.map +0 -1
  318. package/lib/components/toolbar/button/ControlButton.js +0 -76
  319. package/lib/components/toolbar/button/ControlButton.js.map +0 -1
  320. package/lib/components/toolbar/button/DirectionButton.js +0 -57
  321. package/lib/components/toolbar/button/DirectionButton.js.map +0 -1
  322. package/lib/components/toolbar/button/RightButton.js +0 -140
  323. package/lib/components/toolbar/button/RightButton.js.map +0 -1
  324. package/lib/components/toolbar/button/ToggleButton.js +0 -66
  325. package/lib/components/toolbar/button/ToggleButton.js.map +0 -1
  326. package/lib/components/toolbar/button/index.js +0 -94
  327. package/lib/components/toolbar/button/index.js.map +0 -1
  328. package/lib/components/toolbar/button/styles.js +0 -21
  329. package/lib/components/toolbar/button/styles.js.map +0 -1
  330. package/lib/components/toolbar/components/DoorStyleMenu.js +0 -112
  331. package/lib/components/toolbar/components/DoorStyleMenu.js.map +0 -1
  332. package/lib/components/toolbar/components/Pricing.js +0 -110
  333. package/lib/components/toolbar/components/Pricing.js.map +0 -1
  334. package/lib/components/toolbar/components/ReviewForQuote.js +0 -485
  335. package/lib/components/toolbar/components/ReviewForQuote.js.map +0 -1
  336. package/lib/components/toolbar/export.js +0 -50
  337. package/lib/components/toolbar/export.js.map +0 -1
  338. package/lib/components/toolbar/main/Alert.js +0 -132
  339. package/lib/components/toolbar/main/Alert.js.map +0 -1
  340. package/lib/components/toolbar/main/TakePictureModal.js +0 -109
  341. package/lib/components/toolbar/main/TakePictureModal.js.map +0 -1
  342. package/lib/components/toolbar/main/confirm-popup.js +0 -95
  343. package/lib/components/toolbar/main/confirm-popup.js.map +0 -1
  344. package/lib/components/toolbar/main/index.js +0 -4619
  345. package/lib/components/toolbar/main/index.js.map +0 -1
  346. package/lib/components/toolbar/main/myComponents.js +0 -125
  347. package/lib/components/toolbar/main/myComponents.js.map +0 -1
  348. package/lib/components/toolbar/main/styles.js +0 -73
  349. package/lib/components/toolbar/main/styles.js.map +0 -1
  350. package/lib/components/toolbar/plugin-item.js +0 -156
  351. package/lib/components/toolbar/plugin-item.js.map +0 -1
  352. package/lib/components/toolbar/popup/appliance/appliance-category/index.js +0 -86
  353. package/lib/components/toolbar/popup/appliance/appliance-category/index.js.map +0 -1
  354. package/lib/components/toolbar/popup/appliance/choose-appliance/index.js +0 -85
  355. package/lib/components/toolbar/popup/appliance/choose-appliance/index.js.map +0 -1
  356. package/lib/components/toolbar/popup/appliance/index.js +0 -89
  357. package/lib/components/toolbar/popup/appliance/index.js.map +0 -1
  358. package/lib/components/toolbar/popup/autosaveprompt/index.js +0 -99
  359. package/lib/components/toolbar/popup/autosaveprompt/index.js.map +0 -1
  360. package/lib/components/toolbar/popup/autosaveprompt/styles.js +0 -16
  361. package/lib/components/toolbar/popup/autosaveprompt/styles.js.map +0 -1
  362. package/lib/components/toolbar/popup/cabinet/cabinet-category/index.js +0 -86
  363. package/lib/components/toolbar/popup/cabinet/cabinet-category/index.js.map +0 -1
  364. package/lib/components/toolbar/popup/cabinet/choose-product/index.js +0 -107
  365. package/lib/components/toolbar/popup/cabinet/choose-product/index.js.map +0 -1
  366. package/lib/components/toolbar/popup/cabinet/index.js +0 -91
  367. package/lib/components/toolbar/popup/cabinet/index.js.map +0 -1
  368. package/lib/components/toolbar/popup/doorStyle/choose-style/index.js +0 -59
  369. package/lib/components/toolbar/popup/doorStyle/choose-style/index.js.map +0 -1
  370. package/lib/components/toolbar/popup/doorStyle/index.js +0 -68
  371. package/lib/components/toolbar/popup/doorStyle/index.js.map +0 -1
  372. package/lib/components/toolbar/popup/doorStyle/style-category/index.js +0 -152
  373. package/lib/components/toolbar/popup/doorStyle/style-category/index.js.map +0 -1
  374. package/lib/components/toolbar/popup/downloadsummary/downloadSummaryContext.js +0 -9
  375. package/lib/components/toolbar/popup/downloadsummary/downloadSummaryContext.js.map +0 -1
  376. package/lib/components/toolbar/popup/downloadsummary/downloadSummaryTemp.js +0 -128
  377. package/lib/components/toolbar/popup/downloadsummary/downloadSummaryTemp.js.map +0 -1
  378. package/lib/components/toolbar/popup/downloadsummary/index.js +0 -572
  379. package/lib/components/toolbar/popup/downloadsummary/index.js.map +0 -1
  380. package/lib/components/toolbar/popup/downloadsummary/show2D/show2DView.js +0 -60
  381. package/lib/components/toolbar/popup/downloadsummary/show2D/show2DView.js.map +0 -1
  382. package/lib/components/toolbar/popup/downloadsummary/show2D/viewer2DDownLoad.js +0 -200
  383. package/lib/components/toolbar/popup/downloadsummary/show2D/viewer2DDownLoad.js.map +0 -1
  384. package/lib/components/toolbar/popup/downloadsummary/show3D/show3DView.js +0 -254
  385. package/lib/components/toolbar/popup/downloadsummary/show3D/show3DView.js.map +0 -1
  386. package/lib/components/toolbar/popup/downloadsummary/show3D/viewer3DDownLoad.js +0 -1762
  387. package/lib/components/toolbar/popup/downloadsummary/show3D/viewer3DDownLoad.js.map +0 -1
  388. package/lib/components/toolbar/popup/downloadsummary/showCabinetInfo.js +0 -96
  389. package/lib/components/toolbar/popup/downloadsummary/showCabinetInfo.js.map +0 -1
  390. package/lib/components/toolbar/popup/downloadsummary/showElevation/showElevationView.js +0 -125
  391. package/lib/components/toolbar/popup/downloadsummary/showElevation/showElevationView.js.map +0 -1
  392. package/lib/components/toolbar/popup/downloadsummary/showElevation/viewer3DElevationDownload.js +0 -1713
  393. package/lib/components/toolbar/popup/downloadsummary/showElevation/viewer3DElevationDownload.js.map +0 -1
  394. package/lib/components/toolbar/popup/downloadsummary/showElevation/viewerElevationDownload.js +0 -184
  395. package/lib/components/toolbar/popup/downloadsummary/showElevation/viewerElevationDownload.js.map +0 -1
  396. package/lib/components/toolbar/popup/downloadsummary/showWarranty.js +0 -115
  397. package/lib/components/toolbar/popup/downloadsummary/showWarranty.js.map +0 -1
  398. package/lib/components/toolbar/popup/downloadsummary/styles.js +0 -47
  399. package/lib/components/toolbar/popup/downloadsummary/styles.js.map +0 -1
  400. package/lib/components/toolbar/popup/finishingtouch/category/index.js +0 -44
  401. package/lib/components/toolbar/popup/finishingtouch/category/index.js.map +0 -1
  402. package/lib/components/toolbar/popup/finishingtouch/index.js +0 -54
  403. package/lib/components/toolbar/popup/finishingtouch/index.js.map +0 -1
  404. package/lib/components/toolbar/popup/finishingtouch/material-edit.js +0 -163
  405. package/lib/components/toolbar/popup/finishingtouch/material-edit.js.map +0 -1
  406. package/lib/components/toolbar/popup/finishingtouch/product/index.js +0 -65
  407. package/lib/components/toolbar/popup/finishingtouch/product/index.js.map +0 -1
  408. package/lib/components/toolbar/popup/floorplan/choose-floor/confirm-popup.js +0 -124
  409. package/lib/components/toolbar/popup/floorplan/choose-floor/confirm-popup.js.map +0 -1
  410. package/lib/components/toolbar/popup/floorplan/choose-floor/index.js +0 -255
  411. package/lib/components/toolbar/popup/floorplan/choose-floor/index.js.map +0 -1
  412. package/lib/components/toolbar/popup/floorplan/choose-floor/styles.js +0 -20
  413. package/lib/components/toolbar/popup/floorplan/choose-floor/styles.js.map +0 -1
  414. package/lib/components/toolbar/popup/floorplan/floor-category/index.js +0 -99
  415. package/lib/components/toolbar/popup/floorplan/floor-category/index.js.map +0 -1
  416. package/lib/components/toolbar/popup/floorplan/index.js +0 -56
  417. package/lib/components/toolbar/popup/floorplan/index.js.map +0 -1
  418. package/lib/components/toolbar/popup/index.js +0 -195
  419. package/lib/components/toolbar/popup/index.js.map +0 -1
  420. package/lib/components/toolbar/popup/newproject/index.js +0 -75
  421. package/lib/components/toolbar/popup/newproject/index.js.map +0 -1
  422. package/lib/components/toolbar/popup/newproject/styles.js +0 -16
  423. package/lib/components/toolbar/popup/newproject/styles.js.map +0 -1
  424. package/lib/components/toolbar/popup/product/appliance.js +0 -73
  425. package/lib/components/toolbar/popup/product/appliance.js.map +0 -1
  426. package/lib/components/toolbar/popup/product/cabinetproduct.js +0 -33
  427. package/lib/components/toolbar/popup/product/cabinetproduct.js.map +0 -1
  428. package/lib/components/toolbar/popup/product/doorstyle.js +0 -59
  429. package/lib/components/toolbar/popup/product/doorstyle.js.map +0 -1
  430. package/lib/components/toolbar/popup/product/doorstyleproduct.js +0 -59
  431. package/lib/components/toolbar/popup/product/doorstyleproduct.js.map +0 -1
  432. package/lib/components/toolbar/popup/product/floor.js +0 -59
  433. package/lib/components/toolbar/popup/product/floor.js.map +0 -1
  434. package/lib/components/toolbar/popup/product/floorproduct.js +0 -68
  435. package/lib/components/toolbar/popup/product/floorproduct.js.map +0 -1
  436. package/lib/components/toolbar/popup/product/index.js +0 -59
  437. package/lib/components/toolbar/popup/product/index.js.map +0 -1
  438. package/lib/components/toolbar/popup/product/primary.js +0 -71
  439. package/lib/components/toolbar/popup/product/primary.js.map +0 -1
  440. package/lib/components/toolbar/popup/product/productline.js +0 -128
  441. package/lib/components/toolbar/popup/product/productline.js.map +0 -1
  442. package/lib/components/toolbar/popup/product/reviewItem.js +0 -346
  443. package/lib/components/toolbar/popup/product/reviewItem.js.map +0 -1
  444. package/lib/components/toolbar/popup/product/reviewMolding.js +0 -291
  445. package/lib/components/toolbar/popup/product/reviewMolding.js.map +0 -1
  446. package/lib/components/toolbar/popup/product/styles.js +0 -79
  447. package/lib/components/toolbar/popup/product/styles.js.map +0 -1
  448. package/lib/components/toolbar/popup/savedesign/FullPictureForm.js +0 -169
  449. package/lib/components/toolbar/popup/savedesign/FullPictureForm.js.map +0 -1
  450. package/lib/components/toolbar/popup/savedesign/index.js +0 -516
  451. package/lib/components/toolbar/popup/savedesign/index.js.map +0 -1
  452. package/lib/components/toolbar/popup/savedesign/styles.js +0 -26
  453. package/lib/components/toolbar/popup/savedesign/styles.js.map +0 -1
  454. package/lib/components/toolbar/popup/setDoorStyleOption/index.js +0 -64
  455. package/lib/components/toolbar/popup/setDoorStyleOption/index.js.map +0 -1
  456. package/lib/components/toolbar/popup/styles.js +0 -104
  457. package/lib/components/toolbar/popup/styles.js.map +0 -1
  458. package/lib/components/toolbar/popup/submitforquote/AddToCartOptions.js +0 -166
  459. package/lib/components/toolbar/popup/submitforquote/AddToCartOptions.js.map +0 -1
  460. package/lib/components/toolbar/popup/submitforquote/CustomerRequestsForm.js +0 -93
  461. package/lib/components/toolbar/popup/submitforquote/CustomerRequestsForm.js.map +0 -1
  462. package/lib/components/toolbar/popup/submitforquote/SkipDesignerReview.js +0 -45
  463. package/lib/components/toolbar/popup/submitforquote/SkipDesignerReview.js.map +0 -1
  464. package/lib/components/toolbar/popup/submitforquote/StepDots.js +0 -40
  465. package/lib/components/toolbar/popup/submitforquote/StepDots.js.map +0 -1
  466. package/lib/components/toolbar/popup/submitforquote/cart-choice.js +0 -141
  467. package/lib/components/toolbar/popup/submitforquote/cart-choice.js.map +0 -1
  468. package/lib/components/toolbar/popup/submitforquote/doorstyle-menus.js +0 -50
  469. package/lib/components/toolbar/popup/submitforquote/doorstyle-menus.js.map +0 -1
  470. package/lib/components/toolbar/popup/submitforquote/index.js +0 -698
  471. package/lib/components/toolbar/popup/submitforquote/index.js.map +0 -1
  472. package/lib/components/toolbar/popup/submitforquote/styles.js +0 -38
  473. package/lib/components/toolbar/popup/submitforquote/styles.js.map +0 -1
  474. package/lib/components/toolbar/popup/submitprompt/index.js +0 -79
  475. package/lib/components/toolbar/popup/submitprompt/index.js.map +0 -1
  476. package/lib/components/toolbar/popup/submitprompt/styles.js +0 -16
  477. package/lib/components/toolbar/popup/submitprompt/styles.js.map +0 -1
  478. package/lib/components/toolbar/toolbar-button.js +0 -111
  479. package/lib/components/toolbar/toolbar-button.js.map +0 -1
  480. package/lib/components/toolbar/toolbar-load-button.js +0 -36
  481. package/lib/components/toolbar/toolbar-load-button.js.map +0 -1
  482. package/lib/components/toolbar/toolbar-save-button.js +0 -34
  483. package/lib/components/toolbar/toolbar-save-button.js.map +0 -1
  484. package/lib/components/tutorial-view/Modal.js +0 -503
  485. package/lib/components/tutorial-view/Modal.js.map +0 -1
  486. package/lib/components/tutorial-view/styles.js +0 -13
  487. package/lib/components/tutorial-view/styles.js.map +0 -1
  488. package/lib/components/viewer2d/area.js +0 -90
  489. package/lib/components/viewer2d/area.js.map +0 -1
  490. package/lib/components/viewer2d/export.js +0 -122
  491. package/lib/components/viewer2d/export.js.map +0 -1
  492. package/lib/components/viewer2d/grids/grid-horizontal-streak.js +0 -45
  493. package/lib/components/viewer2d/grids/grid-horizontal-streak.js.map +0 -1
  494. package/lib/components/viewer2d/grids/grid-streak.js +0 -45
  495. package/lib/components/viewer2d/grids/grid-streak.js.map +0 -1
  496. package/lib/components/viewer2d/grids/grid-vertical-streak.js +0 -45
  497. package/lib/components/viewer2d/grids/grid-vertical-streak.js.map +0 -1
  498. package/lib/components/viewer2d/grids/grids.js +0 -45
  499. package/lib/components/viewer2d/grids/grids.js.map +0 -1
  500. package/lib/components/viewer2d/group.js +0 -63
  501. package/lib/components/viewer2d/group.js.map +0 -1
  502. package/lib/components/viewer2d/item.js +0 -522
  503. package/lib/components/viewer2d/item.js.map +0 -1
  504. package/lib/components/viewer2d/layer.js +0 -172
  505. package/lib/components/viewer2d/layer.js.map +0 -1
  506. package/lib/components/viewer2d/line.js +0 -899
  507. package/lib/components/viewer2d/line.js.map +0 -1
  508. package/lib/components/viewer2d/ruler.js +0 -108
  509. package/lib/components/viewer2d/ruler.js.map +0 -1
  510. package/lib/components/viewer2d/rulerDist.js +0 -154
  511. package/lib/components/viewer2d/rulerDist.js.map +0 -1
  512. package/lib/components/viewer2d/rulerX.js +0 -159
  513. package/lib/components/viewer2d/rulerX.js.map +0 -1
  514. package/lib/components/viewer2d/rulerY.js +0 -161
  515. package/lib/components/viewer2d/rulerY.js.map +0 -1
  516. package/lib/components/viewer2d/scene.js +0 -148
  517. package/lib/components/viewer2d/scene.js.map +0 -1
  518. package/lib/components/viewer2d/snap.js +0 -84
  519. package/lib/components/viewer2d/snap.js.map +0 -1
  520. package/lib/components/viewer2d/state.js +0 -88
  521. package/lib/components/viewer2d/state.js.map +0 -1
  522. package/lib/components/viewer2d/utils.js +0 -174
  523. package/lib/components/viewer2d/utils.js.map +0 -1
  524. package/lib/components/viewer2d/vertex.js +0 -76
  525. package/lib/components/viewer2d/vertex.js.map +0 -1
  526. package/lib/components/viewer2d/viewer2d.js +0 -1409
  527. package/lib/components/viewer2d/viewer2d.js.map +0 -1
  528. package/lib/components/viewer3d/camera-controls-module/camera-controls.module.js +0 -2598
  529. package/lib/components/viewer3d/camera-controls-module/camera-controls.module.js.map +0 -1
  530. package/lib/components/viewer3d/dcm.js +0 -408
  531. package/lib/components/viewer3d/dcm.js.map +0 -1
  532. package/lib/components/viewer3d/fbm.js +0 -421
  533. package/lib/components/viewer3d/fbm.js.map +0 -1
  534. package/lib/components/viewer3d/front3D.js +0 -76
  535. package/lib/components/viewer3d/front3D.js.map +0 -1
  536. package/lib/components/viewer3d/grid-creator.js +0 -35
  537. package/lib/components/viewer3d/grid-creator.js.map +0 -1
  538. package/lib/components/viewer3d/grids/grid-horizontal-streak.js +0 -45
  539. package/lib/components/viewer3d/grids/grid-horizontal-streak.js.map +0 -1
  540. package/lib/components/viewer3d/grids/grid-streak.js +0 -36
  541. package/lib/components/viewer3d/grids/grid-streak.js.map +0 -1
  542. package/lib/components/viewer3d/grids/grid-vertical-streak.js +0 -45
  543. package/lib/components/viewer3d/grids/grid-vertical-streak.js.map +0 -1
  544. package/lib/components/viewer3d/libs/first-person-controls.js +0 -75
  545. package/lib/components/viewer3d/libs/first-person-controls.js.map +0 -1
  546. package/lib/components/viewer3d/libs/helvetiker_regular.typeface.js +0 -1288
  547. package/lib/components/viewer3d/libs/helvetiker_regular.typeface.js.map +0 -1
  548. package/lib/components/viewer3d/libs/mtl-loader.js +0 -360
  549. package/lib/components/viewer3d/libs/mtl-loader.js.map +0 -1
  550. package/lib/components/viewer3d/libs/obj-loader.js +0 -465
  551. package/lib/components/viewer3d/libs/obj-loader.js.map +0 -1
  552. package/lib/components/viewer3d/libs/orbit-controls.js +0 -701
  553. package/lib/components/viewer3d/libs/orbit-controls.js.map +0 -1
  554. package/lib/components/viewer3d/libs/pointer-lock-controls.js +0 -48
  555. package/lib/components/viewer3d/libs/pointer-lock-controls.js.map +0 -1
  556. package/lib/components/viewer3d/lrm.js +0 -312
  557. package/lib/components/viewer3d/lrm.js.map +0 -1
  558. package/lib/components/viewer3d/model.js +0 -715
  559. package/lib/components/viewer3d/model.js.map +0 -1
  560. package/lib/components/viewer3d/pointer-lock-navigation.js +0 -123
  561. package/lib/components/viewer3d/pointer-lock-navigation.js.map +0 -1
  562. package/lib/components/viewer3d/ruler-utils/itemRect.js +0 -69
  563. package/lib/components/viewer3d/ruler-utils/itemRect.js.map +0 -1
  564. package/lib/components/viewer3d/ruler-utils/layer3D.js +0 -503
  565. package/lib/components/viewer3d/ruler-utils/layer3D.js.map +0 -1
  566. package/lib/components/viewer3d/ruler-utils/ruler3D.js +0 -235
  567. package/lib/components/viewer3d/ruler-utils/ruler3D.js.map +0 -1
  568. package/lib/components/viewer3d/ruler-utils/scene3D.js +0 -70
  569. package/lib/components/viewer3d/ruler-utils/scene3D.js.map +0 -1
  570. package/lib/components/viewer3d/ruler-utils/state3D.js +0 -26
  571. package/lib/components/viewer3d/ruler-utils/state3D.js.map +0 -1
  572. package/lib/components/viewer3d/scene-creator.js +0 -3641
  573. package/lib/components/viewer3d/scene-creator.js.map +0 -1
  574. package/lib/components/viewer3d/three-memory-cleaner.js +0 -61
  575. package/lib/components/viewer3d/three-memory-cleaner.js.map +0 -1
  576. package/lib/components/viewer3d/viewer3d-first-person.js +0 -321
  577. package/lib/components/viewer3d/viewer3d-first-person.js.map +0 -1
  578. package/lib/components/viewer3d/viewer3d.js +0 -2508
  579. package/lib/components/viewer3d/viewer3d.js.map +0 -1
  580. package/lib/components/wizardstep/button/styles.js +0 -67
  581. package/lib/components/wizardstep/button/styles.js.map +0 -1
  582. package/lib/components/wizardstep/export.js +0 -12
  583. package/lib/components/wizardstep/export.js.map +0 -1
  584. package/lib/components/wizardstep/index.js +0 -978
  585. package/lib/components/wizardstep/index.js.map +0 -1
  586. package/lib/components/wizardstep/styles.js +0 -68
  587. package/lib/components/wizardstep/styles.js.map +0 -1
  588. package/lib/components/wizardstep/wizardstep-content-button.js +0 -224
  589. package/lib/components/wizardstep/wizardstep-content-button.js.map +0 -1
  590. package/lib/components/wizardstep/wizardstep-toggle-button.js +0 -133
  591. package/lib/components/wizardstep/wizardstep-toggle-button.js.map +0 -1
  592. package/lib/constants.js +0 -646
  593. package/lib/constants.js.map +0 -1
  594. package/lib/hooks/useCheckCart.js +0 -60
  595. package/lib/hooks/useCheckCart.js.map +0 -1
  596. package/lib/hooks/useGetPricesBySku.js +0 -81
  597. package/lib/hooks/useGetPricesBySku.js.map +0 -1
  598. package/lib/hooks/useValidateToken.js +0 -207
  599. package/lib/hooks/useValidateToken.js.map +0 -1
  600. package/lib/index.js +0 -102
  601. package/lib/index.js.map +0 -1
  602. package/lib/models.js +0 -518
  603. package/lib/models.js.map +0 -1
  604. package/lib/plugins/SVGLoader.js +0 -1418
  605. package/lib/plugins/SVGLoader.js.map +0 -1
  606. package/lib/plugins/autosave.js +0 -40
  607. package/lib/plugins/autosave.js.map +0 -1
  608. package/lib/plugins/console-debugger.js +0 -45
  609. package/lib/plugins/console-debugger.js.map +0 -1
  610. package/lib/plugins/export.js +0 -34
  611. package/lib/plugins/export.js.map +0 -1
  612. package/lib/plugins/keyboard.js +0 -108
  613. package/lib/plugins/keyboard.js.map +0 -1
  614. package/lib/reducers/areas-reducer.js +0 -19
  615. package/lib/reducers/areas-reducer.js.map +0 -1
  616. package/lib/reducers/export.js +0 -98
  617. package/lib/reducers/export.js.map +0 -1
  618. package/lib/reducers/groups-reducer.js +0 -45
  619. package/lib/reducers/groups-reducer.js.map +0 -1
  620. package/lib/reducers/holes-reducer.js +0 -69
  621. package/lib/reducers/holes-reducer.js.map +0 -1
  622. package/lib/reducers/items-reducer.js +0 -147
  623. package/lib/reducers/items-reducer.js.map +0 -1
  624. package/lib/reducers/lines-reducer.js +0 -52
  625. package/lib/reducers/lines-reducer.js.map +0 -1
  626. package/lib/reducers/project-reducer.js +0 -136
  627. package/lib/reducers/project-reducer.js.map +0 -1
  628. package/lib/reducers/reducer.js +0 -27
  629. package/lib/reducers/reducer.js.map +0 -1
  630. package/lib/reducers/scene-reducer.js +0 -35
  631. package/lib/reducers/scene-reducer.js.map +0 -1
  632. package/lib/reducers/user-reducer.js +0 -48
  633. package/lib/reducers/user-reducer.js.map +0 -1
  634. package/lib/reducers/vertices-reducer.js +0 -26
  635. package/lib/reducers/vertices-reducer.js.map +0 -1
  636. package/lib/reducers/viewer2d-reducer.js +0 -83
  637. package/lib/reducers/viewer2d-reducer.js.map +0 -1
  638. package/lib/reducers/viewer3d-reducer.js +0 -64
  639. package/lib/reducers/viewer3d-reducer.js.map +0 -1
  640. package/lib/shared-style.js +0 -73
  641. package/lib/shared-style.js.map +0 -1
  642. package/lib/styles/export.js +0 -14
  643. package/lib/styles/export.js.map +0 -1
  644. package/lib/translator/en.js +0 -111
  645. package/lib/translator/en.js.map +0 -1
  646. package/lib/translator/it.js +0 -86
  647. package/lib/translator/it.js.map +0 -1
  648. package/lib/translator/ru.js +0 -86
  649. package/lib/translator/ru.js.map +0 -1
  650. package/lib/translator/translator.js +0 -91
  651. package/lib/translator/translator.js.map +0 -1
  652. package/lib/utils/browser.js +0 -41
  653. package/lib/utils/browser.js.map +0 -1
  654. package/lib/utils/email-validator.js +0 -11
  655. package/lib/utils/email-validator.js.map +0 -1
  656. package/lib/utils/export.js +0 -57
  657. package/lib/utils/export.js.map +0 -1
  658. package/lib/utils/geometry.js +0 -2329
  659. package/lib/utils/geometry.js.map +0 -1
  660. package/lib/utils/get-edges-of-subgraphs.js +0 -29
  661. package/lib/utils/get-edges-of-subgraphs.js.map +0 -1
  662. package/lib/utils/graph-cycles.js +0 -241
  663. package/lib/utils/graph-cycles.js.map +0 -1
  664. package/lib/utils/graph-inner-cycles.js +0 -55
  665. package/lib/utils/graph-inner-cycles.js.map +0 -1
  666. package/lib/utils/graph.js +0 -152
  667. package/lib/utils/graph.js.map +0 -1
  668. package/lib/utils/helper.js +0 -360
  669. package/lib/utils/helper.js.map +0 -1
  670. package/lib/utils/history.js +0 -37
  671. package/lib/utils/history.js.map +0 -1
  672. package/lib/utils/id-broker.js +0 -26
  673. package/lib/utils/id-broker.js.map +0 -1
  674. package/lib/utils/logger.js +0 -15
  675. package/lib/utils/logger.js.map +0 -1
  676. package/lib/utils/math.js +0 -58
  677. package/lib/utils/math.js.map +0 -1
  678. package/lib/utils/molding.js +0 -864
  679. package/lib/utils/molding.js.map +0 -1
  680. package/lib/utils/name-generator.js +0 -24
  681. package/lib/utils/name-generator.js.map +0 -1
  682. package/lib/utils/objects-utils.js +0 -61
  683. package/lib/utils/objects-utils.js.map +0 -1
  684. package/lib/utils/phone-validator.js +0 -11
  685. package/lib/utils/phone-validator.js.map +0 -1
  686. package/lib/utils/process-black-list.js +0 -25
  687. package/lib/utils/process-black-list.js.map +0 -1
  688. package/lib/utils/react-if.js +0 -25
  689. package/lib/utils/react-if.js.map +0 -1
  690. package/lib/utils/snap-scene.js +0 -106
  691. package/lib/utils/snap-scene.js.map +0 -1
  692. package/lib/utils/snap.js +0 -250
  693. package/lib/utils/snap.js.map +0 -1
  694. package/lib/utils/threeCSG.es6.js +0 -504
  695. package/lib/utils/threeCSG.es6.js.map +0 -1
  696. package/lib/version.js +0 -8
  697. package/lib/version.js.map +0 -1
@@ -1,1418 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.SVGLoader = void 0;
7
- var _three = require("three");
8
- var SVGLoader = exports.SVGLoader = function SVGLoader(manager) {
9
- _three.Loader.call(this, manager);
10
-
11
- // Default dots per inch
12
- this.defaultDPI = 90;
13
-
14
- // Accepted units: 'mm', 'cm', 'in', 'pt', 'pc', 'px'
15
- this.defaultUnit = 'px';
16
- };
17
- SVGLoader.prototype = Object.assign(Object.create(_three.Loader.prototype), {
18
- constructor: SVGLoader,
19
- load: function load(url, onLoad, onProgress, onError) {
20
- var scope = this;
21
- var loader = new _three.FileLoader(scope.manager);
22
- loader.setPath(scope.path);
23
- loader.setRequestHeader(scope.requestHeader);
24
- loader.setWithCredentials(scope.withCredentials);
25
- loader.load(url, function (text) {
26
- try {
27
- onLoad(scope.parse(text));
28
- } catch (e) {
29
- if (onError) {
30
- onError(e);
31
- } else {
32
- console.error(e);
33
- }
34
- scope.manager.itemError(url);
35
- }
36
- }, onProgress, onError);
37
- },
38
- parse: function parse(text) {
39
- var scope = this;
40
- function parseNode(node, style) {
41
- if (node.nodeType !== 1) return;
42
- var transform = getNodeTransform(node);
43
- var traverseChildNodes = true;
44
- var path = null;
45
- switch (node.nodeName) {
46
- case 'svg':
47
- break;
48
- case 'style':
49
- parseCSSStylesheet(node);
50
- break;
51
- case 'g':
52
- style = parseStyle(node, style);
53
- break;
54
- case 'path':
55
- style = parseStyle(node, style);
56
- if (node.hasAttribute('d')) path = parsePathNode(node);
57
- break;
58
- case 'rect':
59
- style = parseStyle(node, style);
60
- path = parseRectNode(node);
61
- break;
62
- case 'polygon':
63
- style = parseStyle(node, style);
64
- path = parsePolygonNode(node);
65
- break;
66
- case 'polyline':
67
- style = parseStyle(node, style);
68
- path = parsePolylineNode(node);
69
- break;
70
- case 'circle':
71
- style = parseStyle(node, style);
72
- path = parseCircleNode(node);
73
- break;
74
- case 'ellipse':
75
- style = parseStyle(node, style);
76
- path = parseEllipseNode(node);
77
- break;
78
- case 'line':
79
- style = parseStyle(node, style);
80
- path = parseLineNode(node);
81
- break;
82
- case 'defs':
83
- traverseChildNodes = false;
84
- break;
85
- case 'use':
86
- style = parseStyle(node, style);
87
- var usedNodeId = node.href.baseVal.substring(1);
88
- var usedNode = node.viewportElement.getElementById(usedNodeId);
89
- if (usedNode) {
90
- parseNode(usedNode, style);
91
- } else {
92
- console.warn("SVGLoader: 'use node' references non-existent node id: " + usedNodeId);
93
- }
94
- break;
95
- default:
96
- // console.log( node );
97
- }
98
- if (path) {
99
- if (style.fill !== undefined && style.fill !== 'none') {
100
- path.color.setStyle(style.fill);
101
- }
102
- transformPath(path, currentTransform);
103
- paths.push(path);
104
- path.userData = {
105
- node: node,
106
- style: style
107
- };
108
- }
109
- if (traverseChildNodes) {
110
- var nodes = node.childNodes;
111
- for (var i = 0; i < nodes.length; i++) {
112
- parseNode(nodes[i], style);
113
- }
114
- }
115
- if (transform) {
116
- transformStack.pop();
117
- if (transformStack.length > 0) {
118
- currentTransform.copy(transformStack[transformStack.length - 1]);
119
- } else {
120
- currentTransform.identity();
121
- }
122
- }
123
- }
124
- function parsePathNode(node) {
125
- var path = new _three.ShapePath();
126
- var point = new _three.Vector2();
127
- var control = new _three.Vector2();
128
- var firstPoint = new _three.Vector2();
129
- var isFirstPoint = true;
130
- var doSetFirstPoint = false;
131
- var d = node.getAttribute('d');
132
-
133
- // console.log( d );
134
-
135
- var commands = d.match(/[a-df-z][^a-df-z]*/gi);
136
- for (var i = 0, l = commands.length; i < l; i++) {
137
- var command = commands[i];
138
- var type = command.charAt(0);
139
- var data = command.substr(1).trim();
140
- if (isFirstPoint === true) {
141
- doSetFirstPoint = true;
142
- isFirstPoint = false;
143
- }
144
- switch (type) {
145
- case 'M':
146
- var numbers = parseFloats(data);
147
- for (var j = 0, jl = numbers.length; j < jl; j += 2) {
148
- point.x = numbers[j + 0];
149
- point.y = numbers[j + 1];
150
- control.x = point.x;
151
- control.y = point.y;
152
- if (j === 0) {
153
- path.moveTo(point.x, point.y);
154
- } else {
155
- path.lineTo(point.x, point.y);
156
- }
157
- if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);
158
- }
159
- break;
160
- case 'H':
161
- var numbers = parseFloats(data);
162
- for (var j = 0, jl = numbers.length; j < jl; j++) {
163
- point.x = numbers[j];
164
- control.x = point.x;
165
- control.y = point.y;
166
- path.lineTo(point.x, point.y);
167
- if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);
168
- }
169
- break;
170
- case 'V':
171
- var numbers = parseFloats(data);
172
- for (var j = 0, jl = numbers.length; j < jl; j++) {
173
- point.y = numbers[j];
174
- control.x = point.x;
175
- control.y = point.y;
176
- path.lineTo(point.x, point.y);
177
- if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);
178
- }
179
- break;
180
- case 'L':
181
- var numbers = parseFloats(data);
182
- for (var j = 0, jl = numbers.length; j < jl; j += 2) {
183
- point.x = numbers[j + 0];
184
- point.y = numbers[j + 1];
185
- control.x = point.x;
186
- control.y = point.y;
187
- path.lineTo(point.x, point.y);
188
- if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);
189
- }
190
- break;
191
- case 'C':
192
- var numbers = parseFloats(data);
193
- for (var j = 0, jl = numbers.length; j < jl; j += 6) {
194
- path.bezierCurveTo(numbers[j + 0], numbers[j + 1], numbers[j + 2], numbers[j + 3], numbers[j + 4], numbers[j + 5]);
195
- control.x = numbers[j + 2];
196
- control.y = numbers[j + 3];
197
- point.x = numbers[j + 4];
198
- point.y = numbers[j + 5];
199
- if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);
200
- }
201
- break;
202
- case 'S':
203
- var numbers = parseFloats(data);
204
- for (var j = 0, jl = numbers.length; j < jl; j += 4) {
205
- path.bezierCurveTo(getReflection(point.x, control.x), getReflection(point.y, control.y), numbers[j + 0], numbers[j + 1], numbers[j + 2], numbers[j + 3]);
206
- control.x = numbers[j + 0];
207
- control.y = numbers[j + 1];
208
- point.x = numbers[j + 2];
209
- point.y = numbers[j + 3];
210
- if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);
211
- }
212
- break;
213
- case 'Q':
214
- var numbers = parseFloats(data);
215
- for (var j = 0, jl = numbers.length; j < jl; j += 4) {
216
- path.quadraticCurveTo(numbers[j + 0], numbers[j + 1], numbers[j + 2], numbers[j + 3]);
217
- control.x = numbers[j + 0];
218
- control.y = numbers[j + 1];
219
- point.x = numbers[j + 2];
220
- point.y = numbers[j + 3];
221
- if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);
222
- }
223
- break;
224
- case 'T':
225
- var numbers = parseFloats(data);
226
- for (var j = 0, jl = numbers.length; j < jl; j += 2) {
227
- var rx = getReflection(point.x, control.x);
228
- var ry = getReflection(point.y, control.y);
229
- path.quadraticCurveTo(rx, ry, numbers[j + 0], numbers[j + 1]);
230
- control.x = rx;
231
- control.y = ry;
232
- point.x = numbers[j + 0];
233
- point.y = numbers[j + 1];
234
- if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);
235
- }
236
- break;
237
- case 'A':
238
- var numbers = parseFloats(data);
239
- for (var j = 0, jl = numbers.length; j < jl; j += 7) {
240
- var start = point.clone();
241
- point.x = numbers[j + 5];
242
- point.y = numbers[j + 6];
243
- control.x = point.x;
244
- control.y = point.y;
245
- parseArcCommand(path, numbers[j], numbers[j + 1], numbers[j + 2], numbers[j + 3], numbers[j + 4], start, point);
246
- if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);
247
- }
248
- break;
249
- case 'm':
250
- var numbers = parseFloats(data);
251
- for (var j = 0, jl = numbers.length; j < jl; j += 2) {
252
- point.x += numbers[j + 0];
253
- point.y += numbers[j + 1];
254
- control.x = point.x;
255
- control.y = point.y;
256
- if (j === 0) {
257
- path.moveTo(point.x, point.y);
258
- } else {
259
- path.lineTo(point.x, point.y);
260
- }
261
- if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);
262
- }
263
- break;
264
- case 'h':
265
- var numbers = parseFloats(data);
266
- for (var j = 0, jl = numbers.length; j < jl; j++) {
267
- point.x += numbers[j];
268
- control.x = point.x;
269
- control.y = point.y;
270
- path.lineTo(point.x, point.y);
271
- if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);
272
- }
273
- break;
274
- case 'v':
275
- var numbers = parseFloats(data);
276
- for (var j = 0, jl = numbers.length; j < jl; j++) {
277
- point.y += numbers[j];
278
- control.x = point.x;
279
- control.y = point.y;
280
- path.lineTo(point.x, point.y);
281
- if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);
282
- }
283
- break;
284
- case 'l':
285
- var numbers = parseFloats(data);
286
- for (var j = 0, jl = numbers.length; j < jl; j += 2) {
287
- point.x += numbers[j + 0];
288
- point.y += numbers[j + 1];
289
- control.x = point.x;
290
- control.y = point.y;
291
- path.lineTo(point.x, point.y);
292
- if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);
293
- }
294
- break;
295
- case 'c':
296
- var numbers = parseFloats(data);
297
- for (var j = 0, jl = numbers.length; j < jl; j += 6) {
298
- path.bezierCurveTo(point.x + numbers[j + 0], point.y + numbers[j + 1], point.x + numbers[j + 2], point.y + numbers[j + 3], point.x + numbers[j + 4], point.y + numbers[j + 5]);
299
- control.x = point.x + numbers[j + 2];
300
- control.y = point.y + numbers[j + 3];
301
- point.x += numbers[j + 4];
302
- point.y += numbers[j + 5];
303
- if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);
304
- }
305
- break;
306
- case 's':
307
- var numbers = parseFloats(data);
308
- for (var j = 0, jl = numbers.length; j < jl; j += 4) {
309
- path.bezierCurveTo(getReflection(point.x, control.x), getReflection(point.y, control.y), point.x + numbers[j + 0], point.y + numbers[j + 1], point.x + numbers[j + 2], point.y + numbers[j + 3]);
310
- control.x = point.x + numbers[j + 0];
311
- control.y = point.y + numbers[j + 1];
312
- point.x += numbers[j + 2];
313
- point.y += numbers[j + 3];
314
- if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);
315
- }
316
- break;
317
- case 'q':
318
- var numbers = parseFloats(data);
319
- for (var j = 0, jl = numbers.length; j < jl; j += 4) {
320
- path.quadraticCurveTo(point.x + numbers[j + 0], point.y + numbers[j + 1], point.x + numbers[j + 2], point.y + numbers[j + 3]);
321
- control.x = point.x + numbers[j + 0];
322
- control.y = point.y + numbers[j + 1];
323
- point.x += numbers[j + 2];
324
- point.y += numbers[j + 3];
325
- if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);
326
- }
327
- break;
328
- case 't':
329
- var numbers = parseFloats(data);
330
- for (var j = 0, jl = numbers.length; j < jl; j += 2) {
331
- var rx = getReflection(point.x, control.x);
332
- var ry = getReflection(point.y, control.y);
333
- path.quadraticCurveTo(rx, ry, point.x + numbers[j + 0], point.y + numbers[j + 1]);
334
- control.x = rx;
335
- control.y = ry;
336
- point.x = point.x + numbers[j + 0];
337
- point.y = point.y + numbers[j + 1];
338
- if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);
339
- }
340
- break;
341
- case 'a':
342
- var numbers = parseFloats(data);
343
- for (var j = 0, jl = numbers.length; j < jl; j += 7) {
344
- var start = point.clone();
345
- point.x += numbers[j + 5];
346
- point.y += numbers[j + 6];
347
- control.x = point.x;
348
- control.y = point.y;
349
- parseArcCommand(path, numbers[j], numbers[j + 1], numbers[j + 2], numbers[j + 3], numbers[j + 4], start, point);
350
- if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);
351
- }
352
- break;
353
- case 'Z':
354
- case 'z':
355
- path.currentPath.autoClose = true;
356
- if (path.currentPath.curves.length > 0) {
357
- // Reset point to beginning of Path
358
- point.copy(firstPoint);
359
- path.currentPath.currentPoint.copy(point);
360
- isFirstPoint = true;
361
- }
362
- break;
363
- default:
364
- console.warn(command);
365
- }
366
-
367
- // console.log( type, parseFloats( data ), parseFloats( data ).length )
368
-
369
- doSetFirstPoint = false;
370
- }
371
- return path;
372
- }
373
- function parseCSSStylesheet(node) {
374
- if (!node.sheet || !node.sheet.cssRules || !node.sheet.cssRules.length) return;
375
- for (var i = 0; i < node.sheet.cssRules.length; i++) {
376
- var stylesheet = node.sheet.cssRules[i];
377
- if (stylesheet.type !== 1) continue;
378
- var selectorList = stylesheet.selectorText.split(/,/gm).filter(Boolean).map(function (i) {
379
- return i.trim();
380
- });
381
- for (var j = 0; j < selectorList.length; j++) {
382
- stylesheets[selectorList[j]] = Object.assign(stylesheets[selectorList[j]] || {}, stylesheet.style);
383
- }
384
- }
385
- }
386
-
387
- /**
388
- * https://www.w3.org/TR/SVG/implnote.html#ArcImplementationNotes
389
- * https://mortoray.com/2017/02/16/rendering-an-svg-elliptical-arc-as-bezier-curves/ Appendix: Endpoint to center arc conversion
390
- * From
391
- * rx ry x-axis-rotation large-arc-flag sweep-flag x y
392
- * To
393
- * aX, aY, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation
394
- */
395
-
396
- function parseArcCommand(path, rx, ry, x_axis_rotation, large_arc_flag, sweep_flag, start, end) {
397
- x_axis_rotation = x_axis_rotation * Math.PI / 180;
398
-
399
- // Ensure radii are positive
400
- rx = Math.abs(rx);
401
- ry = Math.abs(ry);
402
-
403
- // Compute (x1', y1')
404
- var dx2 = (start.x - end.x) / 2.0;
405
- var dy2 = (start.y - end.y) / 2.0;
406
- var x1p = Math.cos(x_axis_rotation) * dx2 + Math.sin(x_axis_rotation) * dy2;
407
- var y1p = -Math.sin(x_axis_rotation) * dx2 + Math.cos(x_axis_rotation) * dy2;
408
-
409
- // Compute (cx', cy')
410
- var rxs = rx * rx;
411
- var rys = ry * ry;
412
- var x1ps = x1p * x1p;
413
- var y1ps = y1p * y1p;
414
-
415
- // Ensure radii are large enough
416
- var cr = x1ps / rxs + y1ps / rys;
417
- if (cr > 1) {
418
- // scale up rx,ry equally so cr == 1
419
- var s = Math.sqrt(cr);
420
- rx = s * rx;
421
- ry = s * ry;
422
- rxs = rx * rx;
423
- rys = ry * ry;
424
- }
425
- var dq = rxs * y1ps + rys * x1ps;
426
- var pq = (rxs * rys - dq) / dq;
427
- var q = Math.sqrt(Math.max(0, pq));
428
- if (large_arc_flag === sweep_flag) q = -q;
429
- var cxp = q * rx * y1p / ry;
430
- var cyp = -q * ry * x1p / rx;
431
-
432
- // Step 3: Compute (cx, cy) from (cx', cy')
433
- var cx = Math.cos(x_axis_rotation) * cxp - Math.sin(x_axis_rotation) * cyp + (start.x + end.x) / 2;
434
- var cy = Math.sin(x_axis_rotation) * cxp + Math.cos(x_axis_rotation) * cyp + (start.y + end.y) / 2;
435
-
436
- // Step 4: Compute ��1 and ����
437
- var theta = svgAngle(1, 0, (x1p - cxp) / rx, (y1p - cyp) / ry);
438
- var delta = svgAngle((x1p - cxp) / rx, (y1p - cyp) / ry, (-x1p - cxp) / rx, (-y1p - cyp) / ry) % (Math.PI * 2);
439
- path.currentPath.absellipse(cx, cy, rx, ry, theta, theta + delta, sweep_flag === 0, x_axis_rotation);
440
- }
441
- function svgAngle(ux, uy, vx, vy) {
442
- var dot = ux * vx + uy * vy;
443
- var len = Math.sqrt(ux * ux + uy * uy) * Math.sqrt(vx * vx + vy * vy);
444
- var ang = Math.acos(Math.max(-1, Math.min(1, dot / len))); // floating point precision, slightly over values appear
445
- if (ux * vy - uy * vx < 0) ang = -ang;
446
- return ang;
447
- }
448
-
449
- /*
450
- * According to https://www.w3.org/TR/SVG/shapes.html#RectElementRXAttribute
451
- * rounded corner should be rendered to elliptical arc, but bezier curve does the job well enough
452
- */
453
- function parseRectNode(node) {
454
- var x = parseFloatWithUnits(node.getAttribute('x') || 0);
455
- var y = parseFloatWithUnits(node.getAttribute('y') || 0);
456
- var rx = parseFloatWithUnits(node.getAttribute('rx') || 0);
457
- var ry = parseFloatWithUnits(node.getAttribute('ry') || 0);
458
- var w = parseFloatWithUnits(node.getAttribute('width'));
459
- var h = parseFloatWithUnits(node.getAttribute('height'));
460
- var path = new _three.ShapePath();
461
- path.moveTo(x + 2 * rx, y);
462
- path.lineTo(x + w - 2 * rx, y);
463
- if (rx !== 0 || ry !== 0) path.bezierCurveTo(x + w, y, x + w, y, x + w, y + 2 * ry);
464
- path.lineTo(x + w, y + h - 2 * ry);
465
- if (rx !== 0 || ry !== 0) path.bezierCurveTo(x + w, y + h, x + w, y + h, x + w - 2 * rx, y + h);
466
- path.lineTo(x + 2 * rx, y + h);
467
- if (rx !== 0 || ry !== 0) {
468
- path.bezierCurveTo(x, y + h, x, y + h, x, y + h - 2 * ry);
469
- }
470
- path.lineTo(x, y + 2 * ry);
471
- if (rx !== 0 || ry !== 0) {
472
- path.bezierCurveTo(x, y, x, y, x + 2 * rx, y);
473
- }
474
- return path;
475
- }
476
- function parsePolygonNode(node) {
477
- function iterator(match, a, b) {
478
- var x = parseFloatWithUnits(a);
479
- var y = parseFloatWithUnits(b);
480
- if (index === 0) {
481
- path.moveTo(x, y);
482
- } else {
483
- path.lineTo(x, y);
484
- }
485
- index++;
486
- }
487
- var regex = /(-?[\d\.?]+)[,|\s](-?[\d\.?]+)/g;
488
- var path = new _three.ShapePath();
489
- var index = 0;
490
- node.getAttribute('points').replace(regex, iterator);
491
- path.currentPath.autoClose = true;
492
- return path;
493
- }
494
- function parsePolylineNode(node) {
495
- function iterator(match, a, b) {
496
- var x = parseFloatWithUnits(a);
497
- var y = parseFloatWithUnits(b);
498
- if (index === 0) {
499
- path.moveTo(x, y);
500
- } else {
501
- path.lineTo(x, y);
502
- }
503
- index++;
504
- }
505
- var regex = /(-?[\d\.?]+)[,|\s](-?[\d\.?]+)/g;
506
- var path = new _three.ShapePath();
507
- var index = 0;
508
- node.getAttribute('points').replace(regex, iterator);
509
- path.currentPath.autoClose = false;
510
- return path;
511
- }
512
- function parseCircleNode(node) {
513
- var x = parseFloatWithUnits(node.getAttribute('cx'));
514
- var y = parseFloatWithUnits(node.getAttribute('cy'));
515
- var r = parseFloatWithUnits(node.getAttribute('r'));
516
- var subpath = new _three.Path();
517
- subpath.absarc(x, y, r, 0, Math.PI * 2);
518
- var path = new _three.ShapePath();
519
- path.subPaths.push(subpath);
520
- return path;
521
- }
522
- function parseEllipseNode(node) {
523
- var x = parseFloatWithUnits(node.getAttribute('cx'));
524
- var y = parseFloatWithUnits(node.getAttribute('cy'));
525
- var rx = parseFloatWithUnits(node.getAttribute('rx'));
526
- var ry = parseFloatWithUnits(node.getAttribute('ry'));
527
- var subpath = new _three.Path();
528
- subpath.absellipse(x, y, rx, ry, 0, Math.PI * 2);
529
- var path = new _three.ShapePath();
530
- path.subPaths.push(subpath);
531
- return path;
532
- }
533
- function parseLineNode(node) {
534
- var x1 = parseFloatWithUnits(node.getAttribute('x1'));
535
- var y1 = parseFloatWithUnits(node.getAttribute('y1'));
536
- var x2 = parseFloatWithUnits(node.getAttribute('x2'));
537
- var y2 = parseFloatWithUnits(node.getAttribute('y2'));
538
- var path = new _three.ShapePath();
539
- path.moveTo(x1, y1);
540
- path.lineTo(x2, y2);
541
- path.currentPath.autoClose = false;
542
- return path;
543
- }
544
-
545
- //
546
-
547
- function parseStyle(node, style) {
548
- style = Object.assign({}, style); // clone style
549
-
550
- var stylesheetStyles = {};
551
- if (node.hasAttribute('class')) {
552
- var classSelectors = node.getAttribute('class').split(/\s/).filter(Boolean).map(function (i) {
553
- return i.trim();
554
- });
555
- for (var i = 0; i < classSelectors.length; i++) {
556
- stylesheetStyles = Object.assign(stylesheetStyles, stylesheets['.' + classSelectors[i]]);
557
- }
558
- }
559
- if (node.hasAttribute('id')) {
560
- stylesheetStyles = Object.assign(stylesheetStyles, stylesheets['#' + node.getAttribute('id')]);
561
- }
562
- function addStyle(svgName, jsName, adjustFunction) {
563
- if (adjustFunction === undefined) adjustFunction = function copy(v) {
564
- if (v.startsWith('url')) console.warn('SVGLoader: url access in attributes is not implemented.');
565
- return v;
566
- };
567
- if (node.hasAttribute(svgName)) style[jsName] = adjustFunction(node.getAttribute(svgName));
568
- if (stylesheetStyles[svgName]) style[jsName] = adjustFunction(stylesheetStyles[svgName]);
569
- if (node.style && node.style[svgName] !== '') style[jsName] = adjustFunction(node.style[svgName]);
570
- }
571
- function clamp(v) {
572
- return Math.max(0, Math.min(1, parseFloatWithUnits(v)));
573
- }
574
- function positive(v) {
575
- return Math.max(0, parseFloatWithUnits(v));
576
- }
577
- addStyle('fill', 'fill');
578
- addStyle('fill-opacity', 'fillOpacity', clamp);
579
- addStyle('opacity', 'opacity', clamp);
580
- addStyle('stroke', 'stroke');
581
- addStyle('stroke-opacity', 'strokeOpacity', clamp);
582
- addStyle('stroke-width', 'strokeWidth', positive);
583
- addStyle('stroke-linejoin', 'strokeLineJoin');
584
- addStyle('stroke-linecap', 'strokeLineCap');
585
- addStyle('stroke-miterlimit', 'strokeMiterLimit', positive);
586
- addStyle('visibility', 'visibility');
587
- return style;
588
- }
589
-
590
- // http://www.w3.org/TR/SVG11/implnote.html#PathElementImplementationNotes
591
-
592
- function getReflection(a, b) {
593
- return a - (b - a);
594
- }
595
- function parseFloats(string) {
596
- var array = string.split(/[\s,]+|(?=\s?[+\-])/);
597
- for (var i = 0; i < array.length; i++) {
598
- var number = array[i];
599
-
600
- // Handle values like 48.6037.7.8
601
- // TODO Find a regex for this
602
-
603
- if (number.indexOf('.') !== number.lastIndexOf('.')) {
604
- var split = number.split('.');
605
- for (var s = 2; s < split.length; s++) {
606
- array.splice(i + s - 1, 0, '0.' + split[s]);
607
- }
608
- }
609
- array[i] = parseFloatWithUnits(number);
610
- }
611
- return array;
612
- }
613
-
614
- // Units
615
-
616
- var units = ['mm', 'cm', 'in', 'pt', 'pc', 'px'];
617
-
618
- // Conversion: [ fromUnit ][ toUnit ] (-1 means dpi dependent)
619
- var unitConversion = {
620
- mm: {
621
- mm: 1,
622
- cm: 0.1,
623
- "in": 1 / 25.4,
624
- pt: 72 / 25.4,
625
- pc: 6 / 25.4,
626
- px: -1
627
- },
628
- cm: {
629
- mm: 10,
630
- cm: 1,
631
- "in": 1 / 2.54,
632
- pt: 72 / 2.54,
633
- pc: 6 / 2.54,
634
- px: -1
635
- },
636
- "in": {
637
- mm: 25.4,
638
- cm: 2.54,
639
- "in": 1,
640
- pt: 72,
641
- pc: 6,
642
- px: -1
643
- },
644
- pt: {
645
- mm: 25.4 / 72,
646
- cm: 2.54 / 72,
647
- "in": 1 / 72,
648
- pt: 1,
649
- pc: 6 / 72,
650
- px: -1
651
- },
652
- pc: {
653
- mm: 25.4 / 6,
654
- cm: 2.54 / 6,
655
- "in": 1 / 6,
656
- pt: 72 / 6,
657
- pc: 1,
658
- px: -1
659
- },
660
- px: {
661
- px: 1
662
- }
663
- };
664
- function parseFloatWithUnits(string) {
665
- var theUnit = 'px';
666
- if (typeof string === 'string' || string instanceof String) {
667
- for (var i = 0, n = units.length; i < n; i++) {
668
- var u = units[i];
669
- if (string.endsWith(u)) {
670
- theUnit = u;
671
- string = string.substring(0, string.length - u.length);
672
- break;
673
- }
674
- }
675
- }
676
- var scale = undefined;
677
- if (theUnit === 'px' && scope.defaultUnit !== 'px') {
678
- // Conversion scale from pixels to inches, then to default units
679
-
680
- scale = unitConversion['in'][scope.defaultUnit] / scope.defaultDPI;
681
- } else {
682
- scale = unitConversion[theUnit][scope.defaultUnit];
683
- if (scale < 0) {
684
- // Conversion scale to pixels
685
-
686
- scale = unitConversion[theUnit]['in'] * scope.defaultDPI;
687
- }
688
- }
689
- return scale * parseFloat(string);
690
- }
691
-
692
- // Transforms
693
-
694
- function getNodeTransform(node) {
695
- if (!(node.hasAttribute('transform') || node.nodeName === 'use' && (node.hasAttribute('x') || node.hasAttribute('y')))) {
696
- return null;
697
- }
698
- var transform = parseNodeTransform(node);
699
- if (transformStack.length > 0) {
700
- transform.premultiply(transformStack[transformStack.length - 1]);
701
- }
702
- currentTransform.copy(transform);
703
- transformStack.push(transform);
704
- return transform;
705
- }
706
- function parseNodeTransform(node) {
707
- var transform = new _three.Matrix3();
708
- var currentTransform = tempTransform0;
709
- if (node.nodeName === 'use' && (node.hasAttribute('x') || node.hasAttribute('y'))) {
710
- var tx = parseFloatWithUnits(node.getAttribute('x'));
711
- var ty = parseFloatWithUnits(node.getAttribute('y'));
712
- transform.translate(tx, ty);
713
- }
714
- if (node.hasAttribute('transform')) {
715
- var transformsTexts = node.getAttribute('transform').split(')');
716
- for (var tIndex = transformsTexts.length - 1; tIndex >= 0; tIndex--) {
717
- var transformText = transformsTexts[tIndex].trim();
718
- if (transformText === '') continue;
719
- var openParPos = transformText.indexOf('(');
720
- var closeParPos = transformText.length;
721
- if (openParPos > 0 && openParPos < closeParPos) {
722
- var transformType = transformText.substr(0, openParPos);
723
- var array = parseFloats(transformText.substr(openParPos + 1, closeParPos - openParPos - 1));
724
- currentTransform.identity();
725
- switch (transformType) {
726
- case 'translate':
727
- if (array.length >= 1) {
728
- var tx = array[0];
729
- var ty = tx;
730
- if (array.length >= 2) {
731
- ty = array[1];
732
- }
733
- currentTransform.translate(tx, ty);
734
- }
735
- break;
736
- case 'rotate':
737
- if (array.length >= 1) {
738
- var angle = 0;
739
- var cx = 0;
740
- var cy = 0;
741
-
742
- // Angle
743
- angle = -array[0] * Math.PI / 180;
744
- if (array.length >= 3) {
745
- // Center x, y
746
- cx = array[1];
747
- cy = array[2];
748
- }
749
-
750
- // Rotate around center (cx, cy)
751
- tempTransform1.identity().translate(-cx, -cy);
752
- tempTransform2.identity().rotate(angle);
753
- tempTransform3.multiplyMatrices(tempTransform2, tempTransform1);
754
- tempTransform1.identity().translate(cx, cy);
755
- currentTransform.multiplyMatrices(tempTransform1, tempTransform3);
756
- }
757
- break;
758
- case 'scale':
759
- if (array.length >= 1) {
760
- var scaleX = array[0];
761
- var scaleY = scaleX;
762
- if (array.length >= 2) {
763
- scaleY = array[1];
764
- }
765
- currentTransform.scale(scaleX, scaleY);
766
- }
767
- break;
768
- case 'skewX':
769
- if (array.length === 1) {
770
- currentTransform.set(1, Math.tan(array[0] * Math.PI / 180), 0, 0, 1, 0, 0, 0, 1);
771
- }
772
- break;
773
- case 'skewY':
774
- if (array.length === 1) {
775
- currentTransform.set(1, 0, 0, Math.tan(array[0] * Math.PI / 180), 1, 0, 0, 0, 1);
776
- }
777
- break;
778
- case 'matrix':
779
- if (array.length === 6) {
780
- currentTransform.set(array[0], array[2], array[4], array[1], array[3], array[5], 0, 0, 1);
781
- }
782
- break;
783
- }
784
- }
785
- transform.premultiply(currentTransform);
786
- }
787
- }
788
- return transform;
789
- }
790
- function transformPath(path, m) {
791
- function transfVec2(v2) {
792
- tempV3.set(v2.x, v2.y, 1).applyMatrix3(m);
793
- v2.set(tempV3.x, tempV3.y);
794
- }
795
- var isRotated = isTransformRotated(m);
796
- var subPaths = path.subPaths;
797
- for (var i = 0, n = subPaths.length; i < n; i++) {
798
- var subPath = subPaths[i];
799
- var curves = subPath.curves;
800
- for (var j = 0; j < curves.length; j++) {
801
- var curve = curves[j];
802
- if (curve.isLineCurve) {
803
- transfVec2(curve.v1);
804
- transfVec2(curve.v2);
805
- } else if (curve.isCubicBezierCurve) {
806
- transfVec2(curve.v0);
807
- transfVec2(curve.v1);
808
- transfVec2(curve.v2);
809
- transfVec2(curve.v3);
810
- } else if (curve.isQuadraticBezierCurve) {
811
- transfVec2(curve.v0);
812
- transfVec2(curve.v1);
813
- transfVec2(curve.v2);
814
- } else if (curve.isEllipseCurve) {
815
- if (isRotated) {
816
- console.warn('SVGLoader: Elliptic arc or ellipse rotation or skewing is not implemented.');
817
- }
818
- tempV2.set(curve.aX, curve.aY);
819
- transfVec2(tempV2);
820
- curve.aX = tempV2.x;
821
- curve.aY = tempV2.y;
822
- curve.xRadius *= getTransformScaleX(m);
823
- curve.yRadius *= getTransformScaleY(m);
824
- }
825
- }
826
- }
827
- }
828
- function isTransformRotated(m) {
829
- return m.elements[1] !== 0 || m.elements[3] !== 0;
830
- }
831
- function getTransformScaleX(m) {
832
- var te = m.elements;
833
- return Math.sqrt(te[0] * te[0] + te[1] * te[1]);
834
- }
835
- function getTransformScaleY(m) {
836
- var te = m.elements;
837
- return Math.sqrt(te[3] * te[3] + te[4] * te[4]);
838
- }
839
-
840
- //
841
-
842
- var paths = [];
843
- var stylesheets = {};
844
- var transformStack = [];
845
- var tempTransform0 = new _three.Matrix3();
846
- var tempTransform1 = new _three.Matrix3();
847
- var tempTransform2 = new _three.Matrix3();
848
- var tempTransform3 = new _three.Matrix3();
849
- var tempV2 = new _three.Vector2();
850
- var tempV3 = new _three.Vector3();
851
- var currentTransform = new _three.Matrix3();
852
- var xml = new DOMParser().parseFromString(text, 'image/svg+xml'); // application/xml
853
-
854
- parseNode(xml.documentElement, {
855
- fill: '#000',
856
- fillOpacity: 1,
857
- strokeOpacity: 1,
858
- strokeWidth: 1,
859
- strokeLineJoin: 'miter',
860
- strokeLineCap: 'butt',
861
- strokeMiterLimit: 4
862
- });
863
- var data = {
864
- paths: paths,
865
- xml: xml.documentElement
866
- };
867
-
868
- // console.log( paths );
869
- return data;
870
- }
871
- });
872
- SVGLoader.getStrokeStyle = function (width, color, lineJoin, lineCap, miterLimit) {
873
- // Param width: Stroke width
874
- // Param color: As returned by THREE.Color.getStyle()
875
- // Param lineJoin: One of "round", "bevel", "miter" or "miter-limit"
876
- // Param lineCap: One of "round", "square" or "butt"
877
- // Param miterLimit: Maximum join length, in multiples of the "width" parameter (join is truncated if it exceeds that distance)
878
- // Returns style object
879
-
880
- width = width !== undefined ? width : 1;
881
- color = color !== undefined ? color : '#000';
882
- lineJoin = lineJoin !== undefined ? lineJoin : 'miter';
883
- lineCap = lineCap !== undefined ? lineCap : 'butt';
884
- miterLimit = miterLimit !== undefined ? miterLimit : 4;
885
- return {
886
- strokeColor: color,
887
- strokeWidth: width,
888
- strokeLineJoin: lineJoin,
889
- strokeLineCap: lineCap,
890
- strokeMiterLimit: miterLimit
891
- };
892
- };
893
- SVGLoader.pointsToStroke = function (points, style, arcDivisions, minDistance) {
894
- // Generates a stroke with some witdh around the given path.
895
- // The path can be open or closed (last point equals to first point)
896
- // Param points: Array of Vector2D (the path). Minimum 2 points.
897
- // Param style: Object with SVG properties as returned by SVGLoader.getStrokeStyle(), or SVGLoader.parse() in the path.userData.style object
898
- // Params arcDivisions: Arc divisions for round joins and endcaps. (Optional)
899
- // Param minDistance: Points closer to this distance will be merged. (Optional)
900
- // Returns BufferGeometry with stroke triangles (In plane z = 0). UV coordinates are generated ('u' along path. 'v' across it, from left to right)
901
-
902
- var vertices = [];
903
- var normals = [];
904
- var uvs = [];
905
- if (SVGLoader.pointsToStrokeWithBuffers(points, style, arcDivisions, minDistance, vertices, normals, uvs) === 0) {
906
- return null;
907
- }
908
- var geometry = new _three.BufferGeometry();
909
- geometry.setAttribute('position', new _three.Float32BufferAttribute(vertices, 3));
910
- geometry.setAttribute('normal', new _three.Float32BufferAttribute(normals, 3));
911
- geometry.setAttribute('uv', new _three.Float32BufferAttribute(uvs, 2));
912
- return geometry;
913
- };
914
- SVGLoader.pointsToStrokeWithBuffers = function () {
915
- var tempV2_1 = new _three.Vector2();
916
- var tempV2_2 = new _three.Vector2();
917
- var tempV2_3 = new _three.Vector2();
918
- var tempV2_4 = new _three.Vector2();
919
- var tempV2_5 = new _three.Vector2();
920
- var tempV2_6 = new _three.Vector2();
921
- var tempV2_7 = new _three.Vector2();
922
- var lastPointL = new _three.Vector2();
923
- var lastPointR = new _three.Vector2();
924
- var point0L = new _three.Vector2();
925
- var point0R = new _three.Vector2();
926
- var currentPointL = new _three.Vector2();
927
- var currentPointR = new _three.Vector2();
928
- var nextPointL = new _three.Vector2();
929
- var nextPointR = new _three.Vector2();
930
- var innerPoint = new _three.Vector2();
931
- var outerPoint = new _three.Vector2();
932
- return function (points, style, arcDivisions, minDistance, vertices, normals, uvs, vertexOffset) {
933
- // This function can be called to update existing arrays or buffers.
934
- // Accepts same parameters as pointsToStroke, plus the buffers and optional offset.
935
- // Param vertexOffset: Offset vertices to start writing in the buffers (3 elements/vertex for vertices and normals, and 2 elements/vertex for uvs)
936
- // Returns number of written vertices / normals / uvs pairs
937
- // if 'vertices' parameter is undefined no triangles will be generated, but the returned vertices count will still be valid (useful to preallocate the buffers)
938
- // 'normals' and 'uvs' buffers are optional
939
-
940
- arcDivisions = arcDivisions !== undefined ? arcDivisions : 12;
941
- minDistance = minDistance !== undefined ? minDistance : 0.001;
942
- vertexOffset = vertexOffset !== undefined ? vertexOffset : 0;
943
-
944
- // First ensure there are no duplicated points
945
- points = removeDuplicatedPoints(points);
946
- var numPoints = points.length;
947
- if (numPoints < 2) return 0;
948
- var isClosed = points[0].equals(points[numPoints - 1]);
949
- var currentPoint;
950
- var previousPoint = points[0];
951
- var nextPoint;
952
- var strokeWidth2 = style.strokeWidth / 2;
953
- var deltaU = 1 / (numPoints - 1);
954
- var u0 = 0;
955
- var innerSideModified;
956
- var joinIsOnLeftSide;
957
- var isMiter;
958
- var initialJoinIsOnLeftSide = false;
959
- var numVertices = 0;
960
- var currentCoordinate = vertexOffset * 3;
961
- var currentCoordinateUV = vertexOffset * 2;
962
-
963
- // Get initial left and right stroke points
964
- getNormal(points[0], points[1], tempV2_1).multiplyScalar(strokeWidth2);
965
- lastPointL.copy(points[0]).sub(tempV2_1);
966
- lastPointR.copy(points[0]).add(tempV2_1);
967
- point0L.copy(lastPointL);
968
- point0R.copy(lastPointR);
969
- for (var iPoint = 1; iPoint < numPoints; iPoint++) {
970
- currentPoint = points[iPoint];
971
-
972
- // Get next point
973
- if (iPoint === numPoints - 1) {
974
- if (isClosed) {
975
- // Skip duplicated initial point
976
- nextPoint = points[1];
977
- } else nextPoint = undefined;
978
- } else {
979
- nextPoint = points[iPoint + 1];
980
- }
981
-
982
- // Normal of previous segment in tempV2_1
983
- var normal1 = tempV2_1;
984
- getNormal(previousPoint, currentPoint, normal1);
985
- tempV2_3.copy(normal1).multiplyScalar(strokeWidth2);
986
- currentPointL.copy(currentPoint).sub(tempV2_3);
987
- currentPointR.copy(currentPoint).add(tempV2_3);
988
- var u1 = u0 + deltaU;
989
- innerSideModified = false;
990
- if (nextPoint !== undefined) {
991
- // Normal of next segment in tempV2_2
992
- getNormal(currentPoint, nextPoint, tempV2_2);
993
- tempV2_3.copy(tempV2_2).multiplyScalar(strokeWidth2);
994
- nextPointL.copy(currentPoint).sub(tempV2_3);
995
- nextPointR.copy(currentPoint).add(tempV2_3);
996
- joinIsOnLeftSide = true;
997
- tempV2_3.subVectors(nextPoint, previousPoint);
998
- if (normal1.dot(tempV2_3) < 0) {
999
- joinIsOnLeftSide = false;
1000
- }
1001
- if (iPoint === 1) initialJoinIsOnLeftSide = joinIsOnLeftSide;
1002
- tempV2_3.subVectors(nextPoint, currentPoint);
1003
- tempV2_3.normalize();
1004
- var dot = Math.abs(normal1.dot(tempV2_3));
1005
-
1006
- // If path is straight, don't create join
1007
- if (dot !== 0) {
1008
- // Compute inner and outer segment intersections
1009
- var miterSide = strokeWidth2 / dot;
1010
- tempV2_3.multiplyScalar(-miterSide);
1011
- tempV2_4.subVectors(currentPoint, previousPoint);
1012
- tempV2_5.copy(tempV2_4).setLength(miterSide).add(tempV2_3);
1013
- innerPoint.copy(tempV2_5).negate();
1014
- var miterLength2 = tempV2_5.length();
1015
- var segmentLengthPrev = tempV2_4.length();
1016
- tempV2_4.divideScalar(segmentLengthPrev);
1017
- tempV2_6.subVectors(nextPoint, currentPoint);
1018
- var segmentLengthNext = tempV2_6.length();
1019
- tempV2_6.divideScalar(segmentLengthNext);
1020
- // Check that previous and next segments doesn't overlap with the innerPoint of intersection
1021
- if (tempV2_4.dot(innerPoint) < segmentLengthPrev && tempV2_6.dot(innerPoint) < segmentLengthNext) {
1022
- innerSideModified = true;
1023
- }
1024
- outerPoint.copy(tempV2_5).add(currentPoint);
1025
- innerPoint.add(currentPoint);
1026
- isMiter = false;
1027
- if (innerSideModified) {
1028
- if (joinIsOnLeftSide) {
1029
- nextPointR.copy(innerPoint);
1030
- currentPointR.copy(innerPoint);
1031
- } else {
1032
- nextPointL.copy(innerPoint);
1033
- currentPointL.copy(innerPoint);
1034
- }
1035
- } else {
1036
- // The segment triangles are generated here if there was overlapping
1037
-
1038
- makeSegmentTriangles();
1039
- }
1040
- switch (style.strokeLineJoin) {
1041
- case 'bevel':
1042
- makeSegmentWithBevelJoin(joinIsOnLeftSide, innerSideModified, u1);
1043
- break;
1044
- case 'round':
1045
- // Segment triangles
1046
-
1047
- createSegmentTrianglesWithMiddleSection(joinIsOnLeftSide, innerSideModified);
1048
-
1049
- // Join triangles
1050
-
1051
- if (joinIsOnLeftSide) {
1052
- makeCircularSector(currentPoint, currentPointL, nextPointL, u1, 0);
1053
- } else {
1054
- makeCircularSector(currentPoint, nextPointR, currentPointR, u1, 1);
1055
- }
1056
- break;
1057
- case 'miter':
1058
- case 'miter-clip':
1059
- default:
1060
- var miterFraction = strokeWidth2 * style.strokeMiterLimit / miterLength2;
1061
- if (miterFraction < 1) {
1062
- // The join miter length exceeds the miter limit
1063
-
1064
- if (style.strokeLineJoin !== 'miter-clip') {
1065
- makeSegmentWithBevelJoin(joinIsOnLeftSide, innerSideModified, u1);
1066
- break;
1067
- } else {
1068
- // Segment triangles
1069
-
1070
- createSegmentTrianglesWithMiddleSection(joinIsOnLeftSide, innerSideModified);
1071
-
1072
- // Miter-clip join triangles
1073
-
1074
- if (joinIsOnLeftSide) {
1075
- tempV2_6.subVectors(outerPoint, currentPointL).multiplyScalar(miterFraction).add(currentPointL);
1076
- tempV2_7.subVectors(outerPoint, nextPointL).multiplyScalar(miterFraction).add(nextPointL);
1077
- addVertex(currentPointL, u1, 0);
1078
- addVertex(tempV2_6, u1, 0);
1079
- addVertex(currentPoint, u1, 0.5);
1080
- addVertex(currentPoint, u1, 0.5);
1081
- addVertex(tempV2_6, u1, 0);
1082
- addVertex(tempV2_7, u1, 0);
1083
- addVertex(currentPoint, u1, 0.5);
1084
- addVertex(tempV2_7, u1, 0);
1085
- addVertex(nextPointL, u1, 0);
1086
- } else {
1087
- tempV2_6.subVectors(outerPoint, currentPointR).multiplyScalar(miterFraction).add(currentPointR);
1088
- tempV2_7.subVectors(outerPoint, nextPointR).multiplyScalar(miterFraction).add(nextPointR);
1089
- addVertex(currentPointR, u1, 1);
1090
- addVertex(tempV2_6, u1, 1);
1091
- addVertex(currentPoint, u1, 0.5);
1092
- addVertex(currentPoint, u1, 0.5);
1093
- addVertex(tempV2_6, u1, 1);
1094
- addVertex(tempV2_7, u1, 1);
1095
- addVertex(currentPoint, u1, 0.5);
1096
- addVertex(tempV2_7, u1, 1);
1097
- addVertex(nextPointR, u1, 1);
1098
- }
1099
- }
1100
- } else {
1101
- // Miter join segment triangles
1102
-
1103
- if (innerSideModified) {
1104
- // Optimized segment + join triangles
1105
-
1106
- if (joinIsOnLeftSide) {
1107
- addVertex(lastPointR, u0, 1);
1108
- addVertex(lastPointL, u0, 0);
1109
- addVertex(outerPoint, u1, 0);
1110
- addVertex(lastPointR, u0, 1);
1111
- addVertex(outerPoint, u1, 0);
1112
- addVertex(innerPoint, u1, 1);
1113
- } else {
1114
- addVertex(lastPointR, u0, 1);
1115
- addVertex(lastPointL, u0, 0);
1116
- addVertex(outerPoint, u1, 1);
1117
- addVertex(lastPointL, u0, 0);
1118
- addVertex(innerPoint, u1, 0);
1119
- addVertex(outerPoint, u1, 1);
1120
- }
1121
- if (joinIsOnLeftSide) {
1122
- nextPointL.copy(outerPoint);
1123
- } else {
1124
- nextPointR.copy(outerPoint);
1125
- }
1126
- } else {
1127
- // Add extra miter join triangles
1128
-
1129
- if (joinIsOnLeftSide) {
1130
- addVertex(currentPointL, u1, 0);
1131
- addVertex(outerPoint, u1, 0);
1132
- addVertex(currentPoint, u1, 0.5);
1133
- addVertex(currentPoint, u1, 0.5);
1134
- addVertex(outerPoint, u1, 0);
1135
- addVertex(nextPointL, u1, 0);
1136
- } else {
1137
- addVertex(currentPointR, u1, 1);
1138
- addVertex(outerPoint, u1, 1);
1139
- addVertex(currentPoint, u1, 0.5);
1140
- addVertex(currentPoint, u1, 0.5);
1141
- addVertex(outerPoint, u1, 1);
1142
- addVertex(nextPointR, u1, 1);
1143
- }
1144
- }
1145
- isMiter = true;
1146
- }
1147
- break;
1148
- }
1149
- } else {
1150
- // The segment triangles are generated here when two consecutive points are collinear
1151
-
1152
- makeSegmentTriangles();
1153
- }
1154
- } else {
1155
- // The segment triangles are generated here if it is the ending segment
1156
-
1157
- makeSegmentTriangles();
1158
- }
1159
- if (!isClosed && iPoint === numPoints - 1) {
1160
- // Start line endcap
1161
- addCapGeometry(points[0], point0L, point0R, joinIsOnLeftSide, true, u0);
1162
- }
1163
-
1164
- // Increment loop variables
1165
-
1166
- u0 = u1;
1167
- previousPoint = currentPoint;
1168
- lastPointL.copy(nextPointL);
1169
- lastPointR.copy(nextPointR);
1170
- }
1171
- if (!isClosed) {
1172
- // Ending line endcap
1173
- addCapGeometry(currentPoint, currentPointL, currentPointR, joinIsOnLeftSide, false, u1);
1174
- } else if (innerSideModified && vertices) {
1175
- // Modify path first segment vertices to adjust to the segments inner and outer intersections
1176
-
1177
- var lastOuter = outerPoint;
1178
- var lastInner = innerPoint;
1179
- if (initialJoinIsOnLeftSide !== joinIsOnLeftSide) {
1180
- lastOuter = innerPoint;
1181
- lastInner = outerPoint;
1182
- }
1183
- if (joinIsOnLeftSide) {
1184
- if (isMiter || initialJoinIsOnLeftSide) {
1185
- lastInner.toArray(vertices, 0 * 3);
1186
- lastInner.toArray(vertices, 3 * 3);
1187
- if (isMiter) {
1188
- lastOuter.toArray(vertices, 1 * 3);
1189
- }
1190
- }
1191
- } else {
1192
- if (isMiter || !initialJoinIsOnLeftSide) {
1193
- lastInner.toArray(vertices, 1 * 3);
1194
- lastInner.toArray(vertices, 3 * 3);
1195
- if (isMiter) {
1196
- lastOuter.toArray(vertices, 0 * 3);
1197
- }
1198
- }
1199
- }
1200
- }
1201
- return numVertices;
1202
-
1203
- // -- End of algorithm
1204
-
1205
- // -- Functions
1206
-
1207
- function getNormal(p1, p2, result) {
1208
- result.subVectors(p2, p1);
1209
- return result.set(-result.y, result.x).normalize();
1210
- }
1211
- function addVertex(position, u, v) {
1212
- if (vertices) {
1213
- vertices[currentCoordinate] = position.x;
1214
- vertices[currentCoordinate + 1] = position.y;
1215
- vertices[currentCoordinate + 2] = 0;
1216
- if (normals) {
1217
- normals[currentCoordinate] = 0;
1218
- normals[currentCoordinate + 1] = 0;
1219
- normals[currentCoordinate + 2] = 1;
1220
- }
1221
- currentCoordinate += 3;
1222
- if (uvs) {
1223
- uvs[currentCoordinateUV] = u;
1224
- uvs[currentCoordinateUV + 1] = v;
1225
- currentCoordinateUV += 2;
1226
- }
1227
- }
1228
- numVertices += 3;
1229
- }
1230
- function makeCircularSector(center, p1, p2, u, v) {
1231
- // param p1, p2: Points in the circle arc.
1232
- // p1 and p2 are in clockwise direction.
1233
-
1234
- tempV2_1.copy(p1).sub(center).normalize();
1235
- tempV2_2.copy(p2).sub(center).normalize();
1236
- var angle = Math.PI;
1237
- var dot = tempV2_1.dot(tempV2_2);
1238
- if (Math.abs(dot) < 1) angle = Math.abs(Math.acos(dot));
1239
- angle /= arcDivisions;
1240
- tempV2_3.copy(p1);
1241
- for (var i = 0, il = arcDivisions - 1; i < il; i++) {
1242
- tempV2_4.copy(tempV2_3).rotateAround(center, angle);
1243
- addVertex(tempV2_3, u, v);
1244
- addVertex(tempV2_4, u, v);
1245
- addVertex(center, u, 0.5);
1246
- tempV2_3.copy(tempV2_4);
1247
- }
1248
- addVertex(tempV2_4, u, v);
1249
- addVertex(p2, u, v);
1250
- addVertex(center, u, 0.5);
1251
- }
1252
- function makeSegmentTriangles() {
1253
- addVertex(lastPointR, u0, 1);
1254
- addVertex(lastPointL, u0, 0);
1255
- addVertex(currentPointL, u1, 0);
1256
- addVertex(lastPointR, u0, 1);
1257
- addVertex(currentPointL, u1, 1);
1258
- addVertex(currentPointR, u1, 0);
1259
- }
1260
- function makeSegmentWithBevelJoin(joinIsOnLeftSide, innerSideModified, u) {
1261
- if (innerSideModified) {
1262
- // Optimized segment + bevel triangles
1263
-
1264
- if (joinIsOnLeftSide) {
1265
- // Path segments triangles
1266
-
1267
- addVertex(lastPointR, u0, 1);
1268
- addVertex(lastPointL, u0, 0);
1269
- addVertex(currentPointL, u1, 0);
1270
- addVertex(lastPointR, u0, 1);
1271
- addVertex(currentPointL, u1, 0);
1272
- addVertex(innerPoint, u1, 1);
1273
-
1274
- // Bevel join triangle
1275
-
1276
- addVertex(currentPointL, u, 0);
1277
- addVertex(nextPointL, u, 0);
1278
- addVertex(innerPoint, u, 0.5);
1279
- } else {
1280
- // Path segments triangles
1281
-
1282
- addVertex(lastPointR, u0, 1);
1283
- addVertex(lastPointL, u0, 0);
1284
- addVertex(currentPointR, u1, 1);
1285
- addVertex(lastPointL, u0, 0);
1286
- addVertex(innerPoint, u1, 0);
1287
- addVertex(currentPointR, u1, 1);
1288
-
1289
- // Bevel join triangle
1290
-
1291
- addVertex(currentPointR, u, 1);
1292
- addVertex(nextPointR, u, 0);
1293
- addVertex(innerPoint, u, 0.5);
1294
- }
1295
- } else {
1296
- // Bevel join triangle. The segment triangles are done in the main loop
1297
-
1298
- if (joinIsOnLeftSide) {
1299
- addVertex(currentPointL, u, 0);
1300
- addVertex(nextPointL, u, 0);
1301
- addVertex(currentPoint, u, 0.5);
1302
- } else {
1303
- addVertex(currentPointR, u, 1);
1304
- addVertex(nextPointR, u, 0);
1305
- addVertex(currentPoint, u, 0.5);
1306
- }
1307
- }
1308
- }
1309
- function createSegmentTrianglesWithMiddleSection(joinIsOnLeftSide, innerSideModified) {
1310
- if (innerSideModified) {
1311
- if (joinIsOnLeftSide) {
1312
- addVertex(lastPointR, u0, 1);
1313
- addVertex(lastPointL, u0, 0);
1314
- addVertex(currentPointL, u1, 0);
1315
- addVertex(lastPointR, u0, 1);
1316
- addVertex(currentPointL, u1, 0);
1317
- addVertex(innerPoint, u1, 1);
1318
- addVertex(currentPointL, u0, 0);
1319
- addVertex(currentPoint, u1, 0.5);
1320
- addVertex(innerPoint, u1, 1);
1321
- addVertex(currentPoint, u1, 0.5);
1322
- addVertex(nextPointL, u0, 0);
1323
- addVertex(innerPoint, u1, 1);
1324
- } else {
1325
- addVertex(lastPointR, u0, 1);
1326
- addVertex(lastPointL, u0, 0);
1327
- addVertex(currentPointR, u1, 1);
1328
- addVertex(lastPointL, u0, 0);
1329
- addVertex(innerPoint, u1, 0);
1330
- addVertex(currentPointR, u1, 1);
1331
- addVertex(currentPointR, u0, 1);
1332
- addVertex(innerPoint, u1, 0);
1333
- addVertex(currentPoint, u1, 0.5);
1334
- addVertex(currentPoint, u1, 0.5);
1335
- addVertex(innerPoint, u1, 0);
1336
- addVertex(nextPointR, u0, 1);
1337
- }
1338
- }
1339
- }
1340
- function addCapGeometry(center, p1, p2, joinIsOnLeftSide, start, u) {
1341
- // param center: End point of the path
1342
- // param p1, p2: Left and right cap points
1343
-
1344
- switch (style.strokeLineCap) {
1345
- case 'round':
1346
- if (start) {
1347
- makeCircularSector(center, p2, p1, u, 0.5);
1348
- } else {
1349
- makeCircularSector(center, p1, p2, u, 0.5);
1350
- }
1351
- break;
1352
- case 'square':
1353
- if (start) {
1354
- tempV2_1.subVectors(p1, center);
1355
- tempV2_2.set(tempV2_1.y, -tempV2_1.x);
1356
- tempV2_3.addVectors(tempV2_1, tempV2_2).add(center);
1357
- tempV2_4.subVectors(tempV2_2, tempV2_1).add(center);
1358
-
1359
- // Modify already existing vertices
1360
- if (joinIsOnLeftSide) {
1361
- tempV2_3.toArray(vertices, 1 * 3);
1362
- tempV2_4.toArray(vertices, 0 * 3);
1363
- tempV2_4.toArray(vertices, 3 * 3);
1364
- } else {
1365
- tempV2_3.toArray(vertices, 1 * 3);
1366
- tempV2_3.toArray(vertices, 3 * 3);
1367
- tempV2_4.toArray(vertices, 0 * 3);
1368
- }
1369
- } else {
1370
- tempV2_1.subVectors(p2, center);
1371
- tempV2_2.set(tempV2_1.y, -tempV2_1.x);
1372
- tempV2_3.addVectors(tempV2_1, tempV2_2).add(center);
1373
- tempV2_4.subVectors(tempV2_2, tempV2_1).add(center);
1374
- var vl = vertices.length;
1375
-
1376
- // Modify already existing vertices
1377
- if (joinIsOnLeftSide) {
1378
- tempV2_3.toArray(vertices, vl - 1 * 3);
1379
- tempV2_4.toArray(vertices, vl - 2 * 3);
1380
- tempV2_4.toArray(vertices, vl - 4 * 3);
1381
- } else {
1382
- tempV2_3.toArray(vertices, vl - 2 * 3);
1383
- tempV2_4.toArray(vertices, vl - 1 * 3);
1384
- tempV2_4.toArray(vertices, vl - 4 * 3);
1385
- }
1386
- }
1387
- break;
1388
- case 'butt':
1389
- default:
1390
- // Nothing to do here
1391
- break;
1392
- }
1393
- }
1394
- function removeDuplicatedPoints(points) {
1395
- // Creates a new array if necessary with duplicated points removed.
1396
- // This does not remove duplicated initial and ending points of a closed path.
1397
-
1398
- var dupPoints = false;
1399
- for (var i = 1, n = points.length - 1; i < n; i++) {
1400
- if (points[i].distanceTo(points[i + 1]) < minDistance) {
1401
- dupPoints = true;
1402
- break;
1403
- }
1404
- }
1405
- if (!dupPoints) return points;
1406
- var newPoints = [];
1407
- newPoints.push(points[0]);
1408
- for (var i = 1, n = points.length - 1; i < n; i++) {
1409
- if (points[i].distanceTo(points[i + 1]) >= minDistance) {
1410
- newPoints.push(points[i]);
1411
- }
1412
- }
1413
- newPoints.push(points[points.length - 1]);
1414
- return newPoints;
1415
- }
1416
- };
1417
- }();
1418
- //# sourceMappingURL=SVGLoader.js.map