@mlightcad/geometry-engine 3.2.38 → 3.2.40

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 (54) hide show
  1. package/dist/geometry-engine.umd.cjs +1 -1
  2. package/lib/geometry/AcGeCircArc3d.d.ts +7 -0
  3. package/lib/geometry/AcGeCircArc3d.d.ts.map +1 -1
  4. package/lib/geometry/AcGeCircArc3d.js +12 -0
  5. package/lib/geometry/AcGeCircArc3d.js.map +1 -1
  6. package/lib/geometry/AcGeEllipseArc3d.d.ts +7 -0
  7. package/lib/geometry/AcGeEllipseArc3d.d.ts.map +1 -1
  8. package/lib/geometry/AcGeEllipseArc3d.js +13 -0
  9. package/lib/geometry/AcGeEllipseArc3d.js.map +1 -1
  10. package/lib/geometry/AcGeLine3d.d.ts +7 -0
  11. package/lib/geometry/AcGeLine3d.d.ts.map +1 -1
  12. package/lib/geometry/AcGeLine3d.js +16 -0
  13. package/lib/geometry/AcGeLine3d.js.map +1 -1
  14. package/lib/geometry/AcGeNurbsCurve.d.ts +55 -1
  15. package/lib/geometry/AcGeNurbsCurve.d.ts.map +1 -1
  16. package/lib/geometry/AcGeNurbsCurve.js +146 -4
  17. package/lib/geometry/AcGeNurbsCurve.js.map +1 -1
  18. package/lib/geometry/AcGePolyline2d.d.ts +7 -0
  19. package/lib/geometry/AcGePolyline2d.d.ts.map +1 -1
  20. package/lib/geometry/AcGePolyline2d.js +10 -0
  21. package/lib/geometry/AcGePolyline2d.js.map +1 -1
  22. package/lib/geometry/AcGePolyline2dOffset.d.ts +28 -0
  23. package/lib/geometry/AcGePolyline2dOffset.d.ts.map +1 -0
  24. package/lib/geometry/AcGePolyline2dOffset.js +886 -0
  25. package/lib/geometry/AcGePolyline2dOffset.js.map +1 -0
  26. package/lib/geometry/AcGeSpline3d.d.ts +9 -1
  27. package/lib/geometry/AcGeSpline3d.d.ts.map +1 -1
  28. package/lib/geometry/AcGeSpline3d.js +7 -0
  29. package/lib/geometry/AcGeSpline3d.js.map +1 -1
  30. package/lib/index.d.ts +1 -1
  31. package/lib/index.d.ts.map +1 -1
  32. package/lib/index.js +1 -1
  33. package/lib/index.js.map +1 -1
  34. package/lib/util/AcGeCurveOffsetUtil.d.ts +22 -0
  35. package/lib/util/AcGeCurveOffsetUtil.d.ts.map +1 -0
  36. package/lib/util/AcGeCurveOffsetUtil.js +37 -0
  37. package/lib/util/AcGeCurveOffsetUtil.js.map +1 -0
  38. package/lib/util/AcGeNurbsUtil.d.ts +13 -0
  39. package/lib/util/AcGeNurbsUtil.d.ts.map +1 -1
  40. package/lib/util/AcGeNurbsUtil.js +105 -0
  41. package/lib/util/AcGeNurbsUtil.js.map +1 -1
  42. package/lib/util/AcGeSampledCurveOffsetUtil.d.ts +21 -0
  43. package/lib/util/AcGeSampledCurveOffsetUtil.d.ts.map +1 -0
  44. package/lib/util/AcGeSampledCurveOffsetUtil.js +302 -0
  45. package/lib/util/AcGeSampledCurveOffsetUtil.js.map +1 -0
  46. package/lib/util/AcGeTol.d.ts +8 -0
  47. package/lib/util/AcGeTol.d.ts.map +1 -1
  48. package/lib/util/AcGeTol.js +14 -0
  49. package/lib/util/AcGeTol.js.map +1 -1
  50. package/lib/util/index.d.ts +3 -1
  51. package/lib/util/index.d.ts.map +1 -1
  52. package/lib/util/index.js +3 -1
  53. package/lib/util/index.js.map +1 -1
  54. package/package.json +2 -2
@@ -27,6 +27,7 @@ var __assign = (this && this.__assign) || function () {
27
27
  import { AcGeBox2d, AcGePoint2d, AcGePoint3d } from '../math';
28
28
  import { AcGeCircArc2d } from './AcGeCircArc2d';
29
29
  import { AcGeCurve2d } from './AcGeCurve2d';
30
+ import { offsetAcGePolyline2d } from './AcGePolyline2dOffset';
30
31
  /**
31
32
  * The class represents the polyline geometry.
32
33
  */
@@ -297,6 +298,15 @@ var AcGePolyline2d = /** @class */ (function (_super) {
297
298
  }
298
299
  return points;
299
300
  };
301
+ /**
302
+ * Creates offset curves for this polyline in the XY plane.
303
+ *
304
+ * @param offsetDist - Signed offset distance in drawing units
305
+ * @returns Offset polylines; empty when offsetting fails
306
+ */
307
+ AcGePolyline2d.prototype.offset = function (offsetDist) {
308
+ return offsetAcGePolyline2d(this, offsetDist);
309
+ };
300
310
  return AcGePolyline2d;
301
311
  }(AcGeCurve2d));
302
312
  export { AcGePolyline2d };
@@ -1 +1 @@
1
- {"version":3,"file":"AcGePolyline2d.js","sourceRoot":"","sources":["../../src/geometry/AcGePolyline2d.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcGePolyline2d.js","sourceRoot":"","sources":["../../src/geometry/AcGePolyline2d.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { AcGePolyline2d } from './AcGePolyline2d';
2
+ /**
3
+ * Creates offset curves for a 2D polyline in the XY plane.
4
+ *
5
+ * Routing depends on polyline content:
6
+ * - Polylines with bulge (arc) segments use analytic line/arc offset and custom joins.
7
+ * - Vertex-only polylines (open or closed) use parallel edge offset with miter intersections.
8
+ *
9
+ * Sign convention: positive `offsetDist` offsets to the left of the travel direction
10
+ * along each segment (consistent with AutoCAD-style polyline offset).
11
+ *
12
+ * @param polyline - Source polyline; may be open or closed, with or without bulge arcs
13
+ * @param offsetDist - Signed offset distance in drawing units (left = positive)
14
+ * @returns One or more offset polylines; empty array when offsetting fails or input is degenerate
15
+ */
16
+ export declare function offsetAcGePolyline2d(polyline: AcGePolyline2d, offsetDist: number): AcGePolyline2d[];
17
+ /**
18
+ * Normalizes a vertex-only polyline before offset or other geometric processing.
19
+ *
20
+ * Removes consecutive duplicate vertices and, for closed paths, drops a closing
21
+ * vertex that coincides with the first vertex so downstream algorithms see a
22
+ * minimal vertex ring.
23
+ *
24
+ * @param polyline - Input polyline (typically straight segments only)
25
+ * @returns The same instance if already normalized, otherwise a new polyline with cleaned vertices
26
+ */
27
+ export declare function preparePolylineForOffset(polyline: AcGePolyline2d): AcGePolyline2d;
28
+ //# sourceMappingURL=AcGePolyline2dOffset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcGePolyline2dOffset.d.ts","sourceRoot":"","sources":["../../src/geometry/AcGePolyline2dOffset.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAuCjD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,MAAM,GACjB,cAAc,EAAE,CAYlB;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,cAAc,GACvB,cAAc,CAEhB"}