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,479 +0,0 @@
1
- "use strict";
2
-
3
- /**
4
- * @author mrdoob / http://mrdoob.com/
5
- */
6
- var THREE = window.THREE || require('three');
7
- var OBJLoader;
8
- OBJLoader = function () {
9
- // o object_name | g group_name
10
- var object_pattern = /^[og]\s*(.+)?/;
11
- // mtllib file_reference
12
- var material_library_pattern = /^mtllib /;
13
- // usemtl material_name
14
- var material_use_pattern = /^usemtl /;
15
- function ParserState() {
16
- var state = {
17
- objects: [],
18
- object: {},
19
- vertices: [],
20
- normals: [],
21
- colors: [],
22
- uvs: [],
23
- materialLibraries: [],
24
- startObject: function startObject(name, fromDeclaration) {
25
- // If the current object (initial from reset) is not from a g/o declaration in the parsed
26
- // file. We need to use it for the first parsed g/o to keep things in sync.
27
- if (this.object && this.object.fromDeclaration === false) {
28
- this.object.name = name;
29
- this.object.fromDeclaration = fromDeclaration !== false;
30
- return;
31
- }
32
- var previousMaterial = this.object && typeof this.object.currentMaterial === 'function' ? this.object.currentMaterial() : undefined;
33
- if (this.object && typeof this.object._finalize === 'function') {
34
- this.object._finalize(true);
35
- }
36
- this.object = {
37
- name: name || '',
38
- fromDeclaration: fromDeclaration !== false,
39
- geometry: {
40
- vertices: [],
41
- normals: [],
42
- colors: [],
43
- uvs: []
44
- },
45
- materials: [],
46
- smooth: true,
47
- startMaterial: function startMaterial(name, libraries) {
48
- var previous = this._finalize(false);
49
- // New usemtl declaration overwrites an inherited material, except if faces were declared
50
- // after the material, then it must be preserved for proper MultiMaterial continuation.
51
- if (previous && (previous.inherited || previous.groupCount <= 0)) {
52
- this.materials.splice(previous.index, 1);
53
- }
54
- var material = {
55
- index: this.materials.length,
56
- name: name || '',
57
- mtllib: Array.isArray(libraries) && libraries.length > 0 ? libraries[libraries.length - 1] : '',
58
- smooth: previous !== undefined ? previous.smooth : this.smooth,
59
- groupStart: previous !== undefined ? previous.groupEnd : 0,
60
- groupEnd: -1,
61
- groupCount: -1,
62
- inherited: false,
63
- clone: function clone(index) {
64
- var cloned = {
65
- index: typeof index === 'number' ? index : this.index,
66
- name: this.name,
67
- mtllib: this.mtllib,
68
- smooth: this.smooth,
69
- groupStart: 0,
70
- groupEnd: -1,
71
- groupCount: -1,
72
- inherited: false
73
- };
74
- cloned.clone = this.clone.bind(cloned);
75
- return cloned;
76
- }
77
- };
78
- this.materials.push(material);
79
- return material;
80
- },
81
- currentMaterial: function currentMaterial() {
82
- if (this.materials.length > 0) {
83
- return this.materials[this.materials.length - 1];
84
- }
85
- return undefined;
86
- },
87
- _finalize: function _finalize(end) {
88
- var lastMultiMaterial = this.currentMaterial();
89
- if (lastMultiMaterial && lastMultiMaterial.groupEnd === -1) {
90
- lastMultiMaterial.groupEnd = this.geometry.vertices.length / 3;
91
- lastMultiMaterial.groupCount = lastMultiMaterial.groupEnd - lastMultiMaterial.groupStart;
92
- lastMultiMaterial.inherited = false;
93
- }
94
- // Ignore objects tail materials if no face declarations followed them before a new o/g started.
95
- if (end && this.materials.length > 1) {
96
- for (var mi = this.materials.length - 1; mi >= 0; mi--) {
97
- if (this.materials[mi].groupCount <= 0) {
98
- this.materials.splice(mi, 1);
99
- }
100
- }
101
- }
102
- // Guarantee at least one empty material, this makes the creation later more straight forward.
103
- if (end && this.materials.length === 0) {
104
- this.materials.push({
105
- name: '',
106
- smooth: this.smooth
107
- });
108
- }
109
- return lastMultiMaterial;
110
- }
111
- };
112
- // Inherit previous objects material.
113
- // Spec tells us that a declared material must be set to all objects until a new material is declared.
114
- // If a usemtl declaration is encountered while this new object is being parsed, it will
115
- // overwrite the inherited material. Exception being that there was already face declarations
116
- // to the inherited material, then it will be preserved for proper MultiMaterial continuation.
117
- if (previousMaterial && previousMaterial.name && typeof previousMaterial.clone === 'function') {
118
- var declared = previousMaterial.clone(0);
119
- declared.inherited = true;
120
- this.object.materials.push(declared);
121
- }
122
- this.objects.push(this.object);
123
- },
124
- finalize: function finalize() {
125
- if (this.object && typeof this.object._finalize === 'function') {
126
- this.object._finalize(true);
127
- }
128
- },
129
- parseVertexIndex: function parseVertexIndex(value, len) {
130
- var index = parseInt(value, 10);
131
- return (index >= 0 ? index - 1 : index + len / 3) * 3;
132
- },
133
- parseNormalIndex: function parseNormalIndex(value, len) {
134
- var index = parseInt(value, 10);
135
- return (index >= 0 ? index - 1 : index + len / 3) * 3;
136
- },
137
- parseUVIndex: function parseUVIndex(value, len) {
138
- var index = parseInt(value, 10);
139
- return (index >= 0 ? index - 1 : index + len / 2) * 2;
140
- },
141
- addVertex: function addVertex(a, b, c) {
142
- var src = this.vertices;
143
- var dst = this.object.geometry.vertices;
144
- dst.push(src[a + 0], src[a + 1], src[a + 2]);
145
- dst.push(src[b + 0], src[b + 1], src[b + 2]);
146
- dst.push(src[c + 0], src[c + 1], src[c + 2]);
147
- },
148
- addVertexPoint: function addVertexPoint(a) {
149
- var src = this.vertices;
150
- var dst = this.object.geometry.vertices;
151
- dst.push(src[a + 0], src[a + 1], src[a + 2]);
152
- },
153
- addVertexLine: function addVertexLine(a) {
154
- var src = this.vertices;
155
- var dst = this.object.geometry.vertices;
156
- dst.push(src[a + 0], src[a + 1], src[a + 2]);
157
- },
158
- addNormal: function addNormal(a, b, c) {
159
- var src = this.normals;
160
- var dst = this.object.geometry.normals;
161
- dst.push(src[a + 0], src[a + 1], src[a + 2]);
162
- dst.push(src[b + 0], src[b + 1], src[b + 2]);
163
- dst.push(src[c + 0], src[c + 1], src[c + 2]);
164
- },
165
- addColor: function addColor(a, b, c) {
166
- var src = this.colors;
167
- var dst = this.object.geometry.colors;
168
- dst.push(src[a + 0], src[a + 1], src[a + 2]);
169
- dst.push(src[b + 0], src[b + 1], src[b + 2]);
170
- dst.push(src[c + 0], src[c + 1], src[c + 2]);
171
- },
172
- addUV: function addUV(a, b, c) {
173
- var src = this.uvs;
174
- var dst = this.object.geometry.uvs;
175
- dst.push(src[a + 0], src[a + 1]);
176
- dst.push(src[b + 0], src[b + 1]);
177
- dst.push(src[c + 0], src[c + 1]);
178
- },
179
- addUVLine: function addUVLine(a) {
180
- var src = this.uvs;
181
- var dst = this.object.geometry.uvs;
182
- dst.push(src[a + 0], src[a + 1]);
183
- },
184
- addFace: function addFace(a, b, c, ua, ub, uc, na, nb, nc) {
185
- var vLen = this.vertices.length;
186
- var ia = this.parseVertexIndex(a, vLen);
187
- var ib = this.parseVertexIndex(b, vLen);
188
- var ic = this.parseVertexIndex(c, vLen);
189
- this.addVertex(ia, ib, ic);
190
- if (ua !== undefined && ua !== '') {
191
- var uvLen = this.uvs.length;
192
- ia = this.parseUVIndex(ua, uvLen);
193
- ib = this.parseUVIndex(ub, uvLen);
194
- ic = this.parseUVIndex(uc, uvLen);
195
- this.addUV(ia, ib, ic);
196
- }
197
- if (na !== undefined && na !== '') {
198
- // Normals are many times the same. If so, skip function call and parseInt.
199
- var nLen = this.normals.length;
200
- ia = this.parseNormalIndex(na, nLen);
201
- ib = na === nb ? ia : this.parseNormalIndex(nb, nLen);
202
- ic = na === nc ? ia : this.parseNormalIndex(nc, nLen);
203
- this.addNormal(ia, ib, ic);
204
- }
205
- if (this.colors.length > 0) {
206
- this.addColor(ia, ib, ic);
207
- }
208
- },
209
- addPointGeometry: function addPointGeometry(vertices) {
210
- this.object.geometry.type = 'Points';
211
- var vLen = this.vertices.length;
212
- for (var vi = 0, l = vertices.length; vi < l; vi++) {
213
- this.addVertexPoint(this.parseVertexIndex(vertices[vi], vLen));
214
- }
215
- },
216
- addLineGeometry: function addLineGeometry(vertices, uvs) {
217
- this.object.geometry.type = 'Line';
218
- var vLen = this.vertices.length;
219
- var uvLen = this.uvs.length;
220
- for (var vi = 0, l = vertices.length; vi < l; vi++) {
221
- this.addVertexLine(this.parseVertexIndex(vertices[vi], vLen));
222
- }
223
- for (var uvi = 0, l = uvs.length; uvi < l; uvi++) {
224
- this.addUVLine(this.parseUVIndex(uvs[uvi], uvLen));
225
- }
226
- }
227
- };
228
- state.startObject('', false);
229
- return state;
230
- }
231
- //
232
- function OBJLoader(manager) {
233
- this.manager = manager !== undefined ? manager : THREE.DefaultLoadingManager;
234
- this.materials = null;
235
- }
236
- OBJLoader.prototype = {
237
- constructor: OBJLoader,
238
- load: function load(url, onLoad, onProgress, onError) {
239
- var scope = this;
240
- var loader = new THREE.FileLoader(scope.manager);
241
- loader.setPath(this.path);
242
- loader.load(url, function (text) {
243
- onLoad(scope.parse(text));
244
- }, onProgress, onError);
245
- },
246
- setPath: function setPath(value) {
247
- this.path = value;
248
- },
249
- setMaterials: function setMaterials(materials) {
250
- this.materials = materials;
251
- return this;
252
- },
253
- parse: function parse(text) {
254
- console.time('OBJLoader');
255
- var state = new ParserState();
256
- if (text.indexOf('\r\n') !== -1) {
257
- // This is faster than String.split with regex that splits on both
258
- text = text.replace(/\r\n/g, '\n');
259
- }
260
- if (text.indexOf('\\\n') !== -1) {
261
- // join lines separated by a line continuation character (\)
262
- text = text.replace(/\\\n/g, '');
263
- }
264
- var lines = text.split('\n');
265
- var line = '',
266
- lineFirstChar = '';
267
- var lineLength = 0;
268
- var result = [];
269
- // Faster to just trim left side of the line. Use if available.
270
- var trimLeft = typeof ''.trimLeft === 'function';
271
- for (var i = 0, l = lines.length; i < l; i++) {
272
- line = lines[i];
273
- line = trimLeft ? line.trimLeft() : line.trim();
274
- lineLength = line.length;
275
- if (lineLength === 0) continue;
276
- lineFirstChar = line.charAt(0);
277
- // @todo invoke passed in handler if any
278
- if (lineFirstChar === '#') continue;
279
- if (lineFirstChar === 'v') {
280
- var data = line.split(/\s+/);
281
- switch (data[0]) {
282
- case 'v':
283
- state.vertices.push(parseFloat(data[1]), parseFloat(data[2]), parseFloat(data[3]));
284
- if (data.length === 8) {
285
- state.colors.push(parseFloat(data[4]), parseFloat(data[5]), parseFloat(data[6]));
286
- }
287
- break;
288
- case 'vn':
289
- state.normals.push(parseFloat(data[1]), parseFloat(data[2]), parseFloat(data[3]));
290
- break;
291
- case 'vt':
292
- state.uvs.push(parseFloat(data[1]), parseFloat(data[2]));
293
- break;
294
- }
295
- } else if (lineFirstChar === 'f') {
296
- var lineData = line.substr(1).trim();
297
- var vertexData = lineData.split(/\s+/);
298
- var faceVertices = [];
299
- // Parse the face vertex data into an easy to work with format
300
- for (var j = 0, jl = vertexData.length; j < jl; j++) {
301
- var vertex = vertexData[j];
302
- if (vertex.length > 0) {
303
- var vertexParts = vertex.split('/');
304
- faceVertices.push(vertexParts);
305
- }
306
- }
307
- // Draw an edge between the first vertex and all subsequent vertices to form an n-gon
308
- var v1 = faceVertices[0];
309
- for (var j = 1, jl = faceVertices.length - 1; j < jl; j++) {
310
- var v2 = faceVertices[j];
311
- var v3 = faceVertices[j + 1];
312
- state.addFace(v1[0], v2[0], v3[0], v1[1], v2[1], v3[1], v1[2], v2[2], v3[2]);
313
- }
314
- } else if (lineFirstChar === 'l') {
315
- var lineParts = line.substring(1).trim().split(' ');
316
- var lineVertices = [],
317
- lineUVs = [];
318
- if (line.indexOf('/') === -1) {
319
- lineVertices = lineParts;
320
- } else {
321
- for (var li = 0, llen = lineParts.length; li < llen; li++) {
322
- var parts = lineParts[li].split('/');
323
- if (parts[0] !== '') lineVertices.push(parts[0]);
324
- if (parts[1] !== '') lineUVs.push(parts[1]);
325
- }
326
- }
327
- state.addLineGeometry(lineVertices, lineUVs);
328
- } else if (lineFirstChar === 'p') {
329
- var lineData = line.substr(1).trim();
330
- var pointData = lineData.split(' ');
331
- state.addPointGeometry(pointData);
332
- } else if ((result = object_pattern.exec(line)) !== null) {
333
- // o object_name
334
- // or
335
- // g group_name
336
- // WORKAROUND: https://bugs.chromium.org/p/v8/issues/detail?id=2869
337
- // var name = result[ 0 ].substr( 1 ).trim();
338
- var name = (' ' + result[0].substr(1).trim()).substr(1);
339
- state.startObject(name);
340
- } else if (material_use_pattern.test(line)) {
341
- // material
342
- state.object.startMaterial(line.substring(7).trim(), state.materialLibraries);
343
- } else if (material_library_pattern.test(line)) {
344
- // mtl file
345
- state.materialLibraries.push(line.substring(7).trim());
346
- } else if (lineFirstChar === 's') {
347
- result = line.split(' ');
348
- // smooth shading
349
- // @todo Handle files that have varying smooth values for a set of faces inside one geometry,
350
- // but does not define a usemtl for each face set.
351
- // This should be detected and a dummy material created (later MultiMaterial and geometry groups).
352
- // This requires some care to not create extra material on each smooth value for "normal" obj files.
353
- // where explicit usemtl defines geometry groups.
354
- // Example asset: examples/models/obj/cerberus/Cerberus.obj
355
- /*
356
- * http://paulbourke.net/dataformats/obj/
357
- * or
358
- * http://www.cs.utah.edu/~boulos/cs3505/obj_spec.pdf
359
- *
360
- * From chapter "Grouping" Syntax explanation "s group_number":
361
- * "group_number is the smoothing group number. To turn off smoothing groups, use a value of 0 or off.
362
- * Polygonal elements use group numbers to put elements in different smoothing groups. For free-form
363
- * surfaces, smoothing groups are either turned on or off; there is no difference between values greater
364
- * than 0."
365
- */
366
- if (result.length > 1) {
367
- var value = result[1].trim().toLowerCase();
368
- state.object.smooth = value !== '0' && value !== 'off';
369
- } else {
370
- // ZBrush can produce "s" lines #11707
371
- state.object.smooth = true;
372
- }
373
- var material = state.object.currentMaterial();
374
- if (material) material.smooth = state.object.smooth;
375
- } else {
376
- // Handle null terminated files without exception
377
- if (line === '\0') continue;
378
- throw new Error('THREE.OBJLoader: Unexpected line: "' + line + '"');
379
- }
380
- }
381
- state.finalize();
382
- var container = new THREE.Group();
383
- container.materialLibraries = [].concat(state.materialLibraries);
384
- for (var i = 0, l = state.objects.length; i < l; i++) {
385
- var object = state.objects[i];
386
- var geometry = object.geometry;
387
- var materials = object.materials;
388
- var isLine = geometry.type === 'Line';
389
- var isPoints = geometry.type === 'Points';
390
- var hasVertexColors = false;
391
- // Skip o/g line declarations that did not follow with any faces
392
- if (geometry.vertices.length === 0) continue;
393
- var buffergeometry = new THREE.BufferGeometry();
394
- buffergeometry.addAttribute('position', new THREE.Float32BufferAttribute(geometry.vertices, 3));
395
- if (geometry.normals.length > 0) {
396
- buffergeometry.addAttribute('normal', new THREE.Float32BufferAttribute(geometry.normals, 3));
397
- } else {
398
- buffergeometry.computeVertexNormals();
399
- }
400
- if (geometry.colors.length > 0) {
401
- hasVertexColors = true;
402
- buffergeometry.addAttribute('color', new THREE.Float32BufferAttribute(geometry.colors, 3));
403
- }
404
- if (geometry.uvs.length > 0) {
405
- buffergeometry.addAttribute('uv', new THREE.Float32BufferAttribute(geometry.uvs, 2));
406
- }
407
- // Create materials
408
- var createdMaterials = [];
409
- for (var mi = 0, miLen = materials.length; mi < miLen; mi++) {
410
- var sourceMaterial = materials[mi];
411
- var material = undefined;
412
- if (this.materials !== null) {
413
- material = this.materials.create(sourceMaterial.name);
414
- // mtl etc. loaders probably can't create line materials correctly, copy properties to a line material.
415
- if (isLine && material && !(material instanceof THREE.LineBasicMaterial)) {
416
- var materialLine = new THREE.LineBasicMaterial();
417
- materialLine.copy(material);
418
- materialLine.lights = false; // TOFIX
419
- material = materialLine;
420
- } else if (isPoints && material && !(material instanceof THREE.PointsMaterial)) {
421
- var materialPoints = new THREE.PointsMaterial({
422
- size: 10,
423
- sizeAttenuation: false
424
- });
425
- materialLine.copy(material);
426
- material = materialPoints;
427
- }
428
- }
429
- if (!material) {
430
- if (isLine) {
431
- material = new THREE.LineBasicMaterial();
432
- } else if (isPoints) {
433
- material = new THREE.PointsMaterial({
434
- size: 1,
435
- sizeAttenuation: false
436
- });
437
- } else {
438
- material = new THREE.MeshPhongMaterial();
439
- }
440
- material.name = sourceMaterial.name;
441
- }
442
- material.flatShading = sourceMaterial.smooth ? false : true;
443
- material.vertexColors = hasVertexColors ? THREE.VertexColors : THREE.NoColors;
444
- createdMaterials.push(material);
445
- }
446
- // Create mesh
447
- var mesh;
448
- if (createdMaterials.length > 1) {
449
- for (var mi = 0, miLen = materials.length; mi < miLen; mi++) {
450
- var sourceMaterial = materials[mi];
451
- buffergeometry.addGroup(sourceMaterial.groupStart, sourceMaterial.groupCount, mi);
452
- }
453
- if (isLine) {
454
- mesh = new THREE.LineSegments(buffergeometry, createdMaterials);
455
- } else if (isPoints) {
456
- mesh = new THREE.Points(buffergeometry, createdMaterials);
457
- } else {
458
- mesh = new THREE.Mesh(buffergeometry, createdMaterials);
459
- }
460
- } else {
461
- if (isLine) {
462
- mesh = new THREE.LineSegments(buffergeometry, createdMaterials[0]);
463
- } else if (isPoints) {
464
- mesh = new THREE.Points(buffergeometry, createdMaterials[0]);
465
- } else {
466
- mesh = new THREE.Mesh(buffergeometry, createdMaterials[0]);
467
- }
468
- }
469
- mesh.name = object.name;
470
- container.add(mesh);
471
- }
472
- console.timeEnd('OBJLoader');
473
- return container;
474
- }
475
- };
476
- return OBJLoader;
477
- }();
478
- module.exports = OBJLoader;
479
- //# sourceMappingURL=obj-loader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"obj-loader.js","names":["THREE","window","require","OBJLoader","object_pattern","material_library_pattern","material_use_pattern","ParserState","state","objects","object","vertices","normals","colors","uvs","materialLibraries","startObject","name","fromDeclaration","previousMaterial","currentMaterial","undefined","_finalize","geometry","materials","smooth","startMaterial","libraries","previous","inherited","groupCount","splice","index","material","length","mtllib","Array","isArray","groupStart","groupEnd","clone","cloned","bind","push","end","lastMultiMaterial","mi","declared","finalize","parseVertexIndex","value","len","parseInt","parseNormalIndex","parseUVIndex","addVertex","a","b","c","src","dst","addVertexPoint","addVertexLine","addNormal","addColor","addUV","addUVLine","addFace","ua","ub","uc","na","nb","nc","vLen","ia","ib","ic","uvLen","nLen","addPointGeometry","type","vi","l","addLineGeometry","uvi","manager","DefaultLoadingManager","prototype","constructor","load","url","onLoad","onProgress","onError","scope","loader","FileLoader","setPath","path","text","parse","setMaterials","console","time","indexOf","replace","lines","split","line","lineFirstChar","lineLength","result","trimLeft","i","trim","charAt","data","parseFloat","lineData","substr","vertexData","faceVertices","j","jl","vertex","vertexParts","v1","v2","v3","lineParts","substring","lineVertices","lineUVs","li","llen","parts","pointData","exec","test","toLowerCase","Error","container","Group","concat","isLine","isPoints","hasVertexColors","buffergeometry","BufferGeometry","addAttribute","Float32BufferAttribute","computeVertexNormals","createdMaterials","miLen","sourceMaterial","create","LineBasicMaterial","materialLine","copy","lights","PointsMaterial","materialPoints","size","sizeAttenuation","MeshPhongMaterial","flatShading","vertexColors","VertexColors","NoColors","mesh","addGroup","LineSegments","Points","Mesh","add","timeEnd","module","exports"],"sources":["../../../src/catalog/utils/obj-loader.js"],"sourcesContent":["/**\r\n * @author mrdoob / http://mrdoob.com/\r\n */\r\nvar THREE = window.THREE || require('three');\r\nlet OBJLoader;\r\nOBJLoader = (function () {\r\n // o object_name | g group_name\r\n var object_pattern = /^[og]\\s*(.+)?/;\r\n // mtllib file_reference\r\n var material_library_pattern = /^mtllib /;\r\n // usemtl material_name\r\n var material_use_pattern = /^usemtl /;\r\n function ParserState() {\r\n var state = {\r\n objects: [],\r\n object: {},\r\n vertices: [],\r\n normals: [],\r\n colors: [],\r\n uvs: [],\r\n materialLibraries: [],\r\n startObject: function (name, fromDeclaration) {\r\n // If the current object (initial from reset) is not from a g/o declaration in the parsed\r\n // file. We need to use it for the first parsed g/o to keep things in sync.\r\n if (this.object && this.object.fromDeclaration === false) {\r\n this.object.name = name;\r\n this.object.fromDeclaration = fromDeclaration !== false;\r\n return;\r\n }\r\n var previousMaterial =\r\n this.object && typeof this.object.currentMaterial === 'function'\r\n ? this.object.currentMaterial()\r\n : undefined;\r\n if (this.object && typeof this.object._finalize === 'function') {\r\n this.object._finalize(true);\r\n }\r\n this.object = {\r\n name: name || '',\r\n fromDeclaration: fromDeclaration !== false,\r\n geometry: {\r\n vertices: [],\r\n normals: [],\r\n colors: [],\r\n uvs: []\r\n },\r\n materials: [],\r\n smooth: true,\r\n startMaterial: function (name, libraries) {\r\n var previous = this._finalize(false);\r\n // New usemtl declaration overwrites an inherited material, except if faces were declared\r\n // after the material, then it must be preserved for proper MultiMaterial continuation.\r\n if (previous && (previous.inherited || previous.groupCount <= 0)) {\r\n this.materials.splice(previous.index, 1);\r\n }\r\n var material = {\r\n index: this.materials.length,\r\n name: name || '',\r\n mtllib:\r\n Array.isArray(libraries) && libraries.length > 0\r\n ? libraries[libraries.length - 1]\r\n : '',\r\n smooth: previous !== undefined ? previous.smooth : this.smooth,\r\n groupStart: previous !== undefined ? previous.groupEnd : 0,\r\n groupEnd: -1,\r\n groupCount: -1,\r\n inherited: false,\r\n clone: function (index) {\r\n var cloned = {\r\n index: typeof index === 'number' ? index : this.index,\r\n name: this.name,\r\n mtllib: this.mtllib,\r\n smooth: this.smooth,\r\n groupStart: 0,\r\n groupEnd: -1,\r\n groupCount: -1,\r\n inherited: false\r\n };\r\n cloned.clone = this.clone.bind(cloned);\r\n return cloned;\r\n }\r\n };\r\n this.materials.push(material);\r\n return material;\r\n },\r\n currentMaterial: function () {\r\n if (this.materials.length > 0) {\r\n return this.materials[this.materials.length - 1];\r\n }\r\n return undefined;\r\n },\r\n _finalize: function (end) {\r\n var lastMultiMaterial = this.currentMaterial();\r\n if (lastMultiMaterial && lastMultiMaterial.groupEnd === -1) {\r\n lastMultiMaterial.groupEnd = this.geometry.vertices.length / 3;\r\n lastMultiMaterial.groupCount =\r\n lastMultiMaterial.groupEnd - lastMultiMaterial.groupStart;\r\n lastMultiMaterial.inherited = false;\r\n }\r\n // Ignore objects tail materials if no face declarations followed them before a new o/g started.\r\n if (end && this.materials.length > 1) {\r\n for (var mi = this.materials.length - 1; mi >= 0; mi--) {\r\n if (this.materials[mi].groupCount <= 0) {\r\n this.materials.splice(mi, 1);\r\n }\r\n }\r\n }\r\n // Guarantee at least one empty material, this makes the creation later more straight forward.\r\n if (end && this.materials.length === 0) {\r\n this.materials.push({\r\n name: '',\r\n smooth: this.smooth\r\n });\r\n }\r\n return lastMultiMaterial;\r\n }\r\n };\r\n // Inherit previous objects material.\r\n // Spec tells us that a declared material must be set to all objects until a new material is declared.\r\n // If a usemtl declaration is encountered while this new object is being parsed, it will\r\n // overwrite the inherited material. Exception being that there was already face declarations\r\n // to the inherited material, then it will be preserved for proper MultiMaterial continuation.\r\n if (\r\n previousMaterial &&\r\n previousMaterial.name &&\r\n typeof previousMaterial.clone === 'function'\r\n ) {\r\n var declared = previousMaterial.clone(0);\r\n declared.inherited = true;\r\n this.object.materials.push(declared);\r\n }\r\n this.objects.push(this.object);\r\n },\r\n finalize: function () {\r\n if (this.object && typeof this.object._finalize === 'function') {\r\n this.object._finalize(true);\r\n }\r\n },\r\n parseVertexIndex: function (value, len) {\r\n var index = parseInt(value, 10);\r\n return (index >= 0 ? index - 1 : index + len / 3) * 3;\r\n },\r\n parseNormalIndex: function (value, len) {\r\n var index = parseInt(value, 10);\r\n return (index >= 0 ? index - 1 : index + len / 3) * 3;\r\n },\r\n parseUVIndex: function (value, len) {\r\n var index = parseInt(value, 10);\r\n return (index >= 0 ? index - 1 : index + len / 2) * 2;\r\n },\r\n addVertex: function (a, b, c) {\r\n var src = this.vertices;\r\n var dst = this.object.geometry.vertices;\r\n dst.push(src[a + 0], src[a + 1], src[a + 2]);\r\n dst.push(src[b + 0], src[b + 1], src[b + 2]);\r\n dst.push(src[c + 0], src[c + 1], src[c + 2]);\r\n },\r\n addVertexPoint: function (a) {\r\n var src = this.vertices;\r\n var dst = this.object.geometry.vertices;\r\n dst.push(src[a + 0], src[a + 1], src[a + 2]);\r\n },\r\n addVertexLine: function (a) {\r\n var src = this.vertices;\r\n var dst = this.object.geometry.vertices;\r\n dst.push(src[a + 0], src[a + 1], src[a + 2]);\r\n },\r\n addNormal: function (a, b, c) {\r\n var src = this.normals;\r\n var dst = this.object.geometry.normals;\r\n dst.push(src[a + 0], src[a + 1], src[a + 2]);\r\n dst.push(src[b + 0], src[b + 1], src[b + 2]);\r\n dst.push(src[c + 0], src[c + 1], src[c + 2]);\r\n },\r\n addColor: function (a, b, c) {\r\n var src = this.colors;\r\n var dst = this.object.geometry.colors;\r\n dst.push(src[a + 0], src[a + 1], src[a + 2]);\r\n dst.push(src[b + 0], src[b + 1], src[b + 2]);\r\n dst.push(src[c + 0], src[c + 1], src[c + 2]);\r\n },\r\n addUV: function (a, b, c) {\r\n var src = this.uvs;\r\n var dst = this.object.geometry.uvs;\r\n dst.push(src[a + 0], src[a + 1]);\r\n dst.push(src[b + 0], src[b + 1]);\r\n dst.push(src[c + 0], src[c + 1]);\r\n },\r\n addUVLine: function (a) {\r\n var src = this.uvs;\r\n var dst = this.object.geometry.uvs;\r\n dst.push(src[a + 0], src[a + 1]);\r\n },\r\n addFace: function (a, b, c, ua, ub, uc, na, nb, nc) {\r\n var vLen = this.vertices.length;\r\n var ia = this.parseVertexIndex(a, vLen);\r\n var ib = this.parseVertexIndex(b, vLen);\r\n var ic = this.parseVertexIndex(c, vLen);\r\n this.addVertex(ia, ib, ic);\r\n if (ua !== undefined && ua !== '') {\r\n var uvLen = this.uvs.length;\r\n ia = this.parseUVIndex(ua, uvLen);\r\n ib = this.parseUVIndex(ub, uvLen);\r\n ic = this.parseUVIndex(uc, uvLen);\r\n this.addUV(ia, ib, ic);\r\n }\r\n if (na !== undefined && na !== '') {\r\n // Normals are many times the same. If so, skip function call and parseInt.\r\n var nLen = this.normals.length;\r\n ia = this.parseNormalIndex(na, nLen);\r\n ib = na === nb ? ia : this.parseNormalIndex(nb, nLen);\r\n ic = na === nc ? ia : this.parseNormalIndex(nc, nLen);\r\n this.addNormal(ia, ib, ic);\r\n }\r\n if (this.colors.length > 0) {\r\n this.addColor(ia, ib, ic);\r\n }\r\n },\r\n addPointGeometry: function (vertices) {\r\n this.object.geometry.type = 'Points';\r\n var vLen = this.vertices.length;\r\n for (var vi = 0, l = vertices.length; vi < l; vi++) {\r\n this.addVertexPoint(this.parseVertexIndex(vertices[vi], vLen));\r\n }\r\n },\r\n addLineGeometry: function (vertices, uvs) {\r\n this.object.geometry.type = 'Line';\r\n var vLen = this.vertices.length;\r\n var uvLen = this.uvs.length;\r\n for (var vi = 0, l = vertices.length; vi < l; vi++) {\r\n this.addVertexLine(this.parseVertexIndex(vertices[vi], vLen));\r\n }\r\n for (var uvi = 0, l = uvs.length; uvi < l; uvi++) {\r\n this.addUVLine(this.parseUVIndex(uvs[uvi], uvLen));\r\n }\r\n }\r\n };\r\n state.startObject('', false);\r\n return state;\r\n }\r\n //\r\n function OBJLoader(manager) {\r\n this.manager =\r\n manager !== undefined ? manager : THREE.DefaultLoadingManager;\r\n this.materials = null;\r\n }\r\n OBJLoader.prototype = {\r\n constructor: OBJLoader,\r\n load: function (url, onLoad, onProgress, onError) {\r\n var scope = this;\r\n var loader = new THREE.FileLoader(scope.manager);\r\n loader.setPath(this.path);\r\n loader.load(\r\n url,\r\n function (text) {\r\n onLoad(scope.parse(text));\r\n },\r\n onProgress,\r\n onError\r\n );\r\n },\r\n setPath: function (value) {\r\n this.path = value;\r\n },\r\n setMaterials: function (materials) {\r\n this.materials = materials;\r\n return this;\r\n },\r\n parse: function (text) {\r\n console.time('OBJLoader');\r\n var state = new ParserState();\r\n if (text.indexOf('\\r\\n') !== -1) {\r\n // This is faster than String.split with regex that splits on both\r\n text = text.replace(/\\r\\n/g, '\\n');\r\n }\r\n if (text.indexOf('\\\\\\n') !== -1) {\r\n // join lines separated by a line continuation character (\\)\r\n text = text.replace(/\\\\\\n/g, '');\r\n }\r\n var lines = text.split('\\n');\r\n var line = '',\r\n lineFirstChar = '';\r\n var lineLength = 0;\r\n var result = [];\r\n // Faster to just trim left side of the line. Use if available.\r\n var trimLeft = typeof ''.trimLeft === 'function';\r\n for (var i = 0, l = lines.length; i < l; i++) {\r\n line = lines[i];\r\n line = trimLeft ? line.trimLeft() : line.trim();\r\n lineLength = line.length;\r\n if (lineLength === 0) continue;\r\n lineFirstChar = line.charAt(0);\r\n // @todo invoke passed in handler if any\r\n if (lineFirstChar === '#') continue;\r\n if (lineFirstChar === 'v') {\r\n var data = line.split(/\\s+/);\r\n switch (data[0]) {\r\n case 'v':\r\n state.vertices.push(\r\n parseFloat(data[1]),\r\n parseFloat(data[2]),\r\n parseFloat(data[3])\r\n );\r\n if (data.length === 8) {\r\n state.colors.push(\r\n parseFloat(data[4]),\r\n parseFloat(data[5]),\r\n parseFloat(data[6])\r\n );\r\n }\r\n break;\r\n case 'vn':\r\n state.normals.push(\r\n parseFloat(data[1]),\r\n parseFloat(data[2]),\r\n parseFloat(data[3])\r\n );\r\n break;\r\n case 'vt':\r\n state.uvs.push(parseFloat(data[1]), parseFloat(data[2]));\r\n break;\r\n }\r\n } else if (lineFirstChar === 'f') {\r\n var lineData = line.substr(1).trim();\r\n var vertexData = lineData.split(/\\s+/);\r\n var faceVertices = [];\r\n // Parse the face vertex data into an easy to work with format\r\n for (var j = 0, jl = vertexData.length; j < jl; j++) {\r\n var vertex = vertexData[j];\r\n if (vertex.length > 0) {\r\n var vertexParts = vertex.split('/');\r\n faceVertices.push(vertexParts);\r\n }\r\n }\r\n // Draw an edge between the first vertex and all subsequent vertices to form an n-gon\r\n var v1 = faceVertices[0];\r\n for (var j = 1, jl = faceVertices.length - 1; j < jl; j++) {\r\n var v2 = faceVertices[j];\r\n var v3 = faceVertices[j + 1];\r\n state.addFace(\r\n v1[0],\r\n v2[0],\r\n v3[0],\r\n v1[1],\r\n v2[1],\r\n v3[1],\r\n v1[2],\r\n v2[2],\r\n v3[2]\r\n );\r\n }\r\n } else if (lineFirstChar === 'l') {\r\n var lineParts = line.substring(1).trim().split(' ');\r\n var lineVertices = [],\r\n lineUVs = [];\r\n if (line.indexOf('/') === -1) {\r\n lineVertices = lineParts;\r\n } else {\r\n for (var li = 0, llen = lineParts.length; li < llen; li++) {\r\n var parts = lineParts[li].split('/');\r\n if (parts[0] !== '') lineVertices.push(parts[0]);\r\n if (parts[1] !== '') lineUVs.push(parts[1]);\r\n }\r\n }\r\n state.addLineGeometry(lineVertices, lineUVs);\r\n } else if (lineFirstChar === 'p') {\r\n var lineData = line.substr(1).trim();\r\n var pointData = lineData.split(' ');\r\n state.addPointGeometry(pointData);\r\n } else if ((result = object_pattern.exec(line)) !== null) {\r\n // o object_name\r\n // or\r\n // g group_name\r\n // WORKAROUND: https://bugs.chromium.org/p/v8/issues/detail?id=2869\r\n // var name = result[ 0 ].substr( 1 ).trim();\r\n var name = (' ' + result[0].substr(1).trim()).substr(1);\r\n state.startObject(name);\r\n } else if (material_use_pattern.test(line)) {\r\n // material\r\n state.object.startMaterial(\r\n line.substring(7).trim(),\r\n state.materialLibraries\r\n );\r\n } else if (material_library_pattern.test(line)) {\r\n // mtl file\r\n state.materialLibraries.push(line.substring(7).trim());\r\n } else if (lineFirstChar === 's') {\r\n result = line.split(' ');\r\n // smooth shading\r\n // @todo Handle files that have varying smooth values for a set of faces inside one geometry,\r\n // but does not define a usemtl for each face set.\r\n // This should be detected and a dummy material created (later MultiMaterial and geometry groups).\r\n // This requires some care to not create extra material on each smooth value for \"normal\" obj files.\r\n // where explicit usemtl defines geometry groups.\r\n // Example asset: examples/models/obj/cerberus/Cerberus.obj\r\n /*\r\n * http://paulbourke.net/dataformats/obj/\r\n * or\r\n * http://www.cs.utah.edu/~boulos/cs3505/obj_spec.pdf\r\n *\r\n * From chapter \"Grouping\" Syntax explanation \"s group_number\":\r\n * \"group_number is the smoothing group number. To turn off smoothing groups, use a value of 0 or off.\r\n * Polygonal elements use group numbers to put elements in different smoothing groups. For free-form\r\n * surfaces, smoothing groups are either turned on or off; there is no difference between values greater\r\n * than 0.\"\r\n */\r\n if (result.length > 1) {\r\n var value = result[1].trim().toLowerCase();\r\n state.object.smooth = value !== '0' && value !== 'off';\r\n } else {\r\n // ZBrush can produce \"s\" lines #11707\r\n state.object.smooth = true;\r\n }\r\n var material = state.object.currentMaterial();\r\n if (material) material.smooth = state.object.smooth;\r\n } else {\r\n // Handle null terminated files without exception\r\n if (line === '\\0') continue;\r\n throw new Error('THREE.OBJLoader: Unexpected line: \"' + line + '\"');\r\n }\r\n }\r\n state.finalize();\r\n var container = new THREE.Group();\r\n container.materialLibraries = [].concat(state.materialLibraries);\r\n for (var i = 0, l = state.objects.length; i < l; i++) {\r\n var object = state.objects[i];\r\n var geometry = object.geometry;\r\n var materials = object.materials;\r\n var isLine = geometry.type === 'Line';\r\n var isPoints = geometry.type === 'Points';\r\n var hasVertexColors = false;\r\n // Skip o/g line declarations that did not follow with any faces\r\n if (geometry.vertices.length === 0) continue;\r\n var buffergeometry = new THREE.BufferGeometry();\r\n buffergeometry.addAttribute(\r\n 'position',\r\n new THREE.Float32BufferAttribute(geometry.vertices, 3)\r\n );\r\n if (geometry.normals.length > 0) {\r\n buffergeometry.addAttribute(\r\n 'normal',\r\n new THREE.Float32BufferAttribute(geometry.normals, 3)\r\n );\r\n } else {\r\n buffergeometry.computeVertexNormals();\r\n }\r\n if (geometry.colors.length > 0) {\r\n hasVertexColors = true;\r\n buffergeometry.addAttribute(\r\n 'color',\r\n new THREE.Float32BufferAttribute(geometry.colors, 3)\r\n );\r\n }\r\n if (geometry.uvs.length > 0) {\r\n buffergeometry.addAttribute(\r\n 'uv',\r\n new THREE.Float32BufferAttribute(geometry.uvs, 2)\r\n );\r\n }\r\n // Create materials\r\n var createdMaterials = [];\r\n for (var mi = 0, miLen = materials.length; mi < miLen; mi++) {\r\n var sourceMaterial = materials[mi];\r\n var material = undefined;\r\n if (this.materials !== null) {\r\n material = this.materials.create(sourceMaterial.name);\r\n // mtl etc. loaders probably can't create line materials correctly, copy properties to a line material.\r\n if (\r\n isLine &&\r\n material &&\r\n !(material instanceof THREE.LineBasicMaterial)\r\n ) {\r\n var materialLine = new THREE.LineBasicMaterial();\r\n materialLine.copy(material);\r\n materialLine.lights = false; // TOFIX\r\n material = materialLine;\r\n } else if (\r\n isPoints &&\r\n material &&\r\n !(material instanceof THREE.PointsMaterial)\r\n ) {\r\n var materialPoints = new THREE.PointsMaterial({\r\n size: 10,\r\n sizeAttenuation: false\r\n });\r\n materialLine.copy(material);\r\n material = materialPoints;\r\n }\r\n }\r\n if (!material) {\r\n if (isLine) {\r\n material = new THREE.LineBasicMaterial();\r\n } else if (isPoints) {\r\n material = new THREE.PointsMaterial({\r\n size: 1,\r\n sizeAttenuation: false\r\n });\r\n } else {\r\n material = new THREE.MeshPhongMaterial();\r\n }\r\n material.name = sourceMaterial.name;\r\n }\r\n material.flatShading = sourceMaterial.smooth ? false : true;\r\n material.vertexColors = hasVertexColors\r\n ? THREE.VertexColors\r\n : THREE.NoColors;\r\n createdMaterials.push(material);\r\n }\r\n // Create mesh\r\n var mesh;\r\n if (createdMaterials.length > 1) {\r\n for (var mi = 0, miLen = materials.length; mi < miLen; mi++) {\r\n var sourceMaterial = materials[mi];\r\n buffergeometry.addGroup(\r\n sourceMaterial.groupStart,\r\n sourceMaterial.groupCount,\r\n mi\r\n );\r\n }\r\n if (isLine) {\r\n mesh = new THREE.LineSegments(buffergeometry, createdMaterials);\r\n } else if (isPoints) {\r\n mesh = new THREE.Points(buffergeometry, createdMaterials);\r\n } else {\r\n mesh = new THREE.Mesh(buffergeometry, createdMaterials);\r\n }\r\n } else {\r\n if (isLine) {\r\n mesh = new THREE.LineSegments(buffergeometry, createdMaterials[0]);\r\n } else if (isPoints) {\r\n mesh = new THREE.Points(buffergeometry, createdMaterials[0]);\r\n } else {\r\n mesh = new THREE.Mesh(buffergeometry, createdMaterials[0]);\r\n }\r\n }\r\n mesh.name = object.name;\r\n container.add(mesh);\r\n }\r\n console.timeEnd('OBJLoader');\r\n return container;\r\n }\r\n };\r\n return OBJLoader;\r\n})();\r\nmodule.exports = OBJLoader;\r\n"],"mappings":"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","ignoreList":[]}