@mlightcad/data-model 1.11.2 → 1.12.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 (388) hide show
  1. package/README.md +19 -12
  2. package/dist/data-model.cjs +15 -12
  3. package/lib/acis/AcDbAcisDecrypt.d.ts +51 -0
  4. package/lib/acis/AcDbAcisDecrypt.d.ts.map +1 -0
  5. package/lib/acis/AcDbAcisDecrypt.js +98 -0
  6. package/lib/acis/AcDbAcisDecrypt.js.map +1 -0
  7. package/lib/acis/index.d.ts +1 -0
  8. package/lib/acis/index.d.ts.map +1 -1
  9. package/lib/acis/index.js +1 -0
  10. package/lib/acis/index.js.map +1 -1
  11. package/lib/base/AcDbDxfFiler.d.ts +140 -4
  12. package/lib/base/AcDbDxfFiler.d.ts.map +1 -1
  13. package/lib/base/AcDbDxfFiler.js +690 -9
  14. package/lib/base/AcDbDxfFiler.js.map +1 -1
  15. package/lib/base/AcDbDxfGroupCodeTypes.d.ts +12 -0
  16. package/lib/base/AcDbDxfGroupCodeTypes.d.ts.map +1 -0
  17. package/lib/base/AcDbDxfGroupCodeTypes.js +96 -0
  18. package/lib/base/AcDbDxfGroupCodeTypes.js.map +1 -0
  19. package/lib/base/AcDbDxfPair.d.ts +38 -0
  20. package/lib/base/AcDbDxfPair.d.ts.map +1 -0
  21. package/lib/base/AcDbDxfPair.js +2 -0
  22. package/lib/base/AcDbDxfPair.js.map +1 -0
  23. package/lib/base/AcDbDxfPairReader.d.ts +65 -0
  24. package/lib/base/AcDbDxfPairReader.d.ts.map +1 -0
  25. package/lib/base/AcDbDxfPairReader.js +539 -0
  26. package/lib/base/AcDbDxfPairReader.js.map +1 -0
  27. package/lib/base/AcDbDxfStringChunks.d.ts +41 -0
  28. package/lib/base/AcDbDxfStringChunks.d.ts.map +1 -0
  29. package/lib/base/AcDbDxfStringChunks.js +121 -0
  30. package/lib/base/AcDbDxfStringChunks.js.map +1 -0
  31. package/lib/base/AcDbObject.d.ts +40 -0
  32. package/lib/base/AcDbObject.d.ts.map +1 -1
  33. package/lib/base/AcDbObject.js +144 -14
  34. package/lib/base/AcDbObject.js.map +1 -1
  35. package/lib/base/index.d.ts +9 -2
  36. package/lib/base/index.d.ts.map +1 -1
  37. package/lib/base/index.js +4 -1
  38. package/lib/base/index.js.map +1 -1
  39. package/lib/converter/AcDbFontNameCollector.d.ts +4 -0
  40. package/lib/converter/AcDbFontNameCollector.d.ts.map +1 -1
  41. package/lib/converter/AcDbFontNameCollector.js +6 -0
  42. package/lib/converter/AcDbFontNameCollector.js.map +1 -1
  43. package/lib/database/AcDbBlockTableRecord.d.ts +18 -2
  44. package/lib/database/AcDbBlockTableRecord.d.ts.map +1 -1
  45. package/lib/database/AcDbBlockTableRecord.js +67 -2
  46. package/lib/database/AcDbBlockTableRecord.js.map +1 -1
  47. package/lib/database/AcDbDatabase.d.ts +71 -8
  48. package/lib/database/AcDbDatabase.d.ts.map +1 -1
  49. package/lib/database/AcDbDatabase.js +381 -76
  50. package/lib/database/AcDbDatabase.js.map +1 -1
  51. package/lib/database/AcDbDatabaseConverterManager.d.ts +5 -0
  52. package/lib/database/AcDbDatabaseConverterManager.d.ts.map +1 -1
  53. package/lib/database/AcDbDatabaseConverterManager.js +5 -0
  54. package/lib/database/AcDbDatabaseConverterManager.js.map +1 -1
  55. package/lib/database/AcDbDimStyleTableRecord.d.ts +9 -0
  56. package/lib/database/AcDbDimStyleTableRecord.d.ts.map +1 -1
  57. package/lib/database/AcDbDimStyleTableRecord.js +277 -0
  58. package/lib/database/AcDbDimStyleTableRecord.js.map +1 -1
  59. package/lib/database/AcDbDwgVersion.d.ts +37 -0
  60. package/lib/database/AcDbDwgVersion.d.ts.map +1 -1
  61. package/lib/database/AcDbDwgVersion.js +31 -6
  62. package/lib/database/AcDbDwgVersion.js.map +1 -1
  63. package/lib/database/AcDbLayerTableRecord.d.ts +1 -0
  64. package/lib/database/AcDbLayerTableRecord.d.ts.map +1 -1
  65. package/lib/database/AcDbLayerTableRecord.js +52 -1
  66. package/lib/database/AcDbLayerTableRecord.js.map +1 -1
  67. package/lib/database/AcDbLinetypeTableRecord.d.ts +1 -0
  68. package/lib/database/AcDbLinetypeTableRecord.d.ts.map +1 -1
  69. package/lib/database/AcDbLinetypeTableRecord.js +60 -0
  70. package/lib/database/AcDbLinetypeTableRecord.js.map +1 -1
  71. package/lib/database/AcDbRegAppTableRecord.d.ts +1 -0
  72. package/lib/database/AcDbRegAppTableRecord.d.ts.map +1 -1
  73. package/lib/database/AcDbRegAppTableRecord.js +26 -0
  74. package/lib/database/AcDbRegAppTableRecord.js.map +1 -1
  75. package/lib/database/AcDbSystemVariables.d.ts +3 -1
  76. package/lib/database/AcDbSystemVariables.d.ts.map +1 -1
  77. package/lib/database/AcDbSystemVariables.js +2 -0
  78. package/lib/database/AcDbSystemVariables.js.map +1 -1
  79. package/lib/database/AcDbTextStyleTableRecord.d.ts +9 -0
  80. package/lib/database/AcDbTextStyleTableRecord.d.ts.map +1 -1
  81. package/lib/database/AcDbTextStyleTableRecord.js +101 -0
  82. package/lib/database/AcDbTextStyleTableRecord.js.map +1 -1
  83. package/lib/database/AcDbUcsTable.d.ts +15 -0
  84. package/lib/database/AcDbUcsTable.d.ts.map +1 -0
  85. package/lib/database/AcDbUcsTable.js +33 -0
  86. package/lib/database/AcDbUcsTable.js.map +1 -0
  87. package/lib/database/AcDbUcsTableRecord.d.ts +75 -0
  88. package/lib/database/AcDbUcsTableRecord.d.ts.map +1 -0
  89. package/lib/database/AcDbUcsTableRecord.js +240 -0
  90. package/lib/database/AcDbUcsTableRecord.js.map +1 -0
  91. package/lib/database/AcDbViewTableRecord.d.ts +9 -0
  92. package/lib/database/AcDbViewTableRecord.d.ts.map +1 -1
  93. package/lib/database/AcDbViewTableRecord.js +148 -0
  94. package/lib/database/AcDbViewTableRecord.js.map +1 -1
  95. package/lib/database/AcDbViewportTableRecord.d.ts +8 -0
  96. package/lib/database/AcDbViewportTableRecord.d.ts.map +1 -1
  97. package/lib/database/AcDbViewportTableRecord.js +253 -1
  98. package/lib/database/AcDbViewportTableRecord.js.map +1 -1
  99. package/lib/database/index.d.ts +4 -1
  100. package/lib/database/index.d.ts.map +1 -1
  101. package/lib/database/index.js +2 -0
  102. package/lib/database/index.js.map +1 -1
  103. package/lib/dxf/AcDbDxfAcdsDataReader.d.ts +25 -0
  104. package/lib/dxf/AcDbDxfAcdsDataReader.d.ts.map +1 -0
  105. package/lib/dxf/AcDbDxfAcdsDataReader.js +98 -0
  106. package/lib/dxf/AcDbDxfAcdsDataReader.js.map +1 -0
  107. package/lib/dxf/AcDbDxfDimensionAssembler.d.ts +10 -0
  108. package/lib/dxf/AcDbDxfDimensionAssembler.d.ts.map +1 -0
  109. package/lib/dxf/AcDbDxfDimensionAssembler.js +149 -0
  110. package/lib/dxf/AcDbDxfDimensionAssembler.js.map +1 -0
  111. package/lib/dxf/AcDbDxfDocumentReader.d.ts +101 -0
  112. package/lib/dxf/AcDbDxfDocumentReader.d.ts.map +1 -0
  113. package/lib/dxf/AcDbDxfDocumentReader.js +1100 -0
  114. package/lib/dxf/AcDbDxfDocumentReader.js.map +1 -0
  115. package/lib/dxf/AcDbDxfEntityFactory.d.ts +14 -0
  116. package/lib/dxf/AcDbDxfEntityFactory.d.ts.map +1 -0
  117. package/lib/dxf/AcDbDxfEntityFactory.js +147 -0
  118. package/lib/dxf/AcDbDxfEntityFactory.js.map +1 -0
  119. package/lib/dxf/AcDbDxfHeaderReader.d.ts +9 -0
  120. package/lib/dxf/AcDbDxfHeaderReader.d.ts.map +1 -0
  121. package/lib/dxf/AcDbDxfHeaderReader.js +248 -0
  122. package/lib/dxf/AcDbDxfHeaderReader.js.map +1 -0
  123. package/lib/dxf/AcDbDxfObjectsReader.d.ts +38 -0
  124. package/lib/dxf/AcDbDxfObjectsReader.d.ts.map +1 -0
  125. package/lib/dxf/AcDbDxfObjectsReader.js +533 -0
  126. package/lib/dxf/AcDbDxfObjectsReader.js.map +1 -0
  127. package/lib/dxf/AcDbDxfPairArrayReader.d.ts +27 -0
  128. package/lib/dxf/AcDbDxfPairArrayReader.d.ts.map +1 -0
  129. package/lib/dxf/AcDbDxfPairArrayReader.js +69 -0
  130. package/lib/dxf/AcDbDxfPairArrayReader.js.map +1 -0
  131. package/lib/dxf/AcDbDxfPolylineAssembler.d.ts +11 -0
  132. package/lib/dxf/AcDbDxfPolylineAssembler.d.ts.map +1 -0
  133. package/lib/dxf/AcDbDxfPolylineAssembler.js +318 -0
  134. package/lib/dxf/AcDbDxfPolylineAssembler.js.map +1 -0
  135. package/lib/dxf/AcDbDxfVersionCaps.d.ts +8 -0
  136. package/lib/dxf/AcDbDxfVersionCaps.d.ts.map +1 -0
  137. package/lib/dxf/AcDbDxfVersionCaps.js +18 -0
  138. package/lib/dxf/AcDbDxfVersionCaps.js.map +1 -0
  139. package/lib/dxf/AcDbNativeDxfConverter.d.ts +30 -0
  140. package/lib/dxf/AcDbNativeDxfConverter.d.ts.map +1 -0
  141. package/lib/dxf/AcDbNativeDxfConverter.js +266 -0
  142. package/lib/dxf/AcDbNativeDxfConverter.js.map +1 -0
  143. package/lib/dxf/index.d.ts +12 -0
  144. package/lib/dxf/index.d.ts.map +1 -0
  145. package/lib/dxf/index.js +9 -0
  146. package/lib/dxf/index.js.map +1 -0
  147. package/lib/dxf/registerNativeDxfConverter.d.ts +2 -0
  148. package/lib/dxf/registerNativeDxfConverter.d.ts.map +1 -0
  149. package/lib/dxf/registerNativeDxfConverter.js +12 -0
  150. package/lib/dxf/registerNativeDxfConverter.js.map +1 -0
  151. package/lib/entity/AcDb3dSolid.d.ts +43 -0
  152. package/lib/entity/AcDb3dSolid.d.ts.map +1 -1
  153. package/lib/entity/AcDb3dSolid.js +154 -16
  154. package/lib/entity/AcDb3dSolid.js.map +1 -1
  155. package/lib/entity/AcDbArc.d.ts +9 -0
  156. package/lib/entity/AcDbArc.d.ts.map +1 -1
  157. package/lib/entity/AcDbArc.js +107 -3
  158. package/lib/entity/AcDbArc.js.map +1 -1
  159. package/lib/entity/AcDbAttribute.d.ts +1 -0
  160. package/lib/entity/AcDbAttribute.d.ts.map +1 -1
  161. package/lib/entity/AcDbAttribute.js +44 -0
  162. package/lib/entity/AcDbAttribute.js.map +1 -1
  163. package/lib/entity/AcDbAttributeDefinition.d.ts +1 -0
  164. package/lib/entity/AcDbAttributeDefinition.d.ts.map +1 -1
  165. package/lib/entity/AcDbAttributeDefinition.js +47 -0
  166. package/lib/entity/AcDbAttributeDefinition.js.map +1 -1
  167. package/lib/entity/AcDbBlockReference.d.ts +26 -0
  168. package/lib/entity/AcDbBlockReference.d.ts.map +1 -1
  169. package/lib/entity/AcDbBlockReference.js +185 -5
  170. package/lib/entity/AcDbBlockReference.js.map +1 -1
  171. package/lib/entity/AcDbCircle.d.ts +9 -0
  172. package/lib/entity/AcDbCircle.d.ts.map +1 -1
  173. package/lib/entity/AcDbCircle.js +73 -1
  174. package/lib/entity/AcDbCircle.js.map +1 -1
  175. package/lib/entity/AcDbEllipse.d.ts +2 -0
  176. package/lib/entity/AcDbEllipse.d.ts.map +1 -1
  177. package/lib/entity/AcDbEllipse.js +71 -0
  178. package/lib/entity/AcDbEllipse.js.map +1 -1
  179. package/lib/entity/AcDbEntity.d.ts +12 -0
  180. package/lib/entity/AcDbEntity.d.ts.map +1 -1
  181. package/lib/entity/AcDbEntity.js +91 -1
  182. package/lib/entity/AcDbEntity.js.map +1 -1
  183. package/lib/entity/AcDbFace.d.ts +1 -0
  184. package/lib/entity/AcDbFace.d.ts.map +1 -1
  185. package/lib/entity/AcDbFace.js +49 -1
  186. package/lib/entity/AcDbFace.js.map +1 -1
  187. package/lib/entity/AcDbFcf.d.ts +1 -0
  188. package/lib/entity/AcDbFcf.d.ts.map +1 -1
  189. package/lib/entity/AcDbFcf.js +71 -0
  190. package/lib/entity/AcDbFcf.js.map +1 -1
  191. package/lib/entity/AcDbHatch.d.ts +17 -0
  192. package/lib/entity/AcDbHatch.d.ts.map +1 -1
  193. package/lib/entity/AcDbHatch.js +629 -4
  194. package/lib/entity/AcDbHatch.js.map +1 -1
  195. package/lib/entity/AcDbLeader.d.ts +1 -0
  196. package/lib/entity/AcDbLeader.d.ts.map +1 -1
  197. package/lib/entity/AcDbLeader.js +135 -0
  198. package/lib/entity/AcDbLeader.js.map +1 -1
  199. package/lib/entity/AcDbLine.d.ts +16 -1
  200. package/lib/entity/AcDbLine.d.ts.map +1 -1
  201. package/lib/entity/AcDbLine.js +102 -3
  202. package/lib/entity/AcDbLine.js.map +1 -1
  203. package/lib/entity/AcDbMLeader.d.ts +22 -0
  204. package/lib/entity/AcDbMLeader.d.ts.map +1 -1
  205. package/lib/entity/AcDbMLeader.js +871 -11
  206. package/lib/entity/AcDbMLeader.js.map +1 -1
  207. package/lib/entity/AcDbMLine.d.ts +1 -0
  208. package/lib/entity/AcDbMLine.d.ts.map +1 -1
  209. package/lib/entity/AcDbMLine.js +168 -0
  210. package/lib/entity/AcDbMLine.js.map +1 -1
  211. package/lib/entity/AcDbMText.d.ts +46 -1
  212. package/lib/entity/AcDbMText.d.ts.map +1 -1
  213. package/lib/entity/AcDbMText.js +278 -4
  214. package/lib/entity/AcDbMText.js.map +1 -1
  215. package/lib/entity/AcDbOle2Frame.d.ts +1 -0
  216. package/lib/entity/AcDbOle2Frame.d.ts.map +1 -1
  217. package/lib/entity/AcDbOle2Frame.js +83 -1
  218. package/lib/entity/AcDbOle2Frame.js.map +1 -1
  219. package/lib/entity/AcDbOleFrame.d.ts +1 -0
  220. package/lib/entity/AcDbOleFrame.d.ts.map +1 -1
  221. package/lib/entity/AcDbOleFrame.js +44 -1
  222. package/lib/entity/AcDbOleFrame.js.map +1 -1
  223. package/lib/entity/AcDbPoint.d.ts +27 -1
  224. package/lib/entity/AcDbPoint.d.ts.map +1 -1
  225. package/lib/entity/AcDbPoint.js +113 -2
  226. package/lib/entity/AcDbPoint.js.map +1 -1
  227. package/lib/entity/AcDbPolyline.d.ts +22 -1
  228. package/lib/entity/AcDbPolyline.d.ts.map +1 -1
  229. package/lib/entity/AcDbPolyline.js +195 -1
  230. package/lib/entity/AcDbPolyline.js.map +1 -1
  231. package/lib/entity/AcDbProxyEntity.d.ts +4 -2
  232. package/lib/entity/AcDbProxyEntity.d.ts.map +1 -1
  233. package/lib/entity/AcDbProxyEntity.js +55 -3
  234. package/lib/entity/AcDbProxyEntity.js.map +1 -1
  235. package/lib/entity/AcDbRasterImage.d.ts +16 -0
  236. package/lib/entity/AcDbRasterImage.d.ts.map +1 -1
  237. package/lib/entity/AcDbRasterImage.js +156 -0
  238. package/lib/entity/AcDbRasterImage.js.map +1 -1
  239. package/lib/entity/AcDbRay.d.ts +1 -0
  240. package/lib/entity/AcDbRay.d.ts.map +1 -1
  241. package/lib/entity/AcDbRay.js +42 -0
  242. package/lib/entity/AcDbRay.js.map +1 -1
  243. package/lib/entity/AcDbShape.d.ts +1 -0
  244. package/lib/entity/AcDbShape.d.ts.map +1 -1
  245. package/lib/entity/AcDbShape.js +76 -1
  246. package/lib/entity/AcDbShape.js.map +1 -1
  247. package/lib/entity/AcDbSpline.d.ts +23 -1
  248. package/lib/entity/AcDbSpline.d.ts.map +1 -1
  249. package/lib/entity/AcDbSpline.js +226 -1
  250. package/lib/entity/AcDbSpline.js.map +1 -1
  251. package/lib/entity/AcDbTable.d.ts +5 -0
  252. package/lib/entity/AcDbTable.d.ts.map +1 -1
  253. package/lib/entity/AcDbTable.js +265 -1
  254. package/lib/entity/AcDbTable.js.map +1 -1
  255. package/lib/entity/AcDbText.d.ts +25 -1
  256. package/lib/entity/AcDbText.d.ts.map +1 -1
  257. package/lib/entity/AcDbText.js +175 -1
  258. package/lib/entity/AcDbText.js.map +1 -1
  259. package/lib/entity/AcDbTextExtentsHelpers.d.ts +2 -2
  260. package/lib/entity/AcDbTextExtentsHelpers.js +3 -3
  261. package/lib/entity/AcDbTextExtentsHelpers.js.map +1 -1
  262. package/lib/entity/AcDbTrace.d.ts +9 -1
  263. package/lib/entity/AcDbTrace.d.ts.map +1 -1
  264. package/lib/entity/AcDbTrace.js +84 -5
  265. package/lib/entity/AcDbTrace.js.map +1 -1
  266. package/lib/entity/AcDbViewport.d.ts +174 -0
  267. package/lib/entity/AcDbViewport.d.ts.map +1 -1
  268. package/lib/entity/AcDbViewport.js +890 -1
  269. package/lib/entity/AcDbViewport.js.map +1 -1
  270. package/lib/entity/AcDbXline.d.ts +1 -0
  271. package/lib/entity/AcDbXline.d.ts.map +1 -1
  272. package/lib/entity/AcDbXline.js +42 -0
  273. package/lib/entity/AcDbXline.js.map +1 -1
  274. package/lib/entity/dimension/AcDb3PointAngularDimension.d.ts +1 -0
  275. package/lib/entity/dimension/AcDb3PointAngularDimension.d.ts.map +1 -1
  276. package/lib/entity/dimension/AcDb3PointAngularDimension.js +163 -0
  277. package/lib/entity/dimension/AcDb3PointAngularDimension.js.map +1 -1
  278. package/lib/entity/dimension/AcDbAlignedDimension.d.ts +2 -0
  279. package/lib/entity/dimension/AcDbAlignedDimension.d.ts.map +1 -1
  280. package/lib/entity/dimension/AcDbAlignedDimension.js +109 -2
  281. package/lib/entity/dimension/AcDbAlignedDimension.js.map +1 -1
  282. package/lib/entity/dimension/AcDbArcDimension.d.ts +1 -0
  283. package/lib/entity/dimension/AcDbArcDimension.d.ts.map +1 -1
  284. package/lib/entity/dimension/AcDbArcDimension.js +68 -0
  285. package/lib/entity/dimension/AcDbArcDimension.js.map +1 -1
  286. package/lib/entity/dimension/AcDbDiametricDimension.d.ts +1 -0
  287. package/lib/entity/dimension/AcDbDiametricDimension.d.ts.map +1 -1
  288. package/lib/entity/dimension/AcDbDiametricDimension.js +77 -0
  289. package/lib/entity/dimension/AcDbDiametricDimension.js.map +1 -1
  290. package/lib/entity/dimension/AcDbDimension.d.ts +50 -1
  291. package/lib/entity/dimension/AcDbDimension.d.ts.map +1 -1
  292. package/lib/entity/dimension/AcDbDimension.js +176 -5
  293. package/lib/entity/dimension/AcDbDimension.js.map +1 -1
  294. package/lib/entity/dimension/AcDbOrdinateDimension.d.ts +1 -0
  295. package/lib/entity/dimension/AcDbOrdinateDimension.d.ts.map +1 -1
  296. package/lib/entity/dimension/AcDbOrdinateDimension.js +46 -0
  297. package/lib/entity/dimension/AcDbOrdinateDimension.js.map +1 -1
  298. package/lib/entity/dimension/AcDbRadialDimension.d.ts +1 -0
  299. package/lib/entity/dimension/AcDbRadialDimension.d.ts.map +1 -1
  300. package/lib/entity/dimension/AcDbRadialDimension.js +69 -0
  301. package/lib/entity/dimension/AcDbRadialDimension.js.map +1 -1
  302. package/lib/index.d.ts +8 -6
  303. package/lib/index.d.ts.map +1 -1
  304. package/lib/index.js +8 -4
  305. package/lib/index.js.map +1 -1
  306. package/lib/ly/AcLyLayerFilterIO.d.ts.map +1 -1
  307. package/lib/ly/AcLyLayerFilterIO.js +5 -0
  308. package/lib/ly/AcLyLayerFilterIO.js.map +1 -1
  309. package/lib/misc/AcDbMemoryEstimator.d.ts.map +1 -1
  310. package/lib/misc/AcDbMemoryEstimator.js +3 -0
  311. package/lib/misc/AcDbMemoryEstimator.js.map +1 -1
  312. package/lib/misc/AcDbPreviewIcon.d.ts +11 -0
  313. package/lib/misc/AcDbPreviewIcon.d.ts.map +1 -1
  314. package/lib/misc/AcDbPreviewIcon.js +39 -3
  315. package/lib/misc/AcDbPreviewIcon.js.map +1 -1
  316. package/lib/misc/index.d.ts +2 -2
  317. package/lib/misc/index.d.ts.map +1 -1
  318. package/lib/misc/index.js +2 -2
  319. package/lib/misc/index.js.map +1 -1
  320. package/lib/misc/proxyGraphic/AcDbProxyGraphic.d.ts +6 -5
  321. package/lib/misc/proxyGraphic/AcDbProxyGraphic.d.ts.map +1 -1
  322. package/lib/misc/proxyGraphic/AcDbProxyGraphic.js +9 -36
  323. package/lib/misc/proxyGraphic/AcDbProxyGraphic.js.map +1 -1
  324. package/lib/misc/proxyGraphic/AcDbProxyGraphicBinaryStream.d.ts +12 -0
  325. package/lib/misc/proxyGraphic/AcDbProxyGraphicBinaryStream.d.ts.map +1 -1
  326. package/lib/misc/proxyGraphic/AcDbProxyGraphicBinaryStream.js +54 -0
  327. package/lib/misc/proxyGraphic/AcDbProxyGraphicBinaryStream.js.map +1 -1
  328. package/lib/misc/proxyGraphic/index.d.ts +1 -1
  329. package/lib/misc/proxyGraphic/index.d.ts.map +1 -1
  330. package/lib/misc/proxyGraphic/index.js +1 -1
  331. package/lib/misc/proxyGraphic/index.js.map +1 -1
  332. package/lib/object/AcDbDictionary.d.ts +7 -0
  333. package/lib/object/AcDbDictionary.d.ts.map +1 -1
  334. package/lib/object/AcDbDictionary.js +35 -0
  335. package/lib/object/AcDbDictionary.js.map +1 -1
  336. package/lib/object/AcDbFilter.d.ts +95 -0
  337. package/lib/object/AcDbFilter.d.ts.map +1 -1
  338. package/lib/object/AcDbFilter.js +256 -1
  339. package/lib/object/AcDbFilter.js.map +1 -1
  340. package/lib/object/AcDbGroup.d.ts +26 -0
  341. package/lib/object/AcDbGroup.d.ts.map +1 -0
  342. package/lib/object/AcDbGroup.js +171 -0
  343. package/lib/object/AcDbGroup.js.map +1 -0
  344. package/lib/object/AcDbIndex.d.ts +1 -0
  345. package/lib/object/AcDbIndex.d.ts.map +1 -1
  346. package/lib/object/AcDbIndex.js +23 -0
  347. package/lib/object/AcDbIndex.js.map +1 -1
  348. package/lib/object/AcDbLayerFilter.d.ts +1 -0
  349. package/lib/object/AcDbLayerFilter.d.ts.map +1 -1
  350. package/lib/object/AcDbLayerFilter.js +21 -0
  351. package/lib/object/AcDbLayerFilter.js.map +1 -1
  352. package/lib/object/AcDbLayerIndex.d.ts +1 -0
  353. package/lib/object/AcDbLayerIndex.d.ts.map +1 -1
  354. package/lib/object/AcDbLayerIndex.js +38 -0
  355. package/lib/object/AcDbLayerIndex.js.map +1 -1
  356. package/lib/object/AcDbMLeaderStyle.d.ts +1 -0
  357. package/lib/object/AcDbMLeaderStyle.d.ts.map +1 -1
  358. package/lib/object/AcDbMLeaderStyle.js +158 -1
  359. package/lib/object/AcDbMLeaderStyle.js.map +1 -1
  360. package/lib/object/AcDbMlineStyle.d.ts +2 -0
  361. package/lib/object/AcDbMlineStyle.d.ts.map +1 -1
  362. package/lib/object/AcDbMlineStyle.js +88 -0
  363. package/lib/object/AcDbMlineStyle.js.map +1 -1
  364. package/lib/object/AcDbRasterImageDef.d.ts +49 -0
  365. package/lib/object/AcDbRasterImageDef.d.ts.map +1 -1
  366. package/lib/object/AcDbRasterImageDef.js +136 -2
  367. package/lib/object/AcDbRasterImageDef.js.map +1 -1
  368. package/lib/object/AcDbSortentsTable.d.ts +14 -0
  369. package/lib/object/AcDbSortentsTable.d.ts.map +1 -0
  370. package/lib/object/AcDbSortentsTable.js +122 -0
  371. package/lib/object/AcDbSortentsTable.js.map +1 -0
  372. package/lib/object/AcDbXrecord.d.ts +8 -0
  373. package/lib/object/AcDbXrecord.d.ts.map +1 -1
  374. package/lib/object/AcDbXrecord.js +43 -2
  375. package/lib/object/AcDbXrecord.js.map +1 -1
  376. package/lib/object/index.d.ts +2 -0
  377. package/lib/object/index.d.ts.map +1 -1
  378. package/lib/object/index.js +2 -0
  379. package/lib/object/index.js.map +1 -1
  380. package/lib/object/layout/AcDbLayout.d.ts +60 -1
  381. package/lib/object/layout/AcDbLayout.d.ts.map +1 -1
  382. package/lib/object/layout/AcDbLayout.js +237 -1
  383. package/lib/object/layout/AcDbLayout.js.map +1 -1
  384. package/lib/object/layout/AcDbPlotSettings.d.ts +11 -0
  385. package/lib/object/layout/AcDbPlotSettings.d.ts.map +1 -1
  386. package/lib/object/layout/AcDbPlotSettings.js +143 -0
  387. package/lib/object/layout/AcDbPlotSettings.js.map +1 -1
  388. package/package.json +6 -5
@@ -49,7 +49,7 @@ var __values = (this && this.__values) || function(o) {
49
49
  };
50
50
  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
51
51
  };
52
- import { AcCmColor, AcCmColorMethod, AcCmTransparency } from '@mlightcad/common';
52
+ import { AcCmColor, AcCmColorMethod, AcCmColorUtil, AcCmTransparency } from '@mlightcad/common';
53
53
  import { AcGeArea2d, AcGeBox3d, AcGeCircArc2d, AcGeEllipseArc2d, AcGeLine2d, AcGeLoop2d, AcGeMatrix2d, AcGePoint2d, AcGePoint3d, AcGePolyline2d, AcGeSpline3d } from '@mlightcad/geometry-engine';
54
54
  import { AcDbSystemVariables } from '../database/AcDbSystemVariables';
55
55
  import { AcDbSysVarManager } from '../database/AcDbSysVarManager';
@@ -218,6 +218,7 @@ var AcDbHatch = /** @class */ (function (_super) {
218
218
  _this._shadeTintValue = 0;
219
219
  _this._gradientStartColor = undefined;
220
220
  _this._gradientEndColor = undefined;
221
+ _this._pixelSize = undefined;
221
222
  _this._gradientType = AcDbGradientPatternType.PreDefinedGradient;
222
223
  _this._gradientName = '';
223
224
  _this._gradientOneColorMode = false;
@@ -604,6 +605,24 @@ var AcDbHatch = /** @class */ (function (_super) {
604
605
  enumerable: false,
605
606
  configurable: true
606
607
  });
608
+ Object.defineProperty(AcDbHatch.prototype, "pixelSize", {
609
+ /**
610
+ * Gets the pixel size used for intersection/ray-casting density
611
+ * calculations (DXF group 47), for associative or Flood-method hatches.
612
+ */
613
+ get: function () {
614
+ return this._pixelSize;
615
+ },
616
+ /**
617
+ * Sets the pixel size used for intersection/ray-casting density
618
+ * calculations (DXF group 47).
619
+ */
620
+ set: function (value) {
621
+ this._pixelSize = value;
622
+ },
623
+ enumerable: false,
624
+ configurable: true
625
+ });
607
626
  /**
608
627
  * Applies the current hatch-related system variables as persistent defaults
609
628
  * when this hatch is first added to a database.
@@ -1593,19 +1612,625 @@ var AcDbHatch = /** @class */ (function (_super) {
1593
1612
  filer.writeInt16(79, line.dashLengths.length);
1594
1613
  line.dashLengths.forEach(function (length) { return filer.writeDouble(49, length); });
1595
1614
  });
1596
- // Gradient fill parameters
1615
+ if (this._pixelSize != null) {
1616
+ filer.writeDouble(47, this._pixelSize);
1617
+ }
1618
+ // Gradient fill parameters (DXF group 460 is radians, not degrees).
1597
1619
  if (this.isGradient) {
1598
1620
  filer.writeInt16(450, this._hatchObjectType);
1599
1621
  filer.writeInt16(451, 0);
1600
- filer.writeInt16(452, this._gradientOneColorMode ? 1 : 0);
1601
- filer.writeAngle(460, this._gradientAngle);
1622
+ filer.writeDouble(460, this._gradientAngle);
1602
1623
  filer.writeDouble(461, this._gradientShift);
1624
+ filer.writeInt16(452, this._gradientOneColorMode ? 1 : 0);
1625
+ filer.writeDouble(462, this._shadeTintValue);
1626
+ var startColor = this._gradientStartColor;
1627
+ var endColor = this._gradientEndColor;
1628
+ var colorCount = startColor != null && endColor != null
1629
+ ? 2
1630
+ : startColor != null || endColor != null
1631
+ ? 1
1632
+ : 0;
1633
+ filer.writeInt16(453, colorCount);
1634
+ var writeGradientColor = function (position, rgb) {
1635
+ filer.writeDouble(463, position);
1636
+ var aci = AcCmColorUtil.getIndexByColor(rgb);
1637
+ if (aci != null) {
1638
+ filer.writeInt16(63, aci);
1639
+ }
1640
+ filer.writeInt32(421, rgb);
1641
+ };
1642
+ if (startColor != null) {
1643
+ writeGradientColor(0, startColor);
1644
+ }
1645
+ if (endColor != null) {
1646
+ writeGradientColor(1, endColor);
1647
+ }
1603
1648
  filer.writeString(470, this.gradientName);
1604
1649
  }
1605
1650
  // TODO: Write the number of seed points
1606
1651
  filer.writeInt16(98, 0);
1607
1652
  return this;
1608
1653
  };
1654
+ AcDbHatch.prototype.dxfInFields = function (filer) {
1655
+ var _this = this;
1656
+ _super.prototype.dxfInFields.call(this, filer);
1657
+ filer.atSubclassData('AcDbHatch');
1658
+ this.definitionLines.length = 0;
1659
+ var elevation = this.elevation;
1660
+ var patternAngleDeg = (this.patternAngle * 180) / Math.PI;
1661
+ var boundaryFlag = 0;
1662
+ var isPolylineBoundary = false;
1663
+ var hasBulge = false;
1664
+ var polyClosed = false;
1665
+ var expectedVertices = 0;
1666
+ var expectedEdges = 0;
1667
+ var pendingVertices = [];
1668
+ var pendingVertex = null;
1669
+ var edges = [];
1670
+ var currentEdge = null;
1671
+ var edgePhase = 'type';
1672
+ var loopsRemaining = 0;
1673
+ var inPatternLines = false;
1674
+ var currentPatternLine = null;
1675
+ var expectedDashes = 0;
1676
+ void expectedDashes;
1677
+ var afterBoundaries = false;
1678
+ var gradientColorIndex = 0;
1679
+ var pendingGradientAci;
1680
+ var applyGradientRgb = function (rgb) {
1681
+ if (gradientColorIndex === 0) {
1682
+ _this.gradientStartColor = rgb;
1683
+ }
1684
+ else {
1685
+ _this.gradientEndColor = rgb;
1686
+ }
1687
+ gradientColorIndex++;
1688
+ pendingGradientAci = undefined;
1689
+ };
1690
+ var flushPendingGradientAci = function () {
1691
+ if (pendingGradientAci == null)
1692
+ return;
1693
+ var rgb = AcCmColorUtil.getColorByIndex(pendingGradientAci);
1694
+ if (rgb != null) {
1695
+ applyGradientRgb(rgb);
1696
+ }
1697
+ else {
1698
+ pendingGradientAci = undefined;
1699
+ }
1700
+ };
1701
+ var flushVertex = function () {
1702
+ if (pendingVertex) {
1703
+ pendingVertices.push(pendingVertex);
1704
+ pendingVertex = null;
1705
+ }
1706
+ };
1707
+ var flushPolylineLoop = function () {
1708
+ flushVertex();
1709
+ if (pendingVertices.length === 0)
1710
+ return;
1711
+ var polyline = new AcGePolyline2d();
1712
+ polyline.closed = polyClosed;
1713
+ pendingVertices.forEach(function (vertex, index) {
1714
+ var _a;
1715
+ polyline.addVertexAt(index, {
1716
+ x: vertex.x,
1717
+ y: vertex.y,
1718
+ bulge: (_a = vertex.bulge) !== null && _a !== void 0 ? _a : 0
1719
+ });
1720
+ });
1721
+ _this.add(polyline);
1722
+ pendingVertices = [];
1723
+ };
1724
+ var flushEdgeLoop = function () {
1725
+ var e_3, _a;
1726
+ if (edges.length === 0)
1727
+ return;
1728
+ var built = [];
1729
+ // Convert edges to geometry types (mirrors AcDbEntityConverter.convertHatch).
1730
+ var geoEdges = [];
1731
+ var _loop_3 = function (edge) {
1732
+ if (edge.kind === 'line') {
1733
+ geoEdges.push(new AcGeLine2d({ x: edge.sx, y: edge.sy }, { x: edge.ex, y: edge.ey }));
1734
+ }
1735
+ else if (edge.kind === 'arc') {
1736
+ geoEdges.push(new AcGeCircArc2d({ x: edge.cx, y: edge.cy }, edge.radius, (edge.startDeg * Math.PI) / 180, (edge.endDeg * Math.PI) / 180, !edge.isCcw));
1737
+ }
1738
+ else if (edge.kind === 'ellipse') {
1739
+ var majorAxisRadius = Math.hypot(edge.mx, edge.my);
1740
+ var minorAxisRadius = majorAxisRadius * edge.ratio;
1741
+ var startAngle = (edge.startDeg * Math.PI) / 180;
1742
+ var endAngle = (edge.endDeg * Math.PI) / 180;
1743
+ var rotation = Math.atan2(edge.my, edge.mx);
1744
+ if (!edge.isCcw) {
1745
+ startAngle = Math.PI * 2 - startAngle;
1746
+ endAngle = Math.PI * 2 - endAngle;
1747
+ }
1748
+ geoEdges.push(new AcGeEllipseArc2d({ x: edge.cx, y: edge.cy, z: 0 }, majorAxisRadius, minorAxisRadius, startAngle, endAngle, !edge.isCcw, rotation));
1749
+ }
1750
+ else {
1751
+ var spline = AcGeSpline3d.fromDwgSplineEdge({
1752
+ degree: edge.degree,
1753
+ numberOfControlPoints: edge.controlPoints.length,
1754
+ numberOfKnots: edge.knots.length,
1755
+ numberOfFitData: edge.fitPoints.length,
1756
+ knots: edge.knots,
1757
+ controlPoints: edge.controlPoints.map(function (p) {
1758
+ var _a;
1759
+ return ({
1760
+ x: p.x,
1761
+ y: p.y,
1762
+ z: 0,
1763
+ weight: edge.rational ? ((_a = p.weight) !== null && _a !== void 0 ? _a : 1) : undefined
1764
+ });
1765
+ }),
1766
+ fitDatum: edge.fitPoints.map(function (p) { return ({ x: p.x, y: p.y, z: 0 }); }),
1767
+ startTangent: null,
1768
+ endTangent: null
1769
+ });
1770
+ if (spline)
1771
+ geoEdges.push(spline);
1772
+ }
1773
+ };
1774
+ try {
1775
+ for (var edges_1 = __values(edges), edges_1_1 = edges_1.next(); !edges_1_1.done; edges_1_1 = edges_1.next()) {
1776
+ var edge = edges_1_1.value;
1777
+ _loop_3(edge);
1778
+ }
1779
+ }
1780
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
1781
+ finally {
1782
+ try {
1783
+ if (edges_1_1 && !edges_1_1.done && (_a = edges_1.return)) _a.call(edges_1);
1784
+ }
1785
+ finally { if (e_3) throw e_3.error; }
1786
+ }
1787
+ var loops = AcGeLoop2d.buildFromEdges(geoEdges);
1788
+ if (loops.length === 0 && geoEdges.length > 0) {
1789
+ _this.add(new AcGeLoop2d(geoEdges));
1790
+ }
1791
+ else {
1792
+ loops.forEach(function (loop) { return _this.add(loop); });
1793
+ }
1794
+ void built;
1795
+ edges = [];
1796
+ currentEdge = null;
1797
+ };
1798
+ var flushCurrentLoop = function () {
1799
+ if (isPolylineBoundary) {
1800
+ flushPolylineLoop();
1801
+ }
1802
+ else {
1803
+ flushEdgeLoop();
1804
+ }
1805
+ };
1806
+ /** Commit the in-progress edge into `edges` before ending a path. */
1807
+ var commitCurrentEdge = function () {
1808
+ if (currentEdge) {
1809
+ edges.push(currentEdge);
1810
+ currentEdge = null;
1811
+ }
1812
+ };
1813
+ /**
1814
+ * End the current boundary path (source-boundary count / next path).
1815
+ * Matches dxf-json: spline edge owns its own group 97 (fit count); the
1816
+ * following group 97 is the path-level source-boundary object count.
1817
+ */
1818
+ var endCurrentPath = function () {
1819
+ commitCurrentEdge();
1820
+ flushCurrentLoop();
1821
+ loopsRemaining = Math.max(0, loopsRemaining - 1);
1822
+ if (loopsRemaining === 0) {
1823
+ afterBoundaries = true;
1824
+ }
1825
+ };
1826
+ while (!filer.atEndOfObject && !filer.atEof && !filer.atExtendedData) {
1827
+ var item = filer.readItem();
1828
+ if (!item)
1829
+ break;
1830
+ var code = Number(item.code);
1831
+ var n = Number(item.value);
1832
+ // Pattern definition lines after boundaries.
1833
+ if (inPatternLines || afterBoundaries) {
1834
+ switch (code) {
1835
+ case 75:
1836
+ this.hatchStyle = n;
1837
+ afterBoundaries = true;
1838
+ break;
1839
+ case 76:
1840
+ this.patternType = n;
1841
+ break;
1842
+ case 52:
1843
+ patternAngleDeg = n;
1844
+ break;
1845
+ case 41:
1846
+ this.patternScale = n;
1847
+ break;
1848
+ case 77:
1849
+ break;
1850
+ case 78:
1851
+ inPatternLines = true;
1852
+ break;
1853
+ case 53:
1854
+ if (currentPatternLine) {
1855
+ this.definitionLines.push(currentPatternLine);
1856
+ }
1857
+ currentPatternLine = {
1858
+ angle: (n * Math.PI) / 180,
1859
+ base: { x: 0, y: 0 },
1860
+ offset: { x: 0, y: 0 },
1861
+ dashLengths: []
1862
+ };
1863
+ break;
1864
+ case 43:
1865
+ if (currentPatternLine)
1866
+ currentPatternLine.base.x = n;
1867
+ break;
1868
+ case 44:
1869
+ if (currentPatternLine)
1870
+ currentPatternLine.base.y = n;
1871
+ break;
1872
+ case 45:
1873
+ if (currentPatternLine)
1874
+ currentPatternLine.offset.x = n;
1875
+ break;
1876
+ case 46:
1877
+ if (currentPatternLine)
1878
+ currentPatternLine.offset.y = n;
1879
+ break;
1880
+ case 79:
1881
+ expectedDashes = n;
1882
+ break;
1883
+ case 49:
1884
+ if (currentPatternLine) {
1885
+ currentPatternLine.dashLengths.push(n);
1886
+ }
1887
+ break;
1888
+ case 47:
1889
+ this.pixelSize = n;
1890
+ break;
1891
+ case 99:
1892
+ // MPolygon-only: number of degenerate boundary paths; not
1893
+ // applicable to HATCH entities.
1894
+ break;
1895
+ case 450:
1896
+ this.hatchObjectType = n;
1897
+ this.gradientStartColor = undefined;
1898
+ this.gradientEndColor = undefined;
1899
+ gradientColorIndex = 0;
1900
+ pendingGradientAci = undefined;
1901
+ break;
1902
+ case 451:
1903
+ break;
1904
+ case 452:
1905
+ this.gradientOneColorMode = n !== 0;
1906
+ break;
1907
+ case 453:
1908
+ // Number of gradient colors (0 or 2); colors follow via 463/63/421.
1909
+ break;
1910
+ case 460:
1911
+ // DXF group 460 stores gradient rotation in radians.
1912
+ this.gradientAngle = n;
1913
+ break;
1914
+ case 461:
1915
+ this.gradientShift = n;
1916
+ break;
1917
+ case 462:
1918
+ this.shadeTintValue = n;
1919
+ break;
1920
+ case 463:
1921
+ flushPendingGradientAci();
1922
+ break;
1923
+ case 63:
1924
+ // Gradient color ACI (optional when true-color 421 follows).
1925
+ pendingGradientAci = n;
1926
+ break;
1927
+ case 421:
1928
+ applyGradientRgb(n);
1929
+ break;
1930
+ case 470:
1931
+ flushPendingGradientAci();
1932
+ this.gradientName = String(item.value);
1933
+ break;
1934
+ case 98:
1935
+ // Seed point count — skip seed points.
1936
+ break;
1937
+ case 10:
1938
+ case 20:
1939
+ // Seed points after 98 — ignore.
1940
+ break;
1941
+ default:
1942
+ break;
1943
+ }
1944
+ continue;
1945
+ }
1946
+ switch (code) {
1947
+ case 10:
1948
+ if (isPolylineBoundary || (currentEdge && currentEdge.kind !== 'line' && currentEdge.kind !== 'arc' && currentEdge.kind !== 'ellipse' && currentEdge.kind !== 'spline')) {
1949
+ // handled below in boundary context
1950
+ }
1951
+ if (loopsRemaining > 0 && isPolylineBoundary) {
1952
+ flushVertex();
1953
+ pendingVertex = { x: n, y: 0 };
1954
+ }
1955
+ else if ((currentEdge === null || currentEdge === void 0 ? void 0 : currentEdge.kind) === 'line' && edgePhase === 'type') {
1956
+ currentEdge.sx = n;
1957
+ }
1958
+ else if ((currentEdge === null || currentEdge === void 0 ? void 0 : currentEdge.kind) === 'arc') {
1959
+ currentEdge.cx = n;
1960
+ }
1961
+ else if ((currentEdge === null || currentEdge === void 0 ? void 0 : currentEdge.kind) === 'ellipse') {
1962
+ currentEdge.cx = n;
1963
+ }
1964
+ else if ((currentEdge === null || currentEdge === void 0 ? void 0 : currentEdge.kind) === 'spline') {
1965
+ currentEdge.controlPoints.push({ x: n, y: 0 });
1966
+ }
1967
+ else if (loopsRemaining <= 0) {
1968
+ // Elevation point (0,0,elevation) or seed — use z via 30.
1969
+ }
1970
+ // First 10 before boundaries is elevation origin x (ignored).
1971
+ break;
1972
+ case 20:
1973
+ if (loopsRemaining > 0 && isPolylineBoundary && pendingVertex) {
1974
+ pendingVertex.y = n;
1975
+ }
1976
+ else if ((currentEdge === null || currentEdge === void 0 ? void 0 : currentEdge.kind) === 'line' && edgePhase === 'type') {
1977
+ currentEdge.sy = n;
1978
+ }
1979
+ else if ((currentEdge === null || currentEdge === void 0 ? void 0 : currentEdge.kind) === 'arc') {
1980
+ currentEdge.cy = n;
1981
+ }
1982
+ else if ((currentEdge === null || currentEdge === void 0 ? void 0 : currentEdge.kind) === 'ellipse') {
1983
+ currentEdge.cy = n;
1984
+ }
1985
+ else if ((currentEdge === null || currentEdge === void 0 ? void 0 : currentEdge.kind) === 'spline' &&
1986
+ currentEdge.controlPoints.length > 0) {
1987
+ currentEdge.controlPoints[currentEdge.controlPoints.length - 1].y =
1988
+ n;
1989
+ }
1990
+ break;
1991
+ case 30:
1992
+ if (loopsRemaining <= 0 && !afterBoundaries) {
1993
+ elevation = n;
1994
+ }
1995
+ break;
1996
+ case 2:
1997
+ this.patternName = String(item.value);
1998
+ break;
1999
+ case 70:
2000
+ this.isSolidFill = n !== 0;
2001
+ break;
2002
+ case 71:
2003
+ this.associative = n !== 0;
2004
+ break;
2005
+ case 91:
2006
+ loopsRemaining = n;
2007
+ break;
2008
+ case 92:
2009
+ if (loopsRemaining > 0 &&
2010
+ (pendingVertices.length > 0 || edges.length > 0 || currentEdge)) {
2011
+ commitCurrentEdge();
2012
+ flushCurrentLoop();
2013
+ }
2014
+ boundaryFlag = n;
2015
+ isPolylineBoundary = (boundaryFlag & 0x02) !== 0;
2016
+ hasBulge = false;
2017
+ polyClosed = false;
2018
+ expectedVertices = 0;
2019
+ expectedEdges = 0;
2020
+ pendingVertices = [];
2021
+ edges = [];
2022
+ currentEdge = null;
2023
+ edgePhase = 'type';
2024
+ break;
2025
+ case 72:
2026
+ if (isPolylineBoundary) {
2027
+ hasBulge = n !== 0;
2028
+ }
2029
+ else {
2030
+ // Edge type.
2031
+ commitCurrentEdge();
2032
+ if (n === 1) {
2033
+ currentEdge = {
2034
+ kind: 'line',
2035
+ sx: 0,
2036
+ sy: 0,
2037
+ ex: 0,
2038
+ ey: 0
2039
+ };
2040
+ edgePhase = 'type';
2041
+ }
2042
+ else if (n === 2) {
2043
+ currentEdge = {
2044
+ kind: 'arc',
2045
+ cx: 0,
2046
+ cy: 0,
2047
+ radius: 0,
2048
+ startDeg: 0,
2049
+ endDeg: 0,
2050
+ isCcw: true
2051
+ };
2052
+ }
2053
+ else if (n === 3) {
2054
+ currentEdge = {
2055
+ kind: 'ellipse',
2056
+ cx: 0,
2057
+ cy: 0,
2058
+ mx: 0,
2059
+ my: 0,
2060
+ ratio: 1,
2061
+ startDeg: 0,
2062
+ endDeg: 0,
2063
+ isCcw: true
2064
+ };
2065
+ }
2066
+ else if (n === 4) {
2067
+ currentEdge = {
2068
+ kind: 'spline',
2069
+ degree: 3,
2070
+ rational: false,
2071
+ closed: false,
2072
+ knots: [],
2073
+ controlPoints: [],
2074
+ fitPoints: [],
2075
+ expectedKnots: 0,
2076
+ expectedControls: 0,
2077
+ expectedFits: 0,
2078
+ fitCountSeen: false
2079
+ };
2080
+ }
2081
+ else {
2082
+ currentEdge = null;
2083
+ }
2084
+ }
2085
+ break;
2086
+ case 73:
2087
+ if (isPolylineBoundary) {
2088
+ polyClosed = n !== 0;
2089
+ }
2090
+ else if ((currentEdge === null || currentEdge === void 0 ? void 0 : currentEdge.kind) === 'arc') {
2091
+ currentEdge.isCcw = n !== 0;
2092
+ }
2093
+ else if ((currentEdge === null || currentEdge === void 0 ? void 0 : currentEdge.kind) === 'ellipse') {
2094
+ currentEdge.isCcw = n !== 0;
2095
+ }
2096
+ else if ((currentEdge === null || currentEdge === void 0 ? void 0 : currentEdge.kind) === 'spline') {
2097
+ currentEdge.rational = n !== 0;
2098
+ }
2099
+ break;
2100
+ case 74:
2101
+ if ((currentEdge === null || currentEdge === void 0 ? void 0 : currentEdge.kind) === 'spline') {
2102
+ currentEdge.closed = n !== 0;
2103
+ }
2104
+ break;
2105
+ case 93:
2106
+ if (isPolylineBoundary) {
2107
+ expectedVertices = n;
2108
+ }
2109
+ else {
2110
+ expectedEdges = n;
2111
+ }
2112
+ void expectedVertices;
2113
+ void expectedEdges;
2114
+ break;
2115
+ case 42:
2116
+ if (isPolylineBoundary && hasBulge && pendingVertex) {
2117
+ pendingVertex.bulge = n;
2118
+ }
2119
+ else if ((currentEdge === null || currentEdge === void 0 ? void 0 : currentEdge.kind) === 'spline' &&
2120
+ currentEdge.rational &&
2121
+ currentEdge.controlPoints.length > 0) {
2122
+ currentEdge.controlPoints[currentEdge.controlPoints.length - 1].weight = n;
2123
+ }
2124
+ break;
2125
+ case 11:
2126
+ if ((currentEdge === null || currentEdge === void 0 ? void 0 : currentEdge.kind) === 'line') {
2127
+ currentEdge.ex = n;
2128
+ edgePhase = 'line-end';
2129
+ }
2130
+ else if ((currentEdge === null || currentEdge === void 0 ? void 0 : currentEdge.kind) === 'ellipse') {
2131
+ currentEdge.mx = n;
2132
+ }
2133
+ else if ((currentEdge === null || currentEdge === void 0 ? void 0 : currentEdge.kind) === 'spline') {
2134
+ currentEdge.fitPoints.push({ x: n, y: 0 });
2135
+ }
2136
+ break;
2137
+ case 21:
2138
+ if ((currentEdge === null || currentEdge === void 0 ? void 0 : currentEdge.kind) === 'line') {
2139
+ currentEdge.ey = n;
2140
+ }
2141
+ else if ((currentEdge === null || currentEdge === void 0 ? void 0 : currentEdge.kind) === 'ellipse') {
2142
+ currentEdge.my = n;
2143
+ }
2144
+ else if ((currentEdge === null || currentEdge === void 0 ? void 0 : currentEdge.kind) === 'spline' &&
2145
+ currentEdge.fitPoints.length > 0) {
2146
+ currentEdge.fitPoints[currentEdge.fitPoints.length - 1].y = n;
2147
+ }
2148
+ break;
2149
+ case 40:
2150
+ if ((currentEdge === null || currentEdge === void 0 ? void 0 : currentEdge.kind) === 'arc') {
2151
+ currentEdge.radius = n;
2152
+ }
2153
+ else if ((currentEdge === null || currentEdge === void 0 ? void 0 : currentEdge.kind) === 'ellipse') {
2154
+ currentEdge.ratio = n;
2155
+ }
2156
+ else if ((currentEdge === null || currentEdge === void 0 ? void 0 : currentEdge.kind) === 'spline') {
2157
+ currentEdge.knots.push(n);
2158
+ }
2159
+ break;
2160
+ case 50:
2161
+ if ((currentEdge === null || currentEdge === void 0 ? void 0 : currentEdge.kind) === 'arc') {
2162
+ currentEdge.startDeg = n;
2163
+ }
2164
+ else if ((currentEdge === null || currentEdge === void 0 ? void 0 : currentEdge.kind) === 'ellipse') {
2165
+ currentEdge.startDeg = n;
2166
+ }
2167
+ break;
2168
+ case 51:
2169
+ if ((currentEdge === null || currentEdge === void 0 ? void 0 : currentEdge.kind) === 'arc') {
2170
+ currentEdge.endDeg = n;
2171
+ }
2172
+ else if ((currentEdge === null || currentEdge === void 0 ? void 0 : currentEdge.kind) === 'ellipse') {
2173
+ currentEdge.endDeg = n;
2174
+ }
2175
+ break;
2176
+ case 94:
2177
+ if ((currentEdge === null || currentEdge === void 0 ? void 0 : currentEdge.kind) === 'spline') {
2178
+ currentEdge.degree = n;
2179
+ }
2180
+ break;
2181
+ case 95:
2182
+ if ((currentEdge === null || currentEdge === void 0 ? void 0 : currentEdge.kind) === 'spline') {
2183
+ currentEdge.expectedKnots = n;
2184
+ }
2185
+ break;
2186
+ case 96:
2187
+ if ((currentEdge === null || currentEdge === void 0 ? void 0 : currentEdge.kind) === 'spline') {
2188
+ currentEdge.expectedControls = n;
2189
+ }
2190
+ break;
2191
+ case 97:
2192
+ // Spline edges carry their own group 97 (fit-point count), which may
2193
+ // be 0. The next group 97 is the path-level source-boundary count
2194
+ // (dxf-json: SplineEdgeSnippets vs CommonBoundaryPathDataSnippets).
2195
+ if ((currentEdge === null || currentEdge === void 0 ? void 0 : currentEdge.kind) === 'spline' &&
2196
+ !currentEdge.fitCountSeen &&
2197
+ (currentEdge.controlPoints.length > 0 ||
2198
+ currentEdge.knots.length > 0)) {
2199
+ currentEdge.expectedFits = n;
2200
+ currentEdge.fitCountSeen = true;
2201
+ break;
2202
+ }
2203
+ endCurrentPath();
2204
+ break;
2205
+ case 75:
2206
+ commitCurrentEdge();
2207
+ flushCurrentLoop();
2208
+ loopsRemaining = 0;
2209
+ afterBoundaries = true;
2210
+ this.hatchStyle = n;
2211
+ break;
2212
+ case 210:
2213
+ case 220:
2214
+ case 230:
2215
+ // Extrusion — hatch currently stores elevation only.
2216
+ break;
2217
+ default:
2218
+ break;
2219
+ }
2220
+ }
2221
+ if (currentEdge) {
2222
+ edges.push(currentEdge);
2223
+ currentEdge = null;
2224
+ }
2225
+ flushCurrentLoop();
2226
+ if (currentPatternLine) {
2227
+ this.definitionLines.push(currentPatternLine);
2228
+ }
2229
+ flushPendingGradientAci();
2230
+ this.elevation = elevation;
2231
+ this.patternAngle = (patternAngleDeg * Math.PI) / 180;
2232
+ return this;
2233
+ };
1609
2234
  /** The entity type name */
1610
2235
  AcDbHatch.typeName = 'Hatch';
1611
2236
  return AcDbHatch;