kitchen-simulator 1.1.1-test.47 → 1.1.1-test.49

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 (359) hide show
  1. package/lib/KitchenConfiguratorApp.js +3 -0
  2. package/package.json +15 -16
  3. package/es/@history.js +0 -2
  4. package/es/AppContext.js +0 -3
  5. package/es/KitchenConfigurator.js +0 -645
  6. package/es/KitchenConfiguratorApp.js +0 -478
  7. package/es/actions/area-actions.js +0 -14
  8. package/es/actions/export.js +0 -23
  9. package/es/actions/groups-actions.js +0 -89
  10. package/es/actions/holes-actions.js +0 -119
  11. package/es/actions/items-actions.js +0 -313
  12. package/es/actions/lines-actions.js +0 -81
  13. package/es/actions/project-actions.js +0 -281
  14. package/es/actions/scene-actions.js +0 -33
  15. package/es/actions/vertices-actions.js +0 -27
  16. package/es/actions/viewer2d-actions.js +0 -58
  17. package/es/actions/viewer3d-actions.js +0 -23
  18. package/es/catalog/areas/area/planner-element.js +0 -40
  19. package/es/catalog/areas/area/textures/ceramic-tile.jpg +0 -0
  20. package/es/catalog/areas/area/textures/grass.jpg +0 -0
  21. package/es/catalog/areas/area/textures/parquet.jpg +0 -0
  22. package/es/catalog/areas/area/textures/strand-porcelain.jpg +0 -0
  23. package/es/catalog/areas/area/textures/tile1.jpg +0 -0
  24. package/es/catalog/catalog.js +0 -277
  25. package/es/catalog/envMap/nx.hdr +0 -0
  26. package/es/catalog/envMap/ny.hdr +0 -0
  27. package/es/catalog/envMap/nz.hdr +0 -0
  28. package/es/catalog/envMap/px.hdr +0 -0
  29. package/es/catalog/envMap/py.hdr +0 -0
  30. package/es/catalog/envMap/pz.hdr +0 -0
  31. package/es/catalog/factories/area-factory-3d.js +0 -181
  32. package/es/catalog/factories/area-factory.js +0 -81
  33. package/es/catalog/factories/export.js +0 -7
  34. package/es/catalog/factories/wall-factory-3d.js +0 -202
  35. package/es/catalog/factories/wall-factory.js +0 -268
  36. package/es/catalog/holes/door-closet/planner-element.js +0 -222
  37. package/es/catalog/holes/door-double/door_double.png +0 -0
  38. package/es/catalog/holes/door-double/planner-element.js +0 -315
  39. package/es/catalog/holes/door-exterior/planner-element.js +0 -215
  40. package/es/catalog/holes/door-interior/planner-element.js +0 -227
  41. package/es/catalog/holes/door-panic/panicDoor.png +0 -0
  42. package/es/catalog/holes/door-panic/planner-element.js +0 -503
  43. package/es/catalog/holes/door-panic-double/panicDoorDouble.png +0 -0
  44. package/es/catalog/holes/door-panic-double/planner-element.js +0 -463
  45. package/es/catalog/holes/door-sliding/planner-element.js +0 -225
  46. package/es/catalog/holes/doorway-framed/planner-element.js +0 -145
  47. package/es/catalog/holes/doorway-frameless/planner-element.js +0 -104
  48. package/es/catalog/holes/export.js +0 -13
  49. package/es/catalog/holes/gate/gate.jpg +0 -0
  50. package/es/catalog/holes/window-clear/planner-element.js +0 -166
  51. package/es/catalog/holes/window-clear/texture.png +0 -0
  52. package/es/catalog/holes/window-cross/planner-element.js +0 -165
  53. package/es/catalog/holes/window-cross/texture.png +0 -0
  54. package/es/catalog/holes/window-double-hung/planner-element.js +0 -303
  55. package/es/catalog/holes/window-double-hung/texture.png +0 -0
  56. package/es/catalog/holes/window-vertical/planner-element.js +0 -276
  57. package/es/catalog/holes/window-vertical/texture.png +0 -0
  58. package/es/catalog/lines/wall/planner-element.js +0 -70
  59. package/es/catalog/lines/wall/textures/bricks-normal.jpg +0 -0
  60. package/es/catalog/lines/wall/textures/bricks-normal2.jpg +0 -0
  61. package/es/catalog/lines/wall/textures/bricks.jpg +0 -0
  62. package/es/catalog/lines/wall/textures/bricks2.jpg +0 -0
  63. package/es/catalog/lines/wall/textures/bricks3.jpg +0 -0
  64. package/es/catalog/lines/wall/textures/morden-normal.jpg +0 -0
  65. package/es/catalog/lines/wall/textures/morden.jpg +0 -0
  66. package/es/catalog/lines/wall/textures/painted-normal.jpg +0 -0
  67. package/es/catalog/lines/wall/textures/painted.jpg +0 -0
  68. package/es/catalog/lines/wall/textures/plaster-normal.jpg +0 -0
  69. package/es/catalog/lines/wall/textures/plaster.jpg +0 -0
  70. package/es/catalog/lines/wall/wall.png +0 -0
  71. package/es/catalog/molding/molding-dcm/planner-element.js +0 -28
  72. package/es/catalog/molding/molding-dcm/texture.png +0 -0
  73. package/es/catalog/molding/molding-fbm/planner-element.js +0 -28
  74. package/es/catalog/molding/molding-fbm/texture.png +0 -0
  75. package/es/catalog/molding/molding-lrm/planner-element.js +0 -28
  76. package/es/catalog/molding/molding-lrm/texture.png +0 -0
  77. package/es/catalog/properties/export.js +0 -21
  78. package/es/catalog/properties/property-checkbox.js +0 -116
  79. package/es/catalog/properties/property-color.js +0 -39
  80. package/es/catalog/properties/property-enum.js +0 -97
  81. package/es/catalog/properties/property-hidden.js +0 -19
  82. package/es/catalog/properties/property-lenght-measure.js +0 -101
  83. package/es/catalog/properties/property-length-measure.js +0 -134
  84. package/es/catalog/properties/property-length-measure_hole.js +0 -101
  85. package/es/catalog/properties/property-number.js +0 -48
  86. package/es/catalog/properties/property-read-only.js +0 -26
  87. package/es/catalog/properties/property-string.js +0 -48
  88. package/es/catalog/properties/property-toggle.js +0 -39
  89. package/es/catalog/properties/shared-property-style.js +0 -14
  90. package/es/catalog/utils/FuseUtils.js +0 -82
  91. package/es/catalog/utils/exporter.js +0 -148
  92. package/es/catalog/utils/geom-utils.js +0 -189
  93. package/es/catalog/utils/item-loader.js +0 -1521
  94. package/es/catalog/utils/load-obj.js +0 -91
  95. package/es/catalog/utils/mtl-loader.js +0 -358
  96. package/es/catalog/utils/obj-loader.js +0 -477
  97. package/es/class/FuseUtils.js +0 -82
  98. package/es/class/area.js +0 -145
  99. package/es/class/export.js +0 -24
  100. package/es/class/group.js +0 -440
  101. package/es/class/guide.js +0 -62
  102. package/es/class/hole.js +0 -929
  103. package/es/class/item.js +0 -1883
  104. package/es/class/layer.js +0 -667
  105. package/es/class/line.js +0 -1180
  106. package/es/class/project.js +0 -793
  107. package/es/class/vertex.js +0 -202
  108. package/es/components/content.js +0 -107
  109. package/es/components/disclaimer/disclaimer.js +0 -97
  110. package/es/components/export.js +0 -9
  111. package/es/components/style/button.js +0 -113
  112. package/es/components/style/cancel-button.js +0 -22
  113. package/es/components/style/content-container.js +0 -33
  114. package/es/components/style/content-title.js +0 -29
  115. package/es/components/style/delete-button.js +0 -25
  116. package/es/components/style/export.js +0 -31
  117. package/es/components/style/form-block.js +0 -24
  118. package/es/components/style/form-color-input.js +0 -27
  119. package/es/components/style/form-label.js +0 -26
  120. package/es/components/style/form-number-input.js +0 -213
  121. package/es/components/style/form-number-input_2.js +0 -206
  122. package/es/components/style/form-select.js +0 -68
  123. package/es/components/style/form-slider.js +0 -61
  124. package/es/components/style/form-submit-button.js +0 -26
  125. package/es/components/style/form-text-input.js +0 -95
  126. package/es/components/viewer2d/area.js +0 -81
  127. package/es/components/viewer2d/export.js +0 -31
  128. package/es/components/viewer2d/grids/grid-horizontal-streak.js +0 -37
  129. package/es/components/viewer2d/grids/grid-streak.js +0 -37
  130. package/es/components/viewer2d/grids/grid-vertical-streak.js +0 -37
  131. package/es/components/viewer2d/grids/grids.js +0 -35
  132. package/es/components/viewer2d/group.js +0 -53
  133. package/es/components/viewer2d/item.js +0 -513
  134. package/es/components/viewer2d/layer.js +0 -164
  135. package/es/components/viewer2d/line.js +0 -882
  136. package/es/components/viewer2d/ruler.js +0 -100
  137. package/es/components/viewer2d/rulerDist.js +0 -146
  138. package/es/components/viewer2d/rulerX.js +0 -151
  139. package/es/components/viewer2d/rulerY.js +0 -153
  140. package/es/components/viewer2d/scene.js +0 -140
  141. package/es/components/viewer2d/snap.js +0 -74
  142. package/es/components/viewer2d/state.js +0 -78
  143. package/es/components/viewer2d/utils.js +0 -198
  144. package/es/components/viewer2d/vertex.js +0 -65
  145. package/es/components/viewer2d/viewer2d.js +0 -1398
  146. package/es/components/viewer3d/camera-controls-module/camera-controls.module.js +0 -2592
  147. package/es/components/viewer3d/dcm.js +0 -401
  148. package/es/components/viewer3d/fbm.js +0 -414
  149. package/es/components/viewer3d/front3D.js +0 -66
  150. package/es/components/viewer3d/grid-creator.js +0 -25
  151. package/es/components/viewer3d/grids/grid-horizontal-streak.js +0 -36
  152. package/es/components/viewer3d/grids/grid-streak.js +0 -27
  153. package/es/components/viewer3d/grids/grid-vertical-streak.js +0 -36
  154. package/es/components/viewer3d/libs/first-person-controls.js +0 -67
  155. package/es/components/viewer3d/libs/helvetiker_regular.typeface.js +0 -1281
  156. package/es/components/viewer3d/libs/mtl-loader.js +0 -357
  157. package/es/components/viewer3d/libs/obj-loader.js +0 -462
  158. package/es/components/viewer3d/libs/orbit-controls.js +0 -699
  159. package/es/components/viewer3d/libs/pointer-lock-controls.js +0 -46
  160. package/es/components/viewer3d/lrm.js +0 -305
  161. package/es/components/viewer3d/model.js +0 -708
  162. package/es/components/viewer3d/pointer-lock-navigation.js +0 -115
  163. package/es/components/viewer3d/ruler-utils/itemRect.js +0 -61
  164. package/es/components/viewer3d/ruler-utils/layer3D.js +0 -495
  165. package/es/components/viewer3d/ruler-utils/ruler3D.js +0 -227
  166. package/es/components/viewer3d/ruler-utils/scene3D.js +0 -60
  167. package/es/components/viewer3d/ruler-utils/state3D.js +0 -18
  168. package/es/components/viewer3d/scene-creator.js +0 -3608
  169. package/es/components/viewer3d/three-memory-cleaner.js +0 -51
  170. package/es/components/viewer3d/viewer3d-first-person.js +0 -315
  171. package/es/components/viewer3d/viewer3d.js +0 -2527
  172. package/es/constants.js +0 -636
  173. package/es/index.js +0 -16
  174. package/es/models.js +0 -510
  175. package/es/plugins/SVGLoader.js +0 -1412
  176. package/es/plugins/autosave.js +0 -33
  177. package/es/plugins/console-debugger.js +0 -37
  178. package/es/plugins/export.js +0 -9
  179. package/es/plugins/keyboard.js +0 -101
  180. package/es/reducers/areas-reducer.js +0 -12
  181. package/es/reducers/export.js +0 -25
  182. package/es/reducers/groups-reducer.js +0 -38
  183. package/es/reducers/holes-reducer.js +0 -62
  184. package/es/reducers/items-reducer.js +0 -140
  185. package/es/reducers/lines-reducer.js +0 -45
  186. package/es/reducers/project-reducer.js +0 -129
  187. package/es/reducers/reducer.js +0 -19
  188. package/es/reducers/scene-reducer.js +0 -28
  189. package/es/reducers/user-reducer.js +0 -40
  190. package/es/reducers/vertices-reducer.js +0 -19
  191. package/es/reducers/viewer2d-reducer.js +0 -75
  192. package/es/reducers/viewer3d-reducer.js +0 -56
  193. package/es/shared-style.js +0 -66
  194. package/es/styles/export.js +0 -5
  195. package/es/styles/tabs.css +0 -40
  196. package/es/translator/en.js +0 -104
  197. package/es/translator/it.js +0 -79
  198. package/es/translator/ru.js +0 -79
  199. package/es/translator/translator.js +0 -84
  200. package/es/utils/browser.js +0 -33
  201. package/es/utils/email-validator.js +0 -4
  202. package/es/utils/export.js +0 -25
  203. package/es/utils/geometry.js +0 -2420
  204. package/es/utils/get-edges-of-subgraphs.js +0 -27
  205. package/es/utils/graph-cycles.js +0 -237
  206. package/es/utils/graph-inner-cycles.js +0 -46
  207. package/es/utils/graph.js +0 -150
  208. package/es/utils/helper.js +0 -268
  209. package/es/utils/history.js +0 -29
  210. package/es/utils/id-broker.js +0 -19
  211. package/es/utils/logger.js +0 -8
  212. package/es/utils/math.js +0 -50
  213. package/es/utils/molding.js +0 -871
  214. package/es/utils/name-generator.js +0 -18
  215. package/es/utils/objects-utils.js +0 -50
  216. package/es/utils/phone-validator.js +0 -4
  217. package/es/utils/process-black-list.js +0 -18
  218. package/es/utils/react-if.js +0 -18
  219. package/es/utils/snap-scene.js +0 -99
  220. package/es/utils/snap.js +0 -237
  221. package/es/utils/summarizeCart.js +0 -24
  222. package/es/utils/threeCSG.es6.js +0 -498
  223. package/es/version.js +0 -2
  224. package/lib/catalog/properties/property-string.js +0 -55
  225. package/lib/catalog/properties/property-toggle.js +0 -46
  226. package/lib/catalog/properties/shared-property-style.js +0 -20
  227. package/lib/catalog/utils/FuseUtils.js +0 -88
  228. package/lib/catalog/utils/exporter.js +0 -155
  229. package/lib/catalog/utils/geom-utils.js +0 -205
  230. package/lib/catalog/utils/item-loader.js +0 -1533
  231. package/lib/catalog/utils/load-obj.js +0 -99
  232. package/lib/catalog/utils/mtl-loader.js +0 -363
  233. package/lib/catalog/utils/obj-loader.js +0 -482
  234. package/lib/class/FuseUtils.js +0 -88
  235. package/lib/class/area.js +0 -150
  236. package/lib/class/export.js +0 -96
  237. package/lib/class/group.js +0 -445
  238. package/lib/class/guide.js +0 -67
  239. package/lib/class/hole.js +0 -934
  240. package/lib/class/item.js +0 -1889
  241. package/lib/class/layer.js +0 -672
  242. package/lib/class/line.js +0 -1186
  243. package/lib/class/project.js +0 -799
  244. package/lib/class/vertex.js +0 -207
  245. package/lib/components/content.js +0 -116
  246. package/lib/components/disclaimer/disclaimer.js +0 -105
  247. package/lib/components/export.js +0 -33
  248. package/lib/components/style/button.js +0 -120
  249. package/lib/components/style/cancel-button.js +0 -29
  250. package/lib/components/style/content-container.js +0 -40
  251. package/lib/components/style/content-title.js +0 -37
  252. package/lib/components/style/delete-button.js +0 -34
  253. package/lib/components/style/export.js +0 -121
  254. package/lib/components/style/form-block.js +0 -31
  255. package/lib/components/style/form-color-input.js +0 -34
  256. package/lib/components/style/form-label.js +0 -33
  257. package/lib/components/style/form-number-input.js +0 -220
  258. package/lib/components/style/form-number-input_2.js +0 -213
  259. package/lib/components/style/form-select.js +0 -75
  260. package/lib/components/style/form-slider.js +0 -68
  261. package/lib/components/style/form-submit-button.js +0 -35
  262. package/lib/components/style/form-text-input.js +0 -101
  263. package/lib/components/viewer2d/area.js +0 -88
  264. package/lib/components/viewer2d/export.js +0 -121
  265. package/lib/components/viewer2d/grids/grid-horizontal-streak.js +0 -44
  266. package/lib/components/viewer2d/grids/grid-streak.js +0 -44
  267. package/lib/components/viewer2d/grids/grid-vertical-streak.js +0 -44
  268. package/lib/components/viewer2d/grids/grids.js +0 -44
  269. package/lib/components/viewer2d/group.js +0 -62
  270. package/lib/components/viewer2d/item.js +0 -521
  271. package/lib/components/viewer2d/layer.js +0 -171
  272. package/lib/components/viewer2d/line.js +0 -892
  273. package/lib/components/viewer2d/ruler.js +0 -107
  274. package/lib/components/viewer2d/rulerDist.js +0 -153
  275. package/lib/components/viewer2d/rulerX.js +0 -158
  276. package/lib/components/viewer2d/rulerY.js +0 -160
  277. package/lib/components/viewer2d/scene.js +0 -147
  278. package/lib/components/viewer2d/snap.js +0 -83
  279. package/lib/components/viewer2d/state.js +0 -87
  280. package/lib/components/viewer2d/utils.js +0 -210
  281. package/lib/components/viewer2d/vertex.js +0 -74
  282. package/lib/components/viewer2d/viewer2d.js +0 -1405
  283. package/lib/components/viewer3d/camera-controls-module/camera-controls.module.js +0 -2597
  284. package/lib/components/viewer3d/dcm.js +0 -407
  285. package/lib/components/viewer3d/fbm.js +0 -420
  286. package/lib/components/viewer3d/front3D.js +0 -75
  287. package/lib/components/viewer3d/grid-creator.js +0 -34
  288. package/lib/components/viewer3d/grids/grid-horizontal-streak.js +0 -44
  289. package/lib/components/viewer3d/grids/grid-streak.js +0 -35
  290. package/lib/components/viewer3d/grids/grid-vertical-streak.js +0 -44
  291. package/lib/components/viewer3d/libs/first-person-controls.js +0 -74
  292. package/lib/components/viewer3d/libs/helvetiker_regular.typeface.js +0 -1287
  293. package/lib/components/viewer3d/libs/mtl-loader.js +0 -363
  294. package/lib/components/viewer3d/libs/obj-loader.js +0 -468
  295. package/lib/components/viewer3d/libs/orbit-controls.js +0 -705
  296. package/lib/components/viewer3d/libs/pointer-lock-controls.js +0 -52
  297. package/lib/components/viewer3d/lrm.js +0 -311
  298. package/lib/components/viewer3d/model.js +0 -714
  299. package/lib/components/viewer3d/pointer-lock-navigation.js +0 -122
  300. package/lib/components/viewer3d/ruler-utils/itemRect.js +0 -68
  301. package/lib/components/viewer3d/ruler-utils/layer3D.js +0 -502
  302. package/lib/components/viewer3d/ruler-utils/ruler3D.js +0 -234
  303. package/lib/components/viewer3d/ruler-utils/scene3D.js +0 -68
  304. package/lib/components/viewer3d/ruler-utils/state3D.js +0 -25
  305. package/lib/components/viewer3d/scene-creator.js +0 -3642
  306. package/lib/components/viewer3d/three-memory-cleaner.js +0 -60
  307. package/lib/components/viewer3d/viewer3d-first-person.js +0 -320
  308. package/lib/components/viewer3d/viewer3d.js +0 -2532
  309. package/lib/constants.js +0 -645
  310. package/lib/index.js +0 -96
  311. package/lib/models.js +0 -517
  312. package/lib/plugins/SVGLoader.js +0 -1417
  313. package/lib/plugins/autosave.js +0 -39
  314. package/lib/plugins/console-debugger.js +0 -44
  315. package/lib/plugins/export.js +0 -33
  316. package/lib/plugins/keyboard.js +0 -107
  317. package/lib/reducers/areas-reducer.js +0 -18
  318. package/lib/reducers/export.js +0 -97
  319. package/lib/reducers/groups-reducer.js +0 -44
  320. package/lib/reducers/holes-reducer.js +0 -68
  321. package/lib/reducers/items-reducer.js +0 -146
  322. package/lib/reducers/lines-reducer.js +0 -51
  323. package/lib/reducers/project-reducer.js +0 -135
  324. package/lib/reducers/reducer.js +0 -26
  325. package/lib/reducers/scene-reducer.js +0 -34
  326. package/lib/reducers/user-reducer.js +0 -46
  327. package/lib/reducers/vertices-reducer.js +0 -25
  328. package/lib/reducers/viewer2d-reducer.js +0 -82
  329. package/lib/reducers/viewer3d-reducer.js +0 -63
  330. package/lib/shared-style.js +0 -72
  331. package/lib/styles/export.js +0 -13
  332. package/lib/translator/en.js +0 -110
  333. package/lib/translator/it.js +0 -85
  334. package/lib/translator/ru.js +0 -85
  335. package/lib/translator/translator.js +0 -90
  336. package/lib/utils/browser.js +0 -40
  337. package/lib/utils/email-validator.js +0 -10
  338. package/lib/utils/export.js +0 -56
  339. package/lib/utils/geometry.js +0 -2516
  340. package/lib/utils/get-edges-of-subgraphs.js +0 -34
  341. package/lib/utils/graph-cycles.js +0 -240
  342. package/lib/utils/graph-inner-cycles.js +0 -54
  343. package/lib/utils/graph.js +0 -157
  344. package/lib/utils/helper.js +0 -291
  345. package/lib/utils/history.js +0 -36
  346. package/lib/utils/id-broker.js +0 -26
  347. package/lib/utils/logger.js +0 -14
  348. package/lib/utils/math.js +0 -57
  349. package/lib/utils/molding.js +0 -895
  350. package/lib/utils/name-generator.js +0 -23
  351. package/lib/utils/objects-utils.js +0 -60
  352. package/lib/utils/phone-validator.js +0 -10
  353. package/lib/utils/process-black-list.js +0 -24
  354. package/lib/utils/react-if.js +0 -24
  355. package/lib/utils/snap-scene.js +0 -105
  356. package/lib/utils/snap.js +0 -249
  357. package/lib/utils/summarizeCart.js +0 -30
  358. package/lib/utils/threeCSG.es6.js +0 -503
  359. package/lib/version.js +0 -8
@@ -1,892 +0,0 @@
1
- "use strict";
2
-
3
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.compareVertices = compareVertices;
8
- exports["default"] = Line;
9
- var _react = _interopRequireDefault(require("react"));
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
11
- var _export = require("../../utils/export");
12
- var _ruler = _interopRequireDefault(require("./ruler"));
13
- var _constants = require("../../constants");
14
- var Three = _interopRequireWildcard(require("three"));
15
- var _utils = require("./utils");
16
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
17
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
18
- var STYLE = {
19
- stroke: 'rgb(77, 77, 77)',
20
- strokeWidth: '1px'
21
- };
22
- var STYLE_ANGLE = {
23
- stroke: 'rgb(77, 77, 77)',
24
- strokeWidth: 1,
25
- strokeLinecap: 'round',
26
- strokeLinejoin: 'round',
27
- strokeMiterlimit: 2.613,
28
- fill: 'transparent'
29
- };
30
- var STYLE_TEXT = {
31
- textAnchor: 'middle',
32
- fontSize: '7px',
33
- fontWeight: 'middle',
34
- fontFamily: "'Microsoft YaHei UI', Courier, monospace"
35
- };
36
- function compareVertices(v0, v1) {
37
- return v0.x === v1.x ? v0.y - v1.y : v0.x - v1.x;
38
- }
39
- function Line(_ref) {
40
- var _state$getIn;
41
- var line = _ref.line,
42
- allLine = _ref.allLine,
43
- layer = _ref.layer,
44
- scene = _ref.scene,
45
- num = _ref.num,
46
- catalog = _ref.catalog,
47
- state = _ref.state,
48
- relatedLines = _ref.relatedLines;
49
- var showWallLengthMeasure = scene.showWallLengthMeasure,
50
- showWallCabinetMeasure = scene.showWallCabinetMeasure,
51
- showBaseCabinetMeasure = scene.showBaseCabinetMeasure,
52
- showWindowDoorMeasure = scene.showWindowDoorMeasure;
53
- var vertex0 = layer.vertices.get(line.vertices.get(0));
54
- var vertex1 = layer.vertices.get(line.vertices.get(1));
55
- if (vertex0.id === vertex1.id || _export.GeometryUtils.samePoints(vertex0, vertex1)) return null; //avoid 0-length lines
56
- var x1 = vertex0.x,
57
- y1 = vertex0.y;
58
- var x2 = vertex1.x,
59
- y2 = vertex1.y;
60
- var relatedvertice0x, relatedvertice0y, relatedvertice1x, relatedvertice1y;
61
- // relatedvertice0x = relatedVertice.point.x;
62
- // relatedvertice0y = relatedVertice.point.y;
63
- line.relatedVertices.forEach(function (relatedVertice) {
64
- if (relatedVertice.index == undefined) relatedVertice = relatedVertice.toJSON();
65
- if (relatedVertice.index == 0) {
66
- relatedvertice0x = relatedVertice.point.x;
67
- relatedvertice0y = relatedVertice.point.y;
68
- } else {
69
- relatedvertice1x = relatedVertice.point.x;
70
- relatedvertice1y = relatedVertice.point.y;
71
- }
72
- });
73
- var thickness = _constants.LINE_THICKNESS;
74
- var half_thickness = thickness / 2;
75
- // if (compareVertices(vertex0, vertex1) >= 0 && vertex0.x !== vertex1.x) {
76
- // ({ x: x1, y: y1 } = vertex1);
77
- // ({ x: x2, y: y2 } = vertex0);
78
- // }
79
-
80
- var length = _export.GeometryUtils.pointsDistance(x1, y1, x2, y2);
81
- // let length = GeometryUtils.pointsDistance(relatedvertice0x,relatedvertice0y,relatedvertice1x,relatedvertice1y);
82
- var rightHoleLength, leftHoleLength, holeLength;
83
- var angle = _export.GeometryUtils.angleBetweenTwoPointsAndOrigin(x1, y1, x2, y2);
84
- var baseSpace = 20;
85
- var base_item = _export.GeometryUtils.getAllItemSpecified(scene, catalog, _constants.BASE_CABINET_LAYOUTPOS);
86
- // let relatedLines = [];
87
- var angleVertices = [];
88
- var layerID = state.getIn(['scene', 'selectedLayer']);
89
- var drawingLineID = (_state$getIn = state.getIn(['scene', 'layers', layerID, 'selected', 'lines'])) === null || _state$getIn === void 0 ? void 0 : _state$getIn.toJS();
90
- if (!(0, _utils.isEmpty)(drawingLineID)) {
91
- var drawingLine = state.getIn(['scene', 'layers', layerID, 'lines', drawingLineID[0]]).toJS();
92
- var allLines = state.getIn(['scene', 'layers', layerID, 'lines']).toJS();
93
- var allLinesArray = state.getIn(['scene', 'layers', layerID, 'lines']).toArray();
94
- var vertices = state.getIn(['scene', 'layers', layerID, 'vertices']).toJS();
95
- var reget = false;
96
- relatedLines.forEach(function (relLine) {
97
- if (!allLinesArray.some(function (alLine) {
98
- return alLine.id === relLine.id;
99
- })) {
100
- reget = true;
101
- }
102
- });
103
- if (reget) {
104
- relatedLines = [];
105
- _export.GeometryUtils.getRelatedLines(relatedLines, drawingLine, vertices, allLines);
106
- }
107
- // get the angle of two lines and check the angle.
108
- if (drawingLine.vertices[0] !== drawingLine.vertices[1]) {
109
- relatedLines.forEach(function (line) {
110
- // get the points of two lines(drawing line and related line)
111
- // the first value is overlapped point of two lines as a center of angle.
112
- if (!(0, _utils.isEmpty)(line)) {
113
- var points = [];
114
- var anglePoints = [];
115
- line.vertices.forEach(function (vt) {
116
- if (drawingLine.vertices.some(function (dvt) {
117
- return dvt === vt;
118
- })) {
119
- points.push(vt);
120
- }
121
- });
122
- line.vertices.forEach(function (vt) {
123
- if (!points.some(function (pt) {
124
- return pt === vt;
125
- })) {
126
- points.push(vt);
127
- }
128
- });
129
- drawingLine.vertices.forEach(function (vt) {
130
- if (!points.some(function (pt) {
131
- return pt === vt;
132
- })) {
133
- points.push(vt);
134
- }
135
- });
136
- if (points.length < 3) {
137
- points.push(points[points.length - 1]);
138
- }
139
- points.forEach(function (point) {
140
- return anglePoints.push(vertices[point]);
141
- });
142
- angleVertices.push(anglePoints);
143
- }
144
- });
145
- }
146
- }
147
- var l2 = {
148
- x: x1,
149
- y: y1
150
- };
151
- var l3 = {
152
- x: x2,
153
- y: y2
154
- };
155
- var isSnapped = function isSnapped(itemRect) {
156
- var r0 = itemRect.rect[0];
157
- var r1 = itemRect.rect[1];
158
- var r2 = itemRect.rect[2];
159
- var r3 = itemRect.rect[3];
160
- var delta23 = _export.GeometryUtils.verticesDistance(l2, r3) + _export.GeometryUtils.verticesDistance(r3, r2) + _export.GeometryUtils.verticesDistance(r2, l3) - _export.GeometryUtils.verticesDistance(l3, l2);
161
- if (delta23 < 0.1) {
162
- return true;
163
- } else {
164
- return false;
165
- }
166
- };
167
- // base cabinet
168
- var baseRuler = [];
169
- var base_posArray = [];
170
- if (base_item.cur) {
171
- base_item.others.push(base_item.cur);
172
- }
173
- base_item.others.forEach(function (itemRect) {
174
- var r2 = itemRect.rect[2];
175
- var r3 = itemRect.rect[3];
176
- if (isSnapped(itemRect)) {
177
- base_posArray.push(r2);
178
- base_posArray.push(r3);
179
- }
180
- });
181
- base_posArray.push(l2);
182
- base_posArray.push(l3);
183
- var base_posAndwidth = [];
184
- if (Math.abs(angle) === 0 || Math.abs(angle) === 180 || _export.GeometryUtils.almostEqual(y1, y2)) {
185
- base_posArray.sort(function (a, b) {
186
- return a.x - b.x;
187
- });
188
- if (base_posArray.length > 2) {
189
- for (var index = 0; index < base_posArray.length - 1; index++) {
190
- var element = base_posArray[index];
191
- base_posAndwidth.push({
192
- pos: element,
193
- length: base_posArray[index + 1].x - element.x
194
- });
195
- }
196
- }
197
- } else {
198
- base_posArray.sort(function (a, b) {
199
- return a.y - b.y;
200
- });
201
- if (base_posArray.length > 2) {
202
- for (var _index = 0; _index < base_posArray.length - 1; _index++) {
203
- var _element = base_posArray[_index];
204
- base_posAndwidth.push({
205
- pos: _element,
206
- length: Math.abs((base_posArray[_index + 1].y - _element.y) / Math.sin(angle / 180 * Math.PI))
207
- });
208
- }
209
- }
210
- }
211
- if (!showBaseCabinetMeasure || base_posArray.length <= 2) {
212
- baseSpace -= 20;
213
- }
214
- baseRuler = base_posAndwidth.map(function (pAw) {
215
- if (pAw.length > 1) {
216
- if (Math.abs(angle) === 0 || Math.abs(angle) === 180 || _export.GeometryUtils.almostEqual(y1, y2)) {
217
- if (x1 - x2 > 0) {
218
- return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
219
- x1: pAw.pos.x + pAw.length,
220
- y1: pAw.pos.y,
221
- x2: pAw.pos.x + pAw.length,
222
- y2: pAw.pos.y - thickness / 2 - baseSpace,
223
- style: STYLE
224
- }), /*#__PURE__*/_react["default"].createElement(_ruler["default"], {
225
- key: 4,
226
- layer: layer,
227
- unit: scene.unit,
228
- rulerUnit: scene.rulerUnit,
229
- length: pAw.length,
230
- transform: "translate(".concat(pAw.pos.x, ", ").concat(pAw.pos.y - thickness / 2 - baseSpace, " ) rotate(").concat(angle + 180, ", 0, 0)")
231
- }), /*#__PURE__*/_react["default"].createElement("line", {
232
- x1: pAw.pos.x,
233
- y1: pAw.pos.y,
234
- x2: pAw.pos.x,
235
- y2: pAw.pos.y - thickness / 2 - baseSpace,
236
- style: STYLE
237
- }));
238
- } else {
239
- return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
240
- x1: pAw.pos.x + pAw.length,
241
- y1: pAw.pos.y,
242
- x2: pAw.pos.x + pAw.length,
243
- y2: pAw.pos.y + thickness / 2 + baseSpace,
244
- style: STYLE
245
- }), /*#__PURE__*/_react["default"].createElement(_ruler["default"], {
246
- key: 4,
247
- layer: layer,
248
- unit: scene.unit,
249
- rulerUnit: scene.rulerUnit,
250
- length: pAw.length,
251
- transform: "translate(".concat(pAw.pos.x, ", ").concat(pAw.pos.y + thickness / 2 + baseSpace, " ) rotate(").concat(angle, ", 0, 0)")
252
- }), /*#__PURE__*/_react["default"].createElement("line", {
253
- x1: pAw.pos.x,
254
- y1: pAw.pos.y,
255
- x2: pAw.pos.x,
256
- y2: pAw.pos.y + thickness / 2 + baseSpace,
257
- style: STYLE
258
- }));
259
- }
260
- } else {
261
- if (y1 - y2 > 0) {
262
- if (x1 - x2 < 0 || _export.GeometryUtils.almostEqual(x1, x2)) {
263
- return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
264
- x1: pAw.pos.x - pAw.length * Math.cos(angle / 180 * Math.PI),
265
- y1: pAw.pos.y - pAw.length * Math.sin(angle / 180 * Math.PI),
266
- x2: pAw.pos.x - pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI),
267
- y2: pAw.pos.y - pAw.length * Math.sin(angle / 180 * Math.PI) + (thickness / 2 + baseSpace) * Math.cos(angle / 180 * Math.PI),
268
- style: STYLE
269
- }), /*#__PURE__*/_react["default"].createElement(_ruler["default"], {
270
- key: 5,
271
- layer: layer,
272
- unit: scene.unit,
273
- rulerUnit: scene.rulerUnit,
274
- length: pAw.length,
275
- transform: "translate(".concat(pAw.pos.x - pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI), ", ").concat(pAw.pos.y - pAw.length * Math.sin(angle / 180 * Math.PI) + (thickness / 2 + baseSpace) * Math.cos(angle / 180 * Math.PI), " ) rotate(").concat(angle, ", 0, 0)")
276
- }), /*#__PURE__*/_react["default"].createElement("line", {
277
- x1: pAw.pos.x,
278
- y1: pAw.pos.y,
279
- x2: pAw.pos.x - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI),
280
- y2: pAw.pos.y + (thickness / 2 + baseSpace) * Math.cos(angle / 180 * Math.PI),
281
- style: STYLE
282
- }));
283
- } else {
284
- return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
285
- x1: pAw.pos.x,
286
- y1: pAw.pos.y,
287
- x2: pAw.pos.x - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI),
288
- y2: pAw.pos.y + (thickness / 2 + baseSpace) * Math.cos(angle / 180 * Math.PI),
289
- style: STYLE
290
- }), /*#__PURE__*/_react["default"].createElement(_ruler["default"], {
291
- key: 5,
292
- layer: layer,
293
- unit: scene.unit,
294
- rulerUnit: scene.rulerUnit,
295
- length: pAw.length,
296
- transform: "translate(".concat(pAw.pos.x - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI), ", ").concat(pAw.pos.y + (thickness / 2 + baseSpace) * Math.cos(angle / 180 * Math.PI), " ) rotate(").concat(angle, ", 0, 0) scale(-1, -1)")
297
- }), /*#__PURE__*/_react["default"].createElement("line", {
298
- x1: pAw.pos.x - pAw.length * Math.cos(angle / 180 * Math.PI),
299
- y1: pAw.pos.y - pAw.length * Math.sin(angle / 180 * Math.PI),
300
- x2: pAw.pos.x - pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI),
301
- y2: pAw.pos.y - pAw.length * Math.sin(angle / 180 * Math.PI) + (thickness / 2 + baseSpace) * Math.cos(angle / 180 * Math.PI),
302
- style: STYLE
303
- }));
304
- }
305
- } else {
306
- if (x1 - x2 < 0 || _export.GeometryUtils.almostEqual(x1, x2)) {
307
- return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
308
- x1: pAw.pos.x,
309
- y1: pAw.pos.y,
310
- x2: pAw.pos.x - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI),
311
- y2: pAw.pos.y + (thickness / 2 + baseSpace) * Math.cos(angle / 180 * Math.PI),
312
- style: STYLE
313
- }), /*#__PURE__*/_react["default"].createElement(_ruler["default"], {
314
- key: 5,
315
- layer: layer,
316
- unit: scene.unit,
317
- rulerUnit: scene.rulerUnit,
318
- length: pAw.length,
319
- transform: "translate(".concat(pAw.pos.x - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI), ", ").concat(pAw.pos.y + (thickness / 2 + baseSpace) * Math.cos(angle / 180 * Math.PI), " ) rotate(").concat(angle, ", 0, 0)")
320
- }), /*#__PURE__*/_react["default"].createElement("line", {
321
- x1: pAw.pos.x + pAw.length * Math.cos(angle / 180 * Math.PI),
322
- y1: pAw.pos.y + pAw.length * Math.sin(angle / 180 * Math.PI),
323
- x2: pAw.pos.x + pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI),
324
- y2: pAw.pos.y + pAw.length * Math.sin(angle / 180 * Math.PI) + (thickness / 2 + baseSpace) * Math.cos(angle / 180 * Math.PI),
325
- style: STYLE
326
- }));
327
- } else {
328
- return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
329
- x1: pAw.pos.x + pAw.length * Math.cos(angle / 180 * Math.PI),
330
- y1: pAw.pos.y + pAw.length * Math.sin(angle / 180 * Math.PI),
331
- x2: pAw.pos.x + pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI),
332
- y2: pAw.pos.y + pAw.length * Math.sin(angle / 180 * Math.PI) + (thickness / 2 + baseSpace) * Math.cos(angle / 180 * Math.PI),
333
- style: STYLE
334
- }), /*#__PURE__*/_react["default"].createElement(_ruler["default"], {
335
- key: 5,
336
- layer: layer,
337
- unit: scene.unit,
338
- rulerUnit: scene.rulerUnit,
339
- length: pAw.length,
340
- transform: "translate(".concat(pAw.pos.x + pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI), ", ").concat(pAw.pos.y + pAw.length * Math.sin(angle / 180 * Math.PI) + (thickness / 2 + baseSpace) * Math.cos(angle / 180 * Math.PI), " ) rotate(").concat(angle, ", 0, 0) scale(-1, -1)")
341
- }), /*#__PURE__*/_react["default"].createElement("line", {
342
- x1: pAw.pos.x,
343
- y1: pAw.pos.y,
344
- x2: pAw.pos.x - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI),
345
- y2: pAw.pos.y + (thickness / 2 + baseSpace) * Math.cos(angle / 180 * Math.PI),
346
- style: STYLE
347
- }));
348
- }
349
- }
350
- }
351
- }
352
- });
353
- var doorSpace = baseSpace + 20;
354
- var renderedHoles = line.holes.map(function (holeID) {
355
- var hole = layer.holes.get(holeID);
356
- if (hole === undefined) {
357
- return '';
358
- }
359
- var startAt = length * hole.offset;
360
- var renderedHole = catalog.getElement(hole.type).render2D(hole, layer, scene);
361
- return /*#__PURE__*/_react["default"].createElement("g", {
362
- key: holeID,
363
- transform: "translate(".concat(startAt, ", 3.5)"),
364
- "data-element-root": true,
365
- "data-prototype": hole.prototype,
366
- "data-id": hole.id,
367
- "data-selected": hole.selected,
368
- "data-layer": layer.id
369
- }, renderedHole);
370
- });
371
- var renderedLine = catalog.getElement(line.type).render2D(line, layer, scene, state);
372
- var holeTemp = [];
373
- var renderedRuler = [];
374
- var renderedAllRuler = [];
375
- if (!line.holes.size || !showWindowDoorMeasure) {
376
- doorSpace -= 20;
377
- }
378
- var allRuler = [0],
379
- holeData = [];
380
- var lineHoles = line.holes.sortBy(function (holeID) {
381
- var hole = layer.holes.get(holeID);
382
- return !hole ? 0 : hole.offset;
383
- });
384
- lineHoles.forEach(function (holeID) {
385
- var hole = layer.holes.get(holeID);
386
- if (hole !== undefined) {
387
- var startAt = length * hole.offset;
388
- var holeWidth = hole.properties.toJS().width.length;
389
- allRuler.push(startAt - holeWidth / 2);
390
- allRuler.push(startAt + holeWidth / 2);
391
- holeData["".concat(startAt - holeWidth / 2, "_").concat(startAt + holeWidth / 2)] = holeID;
392
- }
393
- });
394
- allRuler.push(length);
395
-
396
- // wall cabinet
397
- var wallSpace = doorSpace + 20;
398
- var wall_item = _export.GeometryUtils.getAllItemSpecified(scene, catalog, _constants.WALL_CABINET_LAYOUTPOS);
399
- var wallRuler = [];
400
- var wall_posArray = [];
401
- if (wall_item.cur) {
402
- wall_item.others.push(wall_item.cur);
403
- }
404
- wall_item.others.forEach(function (itemRect) {
405
- var r2 = itemRect.rect[2];
406
- var r3 = itemRect.rect[3];
407
- if (isSnapped(itemRect)) {
408
- wall_posArray.push(r2);
409
- wall_posArray.push(r3);
410
- }
411
- });
412
- wall_posArray.push(l2);
413
- wall_posArray.push(l3);
414
- var wall_posAndwidth = [];
415
- if (Math.abs(angle) === 0 || Math.abs(angle) === 180 || _export.GeometryUtils.almostEqual(y1, y2)) {
416
- wall_posArray.sort(function (a, b) {
417
- return a.x - b.x;
418
- });
419
- if (wall_posArray.length > 2) {
420
- for (var _index2 = 0; _index2 < wall_posArray.length - 1; _index2++) {
421
- var _element2 = wall_posArray[_index2];
422
- wall_posAndwidth.push({
423
- pos: _element2,
424
- length: wall_posArray[_index2 + 1].x - _element2.x
425
- });
426
- }
427
- }
428
- } else {
429
- wall_posArray.sort(function (a, b) {
430
- return a.y - b.y;
431
- });
432
- if (wall_posArray.length > 2) {
433
- for (var _index3 = 0; _index3 < wall_posArray.length - 1; _index3++) {
434
- var _element3 = wall_posArray[_index3];
435
- wall_posAndwidth.push({
436
- pos: _element3,
437
- length: Math.abs((wall_posArray[_index3 + 1].y - _element3.y) / Math.sin(angle / 180 * Math.PI))
438
- });
439
- }
440
- }
441
- }
442
- if (!showWallCabinetMeasure || wall_posArray.length <= 2) {
443
- wallSpace -= 20;
444
- }
445
- wallRuler = wall_posAndwidth.map(function (pAw) {
446
- if (pAw.length > 1) {
447
- if (Math.abs(angle) === 0 || Math.abs(angle) === 180 || _export.GeometryUtils.almostEqual(y1, y2)) {
448
- if (x1 - x2 > 0) {
449
- return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
450
- x1: pAw.pos.x + pAw.length,
451
- y1: pAw.pos.y,
452
- x2: pAw.pos.x + pAw.length,
453
- y2: pAw.pos.y - thickness / 2 - wallSpace,
454
- style: STYLE
455
- }), /*#__PURE__*/_react["default"].createElement(_ruler["default"], {
456
- key: 4,
457
- layer: layer,
458
- unit: scene.unit,
459
- rulerUnit: scene.rulerUnit,
460
- length: pAw.length,
461
- transform: "translate(".concat(pAw.pos.x, ", ").concat(pAw.pos.y - thickness / 2 - wallSpace, " ) rotate(").concat(angle + 180, ", 0, 0)")
462
- }), /*#__PURE__*/_react["default"].createElement("line", {
463
- x1: pAw.pos.x,
464
- y1: pAw.pos.y,
465
- x2: pAw.pos.x,
466
- y2: pAw.pos.y - thickness / 2 - wallSpace,
467
- style: STYLE
468
- }));
469
- } else {
470
- return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
471
- x1: pAw.pos.x + pAw.length,
472
- y1: pAw.pos.y,
473
- x2: pAw.pos.x + pAw.length,
474
- y2: pAw.pos.y + thickness / 2 + wallSpace,
475
- style: STYLE
476
- }), /*#__PURE__*/_react["default"].createElement(_ruler["default"], {
477
- key: 4,
478
- layer: layer,
479
- unit: scene.unit,
480
- rulerUnit: scene.rulerUnit,
481
- length: pAw.length,
482
- transform: "translate(".concat(pAw.pos.x, ", ").concat(pAw.pos.y + thickness / 2 + wallSpace, " ) rotate(").concat(angle, ", 0, 0)")
483
- }), /*#__PURE__*/_react["default"].createElement("line", {
484
- x1: pAw.pos.x,
485
- y1: pAw.pos.y,
486
- x2: pAw.pos.x,
487
- y2: pAw.pos.y + thickness / 2 + wallSpace,
488
- style: STYLE
489
- }));
490
- }
491
- } else {
492
- if (y1 - y2 > 0) {
493
- if (x1 - x2 < 0 || _export.GeometryUtils.almostEqual(x1, x2)) {
494
- return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
495
- x1: pAw.pos.x - pAw.length * Math.cos(angle / 180 * Math.PI),
496
- y1: pAw.pos.y - pAw.length * Math.sin(angle / 180 * Math.PI),
497
- x2: pAw.pos.x - pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI),
498
- y2: pAw.pos.y - pAw.length * Math.sin(angle / 180 * Math.PI) + (thickness / 2 + wallSpace) * Math.cos(angle / 180 * Math.PI),
499
- style: STYLE
500
- }), /*#__PURE__*/_react["default"].createElement(_ruler["default"], {
501
- key: 5,
502
- layer: layer,
503
- unit: scene.unit,
504
- rulerUnit: scene.rulerUnit,
505
- length: pAw.length,
506
- transform: "translate(".concat(pAw.pos.x - pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI), ", ").concat(pAw.pos.y - pAw.length * Math.sin(angle / 180 * Math.PI) + (thickness / 2 + wallSpace) * Math.cos(angle / 180 * Math.PI), " ) rotate(").concat(angle, ", 0, 0)")
507
- }), /*#__PURE__*/_react["default"].createElement("line", {
508
- x1: pAw.pos.x,
509
- y1: pAw.pos.y,
510
- x2: pAw.pos.x - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI),
511
- y2: pAw.pos.y + (thickness / 2 + wallSpace) * Math.cos(angle / 180 * Math.PI),
512
- style: STYLE
513
- }));
514
- } else {
515
- return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
516
- x1: pAw.pos.x,
517
- y1: pAw.pos.y,
518
- x2: pAw.pos.x - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI),
519
- y2: pAw.pos.y + (thickness / 2 + wallSpace) * Math.cos(angle / 180 * Math.PI),
520
- style: STYLE
521
- }), /*#__PURE__*/_react["default"].createElement(_ruler["default"], {
522
- key: 5,
523
- layer: layer,
524
- unit: scene.unit,
525
- rulerUnit: scene.rulerUnit,
526
- length: pAw.length,
527
- transform: "translate(".concat(pAw.pos.x - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI), ", ").concat(pAw.pos.y + (thickness / 2 + wallSpace) * Math.cos(angle / 180 * Math.PI), " ) rotate(").concat(angle, ", 0, 0) scale(-1, -1)")
528
- }), /*#__PURE__*/_react["default"].createElement("line", {
529
- x1: pAw.pos.x - pAw.length * Math.cos(angle / 180 * Math.PI),
530
- y1: pAw.pos.y - pAw.length * Math.sin(angle / 180 * Math.PI),
531
- x2: pAw.pos.x - pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI),
532
- y2: pAw.pos.y - pAw.length * Math.sin(angle / 180 * Math.PI) + (thickness / 2 + wallSpace) * Math.cos(angle / 180 * Math.PI),
533
- style: STYLE
534
- }));
535
- }
536
- } else {
537
- if (x1 - x2 < 0 || _export.GeometryUtils.almostEqual(x1, x2)) {
538
- return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
539
- x1: pAw.pos.x,
540
- y1: pAw.pos.y,
541
- x2: pAw.pos.x - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI),
542
- y2: pAw.pos.y + (thickness / 2 + wallSpace) * Math.cos(angle / 180 * Math.PI),
543
- style: STYLE
544
- }), /*#__PURE__*/_react["default"].createElement(_ruler["default"], {
545
- key: 5,
546
- layer: layer,
547
- unit: scene.unit,
548
- rulerUnit: scene.rulerUnit,
549
- length: pAw.length,
550
- transform: "translate(".concat(pAw.pos.x - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI), ", ").concat(pAw.pos.y + (thickness / 2 + wallSpace) * Math.cos(angle / 180 * Math.PI), " ) rotate(").concat(angle, ", 0, 0)")
551
- }), /*#__PURE__*/_react["default"].createElement("line", {
552
- x1: pAw.pos.x + pAw.length * Math.cos(angle / 180 * Math.PI),
553
- y1: pAw.pos.y + pAw.length * Math.sin(angle / 180 * Math.PI),
554
- x2: pAw.pos.x + pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI),
555
- y2: pAw.pos.y + pAw.length * Math.sin(angle / 180 * Math.PI) + (thickness / 2 + wallSpace) * Math.cos(angle / 180 * Math.PI),
556
- style: STYLE
557
- }));
558
- } else {
559
- return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
560
- x1: pAw.pos.x + pAw.length * Math.cos(angle / 180 * Math.PI),
561
- y1: pAw.pos.y + pAw.length * Math.sin(angle / 180 * Math.PI),
562
- x2: pAw.pos.x + pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI),
563
- y2: pAw.pos.y + pAw.length * Math.sin(angle / 180 * Math.PI) + (thickness / 2 + wallSpace) * Math.cos(angle / 180 * Math.PI),
564
- style: STYLE
565
- }), /*#__PURE__*/_react["default"].createElement(_ruler["default"], {
566
- key: 5,
567
- layer: layer,
568
- unit: scene.unit,
569
- rulerUnit: scene.rulerUnit,
570
- length: pAw.length,
571
- transform: "translate(".concat(pAw.pos.x + pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI), ", ").concat(pAw.pos.y + pAw.length * Math.sin(angle / 180 * Math.PI) + (thickness / 2 + wallSpace) * Math.cos(angle / 180 * Math.PI), " ) rotate(").concat(angle, ", 0, 0) scale(-1, -1)")
572
- }), /*#__PURE__*/_react["default"].createElement("line", {
573
- x1: pAw.pos.x,
574
- y1: pAw.pos.y,
575
- x2: pAw.pos.x - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI),
576
- y2: pAw.pos.y + (thickness / 2 + wallSpace) * Math.cos(angle / 180 * Math.PI),
577
- style: STYLE
578
- }));
579
- }
580
- }
581
- }
582
- }
583
- });
584
- var lineSpace = wallSpace + 20;
585
- //the space from the dimensioning line to the top
586
- var lineSpacedimension1 = 5;
587
- //the space from the dimensioning line to the bottom
588
- var lineSpacedimension2 = 15;
589
- if (compareVertices(vertex0, vertex1) >= 0 && vertex0.x !== vertex1.x) {
590
- renderedRuler.push(/*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
591
- x1: length,
592
- y1: half_thickness + lineSpace + lineSpacedimension1,
593
- x2: length,
594
- y2: half_thickness + lineSpacedimension2,
595
- style: STYLE
596
- }), /*#__PURE__*/_react["default"].createElement(_ruler["default"], {
597
- key: 0,
598
- layer: layer,
599
- unit: scene.unit,
600
- rulerUnit: scene.rulerUnit,
601
- length: length,
602
- transform: "translate(".concat(length, ", ").concat(half_thickness + lineSpace, ") scale(-1, -1)")
603
- }), /*#__PURE__*/_react["default"].createElement("line", {
604
- x1: 0,
605
- y1: half_thickness + lineSpace + lineSpacedimension1,
606
- x2: 0,
607
- y2: half_thickness + lineSpacedimension2,
608
- style: STYLE
609
- })));
610
- } else {
611
- renderedRuler.push(/*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
612
- x1: 0,
613
- y1: half_thickness + lineSpace + lineSpacedimension1,
614
- x2: 0,
615
- y2: half_thickness + lineSpacedimension2,
616
- style: STYLE
617
- }), /*#__PURE__*/_react["default"].createElement(_ruler["default"], {
618
- key: 0,
619
- layer: layer,
620
- unit: scene.unit,
621
- rulerUnit: scene.rulerUnit,
622
- length: length,
623
- transform: "translate(0, ".concat(half_thickness + lineSpace, ")")
624
- }), /*#__PURE__*/_react["default"].createElement("line", {
625
- x1: length,
626
- y1: half_thickness + lineSpace + lineSpacedimension1,
627
- x2: length,
628
- y2: half_thickness + lineSpacedimension2,
629
- style: STYLE
630
- })));
631
- }
632
- allRuler.sort(function (a, b) {
633
- return a - b;
634
- });
635
- if (allRuler.length > 2) {
636
- allRuler.forEach(function (rulerData, index) {
637
- var element = allRuler[index + 1] - allRuler[index];
638
- if (!Number.isNaN(element)) {
639
- var dataProtoType = 'ruler';
640
- var dataId = holeData["".concat(allRuler[index], "_").concat(allRuler[index + 1])];
641
- if (!dataId) {
642
- var holeID1 = holeData["".concat(allRuler[index - 1], "_").concat(allRuler[index])];
643
- var holeID2 = holeData["".concat(allRuler[index + 1], "_").concat(allRuler[index + 2])];
644
- if (holeID1 && holeID2) {
645
- dataId = "".concat(holeID1, ",").concat(holeID2);
646
- dataProtoType = 'twoHoleRuler';
647
- } else if (holeID1) {
648
- dataId = holeID1;
649
- dataProtoType = 'rightHoleRuler';
650
- } else if (holeID2) {
651
- dataId = holeID2;
652
- dataProtoType = 'leftHoleRuler';
653
- }
654
- } else {
655
- dataProtoType = 'rulerHole';
656
- }
657
- if (compareVertices(vertex0, vertex1) >= 0 && vertex0.x !== vertex1.x) {
658
- renderedAllRuler.push(/*#__PURE__*/_react["default"].createElement("g", {
659
- transform: "translate(".concat(x1, ", ").concat(y1, ") rotate(").concat(angle, ", 0, 0)")
660
- }, /*#__PURE__*/_react["default"].createElement("line", {
661
- x1: allRuler[index],
662
- y1: half_thickness,
663
- x2: allRuler[index],
664
- y2: half_thickness + doorSpace,
665
- style: STYLE
666
- }), /*#__PURE__*/_react["default"].createElement(_ruler["default"], {
667
- key: "allRuler_".concat(index),
668
- layer: layer,
669
- unit: scene.unit,
670
- rulerUnit: scene.rulerUnit,
671
- length: element,
672
- transform: "translate(".concat(allRuler[index] + element, ", ").concat(half_thickness + doorSpace, " ) scale(-1, -1)")
673
- }), /*#__PURE__*/_react["default"].createElement("line", {
674
- x1: allRuler[index] + element,
675
- y1: half_thickness,
676
- x2: allRuler[index] + element,
677
- y2: half_thickness + doorSpace,
678
- style: STYLE
679
- })));
680
- } else {
681
- renderedAllRuler.push(/*#__PURE__*/_react["default"].createElement("g", {
682
- transform: "translate(".concat(x1, ", ").concat(y1, ") rotate(").concat(angle, ", 0, 0)")
683
- }, /*#__PURE__*/_react["default"].createElement("line", {
684
- x1: allRuler[index],
685
- y1: half_thickness,
686
- x2: allRuler[index],
687
- y2: half_thickness + doorSpace,
688
- style: STYLE
689
- }), /*#__PURE__*/_react["default"].createElement(_ruler["default"], {
690
- key: "allRuler_".concat(index),
691
- layer: layer,
692
- unit: scene.unit,
693
- rulerUnit: scene.rulerUnit,
694
- length: element,
695
- transform: "translate(".concat(allRuler[index], ", ").concat(half_thickness + doorSpace, " )")
696
- }), /*#__PURE__*/_react["default"].createElement("line", {
697
- x1: allRuler[index] + element,
698
- y1: half_thickness,
699
- x2: allRuler[index] + element,
700
- y2: half_thickness + doorSpace,
701
- style: STYLE
702
- })));
703
- }
704
- }
705
- });
706
- }
707
- return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("g", {
708
- transform: "translate(".concat(x1, ", ").concat(y1, ") rotate(").concat(angle, ", 0, 0)"),
709
- "data-element-root": true,
710
- "data-prototype": 'ruler',
711
- "data-id": line.id,
712
- "data-selected": line.selected,
713
- "data-layer": layer.id,
714
- "data-length": length
715
- }, showWallLengthMeasure ? renderedRuler : null), line.selected && angleVertices.map(function (vertex, index) {
716
- var lineGroup = vertex[0].lines;
717
- var angles = [];
718
- var thickness = [];
719
- var vectories = [];
720
- // get the vector of lines
721
- lineGroup.forEach(function (line) {
722
- line = layer.lines.get(line);
723
- var vertex0 = layer.vertices.get(line.vertices.get(0));
724
- var vertex1 = layer.vertices.get(line.vertices.get(1));
725
- var vec = vertex0 === vertex[0] ? new Three.Vector2(vertex1.x - vertex0.x, vertex1.y - vertex0.y) : new Three.Vector2(vertex0.x - vertex1.x, vertex0.y - vertex1.y);
726
- var angle = vec.angle();
727
- var thick = 15;
728
- angles.push(angle);
729
- thickness.push(thick);
730
- vectories.push(vec.normalize());
731
- });
732
-
733
- // calculate the angle between two lines
734
- var center = new Three.Vector2(vertex[0].x, vertex[0].y);
735
- var pos1 = new Three.Vector2(vertex[1].x, vertex[1].y);
736
- var pos2 = new Three.Vector2(vertex[2].x, vertex[2].y);
737
- var cen = center.clone();
738
- var pos = pos1.clone();
739
- var vec1 = pos.sub(cen).normalize();
740
- pos = pos2.clone();
741
- var vec2 = pos.sub(cen).normalize();
742
- var v1 = vec1.clone(),
743
- v2 = vec2.clone();
744
- var vec = v1.add(v2).normalize();
745
- var angle = Math.abs(Math.floor(vec1.angle() * 180 / Math.PI - vec2.angle() * 180 / Math.PI + 0.5));
746
- angle = angle > 180 ? 360 - angle : angle;
747
- var rotDir = vec1.cross(vec2) > 0; // true: rotate CCW, false: rotate CW
748
-
749
- // Angle Text Position
750
-
751
- var angleTextO = center.clone();
752
- var textTranslation = vec1.clone().add(vec2).normalize().multiplyScalar(25);
753
- angleTextO.add(textTranslation);
754
- angleTextO.y -= 5; // half the height of text `angle`
755
-
756
- var tx = 0;
757
- var ty = 0;
758
- vec = vec.multiplyScalar(35);
759
- vec1 = vec1.multiplyScalar(35);
760
- var cen1 = center.clone(),
761
- cen2 = center.clone();
762
- center = center.add(vec);
763
- pos1 = cen1.add(vec1);
764
- var rotated = pos1.clone().rotateAround(cen2, angle / 2.0 * Math.PI / 180);
765
- var lines = [];
766
- var t = center.distanceTo(rotated) < 5 ? 1 : -1;
767
- pos2 = pos1.clone().rotateAround(cen2, t * angle * Math.PI / 180);
768
-
769
- // Angle SVG Path
770
- lines.push(/*#__PURE__*/_react["default"].createElement("path", {
771
- style: STYLE_ANGLE,
772
- d: "\n M ".concat(vertex[0].x, ",").concat(vertex[0].y, " L ").concat(pos1.x, ",").concat(pos1.y, " A 30,30 ").concat(angle, " 0 ").concat(t > 0 ? 1 : 0, " ").concat(pos2.x, ",").concat(pos2.y, " z\n ")
773
- }));
774
- var length = angle;
775
- // draw angle and angle text
776
- return /*#__PURE__*/_react["default"].createElement("g", {
777
- key: index,
778
- transform: "translate(".concat(tx, ", ").concat(ty, ")"),
779
- "data-element-root": true,
780
- "data-prototype": "angleChange",
781
- "data-layer": layer.id,
782
- "data-selected": "true",
783
- "data-id": [vertex[0].id, vertex[1].id, rotDir],
784
- "data-length": length
785
- }, lines, /*#__PURE__*/_react["default"].createElement("text", {
786
- transform: "translate(".concat(angleTextO.x, ", ").concat(angleTextO.y, ") scale(1.5, -1.5)"),
787
- style: STYLE_TEXT
788
- }, angle), /*#__PURE__*/_react["default"].createElement("circle", {
789
- transform: "translate(".concat(angleTextO.x, ", ").concat(angleTextO.y, ") translate(10, 9)"),
790
- fill: "transparent",
791
- stroke: "rgb(77, 77, 77)",
792
- strokeWidth: 1,
793
- r: 2
794
- }));
795
- }), showWindowDoorMeasure ? renderedAllRuler : null, showBaseCabinetMeasure ? baseRuler : null, showWallCabinetMeasure ? wallRuler : null, /*#__PURE__*/_react["default"].createElement("g", {
796
- "data-element-root": true,
797
- "data-prototype": line.prototype,
798
- "data-id": line.id,
799
- id: line.id,
800
- "data-selected": line.selected,
801
- "data-layer": layer.id,
802
- style: line.selected ? {
803
- cursor: 'move'
804
- } : {}
805
- }, renderedLine, /*#__PURE__*/_react["default"].createElement("g", {
806
- transform: "translate(".concat(x1, ", ").concat(y1, ") rotate(").concat(angle, ", 0, 0)")
807
- }, renderedHoles)), line.selected && /*#__PURE__*/_react["default"].createElement("g", {
808
- id: 'elevation-button',
809
- key: 1,
810
- transform: "translate(".concat(x1 + 35, ", ").concat(y1 - 15, ")"),
811
- style: {
812
- cursor: 'pointer'
813
- }
814
- }, /*#__PURE__*/_react["default"].createElement("defs", null, /*#__PURE__*/_react["default"].createElement("filter", {
815
- id: "shadow"
816
- }, /*#__PURE__*/_react["default"].createElement("feDropShadow", {
817
- dx: "0",
818
- dy: "0",
819
- stdDeviation: "0.6"
820
- }))), /*#__PURE__*/_react["default"].createElement("rect", {
821
- rx: "4",
822
- ry: "4",
823
- y: "20",
824
- height: "22",
825
- width: "22",
826
- fill: "white",
827
- filter: "url(#shadow)"
828
- }), /*#__PURE__*/_react["default"].createElement("image", {
829
- href: "/assets/img/svg/bottombar/elevation.svg",
830
- x: "5",
831
- y: "-36",
832
- height: "12",
833
- width: "12",
834
- style: {
835
- transform: 'rotateX(180deg)'
836
- }
837
- })), line.selected && /*#__PURE__*/_react["default"].createElement("g", {
838
- id: 'remove-button',
839
- key: 2,
840
- transform: "translate(".concat(x1 + 10, ", ").concat(y1, ")"),
841
- style: {
842
- cursor: 'pointer'
843
- }
844
- }, /*#__PURE__*/_react["default"].createElement("defs", null, /*#__PURE__*/_react["default"].createElement("filter", {
845
- id: "shadow"
846
- }, /*#__PURE__*/_react["default"].createElement("feDropShadow", {
847
- dx: "0",
848
- dy: "0",
849
- stdDeviation: "0.6"
850
- }))), /*#__PURE__*/_react["default"].createElement("rect", {
851
- rx: "4",
852
- ry: "4",
853
- y: "5",
854
- height: "22",
855
- width: "22",
856
- fill: "white",
857
- filter: "url(#shadow)"
858
- }), /*#__PURE__*/_react["default"].createElement("image", {
859
- href: "/assets/img/svg/delete.svg",
860
- x: "3",
861
- y: "-24",
862
- height: "16",
863
- width: "16",
864
- style: {
865
- transform: 'rotateX(180deg)'
866
- }
867
- })), /*#__PURE__*/_react["default"].createElement("use", {
868
- id: 'use elevation button',
869
- xlinkHref: '#elevation-button',
870
- "data-element-root": true,
871
- "data-prototype": line.prototype,
872
- "data-id": line.id,
873
- "data-selected": line.selected,
874
- "data-layer": layer.id,
875
- "data-part": "elevation"
876
- }), /*#__PURE__*/_react["default"].createElement("use", {
877
- id: 'use remove button',
878
- xlinkHref: '#remove-button',
879
- "data-element-root": true,
880
- "data-prototype": line.prototype,
881
- "data-id": line.id,
882
- "data-selected": line.selected,
883
- "data-layer": layer.id,
884
- "data-part": "remove"
885
- }));
886
- }
887
- Line.propTypes = {
888
- line: _propTypes["default"].object.isRequired,
889
- layer: _propTypes["default"].object.isRequired,
890
- scene: _propTypes["default"].object.isRequired,
891
- catalog: _propTypes["default"].object.isRequired
892
- };