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

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 (406) hide show
  1. package/package.json +1 -2
  2. package/src/@history.js +0 -3
  3. package/src/AppContext.js +0 -5
  4. package/src/KitchenConfigurator.jsx +0 -1517
  5. package/src/KitchenConfiguratorApp.jsx +0 -443
  6. package/src/actions/area-actions.js +0 -15
  7. package/src/actions/export.js +0 -38
  8. package/src/actions/groups-actions.js +0 -102
  9. package/src/actions/holes-actions.js +0 -152
  10. package/src/actions/items-actions.js +0 -393
  11. package/src/actions/lines-actions.js +0 -103
  12. package/src/actions/project-actions.js +0 -391
  13. package/src/actions/scene-actions.js +0 -44
  14. package/src/actions/user-actions.js +0 -75
  15. package/src/actions/vertices-actions.js +0 -34
  16. package/src/actions/viewer2d-actions.js +0 -79
  17. package/src/actions/viewer3d-actions.js +0 -32
  18. package/src/catalog/areas/area/planner-element.jsx +0 -43
  19. package/src/catalog/areas/area/textures/ceramic-tile.jpg +0 -0
  20. package/src/catalog/areas/area/textures/grass.jpg +0 -0
  21. package/src/catalog/areas/area/textures/parquet.jpg +0 -0
  22. package/src/catalog/areas/area/textures/strand-porcelain.jpg +0 -0
  23. package/src/catalog/areas/area/textures/tile1.jpg +0 -0
  24. package/src/catalog/back.png +0 -0
  25. package/src/catalog/catalog.js +0 -258
  26. package/src/catalog/doors.png +0 -0
  27. package/src/catalog/doorways.png +0 -0
  28. package/src/catalog/envMap/nx.hdr +0 -0
  29. package/src/catalog/envMap/ny.hdr +0 -0
  30. package/src/catalog/envMap/nz.hdr +0 -0
  31. package/src/catalog/envMap/px.hdr +0 -0
  32. package/src/catalog/envMap/py.hdr +0 -0
  33. package/src/catalog/envMap/pz.hdr +0 -0
  34. package/src/catalog/factories/area-factory-3d.js +0 -252
  35. package/src/catalog/factories/area-factory.jsx +0 -102
  36. package/src/catalog/factories/export.js +0 -9
  37. package/src/catalog/factories/wall-factory-3d.js +0 -296
  38. package/src/catalog/factories/wall-factory.jsx +0 -321
  39. package/src/catalog/holes/door-closet/planner-element.jsx +0 -251
  40. package/src/catalog/holes/door-double/door_double.png +0 -0
  41. package/src/catalog/holes/door-double/planner-element.jsx +0 -391
  42. package/src/catalog/holes/door-exterior/planner-element.jsx +0 -245
  43. package/src/catalog/holes/door-interior/planner-element.jsx +0 -256
  44. package/src/catalog/holes/door-panic/panicDoor.png +0 -0
  45. package/src/catalog/holes/door-panic/planner-element.jsx +0 -594
  46. package/src/catalog/holes/door-panic-double/panicDoorDouble.png +0 -0
  47. package/src/catalog/holes/door-panic-double/planner-element.jsx +0 -574
  48. package/src/catalog/holes/door-sliding/planner-element.jsx +0 -256
  49. package/src/catalog/holes/doorway-framed/planner-element.jsx +0 -169
  50. package/src/catalog/holes/doorway-frameless/planner-element.jsx +0 -116
  51. package/src/catalog/holes/gate/gate.jpg +0 -0
  52. package/src/catalog/holes/window-clear/planner-element.jsx +0 -181
  53. package/src/catalog/holes/window-clear/texture.png +0 -0
  54. package/src/catalog/holes/window-cross/planner-element.jsx +0 -180
  55. package/src/catalog/holes/window-cross/texture.png +0 -0
  56. package/src/catalog/holes/window-double-hung/planner-element.jsx +0 -366
  57. package/src/catalog/holes/window-double-hung/texture.png +0 -0
  58. package/src/catalog/holes/window-vertical/planner-element.jsx +0 -290
  59. package/src/catalog/holes/window-vertical/texture.png +0 -0
  60. package/src/catalog/lines/wall/planner-element.jsx +0 -73
  61. package/src/catalog/lines/wall/textures/bricks-normal.jpg +0 -0
  62. package/src/catalog/lines/wall/textures/bricks-normal2.jpg +0 -0
  63. package/src/catalog/lines/wall/textures/bricks.jpg +0 -0
  64. package/src/catalog/lines/wall/textures/bricks2.jpg +0 -0
  65. package/src/catalog/lines/wall/textures/bricks3.jpg +0 -0
  66. package/src/catalog/lines/wall/textures/morden-normal.jpg +0 -0
  67. package/src/catalog/lines/wall/textures/morden.jpg +0 -0
  68. package/src/catalog/lines/wall/textures/painted-normal.jpg +0 -0
  69. package/src/catalog/lines/wall/textures/painted.jpg +0 -0
  70. package/src/catalog/lines/wall/textures/plaster-normal.jpg +0 -0
  71. package/src/catalog/lines/wall/textures/plaster.jpg +0 -0
  72. package/src/catalog/lines/wall/wall.png +0 -0
  73. package/src/catalog/molding/molding-dcm/planner-element.jsx +0 -35
  74. package/src/catalog/molding/molding-dcm/texture.png +0 -0
  75. package/src/catalog/molding/molding-fbm/planner-element.jsx +0 -35
  76. package/src/catalog/molding/molding-fbm/texture.png +0 -0
  77. package/src/catalog/molding/molding-lrm/planner-element.jsx +0 -35
  78. package/src/catalog/molding/molding-lrm/texture.png +0 -0
  79. package/src/catalog/properties/export.js +0 -33
  80. package/src/catalog/properties/property-checkbox.jsx +0 -123
  81. package/src/catalog/properties/property-color.jsx +0 -52
  82. package/src/catalog/properties/property-enum.jsx +0 -87
  83. package/src/catalog/properties/property-hidden.jsx +0 -22
  84. package/src/catalog/properties/property-lenght-measure.jsx +0 -113
  85. package/src/catalog/properties/property-length-measure.jsx +0 -129
  86. package/src/catalog/properties/property-length-measure_hole.jsx +0 -110
  87. package/src/catalog/properties/property-number.jsx +0 -63
  88. package/src/catalog/properties/property-read-only.jsx +0 -37
  89. package/src/catalog/properties/property-string.jsx +0 -59
  90. package/src/catalog/properties/property-toggle.jsx +0 -51
  91. package/src/catalog/properties/shared-property-style.js +0 -13
  92. package/src/catalog/utils/FuseUtils.js +0 -61
  93. package/src/catalog/utils/exporter.js +0 -173
  94. package/src/catalog/utils/geom-utils.js +0 -301
  95. package/src/catalog/utils/item-loader.jsx +0 -2122
  96. package/src/catalog/utils/load-obj.js +0 -113
  97. package/src/catalog/utils/mtl-loader.js +0 -462
  98. package/src/catalog/utils/obj-loader.js +0 -544
  99. package/src/catalog/windows.png +0 -0
  100. package/src/class/FuseUtils.js +0 -61
  101. package/src/class/area.js +0 -159
  102. package/src/class/export.js +0 -37
  103. package/src/class/group.js +0 -565
  104. package/src/class/guide.js +0 -44
  105. package/src/class/hole.js +0 -1359
  106. package/src/class/item.js +0 -2050
  107. package/src/class/layer.js +0 -926
  108. package/src/class/line.js +0 -1780
  109. package/src/class/project.js +0 -875
  110. package/src/class/vertex.js +0 -409
  111. package/src/components/atoms/Snackbar/index.jsx +0 -43
  112. package/src/components/atoms/radio-button/index.jsx +0 -20
  113. package/src/components/atoms/radio-button/styles.js +0 -56
  114. package/src/components/button/MainButton.jsx +0 -157
  115. package/src/components/button/ToggleMeasureButton.jsx +0 -65
  116. package/src/components/catalog-view/catalog-breadcrumb.jsx +0 -53
  117. package/src/components/catalog-view/catalog-item.jsx +0 -229
  118. package/src/components/catalog-view/catalog-list.jsx +0 -173
  119. package/src/components/catalog-view/catalog-page-item.jsx +0 -110
  120. package/src/components/catalog-view/catalog-turn-back-page-item.jsx +0 -80
  121. package/src/components/configurator/custom-configurator.jsx +0 -77
  122. package/src/components/configurator/project-configurator.jsx +0 -120
  123. package/src/components/content.jsx +0 -136
  124. package/src/components/export.js +0 -36
  125. package/src/components/firstsetting/button/styles.js +0 -223
  126. package/src/components/firstsetting/export.js +0 -9
  127. package/src/components/firstsetting/firstsetting-content-button.jsx +0 -198
  128. package/src/components/firstsetting/firstsetting-toggle-button.jsx +0 -101
  129. package/src/components/firstsetting/firstsetting.jsx +0 -814
  130. package/src/components/footerbar/button/ControlButton.jsx +0 -43
  131. package/src/components/footerbar/button/DirectionButton.jsx +0 -54
  132. package/src/components/footerbar/button/DirectionPanSpinButton.jsx +0 -36
  133. package/src/components/footerbar/button/ToggleButton.jsx +0 -58
  134. package/src/components/footerbar/button/ToggleConvertButton.jsx +0 -48
  135. package/src/components/footerbar/button/ToggleMeasureButton.jsx +0 -33
  136. package/src/components/footerbar/button/styles.js +0 -217
  137. package/src/components/footerbar/export.js +0 -9
  138. package/src/components/footerbar/footer-content-button.jsx +0 -198
  139. package/src/components/footerbar/footer-toggle-button.jsx +0 -101
  140. package/src/components/footerbar/footerbar.jsx +0 -1103
  141. package/src/components/footerbar/styles.js +0 -263
  142. package/src/components/header/button/MenuButton.jsx +0 -46
  143. package/src/components/header/button/SaveButton.jsx +0 -54
  144. package/src/components/header/button/styles.js +0 -181
  145. package/src/components/header/export.js +0 -5
  146. package/src/components/header/header.jsx +0 -631
  147. package/src/components/header/header.style.css +0 -47
  148. package/src/components/header/styles.js +0 -320
  149. package/src/components/login/Login.js +0 -77
  150. package/src/components/login/LoginForm/index.js +0 -108
  151. package/src/components/login/Register.js +0 -83
  152. package/src/components/login/RegisterForm/index.js +0 -171
  153. package/src/components/login/jwtService.js +0 -201
  154. package/src/components/login/style.css +0 -158
  155. package/src/components/login/style.scss +0 -260
  156. package/src/components/molecules/slider/index.jsx +0 -15
  157. package/src/components/molecules/slider/styles.js +0 -0
  158. package/src/components/molecules/slider/styles.scss +0 -3
  159. package/src/components/myprojects/export.js +0 -5
  160. package/src/components/myprojects/index.jsx +0 -445
  161. package/src/components/myprojects/styles.js +0 -241
  162. package/src/components/sidebar/custom-accordion.jsx +0 -48
  163. package/src/components/sidebar/export.js +0 -15
  164. package/src/components/sidebar/panel-element-editor/attributes-editor/attributes-editor.jsx +0 -73
  165. package/src/components/sidebar/panel-element-editor/attributes-editor/confirm-popup.jsx +0 -101
  166. package/src/components/sidebar/panel-element-editor/attributes-editor/hole-attributes-editor.jsx +0 -149
  167. package/src/components/sidebar/panel-element-editor/attributes-editor/item-attributes-editor.jsx +0 -316
  168. package/src/components/sidebar/panel-element-editor/attributes-editor/line-attributes-editor.jsx +0 -108
  169. package/src/components/sidebar/panel-element-editor/element-editor.jsx +0 -1070
  170. package/src/components/sidebar/panel-element-editor/multi-elements-editor.jsx +0 -0
  171. package/src/components/sidebar/panel-element-editor/panel-element-editor.jsx +0 -104
  172. package/src/components/sidebar/panel-element-editor/panel-multi-elements-editor.jsx +0 -155
  173. package/src/components/sidebar/panel-group-editor.jsx +0 -272
  174. package/src/components/sidebar/panel-groups.jsx +0 -310
  175. package/src/components/sidebar/panel-guides.jsx +0 -192
  176. package/src/components/sidebar/panel-layer-elements.jsx +0 -298
  177. package/src/components/sidebar/panel-layers.jsx +0 -381
  178. package/src/components/sidebar/panel.jsx +0 -71
  179. package/src/components/sidebar/sidebar.jsx +0 -106
  180. package/src/components/sidebar/toolbar-panel.jsx +0 -139
  181. package/src/components/sign/export.js +0 -7
  182. package/src/components/sign/main/index.jsx +0 -523
  183. package/src/components/sign/main/styles.js +0 -163
  184. package/src/components/style/button.jsx +0 -95
  185. package/src/components/style/cancel-button.jsx +0 -20
  186. package/src/components/style/content-container.jsx +0 -29
  187. package/src/components/style/content-title.jsx +0 -20
  188. package/src/components/style/delete-button.jsx +0 -23
  189. package/src/components/style/export.jsx +0 -48
  190. package/src/components/style/form-block.jsx +0 -13
  191. package/src/components/style/form-color-input.jsx +0 -27
  192. package/src/components/style/form-label.jsx +0 -15
  193. package/src/components/style/form-number-input.jsx +0 -196
  194. package/src/components/style/form-number-input_2.jsx +0 -191
  195. package/src/components/style/form-select.jsx +0 -38
  196. package/src/components/style/form-slider.jsx +0 -36
  197. package/src/components/style/form-submit-button.jsx +0 -23
  198. package/src/components/style/form-text-input.jsx +0 -65
  199. package/src/components/toolbar/button/ControlButton.jsx +0 -41
  200. package/src/components/toolbar/button/DirectionButton.jsx +0 -34
  201. package/src/components/toolbar/button/RightButton.jsx +0 -103
  202. package/src/components/toolbar/button/ToggleButton.jsx +0 -41
  203. package/src/components/toolbar/button/index.jsx +0 -55
  204. package/src/components/toolbar/button/styles.js +0 -127
  205. package/src/components/toolbar/components/DoorStyleMenu.jsx +0 -103
  206. package/src/components/toolbar/components/Pricing.jsx +0 -126
  207. package/src/components/toolbar/components/ReviewForQuote.jsx +0 -635
  208. package/src/components/toolbar/export.js +0 -21
  209. package/src/components/toolbar/main/Alert.js +0 -122
  210. package/src/components/toolbar/main/TakePictureModal.jsx +0 -104
  211. package/src/components/toolbar/main/confirm-popup.jsx +0 -99
  212. package/src/components/toolbar/main/index.jsx +0 -5687
  213. package/src/components/toolbar/main/lShaped.json +0 -311
  214. package/src/components/toolbar/main/longNarrow.json +0 -238
  215. package/src/components/toolbar/main/myComponents.js +0 -123
  216. package/src/components/toolbar/main/oRectangle.json +0 -220
  217. package/src/components/toolbar/main/rectangle.json +0 -238
  218. package/src/components/toolbar/main/style.css +0 -107
  219. package/src/components/toolbar/main/styles.js +0 -696
  220. package/src/components/toolbar/plugin-item.jsx +0 -123
  221. package/src/components/toolbar/popup/appliance/appliance-category/index.jsx +0 -73
  222. package/src/components/toolbar/popup/appliance/choose-appliance/index.jsx +0 -102
  223. package/src/components/toolbar/popup/appliance/index.jsx +0 -83
  224. package/src/components/toolbar/popup/autosaveprompt/index.jsx +0 -150
  225. package/src/components/toolbar/popup/autosaveprompt/styles.css +0 -64
  226. package/src/components/toolbar/popup/autosaveprompt/styles.js +0 -40
  227. package/src/components/toolbar/popup/cabinet/cabinet-category/index.jsx +0 -73
  228. package/src/components/toolbar/popup/cabinet/choose-product/index.jsx +0 -119
  229. package/src/components/toolbar/popup/cabinet/index.jsx +0 -85
  230. package/src/components/toolbar/popup/doorStyle/choose-style/index.jsx +0 -63
  231. package/src/components/toolbar/popup/doorStyle/index.jsx +0 -71
  232. package/src/components/toolbar/popup/doorStyle/style-category/index.jsx +0 -139
  233. package/src/components/toolbar/popup/downloadsummary/downloadSummaryContext.js +0 -2
  234. package/src/components/toolbar/popup/downloadsummary/downloadSummaryTemp.jsx +0 -157
  235. package/src/components/toolbar/popup/downloadsummary/index.jsx +0 -643
  236. package/src/components/toolbar/popup/downloadsummary/show2D/show2DView.jsx +0 -51
  237. package/src/components/toolbar/popup/downloadsummary/show2D/viewer2DDownLoad.jsx +0 -175
  238. package/src/components/toolbar/popup/downloadsummary/show3D/show3DView.jsx +0 -283
  239. package/src/components/toolbar/popup/downloadsummary/show3D/viewer3DDownLoad.jsx +0 -2257
  240. package/src/components/toolbar/popup/downloadsummary/showCabinetInfo.js +0 -93
  241. package/src/components/toolbar/popup/downloadsummary/showElevation/showElevationView.jsx +0 -132
  242. package/src/components/toolbar/popup/downloadsummary/showElevation/viewer3DElevationDownload.jsx +0 -2198
  243. package/src/components/toolbar/popup/downloadsummary/showElevation/viewerElevationDownload.jsx +0 -152
  244. package/src/components/toolbar/popup/downloadsummary/showWarranty.jsx +0 -149
  245. package/src/components/toolbar/popup/downloadsummary/styles.css +0 -177
  246. package/src/components/toolbar/popup/downloadsummary/styles.js +0 -453
  247. package/src/components/toolbar/popup/finishingtouch/category/index.jsx +0 -34
  248. package/src/components/toolbar/popup/finishingtouch/index.jsx +0 -58
  249. package/src/components/toolbar/popup/finishingtouch/material-edit.jsx +0 -112
  250. package/src/components/toolbar/popup/finishingtouch/product/index.jsx +0 -116
  251. package/src/components/toolbar/popup/floorplan/choose-floor/confirm-popup.jsx +0 -101
  252. package/src/components/toolbar/popup/floorplan/choose-floor/index.jsx +0 -254
  253. package/src/components/toolbar/popup/floorplan/choose-floor/lShaped.json +0 -311
  254. package/src/components/toolbar/popup/floorplan/choose-floor/longNarrow.json +0 -238
  255. package/src/components/toolbar/popup/floorplan/choose-floor/oRectangle.json +0 -220
  256. package/src/components/toolbar/popup/floorplan/choose-floor/rectangle.json +0 -238
  257. package/src/components/toolbar/popup/floorplan/choose-floor/styles.js +0 -86
  258. package/src/components/toolbar/popup/floorplan/floor-category/index.jsx +0 -109
  259. package/src/components/toolbar/popup/floorplan/index.jsx +0 -60
  260. package/src/components/toolbar/popup/index.jsx +0 -241
  261. package/src/components/toolbar/popup/newproject/index.jsx +0 -59
  262. package/src/components/toolbar/popup/newproject/styles.css +0 -64
  263. package/src/components/toolbar/popup/newproject/styles.js +0 -41
  264. package/src/components/toolbar/popup/product/appliance.jsx +0 -54
  265. package/src/components/toolbar/popup/product/cabinetproduct.jsx +0 -15
  266. package/src/components/toolbar/popup/product/doorstyle.jsx +0 -58
  267. package/src/components/toolbar/popup/product/doorstyleproduct.jsx +0 -47
  268. package/src/components/toolbar/popup/product/floor.jsx +0 -36
  269. package/src/components/toolbar/popup/product/floorproduct.jsx +0 -42
  270. package/src/components/toolbar/popup/product/index.jsx +0 -36
  271. package/src/components/toolbar/popup/product/primary.jsx +0 -77
  272. package/src/components/toolbar/popup/product/productline.jsx +0 -93
  273. package/src/components/toolbar/popup/product/reviewItem.jsx +0 -427
  274. package/src/components/toolbar/popup/product/reviewMolding.jsx +0 -310
  275. package/src/components/toolbar/popup/product/style.css +0 -54
  276. package/src/components/toolbar/popup/product/styles.js +0 -260
  277. package/src/components/toolbar/popup/savedesign/FullPictureForm.jsx +0 -146
  278. package/src/components/toolbar/popup/savedesign/index.jsx +0 -495
  279. package/src/components/toolbar/popup/savedesign/savedesign.style.css +0 -16
  280. package/src/components/toolbar/popup/savedesign/styles.js +0 -151
  281. package/src/components/toolbar/popup/setDoorStyleOption/index.jsx +0 -87
  282. package/src/components/toolbar/popup/styles.js +0 -909
  283. package/src/components/toolbar/popup/submitforquote/AddToCartOptions.jsx +0 -192
  284. package/src/components/toolbar/popup/submitforquote/CustomerRequestsForm.jsx +0 -96
  285. package/src/components/toolbar/popup/submitforquote/SkipDesignerReview.jsx +0 -54
  286. package/src/components/toolbar/popup/submitforquote/StepDots.jsx +0 -25
  287. package/src/components/toolbar/popup/submitforquote/cart-choice.jsx +0 -116
  288. package/src/components/toolbar/popup/submitforquote/doorstyle-menus.js +0 -38
  289. package/src/components/toolbar/popup/submitforquote/index.jsx +0 -698
  290. package/src/components/toolbar/popup/submitforquote/styles.css +0 -105
  291. package/src/components/toolbar/popup/submitforquote/styles.js +0 -294
  292. package/src/components/toolbar/popup/submitprompt/index.jsx +0 -89
  293. package/src/components/toolbar/popup/submitprompt/styles.css +0 -64
  294. package/src/components/toolbar/popup/submitprompt/styles.js +0 -42
  295. package/src/components/toolbar/toolbar-button.jsx +0 -90
  296. package/src/components/toolbar/toolbar-load-button.jsx +0 -36
  297. package/src/components/toolbar/toolbar-save-button.jsx +0 -32
  298. package/src/components/tutorial-view/Modal.jsx +0 -584
  299. package/src/components/tutorial-view/style.css +0 -111
  300. package/src/components/tutorial-view/styles.js +0 -65
  301. package/src/components/viewer2d/area.jsx +0 -98
  302. package/src/components/viewer2d/export.js +0 -48
  303. package/src/components/viewer2d/grids/grid-horizontal-streak.jsx +0 -40
  304. package/src/components/viewer2d/grids/grid-streak.jsx +0 -32
  305. package/src/components/viewer2d/grids/grid-vertical-streak.jsx +0 -41
  306. package/src/components/viewer2d/grids/grids.jsx +0 -30
  307. package/src/components/viewer2d/group.jsx +0 -57
  308. package/src/components/viewer2d/item.jsx +0 -618
  309. package/src/components/viewer2d/layer.jsx +0 -214
  310. package/src/components/viewer2d/line.jsx +0 -1358
  311. package/src/components/viewer2d/ruler.jsx +0 -136
  312. package/src/components/viewer2d/rulerDist.jsx +0 -192
  313. package/src/components/viewer2d/rulerX.jsx +0 -141
  314. package/src/components/viewer2d/rulerY.jsx +0 -138
  315. package/src/components/viewer2d/scene.jsx +0 -94
  316. package/src/components/viewer2d/snap.jsx +0 -118
  317. package/src/components/viewer2d/state.jsx +0 -77
  318. package/src/components/viewer2d/utils.js +0 -195
  319. package/src/components/viewer2d/vertex.jsx +0 -76
  320. package/src/components/viewer2d/viewer2d.jsx +0 -1830
  321. package/src/components/viewer3d/camera-controls-module/camera-controls.module.js +0 -3078
  322. package/src/components/viewer3d/dcm.js +0 -226
  323. package/src/components/viewer3d/fbm.js +0 -383
  324. package/src/components/viewer3d/front3D.jsx +0 -63
  325. package/src/components/viewer3d/grid-creator.js +0 -25
  326. package/src/components/viewer3d/grids/grid-horizontal-streak.js +0 -41
  327. package/src/components/viewer3d/grids/grid-streak.js +0 -34
  328. package/src/components/viewer3d/grids/grid-vertical-streak.js +0 -42
  329. package/src/components/viewer3d/libs/first-person-controls.js +0 -70
  330. package/src/components/viewer3d/libs/helvetiker_regular.typeface.js +0 -1265
  331. package/src/components/viewer3d/libs/mtl-loader.js +0 -462
  332. package/src/components/viewer3d/libs/obj-loader.js +0 -653
  333. package/src/components/viewer3d/libs/orbit-controls.js +0 -945
  334. package/src/components/viewer3d/libs/pointer-lock-controls.js +0 -67
  335. package/src/components/viewer3d/lrm.js +0 -358
  336. package/src/components/viewer3d/model.js +0 -830
  337. package/src/components/viewer3d/pointer-lock-navigation.js +0 -140
  338. package/src/components/viewer3d/ruler-utils/itemRect.jsx +0 -91
  339. package/src/components/viewer3d/ruler-utils/layer3D.jsx +0 -528
  340. package/src/components/viewer3d/ruler-utils/ruler3D.jsx +0 -218
  341. package/src/components/viewer3d/ruler-utils/scene3D.jsx +0 -87
  342. package/src/components/viewer3d/ruler-utils/state3D.jsx +0 -25
  343. package/src/components/viewer3d/scene-creator.js +0 -5172
  344. package/src/components/viewer3d/three-memory-cleaner.js +0 -65
  345. package/src/components/viewer3d/viewer3d-first-person.js +0 -395
  346. package/src/components/viewer3d/viewer3d.js +0 -3376
  347. package/src/components/wizardstep/button/styles.js +0 -677
  348. package/src/components/wizardstep/export.js +0 -5
  349. package/src/components/wizardstep/index.jsx +0 -1372
  350. package/src/components/wizardstep/styles.js +0 -688
  351. package/src/components/wizardstep/wizardstep-content-button.jsx +0 -198
  352. package/src/components/wizardstep/wizardstep-toggle-button.jsx +0 -101
  353. package/src/constants.js +0 -731
  354. package/src/hooks/useCheckCart.js +0 -38
  355. package/src/hooks/useGetPricesBySku.js +0 -59
  356. package/src/hooks/useValidateToken.js +0 -181
  357. package/src/index.js +0 -32
  358. package/src/models.js +0 -541
  359. package/src/plugins/SVGLoader.js +0 -1991
  360. package/src/plugins/autosave.js +0 -39
  361. package/src/plugins/console-debugger.js +0 -36
  362. package/src/plugins/export.js +0 -11
  363. package/src/plugins/keyboard.js +0 -194
  364. package/src/reducers/areas-reducer.js +0 -13
  365. package/src/reducers/export.js +0 -39
  366. package/src/reducers/groups-reducer.js +0 -73
  367. package/src/reducers/holes-reducer.js +0 -125
  368. package/src/reducers/items-reducer.js +0 -286
  369. package/src/reducers/lines-reducer.js +0 -96
  370. package/src/reducers/project-reducer.js +0 -239
  371. package/src/reducers/reducer.js +0 -59
  372. package/src/reducers/scene-reducer.js +0 -41
  373. package/src/reducers/user-reducer.js +0 -30
  374. package/src/reducers/vertices-reducer.js +0 -34
  375. package/src/reducers/viewer2d-reducer.js +0 -81
  376. package/src/reducers/viewer3d-reducer.js +0 -65
  377. package/src/shared-style.js +0 -72
  378. package/src/styles/export.js +0 -7
  379. package/src/styles/tabs.css +0 -40
  380. package/src/translator/en.js +0 -106
  381. package/src/translator/it.js +0 -80
  382. package/src/translator/ru.js +0 -80
  383. package/src/translator/translator.js +0 -81
  384. package/src/utils/browser.js +0 -36
  385. package/src/utils/email-validator.js +0 -5
  386. package/src/utils/export.js +0 -39
  387. package/src/utils/geometry.js +0 -2572
  388. package/src/utils/get-edges-of-subgraphs.js +0 -29
  389. package/src/utils/graph-cycles.js +0 -259
  390. package/src/utils/graph-inner-cycles.js +0 -49
  391. package/src/utils/graph.js +0 -147
  392. package/src/utils/helper.js +0 -431
  393. package/src/utils/history.js +0 -37
  394. package/src/utils/id-broker.js +0 -9
  395. package/src/utils/logger.js +0 -8
  396. package/src/utils/math.js +0 -51
  397. package/src/utils/molding.js +0 -973
  398. package/src/utils/name-generator.js +0 -5
  399. package/src/utils/objects-utils.js +0 -56
  400. package/src/utils/phone-validator.js +0 -4
  401. package/src/utils/process-black-list.js +0 -10
  402. package/src/utils/react-if.jsx +0 -20
  403. package/src/utils/snap-scene.js +0 -102
  404. package/src/utils/snap.js +0 -184
  405. package/src/utils/threeCSG.es6.js +0 -578
  406. package/src/version.js +0 -1
@@ -1,926 +0,0 @@
1
- import { List } from 'immutable';
2
- import { Project, Area, Line, Hole, Item, Vertex } from './export';
3
- import { GraphInnerCycles, GeometryUtils, IDBroker } from '../utils/export';
4
- import { Layer as LayerModel } from '../models';
5
- import { isEmpty } from '../utils/helper';
6
-
7
- const sameSet = (set1, set2) =>
8
- set1.size === set2.size && set1.isSuperset(set2) && set1.isSubset(set2);
9
- const sameDirection = (list1, list2) => {
10
- if (!sameSet(list1, list2)) return false;
11
- if (list1.size < 3) return true;
12
- let l0 = list1.get(0);
13
- let l1 = list1.get(1);
14
- let i0 = list2.indexOf(l0);
15
- let i1 = list2.indexOf(l1);
16
- return (i1 - i0 - 1) % list1.size == 0;
17
- };
18
-
19
- class Layer {
20
- static create(state, name, altitude) {
21
- let layerID = IDBroker.acquireID();
22
- name = name || `layer ${layerID}`;
23
- altitude = altitude || 0;
24
-
25
- let layer = new LayerModel({ id: layerID, name, altitude });
26
-
27
- state = state.setIn(['scene', 'selectedLayer'], layerID);
28
- state = state.setIn(['scene', 'layers', layerID], layer);
29
-
30
- return { updatedState: state };
31
- }
32
-
33
- static select(state, layerID) {
34
- if (!state.get('alterate')) state = Project.unselectAll(state).updatedState;
35
- state = state.setIn(['scene', 'selectedLayer'], layerID);
36
-
37
- return { updatedState: state };
38
- }
39
-
40
- static selectAll(state, layerID) {
41
- if (!state.get('alterate')) state = Project.unselectAll(state).updatedState;
42
- state = state.setIn(['scene', 'selectedLayer'], layerID);
43
- let layer = state.scene.layers.get(layerID);
44
- layer.items.forEach(data => {
45
- state = Layer.selectElement(
46
- state,
47
- layerID,
48
- 'items',
49
- data.id
50
- ).updatedState;
51
- });
52
- layer.lines.forEach(data => {
53
- state = Layer.selectElement(
54
- state,
55
- layerID,
56
- 'lines',
57
- data.id
58
- ).updatedState;
59
- });
60
- layer.holes.forEach(data => {
61
- state = Layer.selectElement(
62
- state,
63
- layerID,
64
- 'holes',
65
- data.id
66
- ).updatedState;
67
- });
68
- layer.areas.forEach(data => {
69
- state = Layer.selectElement(
70
- state,
71
- layerID,
72
- 'areas',
73
- data.id
74
- ).updatedState;
75
- });
76
- layer.vertices.forEach(data => {
77
- state = Layer.selectElement(
78
- state,
79
- layerID,
80
- 'vertices',
81
- data.id
82
- ).updatedState;
83
- });
84
-
85
- return { updatedState: state };
86
- }
87
-
88
- static selectElement(state, layerID, elementPrototype, elementID) {
89
- state = state.setIn(
90
- ['scene', 'layers', layerID, elementPrototype, elementID, 'selected'],
91
- true
92
- );
93
- state = state.updateIn(
94
- ['scene', 'layers', layerID, 'selected', elementPrototype],
95
- elems => elems.push(elementID)
96
- );
97
-
98
- return { updatedState: state };
99
- }
100
-
101
- static unselect(state, layerID, elementPrototype, elementID) {
102
- state = state.setIn(
103
- ['scene', 'layers', layerID, elementPrototype, elementID, 'selected'],
104
- false
105
- );
106
- state = state.updateIn(
107
- ['scene', 'layers', layerID, 'selected', elementPrototype],
108
- elems => elems.filter(el => el.id === elementID)
109
- );
110
- return { updatedState: state };
111
- }
112
-
113
- static updateMovingState(state, showflag) {
114
- let { scene } = state;
115
-
116
- state = state.merge({
117
- scene: scene.mergeIn(['showfg'], showflag)
118
- });
119
- return { updatedState: state };
120
- }
121
-
122
- static unselectAll(state, layerID) {
123
- let { lines, holes, items, areas } = state.getIn([
124
- 'scene',
125
- 'layers',
126
- layerID
127
- ]);
128
-
129
- if (lines)
130
- lines.forEach(line => {
131
- state = Line.unselect(state, layerID, line.id).updatedState;
132
- });
133
- if (holes)
134
- holes.forEach(hole => {
135
- state = Hole.unselect(state, layerID, hole.id).updatedState;
136
- });
137
- if (items)
138
- items.forEach(item => {
139
- state = Item.unselect(state, layerID, item.id).updatedState;
140
- });
141
- if (areas)
142
- areas.forEach(area => {
143
- state = Area.unselect(state, layerID, area.id).updatedState;
144
- });
145
-
146
- return { updatedState: state };
147
- }
148
-
149
- static setInitialDoorStyle(state, doorStyle, oStyle) {
150
- state = state.merge({
151
- doorStyle: doorStyle
152
- });
153
- let { scene } = state;
154
- let layerID = scene.get('selectedLayer');
155
- let selectedLayer = scene.layers.get(layerID);
156
- selectedLayer = selectedLayer.setIn(['doorStyle'], doorStyle);
157
- state = state.merge({
158
- scene: scene.setIn(['layers', layerID], selectedLayer)
159
- });
160
- return { updatedState: state };
161
- }
162
-
163
- static setProperties(state, layerID, properties) {
164
- state = state.mergeIn(['scene', 'layers', layerID], properties);
165
- state = state.updateIn(['scene', 'layers'], layers =>
166
- layers.sort((a, b) =>
167
- a.altitude !== b.altitude ? a.altitude - b.altitude : a.order - b.order
168
- )
169
- );
170
-
171
- return { updatedState: state };
172
- }
173
-
174
- static remove(state, layerID) {
175
- state = state.removeIn(['scene', 'layers', layerID]);
176
-
177
- state = state.setIn(
178
- ['scene', 'selectedLayer'],
179
- state.scene.selectedLayer !== layerID
180
- ? state.scene.selectedLayer
181
- : state.scene.layers.first().id
182
- );
183
-
184
- return { updatedState: state };
185
- }
186
-
187
- static removeElement(state, layerID, elementPrototype, elementID) {
188
- state = state.deleteIn([
189
- 'scene',
190
- 'layers',
191
- layerID,
192
- elementPrototype,
193
- elementID
194
- ]);
195
-
196
- return { updatedState: state };
197
- }
198
-
199
- static lineInterior(
200
- relatedLine,
201
- line,
202
- changeLines,
203
- vertices,
204
- allLines,
205
- checkLines
206
- ) {
207
- if (
208
- line.vertices[1] === relatedLine.vertices[1] ||
209
- line.vertices[0] === relatedLine.vertices[0]
210
- ) {
211
- let tmp = line.vertices[0];
212
- line.vertices[0] = line.vertices[1];
213
- line.vertices[1] = tmp;
214
- changeLines.push(line);
215
- }
216
- checkLines.push(relatedLine);
217
- checkLines.push(line);
218
- let relatedLines = [];
219
- GeometryUtils.getRelatedLines(relatedLines, line, vertices, allLines);
220
- let delflag = false;
221
- if (isEmpty(allLines[line.id])) {
222
- delflag = true;
223
- }
224
- if (relatedLines.length > 1) {
225
- for (let i = 0; i < relatedLines.length; i++) {
226
- if (
227
- !changeLines.some(line => line.id === relatedLines[i].id) &&
228
- !checkLines.some(cline => cline.id === relatedLines[i].id)
229
- ) {
230
- let tline = delflag ? relatedLine : line;
231
- this.lineInterior(
232
- tline,
233
- relatedLines[i],
234
- changeLines,
235
- vertices,
236
- allLines,
237
- checkLines
238
- );
239
- }
240
- }
241
- } else return;
242
- }
243
-
244
- static interiorsurfacedetect(
245
- state,
246
- drawingLine,
247
- vertices,
248
- allLineArray,
249
- layerID
250
- ) {
251
- let relatedLines = [];
252
- let allLines = allLineArray.toJS();
253
- GeometryUtils.getRelatedLines(
254
- relatedLines,
255
- drawingLine,
256
- vertices,
257
- allLines
258
- );
259
- if (isEmpty(relatedLines)) {
260
- return { updatedState: state };
261
- }
262
- let changeLines = [];
263
- let checkLines = [];
264
- this.lineInterior(
265
- relatedLines[0],
266
- drawingLine,
267
- changeLines,
268
- vertices,
269
- allLines,
270
- checkLines
271
- );
272
- for (let i = 0; i < changeLines.length; i++) {
273
- // if (changeLines[i].vertices.length === 2)
274
- if (!isEmpty(allLines[changeLines[i].id])) {
275
- state = state.mergeIn(
276
- ['scene', 'layers', layerID, 'lines', changeLines[i].id, 'vertices'],
277
- changeLines[i].vertices
278
- );
279
- }
280
- }
281
- // determine the interior surface
282
- let alltriangles = [];
283
- let interiorLines = state.getIn(['scene', 'layers', layerID, 'lines']);
284
- let tallLines = interiorLines.toJS();
285
- let tallLinesArray = interiorLines.toArray();
286
- let reverseLines = [];
287
- tallLinesArray.forEach(tline => {
288
- let line = tline.toJS();
289
- let relatedLines = [];
290
- GeometryUtils.getRelatedLines(relatedLines, line, vertices, tallLines);
291
- relatedLines.forEach(relLine => {
292
- if (relLine.vertices[0] === line.vertices[1]) {
293
- if (
294
- !reverseLines.some(reverseLine => reverseLine.id === relLine.id)
295
- ) {
296
- reverseLines.push(relLine);
297
- }
298
- if (!reverseLines.some(reverseLine => reverseLine.id === line.id)) {
299
- reverseLines.push(line);
300
- }
301
- // get the three points of triangle
302
- let x1 = vertices[line.vertices[0]].x;
303
- let y1 = vertices[line.vertices[0]].y;
304
- let x2 = vertices[line.vertices[1]].x;
305
- let y2 = vertices[line.vertices[1]].y;
306
- let x3 = vertices[relLine.vertices[1]].x;
307
- let y3 = vertices[relLine.vertices[1]].y;
308
- // calculate the area of triangle
309
- let triArea =
310
- Math.abs(
311
- (y1 + y3) * (x3 - x1) -
312
- (y1 + y2) * (x2 - x1) -
313
- (y3 + y2) * (x3 - x2)
314
- ) / 2;
315
- let triangle = {
316
- points: [
317
- {
318
- x: x1,
319
- y: y1
320
- },
321
- {
322
- x: x2,
323
- y: y2
324
- },
325
- {
326
- x: x3,
327
- y: y3
328
- }
329
- ],
330
- area: triArea
331
- };
332
- // determine the + or - symbol of triangle
333
- let area = 0;
334
- for (let i = 0; i < 3; i++) {
335
- let j = (i + 1) % 3;
336
- area += triangle.points[i].x * triangle.points[j].y;
337
- area -= triangle.points[j].x * triangle.points[i].y;
338
- }
339
- if (area > 0) {
340
- triangle.area = -triangle.area;
341
- }
342
- alltriangles.push(triangle);
343
- }
344
- });
345
- });
346
- let reverse = false;
347
- let allSum = 0;
348
- alltriangles.forEach(triangle => {
349
- allSum += triangle.area;
350
- });
351
- // if all sum of triangle's area is smaller than zero, all walls have to be inverted.
352
- if (allSum >= 0) {
353
- reverse = false;
354
- } else reverse = true;
355
- if (reverse) {
356
- reverseLines.forEach(line => {
357
- let tmp = line.vertices[0];
358
- line.vertices[0] = line.vertices[1];
359
- line.vertices[1] = tmp;
360
- state = state.mergeIn(
361
- ['scene', 'layers', layerID, 'lines', line.id, 'vertices'],
362
- line.vertices
363
- );
364
- });
365
- }
366
- return { updatedState: state };
367
- }
368
-
369
- static detectAndUpdateAreas(state, layerID, drawingInfor) {
370
- let verticesArray = []; //array with vertices coords
371
- let linesArray;
372
- let virtualArray = []; //array with edges
373
-
374
- let vertexID_to_verticesArrayIndex = {};
375
- let verticesArrayIndex_to_vertexID = {};
376
-
377
- state.getIn(['scene', 'layers', layerID, 'vertices']).forEach(vertex => {
378
- let verticesCount = verticesArray.push([vertex.x, vertex.y]);
379
- let latestVertexIndex = verticesCount - 1;
380
- vertexID_to_verticesArrayIndex[vertex.id] = latestVertexIndex;
381
- verticesArrayIndex_to_vertexID[latestVertexIndex] = vertex.id;
382
- });
383
-
384
- let vertexCount = verticesArray.length;
385
- let vitual = {};
386
-
387
- linesArray = state
388
- .getIn(['scene', 'layers', layerID, 'lines'])
389
- .map(line =>
390
- line.vertices
391
- .map(vertexID => vertexID_to_verticesArrayIndex[vertexID])
392
- .toArray()
393
- );
394
-
395
- //open line
396
- // if (vertexCount > 1 && !linesArray.some(line => (line[0]==0 && line[1]==vertexCount-1) || (line[1]==0 && line[0]==vertexCount-1))) {
397
- // linesArray = linesArray.set(IDBroker.acquireID(), [0, vertexCount-1]);
398
- // }
399
- let innerCyclesByVerticesArrayIndex = GraphInnerCycles.calculateInnerCycles(
400
- verticesArray,
401
- linesArray
402
- );
403
-
404
- let innerCyclesByVerticesID = new List(innerCyclesByVerticesArrayIndex).map(
405
- cycle =>
406
- new List(
407
- cycle.map(vertexIndex => verticesArrayIndex_to_vertexID[vertexIndex])
408
- )
409
- );
410
- // All area vertices should be ordered in counterclockwise order
411
- innerCyclesByVerticesID = innerCyclesByVerticesID.map(area =>
412
- GraphInnerCycles.isClockWiseOrder(
413
- area.map(vertexID =>
414
- state.getIn(['scene', 'layers', layerID, 'vertices', vertexID])
415
- )
416
- )
417
- ? area.reverse()
418
- : area
419
- );
420
- let areaIDs = [];
421
-
422
- //remove areas
423
- state.getIn(['scene', 'layers', layerID, 'areas']).forEach(area => {
424
- let areaInUse = innerCyclesByVerticesID.some(vertices =>
425
- sameDirection(vertices, area.vertices)
426
- );
427
- if (!areaInUse) {
428
- state = Area.remove(state, layerID, area.id).updatedState;
429
- }
430
- });
431
-
432
- //add new areas
433
- innerCyclesByVerticesID.forEach((cycle, ind) => {
434
- let areaInUse = state
435
- .getIn(['scene', 'layers', layerID, 'areas'])
436
- .find(area => sameDirection(area.vertices, cycle));
437
-
438
- if (areaInUse) {
439
- areaIDs[ind] = areaInUse.id;
440
- state = state.setIn(
441
- ['scene', 'layers', layerID, 'areas', areaIDs[ind], 'holes'],
442
- new List()
443
- );
444
- } else {
445
- let areaVerticesCoords = cycle.map(vertexID =>
446
- state.getIn(['scene', 'layers', layerID, 'vertices', vertexID])
447
- );
448
- let resultAdd = Area.add(
449
- state,
450
- layerID,
451
- 'area',
452
- areaVerticesCoords,
453
- state.catalog
454
- );
455
-
456
- areaIDs[ind] = resultAdd.area.id;
457
- state = resultAdd.updatedState;
458
- }
459
- });
460
-
461
- // Build a relationship between areas and their coordinates
462
- let verticesCoordsForArea = areaIDs.map(id => {
463
- let vertices = state
464
- .getIn(['scene', 'layers', layerID, 'areas', id])
465
- .vertices.map(vertexID => {
466
- let { x, y } = state.getIn([
467
- 'scene',
468
- 'layers',
469
- layerID,
470
- 'vertices',
471
- vertexID
472
- ]);
473
- return new List([x, y]);
474
- });
475
- return { id, vertices };
476
- });
477
-
478
- // Find all holes for an area
479
- let i, j;
480
- for (i = 0; i < verticesCoordsForArea.length; i++) {
481
- let holesList = new List(); // The holes for this area
482
- let areaVerticesList = verticesCoordsForArea[i].vertices
483
- .flatten()
484
- .toArray();
485
- for (j = 0; j < verticesCoordsForArea.length; j++) {
486
- if (i !== j) {
487
- let isHole = GeometryUtils.ContainsPoint(
488
- areaVerticesList,
489
- verticesCoordsForArea[j].vertices.get(0).get(0),
490
- verticesCoordsForArea[j].vertices.get(0).get(1)
491
- );
492
- if (isHole) {
493
- holesList = holesList.push(verticesCoordsForArea[j].id);
494
- }
495
- }
496
- }
497
- state = state.setIn(
498
- [
499
- 'scene',
500
- 'layers',
501
- layerID,
502
- 'areas',
503
- verticesCoordsForArea[i].id,
504
- 'holes'
505
- ],
506
- holesList
507
- );
508
- }
509
-
510
- // Remove holes which are already holes for other areas
511
- areaIDs.forEach(areaID => {
512
- let doubleHoles = new Set();
513
- let areaHoles = state.getIn([
514
- 'scene',
515
- 'layers',
516
- layerID,
517
- 'areas',
518
- areaID,
519
- 'holes'
520
- ]);
521
- areaHoles.forEach(areaHoleID => {
522
- let holesOfholes = state.getIn([
523
- 'scene',
524
- 'layers',
525
- layerID,
526
- 'areas',
527
- areaHoleID,
528
- 'holes'
529
- ]);
530
- holesOfholes.forEach(holeID => {
531
- if (areaHoles.indexOf(holeID) !== -1) doubleHoles.add(holeID);
532
- });
533
- });
534
- doubleHoles.forEach(doubleHoleID => {
535
- areaHoles = areaHoles.remove(areaHoles.indexOf(doubleHoleID));
536
- });
537
- state = state.setIn(
538
- ['scene', 'layers', layerID, 'areas', areaID, 'holes'],
539
- areaHoles
540
- );
541
- });
542
-
543
- // update direction of lines surrounding area
544
- let layer = state.getIn(['scene', 'layers', layerID]);
545
- let allAreaLines = GeometryUtils.getAllAreaLines(layer);
546
- // check whether the room is colsed. in this case, the allAreaLines have some values and if doesn't close, this value has nothing.
547
- layer.lines.forEach(line => {
548
- allAreaLines.some(l => {
549
- if (line.vertices.get(0) == l[0] && line.vertices.get(1) == l[1]) {
550
- state = state.setIn(
551
- ['scene', 'layers', layerID, 'lines', line.id, 'vertices', 0],
552
- l[1]
553
- );
554
- state = state.setIn(
555
- ['scene', 'layers', layerID, 'lines', line.id, 'vertices', 1],
556
- l[0]
557
- );
558
- return true;
559
- } else if (
560
- line.vertices.get(1) == l[0] &&
561
- line.vertices.get(0) == l[1]
562
- ) {
563
- return true;
564
- } else {
565
- return false;
566
- }
567
- });
568
- });
569
-
570
- //
571
- let separatedLine = [];
572
- let allLinesArray = state.getIn(['scene', 'layers', layerID, 'lines']);
573
- allLinesArray.forEach(line => {
574
- let isAreaLine = false;
575
- isAreaLine = allAreaLines.some(areaLine => {
576
- if (
577
- (areaLine[0] == line.vertices.get(0) &&
578
- areaLine[1] == line.vertices.get(1)) ||
579
- (areaLine[0] == line.vertices.get(1) &&
580
- areaLine[1] == line.vertices.get(0))
581
- )
582
- return true;
583
- });
584
- // console.log(
585
- // 'Layer_Vertices',
586
- // layer.vertices.get(line.vertices.get(0)).toJS()
587
- // );
588
- if (!isAreaLine) {
589
- if (
590
- !(
591
- GeometryUtils.isPointInArea(
592
- GeometryUtils.getAllArea(layer),
593
- layer.vertices.get(line.vertices.get(0))
594
- ) &&
595
- GeometryUtils.isPointInArea(
596
- GeometryUtils.getAllArea(layer),
597
- layer.vertices.get(line.vertices.get(1))
598
- )
599
- )
600
- ) {
601
- separatedLine.push(line);
602
- }
603
- }
604
- });
605
- let separatedLineCnt = separatedLine.length;
606
-
607
- if (separatedLineCnt == 1) {
608
- separatedLine.forEach(line => {
609
- let ptArray = [],
610
- pt3 = [],
611
- pt4 = [];
612
- ptArray.push(
613
- verticesArray[vertexID_to_verticesArrayIndex[line.vertices.get(0)]]
614
- );
615
- ptArray.push(
616
- verticesArray[vertexID_to_verticesArrayIndex[line.vertices.get(1)]]
617
- );
618
- pt3.push(ptArray[1][1] - ptArray[0][1] + ptArray[1][0]);
619
- pt3.push(ptArray[0][0] - ptArray[1][0] + ptArray[1][1]);
620
- ptArray.push(pt3);
621
- pt4.push(ptArray[0][0] + ptArray[2][0] - ptArray[1][0]);
622
- pt4.push(ptArray[0][1] + ptArray[2][1] - ptArray[1][1]);
623
- ptArray.push(pt4);
624
- let pointArray = [];
625
- ptArray.forEach(pt => {
626
- let point = { x: pt[0], y: pt[1] };
627
- pointArray.push(point);
628
- });
629
- pointArray.reverse();
630
- let resultAdd = Area.add(
631
- state,
632
- layerID,
633
- 'area',
634
- pointArray,
635
- state.catalog
636
- );
637
- state = resultAdd.updatedState;
638
- });
639
- } else if (separatedLineCnt > 1) {
640
- let ptXArray = [],
641
- ptYArray = [],
642
- ptXMin,
643
- ptXMax,
644
- ptYMin,
645
- ptYMAX;
646
- separatedLine.forEach(line => {
647
- ptXArray.push(
648
- verticesArray[vertexID_to_verticesArrayIndex[line.vertices.get(0)]][0]
649
- );
650
- ptXArray.push(
651
- verticesArray[vertexID_to_verticesArrayIndex[line.vertices.get(1)]][0]
652
- );
653
- ptYArray.push(
654
- verticesArray[vertexID_to_verticesArrayIndex[line.vertices.get(0)]][1]
655
- );
656
- ptYArray.push(
657
- verticesArray[vertexID_to_verticesArrayIndex[line.vertices.get(1)]][1]
658
- );
659
- });
660
- ptXMin = Math.min.apply(null, ptXArray);
661
- ptXMax = Math.max.apply(null, ptXArray);
662
- ptYMin = Math.min.apply(null, ptYArray);
663
- ptYMAX = Math.max.apply(null, ptYArray);
664
- let pointArray = [];
665
- pointArray.push({ x: ptXMin, y: ptYMin });
666
- pointArray.push({ x: ptXMax, y: ptYMin });
667
- pointArray.push({ x: ptXMax, y: ptYMAX });
668
- pointArray.push({ x: ptXMin, y: ptYMAX });
669
- let resultAdd = Area.add(
670
- state,
671
- layerID,
672
- 'area',
673
- pointArray,
674
- state.catalog
675
- );
676
- state = resultAdd.updatedState;
677
- if (!isEmpty(drawingInfor)) {
678
- let allVertices = state.getIn(['scene', 'layers', layerID, 'vertices']);
679
- let resultInterior = this.interiorsurfacedetect(
680
- state,
681
- drawingInfor.drawingLine.toJS(),
682
- allVertices.toJS(),
683
- allLinesArray,
684
- layerID
685
- );
686
- if (!isEmpty(resultInterior)) {
687
- state = resultInterior.updatedState;
688
- }
689
- }
690
- }
691
-
692
- return { updatedState: state };
693
- }
694
-
695
- static removeZeroLengthLines(state, layerID) {
696
- let updatedState = state
697
- .getIn(['scene', 'layers', layerID, 'lines'])
698
- .reduce((newState, line) => {
699
- let v_id0 = line.getIn(['vertices', 0]);
700
- let v_id1 = line.getIn(['vertices', 1]);
701
-
702
- let v0 = newState.getIn([
703
- 'scene',
704
- 'layers',
705
- layerID,
706
- 'vertices',
707
- v_id0
708
- ]);
709
- let v1 = newState.getIn([
710
- 'scene',
711
- 'layers',
712
- layerID,
713
- 'vertices',
714
- v_id1
715
- ]);
716
-
717
- if (GeometryUtils.verticesDistance(v0, v1) === 0) {
718
- newState = Line.remove(newState, layerID, line.id).updatedState;
719
- }
720
-
721
- return newState;
722
- }, state);
723
-
724
- return { updatedState };
725
- }
726
-
727
- static mergeEqualsVertices(state, layerID, vertexID) {
728
- //1. find vertices to remove
729
- let vertex = state.getIn([
730
- 'scene',
731
- 'layers',
732
- layerID,
733
- 'vertices',
734
- vertexID
735
- ]);
736
-
737
- if (vertex === undefined || vertex === null) return { updatedState: state };
738
-
739
- let doubleVertices = state
740
- .getIn(['scene', 'layers', layerID, 'vertices'])
741
- .filter(v => {
742
- return (
743
- v.id !== vertexID && GeometryUtils.samePoints(vertex, v) // &&
744
- //!v.lines.contains( vertexID ) &&
745
- //!v.areas.contains( vertexID )
746
- );
747
- });
748
-
749
- if (doubleVertices.isEmpty()) return { updatedState: state };
750
-
751
- doubleVertices.forEach(doubleVertex => {
752
- let reduced = doubleVertex.lines.reduce((reducedState, lineID) => {
753
- reducedState = reducedState.updateIn(
754
- ['scene', 'layers', layerID, 'lines', lineID, 'vertices'],
755
- vertices => {
756
- if (vertices) {
757
- return vertices.map(v => (v === doubleVertex.id ? vertexID : v));
758
- }
759
- }
760
- );
761
- reducedState = Vertex.addElement(
762
- reducedState,
763
- layerID,
764
- vertexID,
765
- 'lines',
766
- lineID
767
- ).updatedState;
768
-
769
- return reducedState;
770
- }, state);
771
-
772
- let biReduced = doubleVertex.areas.reduce((reducedState, areaID) => {
773
- reducedState = reducedState.updateIn(
774
- ['scene', 'layers', layerID, 'areas', areaID, 'vertices'],
775
- vertices => {
776
- if (vertices)
777
- return vertices.map(v => (v === doubleVertex.id ? vertexID : v));
778
- }
779
- );
780
- reducedState = Vertex.addElement(
781
- reducedState,
782
- layerID,
783
- vertexID,
784
- 'areas',
785
- areaID
786
- ).updatedState;
787
-
788
- return reducedState;
789
- }, reduced);
790
-
791
- state = Vertex.remove(
792
- biReduced,
793
- layerID,
794
- doubleVertex.id,
795
- null,
796
- null,
797
- true
798
- ).updatedState;
799
- });
800
-
801
- return { updatedState: state };
802
- }
803
-
804
- static setPropertiesOnSelected(state, layerID, properties) {
805
- let selected = state.getIn(['scene', 'layers', layerID, 'selected']);
806
-
807
- selected.lines.forEach(
808
- lineID =>
809
- (state = Line.setProperties(
810
- state,
811
- layerID,
812
- lineID,
813
- properties
814
- ).updatedState)
815
- );
816
- selected.holes.forEach(
817
- holeID =>
818
- (state = Hole.setProperties(
819
- state,
820
- layerID,
821
- holeID,
822
- properties
823
- ).updatedState)
824
- );
825
- selected.areas.forEach(
826
- areaID =>
827
- (state = Area.setProperties(
828
- state,
829
- layerID,
830
- areaID,
831
- properties
832
- ).updatedState)
833
- );
834
- selected.items.forEach(
835
- itemID =>
836
- (state = Item.setProperties(
837
- state,
838
- layerID,
839
- itemID,
840
- properties
841
- ).updatedState)
842
- );
843
-
844
- return { updatedState: state };
845
- }
846
-
847
- static updatePropertiesOnSelected(state, layerID, properties) {
848
- let selected = state.getIn(['scene', 'layers', layerID, 'selected']);
849
-
850
- selected.lines.forEach(
851
- lineID =>
852
- (state = Line.updateProperties(
853
- state,
854
- layerID,
855
- lineID,
856
- properties
857
- ).updatedState)
858
- );
859
- selected.holes.forEach(
860
- holeID =>
861
- (state = Hole.updateProperties(
862
- state,
863
- layerID,
864
- holeID,
865
- properties
866
- ).updatedState)
867
- );
868
- selected.areas.forEach(
869
- areaID =>
870
- (state = Area.updateProperties(
871
- state,
872
- layerID,
873
- areaID,
874
- properties
875
- ).updatedState)
876
- );
877
- selected.items.forEach(
878
- itemID =>
879
- (state = Item.updateProperties(
880
- state,
881
- layerID,
882
- itemID,
883
- properties
884
- ).updatedState)
885
- );
886
-
887
- return { updatedState: state };
888
- }
889
-
890
- static setAttributesOnSelected(state, layerID, attributes) {
891
- let selected = state.getIn(['scene', 'layers', layerID, 'selected']);
892
-
893
- selected.lines.forEach(
894
- lineID =>
895
- (state = Line.setAttributes(
896
- state,
897
- layerID,
898
- lineID,
899
- attributes
900
- ).updatedState)
901
- );
902
- selected.holes.forEach(
903
- holeID =>
904
- (state = Hole.setAttributes(
905
- state,
906
- layerID,
907
- holeID,
908
- attributes
909
- ).updatedState)
910
- );
911
- selected.items.forEach(
912
- itemID =>
913
- (state = Item.setAttributes(
914
- state,
915
- layerID,
916
- itemID,
917
- attributes
918
- ).updatedState)
919
- );
920
- //selected.areas.forEach(areaID => state = Area.setAttributes( state, layerID, areaID, attributes ).updatedState);
921
-
922
- return { updatedState: state };
923
- }
924
- }
925
-
926
- export { Layer as default };