@mlightcad/cad-simple-viewer 1.5.10 → 1.6.0

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 (510) hide show
  1. package/README.md +23 -8
  2. package/dist/cad-simple-viewer.js +35023 -70495
  3. package/dist/cad-simple-viewer.umd.cjs +143 -420
  4. package/lib/app/AcApDocManager.d.ts +50 -39
  5. package/lib/app/AcApDocManager.d.ts.map +1 -1
  6. package/lib/app/AcApDocManager.js +146 -72
  7. package/lib/app/AcApDocManager.js.map +1 -1
  8. package/lib/app/AcApSettingManager.d.ts +24 -10
  9. package/lib/app/AcApSettingManager.d.ts.map +1 -1
  10. package/lib/app/AcApSettingManager.js +49 -10
  11. package/lib/app/AcApSettingManager.js.map +1 -1
  12. package/lib/app/AcApWebworkerReadiness.d.ts +7 -2
  13. package/lib/app/AcApWebworkerReadiness.d.ts.map +1 -1
  14. package/lib/app/AcApWebworkerReadiness.js +13 -8
  15. package/lib/app/AcApWebworkerReadiness.js.map +1 -1
  16. package/lib/app/AcApWorkerAssets.d.ts +14 -1
  17. package/lib/app/AcApWorkerAssets.d.ts.map +1 -1
  18. package/lib/app/AcApWorkerAssets.js +14 -1
  19. package/lib/app/AcApWorkerAssets.js.map +1 -1
  20. package/lib/app/index.d.ts +0 -1
  21. package/lib/app/index.d.ts.map +1 -1
  22. package/lib/app/index.js +0 -1
  23. package/lib/app/index.js.map +1 -1
  24. package/lib/command/AcApRedoCmd.d.ts +1 -1
  25. package/lib/command/AcApRedoCmd.d.ts.map +1 -1
  26. package/lib/command/AcApRedoCmd.js +9 -4
  27. package/lib/command/AcApRedoCmd.js.map +1 -1
  28. package/lib/command/AcApUndoCmd.d.ts +1 -1
  29. package/lib/command/AcApUndoCmd.d.ts.map +1 -1
  30. package/lib/command/AcApUndoCmd.js +9 -4
  31. package/lib/command/AcApUndoCmd.js.map +1 -1
  32. package/lib/command/convert/AcApConvertToPngCmd.d.ts.map +1 -1
  33. package/lib/command/convert/AcApConvertToPngCmd.js +5 -1
  34. package/lib/command/convert/AcApConvertToPngCmd.js.map +1 -1
  35. package/lib/command/convert/AcApPngConvertor.d.ts +4 -1
  36. package/lib/command/convert/AcApPngConvertor.d.ts.map +1 -1
  37. package/lib/command/convert/AcApPngConvertor.js +131 -78
  38. package/lib/command/convert/AcApPngConvertor.js.map +1 -1
  39. package/lib/command/draw/AcApRevCloudCmd.d.ts +48 -0
  40. package/lib/command/draw/AcApRevCloudCmd.d.ts.map +1 -0
  41. package/lib/command/draw/AcApRevCloudCmd.js +747 -0
  42. package/lib/command/draw/AcApRevCloudCmd.js.map +1 -0
  43. package/lib/command/draw/AcApRevCloudGeom.d.ts +57 -0
  44. package/lib/command/draw/AcApRevCloudGeom.d.ts.map +1 -0
  45. package/lib/command/draw/AcApRevCloudGeom.js +373 -0
  46. package/lib/command/draw/AcApRevCloudGeom.js.map +1 -0
  47. package/lib/command/draw/AcApSketchCmd.d.ts +59 -0
  48. package/lib/command/draw/AcApSketchCmd.d.ts.map +1 -0
  49. package/lib/command/draw/AcApSketchCmd.js +537 -0
  50. package/lib/command/draw/AcApSketchCmd.js.map +1 -0
  51. package/lib/command/draw/index.d.ts +3 -0
  52. package/lib/command/draw/index.d.ts.map +1 -1
  53. package/lib/command/draw/index.js +3 -0
  54. package/lib/command/draw/index.js.map +1 -1
  55. package/lib/command/index.d.ts +2 -1
  56. package/lib/command/index.d.ts.map +1 -1
  57. package/lib/command/index.js +2 -1
  58. package/lib/command/index.js.map +1 -1
  59. package/lib/command/markup/AcApClearMarkupsCmd.d.ts +10 -0
  60. package/lib/command/markup/AcApClearMarkupsCmd.d.ts.map +1 -0
  61. package/lib/command/{review/AcApRevCircleCmd.js → markup/AcApClearMarkupsCmd.js} +19 -49
  62. package/lib/command/markup/AcApClearMarkupsCmd.js.map +1 -0
  63. package/lib/command/markup/AcApMarkupArrowCmd.d.ts +10 -0
  64. package/lib/command/markup/AcApMarkupArrowCmd.d.ts.map +1 -0
  65. package/lib/command/markup/AcApMarkupArrowCmd.js +164 -0
  66. package/lib/command/markup/AcApMarkupArrowCmd.js.map +1 -0
  67. package/lib/command/markup/AcApMarkupCalloutCmd.d.ts +17 -0
  68. package/lib/command/markup/AcApMarkupCalloutCmd.d.ts.map +1 -0
  69. package/lib/command/markup/AcApMarkupCalloutCmd.js +259 -0
  70. package/lib/command/markup/AcApMarkupCalloutCmd.js.map +1 -0
  71. package/lib/command/markup/AcApMarkupCalloutDrag.d.ts +78 -0
  72. package/lib/command/markup/AcApMarkupCalloutDrag.d.ts.map +1 -0
  73. package/lib/command/markup/AcApMarkupCalloutDrag.js +78 -0
  74. package/lib/command/markup/AcApMarkupCalloutDrag.js.map +1 -0
  75. package/lib/command/markup/AcApMarkupCircleCmd.d.ts +10 -0
  76. package/lib/command/markup/AcApMarkupCircleCmd.d.ts.map +1 -0
  77. package/lib/command/markup/AcApMarkupCircleCmd.js +174 -0
  78. package/lib/command/markup/AcApMarkupCircleCmd.js.map +1 -0
  79. package/lib/command/markup/AcApMarkupCloudCmd.d.ts +11 -0
  80. package/lib/command/markup/AcApMarkupCloudCmd.d.ts.map +1 -0
  81. package/lib/command/markup/AcApMarkupCloudCmd.js +178 -0
  82. package/lib/command/markup/AcApMarkupCloudCmd.js.map +1 -0
  83. package/lib/command/markup/AcApMarkupCmdUtil.d.ts +43 -0
  84. package/lib/command/markup/AcApMarkupCmdUtil.d.ts.map +1 -0
  85. package/lib/command/markup/AcApMarkupCmdUtil.js +133 -0
  86. package/lib/command/markup/AcApMarkupCmdUtil.js.map +1 -0
  87. package/lib/command/markup/AcApMarkupGeometry.d.ts +57 -0
  88. package/lib/command/markup/AcApMarkupGeometry.d.ts.map +1 -0
  89. package/lib/command/markup/AcApMarkupGeometry.js +231 -0
  90. package/lib/command/markup/AcApMarkupGeometry.js.map +1 -0
  91. package/lib/command/markup/AcApMarkupHighlightCmd.d.ts +10 -0
  92. package/lib/command/markup/AcApMarkupHighlightCmd.d.ts.map +1 -0
  93. package/lib/command/markup/AcApMarkupHighlightCmd.js +166 -0
  94. package/lib/command/markup/AcApMarkupHighlightCmd.js.map +1 -0
  95. package/lib/command/markup/AcApMarkupHistory.d.ts +139 -0
  96. package/lib/command/markup/AcApMarkupHistory.d.ts.map +1 -0
  97. package/lib/command/markup/AcApMarkupHistory.js +336 -0
  98. package/lib/command/markup/AcApMarkupHistory.js.map +1 -0
  99. package/lib/command/markup/AcApMarkupImportExportCmd.d.ts +17 -0
  100. package/lib/command/markup/AcApMarkupImportExportCmd.d.ts.map +1 -0
  101. package/lib/command/markup/AcApMarkupImportExportCmd.js +182 -0
  102. package/lib/command/markup/AcApMarkupImportExportCmd.js.map +1 -0
  103. package/lib/command/markup/AcApMarkupLineCmd.d.ts +10 -0
  104. package/lib/command/markup/AcApMarkupLineCmd.d.ts.map +1 -0
  105. package/lib/command/markup/AcApMarkupLineCmd.js +185 -0
  106. package/lib/command/markup/AcApMarkupLineCmd.js.map +1 -0
  107. package/lib/command/markup/AcApMarkupPresenter.d.ts +62 -0
  108. package/lib/command/markup/AcApMarkupPresenter.d.ts.map +1 -0
  109. package/lib/command/markup/AcApMarkupPresenter.js +288 -0
  110. package/lib/command/markup/AcApMarkupPresenter.js.map +1 -0
  111. package/lib/command/markup/AcApMarkupRectCmd.d.ts +10 -0
  112. package/lib/command/markup/AcApMarkupRectCmd.d.ts.map +1 -0
  113. package/lib/command/markup/AcApMarkupRectCmd.js +174 -0
  114. package/lib/command/markup/AcApMarkupRectCmd.js.map +1 -0
  115. package/lib/command/markup/AcApMarkupRepublish.d.ts +29 -0
  116. package/lib/command/markup/AcApMarkupRepublish.d.ts.map +1 -0
  117. package/lib/command/markup/AcApMarkupRepublish.js +28 -0
  118. package/lib/command/markup/AcApMarkupRepublish.js.map +1 -0
  119. package/lib/command/markup/AcApMarkupShapeBuilder.d.ts +88 -0
  120. package/lib/command/markup/AcApMarkupShapeBuilder.d.ts.map +1 -0
  121. package/lib/command/markup/AcApMarkupShapeBuilder.js +246 -0
  122. package/lib/command/markup/AcApMarkupShapeBuilder.js.map +1 -0
  123. package/lib/command/markup/AcApMarkupShapeCallout.d.ts +46 -0
  124. package/lib/command/markup/AcApMarkupShapeCallout.d.ts.map +1 -0
  125. package/lib/command/markup/AcApMarkupShapeCallout.js +356 -0
  126. package/lib/command/markup/AcApMarkupShapeCallout.js.map +1 -0
  127. package/lib/command/markup/AcApMarkupSidecar.d.ts +14 -0
  128. package/lib/command/markup/AcApMarkupSidecar.d.ts.map +1 -0
  129. package/lib/command/markup/AcApMarkupSidecar.js +196 -0
  130. package/lib/command/markup/AcApMarkupSidecar.js.map +1 -0
  131. package/lib/command/markup/AcApMarkupStampCmd.d.ts +10 -0
  132. package/lib/command/markup/AcApMarkupStampCmd.d.ts.map +1 -0
  133. package/lib/command/markup/AcApMarkupStampCmd.js +158 -0
  134. package/lib/command/markup/AcApMarkupStampCmd.js.map +1 -0
  135. package/lib/command/markup/AcApMarkupStore.d.ts +94 -0
  136. package/lib/command/markup/AcApMarkupStore.d.ts.map +1 -0
  137. package/lib/command/markup/AcApMarkupStore.js +327 -0
  138. package/lib/command/markup/AcApMarkupStore.js.map +1 -0
  139. package/lib/command/markup/AcApMarkupTextCmd.d.ts +10 -0
  140. package/lib/command/markup/AcApMarkupTextCmd.d.ts.map +1 -0
  141. package/lib/command/markup/AcApMarkupTextCmd.js +141 -0
  142. package/lib/command/markup/AcApMarkupTextCmd.js.map +1 -0
  143. package/lib/command/markup/AcApMarkupTextEdit.d.ts +88 -0
  144. package/lib/command/markup/AcApMarkupTextEdit.d.ts.map +1 -0
  145. package/lib/command/markup/AcApMarkupTextEdit.js +249 -0
  146. package/lib/command/markup/AcApMarkupTextEdit.js.map +1 -0
  147. package/lib/command/markup/AcApMarkupTypes.d.ts +118 -0
  148. package/lib/command/markup/AcApMarkupTypes.d.ts.map +1 -0
  149. package/lib/command/markup/AcApMarkupTypes.js +8 -0
  150. package/lib/command/markup/AcApMarkupTypes.js.map +1 -0
  151. package/lib/command/markup/AcApMarkupUtil.d.ts +41 -0
  152. package/lib/command/markup/AcApMarkupUtil.d.ts.map +1 -0
  153. package/lib/command/markup/AcApMarkupUtil.js +135 -0
  154. package/lib/command/markup/AcApMarkupUtil.js.map +1 -0
  155. package/lib/command/markup/AcApMarkupVisibilityCmd.d.ts +17 -0
  156. package/lib/command/markup/AcApMarkupVisibilityCmd.d.ts.map +1 -0
  157. package/lib/command/{review/AcApRevVisibilityCmd.js → markup/AcApMarkupVisibilityCmd.js} +30 -27
  158. package/lib/command/markup/AcApMarkupVisibilityCmd.js.map +1 -0
  159. package/lib/command/markup/entity/AcApMarkupCalloutEntity.d.ts +48 -0
  160. package/lib/command/markup/entity/AcApMarkupCalloutEntity.d.ts.map +1 -0
  161. package/lib/command/markup/entity/AcApMarkupCalloutEntity.js +291 -0
  162. package/lib/command/markup/entity/AcApMarkupCalloutEntity.js.map +1 -0
  163. package/lib/command/markup/entity/AcApMarkupEntity.d.ts +131 -0
  164. package/lib/command/markup/entity/AcApMarkupEntity.d.ts.map +1 -0
  165. package/lib/command/markup/entity/AcApMarkupEntity.js +191 -0
  166. package/lib/command/markup/entity/AcApMarkupEntity.js.map +1 -0
  167. package/lib/command/markup/entity/AcApMarkupEntityFactory.d.ts +20 -0
  168. package/lib/command/markup/entity/AcApMarkupEntityFactory.d.ts.map +1 -0
  169. package/lib/command/markup/entity/AcApMarkupEntityFactory.js +43 -0
  170. package/lib/command/markup/entity/AcApMarkupEntityFactory.js.map +1 -0
  171. package/lib/command/markup/entity/AcApMarkupEntityGrips.d.ts +94 -0
  172. package/lib/command/markup/entity/AcApMarkupEntityGrips.d.ts.map +1 -0
  173. package/lib/command/markup/entity/AcApMarkupEntityGrips.js +204 -0
  174. package/lib/command/markup/entity/AcApMarkupEntityGrips.js.map +1 -0
  175. package/lib/command/markup/entity/AcApMarkupHighlightEntity.d.ts +27 -0
  176. package/lib/command/markup/entity/AcApMarkupHighlightEntity.d.ts.map +1 -0
  177. package/lib/command/markup/entity/AcApMarkupHighlightEntity.js +124 -0
  178. package/lib/command/markup/entity/AcApMarkupHighlightEntity.js.map +1 -0
  179. package/lib/command/markup/entity/AcApMarkupSegmentEntity.d.ts +40 -0
  180. package/lib/command/markup/entity/AcApMarkupSegmentEntity.d.ts.map +1 -0
  181. package/lib/command/markup/entity/AcApMarkupSegmentEntity.js +294 -0
  182. package/lib/command/markup/entity/AcApMarkupSegmentEntity.js.map +1 -0
  183. package/lib/command/markup/entity/AcApMarkupShapeEntity.d.ts +32 -0
  184. package/lib/command/markup/entity/AcApMarkupShapeEntity.d.ts.map +1 -0
  185. package/lib/command/markup/entity/AcApMarkupShapeEntity.js +241 -0
  186. package/lib/command/markup/entity/AcApMarkupShapeEntity.js.map +1 -0
  187. package/lib/command/markup/entity/AcApMarkupStampEntity.d.ts +23 -0
  188. package/lib/command/markup/entity/AcApMarkupStampEntity.d.ts.map +1 -0
  189. package/lib/command/markup/entity/AcApMarkupStampEntity.js +125 -0
  190. package/lib/command/markup/entity/AcApMarkupStampEntity.js.map +1 -0
  191. package/lib/command/markup/entity/AcApMarkupTextEntity.d.ts +23 -0
  192. package/lib/command/markup/entity/AcApMarkupTextEntity.d.ts.map +1 -0
  193. package/lib/command/markup/entity/AcApMarkupTextEntity.js +129 -0
  194. package/lib/command/markup/entity/AcApMarkupTextEntity.js.map +1 -0
  195. package/lib/command/markup/entity/index.d.ts +13 -0
  196. package/lib/command/markup/entity/index.d.ts.map +1 -0
  197. package/lib/command/markup/entity/index.js +13 -0
  198. package/lib/command/markup/entity/index.js.map +1 -0
  199. package/lib/command/markup/index.d.ts +27 -0
  200. package/lib/command/markup/index.d.ts.map +1 -0
  201. package/lib/command/markup/index.js +27 -0
  202. package/lib/command/markup/index.js.map +1 -0
  203. package/lib/command/measure/AcApClearMeasurementsCmd.d.ts +5 -12
  204. package/lib/command/measure/AcApClearMeasurementsCmd.d.ts.map +1 -1
  205. package/lib/command/measure/AcApClearMeasurementsCmd.js +42 -20
  206. package/lib/command/measure/AcApClearMeasurementsCmd.js.map +1 -1
  207. package/lib/command/measure/AcApMeasureAngleCmd.d.ts +13 -3
  208. package/lib/command/measure/AcApMeasureAngleCmd.d.ts.map +1 -1
  209. package/lib/command/measure/AcApMeasureAngleCmd.js +76 -210
  210. package/lib/command/measure/AcApMeasureAngleCmd.js.map +1 -1
  211. package/lib/command/measure/AcApMeasureArcCmd.d.ts +21 -1
  212. package/lib/command/measure/AcApMeasureArcCmd.d.ts.map +1 -1
  213. package/lib/command/measure/AcApMeasureArcCmd.js +103 -97
  214. package/lib/command/measure/AcApMeasureArcCmd.js.map +1 -1
  215. package/lib/command/measure/AcApMeasureAreaCmd.d.ts +11 -1
  216. package/lib/command/measure/AcApMeasureAreaCmd.d.ts.map +1 -1
  217. package/lib/command/measure/AcApMeasureAreaCmd.js +126 -144
  218. package/lib/command/measure/AcApMeasureAreaCmd.js.map +1 -1
  219. package/lib/command/measure/AcApMeasureDistanceCmd.d.ts +24 -15
  220. package/lib/command/measure/AcApMeasureDistanceCmd.d.ts.map +1 -1
  221. package/lib/command/measure/AcApMeasureDistanceCmd.js +52 -52
  222. package/lib/command/measure/AcApMeasureDistanceCmd.js.map +1 -1
  223. package/lib/command/measure/AcApMeasurePointCmd.d.ts +24 -0
  224. package/lib/command/measure/AcApMeasurePointCmd.d.ts.map +1 -0
  225. package/lib/command/measure/AcApMeasurePointCmd.js +114 -0
  226. package/lib/command/measure/AcApMeasurePointCmd.js.map +1 -0
  227. package/lib/command/measure/AcApMeasurementGeometry.d.ts +22 -0
  228. package/lib/command/measure/AcApMeasurementGeometry.d.ts.map +1 -0
  229. package/lib/command/measure/AcApMeasurementGeometry.js +127 -0
  230. package/lib/command/measure/AcApMeasurementGeometry.js.map +1 -0
  231. package/lib/command/measure/AcApMeasurementHistory.d.ts +78 -0
  232. package/lib/command/measure/AcApMeasurementHistory.d.ts.map +1 -0
  233. package/lib/command/measure/AcApMeasurementHistory.js +387 -0
  234. package/lib/command/measure/AcApMeasurementHistory.js.map +1 -0
  235. package/lib/command/measure/AcApMeasurementImportExportCmd.d.ts +17 -0
  236. package/lib/command/measure/AcApMeasurementImportExportCmd.d.ts.map +1 -0
  237. package/lib/command/measure/AcApMeasurementImportExportCmd.js +207 -0
  238. package/lib/command/measure/AcApMeasurementImportExportCmd.js.map +1 -0
  239. package/lib/command/measure/AcApMeasurementPlace.d.ts +9 -0
  240. package/lib/command/measure/AcApMeasurementPlace.d.ts.map +1 -0
  241. package/lib/command/measure/AcApMeasurementPlace.js +33 -0
  242. package/lib/command/measure/AcApMeasurementPlace.js.map +1 -0
  243. package/lib/command/measure/AcApMeasurementSidecar.d.ts +19 -0
  244. package/lib/command/measure/AcApMeasurementSidecar.d.ts.map +1 -0
  245. package/lib/command/measure/AcApMeasurementSidecar.js +173 -0
  246. package/lib/command/measure/AcApMeasurementSidecar.js.map +1 -0
  247. package/lib/command/measure/AcApMeasurementStore.d.ts +90 -0
  248. package/lib/command/measure/AcApMeasurementStore.d.ts.map +1 -0
  249. package/lib/command/measure/AcApMeasurementStore.js +364 -0
  250. package/lib/command/measure/AcApMeasurementStore.js.map +1 -0
  251. package/lib/command/measure/AcApMeasurementTypes.d.ts +56 -0
  252. package/lib/command/measure/AcApMeasurementTypes.d.ts.map +1 -0
  253. package/lib/command/measure/AcApMeasurementTypes.js +2 -0
  254. package/lib/command/measure/AcApMeasurementTypes.js.map +1 -0
  255. package/lib/command/measure/AcApMeasurementVisibilityCmd.d.ts +10 -0
  256. package/lib/command/measure/AcApMeasurementVisibilityCmd.d.ts.map +1 -0
  257. package/lib/command/measure/AcApMeasurementVisibilityCmd.js +78 -0
  258. package/lib/command/measure/AcApMeasurementVisibilityCmd.js.map +1 -0
  259. package/lib/command/measure/entity/AcApMeasureAngleEntity.d.ts +68 -0
  260. package/lib/command/measure/entity/AcApMeasureAngleEntity.d.ts.map +1 -0
  261. package/lib/command/measure/entity/AcApMeasureAngleEntity.js +188 -0
  262. package/lib/command/measure/entity/AcApMeasureAngleEntity.js.map +1 -0
  263. package/lib/command/measure/entity/AcApMeasureArcEntity.d.ts +85 -0
  264. package/lib/command/measure/entity/AcApMeasureArcEntity.d.ts.map +1 -0
  265. package/lib/command/measure/entity/AcApMeasureArcEntity.js +159 -0
  266. package/lib/command/measure/entity/AcApMeasureArcEntity.js.map +1 -0
  267. package/lib/command/measure/entity/AcApMeasureAreaEntity.d.ts +60 -0
  268. package/lib/command/measure/entity/AcApMeasureAreaEntity.d.ts.map +1 -0
  269. package/lib/command/measure/entity/AcApMeasureAreaEntity.js +184 -0
  270. package/lib/command/measure/entity/AcApMeasureAreaEntity.js.map +1 -0
  271. package/lib/command/measure/entity/AcApMeasureDistanceEntity.d.ts +60 -0
  272. package/lib/command/measure/entity/AcApMeasureDistanceEntity.d.ts.map +1 -0
  273. package/lib/command/measure/entity/AcApMeasureDistanceEntity.js +166 -0
  274. package/lib/command/measure/entity/AcApMeasureDistanceEntity.js.map +1 -0
  275. package/lib/command/measure/entity/AcApMeasureDrawUtil.d.ts +129 -0
  276. package/lib/command/measure/entity/AcApMeasureDrawUtil.d.ts.map +1 -0
  277. package/lib/command/measure/entity/AcApMeasureDrawUtil.js +257 -0
  278. package/lib/command/measure/entity/AcApMeasureDrawUtil.js.map +1 -0
  279. package/lib/command/measure/entity/AcApMeasureEntity.d.ts +148 -0
  280. package/lib/command/measure/entity/AcApMeasureEntity.d.ts.map +1 -0
  281. package/lib/command/measure/entity/AcApMeasureEntity.js +141 -0
  282. package/lib/command/measure/entity/AcApMeasureEntity.js.map +1 -0
  283. package/lib/command/measure/entity/AcApMeasureEntityFactory.d.ts +15 -0
  284. package/lib/command/measure/entity/AcApMeasureEntityFactory.d.ts.map +1 -0
  285. package/lib/command/measure/entity/AcApMeasureEntityFactory.js +35 -0
  286. package/lib/command/measure/entity/AcApMeasureEntityFactory.js.map +1 -0
  287. package/lib/command/measure/entity/AcApMeasurePointEntity.d.ts +56 -0
  288. package/lib/command/measure/entity/AcApMeasurePointEntity.d.ts.map +1 -0
  289. package/lib/command/measure/entity/AcApMeasurePointEntity.js +125 -0
  290. package/lib/command/measure/entity/AcApMeasurePointEntity.js.map +1 -0
  291. package/lib/command/measure/entity/index.d.ts +12 -0
  292. package/lib/command/measure/entity/index.d.ts.map +1 -0
  293. package/lib/command/measure/entity/index.js +12 -0
  294. package/lib/command/measure/entity/index.js.map +1 -0
  295. package/lib/command/measure/index.d.ts +10 -0
  296. package/lib/command/measure/index.d.ts.map +1 -1
  297. package/lib/command/measure/index.js +10 -0
  298. package/lib/command/measure/index.js.map +1 -1
  299. package/lib/command/modify/AcApCopyCmd.d.ts +1 -1
  300. package/lib/command/modify/AcApCopyCmd.js +2 -2
  301. package/lib/command/modify/AcApCopyCmd.js.map +1 -1
  302. package/lib/command/modify/AcApMoveCmd.js +1 -1
  303. package/lib/command/modify/AcApMoveCmd.js.map +1 -1
  304. package/lib/command/modify/AcApOffsetCmd.d.ts +1 -1
  305. package/lib/command/modify/AcApOffsetCmd.d.ts.map +1 -1
  306. package/lib/command/modify/AcApOffsetCmd.js +5 -10
  307. package/lib/command/modify/AcApOffsetCmd.js.map +1 -1
  308. package/lib/command/modify/AcApRotateCmd.d.ts +1 -1
  309. package/lib/command/modify/AcApRotateCmd.js +2 -2
  310. package/lib/command/modify/AcApRotateCmd.js.map +1 -1
  311. package/lib/command/overlay/AcApHtmlLivePreview.d.ts +121 -0
  312. package/lib/command/overlay/AcApHtmlLivePreview.d.ts.map +1 -0
  313. package/lib/command/overlay/AcApHtmlLivePreview.js +193 -0
  314. package/lib/command/overlay/AcApHtmlLivePreview.js.map +1 -0
  315. package/lib/command/overlay/AcApOverlayDrawUtil.d.ts +63 -0
  316. package/lib/command/overlay/AcApOverlayDrawUtil.d.ts.map +1 -0
  317. package/lib/command/overlay/AcApOverlayDrawUtil.js +115 -0
  318. package/lib/command/overlay/AcApOverlayDrawUtil.js.map +1 -0
  319. package/lib/command/overlay/AcApOverlayEntity.d.ts +93 -0
  320. package/lib/command/overlay/AcApOverlayEntity.d.ts.map +1 -0
  321. package/lib/command/overlay/AcApOverlayEntity.js +65 -0
  322. package/lib/command/overlay/AcApOverlayEntity.js.map +1 -0
  323. package/lib/command/overlay/AcApOverlayGripHost.d.ts +105 -0
  324. package/lib/command/overlay/AcApOverlayGripHost.d.ts.map +1 -0
  325. package/lib/command/overlay/AcApOverlayGripHost.js +207 -0
  326. package/lib/command/overlay/AcApOverlayGripHost.js.map +1 -0
  327. package/lib/command/overlay/AcApOverlaySerializable.d.ts +20 -0
  328. package/lib/command/overlay/AcApOverlaySerializable.d.ts.map +1 -0
  329. package/lib/command/overlay/AcApOverlaySerializable.js +2 -0
  330. package/lib/command/overlay/AcApOverlaySerializable.js.map +1 -0
  331. package/lib/command/overlay/index.d.ts +13 -0
  332. package/lib/command/overlay/index.d.ts.map +1 -0
  333. package/lib/command/overlay/index.js +13 -0
  334. package/lib/command/overlay/index.js.map +1 -0
  335. package/lib/editor/command/AcEdCommand.d.ts.map +1 -1
  336. package/lib/editor/command/AcEdCommand.js +1 -0
  337. package/lib/editor/command/AcEdCommand.js.map +1 -1
  338. package/lib/editor/global/AcEdUiLayout.d.ts +3 -3
  339. package/lib/editor/global/AcEdUiLayout.d.ts.map +1 -1
  340. package/lib/editor/global/AcEdUiLayout.js +3 -3
  341. package/lib/editor/global/AcEdUiLayout.js.map +1 -1
  342. package/lib/editor/global/AcEdUiTheme.d.ts +1 -1
  343. package/lib/editor/global/AcEdUiTheme.d.ts.map +1 -1
  344. package/lib/editor/global/AcEdUiTheme.js +1 -1
  345. package/lib/editor/global/AcEdUiTheme.js.map +1 -1
  346. package/lib/editor/global/eventBus.d.ts +5 -0
  347. package/lib/editor/global/eventBus.d.ts.map +1 -1
  348. package/lib/editor/global/eventBus.js.map +1 -1
  349. package/lib/editor/input/AcEditor.d.ts +6 -0
  350. package/lib/editor/input/AcEditor.d.ts.map +1 -1
  351. package/lib/editor/input/AcEditor.js +10 -0
  352. package/lib/editor/input/AcEditor.js.map +1 -1
  353. package/lib/editor/input/prompt/AcEdPromptBoxOptions.d.ts +7 -0
  354. package/lib/editor/input/prompt/AcEdPromptBoxOptions.d.ts.map +1 -1
  355. package/lib/editor/input/prompt/AcEdPromptBoxOptions.js +17 -0
  356. package/lib/editor/input/prompt/AcEdPromptBoxOptions.js.map +1 -1
  357. package/lib/editor/input/ui/AcEdInputManager.d.ts +9 -0
  358. package/lib/editor/input/ui/AcEdInputManager.d.ts.map +1 -1
  359. package/lib/editor/input/ui/AcEdInputManager.js +17 -0
  360. package/lib/editor/input/ui/AcEdInputManager.js.map +1 -1
  361. package/lib/editor/input/ui/AcEdMTextEditor.js +3 -3
  362. package/lib/editor/input/ui/AcEdMTextEditor.js.map +1 -1
  363. package/lib/i18n/cs/command.d.ts +60 -0
  364. package/lib/i18n/cs/command.d.ts.map +1 -1
  365. package/lib/i18n/cs/command.js +63 -3
  366. package/lib/i18n/cs/command.js.map +1 -1
  367. package/lib/i18n/cs/jig.d.ts +1227 -1
  368. package/lib/i18n/cs/jig.d.ts.map +1 -1
  369. package/lib/i18n/cs/jig.js +1226 -6
  370. package/lib/i18n/cs/jig.js.map +1 -1
  371. package/lib/i18n/cs/main.d.ts +5 -0
  372. package/lib/i18n/cs/main.d.ts.map +1 -1
  373. package/lib/i18n/cs/main.js +5 -0
  374. package/lib/i18n/cs/main.js.map +1 -1
  375. package/lib/i18n/en/command.d.ts +57 -0
  376. package/lib/i18n/en/command.d.ts.map +1 -1
  377. package/lib/i18n/en/command.js +60 -3
  378. package/lib/i18n/en/command.js.map +1 -1
  379. package/lib/i18n/en/jig.d.ts +180 -0
  380. package/lib/i18n/en/jig.d.ts.map +1 -1
  381. package/lib/i18n/en/jig.js +181 -1
  382. package/lib/i18n/en/jig.js.map +1 -1
  383. package/lib/i18n/en/main.d.ts +5 -0
  384. package/lib/i18n/en/main.d.ts.map +1 -1
  385. package/lib/i18n/en/main.js +5 -0
  386. package/lib/i18n/en/main.js.map +1 -1
  387. package/lib/i18n/tr/command.d.ts +57 -0
  388. package/lib/i18n/tr/command.d.ts.map +1 -1
  389. package/lib/i18n/tr/command.js +60 -3
  390. package/lib/i18n/tr/command.js.map +1 -1
  391. package/lib/i18n/tr/jig.d.ts +180 -0
  392. package/lib/i18n/tr/jig.d.ts.map +1 -1
  393. package/lib/i18n/tr/jig.js +181 -1
  394. package/lib/i18n/tr/jig.js.map +1 -1
  395. package/lib/i18n/tr/main.d.ts +7 -0
  396. package/lib/i18n/tr/main.d.ts.map +1 -1
  397. package/lib/i18n/tr/main.js +7 -0
  398. package/lib/i18n/tr/main.js.map +1 -1
  399. package/lib/i18n/zh/command.d.ts +57 -0
  400. package/lib/i18n/zh/command.d.ts.map +1 -1
  401. package/lib/i18n/zh/command.js +60 -3
  402. package/lib/i18n/zh/command.js.map +1 -1
  403. package/lib/i18n/zh/jig.d.ts +180 -0
  404. package/lib/i18n/zh/jig.d.ts.map +1 -1
  405. package/lib/i18n/zh/jig.js +181 -1
  406. package/lib/i18n/zh/jig.js.map +1 -1
  407. package/lib/i18n/zh/main.d.ts +5 -0
  408. package/lib/i18n/zh/main.d.ts.map +1 -1
  409. package/lib/i18n/zh/main.js +5 -0
  410. package/lib/i18n/zh/main.js.map +1 -1
  411. package/lib/plugin/AcApPluginManager.d.ts.map +1 -1
  412. package/lib/plugin/AcApPluginManager.js +2 -1
  413. package/lib/plugin/AcApPluginManager.js.map +1 -1
  414. package/lib/service/AcApEntitySelection.d.ts +0 -3
  415. package/lib/service/AcApEntitySelection.d.ts.map +1 -1
  416. package/lib/service/AcApEntitySelection.js +42 -36
  417. package/lib/service/AcApEntitySelection.js.map +1 -1
  418. package/lib/ui/AcApDrawStyle.d.ts +63 -0
  419. package/lib/ui/AcApDrawStyle.d.ts.map +1 -0
  420. package/lib/ui/AcApDrawStyle.js +149 -0
  421. package/lib/ui/AcApDrawStyle.js.map +1 -0
  422. package/lib/ui/AcApDrawStyleToolbar.d.ts +124 -0
  423. package/lib/ui/AcApDrawStyleToolbar.d.ts.map +1 -0
  424. package/lib/ui/AcApDrawStyleToolbar.js +486 -0
  425. package/lib/ui/AcApDrawStyleToolbar.js.map +1 -0
  426. package/lib/ui/AcUiDialog.d.ts.map +1 -1
  427. package/lib/ui/AcUiDialog.js +2 -2
  428. package/lib/ui/AcUiDialog.js.map +1 -1
  429. package/lib/ui/index.d.ts +2 -0
  430. package/lib/ui/index.d.ts.map +1 -1
  431. package/lib/ui/index.js +2 -0
  432. package/lib/ui/index.js.map +1 -1
  433. package/lib/util/AcApDatabaseEdit.d.ts.map +1 -1
  434. package/lib/util/AcApDatabaseEdit.js +1 -0
  435. package/lib/util/AcApDatabaseEdit.js.map +1 -1
  436. package/lib/util/AcApMeasurementUnits.d.ts +52 -0
  437. package/lib/util/AcApMeasurementUnits.d.ts.map +1 -0
  438. package/lib/util/AcApMeasurementUnits.js +137 -0
  439. package/lib/util/AcApMeasurementUnits.js.map +1 -0
  440. package/lib/util/AcApMeasurementUtil.d.ts +42 -0
  441. package/lib/util/AcApMeasurementUtil.d.ts.map +1 -0
  442. package/lib/util/AcApMeasurementUtil.js +98 -0
  443. package/lib/util/AcApMeasurementUtil.js.map +1 -0
  444. package/lib/util/AcApScreenHitTest.d.ts +35 -0
  445. package/lib/util/AcApScreenHitTest.d.ts.map +1 -0
  446. package/lib/util/AcApScreenHitTest.js +98 -0
  447. package/lib/util/AcApScreenHitTest.js.map +1 -0
  448. package/lib/util/AcApScriptParser.d.ts +13 -0
  449. package/lib/util/AcApScriptParser.d.ts.map +1 -0
  450. package/lib/util/AcApScriptParser.js +55 -0
  451. package/lib/util/AcApScriptParser.js.map +1 -0
  452. package/lib/util/index.d.ts +4 -1
  453. package/lib/util/index.d.ts.map +1 -1
  454. package/lib/util/index.js +4 -1
  455. package/lib/util/index.js.map +1 -1
  456. package/lib/view/AcEdReviewOverlayPick.d.ts +25 -0
  457. package/lib/view/AcEdReviewOverlayPick.d.ts.map +1 -0
  458. package/lib/view/AcEdReviewOverlayPick.js +229 -0
  459. package/lib/view/AcEdReviewOverlayPick.js.map +1 -0
  460. package/lib/view/AcEdViewKeyHandler.d.ts.map +1 -1
  461. package/lib/view/AcEdViewKeyHandler.js +53 -0
  462. package/lib/view/AcEdViewKeyHandler.js.map +1 -1
  463. package/lib/view/AcTrScene.d.ts +15 -1
  464. package/lib/view/AcTrScene.d.ts.map +1 -1
  465. package/lib/view/AcTrScene.js +25 -2
  466. package/lib/view/AcTrScene.js.map +1 -1
  467. package/lib/view/AcTrView2d.d.ts +46 -5
  468. package/lib/view/AcTrView2d.d.ts.map +1 -1
  469. package/lib/view/AcTrView2d.js +179 -74
  470. package/lib/view/AcTrView2d.js.map +1 -1
  471. package/lib/view/index.d.ts +1 -0
  472. package/lib/view/index.d.ts.map +1 -1
  473. package/lib/view/index.js +1 -0
  474. package/lib/view/index.js.map +1 -1
  475. package/package.json +7 -6
  476. package/dist/libredwg-parser-worker.js +0 -7525
  477. package/lib/app/AcApAnnotation.d.ts +0 -47
  478. package/lib/app/AcApAnnotation.d.ts.map +0 -1
  479. package/lib/app/AcApAnnotation.js +0 -135
  480. package/lib/app/AcApAnnotation.js.map +0 -1
  481. package/lib/command/review/AcApBaseRevCmd.d.ts +0 -36
  482. package/lib/command/review/AcApBaseRevCmd.d.ts.map +0 -1
  483. package/lib/command/review/AcApBaseRevCmd.js +0 -68
  484. package/lib/command/review/AcApBaseRevCmd.js.map +0 -1
  485. package/lib/command/review/AcApRevCircleCmd.d.ts +0 -18
  486. package/lib/command/review/AcApRevCircleCmd.d.ts.map +0 -1
  487. package/lib/command/review/AcApRevCircleCmd.js.map +0 -1
  488. package/lib/command/review/AcApRevCloudCmd.d.ts +0 -26
  489. package/lib/command/review/AcApRevCloudCmd.d.ts.map +0 -1
  490. package/lib/command/review/AcApRevCloudCmd.js +0 -240
  491. package/lib/command/review/AcApRevCloudCmd.js.map +0 -1
  492. package/lib/command/review/AcApRevRectCmd.d.ts +0 -18
  493. package/lib/command/review/AcApRevRectCmd.d.ts.map +0 -1
  494. package/lib/command/review/AcApRevRectCmd.js +0 -155
  495. package/lib/command/review/AcApRevRectCmd.js.map +0 -1
  496. package/lib/command/review/AcApRevVisibilityCmd.d.ts +0 -15
  497. package/lib/command/review/AcApRevVisibilityCmd.d.ts.map +0 -1
  498. package/lib/command/review/AcApRevVisibilityCmd.js.map +0 -1
  499. package/lib/command/review/AcApSketchCmd.d.ts +0 -32
  500. package/lib/command/review/AcApSketchCmd.d.ts.map +0 -1
  501. package/lib/command/review/AcApSketchCmd.js +0 -175
  502. package/lib/command/review/AcApSketchCmd.js.map +0 -1
  503. package/lib/command/review/index.d.ts +0 -7
  504. package/lib/command/review/index.d.ts.map +0 -1
  505. package/lib/command/review/index.js +0 -7
  506. package/lib/command/review/index.js.map +0 -1
  507. package/lib/util/AcApMeasurementElementGenerator.d.ts +0 -36
  508. package/lib/util/AcApMeasurementElementGenerator.d.ts.map +0 -1
  509. package/lib/util/AcApMeasurementElementGenerator.js +0 -92
  510. package/lib/util/AcApMeasurementElementGenerator.js.map +0 -1
@@ -0,0 +1,184 @@
1
+ var __extends = (this && this.__extends) || (function () {
2
+ var extendStatics = function (d, b) {
3
+ extendStatics = Object.setPrototypeOf ||
4
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
+ return extendStatics(d, b);
7
+ };
8
+ return function (d, b) {
9
+ if (typeof b !== "function" && b !== null)
10
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
+ extendStatics(d, b);
12
+ function __() { this.constructor = d; }
13
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
+ };
15
+ })();
16
+ var __read = (this && this.__read) || function (o, n) {
17
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
18
+ if (!m) return o;
19
+ var i = m.call(o), r, ar = [], e;
20
+ try {
21
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
22
+ }
23
+ catch (error) { e = { error: error }; }
24
+ finally {
25
+ try {
26
+ if (r && !r.done && (m = i["return"])) m.call(i);
27
+ }
28
+ finally { if (e) throw e.error; }
29
+ }
30
+ return ar;
31
+ };
32
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
33
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
34
+ if (ar || !(i in from)) {
35
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
36
+ ar[i] = from[i];
37
+ }
38
+ }
39
+ return to.concat(ar || Array.prototype.slice.call(from));
40
+ };
41
+ import { AcTrHtmlBadge, AcTrHtmlCanvasOverlay, AcTrHtmlDot } from '@mlightcad/three-renderer';
42
+ import { acapMeasurementCanvasLineWidth, formatMeasurementLength } from '../../../util';
43
+ import { serializeMeasurementStyle } from '../AcApMeasurementSidecar';
44
+ import { getMeasurementStyle, MEASUREMENT_LAYER } from '../AcApMeasurementStore';
45
+ import { drawMeasureAreaOnCanvas, measureCentroid, measureShoelaceArea } from './AcApMeasureDrawUtil';
46
+ import { AcApMeasureEntity } from './AcApMeasureEntity';
47
+ /**
48
+ * Area measurement overlay entity.
49
+ *
50
+ * Renders a filled canvas polygon, HTML dots at each vertex, and an area
51
+ * badge at the vertex centroid. Requires at least three points for a full
52
+ * draw; fewer points yield an empty group with empty extras.
53
+ */
54
+ var AcApMeasureAreaEntity = /** @class */ (function (_super) {
55
+ __extends(AcApMeasureAreaEntity, _super);
56
+ /**
57
+ * Creates an area measure entity from a polygon vertex list.
58
+ *
59
+ * @param points - Polygon vertices in world coordinates
60
+ * @param options - Shared id, layout, and style options
61
+ */
62
+ function AcApMeasureAreaEntity(points, options) {
63
+ var _a;
64
+ var _this = _super.call(this, (_a = options.id) !== null && _a !== void 0 ? _a : "area-".concat(Date.now()), options.layoutId, options.style) || this;
65
+ _this.points = points;
66
+ return _this;
67
+ }
68
+ /**
69
+ * Factory that builds an area entity from vertices and style.
70
+ *
71
+ * @param points - Polygon vertices in world coordinates
72
+ * @param style - Measurement visual style
73
+ * @param options - Optional id and layout overrides
74
+ * @returns New {@link AcApMeasureAreaEntity}
75
+ */
76
+ AcApMeasureAreaEntity.create = function (points, style, options) {
77
+ return new AcApMeasureAreaEntity(points, {
78
+ style: style,
79
+ id: options === null || options === void 0 ? void 0 : options.id,
80
+ layoutId: options === null || options === void 0 ? void 0 : options.layoutId
81
+ });
82
+ };
83
+ /**
84
+ * Primary anchor for the measurement (vertex centroid).
85
+ *
86
+ * @returns Centroid with `z: 0`, or `undefined` when there are no points
87
+ */
88
+ AcApMeasureAreaEntity.prototype.primaryPoint = function () {
89
+ if (this.points.length === 0)
90
+ return undefined;
91
+ var c = measureCentroid(this.points);
92
+ return { x: c.x, y: c.y, z: 0 };
93
+ };
94
+ /**
95
+ * Serializes this area measurement to a store/sidecar record.
96
+ *
97
+ * @param layoutId - Optional layout BTR id written onto the record
98
+ * @returns Record with `type: 'area'` and polygon point geometry
99
+ */
100
+ AcApMeasureAreaEntity.prototype.toRecord = function (layoutId) {
101
+ return {
102
+ id: this.entityId,
103
+ type: 'area',
104
+ layoutId: layoutId,
105
+ style: serializeMeasurementStyle(this.style),
106
+ geometry: {
107
+ type: 'area',
108
+ points: this.points.map(function (p) { return ({ x: p.x, y: p.y }); })
109
+ }
110
+ };
111
+ };
112
+ /**
113
+ * Draws the filled polygon canvas, vertex dots, area badge, and extras.
114
+ *
115
+ * When fewer than three points are present, returns an empty group and
116
+ * empty extras without registering view listeners.
117
+ *
118
+ * @param view - Active 2D view for HTML overlays
119
+ * @param db - Database used to format the area label
120
+ * @returns World-draw result including redraw/dispose hooks when valid
121
+ */
122
+ AcApMeasureAreaEntity.prototype.subWorldDrawWithDb = function (view, db) {
123
+ var _a;
124
+ var _this = this;
125
+ if (this.points.length < 3) {
126
+ var group_1 = this.createGroup(view);
127
+ return {
128
+ group: group_1,
129
+ entityIds: [],
130
+ dispose: function () { return undefined; },
131
+ extras: {}
132
+ };
133
+ }
134
+ var color = this.style.color;
135
+ var area = measureShoelaceArea(this.points);
136
+ var layoutId = this.resolveLayoutId(view);
137
+ var mid = measureCentroid(this.points);
138
+ var persistOverlay = new AcTrHtmlCanvasOverlay({
139
+ id: "area-canvas-".concat(this.entityId),
140
+ container: view.container,
141
+ layer: MEASUREMENT_LAYER,
142
+ layoutId: layoutId
143
+ });
144
+ var paintArea = function (paintStyle) {
145
+ if (paintStyle === void 0) { paintStyle = _this.style; }
146
+ return drawMeasureAreaOnCanvas(persistOverlay.canvas, view, _this.points, paintStyle.color, acapMeasurementCanvasLineWidth(paintStyle.lineWeight));
147
+ };
148
+ paintArea();
149
+ var redrawPersist = function () { var _a; return paintArea((_a = getMeasurementStyle(_this.entityId)) !== null && _a !== void 0 ? _a : _this.style); };
150
+ view.events.viewChanged.addEventListener(redrawPersist);
151
+ var group = (_a = this.createGroup(view))
152
+ .add.apply(_a, __spreadArray([new AcTrHtmlBadge({
153
+ id: "".concat(this.entityId, "-badge"),
154
+ color: color,
155
+ text: "".concat(formatMeasurementLength(db, area), "\u00B2"),
156
+ worldPosition: mid,
157
+ layer: MEASUREMENT_LAYER,
158
+ fontSize: this.style.fontSize
159
+ })], __read(this.points.map(function (p, i) {
160
+ return new AcTrHtmlDot({
161
+ id: "".concat(_this.entityId, "-dot").concat(i),
162
+ color: color,
163
+ worldPosition: p,
164
+ layer: MEASUREMENT_LAYER
165
+ });
166
+ })), false)).addCanvas(persistOverlay);
167
+ return {
168
+ group: group,
169
+ entityIds: [],
170
+ dispose: function () {
171
+ view.events.viewChanged.removeEventListener(redrawPersist);
172
+ },
173
+ extras: {
174
+ style: this.style,
175
+ value: { kind: 'area', value: area },
176
+ snapshot: this.toRecord(layoutId),
177
+ redraw: paintArea
178
+ }
179
+ };
180
+ };
181
+ return AcApMeasureAreaEntity;
182
+ }(AcApMeasureEntity));
183
+ export { AcApMeasureAreaEntity };
184
+ //# sourceMappingURL=AcApMeasureAreaEntity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApMeasureAreaEntity.js","sourceRoot":"","sources":["../../../../src/command/measure/entity/AcApMeasureAreaEntity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ import { type AcDbDatabase, type AcGePoint3dLike } from '@mlightcad/data-model';
2
+ import { type AcApMeasurementStyle } from '../../../util';
3
+ import type { AcTrView2d } from '../../../view';
4
+ import type { AcApMeasurementRecord } from '../AcApMeasurementTypes';
5
+ import { AcApMeasureEntity, type AcApMeasureEntityOptions, type AcApMeasureWorldDrawResult } from './AcApMeasureEntity';
6
+ /**
7
+ * Distance measurement overlay entity.
8
+ *
9
+ * Renders an HTML canvas segment between two endpoints, HTML dots at each end,
10
+ * and a length badge at the midpoint. No CAD transient entities.
11
+ */
12
+ export declare class AcApMeasureDistanceEntity extends AcApMeasureEntity {
13
+ /** First endpoint of the measured segment in world coordinates. */
14
+ private readonly p1;
15
+ /** Second endpoint of the measured segment in world coordinates. */
16
+ private readonly p2;
17
+ /**
18
+ * Creates a distance measure entity between two points.
19
+ *
20
+ * @param p1 - First endpoint
21
+ * @param p2 - Second endpoint
22
+ * @param options - Shared id, layout, and style options
23
+ */
24
+ constructor(p1: AcGePoint3dLike, p2: AcGePoint3dLike, options: AcApMeasureEntityOptions);
25
+ /**
26
+ * Factory that builds a distance entity from endpoints and style.
27
+ *
28
+ * @param p1 - First endpoint
29
+ * @param p2 - Second endpoint
30
+ * @param style - Measurement visual style
31
+ * @param options - Optional id and layout overrides
32
+ * @returns New {@link AcApMeasureDistanceEntity}
33
+ */
34
+ static create(p1: AcGePoint3dLike, p2: AcGePoint3dLike, style: AcApMeasurementStyle, options?: {
35
+ id?: string;
36
+ layoutId?: string;
37
+ }): AcApMeasureDistanceEntity;
38
+ /**
39
+ * Midpoint of the measured segment (badge / primary anchor).
40
+ *
41
+ * @returns World point at the average of {@link p1} and {@link p2}, `z: 0`
42
+ */
43
+ primaryPoint(): AcGePoint3dLike;
44
+ /**
45
+ * Serializes this distance measurement to a store/sidecar record.
46
+ *
47
+ * @param layoutId - Optional layout BTR id written onto the record
48
+ * @returns Record with `type: 'distance'` and start/end geometry
49
+ */
50
+ toRecord(layoutId?: string): AcApMeasurementRecord;
51
+ /**
52
+ * Draws the distance canvas stroke, endpoint dots, length badge, and extras.
53
+ *
54
+ * @param view - Active 2D view for HTML overlays
55
+ * @param db - Database used to format the length label
56
+ * @returns World-draw result with dispose for the viewChanged listener
57
+ */
58
+ protected subWorldDrawWithDb(view: AcTrView2d, db: AcDbDatabase): AcApMeasureWorldDrawResult;
59
+ }
60
+ //# sourceMappingURL=AcApMeasureDistanceEntity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApMeasureDistanceEntity.d.ts","sourceRoot":"","sources":["../../../../src/command/measure/entity/AcApMeasureDistanceEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,eAAe,EACrB,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAEL,KAAK,oBAAoB,EAE1B,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAM/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAEpE,OAAO,EACL,iBAAiB,EACjB,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAChC,MAAM,qBAAqB,CAAA;AAe5B;;;;;GAKG;AACH,qBAAa,yBAA0B,SAAQ,iBAAiB;IAC9D,mEAAmE;IACnE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAiB;IACpC,oEAAoE;IACpE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAiB;IAEpC;;;;;;OAMG;gBAED,EAAE,EAAE,eAAe,EACnB,EAAE,EAAE,eAAe,EACnB,OAAO,EAAE,wBAAwB;IAWnC;;;;;;;;OAQG;IACH,MAAM,CAAC,MAAM,CACX,EAAE,EAAE,eAAe,EACnB,EAAE,EAAE,eAAe,EACnB,KAAK,EAAE,oBAAoB,EAC3B,OAAO,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3C,yBAAyB;IAQ5B;;;;OAIG;IACM,YAAY,IAAI,eAAe;IAQxC;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,qBAAqB;IAclD;;;;;;OAMG;IACH,SAAS,CAAC,kBAAkB,CAC1B,IAAI,EAAE,UAAU,EAChB,EAAE,EAAE,YAAY,GACf,0BAA0B;CAiE9B"}
@@ -0,0 +1,166 @@
1
+ var __extends = (this && this.__extends) || (function () {
2
+ var extendStatics = function (d, b) {
3
+ extendStatics = Object.setPrototypeOf ||
4
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
+ return extendStatics(d, b);
7
+ };
8
+ return function (d, b) {
9
+ if (typeof b !== "function" && b !== null)
10
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
+ extendStatics(d, b);
12
+ function __() { this.constructor = d; }
13
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
+ };
15
+ })();
16
+ import { AcTrHtmlBadge, AcTrHtmlCanvasOverlay, AcTrHtmlDot } from '@mlightcad/three-renderer';
17
+ import { acapMeasurementCanvasLineWidth, formatMeasurementLength } from '../../../util';
18
+ import { serializeMeasurementStyle } from '../AcApMeasurementSidecar';
19
+ import { getMeasurementStyle, MEASUREMENT_LAYER } from '../AcApMeasurementStore';
20
+ import { drawMeasureSegmentOnCanvas } from './AcApMeasureDrawUtil';
21
+ import { AcApMeasureEntity } from './AcApMeasureEntity';
22
+ /**
23
+ * Euclidean distance between two points in the XY plane (Z ignored).
24
+ *
25
+ * @param p1 - First endpoint
26
+ * @param p2 - Second endpoint
27
+ * @returns Distance `√((Δx)² + (Δy)²)`
28
+ */
29
+ function calcDist(p1, p2) {
30
+ var dx = p2.x - p1.x;
31
+ var dy = p2.y - p1.y;
32
+ return Math.sqrt(dx * dx + dy * dy);
33
+ }
34
+ /**
35
+ * Distance measurement overlay entity.
36
+ *
37
+ * Renders an HTML canvas segment between two endpoints, HTML dots at each end,
38
+ * and a length badge at the midpoint. No CAD transient entities.
39
+ */
40
+ var AcApMeasureDistanceEntity = /** @class */ (function (_super) {
41
+ __extends(AcApMeasureDistanceEntity, _super);
42
+ /**
43
+ * Creates a distance measure entity between two points.
44
+ *
45
+ * @param p1 - First endpoint
46
+ * @param p2 - Second endpoint
47
+ * @param options - Shared id, layout, and style options
48
+ */
49
+ function AcApMeasureDistanceEntity(p1, p2, options) {
50
+ var _a;
51
+ var _this = _super.call(this, (_a = options.id) !== null && _a !== void 0 ? _a : "dist-".concat(Date.now()), options.layoutId, options.style) || this;
52
+ _this.p1 = p1;
53
+ _this.p2 = p2;
54
+ return _this;
55
+ }
56
+ /**
57
+ * Factory that builds a distance entity from endpoints and style.
58
+ *
59
+ * @param p1 - First endpoint
60
+ * @param p2 - Second endpoint
61
+ * @param style - Measurement visual style
62
+ * @param options - Optional id and layout overrides
63
+ * @returns New {@link AcApMeasureDistanceEntity}
64
+ */
65
+ AcApMeasureDistanceEntity.create = function (p1, p2, style, options) {
66
+ return new AcApMeasureDistanceEntity(p1, p2, {
67
+ style: style,
68
+ id: options === null || options === void 0 ? void 0 : options.id,
69
+ layoutId: options === null || options === void 0 ? void 0 : options.layoutId
70
+ });
71
+ };
72
+ /**
73
+ * Midpoint of the measured segment (badge / primary anchor).
74
+ *
75
+ * @returns World point at the average of {@link p1} and {@link p2}, `z: 0`
76
+ */
77
+ AcApMeasureDistanceEntity.prototype.primaryPoint = function () {
78
+ return {
79
+ x: (this.p1.x + this.p2.x) / 2,
80
+ y: (this.p1.y + this.p2.y) / 2,
81
+ z: 0
82
+ };
83
+ };
84
+ /**
85
+ * Serializes this distance measurement to a store/sidecar record.
86
+ *
87
+ * @param layoutId - Optional layout BTR id written onto the record
88
+ * @returns Record with `type: 'distance'` and start/end geometry
89
+ */
90
+ AcApMeasureDistanceEntity.prototype.toRecord = function (layoutId) {
91
+ return {
92
+ id: this.entityId,
93
+ type: 'distance',
94
+ layoutId: layoutId,
95
+ style: serializeMeasurementStyle(this.style),
96
+ geometry: {
97
+ type: 'distance',
98
+ start: { x: this.p1.x, y: this.p1.y },
99
+ end: { x: this.p2.x, y: this.p2.y }
100
+ }
101
+ };
102
+ };
103
+ /**
104
+ * Draws the distance canvas stroke, endpoint dots, length badge, and extras.
105
+ *
106
+ * @param view - Active 2D view for HTML overlays
107
+ * @param db - Database used to format the length label
108
+ * @returns World-draw result with dispose for the viewChanged listener
109
+ */
110
+ AcApMeasureDistanceEntity.prototype.subWorldDrawWithDb = function (view, db) {
111
+ var _this = this;
112
+ var dist = calcDist(this.p1, this.p2);
113
+ var color = this.style.color;
114
+ var layoutId = this.resolveLayoutId(view);
115
+ var mid = this.primaryPoint();
116
+ var persistOverlay = new AcTrHtmlCanvasOverlay({
117
+ id: "dist-canvas-".concat(this.entityId),
118
+ container: view.container,
119
+ layer: MEASUREMENT_LAYER,
120
+ layoutId: layoutId
121
+ });
122
+ var paintSegment = function (paintStyle) {
123
+ if (paintStyle === void 0) { paintStyle = _this.style; }
124
+ return drawMeasureSegmentOnCanvas(persistOverlay.canvas, view, _this.p1, _this.p2, paintStyle.color, acapMeasurementCanvasLineWidth(paintStyle.lineWeight));
125
+ };
126
+ paintSegment();
127
+ var redrawPersist = function () { var _a; return paintSegment((_a = getMeasurementStyle(_this.entityId)) !== null && _a !== void 0 ? _a : _this.style); };
128
+ view.events.viewChanged.addEventListener(redrawPersist);
129
+ var group = this.createGroup(view)
130
+ .add(new AcTrHtmlDot({
131
+ id: "".concat(this.entityId, "-dot1"),
132
+ color: color,
133
+ worldPosition: this.p1,
134
+ layer: MEASUREMENT_LAYER
135
+ }), new AcTrHtmlDot({
136
+ id: "".concat(this.entityId, "-dot2"),
137
+ color: color,
138
+ worldPosition: this.p2,
139
+ layer: MEASUREMENT_LAYER
140
+ }), new AcTrHtmlBadge({
141
+ id: "".concat(this.entityId, "-badge"),
142
+ color: color,
143
+ text: formatMeasurementLength(db, dist),
144
+ worldPosition: mid,
145
+ layer: MEASUREMENT_LAYER,
146
+ fontSize: this.style.fontSize
147
+ }))
148
+ .addCanvas(persistOverlay);
149
+ return {
150
+ group: group,
151
+ entityIds: [],
152
+ dispose: function () {
153
+ view.events.viewChanged.removeEventListener(redrawPersist);
154
+ },
155
+ extras: {
156
+ style: this.style,
157
+ value: { kind: 'length', value: dist },
158
+ snapshot: this.toRecord(layoutId),
159
+ redraw: paintSegment
160
+ }
161
+ };
162
+ };
163
+ return AcApMeasureDistanceEntity;
164
+ }(AcApMeasureEntity));
165
+ export { AcApMeasureDistanceEntity };
166
+ //# sourceMappingURL=AcApMeasureDistanceEntity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApMeasureDistanceEntity.js","sourceRoot":"","sources":["../../../../src/command/measure/entity/AcApMeasureDistanceEntity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,129 @@
1
+ import type { AcCmColor } from '@mlightcad/data-model';
2
+ import type { AcEdBaseView } from '../../../editor';
3
+ /**
4
+ * Two-dimensional point in world or screen space (XY only).
5
+ */
6
+ type Point2 = {
7
+ /** X coordinate. */
8
+ x: number;
9
+ /** Y coordinate. */
10
+ y: number;
11
+ };
12
+ /**
13
+ * Strokes a single world-space segment onto a measure overlay canvas.
14
+ *
15
+ * @param canvas - Overlay canvas to paint
16
+ * @param view - View for world-to-screen conversion and canvas sizing
17
+ * @param p1 - Segment start in world coordinates
18
+ * @param p2 - Segment end in world coordinates
19
+ * @param color - Stroke color
20
+ * @param lineWidth - Stroke width in CSS pixels (default `2`)
21
+ */
22
+ export declare function drawMeasureSegmentOnCanvas(canvas: HTMLCanvasElement, view: AcEdBaseView, p1: Point2, p2: Point2, color: AcCmColor, lineWidth?: number): void;
23
+ /**
24
+ * Draws angle arm lines plus the measurement arc on a measure overlay canvas.
25
+ *
26
+ * Converts `vertex`, `arm1`, and `arm2` to screen space, strokes both arms,
27
+ * then draws the shorter angular sector with a radius derived from the shorter
28
+ * arm length (with a minimum).
29
+ *
30
+ * @param canvas - Overlay canvas to paint
31
+ * @param view - View for world-to-screen conversion and canvas sizing
32
+ * @param vertex - Angle vertex in world coordinates
33
+ * @param arm1 - First arm endpoint in world coordinates
34
+ * @param arm2 - Second arm endpoint in world coordinates
35
+ * @param color - Stroke color
36
+ * @param lineWidth - Stroke width in CSS pixels (default `2`)
37
+ */
38
+ export declare function drawMeasureAngleArcOnCanvas(canvas: HTMLCanvasElement, view: AcEdBaseView, vertex: Point2, arm1: Point2, arm2: Point2, color: AcCmColor, lineWidth?: number): void;
39
+ /**
40
+ * Draws a filled polygon for an area measurement on a measure overlay canvas.
41
+ *
42
+ * Requires at least three points. Fills with a translucent tint of `color` and
43
+ * strokes the closed outline.
44
+ *
45
+ * @param canvas - Overlay canvas to paint
46
+ * @param view - View for world-to-screen conversion and canvas sizing
47
+ * @param points - Polygon vertices in world coordinates (closed implicitly)
48
+ * @param color - Fill and stroke color
49
+ * @param lineWidth - Stroke width in CSS pixels (default `2.5`)
50
+ */
51
+ export declare function drawMeasureAreaOnCanvas(canvas: HTMLCanvasElement, view: AcEdBaseView, points: Point2[], color: AcCmColor, lineWidth?: number): void;
52
+ /**
53
+ * Circle geometry in world XY used by arc-length measurements.
54
+ */
55
+ export interface AcApMeasureCircleGeom {
56
+ /** Circle center X in world coordinates. */
57
+ cx: number;
58
+ /** Circle center Y in world coordinates. */
59
+ cy: number;
60
+ /** Circle radius in world units. */
61
+ r: number;
62
+ }
63
+ /**
64
+ * Strokes the shorter arc between two points on a circle onto a measure canvas.
65
+ *
66
+ * Screen radius is taken from the distance of `p1` to the projected center so
67
+ * the stroke tracks the circle under the current view transform.
68
+ *
69
+ * @param canvas - Overlay canvas to paint
70
+ * @param view - View for world-to-screen conversion and canvas sizing
71
+ * @param g - Circle center and radius in world coordinates
72
+ * @param p1 - Arc start point in world coordinates (on or near the circle)
73
+ * @param p2 - Arc end point in world coordinates (on or near the circle)
74
+ * @param color - Stroke color
75
+ * @param lineWidth - Stroke width in CSS pixels (default `4`)
76
+ */
77
+ export declare function drawMeasureArcOnCanvas(canvas: HTMLCanvasElement, view: AcEdBaseView, g: AcApMeasureCircleGeom, p1: Point2, p2: Point2, color: AcCmColor, lineWidth?: number): void;
78
+ /**
79
+ * Computes the shorter arc length between two points on a circle.
80
+ *
81
+ * @param p1 - First point in world coordinates
82
+ * @param p2 - Second point in world coordinates
83
+ * @param g - Circle center and radius
84
+ * @returns Arc length along the shorter sector (`min(span, 2π − span) × r`)
85
+ */
86
+ export declare function measureShortArcLength(p1: Point2, p2: Point2, g: AcApMeasureCircleGeom): number;
87
+ /**
88
+ * Finds the midpoint of the shorter arc between two points on a circle.
89
+ *
90
+ * @param p1 - Arc start in world coordinates
91
+ * @param p2 - Arc end in world coordinates
92
+ * @param g - Circle center and radius
93
+ * @returns Midpoint on the shorter arc with `z: 0`
94
+ */
95
+ export declare function measureShortArcMid(p1: Point2, p2: Point2, g: AcApMeasureCircleGeom): {
96
+ x: number;
97
+ y: number;
98
+ z: number;
99
+ };
100
+ /**
101
+ * Computes polygon area using the shoelace formula.
102
+ *
103
+ * @param pts - Polygon vertices in world coordinates (assumed closed)
104
+ * @returns Absolute area (half the absolute shoelace sum)
105
+ */
106
+ export declare function measureShoelaceArea(pts: Point2[]): number;
107
+ /**
108
+ * Computes the arithmetic mean of polygon vertices (simple centroid).
109
+ *
110
+ * @param pts - Vertices in world coordinates (must be non-empty)
111
+ * @returns Average `{ x, y }` of the points
112
+ */
113
+ export declare function measureCentroid(pts: Point2[]): {
114
+ x: number;
115
+ y: number;
116
+ };
117
+ /**
118
+ * Computes the smaller angle at `vertex` between `arm1` and `arm2`, in degrees.
119
+ *
120
+ * Uses atan2 of cross/dot products so the result is in `[0, 180]`.
121
+ *
122
+ * @param vertex - Angle vertex in world coordinates
123
+ * @param arm1 - First arm endpoint in world coordinates
124
+ * @param arm2 - Second arm endpoint in world coordinates
125
+ * @returns Interior (smaller) angle in degrees
126
+ */
127
+ export declare function measureAngleDeg(vertex: Point2, arm1: Point2, arm2: Point2): number;
128
+ export {};
129
+ //# sourceMappingURL=AcApMeasureDrawUtil.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApMeasureDrawUtil.d.ts","sourceRoot":"","sources":["../../../../src/command/measure/entity/AcApMeasureDrawUtil.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAGnD;;GAEG;AACH,KAAK,MAAM,GAAG;IACZ,oBAAoB;IACpB,CAAC,EAAE,MAAM,CAAA;IACT,oBAAoB;IACpB,CAAC,EAAE,MAAM,CAAA;CACV,CAAA;AAkDD;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,iBAAiB,EACzB,IAAI,EAAE,YAAY,EAClB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,SAAS,EAChB,SAAS,SAAI,GACZ,IAAI,CAaN;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,iBAAiB,EACzB,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,SAAS,EAChB,SAAS,SAAI,GACZ,IAAI,CA8BN;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,iBAAiB,EACzB,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,EAAE,SAAS,EAChB,SAAS,SAAM,GACd,IAAI,CAmBN;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,4CAA4C;IAC5C,EAAE,EAAE,MAAM,CAAA;IACV,4CAA4C;IAC5C,EAAE,EAAE,MAAM,CAAA;IACV,oCAAoC;IACpC,CAAC,EAAE,MAAM,CAAA;CACV;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,iBAAiB,EACzB,IAAI,EAAE,YAAY,EAClB,CAAC,EAAE,qBAAqB,EACxB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,SAAS,EAChB,SAAS,SAAI,GACZ,IAAI,CAqBN;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,CAAC,EAAE,qBAAqB,GACvB,MAAM,CAKR;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,CAAC,EAAE,qBAAqB,GACvB;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAOrC;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,CASzD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAIvE;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,MAAM,CASR"}