kitchen-simulator 5.0.0-test.5 → 5.0.0-test.7

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 (1092) hide show
  1. package/package.json +34 -41
  2. package/src/@history.js +3 -0
  3. package/src/AppContext.js +5 -0
  4. package/src/KitchenConfigurator.jsx +1517 -0
  5. package/src/KitchenConfiguratorApp.jsx +443 -0
  6. package/src/actions/area-actions.js +15 -0
  7. package/src/actions/export.js +38 -0
  8. package/src/actions/groups-actions.js +102 -0
  9. package/src/actions/holes-actions.js +152 -0
  10. package/src/actions/items-actions.js +393 -0
  11. package/src/actions/lines-actions.js +103 -0
  12. package/src/actions/project-actions.js +391 -0
  13. package/src/actions/scene-actions.js +44 -0
  14. package/src/actions/user-actions.js +75 -0
  15. package/src/actions/vertices-actions.js +34 -0
  16. package/src/actions/viewer2d-actions.js +79 -0
  17. package/src/actions/viewer3d-actions.js +32 -0
  18. package/src/catalog/areas/area/planner-element.jsx +43 -0
  19. package/src/catalog/catalog.js +258 -0
  20. package/src/catalog/factories/area-factory-3d.js +252 -0
  21. package/src/catalog/factories/area-factory.jsx +102 -0
  22. package/src/catalog/factories/export.js +9 -0
  23. package/src/catalog/factories/wall-factory-3d.js +296 -0
  24. package/src/catalog/factories/wall-factory.jsx +321 -0
  25. package/src/catalog/holes/door-closet/planner-element.jsx +251 -0
  26. package/src/catalog/holes/door-double/planner-element.jsx +391 -0
  27. package/src/catalog/holes/door-exterior/planner-element.jsx +245 -0
  28. package/src/catalog/holes/door-interior/planner-element.jsx +256 -0
  29. package/src/catalog/holes/door-panic/planner-element.jsx +594 -0
  30. package/src/catalog/holes/door-panic-double/planner-element.jsx +574 -0
  31. package/src/catalog/holes/door-sliding/planner-element.jsx +256 -0
  32. package/src/catalog/holes/doorway-framed/planner-element.jsx +169 -0
  33. package/src/catalog/holes/doorway-frameless/planner-element.jsx +116 -0
  34. package/src/catalog/holes/window-clear/planner-element.jsx +181 -0
  35. package/src/catalog/holes/window-cross/planner-element.jsx +180 -0
  36. package/src/catalog/holes/window-double-hung/planner-element.jsx +366 -0
  37. package/src/catalog/holes/window-vertical/planner-element.jsx +290 -0
  38. package/src/catalog/lines/wall/planner-element.jsx +73 -0
  39. package/src/catalog/molding/molding-dcm/planner-element.jsx +35 -0
  40. package/src/catalog/molding/molding-fbm/planner-element.jsx +35 -0
  41. package/src/catalog/molding/molding-lrm/planner-element.jsx +35 -0
  42. package/src/catalog/properties/export.js +33 -0
  43. package/src/catalog/properties/property-checkbox.jsx +123 -0
  44. package/src/catalog/properties/property-color.jsx +52 -0
  45. package/src/catalog/properties/property-enum.jsx +87 -0
  46. package/src/catalog/properties/property-hidden.jsx +22 -0
  47. package/src/catalog/properties/property-lenght-measure.jsx +113 -0
  48. package/src/catalog/properties/property-length-measure.jsx +129 -0
  49. package/src/catalog/properties/property-length-measure_hole.jsx +110 -0
  50. package/src/catalog/properties/property-number.jsx +63 -0
  51. package/src/catalog/properties/property-read-only.jsx +37 -0
  52. package/src/catalog/properties/property-string.jsx +59 -0
  53. package/src/catalog/properties/property-toggle.jsx +51 -0
  54. package/src/catalog/properties/shared-property-style.js +13 -0
  55. package/src/catalog/utils/FuseUtils.js +61 -0
  56. package/src/catalog/utils/exporter.js +173 -0
  57. package/src/catalog/utils/geom-utils.js +301 -0
  58. package/src/catalog/utils/item-loader.jsx +2122 -0
  59. package/src/catalog/utils/load-obj.js +113 -0
  60. package/src/catalog/utils/mtl-loader.js +462 -0
  61. package/src/catalog/utils/obj-loader.js +544 -0
  62. package/src/class/FuseUtils.js +61 -0
  63. package/src/class/area.js +159 -0
  64. package/src/class/export.js +37 -0
  65. package/src/class/group.js +565 -0
  66. package/src/class/guide.js +44 -0
  67. package/src/class/hole.js +1359 -0
  68. package/src/class/item.js +2050 -0
  69. package/src/class/layer.js +926 -0
  70. package/src/class/line.js +1780 -0
  71. package/src/class/project.js +875 -0
  72. package/src/class/vertex.js +409 -0
  73. package/src/components/atoms/Snackbar/index.jsx +43 -0
  74. package/src/components/atoms/radio-button/index.jsx +20 -0
  75. package/src/components/atoms/radio-button/styles.js +56 -0
  76. package/src/components/button/MainButton.jsx +157 -0
  77. package/src/components/button/ToggleMeasureButton.jsx +65 -0
  78. package/src/components/catalog-view/catalog-breadcrumb.jsx +53 -0
  79. package/src/components/catalog-view/catalog-item.jsx +229 -0
  80. package/src/components/catalog-view/catalog-list.jsx +173 -0
  81. package/src/components/catalog-view/catalog-page-item.jsx +110 -0
  82. package/src/components/catalog-view/catalog-turn-back-page-item.jsx +80 -0
  83. package/src/components/configurator/custom-configurator.jsx +77 -0
  84. package/src/components/configurator/project-configurator.jsx +120 -0
  85. package/src/components/content.jsx +136 -0
  86. package/src/components/export.js +36 -0
  87. package/src/components/firstsetting/button/styles.js +223 -0
  88. package/src/components/firstsetting/export.js +9 -0
  89. package/src/components/firstsetting/firstsetting-content-button.jsx +198 -0
  90. package/src/components/firstsetting/firstsetting-toggle-button.jsx +101 -0
  91. package/src/components/firstsetting/firstsetting.jsx +814 -0
  92. package/src/components/footerbar/button/ControlButton.jsx +43 -0
  93. package/src/components/footerbar/button/DirectionButton.jsx +54 -0
  94. package/src/components/footerbar/button/DirectionPanSpinButton.jsx +36 -0
  95. package/src/components/footerbar/button/ToggleButton.jsx +58 -0
  96. package/src/components/footerbar/button/ToggleConvertButton.jsx +48 -0
  97. package/src/components/footerbar/button/ToggleMeasureButton.jsx +33 -0
  98. package/src/components/footerbar/button/styles.js +217 -0
  99. package/src/components/footerbar/export.js +9 -0
  100. package/src/components/footerbar/footer-content-button.jsx +198 -0
  101. package/src/components/footerbar/footer-toggle-button.jsx +101 -0
  102. package/src/components/footerbar/footerbar.jsx +1103 -0
  103. package/src/components/footerbar/styles.js +263 -0
  104. package/src/components/header/button/MenuButton.jsx +46 -0
  105. package/src/components/header/button/SaveButton.jsx +54 -0
  106. package/src/components/header/button/styles.js +181 -0
  107. package/src/components/header/export.js +5 -0
  108. package/src/components/header/header.jsx +631 -0
  109. package/src/components/header/styles.js +320 -0
  110. package/src/components/login/Login.js +77 -0
  111. package/src/components/login/LoginForm/index.js +108 -0
  112. package/src/components/login/Register.js +83 -0
  113. package/src/components/login/RegisterForm/index.js +171 -0
  114. package/src/components/login/jwtService.js +201 -0
  115. package/src/components/molecules/slider/index.jsx +15 -0
  116. package/src/components/molecules/slider/styles.js +0 -0
  117. package/src/components/myprojects/export.js +5 -0
  118. package/src/components/myprojects/index.jsx +445 -0
  119. package/src/components/myprojects/styles.js +241 -0
  120. package/src/components/sidebar/custom-accordion.jsx +48 -0
  121. package/src/components/sidebar/export.js +15 -0
  122. package/src/components/sidebar/panel-element-editor/attributes-editor/attributes-editor.jsx +73 -0
  123. package/src/components/sidebar/panel-element-editor/attributes-editor/confirm-popup.jsx +101 -0
  124. package/src/components/sidebar/panel-element-editor/attributes-editor/hole-attributes-editor.jsx +149 -0
  125. package/src/components/sidebar/panel-element-editor/attributes-editor/item-attributes-editor.jsx +316 -0
  126. package/src/components/sidebar/panel-element-editor/attributes-editor/line-attributes-editor.jsx +108 -0
  127. package/src/components/sidebar/panel-element-editor/element-editor.jsx +1070 -0
  128. package/src/components/sidebar/panel-element-editor/multi-elements-editor.jsx +0 -0
  129. package/src/components/sidebar/panel-element-editor/panel-element-editor.jsx +104 -0
  130. package/src/components/sidebar/panel-element-editor/panel-multi-elements-editor.jsx +155 -0
  131. package/src/components/sidebar/panel-group-editor.jsx +272 -0
  132. package/src/components/sidebar/panel-groups.jsx +310 -0
  133. package/src/components/sidebar/panel-guides.jsx +192 -0
  134. package/src/components/sidebar/panel-layer-elements.jsx +298 -0
  135. package/src/components/sidebar/panel-layers.jsx +381 -0
  136. package/src/components/sidebar/panel.jsx +71 -0
  137. package/src/components/sidebar/sidebar.jsx +106 -0
  138. package/src/components/sidebar/toolbar-panel.jsx +139 -0
  139. package/src/components/sign/export.js +7 -0
  140. package/src/components/sign/main/index.jsx +523 -0
  141. package/src/components/sign/main/styles.js +163 -0
  142. package/src/components/style/button.jsx +95 -0
  143. package/src/components/style/cancel-button.jsx +20 -0
  144. package/src/components/style/content-container.jsx +29 -0
  145. package/src/components/style/content-title.jsx +20 -0
  146. package/src/components/style/delete-button.jsx +23 -0
  147. package/src/components/style/export.jsx +48 -0
  148. package/src/components/style/form-block.jsx +13 -0
  149. package/src/components/style/form-color-input.jsx +27 -0
  150. package/src/components/style/form-label.jsx +15 -0
  151. package/src/components/style/form-number-input.jsx +196 -0
  152. package/src/components/style/form-number-input_2.jsx +191 -0
  153. package/src/components/style/form-select.jsx +38 -0
  154. package/src/components/style/form-slider.jsx +36 -0
  155. package/src/components/style/form-submit-button.jsx +23 -0
  156. package/src/components/style/form-text-input.jsx +65 -0
  157. package/src/components/toolbar/button/ControlButton.jsx +41 -0
  158. package/src/components/toolbar/button/DirectionButton.jsx +34 -0
  159. package/src/components/toolbar/button/RightButton.jsx +103 -0
  160. package/src/components/toolbar/button/ToggleButton.jsx +41 -0
  161. package/src/components/toolbar/button/index.jsx +55 -0
  162. package/src/components/toolbar/button/styles.js +127 -0
  163. package/src/components/toolbar/components/DoorStyleMenu.jsx +103 -0
  164. package/src/components/toolbar/components/Pricing.jsx +126 -0
  165. package/src/components/toolbar/components/ReviewForQuote.jsx +635 -0
  166. package/src/components/toolbar/export.js +21 -0
  167. package/src/components/toolbar/main/Alert.js +122 -0
  168. package/src/components/toolbar/main/TakePictureModal.jsx +104 -0
  169. package/src/components/toolbar/main/confirm-popup.jsx +99 -0
  170. package/src/components/toolbar/main/index.jsx +5627 -0
  171. package/src/components/toolbar/main/myComponents.js +123 -0
  172. package/src/components/toolbar/main/styles.js +696 -0
  173. package/src/components/toolbar/plugin-item.jsx +123 -0
  174. package/src/components/toolbar/popup/appliance/appliance-category/index.jsx +73 -0
  175. package/src/components/toolbar/popup/appliance/choose-appliance/index.jsx +102 -0
  176. package/src/components/toolbar/popup/appliance/index.jsx +83 -0
  177. package/src/components/toolbar/popup/autosaveprompt/index.jsx +150 -0
  178. package/src/components/toolbar/popup/autosaveprompt/styles.js +40 -0
  179. package/src/components/toolbar/popup/cabinet/cabinet-category/index.jsx +73 -0
  180. package/src/components/toolbar/popup/cabinet/choose-product/index.jsx +119 -0
  181. package/src/components/toolbar/popup/cabinet/index.jsx +85 -0
  182. package/src/components/toolbar/popup/doorStyle/choose-style/index.jsx +63 -0
  183. package/src/components/toolbar/popup/doorStyle/index.jsx +71 -0
  184. package/src/components/toolbar/popup/doorStyle/style-category/index.jsx +139 -0
  185. package/src/components/toolbar/popup/downloadsummary/downloadSummaryContext.js +2 -0
  186. package/src/components/toolbar/popup/downloadsummary/downloadSummaryTemp.jsx +157 -0
  187. package/src/components/toolbar/popup/downloadsummary/index.jsx +643 -0
  188. package/src/components/toolbar/popup/downloadsummary/show2D/show2DView.jsx +51 -0
  189. package/src/components/toolbar/popup/downloadsummary/show2D/viewer2DDownLoad.jsx +175 -0
  190. package/src/components/toolbar/popup/downloadsummary/show3D/show3DView.jsx +283 -0
  191. package/src/components/toolbar/popup/downloadsummary/show3D/viewer3DDownLoad.jsx +2257 -0
  192. package/src/components/toolbar/popup/downloadsummary/showCabinetInfo.js +93 -0
  193. package/src/components/toolbar/popup/downloadsummary/showElevation/showElevationView.jsx +132 -0
  194. package/src/components/toolbar/popup/downloadsummary/showElevation/viewer3DElevationDownload.jsx +2198 -0
  195. package/src/components/toolbar/popup/downloadsummary/showElevation/viewerElevationDownload.jsx +152 -0
  196. package/src/components/toolbar/popup/downloadsummary/showWarranty.jsx +149 -0
  197. package/src/components/toolbar/popup/downloadsummary/styles.js +453 -0
  198. package/src/components/toolbar/popup/finishingtouch/category/index.jsx +34 -0
  199. package/src/components/toolbar/popup/finishingtouch/index.jsx +58 -0
  200. package/src/components/toolbar/popup/finishingtouch/material-edit.jsx +112 -0
  201. package/src/components/toolbar/popup/finishingtouch/product/index.jsx +116 -0
  202. package/src/components/toolbar/popup/floorplan/choose-floor/confirm-popup.jsx +101 -0
  203. package/src/components/toolbar/popup/floorplan/choose-floor/index.jsx +254 -0
  204. package/src/components/toolbar/popup/floorplan/choose-floor/styles.js +86 -0
  205. package/src/components/toolbar/popup/floorplan/floor-category/index.jsx +109 -0
  206. package/src/components/toolbar/popup/floorplan/index.jsx +60 -0
  207. package/src/components/toolbar/popup/index.jsx +241 -0
  208. package/src/components/toolbar/popup/newproject/index.jsx +59 -0
  209. package/src/components/toolbar/popup/newproject/styles.js +41 -0
  210. package/src/components/toolbar/popup/product/appliance.jsx +54 -0
  211. package/src/components/toolbar/popup/product/cabinetproduct.jsx +15 -0
  212. package/src/components/toolbar/popup/product/doorstyle.jsx +58 -0
  213. package/src/components/toolbar/popup/product/doorstyleproduct.jsx +47 -0
  214. package/src/components/toolbar/popup/product/floor.jsx +36 -0
  215. package/src/components/toolbar/popup/product/floorproduct.jsx +42 -0
  216. package/src/components/toolbar/popup/product/index.jsx +36 -0
  217. package/src/components/toolbar/popup/product/primary.jsx +77 -0
  218. package/src/components/toolbar/popup/product/productline.jsx +93 -0
  219. package/src/components/toolbar/popup/product/reviewItem.jsx +427 -0
  220. package/src/components/toolbar/popup/product/reviewMolding.jsx +310 -0
  221. package/src/components/toolbar/popup/product/styles.js +260 -0
  222. package/src/components/toolbar/popup/savedesign/FullPictureForm.jsx +146 -0
  223. package/src/components/toolbar/popup/savedesign/index.jsx +495 -0
  224. package/src/components/toolbar/popup/savedesign/styles.js +151 -0
  225. package/src/components/toolbar/popup/setDoorStyleOption/index.jsx +87 -0
  226. package/src/components/toolbar/popup/styles.js +909 -0
  227. package/src/components/toolbar/popup/submitforquote/AddToCartOptions.jsx +192 -0
  228. package/src/components/toolbar/popup/submitforquote/CustomerRequestsForm.jsx +96 -0
  229. package/src/components/toolbar/popup/submitforquote/SkipDesignerReview.jsx +54 -0
  230. package/src/components/toolbar/popup/submitforquote/StepDots.jsx +25 -0
  231. package/src/components/toolbar/popup/submitforquote/cart-choice.jsx +116 -0
  232. package/src/components/toolbar/popup/submitforquote/doorstyle-menus.js +38 -0
  233. package/src/components/toolbar/popup/submitforquote/index.jsx +698 -0
  234. package/src/components/toolbar/popup/submitforquote/styles.js +294 -0
  235. package/src/components/toolbar/popup/submitprompt/index.jsx +89 -0
  236. package/src/components/toolbar/popup/submitprompt/styles.js +42 -0
  237. package/src/components/toolbar/toolbar-button.jsx +90 -0
  238. package/src/components/toolbar/toolbar-load-button.jsx +36 -0
  239. package/src/components/toolbar/toolbar-save-button.jsx +32 -0
  240. package/src/components/tutorial-view/Modal.jsx +584 -0
  241. package/src/components/tutorial-view/styles.js +65 -0
  242. package/src/components/viewer2d/area.jsx +98 -0
  243. package/src/components/viewer2d/export.js +48 -0
  244. package/src/components/viewer2d/grids/grid-horizontal-streak.jsx +40 -0
  245. package/src/components/viewer2d/grids/grid-streak.jsx +32 -0
  246. package/src/components/viewer2d/grids/grid-vertical-streak.jsx +41 -0
  247. package/src/components/viewer2d/grids/grids.jsx +30 -0
  248. package/src/components/viewer2d/group.jsx +57 -0
  249. package/src/components/viewer2d/item.jsx +618 -0
  250. package/src/components/viewer2d/layer.jsx +214 -0
  251. package/src/components/viewer2d/line.jsx +1358 -0
  252. package/src/components/viewer2d/ruler.jsx +136 -0
  253. package/src/components/viewer2d/rulerDist.jsx +192 -0
  254. package/src/components/viewer2d/rulerX.jsx +141 -0
  255. package/src/components/viewer2d/rulerY.jsx +138 -0
  256. package/src/components/viewer2d/scene.jsx +94 -0
  257. package/src/components/viewer2d/snap.jsx +118 -0
  258. package/src/components/viewer2d/state.jsx +77 -0
  259. package/src/components/viewer2d/utils.js +195 -0
  260. package/src/components/viewer2d/vertex.jsx +76 -0
  261. package/src/components/viewer2d/viewer2d.jsx +1830 -0
  262. package/src/components/viewer3d/camera-controls-module/camera-controls.module.js +3078 -0
  263. package/src/components/viewer3d/dcm.js +226 -0
  264. package/src/components/viewer3d/fbm.js +383 -0
  265. package/src/components/viewer3d/front3D.jsx +63 -0
  266. package/src/components/viewer3d/grid-creator.js +25 -0
  267. package/src/components/viewer3d/grids/grid-horizontal-streak.js +41 -0
  268. package/src/components/viewer3d/grids/grid-streak.js +34 -0
  269. package/src/components/viewer3d/grids/grid-vertical-streak.js +42 -0
  270. package/src/components/viewer3d/libs/first-person-controls.js +70 -0
  271. package/src/components/viewer3d/libs/helvetiker_regular.typeface.js +1265 -0
  272. package/src/components/viewer3d/libs/mtl-loader.js +462 -0
  273. package/src/components/viewer3d/libs/obj-loader.js +653 -0
  274. package/src/components/viewer3d/libs/orbit-controls.js +945 -0
  275. package/src/components/viewer3d/libs/pointer-lock-controls.js +67 -0
  276. package/src/components/viewer3d/lrm.js +358 -0
  277. package/src/components/viewer3d/model.js +830 -0
  278. package/src/components/viewer3d/pointer-lock-navigation.js +140 -0
  279. package/src/components/viewer3d/ruler-utils/itemRect.jsx +91 -0
  280. package/src/components/viewer3d/ruler-utils/layer3D.jsx +528 -0
  281. package/src/components/viewer3d/ruler-utils/ruler3D.jsx +218 -0
  282. package/src/components/viewer3d/ruler-utils/scene3D.jsx +87 -0
  283. package/src/components/viewer3d/ruler-utils/state3D.jsx +25 -0
  284. package/src/components/viewer3d/scene-creator.js +5169 -0
  285. package/src/components/viewer3d/three-memory-cleaner.js +65 -0
  286. package/src/components/viewer3d/viewer3d-first-person.js +395 -0
  287. package/src/components/viewer3d/viewer3d.js +3376 -0
  288. package/src/components/wizardstep/button/styles.js +677 -0
  289. package/src/components/wizardstep/export.js +5 -0
  290. package/src/components/wizardstep/index.jsx +1372 -0
  291. package/src/components/wizardstep/styles.js +688 -0
  292. package/src/components/wizardstep/wizardstep-content-button.jsx +198 -0
  293. package/src/components/wizardstep/wizardstep-toggle-button.jsx +101 -0
  294. package/src/constants.js +731 -0
  295. package/src/index.js +32 -0
  296. package/src/models.js +541 -0
  297. package/src/plugins/SVGLoader.js +1991 -0
  298. package/src/plugins/autosave.js +39 -0
  299. package/src/plugins/console-debugger.js +36 -0
  300. package/src/plugins/export.js +11 -0
  301. package/src/plugins/keyboard.js +194 -0
  302. package/src/reducers/areas-reducer.js +13 -0
  303. package/src/reducers/export.js +39 -0
  304. package/src/reducers/groups-reducer.js +73 -0
  305. package/src/reducers/holes-reducer.js +125 -0
  306. package/src/reducers/items-reducer.js +286 -0
  307. package/src/reducers/lines-reducer.js +96 -0
  308. package/src/reducers/project-reducer.js +239 -0
  309. package/src/reducers/reducer.js +59 -0
  310. package/src/reducers/scene-reducer.js +41 -0
  311. package/src/reducers/user-reducer.js +30 -0
  312. package/src/reducers/vertices-reducer.js +34 -0
  313. package/src/reducers/viewer2d-reducer.js +81 -0
  314. package/src/reducers/viewer3d-reducer.js +65 -0
  315. package/src/shared-style.js +72 -0
  316. package/src/translator/en.js +106 -0
  317. package/src/translator/it.js +80 -0
  318. package/src/translator/ru.js +80 -0
  319. package/src/translator/translator.js +81 -0
  320. package/src/utils/browser.js +36 -0
  321. package/src/utils/email-validator.js +5 -0
  322. package/src/utils/export.js +39 -0
  323. package/src/utils/geometry.js +2572 -0
  324. package/src/utils/get-edges-of-subgraphs.js +29 -0
  325. package/src/utils/graph-cycles.js +259 -0
  326. package/src/utils/graph-inner-cycles.js +49 -0
  327. package/src/utils/graph.js +147 -0
  328. package/src/utils/helper.js +431 -0
  329. package/src/utils/history.js +37 -0
  330. package/src/utils/id-broker.js +9 -0
  331. package/src/utils/logger.js +8 -0
  332. package/src/utils/math.js +51 -0
  333. package/src/utils/molding.js +973 -0
  334. package/src/utils/name-generator.js +5 -0
  335. package/src/utils/objects-utils.js +56 -0
  336. package/src/utils/phone-validator.js +4 -0
  337. package/src/utils/process-black-list.js +10 -0
  338. package/src/utils/react-if.jsx +20 -0
  339. package/src/utils/snap-scene.js +102 -0
  340. package/src/utils/snap.js +184 -0
  341. package/src/utils/threeCSG.es6.js +578 -0
  342. package/src/version.js +1 -0
  343. package/es/@history.js +0 -3
  344. package/es/@history.js.map +0 -1
  345. package/es/AppContext.js +0 -4
  346. package/es/AppContext.js.map +0 -1
  347. package/es/KitchenConfigurator.js +0 -1345
  348. package/es/KitchenConfigurator.js.map +0 -1
  349. package/es/KitchenConfiguratorApp.js +0 -532
  350. package/es/KitchenConfiguratorApp.js.map +0 -1
  351. package/es/actions/area-actions.js +0 -15
  352. package/es/actions/area-actions.js.map +0 -1
  353. package/es/actions/export.js +0 -26
  354. package/es/actions/export.js.map +0 -1
  355. package/es/actions/groups-actions.js +0 -90
  356. package/es/actions/groups-actions.js.map +0 -1
  357. package/es/actions/holes-actions.js +0 -120
  358. package/es/actions/holes-actions.js.map +0 -1
  359. package/es/actions/items-actions.js +0 -314
  360. package/es/actions/items-actions.js.map +0 -1
  361. package/es/actions/lines-actions.js +0 -83
  362. package/es/actions/lines-actions.js.map +0 -1
  363. package/es/actions/project-actions.js +0 -282
  364. package/es/actions/project-actions.js.map +0 -1
  365. package/es/actions/scene-actions.js +0 -34
  366. package/es/actions/scene-actions.js.map +0 -1
  367. package/es/actions/user-actions.js +0 -59
  368. package/es/actions/user-actions.js.map +0 -1
  369. package/es/actions/vertices-actions.js +0 -28
  370. package/es/actions/vertices-actions.js.map +0 -1
  371. package/es/actions/viewer2d-actions.js +0 -59
  372. package/es/actions/viewer2d-actions.js.map +0 -1
  373. package/es/actions/viewer3d-actions.js +0 -24
  374. package/es/actions/viewer3d-actions.js.map +0 -1
  375. package/es/catalog/areas/area/planner-element.js +0 -41
  376. package/es/catalog/areas/area/planner-element.js.map +0 -1
  377. package/es/catalog/catalog.js +0 -278
  378. package/es/catalog/catalog.js.map +0 -1
  379. package/es/catalog/factories/area-factory-3d.js +0 -183
  380. package/es/catalog/factories/area-factory-3d.js.map +0 -1
  381. package/es/catalog/factories/area-factory.js +0 -82
  382. package/es/catalog/factories/area-factory.js.map +0 -1
  383. package/es/catalog/factories/export.js +0 -8
  384. package/es/catalog/factories/export.js.map +0 -1
  385. package/es/catalog/factories/wall-factory-3d.js +0 -203
  386. package/es/catalog/factories/wall-factory-3d.js.map +0 -1
  387. package/es/catalog/factories/wall-factory.js +0 -269
  388. package/es/catalog/factories/wall-factory.js.map +0 -1
  389. package/es/catalog/holes/door-closet/planner-element.js +0 -223
  390. package/es/catalog/holes/door-closet/planner-element.js.map +0 -1
  391. package/es/catalog/holes/door-double/planner-element.js +0 -316
  392. package/es/catalog/holes/door-double/planner-element.js.map +0 -1
  393. package/es/catalog/holes/door-exterior/planner-element.js +0 -216
  394. package/es/catalog/holes/door-exterior/planner-element.js.map +0 -1
  395. package/es/catalog/holes/door-interior/planner-element.js +0 -228
  396. package/es/catalog/holes/door-interior/planner-element.js.map +0 -1
  397. package/es/catalog/holes/door-panic/planner-element.js +0 -504
  398. package/es/catalog/holes/door-panic/planner-element.js.map +0 -1
  399. package/es/catalog/holes/door-panic-double/planner-element.js +0 -464
  400. package/es/catalog/holes/door-panic-double/planner-element.js.map +0 -1
  401. package/es/catalog/holes/door-sliding/planner-element.js +0 -226
  402. package/es/catalog/holes/door-sliding/planner-element.js.map +0 -1
  403. package/es/catalog/holes/doorway-framed/planner-element.js +0 -146
  404. package/es/catalog/holes/doorway-framed/planner-element.js.map +0 -1
  405. package/es/catalog/holes/doorway-frameless/planner-element.js +0 -105
  406. package/es/catalog/holes/doorway-frameless/planner-element.js.map +0 -1
  407. package/es/catalog/holes/window-clear/planner-element.js +0 -167
  408. package/es/catalog/holes/window-clear/planner-element.js.map +0 -1
  409. package/es/catalog/holes/window-cross/planner-element.js +0 -166
  410. package/es/catalog/holes/window-cross/planner-element.js.map +0 -1
  411. package/es/catalog/holes/window-double-hung/planner-element.js +0 -304
  412. package/es/catalog/holes/window-double-hung/planner-element.js.map +0 -1
  413. package/es/catalog/holes/window-vertical/planner-element.js +0 -277
  414. package/es/catalog/holes/window-vertical/planner-element.js.map +0 -1
  415. package/es/catalog/lines/wall/planner-element.js +0 -71
  416. package/es/catalog/lines/wall/planner-element.js.map +0 -1
  417. package/es/catalog/molding/molding-dcm/planner-element.js +0 -30
  418. package/es/catalog/molding/molding-dcm/planner-element.js.map +0 -1
  419. package/es/catalog/molding/molding-fbm/planner-element.js +0 -30
  420. package/es/catalog/molding/molding-fbm/planner-element.js.map +0 -1
  421. package/es/catalog/molding/molding-lrm/planner-element.js +0 -30
  422. package/es/catalog/molding/molding-lrm/planner-element.js.map +0 -1
  423. package/es/catalog/properties/export.js +0 -22
  424. package/es/catalog/properties/export.js.map +0 -1
  425. package/es/catalog/properties/property-checkbox.js +0 -72
  426. package/es/catalog/properties/property-checkbox.js.map +0 -1
  427. package/es/catalog/properties/property-color.js +0 -40
  428. package/es/catalog/properties/property-color.js.map +0 -1
  429. package/es/catalog/properties/property-enum.js +0 -56
  430. package/es/catalog/properties/property-enum.js.map +0 -1
  431. package/es/catalog/properties/property-hidden.js +0 -20
  432. package/es/catalog/properties/property-hidden.js.map +0 -1
  433. package/es/catalog/properties/property-lenght-measure.js +0 -102
  434. package/es/catalog/properties/property-lenght-measure.js.map +0 -1
  435. package/es/catalog/properties/property-length-measure.js +0 -86
  436. package/es/catalog/properties/property-length-measure.js.map +0 -1
  437. package/es/catalog/properties/property-length-measure_hole.js +0 -102
  438. package/es/catalog/properties/property-length-measure_hole.js.map +0 -1
  439. package/es/catalog/properties/property-number.js +0 -49
  440. package/es/catalog/properties/property-number.js.map +0 -1
  441. package/es/catalog/properties/property-read-only.js +0 -27
  442. package/es/catalog/properties/property-read-only.js.map +0 -1
  443. package/es/catalog/properties/property-string.js +0 -49
  444. package/es/catalog/properties/property-string.js.map +0 -1
  445. package/es/catalog/properties/property-toggle.js +0 -40
  446. package/es/catalog/properties/property-toggle.js.map +0 -1
  447. package/es/catalog/properties/shared-property-style.js +0 -15
  448. package/es/catalog/properties/shared-property-style.js.map +0 -1
  449. package/es/catalog/utils/FuseUtils.js +0 -83
  450. package/es/catalog/utils/FuseUtils.js.map +0 -1
  451. package/es/catalog/utils/exporter.js +0 -149
  452. package/es/catalog/utils/exporter.js.map +0 -1
  453. package/es/catalog/utils/geom-utils.js +0 -190
  454. package/es/catalog/utils/geom-utils.js.map +0 -1
  455. package/es/catalog/utils/item-loader.js +0 -1522
  456. package/es/catalog/utils/item-loader.js.map +0 -1
  457. package/es/catalog/utils/load-obj.js +0 -92
  458. package/es/catalog/utils/load-obj.js.map +0 -1
  459. package/es/catalog/utils/mtl-loader.js +0 -358
  460. package/es/catalog/utils/mtl-loader.js.map +0 -1
  461. package/es/catalog/utils/obj-loader.js +0 -477
  462. package/es/catalog/utils/obj-loader.js.map +0 -1
  463. package/es/class/FuseUtils.js +0 -83
  464. package/es/class/FuseUtils.js.map +0 -1
  465. package/es/class/area.js +0 -146
  466. package/es/class/area.js.map +0 -1
  467. package/es/class/export.js +0 -25
  468. package/es/class/export.js.map +0 -1
  469. package/es/class/group.js +0 -441
  470. package/es/class/group.js.map +0 -1
  471. package/es/class/guide.js +0 -63
  472. package/es/class/guide.js.map +0 -1
  473. package/es/class/hole.js +0 -931
  474. package/es/class/hole.js.map +0 -1
  475. package/es/class/item.js +0 -1888
  476. package/es/class/item.js.map +0 -1
  477. package/es/class/layer.js +0 -668
  478. package/es/class/layer.js.map +0 -1
  479. package/es/class/line.js +0 -1290
  480. package/es/class/line.js.map +0 -1
  481. package/es/class/project.js +0 -823
  482. package/es/class/project.js.map +0 -1
  483. package/es/class/vertex.js +0 -267
  484. package/es/class/vertex.js.map +0 -1
  485. package/es/components/atoms/Snackbar/index.js +0 -50
  486. package/es/components/atoms/Snackbar/index.js.map +0 -1
  487. package/es/components/atoms/radio-button/index.js +0 -26
  488. package/es/components/atoms/radio-button/index.js.map +0 -1
  489. package/es/components/atoms/radio-button/styles.js +0 -5
  490. package/es/components/atoms/radio-button/styles.js.map +0 -1
  491. package/es/components/button/MainButton.js +0 -92
  492. package/es/components/button/MainButton.js.map +0 -1
  493. package/es/components/button/ToggleMeasureButton.js +0 -56
  494. package/es/components/button/ToggleMeasureButton.js.map +0 -1
  495. package/es/components/catalog-view/catalog-breadcrumb.js +0 -53
  496. package/es/components/catalog-view/catalog-breadcrumb.js.map +0 -1
  497. package/es/components/catalog-view/catalog-item.js +0 -226
  498. package/es/components/catalog-view/catalog-item.js.map +0 -1
  499. package/es/components/catalog-view/catalog-list.js +0 -182
  500. package/es/components/catalog-view/catalog-list.js.map +0 -1
  501. package/es/components/catalog-view/catalog-page-item.js +0 -130
  502. package/es/components/catalog-view/catalog-page-item.js.map +0 -1
  503. package/es/components/catalog-view/catalog-turn-back-page-item.js +0 -106
  504. package/es/components/catalog-view/catalog-turn-back-page-item.js.map +0 -1
  505. package/es/components/configurator/custom-configurator.js +0 -94
  506. package/es/components/configurator/custom-configurator.js.map +0 -1
  507. package/es/components/configurator/project-configurator.js +0 -131
  508. package/es/components/configurator/project-configurator.js.map +0 -1
  509. package/es/components/content.js +0 -123
  510. package/es/components/content.js.map +0 -1
  511. package/es/components/export.js +0 -24
  512. package/es/components/export.js.map +0 -1
  513. package/es/components/firstsetting/button/styles.js +0 -27
  514. package/es/components/firstsetting/button/styles.js.map +0 -1
  515. package/es/components/firstsetting/export.js +0 -9
  516. package/es/components/firstsetting/export.js.map +0 -1
  517. package/es/components/firstsetting/firstsetting-content-button.js +0 -217
  518. package/es/components/firstsetting/firstsetting-content-button.js.map +0 -1
  519. package/es/components/firstsetting/firstsetting-toggle-button.js +0 -126
  520. package/es/components/firstsetting/firstsetting-toggle-button.js.map +0 -1
  521. package/es/components/firstsetting/firstsetting.js +0 -626
  522. package/es/components/firstsetting/firstsetting.js.map +0 -1
  523. package/es/components/footerbar/button/ControlButton.js +0 -72
  524. package/es/components/footerbar/button/ControlButton.js.map +0 -1
  525. package/es/components/footerbar/button/DirectionButton.js +0 -69
  526. package/es/components/footerbar/button/DirectionButton.js.map +0 -1
  527. package/es/components/footerbar/button/DirectionPanSpinButton.js +0 -50
  528. package/es/components/footerbar/button/DirectionPanSpinButton.js.map +0 -1
  529. package/es/components/footerbar/button/ToggleButton.js +0 -76
  530. package/es/components/footerbar/button/ToggleButton.js.map +0 -1
  531. package/es/components/footerbar/button/ToggleConvertButton.js +0 -73
  532. package/es/components/footerbar/button/ToggleConvertButton.js.map +0 -1
  533. package/es/components/footerbar/button/ToggleMeasureButton.js +0 -52
  534. package/es/components/footerbar/button/ToggleMeasureButton.js.map +0 -1
  535. package/es/components/footerbar/button/styles.js +0 -22
  536. package/es/components/footerbar/button/styles.js.map +0 -1
  537. package/es/components/footerbar/export.js +0 -9
  538. package/es/components/footerbar/export.js.map +0 -1
  539. package/es/components/footerbar/footer-content-button.js +0 -217
  540. package/es/components/footerbar/footer-content-button.js.map +0 -1
  541. package/es/components/footerbar/footer-toggle-button.js +0 -126
  542. package/es/components/footerbar/footer-toggle-button.js.map +0 -1
  543. package/es/components/footerbar/footerbar.js +0 -801
  544. package/es/components/footerbar/footerbar.js.map +0 -1
  545. package/es/components/footerbar/styles.js +0 -34
  546. package/es/components/footerbar/styles.js.map +0 -1
  547. package/es/components/header/button/MenuButton.js +0 -70
  548. package/es/components/header/button/MenuButton.js.map +0 -1
  549. package/es/components/header/button/SaveButton.js +0 -48
  550. package/es/components/header/button/SaveButton.js.map +0 -1
  551. package/es/components/header/button/styles.js +0 -59
  552. package/es/components/header/button/styles.js.map +0 -1
  553. package/es/components/header/export.js +0 -5
  554. package/es/components/header/export.js.map +0 -1
  555. package/es/components/header/header.js +0 -550
  556. package/es/components/header/header.js.map +0 -1
  557. package/es/components/header/styles.js +0 -41
  558. package/es/components/header/styles.js.map +0 -1
  559. package/es/components/login/Login.js +0 -86
  560. package/es/components/login/Login.js.map +0 -1
  561. package/es/components/login/LoginForm/index.js +0 -132
  562. package/es/components/login/LoginForm/index.js.map +0 -1
  563. package/es/components/login/Register.js +0 -96
  564. package/es/components/login/Register.js.map +0 -1
  565. package/es/components/login/RegisterForm/index.js +0 -230
  566. package/es/components/login/RegisterForm/index.js.map +0 -1
  567. package/es/components/login/jwtService.js +0 -232
  568. package/es/components/login/jwtService.js.map +0 -1
  569. package/es/components/molecules/slider/index.js +0 -13
  570. package/es/components/molecules/slider/index.js.map +0 -1
  571. package/es/components/molecules/slider/styles.js +0 -2
  572. package/es/components/molecules/slider/styles.js.map +0 -1
  573. package/es/components/myprojects/export.js +0 -5
  574. package/es/components/myprojects/export.js.map +0 -1
  575. package/es/components/myprojects/index.js +0 -446
  576. package/es/components/myprojects/index.js.map +0 -1
  577. package/es/components/myprojects/styles.js +0 -24
  578. package/es/components/myprojects/styles.js.map +0 -1
  579. package/es/components/sidebar/custom-accordion.js +0 -38
  580. package/es/components/sidebar/custom-accordion.js.map +0 -1
  581. package/es/components/sidebar/export.js +0 -14
  582. package/es/components/sidebar/export.js.map +0 -1
  583. package/es/components/sidebar/panel-element-editor/attributes-editor/attributes-editor.js +0 -65
  584. package/es/components/sidebar/panel-element-editor/attributes-editor/attributes-editor.js.map +0 -1
  585. package/es/components/sidebar/panel-element-editor/attributes-editor/confirm-popup.js +0 -116
  586. package/es/components/sidebar/panel-element-editor/attributes-editor/confirm-popup.js.map +0 -1
  587. package/es/components/sidebar/panel-element-editor/attributes-editor/hole-attributes-editor.js +0 -126
  588. package/es/components/sidebar/panel-element-editor/attributes-editor/hole-attributes-editor.js.map +0 -1
  589. package/es/components/sidebar/panel-element-editor/attributes-editor/item-attributes-editor.js +0 -251
  590. package/es/components/sidebar/panel-element-editor/attributes-editor/item-attributes-editor.js.map +0 -1
  591. package/es/components/sidebar/panel-element-editor/attributes-editor/line-attributes-editor.js +0 -75
  592. package/es/components/sidebar/panel-element-editor/attributes-editor/line-attributes-editor.js.map +0 -1
  593. package/es/components/sidebar/panel-element-editor/element-editor.js +0 -878
  594. package/es/components/sidebar/panel-element-editor/element-editor.js.map +0 -1
  595. package/es/components/sidebar/panel-element-editor/multi-elements-editor.js +0 -2
  596. package/es/components/sidebar/panel-element-editor/multi-elements-editor.js.map +0 -1
  597. package/es/components/sidebar/panel-element-editor/panel-element-editor.js +0 -49
  598. package/es/components/sidebar/panel-element-editor/panel-element-editor.js.map +0 -1
  599. package/es/components/sidebar/panel-element-editor/panel-multi-elements-editor.js +0 -118
  600. package/es/components/sidebar/panel-element-editor/panel-multi-elements-editor.js.map +0 -1
  601. package/es/components/sidebar/panel-group-editor.js +0 -211
  602. package/es/components/sidebar/panel-group-editor.js.map +0 -1
  603. package/es/components/sidebar/panel-groups.js +0 -267
  604. package/es/components/sidebar/panel-groups.js.map +0 -1
  605. package/es/components/sidebar/panel-guides.js +0 -185
  606. package/es/components/sidebar/panel-guides.js.map +0 -1
  607. package/es/components/sidebar/panel-layer-elements.js +0 -251
  608. package/es/components/sidebar/panel-layer-elements.js.map +0 -1
  609. package/es/components/sidebar/panel-layers.js +0 -340
  610. package/es/components/sidebar/panel-layers.js.map +0 -1
  611. package/es/components/sidebar/panel.js +0 -103
  612. package/es/components/sidebar/panel.js.map +0 -1
  613. package/es/components/sidebar/sidebar.js +0 -109
  614. package/es/components/sidebar/sidebar.js.map +0 -1
  615. package/es/components/sidebar/toolbar-panel.js +0 -164
  616. package/es/components/sidebar/toolbar-panel.js.map +0 -1
  617. package/es/components/sign/export.js +0 -6
  618. package/es/components/sign/export.js.map +0 -1
  619. package/es/components/sign/main/index.js +0 -560
  620. package/es/components/sign/main/index.js.map +0 -1
  621. package/es/components/sign/main/styles.js +0 -20
  622. package/es/components/sign/main/styles.js.map +0 -1
  623. package/es/components/style/button.js +0 -114
  624. package/es/components/style/button.js.map +0 -1
  625. package/es/components/style/cancel-button.js +0 -23
  626. package/es/components/style/cancel-button.js.map +0 -1
  627. package/es/components/style/content-container.js +0 -34
  628. package/es/components/style/content-container.js.map +0 -1
  629. package/es/components/style/content-title.js +0 -30
  630. package/es/components/style/content-title.js.map +0 -1
  631. package/es/components/style/delete-button.js +0 -26
  632. package/es/components/style/delete-button.js.map +0 -1
  633. package/es/components/style/export.js +0 -32
  634. package/es/components/style/export.js.map +0 -1
  635. package/es/components/style/form-block.js +0 -25
  636. package/es/components/style/form-block.js.map +0 -1
  637. package/es/components/style/form-color-input.js +0 -28
  638. package/es/components/style/form-color-input.js.map +0 -1
  639. package/es/components/style/form-label.js +0 -27
  640. package/es/components/style/form-label.js.map +0 -1
  641. package/es/components/style/form-number-input.js +0 -190
  642. package/es/components/style/form-number-input.js.map +0 -1
  643. package/es/components/style/form-number-input_2.js +0 -207
  644. package/es/components/style/form-number-input_2.js.map +0 -1
  645. package/es/components/style/form-select.js +0 -21
  646. package/es/components/style/form-select.js.map +0 -1
  647. package/es/components/style/form-slider.js +0 -46
  648. package/es/components/style/form-slider.js.map +0 -1
  649. package/es/components/style/form-submit-button.js +0 -27
  650. package/es/components/style/form-submit-button.js.map +0 -1
  651. package/es/components/style/form-text-input.js +0 -77
  652. package/es/components/style/form-text-input.js.map +0 -1
  653. package/es/components/toolbar/button/ControlButton.js +0 -69
  654. package/es/components/toolbar/button/ControlButton.js.map +0 -1
  655. package/es/components/toolbar/button/DirectionButton.js +0 -50
  656. package/es/components/toolbar/button/DirectionButton.js.map +0 -1
  657. package/es/components/toolbar/button/RightButton.js +0 -133
  658. package/es/components/toolbar/button/RightButton.js.map +0 -1
  659. package/es/components/toolbar/button/ToggleButton.js +0 -59
  660. package/es/components/toolbar/button/ToggleButton.js.map +0 -1
  661. package/es/components/toolbar/button/index.js +0 -88
  662. package/es/components/toolbar/button/index.js.map +0 -1
  663. package/es/components/toolbar/button/styles.js +0 -14
  664. package/es/components/toolbar/button/styles.js.map +0 -1
  665. package/es/components/toolbar/components/DoorStyleMenu.js +0 -105
  666. package/es/components/toolbar/components/DoorStyleMenu.js.map +0 -1
  667. package/es/components/toolbar/components/Pricing.js +0 -101
  668. package/es/components/toolbar/components/Pricing.js.map +0 -1
  669. package/es/components/toolbar/components/ReviewForQuote.js +0 -476
  670. package/es/components/toolbar/components/ReviewForQuote.js.map +0 -1
  671. package/es/components/toolbar/export.js +0 -14
  672. package/es/components/toolbar/export.js.map +0 -1
  673. package/es/components/toolbar/main/Alert.js +0 -125
  674. package/es/components/toolbar/main/Alert.js.map +0 -1
  675. package/es/components/toolbar/main/TakePictureModal.js +0 -100
  676. package/es/components/toolbar/main/TakePictureModal.js.map +0 -1
  677. package/es/components/toolbar/main/confirm-popup.js +0 -88
  678. package/es/components/toolbar/main/confirm-popup.js.map +0 -1
  679. package/es/components/toolbar/main/index.js +0 -4612
  680. package/es/components/toolbar/main/index.js.map +0 -1
  681. package/es/components/toolbar/main/myComponents.js +0 -118
  682. package/es/components/toolbar/main/myComponents.js.map +0 -1
  683. package/es/components/toolbar/main/styles.js +0 -64
  684. package/es/components/toolbar/main/styles.js.map +0 -1
  685. package/es/components/toolbar/plugin-item.js +0 -150
  686. package/es/components/toolbar/plugin-item.js.map +0 -1
  687. package/es/components/toolbar/popup/appliance/appliance-category/index.js +0 -77
  688. package/es/components/toolbar/popup/appliance/appliance-category/index.js.map +0 -1
  689. package/es/components/toolbar/popup/appliance/choose-appliance/index.js +0 -76
  690. package/es/components/toolbar/popup/appliance/choose-appliance/index.js.map +0 -1
  691. package/es/components/toolbar/popup/appliance/index.js +0 -81
  692. package/es/components/toolbar/popup/appliance/index.js.map +0 -1
  693. package/es/components/toolbar/popup/autosaveprompt/index.js +0 -91
  694. package/es/components/toolbar/popup/autosaveprompt/index.js.map +0 -1
  695. package/es/components/toolbar/popup/autosaveprompt/styles.js +0 -9
  696. package/es/components/toolbar/popup/autosaveprompt/styles.js.map +0 -1
  697. package/es/components/toolbar/popup/cabinet/cabinet-category/index.js +0 -77
  698. package/es/components/toolbar/popup/cabinet/cabinet-category/index.js.map +0 -1
  699. package/es/components/toolbar/popup/cabinet/choose-product/index.js +0 -98
  700. package/es/components/toolbar/popup/cabinet/choose-product/index.js.map +0 -1
  701. package/es/components/toolbar/popup/cabinet/index.js +0 -83
  702. package/es/components/toolbar/popup/cabinet/index.js.map +0 -1
  703. package/es/components/toolbar/popup/doorStyle/choose-style/index.js +0 -50
  704. package/es/components/toolbar/popup/doorStyle/choose-style/index.js.map +0 -1
  705. package/es/components/toolbar/popup/doorStyle/index.js +0 -61
  706. package/es/components/toolbar/popup/doorStyle/index.js.map +0 -1
  707. package/es/components/toolbar/popup/doorStyle/style-category/index.js +0 -143
  708. package/es/components/toolbar/popup/doorStyle/style-category/index.js.map +0 -1
  709. package/es/components/toolbar/popup/downloadsummary/downloadSummaryContext.js +0 -3
  710. package/es/components/toolbar/popup/downloadsummary/downloadSummaryContext.js.map +0 -1
  711. package/es/components/toolbar/popup/downloadsummary/downloadSummaryTemp.js +0 -119
  712. package/es/components/toolbar/popup/downloadsummary/downloadSummaryTemp.js.map +0 -1
  713. package/es/components/toolbar/popup/downloadsummary/index.js +0 -564
  714. package/es/components/toolbar/popup/downloadsummary/index.js.map +0 -1
  715. package/es/components/toolbar/popup/downloadsummary/show2D/show2DView.js +0 -51
  716. package/es/components/toolbar/popup/downloadsummary/show2D/show2DView.js.map +0 -1
  717. package/es/components/toolbar/popup/downloadsummary/show2D/viewer2DDownLoad.js +0 -191
  718. package/es/components/toolbar/popup/downloadsummary/show2D/viewer2DDownLoad.js.map +0 -1
  719. package/es/components/toolbar/popup/downloadsummary/show3D/show3DView.js +0 -245
  720. package/es/components/toolbar/popup/downloadsummary/show3D/show3DView.js.map +0 -1
  721. package/es/components/toolbar/popup/downloadsummary/show3D/viewer3DDownLoad.js +0 -1758
  722. package/es/components/toolbar/popup/downloadsummary/show3D/viewer3DDownLoad.js.map +0 -1
  723. package/es/components/toolbar/popup/downloadsummary/showCabinetInfo.js +0 -87
  724. package/es/components/toolbar/popup/downloadsummary/showCabinetInfo.js.map +0 -1
  725. package/es/components/toolbar/popup/downloadsummary/showElevation/showElevationView.js +0 -116
  726. package/es/components/toolbar/popup/downloadsummary/showElevation/showElevationView.js.map +0 -1
  727. package/es/components/toolbar/popup/downloadsummary/showElevation/viewer3DElevationDownload.js +0 -1710
  728. package/es/components/toolbar/popup/downloadsummary/showElevation/viewer3DElevationDownload.js.map +0 -1
  729. package/es/components/toolbar/popup/downloadsummary/showElevation/viewerElevationDownload.js +0 -175
  730. package/es/components/toolbar/popup/downloadsummary/showElevation/viewerElevationDownload.js.map +0 -1
  731. package/es/components/toolbar/popup/downloadsummary/showWarranty.js +0 -106
  732. package/es/components/toolbar/popup/downloadsummary/showWarranty.js.map +0 -1
  733. package/es/components/toolbar/popup/downloadsummary/styles.js +0 -40
  734. package/es/components/toolbar/popup/downloadsummary/styles.js.map +0 -1
  735. package/es/components/toolbar/popup/finishingtouch/category/index.js +0 -35
  736. package/es/components/toolbar/popup/finishingtouch/category/index.js.map +0 -1
  737. package/es/components/toolbar/popup/finishingtouch/index.js +0 -47
  738. package/es/components/toolbar/popup/finishingtouch/index.js.map +0 -1
  739. package/es/components/toolbar/popup/finishingtouch/material-edit.js +0 -156
  740. package/es/components/toolbar/popup/finishingtouch/material-edit.js.map +0 -1
  741. package/es/components/toolbar/popup/finishingtouch/product/index.js +0 -56
  742. package/es/components/toolbar/popup/finishingtouch/product/index.js.map +0 -1
  743. package/es/components/toolbar/popup/floorplan/choose-floor/confirm-popup.js +0 -116
  744. package/es/components/toolbar/popup/floorplan/choose-floor/confirm-popup.js.map +0 -1
  745. package/es/components/toolbar/popup/floorplan/choose-floor/index.js +0 -246
  746. package/es/components/toolbar/popup/floorplan/choose-floor/index.js.map +0 -1
  747. package/es/components/toolbar/popup/floorplan/choose-floor/styles.js +0 -11
  748. package/es/components/toolbar/popup/floorplan/choose-floor/styles.js.map +0 -1
  749. package/es/components/toolbar/popup/floorplan/floor-category/index.js +0 -90
  750. package/es/components/toolbar/popup/floorplan/floor-category/index.js.map +0 -1
  751. package/es/components/toolbar/popup/floorplan/index.js +0 -49
  752. package/es/components/toolbar/popup/floorplan/index.js.map +0 -1
  753. package/es/components/toolbar/popup/index.js +0 -188
  754. package/es/components/toolbar/popup/index.js.map +0 -1
  755. package/es/components/toolbar/popup/newproject/index.js +0 -67
  756. package/es/components/toolbar/popup/newproject/index.js.map +0 -1
  757. package/es/components/toolbar/popup/newproject/styles.js +0 -9
  758. package/es/components/toolbar/popup/newproject/styles.js.map +0 -1
  759. package/es/components/toolbar/popup/product/appliance.js +0 -65
  760. package/es/components/toolbar/popup/product/appliance.js.map +0 -1
  761. package/es/components/toolbar/popup/product/cabinetproduct.js +0 -25
  762. package/es/components/toolbar/popup/product/cabinetproduct.js.map +0 -1
  763. package/es/components/toolbar/popup/product/doorstyle.js +0 -50
  764. package/es/components/toolbar/popup/product/doorstyle.js.map +0 -1
  765. package/es/components/toolbar/popup/product/doorstyleproduct.js +0 -51
  766. package/es/components/toolbar/popup/product/doorstyleproduct.js.map +0 -1
  767. package/es/components/toolbar/popup/product/floor.js +0 -52
  768. package/es/components/toolbar/popup/product/floor.js.map +0 -1
  769. package/es/components/toolbar/popup/product/floorproduct.js +0 -61
  770. package/es/components/toolbar/popup/product/floorproduct.js.map +0 -1
  771. package/es/components/toolbar/popup/product/index.js +0 -52
  772. package/es/components/toolbar/popup/product/index.js.map +0 -1
  773. package/es/components/toolbar/popup/product/primary.js +0 -63
  774. package/es/components/toolbar/popup/product/primary.js.map +0 -1
  775. package/es/components/toolbar/popup/product/productline.js +0 -120
  776. package/es/components/toolbar/popup/product/productline.js.map +0 -1
  777. package/es/components/toolbar/popup/product/reviewItem.js +0 -338
  778. package/es/components/toolbar/popup/product/reviewItem.js.map +0 -1
  779. package/es/components/toolbar/popup/product/reviewMolding.js +0 -282
  780. package/es/components/toolbar/popup/product/reviewMolding.js.map +0 -1
  781. package/es/components/toolbar/popup/product/styles.js +0 -71
  782. package/es/components/toolbar/popup/product/styles.js.map +0 -1
  783. package/es/components/toolbar/popup/savedesign/FullPictureForm.js +0 -161
  784. package/es/components/toolbar/popup/savedesign/FullPictureForm.js.map +0 -1
  785. package/es/components/toolbar/popup/savedesign/index.js +0 -508
  786. package/es/components/toolbar/popup/savedesign/index.js.map +0 -1
  787. package/es/components/toolbar/popup/savedesign/styles.js +0 -19
  788. package/es/components/toolbar/popup/savedesign/styles.js.map +0 -1
  789. package/es/components/toolbar/popup/setDoorStyleOption/index.js +0 -57
  790. package/es/components/toolbar/popup/setDoorStyleOption/index.js.map +0 -1
  791. package/es/components/toolbar/popup/styles.js +0 -98
  792. package/es/components/toolbar/popup/styles.js.map +0 -1
  793. package/es/components/toolbar/popup/submitforquote/AddToCartOptions.js +0 -157
  794. package/es/components/toolbar/popup/submitforquote/AddToCartOptions.js.map +0 -1
  795. package/es/components/toolbar/popup/submitforquote/CustomerRequestsForm.js +0 -85
  796. package/es/components/toolbar/popup/submitforquote/CustomerRequestsForm.js.map +0 -1
  797. package/es/components/toolbar/popup/submitforquote/SkipDesignerReview.js +0 -36
  798. package/es/components/toolbar/popup/submitforquote/SkipDesignerReview.js.map +0 -1
  799. package/es/components/toolbar/popup/submitforquote/StepDots.js +0 -33
  800. package/es/components/toolbar/popup/submitforquote/StepDots.js.map +0 -1
  801. package/es/components/toolbar/popup/submitforquote/cart-choice.js +0 -132
  802. package/es/components/toolbar/popup/submitforquote/cart-choice.js.map +0 -1
  803. package/es/components/toolbar/popup/submitforquote/doorstyle-menus.js +0 -43
  804. package/es/components/toolbar/popup/submitforquote/doorstyle-menus.js.map +0 -1
  805. package/es/components/toolbar/popup/submitforquote/index.js +0 -690
  806. package/es/components/toolbar/popup/submitforquote/index.js.map +0 -1
  807. package/es/components/toolbar/popup/submitforquote/styles.js +0 -31
  808. package/es/components/toolbar/popup/submitforquote/styles.js.map +0 -1
  809. package/es/components/toolbar/popup/submitprompt/index.js +0 -71
  810. package/es/components/toolbar/popup/submitprompt/index.js.map +0 -1
  811. package/es/components/toolbar/popup/submitprompt/styles.js +0 -9
  812. package/es/components/toolbar/popup/submitprompt/styles.js.map +0 -1
  813. package/es/components/toolbar/toolbar-button.js +0 -105
  814. package/es/components/toolbar/toolbar-button.js.map +0 -1
  815. package/es/components/toolbar/toolbar-load-button.js +0 -29
  816. package/es/components/toolbar/toolbar-load-button.js.map +0 -1
  817. package/es/components/toolbar/toolbar-save-button.js +0 -27
  818. package/es/components/toolbar/toolbar-save-button.js.map +0 -1
  819. package/es/components/tutorial-view/Modal.js +0 -498
  820. package/es/components/tutorial-view/Modal.js.map +0 -1
  821. package/es/components/tutorial-view/styles.js +0 -6
  822. package/es/components/tutorial-view/styles.js.map +0 -1
  823. package/es/components/viewer2d/area.js +0 -83
  824. package/es/components/viewer2d/area.js.map +0 -1
  825. package/es/components/viewer2d/export.js +0 -32
  826. package/es/components/viewer2d/export.js.map +0 -1
  827. package/es/components/viewer2d/grids/grid-horizontal-streak.js +0 -38
  828. package/es/components/viewer2d/grids/grid-horizontal-streak.js.map +0 -1
  829. package/es/components/viewer2d/grids/grid-streak.js +0 -38
  830. package/es/components/viewer2d/grids/grid-streak.js.map +0 -1
  831. package/es/components/viewer2d/grids/grid-vertical-streak.js +0 -38
  832. package/es/components/viewer2d/grids/grid-vertical-streak.js.map +0 -1
  833. package/es/components/viewer2d/grids/grids.js +0 -36
  834. package/es/components/viewer2d/grids/grids.js.map +0 -1
  835. package/es/components/viewer2d/group.js +0 -54
  836. package/es/components/viewer2d/group.js.map +0 -1
  837. package/es/components/viewer2d/item.js +0 -514
  838. package/es/components/viewer2d/item.js.map +0 -1
  839. package/es/components/viewer2d/layer.js +0 -165
  840. package/es/components/viewer2d/layer.js.map +0 -1
  841. package/es/components/viewer2d/line.js +0 -889
  842. package/es/components/viewer2d/line.js.map +0 -1
  843. package/es/components/viewer2d/ruler.js +0 -101
  844. package/es/components/viewer2d/ruler.js.map +0 -1
  845. package/es/components/viewer2d/rulerDist.js +0 -147
  846. package/es/components/viewer2d/rulerDist.js.map +0 -1
  847. package/es/components/viewer2d/rulerX.js +0 -152
  848. package/es/components/viewer2d/rulerX.js.map +0 -1
  849. package/es/components/viewer2d/rulerY.js +0 -154
  850. package/es/components/viewer2d/rulerY.js.map +0 -1
  851. package/es/components/viewer2d/scene.js +0 -141
  852. package/es/components/viewer2d/scene.js.map +0 -1
  853. package/es/components/viewer2d/snap.js +0 -75
  854. package/es/components/viewer2d/snap.js.map +0 -1
  855. package/es/components/viewer2d/state.js +0 -79
  856. package/es/components/viewer2d/state.js.map +0 -1
  857. package/es/components/viewer2d/utils.js +0 -163
  858. package/es/components/viewer2d/utils.js.map +0 -1
  859. package/es/components/viewer2d/vertex.js +0 -67
  860. package/es/components/viewer2d/vertex.js.map +0 -1
  861. package/es/components/viewer2d/viewer2d.js +0 -1402
  862. package/es/components/viewer2d/viewer2d.js.map +0 -1
  863. package/es/components/viewer3d/camera-controls-module/camera-controls.module.js +0 -2593
  864. package/es/components/viewer3d/camera-controls-module/camera-controls.module.js.map +0 -1
  865. package/es/components/viewer3d/dcm.js +0 -402
  866. package/es/components/viewer3d/dcm.js.map +0 -1
  867. package/es/components/viewer3d/fbm.js +0 -415
  868. package/es/components/viewer3d/fbm.js.map +0 -1
  869. package/es/components/viewer3d/front3D.js +0 -67
  870. package/es/components/viewer3d/front3D.js.map +0 -1
  871. package/es/components/viewer3d/grid-creator.js +0 -26
  872. package/es/components/viewer3d/grid-creator.js.map +0 -1
  873. package/es/components/viewer3d/grids/grid-horizontal-streak.js +0 -37
  874. package/es/components/viewer3d/grids/grid-horizontal-streak.js.map +0 -1
  875. package/es/components/viewer3d/grids/grid-streak.js +0 -28
  876. package/es/components/viewer3d/grids/grid-streak.js.map +0 -1
  877. package/es/components/viewer3d/grids/grid-vertical-streak.js +0 -37
  878. package/es/components/viewer3d/grids/grid-vertical-streak.js.map +0 -1
  879. package/es/components/viewer3d/libs/first-person-controls.js +0 -68
  880. package/es/components/viewer3d/libs/first-person-controls.js.map +0 -1
  881. package/es/components/viewer3d/libs/helvetiker_regular.typeface.js +0 -1282
  882. package/es/components/viewer3d/libs/helvetiker_regular.typeface.js.map +0 -1
  883. package/es/components/viewer3d/libs/mtl-loader.js +0 -358
  884. package/es/components/viewer3d/libs/mtl-loader.js.map +0 -1
  885. package/es/components/viewer3d/libs/obj-loader.js +0 -463
  886. package/es/components/viewer3d/libs/obj-loader.js.map +0 -1
  887. package/es/components/viewer3d/libs/orbit-controls.js +0 -699
  888. package/es/components/viewer3d/libs/orbit-controls.js.map +0 -1
  889. package/es/components/viewer3d/libs/pointer-lock-controls.js +0 -46
  890. package/es/components/viewer3d/libs/pointer-lock-controls.js.map +0 -1
  891. package/es/components/viewer3d/lrm.js +0 -306
  892. package/es/components/viewer3d/lrm.js.map +0 -1
  893. package/es/components/viewer3d/model.js +0 -709
  894. package/es/components/viewer3d/model.js.map +0 -1
  895. package/es/components/viewer3d/pointer-lock-navigation.js +0 -116
  896. package/es/components/viewer3d/pointer-lock-navigation.js.map +0 -1
  897. package/es/components/viewer3d/ruler-utils/itemRect.js +0 -62
  898. package/es/components/viewer3d/ruler-utils/itemRect.js.map +0 -1
  899. package/es/components/viewer3d/ruler-utils/layer3D.js +0 -496
  900. package/es/components/viewer3d/ruler-utils/layer3D.js.map +0 -1
  901. package/es/components/viewer3d/ruler-utils/ruler3D.js +0 -228
  902. package/es/components/viewer3d/ruler-utils/ruler3D.js.map +0 -1
  903. package/es/components/viewer3d/ruler-utils/scene3D.js +0 -62
  904. package/es/components/viewer3d/ruler-utils/scene3D.js.map +0 -1
  905. package/es/components/viewer3d/ruler-utils/state3D.js +0 -19
  906. package/es/components/viewer3d/ruler-utils/state3D.js.map +0 -1
  907. package/es/components/viewer3d/scene-creator.js +0 -3607
  908. package/es/components/viewer3d/scene-creator.js.map +0 -1
  909. package/es/components/viewer3d/three-memory-cleaner.js +0 -52
  910. package/es/components/viewer3d/three-memory-cleaner.js.map +0 -1
  911. package/es/components/viewer3d/viewer3d-first-person.js +0 -316
  912. package/es/components/viewer3d/viewer3d-first-person.js.map +0 -1
  913. package/es/components/viewer3d/viewer3d.js +0 -2504
  914. package/es/components/viewer3d/viewer3d.js.map +0 -1
  915. package/es/components/wizardstep/button/styles.js +0 -60
  916. package/es/components/wizardstep/button/styles.js.map +0 -1
  917. package/es/components/wizardstep/export.js +0 -5
  918. package/es/components/wizardstep/export.js.map +0 -1
  919. package/es/components/wizardstep/index.js +0 -971
  920. package/es/components/wizardstep/index.js.map +0 -1
  921. package/es/components/wizardstep/styles.js +0 -61
  922. package/es/components/wizardstep/styles.js.map +0 -1
  923. package/es/components/wizardstep/wizardstep-content-button.js +0 -217
  924. package/es/components/wizardstep/wizardstep-content-button.js.map +0 -1
  925. package/es/components/wizardstep/wizardstep-toggle-button.js +0 -126
  926. package/es/components/wizardstep/wizardstep-toggle-button.js.map +0 -1
  927. package/es/constants.js +0 -637
  928. package/es/constants.js.map +0 -1
  929. package/es/hooks/useCheckCart.js +0 -53
  930. package/es/hooks/useCheckCart.js.map +0 -1
  931. package/es/hooks/useGetPricesBySku.js +0 -74
  932. package/es/hooks/useGetPricesBySku.js.map +0 -1
  933. package/es/hooks/useValidateToken.js +0 -201
  934. package/es/hooks/useValidateToken.js.map +0 -1
  935. package/es/index.js +0 -17
  936. package/es/index.js.map +0 -1
  937. package/es/models.js +0 -511
  938. package/es/models.js.map +0 -1
  939. package/es/plugins/SVGLoader.js +0 -1413
  940. package/es/plugins/SVGLoader.js.map +0 -1
  941. package/es/plugins/autosave.js +0 -34
  942. package/es/plugins/autosave.js.map +0 -1
  943. package/es/plugins/console-debugger.js +0 -38
  944. package/es/plugins/console-debugger.js.map +0 -1
  945. package/es/plugins/export.js +0 -10
  946. package/es/plugins/export.js.map +0 -1
  947. package/es/plugins/keyboard.js +0 -102
  948. package/es/plugins/keyboard.js.map +0 -1
  949. package/es/reducers/areas-reducer.js +0 -13
  950. package/es/reducers/areas-reducer.js.map +0 -1
  951. package/es/reducers/export.js +0 -26
  952. package/es/reducers/export.js.map +0 -1
  953. package/es/reducers/groups-reducer.js +0 -39
  954. package/es/reducers/groups-reducer.js.map +0 -1
  955. package/es/reducers/holes-reducer.js +0 -63
  956. package/es/reducers/holes-reducer.js.map +0 -1
  957. package/es/reducers/items-reducer.js +0 -144
  958. package/es/reducers/items-reducer.js.map +0 -1
  959. package/es/reducers/lines-reducer.js +0 -46
  960. package/es/reducers/lines-reducer.js.map +0 -1
  961. package/es/reducers/project-reducer.js +0 -130
  962. package/es/reducers/project-reducer.js.map +0 -1
  963. package/es/reducers/reducer.js +0 -20
  964. package/es/reducers/reducer.js.map +0 -1
  965. package/es/reducers/scene-reducer.js +0 -29
  966. package/es/reducers/scene-reducer.js.map +0 -1
  967. package/es/reducers/user-reducer.js +0 -42
  968. package/es/reducers/user-reducer.js.map +0 -1
  969. package/es/reducers/vertices-reducer.js +0 -20
  970. package/es/reducers/vertices-reducer.js.map +0 -1
  971. package/es/reducers/viewer2d-reducer.js +0 -76
  972. package/es/reducers/viewer2d-reducer.js.map +0 -1
  973. package/es/reducers/viewer3d-reducer.js +0 -57
  974. package/es/reducers/viewer3d-reducer.js.map +0 -1
  975. package/es/shared-style.js +0 -67
  976. package/es/shared-style.js.map +0 -1
  977. package/es/styles/export.js +0 -6
  978. package/es/styles/export.js.map +0 -1
  979. package/es/styles/tabs.css +0 -40
  980. package/es/translator/en.js +0 -105
  981. package/es/translator/en.js.map +0 -1
  982. package/es/translator/it.js +0 -80
  983. package/es/translator/it.js.map +0 -1
  984. package/es/translator/ru.js +0 -80
  985. package/es/translator/ru.js.map +0 -1
  986. package/es/translator/translator.js +0 -85
  987. package/es/translator/translator.js.map +0 -1
  988. package/es/utils/browser.js +0 -34
  989. package/es/utils/browser.js.map +0 -1
  990. package/es/utils/email-validator.js +0 -5
  991. package/es/utils/email-validator.js.map +0 -1
  992. package/es/utils/export.js +0 -26
  993. package/es/utils/export.js.map +0 -1
  994. package/es/utils/geometry.js +0 -2237
  995. package/es/utils/geometry.js.map +0 -1
  996. package/es/utils/get-edges-of-subgraphs.js +0 -27
  997. package/es/utils/get-edges-of-subgraphs.js.map +0 -1
  998. package/es/utils/graph-cycles.js +0 -239
  999. package/es/utils/graph-cycles.js.map +0 -1
  1000. package/es/utils/graph-inner-cycles.js +0 -47
  1001. package/es/utils/graph-inner-cycles.js.map +0 -1
  1002. package/es/utils/graph.js +0 -150
  1003. package/es/utils/graph.js.map +0 -1
  1004. package/es/utils/helper.js +0 -337
  1005. package/es/utils/helper.js.map +0 -1
  1006. package/es/utils/history.js +0 -30
  1007. package/es/utils/history.js.map +0 -1
  1008. package/es/utils/id-broker.js +0 -20
  1009. package/es/utils/id-broker.js.map +0 -1
  1010. package/es/utils/logger.js +0 -9
  1011. package/es/utils/logger.js.map +0 -1
  1012. package/es/utils/math.js +0 -51
  1013. package/es/utils/math.js.map +0 -1
  1014. package/es/utils/molding.js +0 -840
  1015. package/es/utils/molding.js.map +0 -1
  1016. package/es/utils/name-generator.js +0 -19
  1017. package/es/utils/name-generator.js.map +0 -1
  1018. package/es/utils/objects-utils.js +0 -51
  1019. package/es/utils/objects-utils.js.map +0 -1
  1020. package/es/utils/phone-validator.js +0 -5
  1021. package/es/utils/phone-validator.js.map +0 -1
  1022. package/es/utils/process-black-list.js +0 -19
  1023. package/es/utils/process-black-list.js.map +0 -1
  1024. package/es/utils/react-if.js +0 -19
  1025. package/es/utils/react-if.js.map +0 -1
  1026. package/es/utils/snap-scene.js +0 -100
  1027. package/es/utils/snap-scene.js.map +0 -1
  1028. package/es/utils/snap.js +0 -238
  1029. package/es/utils/snap.js.map +0 -1
  1030. package/es/utils/threeCSG.es6.js +0 -499
  1031. package/es/utils/threeCSG.es6.js.map +0 -1
  1032. package/es/version.js +0 -2
  1033. package/es/version.js.map +0 -1
  1034. /package/{es → src}/catalog/areas/area/textures/ceramic-tile.jpg +0 -0
  1035. /package/{es → src}/catalog/areas/area/textures/grass.jpg +0 -0
  1036. /package/{es → src}/catalog/areas/area/textures/parquet.jpg +0 -0
  1037. /package/{es → src}/catalog/areas/area/textures/strand-porcelain.jpg +0 -0
  1038. /package/{es → src}/catalog/areas/area/textures/tile1.jpg +0 -0
  1039. /package/{es → src}/catalog/back.png +0 -0
  1040. /package/{es → src}/catalog/doors.png +0 -0
  1041. /package/{es → src}/catalog/doorways.png +0 -0
  1042. /package/{es → src}/catalog/envMap/nx.hdr +0 -0
  1043. /package/{es → src}/catalog/envMap/ny.hdr +0 -0
  1044. /package/{es → src}/catalog/envMap/nz.hdr +0 -0
  1045. /package/{es → src}/catalog/envMap/px.hdr +0 -0
  1046. /package/{es → src}/catalog/envMap/py.hdr +0 -0
  1047. /package/{es → src}/catalog/envMap/pz.hdr +0 -0
  1048. /package/{es → src}/catalog/holes/door-double/door_double.png +0 -0
  1049. /package/{es → src}/catalog/holes/door-panic/panicDoor.png +0 -0
  1050. /package/{es → src}/catalog/holes/door-panic-double/panicDoorDouble.png +0 -0
  1051. /package/{es → src}/catalog/holes/gate/gate.jpg +0 -0
  1052. /package/{es → src}/catalog/holes/window-clear/texture.png +0 -0
  1053. /package/{es → src}/catalog/holes/window-cross/texture.png +0 -0
  1054. /package/{es → src}/catalog/holes/window-double-hung/texture.png +0 -0
  1055. /package/{es → src}/catalog/holes/window-vertical/texture.png +0 -0
  1056. /package/{es → src}/catalog/lines/wall/textures/bricks-normal.jpg +0 -0
  1057. /package/{es → src}/catalog/lines/wall/textures/bricks-normal2.jpg +0 -0
  1058. /package/{es → src}/catalog/lines/wall/textures/bricks.jpg +0 -0
  1059. /package/{es → src}/catalog/lines/wall/textures/bricks2.jpg +0 -0
  1060. /package/{es → src}/catalog/lines/wall/textures/bricks3.jpg +0 -0
  1061. /package/{es → src}/catalog/lines/wall/textures/morden-normal.jpg +0 -0
  1062. /package/{es → src}/catalog/lines/wall/textures/morden.jpg +0 -0
  1063. /package/{es → src}/catalog/lines/wall/textures/painted-normal.jpg +0 -0
  1064. /package/{es → src}/catalog/lines/wall/textures/painted.jpg +0 -0
  1065. /package/{es → src}/catalog/lines/wall/textures/plaster-normal.jpg +0 -0
  1066. /package/{es → src}/catalog/lines/wall/textures/plaster.jpg +0 -0
  1067. /package/{es → src}/catalog/lines/wall/wall.png +0 -0
  1068. /package/{es → src}/catalog/molding/molding-dcm/texture.png +0 -0
  1069. /package/{es → src}/catalog/molding/molding-fbm/texture.png +0 -0
  1070. /package/{es → src}/catalog/molding/molding-lrm/texture.png +0 -0
  1071. /package/{es → src}/catalog/windows.png +0 -0
  1072. /package/{es → src}/components/header/header.style.css +0 -0
  1073. /package/{es → src}/components/login/style.css +0 -0
  1074. /package/{es → src}/components/login/style.scss +0 -0
  1075. /package/{es → src}/components/molecules/slider/styles.scss +0 -0
  1076. /package/{es → src}/components/toolbar/main/lShaped.json +0 -0
  1077. /package/{es → src}/components/toolbar/main/longNarrow.json +0 -0
  1078. /package/{es → src}/components/toolbar/main/oRectangle.json +0 -0
  1079. /package/{es → src}/components/toolbar/main/rectangle.json +0 -0
  1080. /package/{es → src}/components/toolbar/main/style.css +0 -0
  1081. /package/{es → src}/components/toolbar/popup/autosaveprompt/styles.css +0 -0
  1082. /package/{es → src}/components/toolbar/popup/downloadsummary/styles.css +0 -0
  1083. /package/{es → src}/components/toolbar/popup/floorplan/choose-floor/lShaped.json +0 -0
  1084. /package/{es → src}/components/toolbar/popup/floorplan/choose-floor/longNarrow.json +0 -0
  1085. /package/{es → src}/components/toolbar/popup/floorplan/choose-floor/oRectangle.json +0 -0
  1086. /package/{es → src}/components/toolbar/popup/floorplan/choose-floor/rectangle.json +0 -0
  1087. /package/{es → src}/components/toolbar/popup/newproject/styles.css +0 -0
  1088. /package/{es → src}/components/toolbar/popup/product/style.css +0 -0
  1089. /package/{es → src}/components/toolbar/popup/savedesign/savedesign.style.css +0 -0
  1090. /package/{es → src}/components/toolbar/popup/submitforquote/styles.css +0 -0
  1091. /package/{es → src}/components/toolbar/popup/submitprompt/styles.css +0 -0
  1092. /package/{es → src}/components/tutorial-view/style.css +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"mtl-loader.js","names":["THREE","window","require","MTLLoader","manager","undefined","DefaultLoadingManager","Object","assign","prototype","EventDispatcher","load","url","onLoad","onProgress","onError","scope","loader","XHRLoader","setPath","path","text","parse","setTexturePath","texturePath","setBaseUrl","console","warn","setCrossOrigin","value","crossOrigin","setMaterialOptions","materialOptions","lines","split","info","delimiter_pattern","materialsInfo","i","length","line","trim","charAt","pos","indexOf","key","substring","toLowerCase","name","ss","parseFloat","materialCreator","MaterialCreator","setManager","setMaterials","baseUrl","options","materials","materialsArray","nameLookup","side","FrontSide","wrap","RepeatWrapping","constructor","convert","converted","mn","mat","covmat","prop","save","lprop","normalizeRGB","ignoreZeroRGBs","preload","create","getIndex","materialName","getAsArray","index","createMaterial_","params","resolveURL","test","color","Color","fromArray","specular","map","texParams","getTextureParams","loadTexture","repeat","copy","scale","offset","wrapS","wrapT","specularMap","shininess","opacity","transparent","bumpMap","MeshPhongMaterial","matParams","Vector2","items","bumpScale","splice","set","join","mapping","texture","Loader","Handlers","get","TextureLoader","module","exports"],"sources":["../../../../src/components/viewer3d/libs/mtl-loader.js"],"sourcesContent":["/**\r\n * Loads a Wavefront .mtl file specifying materials\r\n *\r\n * @author angelxuanchang\r\n */\r\n\r\nlet THREE = window.THREE || require('three');\r\nlet MTLLoader;\r\n\r\nMTLLoader = function (manager) {\r\n this.manager = manager !== undefined ? manager : THREE.DefaultLoadingManager;\r\n};\r\n\r\nObject.assign(MTLLoader.prototype, THREE.EventDispatcher.prototype, {\r\n /**\r\n * Loads and parses a MTL asset from a URL.\r\n *\r\n * @param {String} url - URL to the MTL file.\r\n * @param {Function} [onLoad] - Callback invoked with the loaded object.\r\n * @param {Function} [onProgress] - Callback for download progress.\r\n * @param {Function} [onError] - Callback for download errors.\r\n *\r\n * @see setPath setTexturePath\r\n *\r\n * @note In order for relative texture references to resolve correctly\r\n * you must call setPath and/or setTexturePath explicitly prior to load.\r\n */\r\n load: function (url, onLoad, onProgress, onError) {\r\n let scope = this;\r\n\r\n let loader = new THREE.XHRLoader(this.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\r\n /**\r\n * Set base path for resolving references.\r\n * If set this path will be prepended to each loaded and found reference.\r\n *\r\n * @see setTexturePath\r\n * @param {String} path\r\n *\r\n * @example\r\n * mtlLoader.setPath( '/assets/obj/' );\r\n * mtlLoader.load( 'my.mtl', ... );\r\n */\r\n setPath: function (path) {\r\n this.path = path;\r\n },\r\n\r\n /**\r\n * Set base path for resolving texture references.\r\n * If set this path will be prepended found texture reference.\r\n * If not set and setPath is, it will be used as texture base path.\r\n *\r\n * @see setPath\r\n * @param {String} path\r\n *\r\n * @example\r\n * mtlLoader.setPath( '/assets/obj/' );\r\n * mtlLoader.setTexturePath( '/assets/textures/' );\r\n * mtlLoader.load( 'my.mtl', ... );\r\n */\r\n setTexturePath: function (path) {\r\n this.texturePath = path;\r\n },\r\n\r\n setBaseUrl: function (path) {\r\n console.warn(\r\n 'THREE.MTLLoader: .setBaseUrl() is deprecated. Use .setTexturePath( path ) for texture path or .setPath( path ) for general base path instead.'\r\n );\r\n\r\n this.setTexturePath(path);\r\n },\r\n\r\n setCrossOrigin: function (value) {\r\n this.crossOrigin = value;\r\n },\r\n\r\n setMaterialOptions: function (value) {\r\n this.materialOptions = value;\r\n },\r\n\r\n /**\r\n * Parses a MTL file.\r\n *\r\n * @param {String} text - Content of MTL file\r\n * @return {THREE.MTLLoader.MaterialCreator}\r\n *\r\n * @see setPath setTexturePath\r\n *\r\n * @note In order for relative texture references to resolve correctly\r\n * you must call setPath and/or setTexturePath explicitly prior to parse.\r\n */\r\n parse: function (text) {\r\n let lines = text.split('\\n');\r\n let info = {};\r\n let delimiter_pattern = /\\s+/;\r\n let materialsInfo = {};\r\n\r\n for (let i = 0; i < lines.length; i++) {\r\n let line = lines[i];\r\n line = line.trim();\r\n\r\n if (line.length === 0 || line.charAt(0) === '#') {\r\n // Blank line or comment ignore\r\n continue;\r\n }\r\n\r\n let pos = line.indexOf(' ');\r\n\r\n let key = pos >= 0 ? line.substring(0, pos) : line;\r\n key = key.toLowerCase();\r\n\r\n let value = pos >= 0 ? line.substring(pos + 1) : '';\r\n value = value.trim();\r\n\r\n if (key === 'newmtl') {\r\n // New material\r\n\r\n info = { name: value };\r\n materialsInfo[value] = info;\r\n } else if (info) {\r\n if (key === 'ka' || key === 'kd' || key === 'ks') {\r\n let ss = value.split(delimiter_pattern, 3);\r\n info[key] = [parseFloat(ss[0]), parseFloat(ss[1]), parseFloat(ss[2])];\r\n } else {\r\n info[key] = value;\r\n }\r\n }\r\n }\r\n\r\n let materialCreator = new MTLLoader.MaterialCreator(\r\n this.texturePath || this.path,\r\n this.materialOptions\r\n );\r\n materialCreator.setCrossOrigin(this.crossOrigin);\r\n materialCreator.setManager(this.manager);\r\n materialCreator.setMaterials(materialsInfo);\r\n return materialCreator;\r\n }\r\n});\r\n\r\n/**\r\n * Create a new THREE-MTLLoader.MaterialCreator\r\n * @param baseUrl - Url relative to which textures are loaded\r\n * @param options - Set of options on how to construct the materials\r\n * side: Which side to apply the material\r\n * THREE.FrontSide (default), THREE.BackSide, THREE.DoubleSide\r\n * wrap: What type of wrapping to apply for textures\r\n * THREE.RepeatWrapping (default), THREE.ClampToEdgeWrapping, THREE.MirroredRepeatWrapping\r\n * normalizeRGB: RGBs need to be normalized to 0-1 from 0-255\r\n * Default: false, assumed to be already normalized\r\n * ignoreZeroRGBs: Ignore values of RGBs (Ka,Kd,Ks) that are all 0's\r\n * Default: false\r\n * @constructor\r\n */\r\n\r\nMTLLoader.MaterialCreator = function (baseUrl, options) {\r\n this.baseUrl = baseUrl || '';\r\n this.options = options;\r\n this.materialsInfo = {};\r\n this.materials = {};\r\n this.materialsArray = [];\r\n this.nameLookup = {};\r\n\r\n this.side =\r\n this.options && this.options.side ? this.options.side : THREE.FrontSide;\r\n this.wrap =\r\n this.options && this.options.wrap\r\n ? this.options.wrap\r\n : THREE.RepeatWrapping;\r\n};\r\n\r\nMTLLoader.MaterialCreator.prototype = {\r\n constructor: MTLLoader.MaterialCreator,\r\n\r\n setCrossOrigin: function (value) {\r\n this.crossOrigin = value;\r\n },\r\n\r\n setManager: function (value) {\r\n this.manager = value;\r\n },\r\n\r\n setMaterials: function (materialsInfo) {\r\n this.materialsInfo = this.convert(materialsInfo);\r\n this.materials = {};\r\n this.materialsArray = [];\r\n this.nameLookup = {};\r\n },\r\n\r\n convert: function (materialsInfo) {\r\n if (!this.options) return materialsInfo;\r\n\r\n let converted = {};\r\n\r\n for (let mn in materialsInfo) {\r\n // Convert materials info into normalized form based on options\r\n\r\n let mat = materialsInfo[mn];\r\n\r\n let covmat = {};\r\n\r\n converted[mn] = covmat;\r\n\r\n for (let prop in mat) {\r\n let save = true;\r\n let value = mat[prop];\r\n let lprop = prop.toLowerCase();\r\n\r\n switch (lprop) {\r\n case 'kd':\r\n case 'ka':\r\n case 'ks':\r\n // Diffuse color (color under white light) using RGB values\r\n\r\n if (this.options && this.options.normalizeRGB) {\r\n value = [value[0] / 255, value[1] / 255, value[2] / 255];\r\n }\r\n\r\n if (this.options && this.options.ignoreZeroRGBs) {\r\n if (value[0] === 0 && value[1] === 0 && value[2] === 0) {\r\n // ignore\r\n\r\n save = false;\r\n }\r\n }\r\n\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n\r\n if (save) {\r\n covmat[lprop] = value;\r\n }\r\n }\r\n }\r\n\r\n return converted;\r\n },\r\n\r\n preload: function () {\r\n for (let mn in this.materialsInfo) {\r\n this.create(mn);\r\n }\r\n },\r\n\r\n getIndex: function (materialName) {\r\n return this.nameLookup[materialName];\r\n },\r\n\r\n getAsArray: function () {\r\n let index = 0;\r\n\r\n for (let mn in this.materialsInfo) {\r\n this.materialsArray[index] = this.create(mn);\r\n this.nameLookup[mn] = index;\r\n index++;\r\n }\r\n\r\n return this.materialsArray;\r\n },\r\n\r\n create: function (materialName) {\r\n if (this.materials[materialName] === undefined) {\r\n this.createMaterial_(materialName);\r\n }\r\n\r\n return this.materials[materialName];\r\n },\r\n\r\n createMaterial_: function (materialName) {\r\n // Create material\r\n\r\n let mat = this.materialsInfo[materialName];\r\n let params = {\r\n name: materialName,\r\n side: this.side\r\n };\r\n\r\n let resolveURL = function (baseUrl, url) {\r\n if (typeof url !== 'string' || url === '') return '';\r\n\r\n // Absolute URL\r\n if (/^https?:\\/\\//i.test(url)) {\r\n return url;\r\n }\r\n\r\n return baseUrl + url;\r\n };\r\n\r\n for (let prop in mat) {\r\n let value = mat[prop];\r\n\r\n if (value === '') continue;\r\n\r\n switch (prop.toLowerCase()) {\r\n // Ns is material specular exponent\r\n\r\n case 'kd':\r\n // Diffuse color (color under white light) using RGB values\r\n\r\n params.color = new THREE.Color().fromArray(value);\r\n\r\n break;\r\n\r\n case 'ks':\r\n // Specular color (color when light is reflected from shiny surface) using RGB values\r\n params.specular = new THREE.Color().fromArray(value);\r\n\r\n break;\r\n\r\n case 'map_kd':\r\n // Diffuse texture map\r\n\r\n if (params.map) break; // Keep the first encountered texture\r\n\r\n var texParams = this.getTextureParams(value, params);\r\n\r\n params.map = this.loadTexture(\r\n resolveURL(this.baseUrl, texParams.url)\r\n );\r\n params.map.repeat.copy(texParams.scale);\r\n params.map.offset.copy(texParams.offset);\r\n\r\n params.map.wrapS = this.wrap;\r\n params.map.wrapT = this.wrap;\r\n\r\n break;\r\n\r\n case 'map_ks':\r\n // Specular map\r\n\r\n if (params.specularMap) break; // Keep the first encountered texture\r\n\r\n params.specularMap = this.loadTexture(\r\n resolveURL(this.baseUrl, value)\r\n );\r\n params.specularMap.wrapS = this.wrap;\r\n params.specularMap.wrapT = this.wrap;\r\n\r\n break;\r\n\r\n case 'ns':\r\n // The specular exponent (defines the focus of the specular highlight)\r\n // A high exponent results in a tight, concentrated highlight. Ns values normally range from 0 to 1000.\r\n\r\n params.shininess = parseFloat(value);\r\n\r\n break;\r\n\r\n case 'd':\r\n if (value < 1) {\r\n params.opacity = value;\r\n params.transparent = true;\r\n }\r\n\r\n break;\r\n\r\n case 'Tr':\r\n if (value > 0) {\r\n params.opacity = 1 - value;\r\n params.transparent = true;\r\n }\r\n\r\n break;\r\n\r\n case 'map_bump':\r\n case 'bump':\r\n // Bump texture map\r\n\r\n if (params.bumpMap) break; // Keep the first encountered texture\r\n\r\n var texParams = this.getTextureParams(value, params);\r\n\r\n params.bumpMap = this.loadTexture(\r\n resolveURL(this.baseUrl, texParams.url)\r\n );\r\n params.bumpMap.repeat.copy(texParams.scale);\r\n params.bumpMap.offset.copy(texParams.offset);\r\n\r\n params.bumpMap.wrapS = this.wrap;\r\n params.bumpMap.wrapT = this.wrap;\r\n\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n this.materials[materialName] = new THREE.MeshPhongMaterial(params);\r\n return this.materials[materialName];\r\n },\r\n\r\n getTextureParams: function (value, matParams) {\r\n let texParams = {\r\n scale: new THREE.Vector2(1, 1),\r\n offset: new THREE.Vector2(0, 0)\r\n };\r\n\r\n let items = value.split(/\\s+/);\r\n let pos;\r\n\r\n pos = items.indexOf('-bm');\r\n if (pos >= 0) {\r\n matParams.bumpScale = parseFloat(items[pos + 1]);\r\n items.splice(pos, 2);\r\n }\r\n\r\n pos = items.indexOf('-s');\r\n if (pos >= 0) {\r\n texParams.scale.set(\r\n parseFloat(items[pos + 1]),\r\n parseFloat(items[pos + 2])\r\n );\r\n items.splice(pos, 4); // we expect 3 parameters here!\r\n }\r\n\r\n pos = items.indexOf('-o');\r\n if (pos >= 0) {\r\n texParams.offset.set(\r\n parseFloat(items[pos + 1]),\r\n parseFloat(items[pos + 2])\r\n );\r\n items.splice(pos, 4); // we expect 3 parameters here!\r\n }\r\n\r\n texParams.url = items.join(' ').trim();\r\n return texParams;\r\n },\r\n\r\n loadTexture: function (url, mapping, onLoad, onProgress, onError) {\r\n let texture;\r\n let loader = THREE.Loader.Handlers.get(url);\r\n let manager =\r\n this.manager !== undefined ? this.manager : THREE.DefaultLoadingManager;\r\n\r\n if (loader === null) {\r\n loader = new THREE.TextureLoader(manager);\r\n }\r\n\r\n if (loader.setCrossOrigin) loader.setCrossOrigin(this.crossOrigin);\r\n texture = loader.load(url, onLoad, onProgress, onError);\r\n\r\n if (mapping !== undefined) texture.mapping = mapping;\r\n\r\n return texture;\r\n }\r\n};\r\n\r\nmodule.exports = MTLLoader;\r\n"],"mappings":"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","ignoreList":[]}
@@ -1,463 +0,0 @@
1
- /**
2
- * @author mrdoob / http://mrdoob.com/
3
- */
4
-
5
- var THREE = window.THREE || require('three');
6
- var OBJLoader;
7
- OBJLoader = function OBJLoader(manager) {
8
- this.manager = manager !== undefined ? manager : THREE.DefaultLoadingManager;
9
- this.materials = null;
10
- this.regexp = {
11
- // v float float float
12
- vertex_pattern: /^v\s+([\d|\.|\+|\-|e|E]+)\s+([\d|\.|\+|\-|e|E]+)\s+([\d|\.|\+|\-|e|E]+)/,
13
- // vn float float float
14
- normal_pattern: /^vn\s+([\d|\.|\+|\-|e|E]+)\s+([\d|\.|\+|\-|e|E]+)\s+([\d|\.|\+|\-|e|E]+)/,
15
- // vt float float
16
- uv_pattern: /^vt\s+([\d|\.|\+|\-|e|E]+)\s+([\d|\.|\+|\-|e|E]+)/,
17
- // f vertex vertex vertex
18
- face_vertex: /^f\s+(-?\d+)\s+(-?\d+)\s+(-?\d+)(?:\s+(-?\d+))?/,
19
- // f vertex/uv vertex/uv vertex/uv
20
- face_vertex_uv: /^f\s+(-?\d+)\/(-?\d+)\s+(-?\d+)\/(-?\d+)\s+(-?\d+)\/(-?\d+)(?:\s+(-?\d+)\/(-?\d+))?/,
21
- // f vertex/uv/normal vertex/uv/normal vertex/uv/normal
22
- face_vertex_uv_normal: /^f\s+(-?\d+)\/(-?\d+)\/(-?\d+)\s+(-?\d+)\/(-?\d+)\/(-?\d+)\s+(-?\d+)\/(-?\d+)\/(-?\d+)(?:\s+(-?\d+)\/(-?\d+)\/(-?\d+))?/,
23
- // f vertex//normal vertex//normal vertex//normal
24
- face_vertex_normal: /^f\s+(-?\d+)\/\/(-?\d+)\s+(-?\d+)\/\/(-?\d+)\s+(-?\d+)\/\/(-?\d+)(?:\s+(-?\d+)\/\/(-?\d+))?/,
25
- // o object_name | g group_name
26
- object_pattern: /^[og]\s*(.+)?/,
27
- // s boolean
28
- smoothing_pattern: /^s\s+(\d+|on|off)/,
29
- // mtllib file_reference
30
- material_library_pattern: /^mtllib /,
31
- // usemtl material_name
32
- material_use_pattern: /^usemtl /
33
- };
34
- };
35
- OBJLoader.prototype = {
36
- constructor: OBJLoader,
37
- load: function load(url, onLoad, onProgress, onError) {
38
- var scope = this;
39
- var loader = new THREE.XHRLoader(scope.manager);
40
- loader.setPath(this.path);
41
- loader.load(url, function (text) {
42
- onLoad(scope.parse(text));
43
- }, onProgress, onError);
44
- },
45
- setPath: function setPath(value) {
46
- this.path = value;
47
- },
48
- setMaterials: function setMaterials(materials) {
49
- this.materials = materials;
50
- },
51
- _createParserState: function _createParserState() {
52
- var state = {
53
- objects: [],
54
- object: {},
55
- vertices: [],
56
- normals: [],
57
- uvs: [],
58
- materialLibraries: [],
59
- startObject: function startObject(name, fromDeclaration) {
60
- // If the current object (initial from reset) is not from a g/o declaration in the parsed
61
- // file. We need to use it for the first parsed g/o to keep things in sync.
62
- if (this.object && this.object.fromDeclaration === false) {
63
- this.object.name = name;
64
- this.object.fromDeclaration = fromDeclaration !== false;
65
- return;
66
- }
67
- if (this.object && typeof this.object._finalize === 'function') {
68
- this.object._finalize();
69
- }
70
- var previousMaterial = this.object && typeof this.object.currentMaterial === 'function' ? this.object.currentMaterial() : undefined;
71
- this.object = {
72
- name: name || '',
73
- fromDeclaration: fromDeclaration !== false,
74
- geometry: {
75
- vertices: [],
76
- normals: [],
77
- uvs: []
78
- },
79
- materials: [],
80
- smooth: true,
81
- startMaterial: function startMaterial(name, libraries) {
82
- var previous = this._finalize(false);
83
-
84
- // New usemtl declaration overwrites an inherited material, except if faces were declared
85
- // after the material, then it must be preserved for proper MultiMaterial continuation.
86
- if (previous && (previous.inherited || previous.groupCount <= 0)) {
87
- this.materials.splice(previous.index, 1);
88
- }
89
- var material = {
90
- index: this.materials.length,
91
- name: name || '',
92
- mtllib: Array.isArray(libraries) && libraries.length > 0 ? libraries[libraries.length - 1] : '',
93
- smooth: previous !== undefined ? previous.smooth : this.smooth,
94
- groupStart: previous !== undefined ? previous.groupEnd : 0,
95
- groupEnd: -1,
96
- groupCount: -1,
97
- inherited: false,
98
- clone: function clone(index) {
99
- return {
100
- index: typeof index === 'number' ? index : this.index,
101
- name: this.name,
102
- mtllib: this.mtllib,
103
- smooth: this.smooth,
104
- groupStart: this.groupEnd,
105
- groupEnd: -1,
106
- groupCount: -1,
107
- inherited: false
108
- };
109
- }
110
- };
111
- this.materials.push(material);
112
- return material;
113
- },
114
- currentMaterial: function currentMaterial() {
115
- if (this.materials.length > 0) {
116
- return this.materials[this.materials.length - 1];
117
- }
118
- return undefined;
119
- },
120
- _finalize: function _finalize(end) {
121
- var lastMultiMaterial = this.currentMaterial();
122
- if (lastMultiMaterial && lastMultiMaterial.groupEnd === -1) {
123
- lastMultiMaterial.groupEnd = this.geometry.vertices.length / 3;
124
- lastMultiMaterial.groupCount = lastMultiMaterial.groupEnd - lastMultiMaterial.groupStart;
125
- lastMultiMaterial.inherited = false;
126
- }
127
-
128
- // Guarantee at least one empty material, this makes the creation later more straight forward.
129
- if (end !== false && this.materials.length === 0) {
130
- this.materials.push({
131
- name: '',
132
- smooth: this.smooth
133
- });
134
- }
135
- return lastMultiMaterial;
136
- }
137
- };
138
-
139
- // Inherit previous objects material.
140
- // Spec tells us that a declared material must be set to all objects until a new material is declared.
141
- // If a usemtl declaration is encountered while this new object is being parsed, it will
142
- // overwrite the inherited material. Exception being that there was already face declarations
143
- // to the inherited material, then it will be preserved for proper MultiMaterial continuation.
144
-
145
- if (previousMaterial && previousMaterial.name && typeof previousMaterial.clone === 'function') {
146
- var declared = previousMaterial.clone(0);
147
- declared.inherited = true;
148
- this.object.materials.push(declared);
149
- }
150
- this.objects.push(this.object);
151
- },
152
- finalize: function finalize() {
153
- if (this.object && typeof this.object._finalize === 'function') {
154
- this.object._finalize();
155
- }
156
- },
157
- parseVertexIndex: function parseVertexIndex(value, len) {
158
- var index = parseInt(value, 10);
159
- return (index >= 0 ? index - 1 : index + len / 3) * 3;
160
- },
161
- parseNormalIndex: function parseNormalIndex(value, len) {
162
- var index = parseInt(value, 10);
163
- return (index >= 0 ? index - 1 : index + len / 3) * 3;
164
- },
165
- parseUVIndex: function parseUVIndex(value, len) {
166
- var index = parseInt(value, 10);
167
- return (index >= 0 ? index - 1 : index + len / 2) * 2;
168
- },
169
- addVertex: function addVertex(a, b, c) {
170
- var src = this.vertices;
171
- var dst = this.object.geometry.vertices;
172
- dst.push(src[a + 0]);
173
- dst.push(src[a + 1]);
174
- dst.push(src[a + 2]);
175
- dst.push(src[b + 0]);
176
- dst.push(src[b + 1]);
177
- dst.push(src[b + 2]);
178
- dst.push(src[c + 0]);
179
- dst.push(src[c + 1]);
180
- dst.push(src[c + 2]);
181
- },
182
- addVertexLine: function addVertexLine(a) {
183
- var src = this.vertices;
184
- var dst = this.object.geometry.vertices;
185
- dst.push(src[a + 0]);
186
- dst.push(src[a + 1]);
187
- dst.push(src[a + 2]);
188
- },
189
- addNormal: function addNormal(a, b, c) {
190
- var src = this.normals;
191
- var dst = this.object.geometry.normals;
192
- dst.push(src[a + 0]);
193
- dst.push(src[a + 1]);
194
- dst.push(src[a + 2]);
195
- dst.push(src[b + 0]);
196
- dst.push(src[b + 1]);
197
- dst.push(src[b + 2]);
198
- dst.push(src[c + 0]);
199
- dst.push(src[c + 1]);
200
- dst.push(src[c + 2]);
201
- },
202
- addUV: function addUV(a, b, c) {
203
- var src = this.uvs;
204
- var dst = this.object.geometry.uvs;
205
- dst.push(src[a + 0]);
206
- dst.push(src[a + 1]);
207
- dst.push(src[b + 0]);
208
- dst.push(src[b + 1]);
209
- dst.push(src[c + 0]);
210
- dst.push(src[c + 1]);
211
- },
212
- addUVLine: function addUVLine(a) {
213
- var src = this.uvs;
214
- var dst = this.object.geometry.uvs;
215
- dst.push(src[a + 0]);
216
- dst.push(src[a + 1]);
217
- },
218
- addFace: function addFace(a, b, c, d, ua, ub, uc, ud, na, nb, nc, nd) {
219
- var vLen = this.vertices.length;
220
- var ia = this.parseVertexIndex(a, vLen);
221
- var ib = this.parseVertexIndex(b, vLen);
222
- var ic = this.parseVertexIndex(c, vLen);
223
- var id;
224
- if (d === undefined) {
225
- this.addVertex(ia, ib, ic);
226
- } else {
227
- id = this.parseVertexIndex(d, vLen);
228
- this.addVertex(ia, ib, id);
229
- this.addVertex(ib, ic, id);
230
- }
231
- if (ua !== undefined) {
232
- var uvLen = this.uvs.length;
233
- ia = this.parseUVIndex(ua, uvLen);
234
- ib = this.parseUVIndex(ub, uvLen);
235
- ic = this.parseUVIndex(uc, uvLen);
236
- if (d === undefined) {
237
- this.addUV(ia, ib, ic);
238
- } else {
239
- id = this.parseUVIndex(ud, uvLen);
240
- this.addUV(ia, ib, id);
241
- this.addUV(ib, ic, id);
242
- }
243
- }
244
- if (na !== undefined) {
245
- // Normals are many times the same. If so, skip function call and parseInt.
246
- var nLen = this.normals.length;
247
- ia = this.parseNormalIndex(na, nLen);
248
- ib = na === nb ? ia : this.parseNormalIndex(nb, nLen);
249
- ic = na === nc ? ia : this.parseNormalIndex(nc, nLen);
250
- if (d === undefined) {
251
- this.addNormal(ia, ib, ic);
252
- } else {
253
- id = this.parseNormalIndex(nd, nLen);
254
- this.addNormal(ia, ib, id);
255
- this.addNormal(ib, ic, id);
256
- }
257
- }
258
- },
259
- addLineGeometry: function addLineGeometry(vertices, uvs) {
260
- this.object.geometry.type = 'Line';
261
- var vLen = this.vertices.length;
262
- var uvLen = this.uvs.length;
263
- for (var vi = 0, l = vertices.length; vi < l; vi++) {
264
- this.addVertexLine(this.parseVertexIndex(vertices[vi], vLen));
265
- }
266
- for (var uvi = 0, _l = uvs.length; uvi < _l; uvi++) {
267
- this.addUVLine(this.parseUVIndex(uvs[uvi], uvLen));
268
- }
269
- }
270
- };
271
- state.startObject('', false);
272
- return state;
273
- },
274
- parse: function parse(text) {
275
- var state = this._createParserState();
276
- if (text.indexOf('\r\n') !== -1) {
277
- // This is faster than String.split with regex that splits on both
278
- text = text.replace('\r\n', '\n');
279
- }
280
- var lines = text.split('\n');
281
- var line = '',
282
- lineFirstChar = '',
283
- lineSecondChar = '';
284
- var lineLength = 0;
285
- var result = [];
286
-
287
- // Faster to just trim left side of the line. Use if available.
288
- var trimLeft = typeof ''.trimLeft === 'function';
289
- for (var i = 0, l = lines.length; i < l; i++) {
290
- line = lines[i];
291
- line = trimLeft ? line.trimLeft() : line.trim();
292
- lineLength = line.length;
293
- if (lineLength === 0) continue;
294
- lineFirstChar = line.charAt(0);
295
-
296
- // @todo invoke passed in handler if any
297
- if (lineFirstChar === '#') continue;
298
- if (lineFirstChar === 'v') {
299
- lineSecondChar = line.charAt(1);
300
- if (lineSecondChar === ' ' && (result = this.regexp.vertex_pattern.exec(line)) !== null) {
301
- // 0 1 2 3
302
- // ["v 1.0 2.0 3.0", "1.0", "2.0", "3.0"]
303
-
304
- state.vertices.push(parseFloat(result[1]), parseFloat(result[2]), parseFloat(result[3]));
305
- } else if (lineSecondChar === 'n' && (result = this.regexp.normal_pattern.exec(line)) !== null) {
306
- // 0 1 2 3
307
- // ["vn 1.0 2.0 3.0", "1.0", "2.0", "3.0"]
308
-
309
- state.normals.push(parseFloat(result[1]), parseFloat(result[2]), parseFloat(result[3]));
310
- } else if (lineSecondChar === 't' && (result = this.regexp.uv_pattern.exec(line)) !== null) {
311
- // 0 1 2
312
- // ["vt 0.1 0.2", "0.1", "0.2"]
313
-
314
- state.uvs.push(parseFloat(result[1]), parseFloat(result[2]));
315
- } else {
316
- throw new Error("Unexpected vertex/normal/uv line: '" + line + "'");
317
- }
318
- } else if (lineFirstChar === 'f') {
319
- if ((result = this.regexp.face_vertex_uv_normal.exec(line)) !== null) {
320
- // f vertex/uv/normal vertex/uv/normal vertex/uv/normal
321
- // 0 1 2 3 4 5 6 7 8 9 10 11 12
322
- // ["f 1/1/1 2/2/2 3/3/3", "1", "1", "1", "2", "2", "2", "3", "3", "3", undefined, undefined, undefined]
323
-
324
- state.addFace(result[1], result[4], result[7], result[10], result[2], result[5], result[8], result[11], result[3], result[6], result[9], result[12]);
325
- } else if ((result = this.regexp.face_vertex_uv.exec(line)) !== null) {
326
- // f vertex/uv vertex/uv vertex/uv
327
- // 0 1 2 3 4 5 6 7 8
328
- // ["f 1/1 2/2 3/3", "1", "1", "2", "2", "3", "3", undefined, undefined]
329
-
330
- state.addFace(result[1], result[3], result[5], result[7], result[2], result[4], result[6], result[8]);
331
- } else if ((result = this.regexp.face_vertex_normal.exec(line)) !== null) {
332
- // f vertex//normal vertex//normal vertex//normal
333
- // 0 1 2 3 4 5 6 7 8
334
- // ["f 1//1 2//2 3//3", "1", "1", "2", "2", "3", "3", undefined, undefined]
335
-
336
- state.addFace(result[1], result[3], result[5], result[7], undefined, undefined, undefined, undefined, result[2], result[4], result[6], result[8]);
337
- } else if ((result = this.regexp.face_vertex.exec(line)) !== null) {
338
- // f vertex vertex vertex
339
- // 0 1 2 3 4
340
- // ["f 1 2 3", "1", "2", "3", undefined]
341
-
342
- state.addFace(result[1], result[2], result[3], result[4]);
343
- } else {
344
- throw new Error("Unexpected face line: '" + line + "'");
345
- }
346
- } else if (lineFirstChar === 'l') {
347
- var lineParts = line.substring(1).trim().split(' ');
348
- var lineVertices = [],
349
- lineUVs = [];
350
- if (line.indexOf('/') === -1) {
351
- lineVertices = lineParts;
352
- } else {
353
- for (var li = 0, llen = lineParts.length; li < llen; li++) {
354
- var parts = lineParts[li].split('/');
355
- if (parts[0] !== '') lineVertices.push(parts[0]);
356
- if (parts[1] !== '') lineUVs.push(parts[1]);
357
- }
358
- }
359
- state.addLineGeometry(lineVertices, lineUVs);
360
- } else if ((result = this.regexp.object_pattern.exec(line)) !== null) {
361
- // o object_name
362
- // or
363
- // g group_name
364
-
365
- var name = result[0].substr(1).trim();
366
- state.startObject(name);
367
- } else if (this.regexp.material_use_pattern.test(line)) {
368
- // material
369
-
370
- state.object.startMaterial(line.substring(7).trim(), state.materialLibraries);
371
- } else if (this.regexp.material_library_pattern.test(line)) {
372
- // mtl file
373
-
374
- state.materialLibraries.push(line.substring(7).trim());
375
- } else if ((result = this.regexp.smoothing_pattern.exec(line)) !== null) {
376
- // smooth shading
377
-
378
- // @todo Handle files that have varying smooth values for a set of faces inside one geometry,
379
- // but does not define a usemtl for each face set.
380
- // This should be detected and a dummy material created (later MultiMaterial and geometry groups).
381
- // This requires some care to not create extra material on each smooth value for "normal" obj files.
382
- // where explicit usemtl defines geometry groups.
383
- // Example asset: examples/models/obj/cerberus/Cerberus.obj
384
-
385
- var value = result[1].trim().toLowerCase();
386
- state.object.smooth = value === '1' || value === 'on';
387
- var material = state.object.currentMaterial();
388
- if (material) {
389
- material.smooth = state.object.smooth;
390
- }
391
- } else {
392
- // Handle null terminated files without exception
393
- if (line === '\0') continue;
394
- throw new Error("Unexpected line: '" + line + "'");
395
- }
396
- }
397
- state.finalize();
398
- var container = new THREE.Group();
399
- container.materialLibraries = [].concat(state.materialLibraries);
400
- for (var _i = 0, _l2 = state.objects.length; _i < _l2; _i++) {
401
- var object = state.objects[_i];
402
- var geometry = object.geometry;
403
- var materials = object.materials;
404
- var isLine = geometry.type === 'Line';
405
-
406
- // Skip o/g line declarations that did not follow with any faces
407
- if (geometry.vertices.length === 0) continue;
408
- var buffergeometry = new THREE.BufferGeometry();
409
- buffergeometry.addAttribute('position', new THREE.BufferAttribute(new Float32Array(geometry.vertices), 3));
410
- if (geometry.normals.length > 0) {
411
- buffergeometry.addAttribute('normal', new THREE.BufferAttribute(new Float32Array(geometry.normals), 3));
412
- } else {
413
- buffergeometry.computeVertexNormals();
414
- }
415
- if (geometry.uvs.length > 0) {
416
- buffergeometry.addAttribute('uv', new THREE.BufferAttribute(new Float32Array(geometry.uvs), 2));
417
- }
418
-
419
- // Create materials
420
-
421
- var createdMaterials = [];
422
- for (var mi = 0, miLen = materials.length; mi < miLen; mi++) {
423
- var sourceMaterial = materials[mi];
424
- var _material = undefined;
425
- if (this.materials !== null) {
426
- _material = this.materials.create(sourceMaterial.name);
427
-
428
- // mtl etc. loaders probably can't create line materials correctly, copy properties to a line material.
429
- if (isLine && _material && !(_material instanceof THREE.LineBasicMaterial)) {
430
- var materialLine = new THREE.LineBasicMaterial();
431
- materialLine.copy(_material);
432
- _material = materialLine;
433
- }
434
- }
435
- if (!_material) {
436
- _material = !isLine ? new THREE.MeshPhongMaterial() : new THREE.LineBasicMaterial();
437
- _material.name = sourceMaterial.name;
438
- }
439
- if (!sourceMaterial.smooth) _material.flatShading = true;
440
- createdMaterials.push(_material);
441
- }
442
-
443
- // Create mesh
444
-
445
- var mesh = void 0;
446
- if (createdMaterials.length > 1) {
447
- for (var _mi = 0, _miLen = materials.length; _mi < _miLen; _mi++) {
448
- var _sourceMaterial = materials[_mi];
449
- buffergeometry.addGroup(_sourceMaterial.groupStart, _sourceMaterial.groupCount, _mi);
450
- }
451
- var multiMaterial = new THREE.MultiMaterial(createdMaterials);
452
- mesh = !isLine ? new THREE.Mesh(buffergeometry, multiMaterial) : new THREE.Line(buffergeometry, multiMaterial);
453
- } else {
454
- mesh = !isLine ? new THREE.Mesh(buffergeometry, createdMaterials[0]) : new THREE.Line(buffergeometry, createdMaterials[0]);
455
- }
456
- mesh.name = object.name;
457
- container.add(mesh);
458
- }
459
- return container;
460
- }
461
- };
462
- module.exports = OBJLoader;
463
- //# sourceMappingURL=obj-loader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"obj-loader.js","names":["THREE","window","require","OBJLoader","manager","undefined","DefaultLoadingManager","materials","regexp","vertex_pattern","normal_pattern","uv_pattern","face_vertex","face_vertex_uv","face_vertex_uv_normal","face_vertex_normal","object_pattern","smoothing_pattern","material_library_pattern","material_use_pattern","prototype","constructor","load","url","onLoad","onProgress","onError","scope","loader","XHRLoader","setPath","path","text","parse","value","setMaterials","_createParserState","state","objects","object","vertices","normals","uvs","materialLibraries","startObject","name","fromDeclaration","_finalize","previousMaterial","currentMaterial","geometry","smooth","startMaterial","libraries","previous","inherited","groupCount","splice","index","material","length","mtllib","Array","isArray","groupStart","groupEnd","clone","push","end","lastMultiMaterial","declared","finalize","parseVertexIndex","len","parseInt","parseNormalIndex","parseUVIndex","addVertex","a","b","c","src","dst","addVertexLine","addNormal","addUV","addUVLine","addFace","d","ua","ub","uc","ud","na","nb","nc","nd","vLen","ia","ib","ic","id","uvLen","nLen","addLineGeometry","type","vi","l","uvi","indexOf","replace","lines","split","line","lineFirstChar","lineSecondChar","lineLength","result","trimLeft","i","trim","charAt","exec","parseFloat","Error","lineParts","substring","lineVertices","lineUVs","li","llen","parts","substr","test","toLowerCase","container","Group","concat","isLine","buffergeometry","BufferGeometry","addAttribute","BufferAttribute","Float32Array","computeVertexNormals","createdMaterials","mi","miLen","sourceMaterial","create","LineBasicMaterial","materialLine","copy","MeshPhongMaterial","flatShading","mesh","addGroup","multiMaterial","MultiMaterial","Mesh","Line","add","module","exports"],"sources":["../../../../src/components/viewer3d/libs/obj-loader.js"],"sourcesContent":["/**\r\n * @author mrdoob / http://mrdoob.com/\r\n */\r\n\r\nlet THREE = window.THREE || require('three');\r\nlet OBJLoader;\r\n\r\nOBJLoader = function (manager) {\r\n this.manager = manager !== undefined ? manager : THREE.DefaultLoadingManager;\r\n\r\n this.materials = null;\r\n\r\n this.regexp = {\r\n // v float float float\r\n vertex_pattern:\r\n /^v\\s+([\\d|\\.|\\+|\\-|e|E]+)\\s+([\\d|\\.|\\+|\\-|e|E]+)\\s+([\\d|\\.|\\+|\\-|e|E]+)/,\r\n // vn float float float\r\n normal_pattern:\r\n /^vn\\s+([\\d|\\.|\\+|\\-|e|E]+)\\s+([\\d|\\.|\\+|\\-|e|E]+)\\s+([\\d|\\.|\\+|\\-|e|E]+)/,\r\n // vt float float\r\n uv_pattern: /^vt\\s+([\\d|\\.|\\+|\\-|e|E]+)\\s+([\\d|\\.|\\+|\\-|e|E]+)/,\r\n // f vertex vertex vertex\r\n face_vertex: /^f\\s+(-?\\d+)\\s+(-?\\d+)\\s+(-?\\d+)(?:\\s+(-?\\d+))?/,\r\n // f vertex/uv vertex/uv vertex/uv\r\n face_vertex_uv:\r\n /^f\\s+(-?\\d+)\\/(-?\\d+)\\s+(-?\\d+)\\/(-?\\d+)\\s+(-?\\d+)\\/(-?\\d+)(?:\\s+(-?\\d+)\\/(-?\\d+))?/,\r\n // f vertex/uv/normal vertex/uv/normal vertex/uv/normal\r\n face_vertex_uv_normal:\r\n /^f\\s+(-?\\d+)\\/(-?\\d+)\\/(-?\\d+)\\s+(-?\\d+)\\/(-?\\d+)\\/(-?\\d+)\\s+(-?\\d+)\\/(-?\\d+)\\/(-?\\d+)(?:\\s+(-?\\d+)\\/(-?\\d+)\\/(-?\\d+))?/,\r\n // f vertex//normal vertex//normal vertex//normal\r\n face_vertex_normal:\r\n /^f\\s+(-?\\d+)\\/\\/(-?\\d+)\\s+(-?\\d+)\\/\\/(-?\\d+)\\s+(-?\\d+)\\/\\/(-?\\d+)(?:\\s+(-?\\d+)\\/\\/(-?\\d+))?/,\r\n // o object_name | g group_name\r\n object_pattern: /^[og]\\s*(.+)?/,\r\n // s boolean\r\n smoothing_pattern: /^s\\s+(\\d+|on|off)/,\r\n // mtllib file_reference\r\n material_library_pattern: /^mtllib /,\r\n // usemtl material_name\r\n material_use_pattern: /^usemtl /\r\n };\r\n};\r\n\r\nOBJLoader.prototype = {\r\n constructor: OBJLoader,\r\n\r\n load: function (url, onLoad, onProgress, onError) {\r\n let scope = this;\r\n\r\n let loader = new THREE.XHRLoader(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\r\n setPath: function (value) {\r\n this.path = value;\r\n },\r\n\r\n setMaterials: function (materials) {\r\n this.materials = materials;\r\n },\r\n\r\n _createParserState: function () {\r\n let state = {\r\n objects: [],\r\n object: {},\r\n\r\n vertices: [],\r\n normals: [],\r\n uvs: [],\r\n\r\n materialLibraries: [],\r\n\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\r\n if (this.object && typeof this.object._finalize === 'function') {\r\n this.object._finalize();\r\n }\r\n\r\n let previousMaterial =\r\n this.object && typeof this.object.currentMaterial === 'function'\r\n ? this.object.currentMaterial()\r\n : undefined;\r\n\r\n this.object = {\r\n name: name || '',\r\n fromDeclaration: fromDeclaration !== false,\r\n\r\n geometry: {\r\n vertices: [],\r\n normals: [],\r\n uvs: []\r\n },\r\n materials: [],\r\n smooth: true,\r\n\r\n startMaterial: function (name, libraries) {\r\n let previous = this._finalize(false);\r\n\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\r\n let 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\r\n clone: function (index) {\r\n return {\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: this.groupEnd,\r\n groupEnd: -1,\r\n groupCount: -1,\r\n inherited: false\r\n };\r\n }\r\n };\r\n\r\n this.materials.push(material);\r\n\r\n return material;\r\n },\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\r\n return undefined;\r\n },\r\n\r\n _finalize: function (end) {\r\n let 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\r\n // Guarantee at least one empty material, this makes the creation later more straight forward.\r\n if (end !== false && this.materials.length === 0) {\r\n this.materials.push({\r\n name: '',\r\n smooth: this.smooth\r\n });\r\n }\r\n\r\n return lastMultiMaterial;\r\n }\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\r\n if (\r\n previousMaterial &&\r\n previousMaterial.name &&\r\n typeof previousMaterial.clone === 'function'\r\n ) {\r\n let declared = previousMaterial.clone(0);\r\n declared.inherited = true;\r\n this.object.materials.push(declared);\r\n }\r\n\r\n this.objects.push(this.object);\r\n },\r\n\r\n finalize: function () {\r\n if (this.object && typeof this.object._finalize === 'function') {\r\n this.object._finalize();\r\n }\r\n },\r\n\r\n parseVertexIndex: function (value, len) {\r\n let index = parseInt(value, 10);\r\n return (index >= 0 ? index - 1 : index + len / 3) * 3;\r\n },\r\n\r\n parseNormalIndex: function (value, len) {\r\n let index = parseInt(value, 10);\r\n return (index >= 0 ? index - 1 : index + len / 3) * 3;\r\n },\r\n\r\n parseUVIndex: function (value, len) {\r\n let index = parseInt(value, 10);\r\n return (index >= 0 ? index - 1 : index + len / 2) * 2;\r\n },\r\n\r\n addVertex: function (a, b, c) {\r\n let src = this.vertices;\r\n let dst = this.object.geometry.vertices;\r\n\r\n dst.push(src[a + 0]);\r\n dst.push(src[a + 1]);\r\n dst.push(src[a + 2]);\r\n dst.push(src[b + 0]);\r\n dst.push(src[b + 1]);\r\n dst.push(src[b + 2]);\r\n dst.push(src[c + 0]);\r\n dst.push(src[c + 1]);\r\n dst.push(src[c + 2]);\r\n },\r\n\r\n addVertexLine: function (a) {\r\n let src = this.vertices;\r\n let dst = this.object.geometry.vertices;\r\n\r\n dst.push(src[a + 0]);\r\n dst.push(src[a + 1]);\r\n dst.push(src[a + 2]);\r\n },\r\n\r\n addNormal: function (a, b, c) {\r\n let src = this.normals;\r\n let dst = this.object.geometry.normals;\r\n\r\n dst.push(src[a + 0]);\r\n dst.push(src[a + 1]);\r\n dst.push(src[a + 2]);\r\n dst.push(src[b + 0]);\r\n dst.push(src[b + 1]);\r\n dst.push(src[b + 2]);\r\n dst.push(src[c + 0]);\r\n dst.push(src[c + 1]);\r\n dst.push(src[c + 2]);\r\n },\r\n\r\n addUV: function (a, b, c) {\r\n let src = this.uvs;\r\n let dst = this.object.geometry.uvs;\r\n\r\n dst.push(src[a + 0]);\r\n dst.push(src[a + 1]);\r\n dst.push(src[b + 0]);\r\n dst.push(src[b + 1]);\r\n dst.push(src[c + 0]);\r\n dst.push(src[c + 1]);\r\n },\r\n\r\n addUVLine: function (a) {\r\n let src = this.uvs;\r\n let dst = this.object.geometry.uvs;\r\n\r\n dst.push(src[a + 0]);\r\n dst.push(src[a + 1]);\r\n },\r\n\r\n addFace: function (a, b, c, d, ua, ub, uc, ud, na, nb, nc, nd) {\r\n let vLen = this.vertices.length;\r\n\r\n let ia = this.parseVertexIndex(a, vLen);\r\n let ib = this.parseVertexIndex(b, vLen);\r\n let ic = this.parseVertexIndex(c, vLen);\r\n let id;\r\n\r\n if (d === undefined) {\r\n this.addVertex(ia, ib, ic);\r\n } else {\r\n id = this.parseVertexIndex(d, vLen);\r\n\r\n this.addVertex(ia, ib, id);\r\n this.addVertex(ib, ic, id);\r\n }\r\n\r\n if (ua !== undefined) {\r\n let uvLen = this.uvs.length;\r\n\r\n ia = this.parseUVIndex(ua, uvLen);\r\n ib = this.parseUVIndex(ub, uvLen);\r\n ic = this.parseUVIndex(uc, uvLen);\r\n\r\n if (d === undefined) {\r\n this.addUV(ia, ib, ic);\r\n } else {\r\n id = this.parseUVIndex(ud, uvLen);\r\n\r\n this.addUV(ia, ib, id);\r\n this.addUV(ib, ic, id);\r\n }\r\n }\r\n\r\n if (na !== undefined) {\r\n // Normals are many times the same. If so, skip function call and parseInt.\r\n let nLen = this.normals.length;\r\n ia = this.parseNormalIndex(na, nLen);\r\n\r\n ib = na === nb ? ia : this.parseNormalIndex(nb, nLen);\r\n ic = na === nc ? ia : this.parseNormalIndex(nc, nLen);\r\n\r\n if (d === undefined) {\r\n this.addNormal(ia, ib, ic);\r\n } else {\r\n id = this.parseNormalIndex(nd, nLen);\r\n\r\n this.addNormal(ia, ib, id);\r\n this.addNormal(ib, ic, id);\r\n }\r\n }\r\n },\r\n\r\n addLineGeometry: function (vertices, uvs) {\r\n this.object.geometry.type = 'Line';\r\n\r\n let vLen = this.vertices.length;\r\n let uvLen = this.uvs.length;\r\n\r\n for (let vi = 0, l = vertices.length; vi < l; vi++) {\r\n this.addVertexLine(this.parseVertexIndex(vertices[vi], vLen));\r\n }\r\n\r\n for (let 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\r\n state.startObject('', false);\r\n\r\n return state;\r\n },\r\n\r\n parse: function (text) {\r\n let state = this._createParserState();\r\n\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', '\\n');\r\n }\r\n\r\n let lines = text.split('\\n');\r\n let line = '',\r\n lineFirstChar = '',\r\n lineSecondChar = '';\r\n let lineLength = 0;\r\n let result = [];\r\n\r\n // Faster to just trim left side of the line. Use if available.\r\n let trimLeft = typeof ''.trimLeft === 'function';\r\n\r\n for (let i = 0, l = lines.length; i < l; i++) {\r\n line = lines[i];\r\n\r\n line = trimLeft ? line.trimLeft() : line.trim();\r\n\r\n lineLength = line.length;\r\n\r\n if (lineLength === 0) continue;\r\n\r\n lineFirstChar = line.charAt(0);\r\n\r\n // @todo invoke passed in handler if any\r\n if (lineFirstChar === '#') continue;\r\n\r\n if (lineFirstChar === 'v') {\r\n lineSecondChar = line.charAt(1);\r\n\r\n if (\r\n lineSecondChar === ' ' &&\r\n (result = this.regexp.vertex_pattern.exec(line)) !== null\r\n ) {\r\n // 0 1 2 3\r\n // [\"v 1.0 2.0 3.0\", \"1.0\", \"2.0\", \"3.0\"]\r\n\r\n state.vertices.push(\r\n parseFloat(result[1]),\r\n parseFloat(result[2]),\r\n parseFloat(result[3])\r\n );\r\n } else if (\r\n lineSecondChar === 'n' &&\r\n (result = this.regexp.normal_pattern.exec(line)) !== null\r\n ) {\r\n // 0 1 2 3\r\n // [\"vn 1.0 2.0 3.0\", \"1.0\", \"2.0\", \"3.0\"]\r\n\r\n state.normals.push(\r\n parseFloat(result[1]),\r\n parseFloat(result[2]),\r\n parseFloat(result[3])\r\n );\r\n } else if (\r\n lineSecondChar === 't' &&\r\n (result = this.regexp.uv_pattern.exec(line)) !== null\r\n ) {\r\n // 0 1 2\r\n // [\"vt 0.1 0.2\", \"0.1\", \"0.2\"]\r\n\r\n state.uvs.push(parseFloat(result[1]), parseFloat(result[2]));\r\n } else {\r\n throw new Error(\"Unexpected vertex/normal/uv line: '\" + line + \"'\");\r\n }\r\n } else if (lineFirstChar === 'f') {\r\n if ((result = this.regexp.face_vertex_uv_normal.exec(line)) !== null) {\r\n // f vertex/uv/normal vertex/uv/normal vertex/uv/normal\r\n // 0 1 2 3 4 5 6 7 8 9 10 11 12\r\n // [\"f 1/1/1 2/2/2 3/3/3\", \"1\", \"1\", \"1\", \"2\", \"2\", \"2\", \"3\", \"3\", \"3\", undefined, undefined, undefined]\r\n\r\n state.addFace(\r\n result[1],\r\n result[4],\r\n result[7],\r\n result[10],\r\n result[2],\r\n result[5],\r\n result[8],\r\n result[11],\r\n result[3],\r\n result[6],\r\n result[9],\r\n result[12]\r\n );\r\n } else if ((result = this.regexp.face_vertex_uv.exec(line)) !== null) {\r\n // f vertex/uv vertex/uv vertex/uv\r\n // 0 1 2 3 4 5 6 7 8\r\n // [\"f 1/1 2/2 3/3\", \"1\", \"1\", \"2\", \"2\", \"3\", \"3\", undefined, undefined]\r\n\r\n state.addFace(\r\n result[1],\r\n result[3],\r\n result[5],\r\n result[7],\r\n result[2],\r\n result[4],\r\n result[6],\r\n result[8]\r\n );\r\n } else if (\r\n (result = this.regexp.face_vertex_normal.exec(line)) !== null\r\n ) {\r\n // f vertex//normal vertex//normal vertex//normal\r\n // 0 1 2 3 4 5 6 7 8\r\n // [\"f 1//1 2//2 3//3\", \"1\", \"1\", \"2\", \"2\", \"3\", \"3\", undefined, undefined]\r\n\r\n state.addFace(\r\n result[1],\r\n result[3],\r\n result[5],\r\n result[7],\r\n undefined,\r\n undefined,\r\n undefined,\r\n undefined,\r\n result[2],\r\n result[4],\r\n result[6],\r\n result[8]\r\n );\r\n } else if ((result = this.regexp.face_vertex.exec(line)) !== null) {\r\n // f vertex vertex vertex\r\n // 0 1 2 3 4\r\n // [\"f 1 2 3\", \"1\", \"2\", \"3\", undefined]\r\n\r\n state.addFace(result[1], result[2], result[3], result[4]);\r\n } else {\r\n throw new Error(\"Unexpected face line: '\" + line + \"'\");\r\n }\r\n } else if (lineFirstChar === 'l') {\r\n let lineParts = line.substring(1).trim().split(' ');\r\n let lineVertices = [],\r\n lineUVs = [];\r\n\r\n if (line.indexOf('/') === -1) {\r\n lineVertices = lineParts;\r\n } else {\r\n for (let li = 0, llen = lineParts.length; li < llen; li++) {\r\n let parts = lineParts[li].split('/');\r\n\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 ((result = this.regexp.object_pattern.exec(line)) !== null) {\r\n // o object_name\r\n // or\r\n // g group_name\r\n\r\n let name = result[0].substr(1).trim();\r\n state.startObject(name);\r\n } else if (this.regexp.material_use_pattern.test(line)) {\r\n // material\r\n\r\n state.object.startMaterial(\r\n line.substring(7).trim(),\r\n state.materialLibraries\r\n );\r\n } else if (this.regexp.material_library_pattern.test(line)) {\r\n // mtl file\r\n\r\n state.materialLibraries.push(line.substring(7).trim());\r\n } else if ((result = this.regexp.smoothing_pattern.exec(line)) !== null) {\r\n // smooth shading\r\n\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 let value = result[1].trim().toLowerCase();\r\n state.object.smooth = value === '1' || value === 'on';\r\n\r\n let material = state.object.currentMaterial();\r\n if (material) {\r\n material.smooth = state.object.smooth;\r\n }\r\n } else {\r\n // Handle null terminated files without exception\r\n if (line === '\\0') continue;\r\n\r\n throw new Error(\"Unexpected line: '\" + line + \"'\");\r\n }\r\n }\r\n\r\n state.finalize();\r\n\r\n let container = new THREE.Group();\r\n container.materialLibraries = [].concat(state.materialLibraries);\r\n\r\n for (let i = 0, l = state.objects.length; i < l; i++) {\r\n let object = state.objects[i];\r\n let geometry = object.geometry;\r\n let materials = object.materials;\r\n let isLine = geometry.type === 'Line';\r\n\r\n // Skip o/g line declarations that did not follow with any faces\r\n if (geometry.vertices.length === 0) continue;\r\n\r\n let buffergeometry = new THREE.BufferGeometry();\r\n\r\n buffergeometry.addAttribute(\r\n 'position',\r\n new THREE.BufferAttribute(new Float32Array(geometry.vertices), 3)\r\n );\r\n\r\n if (geometry.normals.length > 0) {\r\n buffergeometry.addAttribute(\r\n 'normal',\r\n new THREE.BufferAttribute(new Float32Array(geometry.normals), 3)\r\n );\r\n } else {\r\n buffergeometry.computeVertexNormals();\r\n }\r\n\r\n if (geometry.uvs.length > 0) {\r\n buffergeometry.addAttribute(\r\n 'uv',\r\n new THREE.BufferAttribute(new Float32Array(geometry.uvs), 2)\r\n );\r\n }\r\n\r\n // Create materials\r\n\r\n let createdMaterials = [];\r\n\r\n for (let mi = 0, miLen = materials.length; mi < miLen; mi++) {\r\n let sourceMaterial = materials[mi];\r\n let material = undefined;\r\n\r\n if (this.materials !== null) {\r\n material = this.materials.create(sourceMaterial.name);\r\n\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 let materialLine = new THREE.LineBasicMaterial();\r\n materialLine.copy(material);\r\n material = materialLine;\r\n }\r\n }\r\n\r\n if (!material) {\r\n material = !isLine\r\n ? new THREE.MeshPhongMaterial()\r\n : new THREE.LineBasicMaterial();\r\n material.name = sourceMaterial.name;\r\n }\r\n\r\n if (!sourceMaterial.smooth) material.flatShading = true;\r\n\r\n createdMaterials.push(material);\r\n }\r\n\r\n // Create mesh\r\n\r\n let mesh;\r\n\r\n if (createdMaterials.length > 1) {\r\n for (let mi = 0, miLen = materials.length; mi < miLen; mi++) {\r\n let sourceMaterial = materials[mi];\r\n buffergeometry.addGroup(\r\n sourceMaterial.groupStart,\r\n sourceMaterial.groupCount,\r\n mi\r\n );\r\n }\r\n\r\n let multiMaterial = new THREE.MultiMaterial(createdMaterials);\r\n mesh = !isLine\r\n ? new THREE.Mesh(buffergeometry, multiMaterial)\r\n : new THREE.Line(buffergeometry, multiMaterial);\r\n } else {\r\n mesh = !isLine\r\n ? new THREE.Mesh(buffergeometry, createdMaterials[0])\r\n : new THREE.Line(buffergeometry, createdMaterials[0]);\r\n }\r\n\r\n mesh.name = object.name;\r\n\r\n container.add(mesh);\r\n }\r\n\r\n return container;\r\n }\r\n};\r\n\r\nmodule.exports = OBJLoader;\r\n"],"mappings":"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","ignoreList":[]}