@mlightcad/data-model 1.1.2 → 1.1.3

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 (259) hide show
  1. package/dist/data-model.js +5490 -1022
  2. package/dist/data-model.umd.cjs +2 -2
  3. package/lib/base/AcDbHostApplicationServices.d.ts +72 -6
  4. package/lib/base/AcDbHostApplicationServices.d.ts.map +1 -1
  5. package/lib/base/AcDbHostApplicationServices.js +71 -7
  6. package/lib/base/AcDbHostApplicationServices.js.map +1 -1
  7. package/lib/base/AcDbObject.d.ts +160 -25
  8. package/lib/base/AcDbObject.d.ts.map +1 -1
  9. package/lib/base/AcDbObject.js +149 -25
  10. package/lib/base/AcDbObject.js.map +1 -1
  11. package/lib/converter/AcDbBatchProcessing.d.ts +112 -10
  12. package/lib/converter/AcDbBatchProcessing.d.ts.map +1 -1
  13. package/lib/converter/AcDbBatchProcessing.js +110 -11
  14. package/lib/converter/AcDbBatchProcessing.js.map +1 -1
  15. package/lib/converter/AcDbDxfConverter.d.ts +224 -6
  16. package/lib/converter/AcDbDxfConverter.d.ts.map +1 -1
  17. package/lib/converter/AcDbDxfConverter.js +224 -6
  18. package/lib/converter/AcDbDxfConverter.js.map +1 -1
  19. package/lib/converter/AcDbDxfParseWorker.d.ts +16 -0
  20. package/lib/converter/AcDbDxfParseWorker.d.ts.map +1 -1
  21. package/lib/converter/AcDbDxfParseWorker.js +16 -0
  22. package/lib/converter/AcDbDxfParseWorker.js.map +1 -1
  23. package/lib/converter/AcDbEntitiyConverter.d.ts +118 -3
  24. package/lib/converter/AcDbEntitiyConverter.d.ts.map +1 -1
  25. package/lib/converter/AcDbEntitiyConverter.js +118 -3
  26. package/lib/converter/AcDbEntitiyConverter.js.map +1 -1
  27. package/lib/converter/AcDbObjectConverter.d.ts +52 -0
  28. package/lib/converter/AcDbObjectConverter.d.ts.map +1 -1
  29. package/lib/converter/AcDbObjectConverter.js +52 -0
  30. package/lib/converter/AcDbObjectConverter.js.map +1 -1
  31. package/lib/database/AcDbBlockTable.d.ts +35 -3
  32. package/lib/database/AcDbBlockTable.d.ts.map +1 -1
  33. package/lib/database/AcDbBlockTable.js +35 -3
  34. package/lib/database/AcDbBlockTable.js.map +1 -1
  35. package/lib/database/AcDbBlockTableRecord.d.ts +98 -15
  36. package/lib/database/AcDbBlockTableRecord.d.ts.map +1 -1
  37. package/lib/database/AcDbBlockTableRecord.js +96 -15
  38. package/lib/database/AcDbBlockTableRecord.js.map +1 -1
  39. package/lib/database/AcDbDatabase.d.ts +303 -33
  40. package/lib/database/AcDbDatabase.d.ts.map +1 -1
  41. package/lib/database/AcDbDatabase.js +223 -39
  42. package/lib/database/AcDbDatabase.js.map +1 -1
  43. package/lib/database/AcDbDatabaseConverter.d.ts +77 -12
  44. package/lib/database/AcDbDatabaseConverter.d.ts.map +1 -1
  45. package/lib/database/AcDbDatabaseConverter.js +46 -13
  46. package/lib/database/AcDbDatabaseConverter.js.map +1 -1
  47. package/lib/database/AcDbDatabaseConverterManager.d.ts +97 -15
  48. package/lib/database/AcDbDatabaseConverterManager.d.ts.map +1 -1
  49. package/lib/database/AcDbDatabaseConverterManager.js +90 -15
  50. package/lib/database/AcDbDatabaseConverterManager.js.map +1 -1
  51. package/lib/database/AcDbDimStyleTable.d.ts +22 -2
  52. package/lib/database/AcDbDimStyleTable.d.ts.map +1 -1
  53. package/lib/database/AcDbDimStyleTable.js +22 -2
  54. package/lib/database/AcDbDimStyleTable.js.map +1 -1
  55. package/lib/database/AcDbDimStyleTableRecord.d.ts +115 -0
  56. package/lib/database/AcDbDimStyleTableRecord.d.ts.map +1 -1
  57. package/lib/database/AcDbDimStyleTableRecord.js +44 -0
  58. package/lib/database/AcDbDimStyleTableRecord.js.map +1 -1
  59. package/lib/database/AcDbLayerTable.d.ts +39 -2
  60. package/lib/database/AcDbLayerTable.d.ts.map +1 -1
  61. package/lib/database/AcDbLayerTable.js +39 -2
  62. package/lib/database/AcDbLayerTable.js.map +1 -1
  63. package/lib/database/AcDbLayerTableRecord.d.ts +198 -18
  64. package/lib/database/AcDbLayerTableRecord.d.ts.map +1 -1
  65. package/lib/database/AcDbLayerTableRecord.js +182 -19
  66. package/lib/database/AcDbLayerTableRecord.js.map +1 -1
  67. package/lib/database/AcDbLinetypeTable.d.ts +21 -2
  68. package/lib/database/AcDbLinetypeTable.d.ts.map +1 -1
  69. package/lib/database/AcDbLinetypeTable.js +21 -2
  70. package/lib/database/AcDbLinetypeTable.js.map +1 -1
  71. package/lib/database/AcDbLinetypeTableRecord.d.ts +46 -14
  72. package/lib/database/AcDbLinetypeTableRecord.d.ts.map +1 -1
  73. package/lib/database/AcDbLinetypeTableRecord.js +46 -14
  74. package/lib/database/AcDbLinetypeTableRecord.js.map +1 -1
  75. package/lib/database/AcDbSymbolTable.d.ts +134 -29
  76. package/lib/database/AcDbSymbolTable.d.ts.map +1 -1
  77. package/lib/database/AcDbSymbolTable.js +133 -37
  78. package/lib/database/AcDbSymbolTable.js.map +1 -1
  79. package/lib/database/AcDbSymbolTableRecord.d.ts +47 -2
  80. package/lib/database/AcDbSymbolTableRecord.d.ts.map +1 -1
  81. package/lib/database/AcDbSymbolTableRecord.js +40 -2
  82. package/lib/database/AcDbSymbolTableRecord.js.map +1 -1
  83. package/lib/database/AcDbTextStyleTable.d.ts +36 -2
  84. package/lib/database/AcDbTextStyleTable.d.ts.map +1 -1
  85. package/lib/database/AcDbTextStyleTable.js +36 -2
  86. package/lib/database/AcDbTextStyleTable.js.map +1 -1
  87. package/lib/database/AcDbTextStyleTableRecord.d.ts +129 -17
  88. package/lib/database/AcDbTextStyleTableRecord.d.ts.map +1 -1
  89. package/lib/database/AcDbTextStyleTableRecord.js +127 -17
  90. package/lib/database/AcDbTextStyleTableRecord.js.map +1 -1
  91. package/lib/database/AcDbViewportTable.d.ts +22 -2
  92. package/lib/database/AcDbViewportTable.d.ts.map +1 -1
  93. package/lib/database/AcDbViewportTable.js +22 -2
  94. package/lib/database/AcDbViewportTable.js.map +1 -1
  95. package/lib/database/AcDbViewportTableRecord.d.ts +74 -9
  96. package/lib/database/AcDbViewportTableRecord.d.ts.map +1 -1
  97. package/lib/database/AcDbViewportTableRecord.js +65 -9
  98. package/lib/database/AcDbViewportTableRecord.js.map +1 -1
  99. package/lib/entity/AcDbArc.d.ts +202 -17
  100. package/lib/entity/AcDbArc.d.ts.map +1 -1
  101. package/lib/entity/AcDbArc.js +201 -17
  102. package/lib/entity/AcDbArc.js.map +1 -1
  103. package/lib/entity/AcDbBlockReference.d.ts +147 -13
  104. package/lib/entity/AcDbBlockReference.d.ts.map +1 -1
  105. package/lib/entity/AcDbBlockReference.js +142 -13
  106. package/lib/entity/AcDbBlockReference.js.map +1 -1
  107. package/lib/entity/AcDbCircle.d.ts +145 -12
  108. package/lib/entity/AcDbCircle.d.ts.map +1 -1
  109. package/lib/entity/AcDbCircle.js +144 -12
  110. package/lib/entity/AcDbCircle.js.map +1 -1
  111. package/lib/entity/AcDbCurve.d.ts +33 -2
  112. package/lib/entity/AcDbCurve.d.ts.map +1 -1
  113. package/lib/entity/AcDbCurve.js +17 -0
  114. package/lib/entity/AcDbCurve.js.map +1 -1
  115. package/lib/entity/AcDbEllipse.d.ts +168 -16
  116. package/lib/entity/AcDbEllipse.d.ts.map +1 -1
  117. package/lib/entity/AcDbEllipse.js +167 -16
  118. package/lib/entity/AcDbEllipse.js.map +1 -1
  119. package/lib/entity/AcDbEntity.d.ts +299 -35
  120. package/lib/entity/AcDbEntity.d.ts.map +1 -1
  121. package/lib/entity/AcDbEntity.js +275 -27
  122. package/lib/entity/AcDbEntity.js.map +1 -1
  123. package/lib/entity/AcDbHatch.d.ts +60 -4
  124. package/lib/entity/AcDbHatch.d.ts.map +1 -1
  125. package/lib/entity/AcDbHatch.js +52 -4
  126. package/lib/entity/AcDbHatch.js.map +1 -1
  127. package/lib/entity/AcDbLeader.d.ts +157 -10
  128. package/lib/entity/AcDbLeader.d.ts.map +1 -1
  129. package/lib/entity/AcDbLeader.js +149 -10
  130. package/lib/entity/AcDbLeader.js.map +1 -1
  131. package/lib/entity/AcDbLine.d.ts +154 -13
  132. package/lib/entity/AcDbLine.d.ts.map +1 -1
  133. package/lib/entity/AcDbLine.js +153 -13
  134. package/lib/entity/AcDbLine.js.map +1 -1
  135. package/lib/entity/AcDbMText.d.ts +127 -11
  136. package/lib/entity/AcDbMText.d.ts.map +1 -1
  137. package/lib/entity/AcDbMText.js +112 -11
  138. package/lib/entity/AcDbMText.js.map +1 -1
  139. package/lib/entity/AcDbPoint.d.ts +86 -7
  140. package/lib/entity/AcDbPoint.d.ts.map +1 -1
  141. package/lib/entity/AcDbPoint.js +85 -7
  142. package/lib/entity/AcDbPoint.js.map +1 -1
  143. package/lib/entity/AcDbPolyline.d.ts +172 -25
  144. package/lib/entity/AcDbPolyline.d.ts.map +1 -1
  145. package/lib/entity/AcDbPolyline.js +170 -25
  146. package/lib/entity/AcDbPolyline.js.map +1 -1
  147. package/lib/entity/AcDbRasterImage.d.ts +75 -31
  148. package/lib/entity/AcDbRasterImage.d.ts.map +1 -1
  149. package/lib/entity/AcDbRasterImage.js +60 -31
  150. package/lib/entity/AcDbRasterImage.js.map +1 -1
  151. package/lib/entity/AcDbRay.d.ts +115 -9
  152. package/lib/entity/AcDbRay.d.ts.map +1 -1
  153. package/lib/entity/AcDbRay.js +113 -9
  154. package/lib/entity/AcDbRay.js.map +1 -1
  155. package/lib/entity/AcDbSpline.d.ts +106 -14
  156. package/lib/entity/AcDbSpline.d.ts.map +1 -1
  157. package/lib/entity/AcDbSpline.js +67 -4
  158. package/lib/entity/AcDbSpline.js.map +1 -1
  159. package/lib/entity/AcDbTable.d.ts +161 -44
  160. package/lib/entity/AcDbTable.d.ts.map +1 -1
  161. package/lib/entity/AcDbTable.js +135 -44
  162. package/lib/entity/AcDbTable.js.map +1 -1
  163. package/lib/entity/AcDbText.d.ts +298 -25
  164. package/lib/entity/AcDbText.d.ts.map +1 -1
  165. package/lib/entity/AcDbText.js +288 -25
  166. package/lib/entity/AcDbText.js.map +1 -1
  167. package/lib/entity/AcDbTrace.d.ts +150 -23
  168. package/lib/entity/AcDbTrace.d.ts.map +1 -1
  169. package/lib/entity/AcDbTrace.js +147 -23
  170. package/lib/entity/AcDbTrace.js.map +1 -1
  171. package/lib/entity/AcDbViewport.d.ts +122 -9
  172. package/lib/entity/AcDbViewport.d.ts.map +1 -1
  173. package/lib/entity/AcDbViewport.js +122 -9
  174. package/lib/entity/AcDbViewport.js.map +1 -1
  175. package/lib/entity/AcDbWipeout.d.ts +29 -1
  176. package/lib/entity/AcDbWipeout.d.ts.map +1 -1
  177. package/lib/entity/AcDbWipeout.js +29 -1
  178. package/lib/entity/AcDbWipeout.js.map +1 -1
  179. package/lib/entity/AcDbXline.d.ts +116 -9
  180. package/lib/entity/AcDbXline.d.ts.map +1 -1
  181. package/lib/entity/AcDbXline.js +114 -9
  182. package/lib/entity/AcDbXline.js.map +1 -1
  183. package/lib/entity/dimension/AcDb3PointAngularDimension.d.ts +56 -12
  184. package/lib/entity/dimension/AcDb3PointAngularDimension.d.ts.map +1 -1
  185. package/lib/entity/dimension/AcDb3PointAngularDimension.js +56 -12
  186. package/lib/entity/dimension/AcDb3PointAngularDimension.js.map +1 -1
  187. package/lib/entity/dimension/AcDbAlignedDimension.d.ts +158 -17
  188. package/lib/entity/dimension/AcDbAlignedDimension.d.ts.map +1 -1
  189. package/lib/entity/dimension/AcDbAlignedDimension.js +153 -17
  190. package/lib/entity/dimension/AcDbAlignedDimension.js.map +1 -1
  191. package/lib/entity/dimension/AcDbArcDimension.d.ts +58 -12
  192. package/lib/entity/dimension/AcDbArcDimension.d.ts.map +1 -1
  193. package/lib/entity/dimension/AcDbArcDimension.js +58 -12
  194. package/lib/entity/dimension/AcDbArcDimension.js.map +1 -1
  195. package/lib/entity/dimension/AcDbDiametricDimension.d.ts +99 -25
  196. package/lib/entity/dimension/AcDbDiametricDimension.d.ts.map +1 -1
  197. package/lib/entity/dimension/AcDbDiametricDimension.js +99 -25
  198. package/lib/entity/dimension/AcDbDiametricDimension.js.map +1 -1
  199. package/lib/entity/dimension/AcDbDimension.d.ts +108 -14
  200. package/lib/entity/dimension/AcDbDimension.d.ts.map +1 -1
  201. package/lib/entity/dimension/AcDbDimension.js +99 -14
  202. package/lib/entity/dimension/AcDbDimension.js.map +1 -1
  203. package/lib/entity/dimension/AcDbOrdinateDimension.d.ts +48 -16
  204. package/lib/entity/dimension/AcDbOrdinateDimension.d.ts.map +1 -1
  205. package/lib/entity/dimension/AcDbOrdinateDimension.js +48 -16
  206. package/lib/entity/dimension/AcDbOrdinateDimension.js.map +1 -1
  207. package/lib/entity/dimension/AcDbRadialDimension.d.ts +167 -24
  208. package/lib/entity/dimension/AcDbRadialDimension.d.ts.map +1 -1
  209. package/lib/entity/dimension/AcDbRadialDimension.js +162 -24
  210. package/lib/entity/dimension/AcDbRadialDimension.js.map +1 -1
  211. package/lib/misc/AcDbAngleUnits.d.ts +12 -0
  212. package/lib/misc/AcDbAngleUnits.d.ts.map +1 -1
  213. package/lib/misc/AcDbAngleUnits.js +12 -0
  214. package/lib/misc/AcDbAngleUnits.js.map +1 -1
  215. package/lib/misc/AcDbConstants.d.ts +20 -0
  216. package/lib/misc/AcDbConstants.d.ts.map +1 -1
  217. package/lib/misc/AcDbConstants.js +20 -0
  218. package/lib/misc/AcDbConstants.js.map +1 -1
  219. package/lib/misc/AcDbDimArrowType.d.ts +24 -21
  220. package/lib/misc/AcDbDimArrowType.d.ts.map +1 -1
  221. package/lib/misc/AcDbDimArrowType.js +24 -21
  222. package/lib/misc/AcDbDimArrowType.js.map +1 -1
  223. package/lib/misc/AcDbObjectIterator.d.ts +42 -3
  224. package/lib/misc/AcDbObjectIterator.d.ts.map +1 -1
  225. package/lib/misc/AcDbObjectIterator.js +42 -3
  226. package/lib/misc/AcDbObjectIterator.js.map +1 -1
  227. package/lib/misc/AcDbOsnapMode.d.ts +18 -10
  228. package/lib/misc/AcDbOsnapMode.d.ts.map +1 -1
  229. package/lib/misc/AcDbOsnapMode.js +18 -10
  230. package/lib/misc/AcDbOsnapMode.js.map +1 -1
  231. package/lib/misc/AcDbRenderingCache.d.ts +107 -29
  232. package/lib/misc/AcDbRenderingCache.d.ts.map +1 -1
  233. package/lib/misc/AcDbRenderingCache.js +105 -29
  234. package/lib/misc/AcDbRenderingCache.js.map +1 -1
  235. package/lib/misc/AcDbUnitsValue.d.ts +58 -8
  236. package/lib/misc/AcDbUnitsValue.d.ts.map +1 -1
  237. package/lib/misc/AcDbUnitsValue.js +58 -8
  238. package/lib/misc/AcDbUnitsValue.js.map +1 -1
  239. package/lib/object/AcDbDictionary.d.ts +128 -30
  240. package/lib/object/AcDbDictionary.d.ts.map +1 -1
  241. package/lib/object/AcDbDictionary.js +126 -30
  242. package/lib/object/AcDbDictionary.js.map +1 -1
  243. package/lib/object/AcDbRasterImageDef.d.ts +38 -9
  244. package/lib/object/AcDbRasterImageDef.d.ts.map +1 -1
  245. package/lib/object/AcDbRasterImageDef.js +37 -9
  246. package/lib/object/AcDbRasterImageDef.js.map +1 -1
  247. package/lib/object/layout/AcDbLayout.d.ts +152 -13
  248. package/lib/object/layout/AcDbLayout.d.ts.map +1 -1
  249. package/lib/object/layout/AcDbLayout.js +146 -13
  250. package/lib/object/layout/AcDbLayout.js.map +1 -1
  251. package/lib/object/layout/AcDbLayoutDictionary.d.ts +35 -7
  252. package/lib/object/layout/AcDbLayoutDictionary.d.ts.map +1 -1
  253. package/lib/object/layout/AcDbLayoutDictionary.js +35 -7
  254. package/lib/object/layout/AcDbLayoutDictionary.js.map +1 -1
  255. package/lib/object/layout/AcDbLayoutManager.d.ts +103 -31
  256. package/lib/object/layout/AcDbLayoutManager.d.ts.map +1 -1
  257. package/lib/object/layout/AcDbLayoutManager.js +98 -31
  258. package/lib/object/layout/AcDbLayoutManager.js.map +1 -1
  259. package/package.json +4 -4
@@ -28,11 +28,44 @@ import { AcGeBox3d, AcGeEuler, AcGeMatrix3d, AcGePoint3d, AcGeQuaternion, AcGeVe
28
28
  import { AcDbRenderingCache } from '../misc';
29
29
  import { AcDbEntity } from './AcDbEntity';
30
30
  /**
31
- * A block reference is used to place, size, and display an instance of the collection of entities within
32
- * the block table record that it references.
31
+ * Represents a block reference entity in AutoCAD.
32
+ *
33
+ * A block reference is used to place, size, and display an instance of the collection
34
+ * of entities within the block table record that it references. Block references allow
35
+ * you to reuse complex geometry by referencing a block definition multiple times with
36
+ * different positions, rotations, and scales.
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * // Create a block reference
41
+ * const blockRef = new AcDbBlockReference("MyBlock");
42
+ * blockRef.position = new AcGePoint3d(10, 20, 0);
43
+ * blockRef.rotation = Math.PI / 4; // 45 degrees
44
+ * blockRef.scaleFactors = new AcGePoint3d(2, 2, 1); // 2x scale
45
+ *
46
+ * // Access block reference properties
47
+ * console.log(`Block name: ${blockRef.blockTableRecord?.name}`);
48
+ * console.log(`Position: ${blockRef.position}`);
49
+ * console.log(`Rotation: ${blockRef.rotation}`);
50
+ * ```
33
51
  */
34
52
  var AcDbBlockReference = /** @class */ (function (_super) {
35
53
  __extends(AcDbBlockReference, _super);
54
+ /**
55
+ * Creates a new block reference entity.
56
+ *
57
+ * This constructor initializes a block reference with the specified block name.
58
+ * The position is set to the origin, rotation to 0, normal to Z-axis, and scale factors to 1.
59
+ *
60
+ * @param blockName - The name of the block table record to reference
61
+ *
62
+ * @example
63
+ * ```typescript
64
+ * const blockRef = new AcDbBlockReference("MyBlock");
65
+ * blockRef.position = new AcGePoint3d(5, 10, 0);
66
+ * blockRef.rotation = Math.PI / 6; // 30 degrees
67
+ * ```
68
+ */
36
69
  function AcDbBlockReference(blockName) {
37
70
  var _this = _super.call(this) || this;
38
71
  _this._blockName = blockName;
@@ -44,11 +77,29 @@ var AcDbBlockReference = /** @class */ (function (_super) {
44
77
  }
45
78
  Object.defineProperty(AcDbBlockReference.prototype, "position", {
46
79
  /**
47
- * WCS position point (often referred to as the insertion point) of the block reference
80
+ * Gets the WCS position point (insertion point) of the block reference.
81
+ *
82
+ * @returns The position point in WCS coordinates
83
+ *
84
+ * @example
85
+ * ```typescript
86
+ * const position = blockRef.position;
87
+ * console.log(`Block position: ${position.x}, ${position.y}, ${position.z}`);
88
+ * ```
48
89
  */
49
90
  get: function () {
50
91
  return this._position;
51
92
  },
93
+ /**
94
+ * Sets the WCS position point (insertion point) of the block reference.
95
+ *
96
+ * @param value - The new position point
97
+ *
98
+ * @example
99
+ * ```typescript
100
+ * blockRef.position = new AcGePoint3d(15, 25, 0);
101
+ * ```
102
+ */
52
103
  set: function (value) {
53
104
  this._position.copy(value);
54
105
  },
@@ -57,15 +108,34 @@ var AcDbBlockReference = /** @class */ (function (_super) {
57
108
  });
58
109
  Object.defineProperty(AcDbBlockReference.prototype, "rotation", {
59
110
  /**
60
- * The rotation value (in radians) of the block reference. The rotation value is relative to the X
61
- * axis of a coordinate system that is parallel to the OCS of the block reference, but has its origin
62
- * at the position point of the block reference. The rotation axis is the Z axis of this coordinate
63
- * system with positive rotations going counterclockwise when looking down the Z axis towards the
64
- * origin.
111
+ * Gets the rotation value of the block reference.
112
+ *
113
+ * The rotation value is relative to the X axis of a coordinate system that is parallel
114
+ * to the OCS of the block reference, but has its origin at the position point of the
115
+ * block reference. The rotation axis is the Z axis of this coordinate system with
116
+ * positive rotations going counterclockwise when looking down the Z axis towards the origin.
117
+ *
118
+ * @returns The rotation value in radians
119
+ *
120
+ * @example
121
+ * ```typescript
122
+ * const rotation = blockRef.rotation;
123
+ * console.log(`Rotation: ${rotation} radians (${rotation * 180 / Math.PI} degrees)`);
124
+ * ```
65
125
  */
66
126
  get: function () {
67
127
  return this._rotation;
68
128
  },
129
+ /**
130
+ * Sets the rotation value of the block reference.
131
+ *
132
+ * @param value - The new rotation value in radians
133
+ *
134
+ * @example
135
+ * ```typescript
136
+ * blockRef.rotation = Math.PI / 4; // 45 degrees
137
+ * ```
138
+ */
69
139
  set: function (value) {
70
140
  this._rotation = value;
71
141
  },
@@ -74,11 +144,29 @@ var AcDbBlockReference = /** @class */ (function (_super) {
74
144
  });
75
145
  Object.defineProperty(AcDbBlockReference.prototype, "scaleFactors", {
76
146
  /**
77
- * The X, Y, and Z scale factors for the block reference.
147
+ * Gets the X, Y, and Z scale factors for the block reference.
148
+ *
149
+ * @returns The scale factors as a 3D point
150
+ *
151
+ * @example
152
+ * ```typescript
153
+ * const scaleFactors = blockRef.scaleFactors;
154
+ * console.log(`Scale factors: ${scaleFactors.x}, ${scaleFactors.y}, ${scaleFactors.z}`);
155
+ * ```
78
156
  */
79
157
  get: function () {
80
158
  return this._scaleFactors;
81
159
  },
160
+ /**
161
+ * Sets the X, Y, and Z scale factors for the block reference.
162
+ *
163
+ * @param value - The new scale factors
164
+ *
165
+ * @example
166
+ * ```typescript
167
+ * blockRef.scaleFactors = new AcGePoint3d(2, 1.5, 1); // 2x X scale, 1.5x Y scale
168
+ * ```
169
+ */
82
170
  set: function (value) {
83
171
  this._scaleFactors.copy(value);
84
172
  },
@@ -87,11 +175,29 @@ var AcDbBlockReference = /** @class */ (function (_super) {
87
175
  });
88
176
  Object.defineProperty(AcDbBlockReference.prototype, "normal", {
89
177
  /**
90
- * The normal vector of the plane containing the block reference.
178
+ * Gets the normal vector of the plane containing the block reference.
179
+ *
180
+ * @returns The normal vector
181
+ *
182
+ * @example
183
+ * ```typescript
184
+ * const normal = blockRef.normal;
185
+ * console.log(`Normal: ${normal.x}, ${normal.y}, ${normal.z}`);
186
+ * ```
91
187
  */
92
188
  get: function () {
93
189
  return this._normal;
94
190
  },
191
+ /**
192
+ * Sets the normal vector of the plane containing the block reference.
193
+ *
194
+ * @param value - The new normal vector
195
+ *
196
+ * @example
197
+ * ```typescript
198
+ * blockRef.normal = new AcGeVector3d(0, 0, 1);
199
+ * ```
200
+ */
95
201
  set: function (value) {
96
202
  this._normal.copy(value).normalize();
97
203
  },
@@ -100,8 +206,19 @@ var AcDbBlockReference = /** @class */ (function (_super) {
100
206
  });
101
207
  Object.defineProperty(AcDbBlockReference.prototype, "blockTableRecord", {
102
208
  /**
103
- * The block table record referenced by the block reference. The referenced block table record contains
104
- * the entities that the block reference will display.
209
+ * Gets the block table record referenced by this block reference.
210
+ *
211
+ * The referenced block table record contains the entities that the block reference will display.
212
+ *
213
+ * @returns The block table record, or undefined if not found
214
+ *
215
+ * @example
216
+ * ```typescript
217
+ * const blockRecord = blockRef.blockTableRecord;
218
+ * if (blockRecord) {
219
+ * console.log(`Block name: ${blockRecord.name}`);
220
+ * }
221
+ * ```
105
222
  */
106
223
  get: function () {
107
224
  return this.database.tables.blockTable.getAt(this._blockName);
@@ -111,7 +228,19 @@ var AcDbBlockReference = /** @class */ (function (_super) {
111
228
  });
112
229
  Object.defineProperty(AcDbBlockReference.prototype, "geometricExtents", {
113
230
  /**
114
- * @inheritdoc
231
+ * Gets the geometric extents (bounding box) of this block reference.
232
+ *
233
+ * This method calculates the bounding box by transforming the geometric extents
234
+ * of all entities in the referenced block according to the block reference's
235
+ * position, rotation, and scale factors.
236
+ *
237
+ * @returns The bounding box that encompasses the entire block reference
238
+ *
239
+ * @example
240
+ * ```typescript
241
+ * const extents = blockRef.geometricExtents;
242
+ * console.log(`Block bounds: ${extents.minPoint} to ${extents.maxPoint}`);
243
+ * ```
115
244
  */
116
245
  get: function () {
117
246
  var e_1, _a;
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbBlockReference.js","sourceRoot":"","sources":["../../src/entity/AcDbBlockReference.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcDbBlockReference.js","sourceRoot":"","sources":["../../src/entity/AcDbBlockReference.ts"],"names":[],"mappings":"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"}
@@ -2,49 +2,182 @@ import { AcGeMatrix3d, AcGePoint3d, AcGePoint3dLike, AcGePointLike, AcGeVector3d
2
2
  import { AcGiRenderer } from '@mlightcad/graphic-interface';
3
3
  import { AcDbCurve } from './AcDbCurve';
4
4
  /**
5
- * The class represents the circle entity in AutoCAD.
5
+ * Represents a circle entity in AutoCAD.
6
+ *
7
+ * A circle is a 2D geometric object defined by its center point and radius.
8
+ * Circles are closed curves that can be used to create circular shapes
9
+ * in drawings. The circle is always drawn in the plane defined by its normal vector.
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * // Create a circle with center at (0,0,0) and radius 5
14
+ * const circle = new AcDbCircle(
15
+ * new AcGePoint3d(0, 0, 0),
16
+ * 5
17
+ * );
18
+ *
19
+ * // Access circle properties
20
+ * console.log(`Center: ${circle.center}`);
21
+ * console.log(`Radius: ${circle.radius}`);
22
+ * console.log(`Normal: ${circle.normal}`);
23
+ * ```
6
24
  */
7
25
  export declare class AcDbCircle extends AcDbCurve {
26
+ /** The underlying geometric circular arc object */
8
27
  private _geo;
9
28
  /**
10
- * This constructor creates an arc using the values passed in. 'center' must be in WCS coordinates.
29
+ * Creates a new circle entity.
11
30
  *
12
- * @param center Input center point of the arc
13
- * @param radius Input radius of the arc
31
+ * This constructor creates a circle using the specified center point and radius.
32
+ * The center point must be in World Coordinate System (WCS) coordinates.
33
+ * The circle is created as a full circle (0 to 2π radians).
34
+ *
35
+ * @param center - The center point of the circle in WCS coordinates
36
+ * @param radius - The radius of the circle (must be positive)
37
+ * @param normal - The normal vector defining the plane of the circle (defaults to Z-axis)
38
+ *
39
+ * @example
40
+ * ```typescript
41
+ * // Create a circle in the XY plane
42
+ * const circle = new AcDbCircle(
43
+ * new AcGePoint3d(10, 20, 0),
44
+ * 15
45
+ * );
46
+ *
47
+ * // Create a circle in a different plane
48
+ * const circleInYZ = new AcDbCircle(
49
+ * new AcGePoint3d(0, 0, 0),
50
+ * 10,
51
+ * AcGeVector3d.X_AXIS
52
+ * );
53
+ * ```
14
54
  */
15
55
  constructor(center: AcGePointLike, radius: number, normal?: AcGeVector3d);
16
56
  /**
17
- * Center point of circular arc
57
+ * Gets the center point of this circle.
58
+ *
59
+ * @returns The center point as a 3D point
60
+ *
61
+ * @example
62
+ * ```typescript
63
+ * const centerPoint = circle.center;
64
+ * console.log(`Circle center: ${centerPoint.x}, ${centerPoint.y}, ${centerPoint.z}`);
65
+ * ```
18
66
  */
19
67
  get center(): AcGePoint3d;
68
+ /**
69
+ * Sets the center point of this circle.
70
+ *
71
+ * @param value - The new center point
72
+ *
73
+ * @example
74
+ * ```typescript
75
+ * circle.center = new AcGePoint3d(5, 5, 0);
76
+ * ```
77
+ */
20
78
  set center(value: AcGePoint3dLike);
21
79
  /**
22
- * Radius of circular arc
80
+ * Gets the radius of this circle.
81
+ *
82
+ * @returns The radius value
83
+ *
84
+ * @example
85
+ * ```typescript
86
+ * const radius = circle.radius;
87
+ * console.log(`Circle radius: ${radius}`);
88
+ * ```
23
89
  */
24
90
  get radius(): number;
91
+ /**
92
+ * Sets the radius of this circle.
93
+ *
94
+ * @param value - The new radius value (must be positive)
95
+ *
96
+ * @example
97
+ * ```typescript
98
+ * circle.radius = 25;
99
+ * ```
100
+ */
25
101
  set radius(value: number);
26
102
  /**
27
- * Arc's unit normal vector in WCS coordinates.
103
+ * Gets the normal vector of this circle.
104
+ *
105
+ * The normal vector defines the plane in which the circle lies.
106
+ *
107
+ * @returns The unit normal vector in WCS coordinates
108
+ *
109
+ * @example
110
+ * ```typescript
111
+ * const normal = circle.normal;
112
+ * console.log(`Circle normal: ${normal.x}, ${normal.y}, ${normal.z}`);
113
+ * ```
28
114
  */
29
115
  get normal(): AcGeVector3d;
30
116
  /**
31
- * @inheritdoc
117
+ * Gets the geometric extents (bounding box) of this circle.
118
+ *
119
+ * @returns The bounding box that encompasses the entire circle
120
+ *
121
+ * @example
122
+ * ```typescript
123
+ * const extents = circle.geometricExtents;
124
+ * console.log(`Circle bounds: ${extents.minPoint} to ${extents.maxPoint}`);
125
+ * ```
32
126
  */
33
127
  get geometricExtents(): import("@mlightcad/geometry-engine").AcGeBox3d;
34
128
  /**
35
- * @inheritdoc
129
+ * Gets whether this circle is closed.
130
+ *
131
+ * Circles are always closed entities, so this always returns true.
132
+ *
133
+ * @returns Always true for circles
36
134
  */
37
135
  get closed(): boolean;
38
136
  /**
39
- * @inheritdoc
137
+ * Gets the grip points for this circle.
138
+ *
139
+ * Grip points are control points that can be used to modify the circle.
140
+ * For a circle, the grip point is the center point.
141
+ *
142
+ * @returns Array of grip points (center point)
143
+ *
144
+ * @example
145
+ * ```typescript
146
+ * const gripPoints = circle.subGetGripPoints();
147
+ * // gripPoints contains: [center]
148
+ * ```
40
149
  */
41
150
  subGetGripPoints(): AcGePoint3d[];
42
151
  /**
43
- * @inheritdoc
152
+ * Transforms this circle by the specified matrix.
153
+ *
154
+ * This method applies a geometric transformation to the circle, updating
155
+ * the center point, radius, and normal vector according to the transformation matrix.
156
+ *
157
+ * @param matrix - The transformation matrix to apply
158
+ * @returns This circle after transformation
159
+ *
160
+ * @example
161
+ * ```typescript
162
+ * const translationMatrix = AcGeMatrix3d.translation(10, 0, 0);
163
+ * circle.transformBy(translationMatrix);
164
+ * // Circle is now translated 10 units in the X direction
165
+ * ```
44
166
  */
45
167
  transformBy(matrix: AcGeMatrix3d): this;
46
168
  /**
47
- * @inheritdoc
169
+ * Draws this circle using the specified renderer.
170
+ *
171
+ * This method renders the circle as a circular arc using the circle's
172
+ * current style properties.
173
+ *
174
+ * @param renderer - The renderer to use for drawing
175
+ * @returns The rendered circle entity, or undefined if drawing failed
176
+ *
177
+ * @example
178
+ * ```typescript
179
+ * const renderedCircle = circle.draw(renderer);
180
+ * ```
48
181
  */
49
182
  draw(renderer: AcGiRenderer): import("@mlightcad/graphic-interface").AcGiEntity;
50
183
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbCircle.d.ts","sourceRoot":"","sources":["../../src/entity/AcDbCircle.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,YAAY,EACZ,WAAW,EACX,eAAe,EACf,aAAa,EACb,YAAY,EAEb,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC;;GAEG;AACH,qBAAa,UAAW,SAAQ,SAAS;IACvC,OAAO,CAAC,IAAI,CAAe;IAE3B;;;;;OAKG;gBAED,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,YAAkC;IAa5C;;OAEG;IACH,IAAI,MAAM,IAAI,WAAW,CAExB;IACD,IAAI,MAAM,CAAC,KAAK,EAAE,eAAe,EAEhC;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IACD,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,EAEvB;IAED;;OAEG;IACH,IAAI,MAAM,iBAET;IAED;;OAEG;IACH,IAAI,gBAAgB,mDAEnB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED;;OAEG;IACH,gBAAgB;IAMhB;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,YAAY;IAKhC;;OAEG;IACH,IAAI,CAAC,QAAQ,EAAE,YAAY;CAG5B"}
1
+ {"version":3,"file":"AcDbCircle.d.ts","sourceRoot":"","sources":["../../src/entity/AcDbCircle.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,YAAY,EACZ,WAAW,EACX,eAAe,EACf,aAAa,EACb,YAAY,EAEb,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,UAAW,SAAQ,SAAS;IACvC,mDAAmD;IACnD,OAAO,CAAC,IAAI,CAAe;IAE3B;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;gBAED,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,YAAkC;IAa5C;;;;;;;;;;OAUG;IACH,IAAI,MAAM,IAAI,WAAW,CAExB;IAED;;;;;;;;;OASG;IACH,IAAI,MAAM,CAAC,KAAK,EAAE,eAAe,EAEhC;IAED;;;;;;;;;;OAUG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;;;;;;OASG;IACH,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,EAEvB;IAED;;;;;;;;;;;;OAYG;IACH,IAAI,MAAM,iBAET;IAED;;;;;;;;;;OAUG;IACH,IAAI,gBAAgB,mDAEnB;IAED;;;;;;OAMG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED;;;;;;;;;;;;;OAaG;IACH,gBAAgB;IAMhB;;;;;;;;;;;;;;;OAeG;IACH,WAAW,CAAC,MAAM,EAAE,YAAY;IAKhC;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,QAAQ,EAAE,YAAY;CAG5B"}
@@ -16,15 +16,54 @@ var __extends = (this && this.__extends) || (function () {
16
16
  import { AcGeCircArc3d, AcGeVector3d, TAU } from '@mlightcad/geometry-engine';
17
17
  import { AcDbCurve } from './AcDbCurve';
18
18
  /**
19
- * The class represents the circle entity in AutoCAD.
19
+ * Represents a circle entity in AutoCAD.
20
+ *
21
+ * A circle is a 2D geometric object defined by its center point and radius.
22
+ * Circles are closed curves that can be used to create circular shapes
23
+ * in drawings. The circle is always drawn in the plane defined by its normal vector.
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * // Create a circle with center at (0,0,0) and radius 5
28
+ * const circle = new AcDbCircle(
29
+ * new AcGePoint3d(0, 0, 0),
30
+ * 5
31
+ * );
32
+ *
33
+ * // Access circle properties
34
+ * console.log(`Center: ${circle.center}`);
35
+ * console.log(`Radius: ${circle.radius}`);
36
+ * console.log(`Normal: ${circle.normal}`);
37
+ * ```
20
38
  */
21
39
  var AcDbCircle = /** @class */ (function (_super) {
22
40
  __extends(AcDbCircle, _super);
23
41
  /**
24
- * This constructor creates an arc using the values passed in. 'center' must be in WCS coordinates.
42
+ * Creates a new circle entity.
25
43
  *
26
- * @param center Input center point of the arc
27
- * @param radius Input radius of the arc
44
+ * This constructor creates a circle using the specified center point and radius.
45
+ * The center point must be in World Coordinate System (WCS) coordinates.
46
+ * The circle is created as a full circle (0 to 2π radians).
47
+ *
48
+ * @param center - The center point of the circle in WCS coordinates
49
+ * @param radius - The radius of the circle (must be positive)
50
+ * @param normal - The normal vector defining the plane of the circle (defaults to Z-axis)
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * // Create a circle in the XY plane
55
+ * const circle = new AcDbCircle(
56
+ * new AcGePoint3d(10, 20, 0),
57
+ * 15
58
+ * );
59
+ *
60
+ * // Create a circle in a different plane
61
+ * const circleInYZ = new AcDbCircle(
62
+ * new AcGePoint3d(0, 0, 0),
63
+ * 10,
64
+ * AcGeVector3d.X_AXIS
65
+ * );
66
+ * ```
28
67
  */
29
68
  function AcDbCircle(center, radius, normal) {
30
69
  if (normal === void 0) { normal = AcGeVector3d.Z_AXIS; }
@@ -34,11 +73,29 @@ var AcDbCircle = /** @class */ (function (_super) {
34
73
  }
35
74
  Object.defineProperty(AcDbCircle.prototype, "center", {
36
75
  /**
37
- * Center point of circular arc
76
+ * Gets the center point of this circle.
77
+ *
78
+ * @returns The center point as a 3D point
79
+ *
80
+ * @example
81
+ * ```typescript
82
+ * const centerPoint = circle.center;
83
+ * console.log(`Circle center: ${centerPoint.x}, ${centerPoint.y}, ${centerPoint.z}`);
84
+ * ```
38
85
  */
39
86
  get: function () {
40
87
  return this._geo.center;
41
88
  },
89
+ /**
90
+ * Sets the center point of this circle.
91
+ *
92
+ * @param value - The new center point
93
+ *
94
+ * @example
95
+ * ```typescript
96
+ * circle.center = new AcGePoint3d(5, 5, 0);
97
+ * ```
98
+ */
42
99
  set: function (value) {
43
100
  this._geo.center = value;
44
101
  },
@@ -47,11 +104,29 @@ var AcDbCircle = /** @class */ (function (_super) {
47
104
  });
48
105
  Object.defineProperty(AcDbCircle.prototype, "radius", {
49
106
  /**
50
- * Radius of circular arc
107
+ * Gets the radius of this circle.
108
+ *
109
+ * @returns The radius value
110
+ *
111
+ * @example
112
+ * ```typescript
113
+ * const radius = circle.radius;
114
+ * console.log(`Circle radius: ${radius}`);
115
+ * ```
51
116
  */
52
117
  get: function () {
53
118
  return this._geo.radius;
54
119
  },
120
+ /**
121
+ * Sets the radius of this circle.
122
+ *
123
+ * @param value - The new radius value (must be positive)
124
+ *
125
+ * @example
126
+ * ```typescript
127
+ * circle.radius = 25;
128
+ * ```
129
+ */
55
130
  set: function (value) {
56
131
  this._geo.radius = value;
57
132
  },
@@ -60,7 +135,17 @@ var AcDbCircle = /** @class */ (function (_super) {
60
135
  });
61
136
  Object.defineProperty(AcDbCircle.prototype, "normal", {
62
137
  /**
63
- * Arc's unit normal vector in WCS coordinates.
138
+ * Gets the normal vector of this circle.
139
+ *
140
+ * The normal vector defines the plane in which the circle lies.
141
+ *
142
+ * @returns The unit normal vector in WCS coordinates
143
+ *
144
+ * @example
145
+ * ```typescript
146
+ * const normal = circle.normal;
147
+ * console.log(`Circle normal: ${normal.x}, ${normal.y}, ${normal.z}`);
148
+ * ```
64
149
  */
65
150
  get: function () {
66
151
  return this._geo.normal;
@@ -70,7 +155,15 @@ var AcDbCircle = /** @class */ (function (_super) {
70
155
  });
71
156
  Object.defineProperty(AcDbCircle.prototype, "geometricExtents", {
72
157
  /**
73
- * @inheritdoc
158
+ * Gets the geometric extents (bounding box) of this circle.
159
+ *
160
+ * @returns The bounding box that encompasses the entire circle
161
+ *
162
+ * @example
163
+ * ```typescript
164
+ * const extents = circle.geometricExtents;
165
+ * console.log(`Circle bounds: ${extents.minPoint} to ${extents.maxPoint}`);
166
+ * ```
74
167
  */
75
168
  get: function () {
76
169
  return this._geo.box;
@@ -80,7 +173,11 @@ var AcDbCircle = /** @class */ (function (_super) {
80
173
  });
81
174
  Object.defineProperty(AcDbCircle.prototype, "closed", {
82
175
  /**
83
- * @inheritdoc
176
+ * Gets whether this circle is closed.
177
+ *
178
+ * Circles are always closed entities, so this always returns true.
179
+ *
180
+ * @returns Always true for circles
84
181
  */
85
182
  get: function () {
86
183
  return this._geo.closed;
@@ -89,7 +186,18 @@ var AcDbCircle = /** @class */ (function (_super) {
89
186
  configurable: true
90
187
  });
91
188
  /**
92
- * @inheritdoc
189
+ * Gets the grip points for this circle.
190
+ *
191
+ * Grip points are control points that can be used to modify the circle.
192
+ * For a circle, the grip point is the center point.
193
+ *
194
+ * @returns Array of grip points (center point)
195
+ *
196
+ * @example
197
+ * ```typescript
198
+ * const gripPoints = circle.subGetGripPoints();
199
+ * // gripPoints contains: [center]
200
+ * ```
93
201
  */
94
202
  AcDbCircle.prototype.subGetGripPoints = function () {
95
203
  var gripPoints = new Array();
@@ -97,14 +205,38 @@ var AcDbCircle = /** @class */ (function (_super) {
97
205
  return gripPoints;
98
206
  };
99
207
  /**
100
- * @inheritdoc
208
+ * Transforms this circle by the specified matrix.
209
+ *
210
+ * This method applies a geometric transformation to the circle, updating
211
+ * the center point, radius, and normal vector according to the transformation matrix.
212
+ *
213
+ * @param matrix - The transformation matrix to apply
214
+ * @returns This circle after transformation
215
+ *
216
+ * @example
217
+ * ```typescript
218
+ * const translationMatrix = AcGeMatrix3d.translation(10, 0, 0);
219
+ * circle.transformBy(translationMatrix);
220
+ * // Circle is now translated 10 units in the X direction
221
+ * ```
101
222
  */
102
223
  AcDbCircle.prototype.transformBy = function (matrix) {
103
224
  this._geo.transform(matrix);
104
225
  return this;
105
226
  };
106
227
  /**
107
- * @inheritdoc
228
+ * Draws this circle using the specified renderer.
229
+ *
230
+ * This method renders the circle as a circular arc using the circle's
231
+ * current style properties.
232
+ *
233
+ * @param renderer - The renderer to use for drawing
234
+ * @returns The rendered circle entity, or undefined if drawing failed
235
+ *
236
+ * @example
237
+ * ```typescript
238
+ * const renderedCircle = circle.draw(renderer);
239
+ * ```
108
240
  */
109
241
  AcDbCircle.prototype.draw = function (renderer) {
110
242
  return renderer.circularArc(this._geo, this.lineStyle);
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbCircle.js","sourceRoot":"","sources":["../../src/entity/AcDbCircle.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,EACL,aAAa,EAKb,YAAY,EACZ,GAAG,EACJ,MAAM,4BAA4B,CAAA;AAGnC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC;;GAEG;AACH;IAAgC,8BAAS;IAGvC;;;;;OAKG;IACH,oBACE,MAAqB,EACrB,MAAc,EACd,MAA0C;QAA1C,uBAAA,EAAA,SAAuB,YAAY,CAAC,MAAM;QAE1C,YAAA,MAAK,WAAE,SAAA;QACP,KAAI,CAAC,IAAI,GAAG,IAAI,aAAa,CAC3B,MAAM,EACN,MAAM,EACN,CAAC,EACD,GAAG,EACH,MAAM,EACN,YAAY,CAAC,MAAM,CACpB,CAAA;;IACH,CAAC;IAKD,sBAAI,8BAAM;QAHV;;WAEG;aACH;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA;QACzB,CAAC;aACD,UAAW,KAAsB;YAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QAC1B,CAAC;;;OAHA;IAQD,sBAAI,8BAAM;QAHV;;WAEG;aACH;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA;QACzB,CAAC;aACD,UAAW,KAAa;YACtB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QAC1B,CAAC;;;OAHA;IAQD,sBAAI,8BAAM;QAHV;;WAEG;aACH;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA;QACzB,CAAC;;;OAAA;IAKD,sBAAI,wCAAgB;QAHpB;;WAEG;aACH;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;QACtB,CAAC;;;OAAA;IAKD,sBAAI,8BAAM;QAHV;;WAEG;aACH;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA;QACzB,CAAC;;;OAAA;IAED;;OAEG;IACH,qCAAgB,GAAhB;QACE,IAAM,UAAU,GAAG,IAAI,KAAK,EAAe,CAAA;QAC3C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC5B,OAAO,UAAU,CAAA;IACnB,CAAC;IAED;;OAEG;IACH,gCAAW,GAAX,UAAY,MAAoB;QAC9B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QAC3B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,yBAAI,GAAJ,UAAK,QAAsB;QACzB,OAAO,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;IACxD,CAAC;IACH,iBAAC;AAAD,CAAC,AAzFD,CAAgC,SAAS,GAyFxC"}
1
+ {"version":3,"file":"AcDbCircle.js","sourceRoot":"","sources":["../../src/entity/AcDbCircle.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,EACL,aAAa,EAKb,YAAY,EACZ,GAAG,EACJ,MAAM,4BAA4B,CAAA;AAGnC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH;IAAgC,8BAAS;IAIvC;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,oBACE,MAAqB,EACrB,MAAc,EACd,MAA0C;QAA1C,uBAAA,EAAA,SAAuB,YAAY,CAAC,MAAM;QAE1C,YAAA,MAAK,WAAE,SAAA;QACP,KAAI,CAAC,IAAI,GAAG,IAAI,aAAa,CAC3B,MAAM,EACN,MAAM,EACN,CAAC,EACD,GAAG,EACH,MAAM,EACN,YAAY,CAAC,MAAM,CACpB,CAAA;;IACH,CAAC;IAaD,sBAAI,8BAAM;QAXV;;;;;;;;;;WAUG;aACH;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA;QACzB,CAAC;QAED;;;;;;;;;WASG;aACH,UAAW,KAAsB;YAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QAC1B,CAAC;;;OAdA;IA2BD,sBAAI,8BAAM;QAXV;;;;;;;;;;WAUG;aACH;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA;QACzB,CAAC;QAED;;;;;;;;;WASG;aACH,UAAW,KAAa;YACtB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QAC1B,CAAC;;;OAdA;IA6BD,sBAAI,8BAAM;QAbV;;;;;;;;;;;;WAYG;aACH;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA;QACzB,CAAC;;;OAAA;IAaD,sBAAI,wCAAgB;QAXpB;;;;;;;;;;WAUG;aACH;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;QACtB,CAAC;;;OAAA;IASD,sBAAI,8BAAM;QAPV;;;;;;WAMG;aACH;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA;QACzB,CAAC;;;OAAA;IAED;;;;;;;;;;;;;OAaG;IACH,qCAAgB,GAAhB;QACE,IAAM,UAAU,GAAG,IAAI,KAAK,EAAe,CAAA;QAC3C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC5B,OAAO,UAAU,CAAA;IACnB,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,gCAAW,GAAX,UAAY,MAAoB;QAC9B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QAC3B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,yBAAI,GAAJ,UAAK,QAAsB;QACzB,OAAO,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;IACxD,CAAC;IACH,iBAAC;AAAD,CAAC,AA9MD,CAAgC,SAAS,GA8MxC"}