@mlightcad/cad-simple-viewer 1.4.11 → 1.4.13

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 (321) hide show
  1. package/dist/index.js +20139 -12511
  2. package/dist/index.umd.cjs +102 -94
  3. package/dist/libredwg-parser-worker.js +6958 -12596
  4. package/lib/app/AcApAnnotation.d.ts.map +1 -1
  5. package/lib/app/AcApAnnotation.js +3 -3
  6. package/lib/app/AcApAnnotation.js.map +1 -1
  7. package/lib/app/AcApDocManager.d.ts +61 -4
  8. package/lib/app/AcApDocManager.d.ts.map +1 -1
  9. package/lib/app/AcApDocManager.js +162 -29
  10. package/lib/app/AcApDocManager.js.map +1 -1
  11. package/lib/app/AcApDocument.d.ts +6 -0
  12. package/lib/app/AcApDocument.d.ts.map +1 -1
  13. package/lib/app/AcApDocument.js +12 -0
  14. package/lib/app/AcApDocument.js.map +1 -1
  15. package/lib/app/AcApProgress.d.ts.map +1 -1
  16. package/lib/app/AcApProgress.js +3 -3
  17. package/lib/app/AcApProgress.js.map +1 -1
  18. package/lib/app/AcApSettingManager.d.ts.map +1 -1
  19. package/lib/app/AcApSettingManager.js +3 -1
  20. package/lib/app/AcApSettingManager.js.map +1 -1
  21. package/lib/app/AcDbOpenDatabaseOptions.d.ts.map +1 -1
  22. package/lib/command/AcApArcCmd.d.ts +140 -0
  23. package/lib/command/AcApArcCmd.d.ts.map +1 -0
  24. package/lib/command/AcApArcCmd.js +1009 -0
  25. package/lib/command/AcApArcCmd.js.map +1 -0
  26. package/lib/command/AcApCircleCmd.d.ts +59 -0
  27. package/lib/command/AcApCircleCmd.d.ts.map +1 -1
  28. package/lib/command/AcApCircleCmd.js +490 -13
  29. package/lib/command/AcApCircleCmd.js.map +1 -1
  30. package/lib/command/AcApClearMeasurementsCmd.d.ts +1 -1
  31. package/lib/command/AcApClearMeasurementsCmd.d.ts.map +1 -1
  32. package/lib/command/AcApClearMeasurementsCmd.js +2 -4
  33. package/lib/command/AcApClearMeasurementsCmd.js.map +1 -1
  34. package/lib/command/AcApConvertToDxfCmd.d.ts +9 -0
  35. package/lib/command/AcApConvertToDxfCmd.d.ts.map +1 -0
  36. package/lib/command/{AcApZoomToBoxCmd.js → AcApConvertToDxfCmd.js} +14 -40
  37. package/lib/command/AcApConvertToDxfCmd.js.map +1 -0
  38. package/lib/command/AcApConvertToPngCmd.d.ts +35 -0
  39. package/lib/command/AcApConvertToPngCmd.d.ts.map +1 -0
  40. package/lib/command/AcApConvertToPngCmd.js +127 -0
  41. package/lib/command/AcApConvertToPngCmd.js.map +1 -0
  42. package/lib/command/AcApDimLinearCmd.d.ts.map +1 -1
  43. package/lib/command/AcApDimLinearCmd.js +14 -5
  44. package/lib/command/AcApDimLinearCmd.js.map +1 -1
  45. package/lib/command/AcApDxfConvertor.d.ts +12 -0
  46. package/lib/command/AcApDxfConvertor.d.ts.map +1 -0
  47. package/lib/command/AcApDxfConvertor.js +37 -0
  48. package/lib/command/AcApDxfConvertor.js.map +1 -0
  49. package/lib/command/AcApEllipseCmd.d.ts +87 -0
  50. package/lib/command/AcApEllipseCmd.d.ts.map +1 -0
  51. package/lib/command/AcApEllipseCmd.js +583 -0
  52. package/lib/command/AcApEllipseCmd.js.map +1 -0
  53. package/lib/command/AcApEraseCmd.d.ts.map +1 -1
  54. package/lib/command/AcApEraseCmd.js +10 -6
  55. package/lib/command/AcApEraseCmd.js.map +1 -1
  56. package/lib/command/AcApHatchCmd.d.ts +210 -0
  57. package/lib/command/AcApHatchCmd.d.ts.map +1 -0
  58. package/lib/command/AcApHatchCmd.js +808 -0
  59. package/lib/command/AcApHatchCmd.js.map +1 -0
  60. package/lib/command/AcApLayerCmd.d.ts +217 -0
  61. package/lib/command/AcApLayerCmd.d.ts.map +1 -0
  62. package/lib/command/AcApLayerCmd.js +768 -0
  63. package/lib/command/AcApLayerCmd.js.map +1 -0
  64. package/lib/command/AcApLineCmd.d.ts +36 -1
  65. package/lib/command/AcApLineCmd.d.ts.map +1 -1
  66. package/lib/command/AcApLineCmd.js +159 -16
  67. package/lib/command/AcApLineCmd.js.map +1 -1
  68. package/lib/command/AcApMTextCmd.d.ts.map +1 -1
  69. package/lib/command/AcApMTextCmd.js +6 -3
  70. package/lib/command/AcApMTextCmd.js.map +1 -1
  71. package/lib/command/AcApMeasureAngleCmd.d.ts.map +1 -1
  72. package/lib/command/AcApMeasureAngleCmd.js +134 -123
  73. package/lib/command/AcApMeasureAngleCmd.js.map +1 -1
  74. package/lib/command/AcApMeasureArcCmd.d.ts.map +1 -1
  75. package/lib/command/AcApMeasureArcCmd.js +165 -147
  76. package/lib/command/AcApMeasureArcCmd.js.map +1 -1
  77. package/lib/command/AcApMeasureAreaCmd.d.ts.map +1 -1
  78. package/lib/command/AcApMeasureAreaCmd.js +186 -175
  79. package/lib/command/AcApMeasureAreaCmd.js.map +1 -1
  80. package/lib/command/AcApMeasureDistanceCmd.d.ts.map +1 -1
  81. package/lib/command/AcApMeasureDistanceCmd.js +51 -39
  82. package/lib/command/AcApMeasureDistanceCmd.js.map +1 -1
  83. package/lib/command/AcApMoveCmd.d.ts +16 -0
  84. package/lib/command/AcApMoveCmd.d.ts.map +1 -0
  85. package/lib/command/AcApMoveCmd.js +278 -0
  86. package/lib/command/AcApMoveCmd.js.map +1 -0
  87. package/lib/command/AcApPngConvertor.d.ts +95 -0
  88. package/lib/command/AcApPngConvertor.d.ts.map +1 -0
  89. package/lib/command/AcApPngConvertor.js +205 -0
  90. package/lib/command/AcApPngConvertor.js.map +1 -0
  91. package/lib/command/AcApPolygonCmd.d.ts +69 -0
  92. package/lib/command/AcApPolygonCmd.d.ts.map +1 -0
  93. package/lib/command/AcApPolygonCmd.js +422 -0
  94. package/lib/command/AcApPolygonCmd.js.map +1 -0
  95. package/lib/command/AcApPolylineCmd.d.ts +71 -0
  96. package/lib/command/AcApPolylineCmd.d.ts.map +1 -0
  97. package/lib/command/AcApPolylineCmd.js +569 -0
  98. package/lib/command/AcApPolylineCmd.js.map +1 -0
  99. package/lib/command/AcApRectCmd.d.ts +149 -4
  100. package/lib/command/AcApRectCmd.d.ts.map +1 -1
  101. package/lib/command/AcApRectCmd.js +717 -29
  102. package/lib/command/AcApRectCmd.js.map +1 -1
  103. package/lib/command/AcApRevCircleCmd.d.ts +8 -0
  104. package/lib/command/AcApRevCircleCmd.d.ts.map +1 -1
  105. package/lib/command/AcApRevCircleCmd.js +30 -6
  106. package/lib/command/AcApRevCircleCmd.js.map +1 -1
  107. package/lib/command/AcApRevCloudCmd.d.ts.map +1 -1
  108. package/lib/command/AcApRevCloudCmd.js +10 -4
  109. package/lib/command/AcApRevCloudCmd.js.map +1 -1
  110. package/lib/command/AcApRevRectCmd.d.ts +8 -0
  111. package/lib/command/AcApRevRectCmd.d.ts.map +1 -1
  112. package/lib/command/AcApRevRectCmd.js +78 -6
  113. package/lib/command/AcApRevRectCmd.js.map +1 -1
  114. package/lib/command/AcApSketchCmd.d.ts.map +1 -1
  115. package/lib/command/AcApSketchCmd.js +11 -7
  116. package/lib/command/AcApSketchCmd.js.map +1 -1
  117. package/lib/command/AcApSplineCmd.d.ts +85 -0
  118. package/lib/command/AcApSplineCmd.d.ts.map +1 -0
  119. package/lib/command/AcApSplineCmd.js +620 -0
  120. package/lib/command/AcApSplineCmd.js.map +1 -0
  121. package/lib/command/AcApSysVarCmd.d.ts.map +1 -1
  122. package/lib/command/AcApSysVarCmd.js +6 -3
  123. package/lib/command/AcApSysVarCmd.js.map +1 -1
  124. package/lib/command/AcApZoomCmd.d.ts +91 -20
  125. package/lib/command/AcApZoomCmd.d.ts.map +1 -1
  126. package/lib/command/AcApZoomCmd.js +288 -23
  127. package/lib/command/AcApZoomCmd.js.map +1 -1
  128. package/lib/command/index.d.ts +12 -1
  129. package/lib/command/index.d.ts.map +1 -1
  130. package/lib/command/index.js +12 -1
  131. package/lib/command/index.js.map +1 -1
  132. package/lib/editor/command/AcEdCommandIterator.d.ts.map +1 -1
  133. package/lib/editor/command/AcEdCommandIterator.js.map +1 -1
  134. package/lib/editor/command/AcEdCommandStack.d.ts +54 -1
  135. package/lib/editor/command/AcEdCommandStack.d.ts.map +1 -1
  136. package/lib/editor/command/AcEdCommandStack.js +207 -25
  137. package/lib/editor/command/AcEdCommandStack.js.map +1 -1
  138. package/lib/editor/global/AcEdUiTheme.d.ts +4 -0
  139. package/lib/editor/global/AcEdUiTheme.d.ts.map +1 -0
  140. package/lib/editor/global/AcEdUiTheme.js +44 -0
  141. package/lib/editor/global/AcEdUiTheme.js.map +1 -0
  142. package/lib/editor/global/index.d.ts +1 -0
  143. package/lib/editor/global/index.d.ts.map +1 -1
  144. package/lib/editor/global/index.js +1 -0
  145. package/lib/editor/global/index.js.map +1 -1
  146. package/lib/editor/input/AcEdCursorManager.d.ts +10 -0
  147. package/lib/editor/input/AcEdCursorManager.d.ts.map +1 -1
  148. package/lib/editor/input/AcEdCursorManager.js +24 -4
  149. package/lib/editor/input/AcEdCursorManager.js.map +1 -1
  150. package/lib/editor/input/AcEdInputModifiers.d.ts +39 -0
  151. package/lib/editor/input/AcEdInputModifiers.d.ts.map +1 -0
  152. package/lib/editor/input/AcEdInputModifiers.js +2 -0
  153. package/lib/editor/input/AcEdInputModifiers.js.map +1 -0
  154. package/lib/editor/input/AcEdInputToggles.d.ts +24 -0
  155. package/lib/editor/input/AcEdInputToggles.d.ts.map +1 -0
  156. package/lib/editor/input/AcEdInputToggles.js +2 -0
  157. package/lib/editor/input/AcEdInputToggles.js.map +1 -0
  158. package/lib/editor/input/AcEdPromptStateMachine.d.ts +110 -0
  159. package/lib/editor/input/AcEdPromptStateMachine.d.ts.map +1 -0
  160. package/lib/editor/input/AcEdPromptStateMachine.js +147 -0
  161. package/lib/editor/input/AcEdPromptStateMachine.js.map +1 -0
  162. package/lib/editor/input/AcEdSelectionFilter.d.ts +79 -0
  163. package/lib/editor/input/AcEdSelectionFilter.d.ts.map +1 -0
  164. package/lib/editor/input/AcEdSelectionFilter.js +231 -0
  165. package/lib/editor/input/AcEdSelectionFilter.js.map +1 -0
  166. package/lib/editor/input/AcEditor.d.ts +77 -10
  167. package/lib/editor/input/AcEditor.d.ts.map +1 -1
  168. package/lib/editor/input/AcEditor.js +162 -1
  169. package/lib/editor/input/AcEditor.js.map +1 -1
  170. package/lib/editor/input/index.d.ts +4 -0
  171. package/lib/editor/input/index.d.ts.map +1 -1
  172. package/lib/editor/input/index.js +4 -0
  173. package/lib/editor/input/index.js.map +1 -1
  174. package/lib/editor/input/marker/AcEdMarker.d.ts.map +1 -1
  175. package/lib/editor/input/marker/AcEdMarker.js +3 -3
  176. package/lib/editor/input/marker/AcEdMarker.js.map +1 -1
  177. package/lib/editor/input/prompt/AcEdKeywordCollection.d.ts +47 -0
  178. package/lib/editor/input/prompt/AcEdKeywordCollection.d.ts.map +1 -1
  179. package/lib/editor/input/prompt/AcEdKeywordCollection.js +30 -4
  180. package/lib/editor/input/prompt/AcEdKeywordCollection.js.map +1 -1
  181. package/lib/editor/input/prompt/AcEdPromptAngleOptions.d.ts +8 -1
  182. package/lib/editor/input/prompt/AcEdPromptAngleOptions.d.ts.map +1 -1
  183. package/lib/editor/input/prompt/AcEdPromptAngleOptions.js +19 -2
  184. package/lib/editor/input/prompt/AcEdPromptAngleOptions.js.map +1 -1
  185. package/lib/editor/input/prompt/AcEdPromptBoxResult.d.ts +12 -0
  186. package/lib/editor/input/prompt/AcEdPromptBoxResult.d.ts.map +1 -0
  187. package/lib/editor/input/prompt/AcEdPromptBoxResult.js +30 -0
  188. package/lib/editor/input/prompt/AcEdPromptBoxResult.js.map +1 -0
  189. package/lib/editor/input/prompt/AcEdPromptDoubleResult.d.ts +9 -0
  190. package/lib/editor/input/prompt/AcEdPromptDoubleResult.d.ts.map +1 -0
  191. package/lib/editor/input/prompt/AcEdPromptDoubleResult.js +28 -0
  192. package/lib/editor/input/prompt/AcEdPromptDoubleResult.js.map +1 -0
  193. package/lib/editor/input/prompt/AcEdPromptEntityOptions.d.ts +18 -1
  194. package/lib/editor/input/prompt/AcEdPromptEntityOptions.d.ts.map +1 -1
  195. package/lib/editor/input/prompt/AcEdPromptEntityOptions.js +32 -5
  196. package/lib/editor/input/prompt/AcEdPromptEntityOptions.js.map +1 -1
  197. package/lib/editor/input/prompt/AcEdPromptEntityResult.d.ts +14 -0
  198. package/lib/editor/input/prompt/AcEdPromptEntityResult.d.ts.map +1 -0
  199. package/lib/editor/input/prompt/AcEdPromptEntityResult.js +31 -0
  200. package/lib/editor/input/prompt/AcEdPromptEntityResult.js.map +1 -0
  201. package/lib/editor/input/prompt/AcEdPromptIntegerResult.d.ts +9 -0
  202. package/lib/editor/input/prompt/AcEdPromptIntegerResult.d.ts.map +1 -0
  203. package/lib/editor/input/prompt/AcEdPromptIntegerResult.js +28 -0
  204. package/lib/editor/input/prompt/AcEdPromptIntegerResult.js.map +1 -0
  205. package/lib/editor/input/prompt/AcEdPromptKeywordOptions.d.ts +1 -1
  206. package/lib/editor/input/prompt/AcEdPromptKeywordOptions.d.ts.map +1 -1
  207. package/lib/editor/input/prompt/AcEdPromptKeywordOptions.js +2 -2
  208. package/lib/editor/input/prompt/AcEdPromptKeywordOptions.js.map +1 -1
  209. package/lib/editor/input/prompt/AcEdPromptNumericalOptions.d.ts +1 -1
  210. package/lib/editor/input/prompt/AcEdPromptNumericalOptions.d.ts.map +1 -1
  211. package/lib/editor/input/prompt/AcEdPromptNumericalOptions.js +2 -2
  212. package/lib/editor/input/prompt/AcEdPromptNumericalOptions.js.map +1 -1
  213. package/lib/editor/input/prompt/AcEdPromptOptions.d.ts +9 -3
  214. package/lib/editor/input/prompt/AcEdPromptOptions.d.ts.map +1 -1
  215. package/lib/editor/input/prompt/AcEdPromptOptions.js +22 -4
  216. package/lib/editor/input/prompt/AcEdPromptOptions.js.map +1 -1
  217. package/lib/editor/input/prompt/AcEdPromptPointOptions.d.ts +1 -1
  218. package/lib/editor/input/prompt/AcEdPromptPointOptions.d.ts.map +1 -1
  219. package/lib/editor/input/prompt/AcEdPromptPointOptions.js +2 -2
  220. package/lib/editor/input/prompt/AcEdPromptPointOptions.js.map +1 -1
  221. package/lib/editor/input/prompt/AcEdPromptPointResult.d.ts +3 -3
  222. package/lib/editor/input/prompt/AcEdPromptSelectionOptions.d.ts +1 -1
  223. package/lib/editor/input/prompt/AcEdPromptSelectionOptions.d.ts.map +1 -1
  224. package/lib/editor/input/prompt/AcEdPromptSelectionOptions.js +2 -2
  225. package/lib/editor/input/prompt/AcEdPromptSelectionOptions.js.map +1 -1
  226. package/lib/editor/input/prompt/AcEdPromptSelectionResult.d.ts +12 -0
  227. package/lib/editor/input/prompt/AcEdPromptSelectionResult.d.ts.map +1 -0
  228. package/lib/editor/input/prompt/AcEdPromptSelectionResult.js +30 -0
  229. package/lib/editor/input/prompt/AcEdPromptSelectionResult.js.map +1 -0
  230. package/lib/editor/input/prompt/AcEdPromptStringOptions.d.ts +1 -1
  231. package/lib/editor/input/prompt/AcEdPromptStringOptions.d.ts.map +1 -1
  232. package/lib/editor/input/prompt/AcEdPromptStringOptions.js +2 -2
  233. package/lib/editor/input/prompt/AcEdPromptStringOptions.js.map +1 -1
  234. package/lib/editor/input/prompt/index.d.ts +9 -0
  235. package/lib/editor/input/prompt/index.d.ts.map +1 -1
  236. package/lib/editor/input/prompt/index.js +9 -0
  237. package/lib/editor/input/prompt/index.js.map +1 -1
  238. package/lib/editor/input/session/AcEdKeywordSession.d.ts +67 -1
  239. package/lib/editor/input/session/AcEdKeywordSession.d.ts.map +1 -1
  240. package/lib/editor/input/session/AcEdKeywordSession.js +78 -1
  241. package/lib/editor/input/session/AcEdKeywordSession.js.map +1 -1
  242. package/lib/editor/input/ui/AcEdCommandLine.d.ts +27 -1
  243. package/lib/editor/input/ui/AcEdCommandLine.d.ts.map +1 -1
  244. package/lib/editor/input/ui/AcEdCommandLine.js +75 -10
  245. package/lib/editor/input/ui/AcEdCommandLine.js.map +1 -1
  246. package/lib/editor/input/ui/AcEdFloatingInput.d.ts +24 -1
  247. package/lib/editor/input/ui/AcEdFloatingInput.d.ts.map +1 -1
  248. package/lib/editor/input/ui/AcEdFloatingInput.js +147 -27
  249. package/lib/editor/input/ui/AcEdFloatingInput.js.map +1 -1
  250. package/lib/editor/input/ui/AcEdFloatingInputBox.d.ts +2 -0
  251. package/lib/editor/input/ui/AcEdFloatingInputBox.d.ts.map +1 -1
  252. package/lib/editor/input/ui/AcEdFloatingInputBox.js +4 -0
  253. package/lib/editor/input/ui/AcEdFloatingInputBox.js.map +1 -1
  254. package/lib/editor/input/ui/AcEdFloatingInputBoxes.d.ts +30 -1
  255. package/lib/editor/input/ui/AcEdFloatingInputBoxes.d.ts.map +1 -1
  256. package/lib/editor/input/ui/AcEdFloatingInputBoxes.js +46 -15
  257. package/lib/editor/input/ui/AcEdFloatingInputBoxes.js.map +1 -1
  258. package/lib/editor/input/ui/AcEdFloatingInputTypes.d.ts +33 -0
  259. package/lib/editor/input/ui/AcEdFloatingInputTypes.d.ts.map +1 -1
  260. package/lib/editor/input/ui/AcEdFloatingMessage.d.ts +12 -0
  261. package/lib/editor/input/ui/AcEdFloatingMessage.d.ts.map +1 -1
  262. package/lib/editor/input/ui/AcEdFloatingMessage.js +61 -2
  263. package/lib/editor/input/ui/AcEdFloatingMessage.js.map +1 -1
  264. package/lib/editor/input/ui/AcEdInputManager.d.ts +403 -29
  265. package/lib/editor/input/ui/AcEdInputManager.d.ts.map +1 -1
  266. package/lib/editor/input/ui/AcEdInputManager.js +1313 -414
  267. package/lib/editor/input/ui/AcEdInputManager.js.map +1 -1
  268. package/lib/editor/input/ui/AcEdRubberBand.d.ts +15 -1
  269. package/lib/editor/input/ui/AcEdRubberBand.d.ts.map +1 -1
  270. package/lib/editor/input/ui/AcEdRubberBand.js +43 -11
  271. package/lib/editor/input/ui/AcEdRubberBand.js.map +1 -1
  272. package/lib/editor/view/AcEdBaseView.d.ts +66 -0
  273. package/lib/editor/view/AcEdBaseView.d.ts.map +1 -1
  274. package/lib/editor/view/AcEdBaseView.js +170 -0
  275. package/lib/editor/view/AcEdBaseView.js.map +1 -1
  276. package/lib/editor/view/AcEdSpatialQueryResult.d.ts.map +1 -1
  277. package/lib/i18n/en/command.d.ts +36 -3
  278. package/lib/i18n/en/command.d.ts.map +1 -1
  279. package/lib/i18n/en/command.js +36 -3
  280. package/lib/i18n/en/command.js.map +1 -1
  281. package/lib/i18n/en/jig.d.ts +553 -0
  282. package/lib/i18n/en/jig.d.ts.map +1 -1
  283. package/lib/i18n/en/jig.js +557 -4
  284. package/lib/i18n/en/jig.js.map +1 -1
  285. package/lib/i18n/zh/command.d.ts +36 -3
  286. package/lib/i18n/zh/command.d.ts.map +1 -1
  287. package/lib/i18n/zh/command.js +36 -3
  288. package/lib/i18n/zh/command.js.map +1 -1
  289. package/lib/i18n/zh/jig.d.ts +553 -0
  290. package/lib/i18n/zh/jig.d.ts.map +1 -1
  291. package/lib/i18n/zh/jig.js +557 -4
  292. package/lib/i18n/zh/jig.js.map +1 -1
  293. package/lib/plugin/AcApPluginManager.d.ts.map +1 -1
  294. package/lib/plugin/AcApPluginManager.js.map +1 -1
  295. package/lib/util/AcApMeasurementElementGenerator.d.ts +36 -0
  296. package/lib/util/AcApMeasurementElementGenerator.d.ts.map +1 -0
  297. package/lib/util/AcApMeasurementElementGenerator.js +92 -0
  298. package/lib/util/AcApMeasurementElementGenerator.js.map +1 -0
  299. package/lib/util/index.d.ts +1 -1
  300. package/lib/util/index.d.ts.map +1 -1
  301. package/lib/util/index.js +1 -1
  302. package/lib/util/index.js.map +1 -1
  303. package/lib/view/AcTrLayer.d.ts.map +1 -1
  304. package/lib/view/AcTrLayer.js +5 -3
  305. package/lib/view/AcTrLayer.js.map +1 -1
  306. package/lib/view/AcTrLayoutView.d.ts +6 -0
  307. package/lib/view/AcTrLayoutView.d.ts.map +1 -1
  308. package/lib/view/AcTrLayoutView.js +20 -0
  309. package/lib/view/AcTrLayoutView.js.map +1 -1
  310. package/lib/view/AcTrView2d.d.ts +0 -1
  311. package/lib/view/AcTrView2d.d.ts.map +1 -1
  312. package/lib/view/AcTrView2d.js +103 -50
  313. package/lib/view/AcTrView2d.js.map +1 -1
  314. package/package.json +15 -13
  315. package/lib/command/AcApZoomToBoxCmd.d.ts +0 -29
  316. package/lib/command/AcApZoomToBoxCmd.d.ts.map +0 -1
  317. package/lib/command/AcApZoomToBoxCmd.js.map +0 -1
  318. package/lib/util/AcApMeasurementUtils.d.ts +0 -12
  319. package/lib/util/AcApMeasurementUtils.d.ts.map +0 -1
  320. package/lib/util/AcApMeasurementUtils.js +0 -36
  321. package/lib/util/AcApMeasurementUtils.js.map +0 -1
@@ -0,0 +1,583 @@
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 __assign = (this && this.__assign) || function () {
17
+ __assign = Object.assign || function(t) {
18
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
19
+ s = arguments[i];
20
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
21
+ t[p] = s[p];
22
+ }
23
+ return t;
24
+ };
25
+ return __assign.apply(this, arguments);
26
+ };
27
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
28
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
29
+ return new (P || (P = Promise))(function (resolve, reject) {
30
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
31
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
32
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
33
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
34
+ });
35
+ };
36
+ var __generator = (this && this.__generator) || function (thisArg, body) {
37
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
38
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
39
+ function verb(n) { return function (v) { return step([n, v]); }; }
40
+ function step(op) {
41
+ if (f) throw new TypeError("Generator is already executing.");
42
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
43
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
44
+ if (y = 0, t) op = [op[0] & 2, t.value];
45
+ switch (op[0]) {
46
+ case 0: case 1: t = op; break;
47
+ case 4: _.label++; return { value: op[1], done: false };
48
+ case 5: _.label++; y = op[1]; op = [0]; continue;
49
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
50
+ default:
51
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
52
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
53
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
54
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
55
+ if (t[2]) _.ops.pop();
56
+ _.trys.pop(); continue;
57
+ }
58
+ op = body.call(thisArg, _);
59
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
60
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
61
+ }
62
+ };
63
+ import { AcDbEllipse, AcGePoint3d } from '@mlightcad/data-model';
64
+ import { AcApDocManager } from '../app';
65
+ import { AcEdCommand, AcEdOpenMode, AcEdPreviewJig, AcEdPromptAngleOptions, AcEdPromptDoubleOptions, AcEdPromptPointOptions, AcEdPromptStatus, eventBus } from '../editor';
66
+ import { AcApI18n } from '../i18n';
67
+ import { AcApLineJig } from './AcApLineCmd';
68
+ var EPSILON = 1e-9;
69
+ var TAU = Math.PI * 2;
70
+ var POSITIVE_NORMAL = { x: 0, y: 0, z: 1 };
71
+ function distance2d(p1, p2) {
72
+ return Math.hypot(p2.x - p1.x, p2.y - p1.y);
73
+ }
74
+ function midpoint2d(p1, p2) {
75
+ return {
76
+ x: (p1.x + p2.x) / 2,
77
+ y: (p1.y + p2.y) / 2,
78
+ z: 0
79
+ };
80
+ }
81
+ function normalizeVector2d(x, y) {
82
+ var length = Math.hypot(x, y);
83
+ if (!Number.isFinite(length) || length <= EPSILON)
84
+ return undefined;
85
+ return { x: x / length, y: y / length, z: 0 };
86
+ }
87
+ function perpendicular2d(unit) {
88
+ return { x: -unit.y, y: unit.x, z: 0 };
89
+ }
90
+ function degToRad(degree) {
91
+ return (degree * Math.PI) / 180;
92
+ }
93
+ function radToDeg(rad) {
94
+ return (rad * 180) / Math.PI;
95
+ }
96
+ function axisAngleDeg(axis) {
97
+ return radToDeg(Math.atan2(axis.y, axis.x));
98
+ }
99
+ /**
100
+ * Converts a geometric direction angle (from center, relative to major axis)
101
+ * to ellipse parameter angle used by AcGeEllipseArc3d.
102
+ *
103
+ * Ellipse parameterization:
104
+ * x = a * cos(t), y = b * sin(t)
105
+ * Geometric ray angle alpha satisfies:
106
+ * tan(alpha) = (b * sin(t)) / (a * cos(t))
107
+ * so:
108
+ * t = atan2(a * sin(alpha), b * cos(alpha))
109
+ */
110
+ function geometricAngleDegToEllipseParamRad(geometricAngleDeg, majorRadius, minorRadius) {
111
+ var alpha = degToRad(geometricAngleDeg);
112
+ return Math.atan2(majorRadius * Math.sin(alpha), minorRadius * Math.cos(alpha));
113
+ }
114
+ function axisUnitFromCenterToPoint(center, point) {
115
+ return normalizeVector2d(point.x - center.x, point.y - center.y);
116
+ }
117
+ function buildEllipseDefinition(center, firstAxisUnit, firstAxisRadius, secondAxisRadius, startAngle, endAngle) {
118
+ if (startAngle === void 0) { startAngle = 0; }
119
+ if (endAngle === void 0) { endAngle = TAU; }
120
+ if (!Number.isFinite(firstAxisRadius) ||
121
+ !Number.isFinite(secondAxisRadius) ||
122
+ firstAxisRadius <= EPSILON ||
123
+ secondAxisRadius <= EPSILON) {
124
+ return undefined;
125
+ }
126
+ if (firstAxisRadius >= secondAxisRadius) {
127
+ return {
128
+ center: { x: center.x, y: center.y, z: 0 },
129
+ majorAxis: firstAxisUnit,
130
+ majorRadius: firstAxisRadius,
131
+ minorRadius: secondAxisRadius,
132
+ startAngle: startAngle,
133
+ endAngle: endAngle
134
+ };
135
+ }
136
+ return {
137
+ center: { x: center.x, y: center.y, z: 0 },
138
+ majorAxis: perpendicular2d(firstAxisUnit),
139
+ majorRadius: secondAxisRadius,
140
+ minorRadius: firstAxisRadius,
141
+ startAngle: startAngle,
142
+ endAngle: endAngle
143
+ };
144
+ }
145
+ function createFallbackEllipse(point) {
146
+ return new AcDbEllipse(point, POSITIVE_NORMAL, { x: 1, y: 0, z: 0 }, 1e-6, 1e-6, 0, TAU);
147
+ }
148
+ function applyEllipseDefinition(entity, definition) {
149
+ entity.center = definition.center;
150
+ entity.normal = POSITIVE_NORMAL;
151
+ entity.majorAxisRadius = definition.majorRadius;
152
+ entity.minorAxisRadius = definition.minorRadius;
153
+ entity.startAngle = definition.startAngle;
154
+ entity.endAngle = definition.endAngle;
155
+ var ellipseWithGeo = entity;
156
+ if (ellipseWithGeo._geo) {
157
+ ellipseWithGeo._geo.majorAxis = definition.majorAxis;
158
+ }
159
+ }
160
+ /**
161
+ * Dynamic point-driven ellipse preview jig.
162
+ */
163
+ var AcApEllipsePointJig = /** @class */ (function (_super) {
164
+ __extends(AcApEllipsePointJig, _super);
165
+ /**
166
+ * Creates point-driven ellipse preview jig.
167
+ *
168
+ * @param view - Active editor view.
169
+ * @param builder - Cursor point to ellipse definition resolver.
170
+ * @param fallbackPoint - Fallback point used to create valid initial entity.
171
+ */
172
+ function AcApEllipsePointJig(view, builder, fallbackPoint) {
173
+ var _this = _super.call(this, view) || this;
174
+ _this._builder = builder;
175
+ _this._ellipse = createFallbackEllipse(fallbackPoint);
176
+ return _this;
177
+ }
178
+ Object.defineProperty(AcApEllipsePointJig.prototype, "entity", {
179
+ /**
180
+ * Gets transient ellipse entity displayed by this jig.
181
+ */
182
+ get: function () {
183
+ return this._ellipse;
184
+ },
185
+ enumerable: false,
186
+ configurable: true
187
+ });
188
+ /**
189
+ * Recomputes preview ellipse from cursor point.
190
+ *
191
+ * @param point - Current cursor/input point.
192
+ */
193
+ AcApEllipsePointJig.prototype.update = function (point) {
194
+ var definition = this._builder(point);
195
+ if (!definition)
196
+ return;
197
+ applyEllipseDefinition(this._ellipse, definition);
198
+ };
199
+ return AcApEllipsePointJig;
200
+ }(AcEdPreviewJig));
201
+ /**
202
+ * Dynamic numeric-input ellipse preview jig.
203
+ */
204
+ var AcApEllipseDistanceJig = /** @class */ (function (_super) {
205
+ __extends(AcApEllipseDistanceJig, _super);
206
+ /**
207
+ * Creates numeric-input ellipse preview jig.
208
+ *
209
+ * @param view - Active editor view.
210
+ * @param builder - Numeric value to ellipse definition resolver.
211
+ * @param fallbackPoint - Fallback point used to create valid initial entity.
212
+ */
213
+ function AcApEllipseDistanceJig(view, builder, fallbackPoint) {
214
+ var _this = _super.call(this, view) || this;
215
+ _this._builder = builder;
216
+ _this._ellipse = createFallbackEllipse(fallbackPoint);
217
+ return _this;
218
+ }
219
+ Object.defineProperty(AcApEllipseDistanceJig.prototype, "entity", {
220
+ /**
221
+ * Gets transient ellipse entity displayed by this jig.
222
+ */
223
+ get: function () {
224
+ return this._ellipse;
225
+ },
226
+ enumerable: false,
227
+ configurable: true
228
+ });
229
+ /**
230
+ * Recomputes preview ellipse from numeric input value.
231
+ *
232
+ * @param value - Current numeric prompt value.
233
+ */
234
+ AcApEllipseDistanceJig.prototype.update = function (value) {
235
+ var definition = this._builder(value);
236
+ if (!definition)
237
+ return;
238
+ applyEllipseDefinition(this._ellipse, definition);
239
+ };
240
+ return AcApEllipseDistanceJig;
241
+ }(AcEdPreviewJig));
242
+ /**
243
+ * Command to create one ellipse or ellipse arc.
244
+ */
245
+ var AcApEllipseCmd = /** @class */ (function (_super) {
246
+ __extends(AcApEllipseCmd, _super);
247
+ /**
248
+ * Creates ELLIPSE command instance.
249
+ */
250
+ function AcApEllipseCmd() {
251
+ var _this = _super.call(this) || this;
252
+ _this.mode = AcEdOpenMode.Write;
253
+ return _this;
254
+ }
255
+ /**
256
+ * Command entry point.
257
+ *
258
+ * Supported branches:
259
+ * - Axis endpoint workflow
260
+ * - Center-first workflow
261
+ * - Arc-prefixed variants for ellipse arc creation
262
+ *
263
+ * @param context - Current application/document context.
264
+ */
265
+ AcApEllipseCmd.prototype.execute = function (context) {
266
+ return __awaiter(this, void 0, void 0, function () {
267
+ var entryPrompt, entryResult, keyword;
268
+ var _a;
269
+ return __generator(this, function (_b) {
270
+ switch (_b.label) {
271
+ case 0:
272
+ entryPrompt = new AcEdPromptPointOptions(AcApI18n.t('jig.ellipse.axisEndpointOrOptions'));
273
+ this.addKeyword(entryPrompt, 'arc');
274
+ this.addKeyword(entryPrompt, 'center');
275
+ return [4 /*yield*/, AcApDocManager.instance.editor.getPoint(entryPrompt)];
276
+ case 1:
277
+ entryResult = _b.sent();
278
+ if (!(entryResult.status === AcEdPromptStatus.Keyword)) return [3 /*break*/, 6];
279
+ keyword = (_a = entryResult.stringResult) !== null && _a !== void 0 ? _a : '';
280
+ if (!(keyword === 'Center')) return [3 /*break*/, 3];
281
+ return [4 /*yield*/, this.runCenterFlow(context, false)];
282
+ case 2:
283
+ _b.sent();
284
+ return [3 /*break*/, 5];
285
+ case 3:
286
+ if (!(keyword === 'Arc')) return [3 /*break*/, 5];
287
+ return [4 /*yield*/, this.runArcEntryFlow(context)];
288
+ case 4:
289
+ _b.sent();
290
+ _b.label = 5;
291
+ case 5: return [2 /*return*/];
292
+ case 6:
293
+ if (entryResult.status !== AcEdPromptStatus.OK)
294
+ return [2 /*return*/];
295
+ return [4 /*yield*/, this.runAxisEndFlow(context, entryResult.value, false)];
296
+ case 7:
297
+ _b.sent();
298
+ return [2 /*return*/];
299
+ }
300
+ });
301
+ });
302
+ };
303
+ /**
304
+ * Adds one localized keyword to a point prompt.
305
+ *
306
+ * @param prompt - Target point prompt.
307
+ * @param key - Keyword i18n key suffix.
308
+ */
309
+ AcApEllipseCmd.prototype.addKeyword = function (prompt, key) {
310
+ prompt.keywords.add(AcApI18n.t("jig.ellipse.keywords.".concat(key, ".display")), AcApI18n.t("jig.ellipse.keywords.".concat(key, ".global")), AcApI18n.t("jig.ellipse.keywords.".concat(key, ".local")));
311
+ };
312
+ /**
313
+ * Appends final ellipse entity to model space.
314
+ *
315
+ * @param context - Current application/document context.
316
+ * @param definition - Ellipse geometric definition to append.
317
+ */
318
+ AcApEllipseCmd.prototype.appendEllipse = function (context, definition) {
319
+ var ellipse = new AcDbEllipse(definition.center, POSITIVE_NORMAL, definition.majorAxis, definition.majorRadius, definition.minorRadius, definition.startAngle, definition.endAngle);
320
+ context.doc.database.tables.blockTable.modelSpace.appendEntity(ellipse);
321
+ };
322
+ /**
323
+ * Emits one warning message for invalid ellipse input.
324
+ *
325
+ * @param key - Invalid-input category key.
326
+ */
327
+ AcApEllipseCmd.prototype.warnInvalidInput = function (key) {
328
+ eventBus.emit('message', {
329
+ message: AcApI18n.t("jig.ellipse.invalid.".concat(key)),
330
+ type: 'warning'
331
+ });
332
+ };
333
+ /**
334
+ * Runs `Arc` entry branch where user can provide axis endpoints or center.
335
+ *
336
+ * @param context - Current application/document context.
337
+ */
338
+ AcApEllipseCmd.prototype.runArcEntryFlow = function (context) {
339
+ return __awaiter(this, void 0, void 0, function () {
340
+ var prompt, result;
341
+ return __generator(this, function (_a) {
342
+ switch (_a.label) {
343
+ case 0:
344
+ prompt = new AcEdPromptPointOptions(AcApI18n.t('jig.ellipse.arcAxisEndpointOrCenter'));
345
+ this.addKeyword(prompt, 'center');
346
+ return [4 /*yield*/, AcApDocManager.instance.editor.getPoint(prompt)];
347
+ case 1:
348
+ result = _a.sent();
349
+ if (!(result.status === AcEdPromptStatus.Keyword)) return [3 /*break*/, 4];
350
+ if (!(result.stringResult === 'Center')) return [3 /*break*/, 3];
351
+ return [4 /*yield*/, this.runCenterFlow(context, true)];
352
+ case 2:
353
+ _a.sent();
354
+ _a.label = 3;
355
+ case 3: return [2 /*return*/];
356
+ case 4:
357
+ if (result.status !== AcEdPromptStatus.OK)
358
+ return [2 /*return*/];
359
+ return [4 /*yield*/, this.runAxisEndFlow(context, result.value, true)];
360
+ case 5:
361
+ _a.sent();
362
+ return [2 /*return*/];
363
+ }
364
+ });
365
+ });
366
+ };
367
+ /**
368
+ * Runs center-first workflow:
369
+ * center -> first axis endpoint -> other axis/rotation -> optional arc angles.
370
+ *
371
+ * @param context - Current application/document context.
372
+ * @param arcMode - Whether to continue into arc-angle prompts.
373
+ */
374
+ AcApEllipseCmd.prototype.runCenterFlow = function (context, arcMode) {
375
+ return __awaiter(this, void 0, void 0, function () {
376
+ var centerPrompt, centerResult, center, axisEndPrompt, axisEndResult, axisUnit, axisRadius, definition;
377
+ return __generator(this, function (_a) {
378
+ switch (_a.label) {
379
+ case 0:
380
+ centerPrompt = new AcEdPromptPointOptions(AcApI18n.t('jig.ellipse.center'));
381
+ return [4 /*yield*/, AcApDocManager.instance.editor.getPoint(centerPrompt)];
382
+ case 1:
383
+ centerResult = _a.sent();
384
+ if (centerResult.status !== AcEdPromptStatus.OK)
385
+ return [2 /*return*/];
386
+ center = centerResult.value;
387
+ axisEndPrompt = new AcEdPromptPointOptions(AcApI18n.t('jig.ellipse.firstAxisEndpoint'));
388
+ axisEndPrompt.useDashedLine = true;
389
+ axisEndPrompt.useBasePoint = true;
390
+ axisEndPrompt.basePoint = new AcGePoint3d(center);
391
+ axisEndPrompt.jig = new AcApLineJig(context.view, center);
392
+ return [4 /*yield*/, AcApDocManager.instance.editor.getPoint(axisEndPrompt)];
393
+ case 2:
394
+ axisEndResult = _a.sent();
395
+ if (axisEndResult.status !== AcEdPromptStatus.OK)
396
+ return [2 /*return*/];
397
+ axisUnit = axisUnitFromCenterToPoint(center, axisEndResult.value);
398
+ if (!axisUnit) {
399
+ this.warnInvalidInput('axis');
400
+ return [2 /*return*/];
401
+ }
402
+ axisRadius = distance2d(center, axisEndResult.value);
403
+ return [4 /*yield*/, this.promptOtherAxis(context, center, axisUnit, axisRadius, arcMode)];
404
+ case 3:
405
+ definition = _a.sent();
406
+ if (!definition)
407
+ return [2 /*return*/];
408
+ this.appendEllipse(context, definition);
409
+ return [2 /*return*/];
410
+ }
411
+ });
412
+ });
413
+ };
414
+ /**
415
+ * Runs axis-endpoint workflow:
416
+ * first axis endpoint -> second axis endpoint -> other axis/rotation.
417
+ *
418
+ * @param context - Current application/document context.
419
+ * @param firstAxisEndpoint - First endpoint of major/minor axis line.
420
+ * @param arcMode - Whether to continue into arc-angle prompts.
421
+ */
422
+ AcApEllipseCmd.prototype.runAxisEndFlow = function (context, firstAxisEndpoint, arcMode) {
423
+ return __awaiter(this, void 0, void 0, function () {
424
+ var secondAxisPrompt, secondAxisResult, secondAxisEndpoint, axisVectorX, axisVectorY, axisUnit, center, axisRadius, definition;
425
+ return __generator(this, function (_a) {
426
+ switch (_a.label) {
427
+ case 0:
428
+ secondAxisPrompt = new AcEdPromptPointOptions(AcApI18n.t('jig.ellipse.secondAxisEndpoint'));
429
+ secondAxisPrompt.useDashedLine = true;
430
+ secondAxisPrompt.useBasePoint = true;
431
+ secondAxisPrompt.basePoint = new AcGePoint3d(firstAxisEndpoint);
432
+ secondAxisPrompt.jig = new AcApLineJig(context.view, firstAxisEndpoint);
433
+ return [4 /*yield*/, AcApDocManager.instance.editor.getPoint(secondAxisPrompt)];
434
+ case 1:
435
+ secondAxisResult = _a.sent();
436
+ if (secondAxisResult.status !== AcEdPromptStatus.OK)
437
+ return [2 /*return*/];
438
+ secondAxisEndpoint = secondAxisResult.value;
439
+ axisVectorX = secondAxisEndpoint.x - firstAxisEndpoint.x;
440
+ axisVectorY = secondAxisEndpoint.y - firstAxisEndpoint.y;
441
+ axisUnit = normalizeVector2d(axisVectorX, axisVectorY);
442
+ if (!axisUnit) {
443
+ this.warnInvalidInput('axis');
444
+ return [2 /*return*/];
445
+ }
446
+ center = midpoint2d(firstAxisEndpoint, secondAxisEndpoint);
447
+ axisRadius = distance2d(firstAxisEndpoint, secondAxisEndpoint) / 2;
448
+ return [4 /*yield*/, this.promptOtherAxis(context, center, axisUnit, axisRadius, arcMode)];
449
+ case 2:
450
+ definition = _a.sent();
451
+ if (!definition)
452
+ return [2 /*return*/];
453
+ this.appendEllipse(context, definition);
454
+ return [2 /*return*/];
455
+ }
456
+ });
457
+ });
458
+ };
459
+ /**
460
+ * Prompts for the second axis radius by point or rotation angle option.
461
+ *
462
+ * In arc mode, this method also continues into arc start/end angle prompts.
463
+ *
464
+ * @param context - Current application/document context.
465
+ * @param center - Ellipse center point.
466
+ * @param firstAxisUnit - Unit direction of first specified axis.
467
+ * @param firstAxisRadius - Radius length along first specified axis.
468
+ * @param arcMode - Whether to return an ellipse arc definition.
469
+ * @returns Final ellipse definition, or `undefined` on cancel/invalid.
470
+ */
471
+ AcApEllipseCmd.prototype.promptOtherAxis = function (context, center, firstAxisUnit, firstAxisRadius, arcMode) {
472
+ return __awaiter(this, void 0, void 0, function () {
473
+ var otherAxisPrompt, otherAxisResult, rotationPrompt, rotationResult, secondAxisRadius, definition_1, otherAxisRadius, definition;
474
+ var _a;
475
+ return __generator(this, function (_b) {
476
+ switch (_b.label) {
477
+ case 0:
478
+ if (!true) return [3 /*break*/, 6];
479
+ otherAxisPrompt = new AcEdPromptPointOptions(AcApI18n.t('jig.ellipse.otherAxisOrRotation'));
480
+ this.addKeyword(otherAxisPrompt, 'rotation');
481
+ otherAxisPrompt.useDashedLine = true;
482
+ otherAxisPrompt.useBasePoint = true;
483
+ otherAxisPrompt.basePoint = new AcGePoint3d(center);
484
+ otherAxisPrompt.jig = new AcApEllipsePointJig(context.view, function (point) {
485
+ var otherAxisRadius = distance2d(center, point);
486
+ return buildEllipseDefinition(center, firstAxisUnit, firstAxisRadius, otherAxisRadius);
487
+ }, center);
488
+ return [4 /*yield*/, AcApDocManager.instance.editor.getPoint(otherAxisPrompt)];
489
+ case 1:
490
+ otherAxisResult = _b.sent();
491
+ if (!(otherAxisResult.status === AcEdPromptStatus.Keyword)) return [3 /*break*/, 4];
492
+ if (otherAxisResult.stringResult !== 'Rotation')
493
+ return [2 /*return*/, undefined];
494
+ rotationPrompt = new AcEdPromptDoubleOptions(AcApI18n.t('jig.ellipse.rotationAngle'));
495
+ rotationPrompt.allowNegative = false;
496
+ rotationPrompt.allowZero = true;
497
+ rotationPrompt.jig = new AcApEllipseDistanceJig(context.view, function (degreeValue) {
498
+ var secondAxisRadius = firstAxisRadius * Math.abs(Math.cos(degToRad(degreeValue)));
499
+ return buildEllipseDefinition(center, firstAxisUnit, firstAxisRadius, secondAxisRadius);
500
+ }, center);
501
+ return [4 /*yield*/, AcApDocManager.instance.editor.getDouble(rotationPrompt)];
502
+ case 2:
503
+ rotationResult = _b.sent();
504
+ if (rotationResult.status !== AcEdPromptStatus.OK)
505
+ return [2 /*return*/, undefined];
506
+ secondAxisRadius = firstAxisRadius *
507
+ Math.abs(Math.cos(degToRad((_a = rotationResult.value) !== null && _a !== void 0 ? _a : 0)));
508
+ definition_1 = buildEllipseDefinition(center, firstAxisUnit, firstAxisRadius, secondAxisRadius);
509
+ if (!definition_1) {
510
+ this.warnInvalidInput('rotation');
511
+ return [3 /*break*/, 0];
512
+ }
513
+ if (!arcMode)
514
+ return [2 /*return*/, definition_1];
515
+ return [4 /*yield*/, this.promptArcAngles(context, definition_1)];
516
+ case 3: return [2 /*return*/, _b.sent()];
517
+ case 4:
518
+ if (otherAxisResult.status !== AcEdPromptStatus.OK)
519
+ return [2 /*return*/, undefined];
520
+ otherAxisRadius = distance2d(center, otherAxisResult.value);
521
+ definition = buildEllipseDefinition(center, firstAxisUnit, firstAxisRadius, otherAxisRadius);
522
+ if (!definition) {
523
+ this.warnInvalidInput('otherAxis');
524
+ return [3 /*break*/, 0];
525
+ }
526
+ if (!arcMode)
527
+ return [2 /*return*/, definition];
528
+ return [4 /*yield*/, this.promptArcAngles(context, definition)];
529
+ case 5: return [2 /*return*/, _b.sent()];
530
+ case 6: return [2 /*return*/];
531
+ }
532
+ });
533
+ });
534
+ };
535
+ /**
536
+ * Prompts start and end angles for ellipse-arc creation.
537
+ *
538
+ * @param context - Current application/document context.
539
+ * @param baseEllipse - Base full-ellipse definition before arc trimming.
540
+ * @returns Arc ellipse definition, or `undefined` when canceled.
541
+ */
542
+ AcApEllipseCmd.prototype.promptArcAngles = function (context, baseEllipse) {
543
+ return __awaiter(this, void 0, void 0, function () {
544
+ var majorAxisBaseAngle, startPrompt, startResult, startAngle, endPrompt, endResult;
545
+ var _a, _b;
546
+ return __generator(this, function (_c) {
547
+ switch (_c.label) {
548
+ case 0:
549
+ majorAxisBaseAngle = axisAngleDeg(baseEllipse.majorAxis);
550
+ startPrompt = new AcEdPromptAngleOptions(AcApI18n.t('jig.ellipse.arcStartAngle'));
551
+ startPrompt.allowNegative = true;
552
+ startPrompt.useBasePoint = true;
553
+ startPrompt.useDashedLine = true;
554
+ startPrompt.basePoint = new AcGePoint3d(baseEllipse.center);
555
+ startPrompt.baseAngle = majorAxisBaseAngle;
556
+ startPrompt.jig = new AcApEllipseDistanceJig(context.view, function (degreeValue) { return (__assign(__assign({}, baseEllipse), { startAngle: geometricAngleDegToEllipseParamRad(degreeValue, baseEllipse.majorRadius, baseEllipse.minorRadius), endAngle: TAU })); }, baseEllipse.center);
557
+ return [4 /*yield*/, AcApDocManager.instance.editor.getAngle(startPrompt)];
558
+ case 1:
559
+ startResult = _c.sent();
560
+ if (startResult.status !== AcEdPromptStatus.OK)
561
+ return [2 /*return*/, undefined];
562
+ startAngle = geometricAngleDegToEllipseParamRad((_a = startResult.value) !== null && _a !== void 0 ? _a : 0, baseEllipse.majorRadius, baseEllipse.minorRadius);
563
+ endPrompt = new AcEdPromptAngleOptions(AcApI18n.t('jig.ellipse.arcEndAngle'));
564
+ endPrompt.allowNegative = true;
565
+ endPrompt.useBasePoint = true;
566
+ endPrompt.useDashedLine = true;
567
+ endPrompt.basePoint = new AcGePoint3d(baseEllipse.center);
568
+ endPrompt.baseAngle = majorAxisBaseAngle;
569
+ endPrompt.jig = new AcApEllipseDistanceJig(context.view, function (degreeValue) { return (__assign(__assign({}, baseEllipse), { startAngle: startAngle, endAngle: geometricAngleDegToEllipseParamRad(degreeValue, baseEllipse.majorRadius, baseEllipse.minorRadius) })); }, baseEllipse.center);
570
+ return [4 /*yield*/, AcApDocManager.instance.editor.getAngle(endPrompt)];
571
+ case 2:
572
+ endResult = _c.sent();
573
+ if (endResult.status !== AcEdPromptStatus.OK)
574
+ return [2 /*return*/, undefined];
575
+ return [2 /*return*/, __assign(__assign({}, baseEllipse), { startAngle: startAngle, endAngle: geometricAngleDegToEllipseParamRad((_b = endResult.value) !== null && _b !== void 0 ? _b : 0, baseEllipse.majorRadius, baseEllipse.minorRadius) })];
576
+ }
577
+ });
578
+ });
579
+ };
580
+ return AcApEllipseCmd;
581
+ }(AcEdCommand));
582
+ export { AcApEllipseCmd };
583
+ //# sourceMappingURL=AcApEllipseCmd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApEllipseCmd.js","sourceRoot":"","sources":["../../src/command/AcApEllipseCmd.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AcApEraseCmd.d.ts","sourceRoot":"","sources":["../../src/command/AcApEraseCmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,WAAW,EAAkB,MAAM,QAAQ,CAAA;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAKxC;;GAEG;AACH,qBAAa,YAAa,SAAQ,WAAW;;IAM3C;;;;OAIG;IACG,OAAO,CAAC,OAAO,EAAE,WAAW;CAwBnC"}
1
+ {"version":3,"file":"AcApEraseCmd.d.ts","sourceRoot":"","sources":["../../src/command/AcApEraseCmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,WAAW,EAAkB,MAAM,QAAQ,CAAA;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAQxC;;GAEG;AACH,qBAAa,YAAa,SAAQ,WAAW;;IAM3C;;;;OAIG;IACG,OAAO,CAAC,OAAO,EAAE,WAAW;CA+BnC"}
@@ -51,7 +51,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
51
51
  };
52
52
  import { AcApAnnotation, AcApDocManager } from '../app';
53
53
  import { AcEdCommand } from '../command';
54
- import { AcEdPromptSelectionOptions } from '../editor/input/prompt';
54
+ import { AcEdPromptSelectionOptions, AcEdPromptStatus } from '../editor/input/prompt';
55
55
  import { AcEdOpenMode } from '../editor/view';
56
56
  import { AcApI18n } from '../i18n';
57
57
  /**
@@ -71,7 +71,7 @@ var AcApEraseCmd = /** @class */ (function (_super) {
71
71
  */
72
72
  AcApEraseCmd.prototype.execute = function (context) {
73
73
  return __awaiter(this, void 0, void 0, function () {
74
- var selectionSet, annotation, ids, message, options, ids;
74
+ var selectionSet, annotation, ids, message, options, selectionResult, ids;
75
75
  return __generator(this, function (_a) {
76
76
  switch (_a.label) {
77
77
  case 0:
@@ -89,11 +89,15 @@ var AcApEraseCmd = /** @class */ (function (_super) {
89
89
  options = new AcEdPromptSelectionOptions(message);
90
90
  return [4 /*yield*/, AcApDocManager.instance.editor.getSelection(options)];
91
91
  case 2:
92
- ids = _a.sent();
93
- if (ids && ids.length > 0) {
92
+ selectionResult = _a.sent();
93
+ if (selectionResult.status === AcEdPromptStatus.OK &&
94
+ selectionResult.value &&
95
+ selectionResult.value.count > 0) {
96
+ ids = selectionResult.value.ids;
94
97
  // If it is in review mode, annotation entities can be deleted only
95
- if (context.doc.openMode == AcEdOpenMode.Review)
96
- ids = annotation.filterAnnotationEntities(selectionSet.ids);
98
+ if (context.doc.openMode == AcEdOpenMode.Review) {
99
+ ids = annotation.filterAnnotationEntities(ids);
100
+ }
97
101
  context.doc.database.tables.blockTable.removeEntity(ids);
98
102
  selectionSet.clear();
99
103
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AcApEraseCmd.js","sourceRoot":"","sources":["../../src/command/AcApEraseCmd.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,cAAc,EAAe,cAAc,EAAE,MAAM,QAAQ,CAAA;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC;;GAEG;AACH;IAAkC,gCAAW;IAC3C;QACE,YAAA,MAAK,WAAE,SAAA;QACP,KAAI,CAAC,IAAI,GAAG,YAAY,CAAC,MAAM,CAAA;;IACjC,CAAC;IAED;;;;OAIG;IACG,8BAAO,GAAb,UAAc,OAAoB;;;;;;wBAC1B,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,CAAA;wBACxC,UAAU,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;6BACvD,CAAA,YAAY,CAAC,KAAK,GAAG,CAAC,CAAA,EAAtB,wBAAsB;wBAElB,GAAG,GACP,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,YAAY,CAAC,MAAM;4BACzC,CAAC,CAAC,UAAU,CAAC,wBAAwB,CAAC,YAAY,CAAC,GAAG,CAAC;4BACvD,CAAC,CAAC,YAAY,CAAC,GAAG,CAAA;wBACtB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;wBACxD,YAAY,CAAC,KAAK,EAAE,CAAA;;;wBAEd,OAAO,GAAG,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;wBACxC,OAAO,GAAG,IAAI,0BAA0B,CAAC,OAAO,CAAC,CAAA;wBAC7C,qBAAM,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,EAAA;;wBAAhE,GAAG,GAAG,SAA0D;wBACpE,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC1B,mEAAmE;4BACnE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,YAAY,CAAC,MAAM;gCAC7C,GAAG,GAAG,UAAU,CAAC,wBAAwB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;4BAC7D,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;4BACxD,YAAY,CAAC,KAAK,EAAE,CAAA;wBACtB,CAAC;;;;;;KAEJ;IACH,mBAAC;AAAD,CAAC,AAnCD,CAAkC,WAAW,GAmC5C"}
1
+ {"version":3,"file":"AcApEraseCmd.js","sourceRoot":"","sources":["../../src/command/AcApEraseCmd.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,cAAc,EAAe,cAAc,EAAE,MAAM,QAAQ,CAAA;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EACL,0BAA0B,EAC1B,gBAAgB,EACjB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC;;GAEG;AACH;IAAkC,gCAAW;IAC3C;QACE,YAAA,MAAK,WAAE,SAAA;QACP,KAAI,CAAC,IAAI,GAAG,YAAY,CAAC,MAAM,CAAA;;IACjC,CAAC;IAED;;;;OAIG;IACG,8BAAO,GAAb,UAAc,OAAoB;;;;;;wBAC1B,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,CAAA;wBACxC,UAAU,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;6BACvD,CAAA,YAAY,CAAC,KAAK,GAAG,CAAC,CAAA,EAAtB,wBAAsB;wBAElB,GAAG,GACP,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,YAAY,CAAC,MAAM;4BACzC,CAAC,CAAC,UAAU,CAAC,wBAAwB,CAAC,YAAY,CAAC,GAAG,CAAC;4BACvD,CAAC,CAAC,YAAY,CAAC,GAAG,CAAA;wBACtB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;wBACxD,YAAY,CAAC,KAAK,EAAE,CAAA;;;wBAEd,OAAO,GAAG,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;wBACxC,OAAO,GAAG,IAAI,0BAA0B,CAAC,OAAO,CAAC,CAAA;wBAErD,qBAAM,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,EAAA;;wBADtD,eAAe,GACnB,SAA0D;wBAC5D,IACE,eAAe,CAAC,MAAM,KAAK,gBAAgB,CAAC,EAAE;4BAC9C,eAAe,CAAC,KAAK;4BACrB,eAAe,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAC/B,CAAC;4BACG,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAA;4BACnC,mEAAmE;4BACnE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;gCAChD,GAAG,GAAG,UAAU,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAA;4BAChD,CAAC;4BACD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;4BACxD,YAAY,CAAC,KAAK,EAAE,CAAA;wBACtB,CAAC;;;;;;KAEJ;IACH,mBAAC;AAAD,CAAC,AA1CD,CAAkC,WAAW,GA0C5C"}