@mlightcad/data-model 1.3.3 → 1.3.4

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 (328) hide show
  1. package/dist/data-model.cjs +5 -0
  2. package/dist/data-model.js +25523 -0
  3. package/dist/dxf-parser-worker.js +1715 -0
  4. package/lib/base/AcDbHostApplicationServices.d.ts +96 -0
  5. package/lib/base/AcDbHostApplicationServices.d.ts.map +1 -0
  6. package/lib/base/AcDbHostApplicationServices.js +118 -0
  7. package/lib/base/AcDbHostApplicationServices.js.map +1 -0
  8. package/lib/base/AcDbObject.d.ts +205 -0
  9. package/lib/base/AcDbObject.d.ts.map +1 -0
  10. package/lib/base/AcDbObject.js +236 -0
  11. package/lib/base/AcDbObject.js.map +1 -0
  12. package/lib/base/index.d.ts +3 -0
  13. package/lib/base/index.d.ts.map +1 -0
  14. package/lib/base/index.js +3 -0
  15. package/lib/base/index.js.map +1 -0
  16. package/lib/converter/AcDbBatchProcessing.d.ts +146 -0
  17. package/lib/converter/AcDbBatchProcessing.d.ts.map +1 -0
  18. package/lib/converter/AcDbBatchProcessing.js +272 -0
  19. package/lib/converter/AcDbBatchProcessing.js.map +1 -0
  20. package/lib/converter/AcDbDxfConverter.d.ts +272 -0
  21. package/lib/converter/AcDbDxfConverter.d.ts.map +1 -0
  22. package/lib/converter/AcDbDxfConverter.js +874 -0
  23. package/lib/converter/AcDbDxfConverter.js.map +1 -0
  24. package/lib/converter/AcDbDxfParser.d.ts +23 -0
  25. package/lib/converter/AcDbDxfParser.d.ts.map +1 -0
  26. package/lib/converter/AcDbDxfParser.js +85 -0
  27. package/lib/converter/AcDbDxfParser.js.map +1 -0
  28. package/lib/converter/AcDbEntitiyConverter.d.ts +159 -0
  29. package/lib/converter/AcDbEntitiyConverter.d.ts.map +1 -0
  30. package/lib/converter/AcDbEntitiyConverter.js +659 -0
  31. package/lib/converter/AcDbEntitiyConverter.js.map +1 -0
  32. package/lib/converter/AcDbObjectConverter.d.ts +61 -0
  33. package/lib/converter/AcDbObjectConverter.d.ts.map +1 -0
  34. package/lib/converter/AcDbObjectConverter.js +91 -0
  35. package/lib/converter/AcDbObjectConverter.js.map +1 -0
  36. package/lib/converter/AcDbRegenerator.d.ts +101 -0
  37. package/lib/converter/AcDbRegenerator.d.ts.map +1 -0
  38. package/lib/converter/AcDbRegenerator.js +334 -0
  39. package/lib/converter/AcDbRegenerator.js.map +1 -0
  40. package/lib/converter/index.d.ts +5 -0
  41. package/lib/converter/index.d.ts.map +1 -0
  42. package/lib/converter/index.js +5 -0
  43. package/lib/converter/index.js.map +1 -0
  44. package/lib/converter/worker/AcDbBaseWorker.d.ts +36 -0
  45. package/lib/converter/worker/AcDbBaseWorker.d.ts.map +1 -0
  46. package/lib/converter/worker/AcDbBaseWorker.js +93 -0
  47. package/lib/converter/worker/AcDbBaseWorker.js.map +1 -0
  48. package/lib/converter/worker/AcDbDxfParserWorker.d.ts +11 -0
  49. package/lib/converter/worker/AcDbDxfParserWorker.d.ts.map +1 -0
  50. package/lib/converter/worker/AcDbDxfParserWorker.js +75 -0
  51. package/lib/converter/worker/AcDbDxfParserWorker.js.map +1 -0
  52. package/lib/converter/worker/AcDbWorkerManager.d.ts +107 -0
  53. package/lib/converter/worker/AcDbWorkerManager.d.ts.map +1 -0
  54. package/lib/converter/worker/AcDbWorkerManager.js +360 -0
  55. package/lib/converter/worker/AcDbWorkerManager.js.map +1 -0
  56. package/lib/converter/worker/index.d.ts +3 -0
  57. package/lib/converter/worker/index.d.ts.map +1 -0
  58. package/lib/converter/worker/index.js +3 -0
  59. package/lib/converter/worker/index.js.map +1 -0
  60. package/lib/database/AcDbBlockTable.d.ts +56 -0
  61. package/lib/database/AcDbBlockTable.d.ts.map +1 -0
  62. package/lib/database/AcDbBlockTable.js +98 -0
  63. package/lib/database/AcDbBlockTable.js.map +1 -0
  64. package/lib/database/AcDbBlockTableRecord.d.ts +185 -0
  65. package/lib/database/AcDbBlockTableRecord.d.ts.map +1 -0
  66. package/lib/database/AcDbBlockTableRecord.js +261 -0
  67. package/lib/database/AcDbBlockTableRecord.js.map +1 -0
  68. package/lib/database/AcDbDatabase.d.ts +563 -0
  69. package/lib/database/AcDbDatabase.d.ts.map +1 -0
  70. package/lib/database/AcDbDatabase.js +842 -0
  71. package/lib/database/AcDbDatabase.js.map +1 -0
  72. package/lib/database/AcDbDatabaseConverter.d.ts +292 -0
  73. package/lib/database/AcDbDatabaseConverter.d.ts.map +1 -0
  74. package/lib/database/AcDbDatabaseConverter.js +448 -0
  75. package/lib/database/AcDbDatabaseConverter.js.map +1 -0
  76. package/lib/database/AcDbDatabaseConverterManager.d.ts +141 -0
  77. package/lib/database/AcDbDatabaseConverterManager.d.ts.map +1 -0
  78. package/lib/database/AcDbDatabaseConverterManager.js +173 -0
  79. package/lib/database/AcDbDatabaseConverterManager.js.map +1 -0
  80. package/lib/database/AcDbDimStyleTable.d.ts +31 -0
  81. package/lib/database/AcDbDimStyleTable.d.ts.map +1 -0
  82. package/lib/database/AcDbDimStyleTable.js +49 -0
  83. package/lib/database/AcDbDimStyleTable.js.map +1 -0
  84. package/lib/database/AcDbDimStyleTableRecord.d.ts +797 -0
  85. package/lib/database/AcDbDimStyleTableRecord.d.ts.map +1 -0
  86. package/lib/database/AcDbDimStyleTableRecord.js +1294 -0
  87. package/lib/database/AcDbDimStyleTableRecord.js.map +1 -0
  88. package/lib/database/AcDbDwgVersion.d.ts +32 -0
  89. package/lib/database/AcDbDwgVersion.d.ts.map +1 -0
  90. package/lib/database/AcDbDwgVersion.js +126 -0
  91. package/lib/database/AcDbDwgVersion.js.map +1 -0
  92. package/lib/database/AcDbLayerTable.d.ts +51 -0
  93. package/lib/database/AcDbLayerTable.d.ts.map +1 -0
  94. package/lib/database/AcDbLayerTable.js +92 -0
  95. package/lib/database/AcDbLayerTable.js.map +1 -0
  96. package/lib/database/AcDbLayerTableRecord.d.ts +278 -0
  97. package/lib/database/AcDbLayerTableRecord.d.ts.map +1 -0
  98. package/lib/database/AcDbLayerTableRecord.js +397 -0
  99. package/lib/database/AcDbLayerTableRecord.js.map +1 -0
  100. package/lib/database/AcDbLinetypeTable.d.ts +30 -0
  101. package/lib/database/AcDbLinetypeTable.d.ts.map +1 -0
  102. package/lib/database/AcDbLinetypeTable.js +48 -0
  103. package/lib/database/AcDbLinetypeTable.js.map +1 -0
  104. package/lib/database/AcDbLinetypeTableRecord.d.ts +79 -0
  105. package/lib/database/AcDbLinetypeTableRecord.d.ts.map +1 -0
  106. package/lib/database/AcDbLinetypeTableRecord.js +129 -0
  107. package/lib/database/AcDbLinetypeTableRecord.js.map +1 -0
  108. package/lib/database/AcDbSymbolTable.d.ts +199 -0
  109. package/lib/database/AcDbSymbolTable.d.ts.map +1 -0
  110. package/lib/database/AcDbSymbolTable.js +264 -0
  111. package/lib/database/AcDbSymbolTable.js.map +1 -0
  112. package/lib/database/AcDbSymbolTableRecord.d.ts +61 -0
  113. package/lib/database/AcDbSymbolTableRecord.d.ts.map +1 -0
  114. package/lib/database/AcDbSymbolTableRecord.js +82 -0
  115. package/lib/database/AcDbSymbolTableRecord.js.map +1 -0
  116. package/lib/database/AcDbTextStyleTable.d.ts +48 -0
  117. package/lib/database/AcDbTextStyleTable.d.ts.map +1 -0
  118. package/lib/database/AcDbTextStyleTable.js +112 -0
  119. package/lib/database/AcDbTextStyleTable.js.map +1 -0
  120. package/lib/database/AcDbTextStyleTableRecord.d.ts +179 -0
  121. package/lib/database/AcDbTextStyleTableRecord.d.ts.map +1 -0
  122. package/lib/database/AcDbTextStyleTableRecord.js +276 -0
  123. package/lib/database/AcDbTextStyleTableRecord.js.map +1 -0
  124. package/lib/database/AcDbViewportTable.d.ts +31 -0
  125. package/lib/database/AcDbViewportTable.d.ts.map +1 -0
  126. package/lib/database/AcDbViewportTable.js +49 -0
  127. package/lib/database/AcDbViewportTable.js.map +1 -0
  128. package/lib/database/AcDbViewportTableRecord.d.ts +154 -0
  129. package/lib/database/AcDbViewportTableRecord.d.ts.map +1 -0
  130. package/lib/database/AcDbViewportTableRecord.js +318 -0
  131. package/lib/database/AcDbViewportTableRecord.js.map +1 -0
  132. package/lib/database/index.d.ts +19 -0
  133. package/lib/database/index.d.ts.map +1 -0
  134. package/lib/database/index.js +19 -0
  135. package/lib/database/index.js.map +1 -0
  136. package/lib/entity/AcDbArc.d.ts +254 -0
  137. package/lib/entity/AcDbArc.d.ts.map +1 -0
  138. package/lib/entity/AcDbArc.js +340 -0
  139. package/lib/entity/AcDbArc.js.map +1 -0
  140. package/lib/entity/AcDbBlockReference.d.ts +190 -0
  141. package/lib/entity/AcDbBlockReference.d.ts.map +1 -0
  142. package/lib/entity/AcDbBlockReference.js +302 -0
  143. package/lib/entity/AcDbBlockReference.js.map +1 -0
  144. package/lib/entity/AcDbCircle.d.ts +186 -0
  145. package/lib/entity/AcDbCircle.d.ts.map +1 -0
  146. package/lib/entity/AcDbCircle.js +249 -0
  147. package/lib/entity/AcDbCircle.js.map +1 -0
  148. package/lib/entity/AcDbCurve.d.ts +42 -0
  149. package/lib/entity/AcDbCurve.d.ts.map +1 -0
  150. package/lib/entity/AcDbCurve.js +44 -0
  151. package/lib/entity/AcDbCurve.js.map +1 -0
  152. package/lib/entity/AcDbEllipse.d.ts +207 -0
  153. package/lib/entity/AcDbEllipse.d.ts.map +1 -0
  154. package/lib/entity/AcDbEllipse.js +272 -0
  155. package/lib/entity/AcDbEllipse.js.map +1 -0
  156. package/lib/entity/AcDbEntity.d.ts +385 -0
  157. package/lib/entity/AcDbEntity.d.ts.map +1 -0
  158. package/lib/entity/AcDbEntity.js +561 -0
  159. package/lib/entity/AcDbEntity.js.map +1 -0
  160. package/lib/entity/AcDbFace.d.ts +151 -0
  161. package/lib/entity/AcDbFace.d.ts.map +1 -0
  162. package/lib/entity/AcDbFace.js +224 -0
  163. package/lib/entity/AcDbFace.js.map +1 -0
  164. package/lib/entity/AcDbHatch.d.ts +174 -0
  165. package/lib/entity/AcDbHatch.d.ts.map +1 -0
  166. package/lib/entity/AcDbHatch.js +250 -0
  167. package/lib/entity/AcDbHatch.js.map +1 -0
  168. package/lib/entity/AcDbLeader.d.ts +243 -0
  169. package/lib/entity/AcDbLeader.d.ts.map +1 -0
  170. package/lib/entity/AcDbLeader.js +358 -0
  171. package/lib/entity/AcDbLeader.js.map +1 -0
  172. package/lib/entity/AcDbLine.d.ts +198 -0
  173. package/lib/entity/AcDbLine.d.ts.map +1 -0
  174. package/lib/entity/AcDbLine.js +300 -0
  175. package/lib/entity/AcDbLine.js.map +1 -0
  176. package/lib/entity/AcDbMText.d.ts +248 -0
  177. package/lib/entity/AcDbMText.d.ts.map +1 -0
  178. package/lib/entity/AcDbMText.js +414 -0
  179. package/lib/entity/AcDbMText.js.map +1 -0
  180. package/lib/entity/AcDbPoint.d.ts +113 -0
  181. package/lib/entity/AcDbPoint.d.ts.map +1 -0
  182. package/lib/entity/AcDbPoint.js +155 -0
  183. package/lib/entity/AcDbPoint.js.map +1 -0
  184. package/lib/entity/AcDbPolyline.d.ts +221 -0
  185. package/lib/entity/AcDbPolyline.d.ts.map +1 -0
  186. package/lib/entity/AcDbPolyline.js +301 -0
  187. package/lib/entity/AcDbPolyline.js.map +1 -0
  188. package/lib/entity/AcDbRasterImage.d.ts +216 -0
  189. package/lib/entity/AcDbRasterImage.d.ts.map +1 -0
  190. package/lib/entity/AcDbRasterImage.js +451 -0
  191. package/lib/entity/AcDbRasterImage.js.map +1 -0
  192. package/lib/entity/AcDbRay.d.ts +150 -0
  193. package/lib/entity/AcDbRay.d.ts.map +1 -0
  194. package/lib/entity/AcDbRay.js +208 -0
  195. package/lib/entity/AcDbRay.js.map +1 -0
  196. package/lib/entity/AcDbSpline.d.ts +135 -0
  197. package/lib/entity/AcDbSpline.d.ts.map +1 -0
  198. package/lib/entity/AcDbSpline.js +142 -0
  199. package/lib/entity/AcDbSpline.js.map +1 -0
  200. package/lib/entity/AcDbTable.d.ts +260 -0
  201. package/lib/entity/AcDbTable.d.ts.map +1 -0
  202. package/lib/entity/AcDbTable.js +452 -0
  203. package/lib/entity/AcDbTable.js.map +1 -0
  204. package/lib/entity/AcDbText.d.ts +388 -0
  205. package/lib/entity/AcDbText.d.ts.map +1 -0
  206. package/lib/entity/AcDbText.js +523 -0
  207. package/lib/entity/AcDbText.js.map +1 -0
  208. package/lib/entity/AcDbTrace.d.ts +193 -0
  209. package/lib/entity/AcDbTrace.d.ts.map +1 -0
  210. package/lib/entity/AcDbTrace.js +271 -0
  211. package/lib/entity/AcDbTrace.js.map +1 -0
  212. package/lib/entity/AcDbViewport.d.ts +173 -0
  213. package/lib/entity/AcDbViewport.d.ts.map +1 -0
  214. package/lib/entity/AcDbViewport.js +295 -0
  215. package/lib/entity/AcDbViewport.js.map +1 -0
  216. package/lib/entity/AcDbWipeout.d.ts +39 -0
  217. package/lib/entity/AcDbWipeout.d.ts.map +1 -0
  218. package/lib/entity/AcDbWipeout.js +70 -0
  219. package/lib/entity/AcDbWipeout.js.map +1 -0
  220. package/lib/entity/AcDbXline.d.ts +151 -0
  221. package/lib/entity/AcDbXline.d.ts.map +1 -0
  222. package/lib/entity/AcDbXline.js +209 -0
  223. package/lib/entity/AcDbXline.js.map +1 -0
  224. package/lib/entity/dimension/AcDb3PointAngularDimension.d.ts +92 -0
  225. package/lib/entity/dimension/AcDb3PointAngularDimension.d.ts.map +1 -0
  226. package/lib/entity/dimension/AcDb3PointAngularDimension.js +157 -0
  227. package/lib/entity/dimension/AcDb3PointAngularDimension.js.map +1 -0
  228. package/lib/entity/dimension/AcDbAlignedDimension.d.ts +220 -0
  229. package/lib/entity/dimension/AcDbAlignedDimension.d.ts.map +1 -0
  230. package/lib/entity/dimension/AcDbAlignedDimension.js +341 -0
  231. package/lib/entity/dimension/AcDbAlignedDimension.js.map +1 -0
  232. package/lib/entity/dimension/AcDbArcDimension.d.ts +94 -0
  233. package/lib/entity/dimension/AcDbArcDimension.d.ts.map +1 -0
  234. package/lib/entity/dimension/AcDbArcDimension.js +159 -0
  235. package/lib/entity/dimension/AcDbArcDimension.js.map +1 -0
  236. package/lib/entity/dimension/AcDbDiametricDimension.d.ts +145 -0
  237. package/lib/entity/dimension/AcDbDiametricDimension.d.ts.map +1 -0
  238. package/lib/entity/dimension/AcDbDiametricDimension.js +275 -0
  239. package/lib/entity/dimension/AcDbDiametricDimension.js.map +1 -0
  240. package/lib/entity/dimension/AcDbDimension.d.ts +257 -0
  241. package/lib/entity/dimension/AcDbDimension.d.ts.map +1 -0
  242. package/lib/entity/dimension/AcDbDimension.js +466 -0
  243. package/lib/entity/dimension/AcDbDimension.js.map +1 -0
  244. package/lib/entity/dimension/AcDbOrdinateDimension.d.ts +78 -0
  245. package/lib/entity/dimension/AcDbOrdinateDimension.d.ts.map +1 -0
  246. package/lib/entity/dimension/AcDbOrdinateDimension.js +133 -0
  247. package/lib/entity/dimension/AcDbOrdinateDimension.js.map +1 -0
  248. package/lib/entity/dimension/AcDbRadialDimension.d.ts +214 -0
  249. package/lib/entity/dimension/AcDbRadialDimension.d.ts.map +1 -0
  250. package/lib/entity/dimension/AcDbRadialDimension.js +288 -0
  251. package/lib/entity/dimension/AcDbRadialDimension.js.map +1 -0
  252. package/lib/entity/dimension/index.d.ts +8 -0
  253. package/lib/entity/dimension/index.d.ts.map +1 -0
  254. package/lib/entity/dimension/index.js +8 -0
  255. package/lib/entity/dimension/index.js.map +1 -0
  256. package/lib/entity/index.d.ts +24 -0
  257. package/lib/entity/index.d.ts.map +1 -0
  258. package/lib/entity/index.js +24 -0
  259. package/lib/entity/index.js.map +1 -0
  260. package/lib/index.d.ts +10 -0
  261. package/lib/index.d.ts.map +1 -0
  262. package/lib/index.js +10 -0
  263. package/lib/index.js.map +1 -0
  264. package/lib/misc/AcDbAngleUnits.d.ts +20 -0
  265. package/lib/misc/AcDbAngleUnits.d.ts.map +1 -0
  266. package/lib/misc/AcDbAngleUnits.js +21 -0
  267. package/lib/misc/AcDbAngleUnits.js.map +1 -0
  268. package/lib/misc/AcDbCodePage.d.ts +50 -0
  269. package/lib/misc/AcDbCodePage.d.ts.map +1 -0
  270. package/lib/misc/AcDbCodePage.js +100 -0
  271. package/lib/misc/AcDbCodePage.js.map +1 -0
  272. package/lib/misc/AcDbConstants.d.ts +24 -0
  273. package/lib/misc/AcDbConstants.d.ts.map +1 -0
  274. package/lib/misc/AcDbConstants.js +24 -0
  275. package/lib/misc/AcDbConstants.js.map +1 -0
  276. package/lib/misc/AcDbDimArrowType.d.ts +89 -0
  277. package/lib/misc/AcDbDimArrowType.d.ts.map +1 -0
  278. package/lib/misc/AcDbDimArrowType.js +90 -0
  279. package/lib/misc/AcDbDimArrowType.js.map +1 -0
  280. package/lib/misc/AcDbObjectIterator.d.ts +64 -0
  281. package/lib/misc/AcDbObjectIterator.d.ts.map +1 -0
  282. package/lib/misc/AcDbObjectIterator.js +84 -0
  283. package/lib/misc/AcDbObjectIterator.js.map +1 -0
  284. package/lib/misc/AcDbOsnapMode.d.ts +51 -0
  285. package/lib/misc/AcDbOsnapMode.d.ts.map +1 -0
  286. package/lib/misc/AcDbOsnapMode.js +52 -0
  287. package/lib/misc/AcDbOsnapMode.js.map +1 -0
  288. package/lib/misc/AcDbRenderingCache.d.ts +141 -0
  289. package/lib/misc/AcDbRenderingCache.d.ts.map +1 -0
  290. package/lib/misc/AcDbRenderingCache.js +239 -0
  291. package/lib/misc/AcDbRenderingCache.js.map +1 -0
  292. package/lib/misc/AcDbUnitsValue.d.ts +101 -0
  293. package/lib/misc/AcDbUnitsValue.d.ts.map +1 -0
  294. package/lib/misc/AcDbUnitsValue.js +121 -0
  295. package/lib/misc/AcDbUnitsValue.js.map +1 -0
  296. package/lib/misc/index.d.ts +9 -0
  297. package/lib/misc/index.d.ts.map +1 -0
  298. package/lib/misc/index.js +9 -0
  299. package/lib/misc/index.js.map +1 -0
  300. package/lib/object/AcDbDictionary.d.ts +178 -0
  301. package/lib/object/AcDbDictionary.d.ts.map +1 -0
  302. package/lib/object/AcDbDictionary.js +264 -0
  303. package/lib/object/AcDbDictionary.js.map +1 -0
  304. package/lib/object/AcDbRasterImageDef.d.ts +54 -0
  305. package/lib/object/AcDbRasterImageDef.d.ts.map +1 -0
  306. package/lib/object/AcDbRasterImageDef.js +82 -0
  307. package/lib/object/AcDbRasterImageDef.js.map +1 -0
  308. package/lib/object/index.d.ts +4 -0
  309. package/lib/object/index.d.ts.map +1 -0
  310. package/lib/object/index.js +4 -0
  311. package/lib/object/index.js.map +1 -0
  312. package/lib/object/layout/AcDbLayout.d.ts +190 -0
  313. package/lib/object/layout/AcDbLayout.d.ts.map +1 -0
  314. package/lib/object/layout/AcDbLayout.js +253 -0
  315. package/lib/object/layout/AcDbLayout.js.map +1 -0
  316. package/lib/object/layout/AcDbLayoutDictionary.d.ts +47 -0
  317. package/lib/object/layout/AcDbLayoutDictionary.d.ts.map +1 -0
  318. package/lib/object/layout/AcDbLayoutDictionary.js +122 -0
  319. package/lib/object/layout/AcDbLayoutDictionary.js.map +1 -0
  320. package/lib/object/layout/AcDbLayoutManager.d.ts +188 -0
  321. package/lib/object/layout/AcDbLayoutManager.d.ts.map +1 -0
  322. package/lib/object/layout/AcDbLayoutManager.js +245 -0
  323. package/lib/object/layout/AcDbLayoutManager.js.map +1 -0
  324. package/lib/object/layout/index.d.ts +4 -0
  325. package/lib/object/layout/index.d.ts.map +1 -0
  326. package/lib/object/layout/index.js +4 -0
  327. package/lib/object/layout/index.js.map +1 -0
  328. package/package.json +4 -4
@@ -0,0 +1,452 @@
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
+ import { AcGeBox3d, AcGeMatrix3d, AcGeQuaternion, AcGeVector3d } from '@mlightcad/geometry-engine';
28
+ import { AcGiMTextAttachmentPoint } from '@mlightcad/graphic-interface';
29
+ import { AcDbBlockReference } from './AcDbBlockReference';
30
+ var tempVector = /*@__PURE__*/ new AcGeVector3d();
31
+ /**
32
+ * Represents a table entity in AutoCAD.
33
+ *
34
+ * A table is generally thought of as an n x m rectangular array of cells whose contents
35
+ * consist of annotation objects, primarily text. Tables often contain a title row, a
36
+ * header row, and multiple data rows.
37
+ *
38
+ * After creating a new table object using the constructor, applications usually need to
39
+ * set the table style, number of rows and columns, column width, row height, insert
40
+ * position, width direction, and normal vector. Applications can also enter text or
41
+ * block contents into each cell using methods of this class.
42
+ *
43
+ * Tables are commonly used for bills of materials, schedules, data sheets, and other
44
+ * tabular information in technical drawings and documentation.
45
+ */
46
+ var AcDbTable = /** @class */ (function (_super) {
47
+ __extends(AcDbTable, _super);
48
+ /**
49
+ * Creates a new table entity.
50
+ *
51
+ * @param name - The name of the table block reference
52
+ * @param numRows - The number of rows in the table
53
+ * @param numColumns - The number of columns in the table
54
+ */
55
+ function AcDbTable(name, numRows, numColumns) {
56
+ var _this = _super.call(this, name) || this;
57
+ _this._attachmentPoint = AcGiMTextAttachmentPoint.TopLeft;
58
+ _this._numColumns = numColumns;
59
+ _this._numRows = numRows;
60
+ _this._columnWidth = new Array(numColumns);
61
+ _this._rowHeight = new Array(numRows);
62
+ _this._cells = new Array(numRows * numColumns);
63
+ return _this;
64
+ }
65
+ Object.defineProperty(AcDbTable.prototype, "attachmentPoint", {
66
+ /**
67
+ * Gets or sets the cell alignment value for this table.
68
+ *
69
+ * This property controls how text is positioned within table cells by default.
70
+ * Individual cells can override this setting with their own attachment point.
71
+ *
72
+ * @returns The default attachment point for table cells
73
+ */
74
+ get: function () {
75
+ return this._attachmentPoint;
76
+ },
77
+ set: function (value) {
78
+ this._attachmentPoint = value;
79
+ },
80
+ enumerable: false,
81
+ configurable: true
82
+ });
83
+ Object.defineProperty(AcDbTable.prototype, "numRows", {
84
+ /**
85
+ * Gets or sets the number of rows in the table.
86
+ *
87
+ * Changing this value will resize the table and may affect existing cell data.
88
+ *
89
+ * @returns The current number of rows in the table
90
+ */
91
+ get: function () {
92
+ return this._numRows;
93
+ },
94
+ set: function (value) {
95
+ this._numRows = value;
96
+ },
97
+ enumerable: false,
98
+ configurable: true
99
+ });
100
+ Object.defineProperty(AcDbTable.prototype, "numColumns", {
101
+ /**
102
+ * Gets or sets the number of columns in the table.
103
+ *
104
+ * Changing this value will resize the table and may affect existing cell data.
105
+ *
106
+ * @returns The current number of columns in the table
107
+ */
108
+ get: function () {
109
+ return this._numColumns;
110
+ },
111
+ set: function (value) {
112
+ this._numColumns = value;
113
+ },
114
+ enumerable: false,
115
+ configurable: true
116
+ });
117
+ /**
118
+ * Gets the number of contents in the specified cell.
119
+ *
120
+ * @param row - Row index. Must be greater than or equal to 0 and less than the number of rows
121
+ * @param col - Column index. Must be greater than or equal to 0 and less than the number of columns
122
+ * @returns The number of contents in the specified cell
123
+ */
124
+ // @ts-expect-error not use '_' prefix so that typedoc can the correct parameter to generate doc
125
+ AcDbTable.prototype.numContents = function (row, col) {
126
+ // TODO: Implement it
127
+ return 1;
128
+ };
129
+ /**
130
+ * Gets the row height of the specified row in the table.
131
+ *
132
+ * @param index - Zero-based row index
133
+ * @returns The row height of the specified row in the table
134
+ */
135
+ AcDbTable.prototype.rowHeight = function (index) {
136
+ return this._rowHeight[index];
137
+ };
138
+ /**
139
+ * Sets the row height for the specified row index in the table.
140
+ *
141
+ * @param index - Zero-based row index
142
+ * @param height - Height to be used for the specified row
143
+ */
144
+ AcDbTable.prototype.setRowHeight = function (index, height) {
145
+ this._rowHeight[index] = height;
146
+ };
147
+ /**
148
+ * Sets a uniform row height for all the rows in the table.
149
+ *
150
+ * @param height - Height to be used for all the rows in the table
151
+ */
152
+ AcDbTable.prototype.setUniformRowHeight = function (height) {
153
+ this._rowHeight.fill(height);
154
+ };
155
+ /**
156
+ * Gets the column width at the specified column index in the table.
157
+ *
158
+ * @param index - Zero-based column index
159
+ * @returns The width of the specified column
160
+ */
161
+ AcDbTable.prototype.columnWidth = function (index) {
162
+ return this._columnWidth[index];
163
+ };
164
+ /**
165
+ * Sets a uniform column width for all the columns in the table.
166
+ *
167
+ * @param width - Uniform width to be used for all the columns in the table
168
+ */
169
+ AcDbTable.prototype.setUniformColumnWidth = function (width) {
170
+ this._columnWidth.fill(width);
171
+ };
172
+ /**
173
+ * Sets the column width at the specified column index in the table.
174
+ *
175
+ * @param index - Zero-based column index
176
+ * @param width - Width to be used for the specified column
177
+ */
178
+ AcDbTable.prototype.setColumnWidth = function (index, width) {
179
+ this._columnWidth[index] = width;
180
+ };
181
+ /**
182
+ * Gets the cell at the specified index.
183
+ *
184
+ * @param index - Cell index (calculated as row * numColumns + column)
185
+ * @returns The specified cell by index, or undefined if index is out of range
186
+ */
187
+ AcDbTable.prototype.cell = function (index) {
188
+ if (index < 0 || index >= this._cells.length)
189
+ return undefined;
190
+ return this._cells[index];
191
+ };
192
+ /**
193
+ * Sets the cell at the specified index.
194
+ *
195
+ * @param index - Cell index (calculated as row * numColumns + column)
196
+ * @param cell - The cell data to set
197
+ */
198
+ AcDbTable.prototype.setCell = function (index, cell) {
199
+ this._cells[index] = cell;
200
+ };
201
+ /**
202
+ * Gets the text string in the specified cell.
203
+ *
204
+ * @param row - Integer specifying the zero-based row index for the cell
205
+ * @param col - Integer specifying the zero-based column index for the cell
206
+ * @param content - Content index. Should be greater than or equal to 0 and less than the number of contents
207
+ * @returns The text string in the specified cell
208
+ */
209
+ // @ts-expect-error not use '_' prefix so that typedoc can the correct parameter to generate doc
210
+ AcDbTable.prototype.textString = function (row, col, content) {
211
+ return this._cells[row * col].text;
212
+ };
213
+ /**
214
+ * Sets the text for the first content at the specified content index.
215
+ *
216
+ * @param row - Integer specifying the zero-based row index for the cell
217
+ * @param col - Integer specifying the zero-based column index for the cell
218
+ * @param text - Text string to set
219
+ */
220
+ AcDbTable.prototype.setTextString = function (row, col, text) {
221
+ this._cells[row * col].text = text;
222
+ };
223
+ /**
224
+ * Checks if the content of the specified cell is empty.
225
+ *
226
+ * @param row - Integer specifying the zero-based row index for the cell
227
+ * @param col - Integer specifying the zero-based column index for the cell
228
+ * @returns True if the content of the specified cell is empty, false otherwise
229
+ */
230
+ AcDbTable.prototype.isEmpty = function (row, col) {
231
+ return !this._cells[row * col].text;
232
+ };
233
+ Object.defineProperty(AcDbTable.prototype, "geometricExtents", {
234
+ /**
235
+ * Gets the geometric extents (bounding box) of this table entity.
236
+ *
237
+ * The geometric extents define the minimum bounding box that completely contains
238
+ * the table entity, including all its cells, borders, and content.
239
+ *
240
+ * @returns A 3D bounding box containing the table entity
241
+ * @inheritdoc
242
+ */
243
+ get: function () {
244
+ // TODO: Implement it
245
+ return new AcGeBox3d();
246
+ },
247
+ enumerable: false,
248
+ configurable: true
249
+ });
250
+ /**
251
+ * Renders the table entity using the specified graphics renderer.
252
+ *
253
+ * This method draws the table structure including borders, cell content, and text.
254
+ * It handles the rendering of individual cells, merged cells, and applies the
255
+ * appropriate transformations and styling.
256
+ *
257
+ * @param renderer - The graphics renderer used to draw the table
258
+ * @returns The rendered graphics entity representing the table
259
+ * @inheritdoc
260
+ */
261
+ AcDbTable.prototype.draw = function (renderer) {
262
+ var _a, _b;
263
+ var allRowHeights = 0, allColumnWidths = 0;
264
+ var indices = new Uint16Array(this.numColumns * this.numRows * 8);
265
+ var points = new Float32Array((this.numColumns + 1) * (this.numRows + 1) * 3);
266
+ var index = 0;
267
+ for (var i = 0; i <= this.numRows; i++) {
268
+ allRowHeights -= i > 0 ? this.rowHeight(i - 1) : 0;
269
+ allColumnWidths = 0;
270
+ for (var j = 0; j <= this.numColumns; j++) {
271
+ allColumnWidths += j > 0 ? this.columnWidth(j - 1) : 0;
272
+ points[index++] = allColumnWidths;
273
+ points[index++] = allRowHeights;
274
+ points[index++] = 0;
275
+ }
276
+ }
277
+ var results = [];
278
+ var visited = new Array(this.numRows * this.numColumns).fill(false);
279
+ allColumnWidths = 0;
280
+ index = 0;
281
+ var cellIndex = 0;
282
+ for (var i = 0; i < this.numColumns; i++) {
283
+ allColumnWidths += i > 0 ? this.columnWidth(i - 1) : 0;
284
+ allRowHeights = 0;
285
+ for (var j = 0; j < this.numRows; j++) {
286
+ allRowHeights += j > 0 ? this.rowHeight(j - 1) : 0;
287
+ var cell = this.cell(j * this.numColumns + i);
288
+ cellIndex = j * this.numColumns + i;
289
+ if (cell && !visited[cellIndex]) {
290
+ var columnSpan = (_a = cell.borderWidth) !== null && _a !== void 0 ? _a : 1;
291
+ var rowSpan = (_b = cell.borderHeight) !== null && _b !== void 0 ? _b : 1;
292
+ this.fillVisited(visited, cellIndex, this.numColumns, columnSpan, rowSpan);
293
+ // Draw top border line of the current cell by considering merged cell
294
+ indices[index++] = i + j * (this.numColumns + 1);
295
+ indices[index++] = i + j * (this.numColumns + 1) + columnSpan;
296
+ // Calcuate width of the cell by considering merged cell
297
+ var width = points[indices[index - 1] * 3] - allColumnWidths;
298
+ // Draw right border line of the current cell by considering merged cell
299
+ var tmp = i + (j + rowSpan) * (this.numColumns + 1) + columnSpan;
300
+ if (i + columnSpan == this.numColumns) {
301
+ indices[index++] = i + j * (this.numColumns + 1) + columnSpan;
302
+ indices[index++] = tmp;
303
+ }
304
+ // Calcuate height of the cell by considering merged cell
305
+ var height = -points[tmp * 3 + 1] - allRowHeights;
306
+ // Draw bottom border line of the current cell by considering merged cell
307
+ if (j + rowSpan == this.numRows) {
308
+ indices[index++] =
309
+ i + (j + rowSpan) * (this.numColumns + 1) + rowSpan;
310
+ indices[index++] = i + (j + rowSpan) * (this.numColumns + 1);
311
+ }
312
+ // Draw left border line of the current cell by considering merged cell
313
+ indices[index++] = i + (j + rowSpan) * (this.numColumns + 1);
314
+ indices[index++] = i + j * (this.numColumns + 1);
315
+ // Draw text
316
+ if (cell.text) {
317
+ var attachmentPoint = cell.attachmentPoint ||
318
+ this.attachmentPoint ||
319
+ AcGiMTextAttachmentPoint.MiddleCenter;
320
+ var offset = this.getTableTextOffset(attachmentPoint, width, height);
321
+ var mtextData = {
322
+ text: cell.text,
323
+ height: cell.textHeight,
324
+ width: width,
325
+ position: tempVector
326
+ .set(allColumnWidths, -allRowHeights, 0)
327
+ .clone()
328
+ .add(offset),
329
+ rotation: this.rotation,
330
+ attachmentPoint: attachmentPoint
331
+ };
332
+ var textStyle = __assign(__assign({}, this.getTextStyle(cell)), { color: this.color.color });
333
+ results.push(renderer.mtext(mtextData, textStyle));
334
+ }
335
+ }
336
+ }
337
+ }
338
+ results.push(renderer.lineSegments(points, 3, indices, this.lineStyle));
339
+ var group = renderer.group(results);
340
+ var quaternion = new AcGeQuaternion();
341
+ quaternion.setFromAxisAngle(AcGeVector3d.Z_AXIS, this.rotation);
342
+ _tmpMatrix.compose(this.position, quaternion, this.scaleFactors);
343
+ group.applyMatrix(_tmpMatrix);
344
+ this.attachEntityInfo(group);
345
+ return group;
346
+ };
347
+ /**
348
+ * Marks cells as visited to handle merged cell rendering.
349
+ *
350
+ * This method prevents duplicate rendering of merged cells by marking all
351
+ * constituent cells as visited.
352
+ *
353
+ * @param visited - Array tracking which cells have been processed
354
+ * @param currentIndex - Index of the current cell being processed
355
+ * @param columnCount - Total number of columns in the table
356
+ * @param columnSpan - Number of columns this cell spans
357
+ * @param rowSpan - Number of rows this cell spans
358
+ * @private
359
+ */
360
+ AcDbTable.prototype.fillVisited = function (visited, currentIndex, columnCount, columnSpan, rowSpan) {
361
+ if (rowSpan == 1 && columnSpan == 1) {
362
+ visited[currentIndex] = true;
363
+ }
364
+ else {
365
+ for (var i = 0; i < columnSpan; ++i) {
366
+ for (var j = 0; j < rowSpan; ++j) {
367
+ visited[currentIndex + i + j * columnCount] = true;
368
+ }
369
+ }
370
+ }
371
+ };
372
+ /**
373
+ * Gets the text style for a specific cell.
374
+ *
375
+ * This method retrieves the appropriate text style for the cell, falling back
376
+ * to the standard style if no specific style is specified.
377
+ *
378
+ * @param cell - The cell for which to get the text style
379
+ * @returns The text style configuration for the cell
380
+ * @private
381
+ */
382
+ AcDbTable.prototype.getTextStyle = function (cell) {
383
+ var textStyleTable = this.database.tables.textStyleTable;
384
+ var style;
385
+ if (cell.textStyle) {
386
+ style = textStyleTable.getAt(cell.textStyle);
387
+ }
388
+ if (!style) {
389
+ style = (textStyleTable.getAt('STANDARD') ||
390
+ textStyleTable.getAt('Standard'));
391
+ }
392
+ return style.textStyle;
393
+ };
394
+ /**
395
+ * Calculates the text offset within a table cell based on attachment point.
396
+ *
397
+ * This method determines the appropriate positioning offset for text within
398
+ * a cell based on the specified attachment point and cell dimensions.
399
+ *
400
+ * @param textAlign - The text alignment/attachment point value
401
+ * @param width - The width of the cell
402
+ * @param height - The height of the cell
403
+ * @returns A vector representing the text offset from the cell corner
404
+ * @private
405
+ */
406
+ AcDbTable.prototype.getTableTextOffset = function (textAlign, width, height) {
407
+ var offset = new AcGeVector3d();
408
+ switch (textAlign) {
409
+ case 1:
410
+ break;
411
+ case 2:
412
+ // Top Center
413
+ offset.setX(width / 2);
414
+ break;
415
+ case 3:
416
+ // Top Right
417
+ offset.setX(width);
418
+ break;
419
+ case 4:
420
+ // Middle Left
421
+ offset.setY(-height / 2);
422
+ break;
423
+ case 5:
424
+ // Middle Center
425
+ offset.set(width / 2, -height / 2, 0);
426
+ break;
427
+ case 6:
428
+ // Middle Right
429
+ offset.set(width, -height / 2, 0);
430
+ break;
431
+ case 7:
432
+ // Bottom Left
433
+ offset.setY(-height);
434
+ break;
435
+ case 8:
436
+ // Bottom Center
437
+ offset.set(width / 2, -height, 0);
438
+ break;
439
+ case 9:
440
+ // Bottom Right
441
+ offset.set(width, -height, 0);
442
+ break;
443
+ }
444
+ return offset;
445
+ };
446
+ /** The entity type name */
447
+ AcDbTable.typeName = 'Table';
448
+ return AcDbTable;
449
+ }(AcDbBlockReference));
450
+ export { AcDbTable };
451
+ var _tmpMatrix = /*@__PURE__*/ new AcGeMatrix3d();
452
+ //# sourceMappingURL=AcDbTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcDbTable.js","sourceRoot":"","sources":["../../src/entity/AcDbTable.ts"],"names":[],"mappings":"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"}