@itwin/core-geometry 4.1.0-dev.13 → 4.1.0-dev.15

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 (87) hide show
  1. package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts +61 -41
  2. package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
  3. package/lib/cjs/curve/CurveChainWithDistanceIndex.js +69 -46
  4. package/lib/cjs/curve/CurveChainWithDistanceIndex.js.map +1 -1
  5. package/lib/cjs/curve/Loop.d.ts +7 -5
  6. package/lib/cjs/curve/Loop.d.ts.map +1 -1
  7. package/lib/cjs/curve/Loop.js +18 -6
  8. package/lib/cjs/curve/Loop.js.map +1 -1
  9. package/lib/cjs/curve/ParityRegion.d.ts +7 -7
  10. package/lib/cjs/curve/ParityRegion.d.ts.map +1 -1
  11. package/lib/cjs/curve/ParityRegion.js +19 -11
  12. package/lib/cjs/curve/ParityRegion.js.map +1 -1
  13. package/lib/cjs/curve/Path.d.ts +6 -6
  14. package/lib/cjs/curve/Path.d.ts.map +1 -1
  15. package/lib/cjs/curve/Path.js +15 -9
  16. package/lib/cjs/curve/Path.js.map +1 -1
  17. package/lib/cjs/curve/ProxyCurve.d.ts +4 -6
  18. package/lib/cjs/curve/ProxyCurve.d.ts.map +1 -1
  19. package/lib/cjs/curve/ProxyCurve.js +7 -7
  20. package/lib/cjs/curve/ProxyCurve.js.map +1 -1
  21. package/lib/cjs/curve/RegionOps.d.ts +70 -43
  22. package/lib/cjs/curve/RegionOps.d.ts.map +1 -1
  23. package/lib/cjs/curve/RegionOps.js +71 -43
  24. package/lib/cjs/curve/RegionOps.js.map +1 -1
  25. package/lib/cjs/curve/UnionRegion.d.ts +6 -5
  26. package/lib/cjs/curve/UnionRegion.d.ts.map +1 -1
  27. package/lib/cjs/curve/UnionRegion.js +17 -8
  28. package/lib/cjs/curve/UnionRegion.js.map +1 -1
  29. package/lib/cjs/curve/internalContexts/GapSearchContext.d.ts +2 -1
  30. package/lib/cjs/curve/internalContexts/GapSearchContext.d.ts.map +1 -1
  31. package/lib/cjs/curve/internalContexts/GapSearchContext.js +6 -2
  32. package/lib/cjs/curve/internalContexts/GapSearchContext.js.map +1 -1
  33. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.d.ts +14 -8
  34. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.d.ts.map +1 -1
  35. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.js +14 -8
  36. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -1
  37. package/lib/cjs/curve/internalContexts/SumLengthsContext.d.ts.map +1 -1
  38. package/lib/cjs/curve/internalContexts/SumLengthsContext.js +4 -1
  39. package/lib/cjs/curve/internalContexts/SumLengthsContext.js.map +1 -1
  40. package/lib/cjs/geometry3d/Range.d.ts +133 -93
  41. package/lib/cjs/geometry3d/Range.d.ts.map +1 -1
  42. package/lib/cjs/geometry3d/Range.js +296 -144
  43. package/lib/cjs/geometry3d/Range.js.map +1 -1
  44. package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts +61 -41
  45. package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
  46. package/lib/esm/curve/CurveChainWithDistanceIndex.js +69 -46
  47. package/lib/esm/curve/CurveChainWithDistanceIndex.js.map +1 -1
  48. package/lib/esm/curve/Loop.d.ts +7 -5
  49. package/lib/esm/curve/Loop.d.ts.map +1 -1
  50. package/lib/esm/curve/Loop.js +18 -6
  51. package/lib/esm/curve/Loop.js.map +1 -1
  52. package/lib/esm/curve/ParityRegion.d.ts +7 -7
  53. package/lib/esm/curve/ParityRegion.d.ts.map +1 -1
  54. package/lib/esm/curve/ParityRegion.js +19 -11
  55. package/lib/esm/curve/ParityRegion.js.map +1 -1
  56. package/lib/esm/curve/Path.d.ts +6 -6
  57. package/lib/esm/curve/Path.d.ts.map +1 -1
  58. package/lib/esm/curve/Path.js +15 -9
  59. package/lib/esm/curve/Path.js.map +1 -1
  60. package/lib/esm/curve/ProxyCurve.d.ts +4 -6
  61. package/lib/esm/curve/ProxyCurve.d.ts.map +1 -1
  62. package/lib/esm/curve/ProxyCurve.js +7 -7
  63. package/lib/esm/curve/ProxyCurve.js.map +1 -1
  64. package/lib/esm/curve/RegionOps.d.ts +70 -43
  65. package/lib/esm/curve/RegionOps.d.ts.map +1 -1
  66. package/lib/esm/curve/RegionOps.js +71 -43
  67. package/lib/esm/curve/RegionOps.js.map +1 -1
  68. package/lib/esm/curve/UnionRegion.d.ts +6 -5
  69. package/lib/esm/curve/UnionRegion.d.ts.map +1 -1
  70. package/lib/esm/curve/UnionRegion.js +17 -8
  71. package/lib/esm/curve/UnionRegion.js.map +1 -1
  72. package/lib/esm/curve/internalContexts/GapSearchContext.d.ts +2 -1
  73. package/lib/esm/curve/internalContexts/GapSearchContext.d.ts.map +1 -1
  74. package/lib/esm/curve/internalContexts/GapSearchContext.js +6 -2
  75. package/lib/esm/curve/internalContexts/GapSearchContext.js.map +1 -1
  76. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.d.ts +14 -8
  77. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.d.ts.map +1 -1
  78. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js +14 -8
  79. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -1
  80. package/lib/esm/curve/internalContexts/SumLengthsContext.d.ts.map +1 -1
  81. package/lib/esm/curve/internalContexts/SumLengthsContext.js +4 -1
  82. package/lib/esm/curve/internalContexts/SumLengthsContext.js.map +1 -1
  83. package/lib/esm/geometry3d/Range.d.ts +133 -93
  84. package/lib/esm/geometry3d/Range.d.ts.map +1 -1
  85. package/lib/esm/geometry3d/Range.js +296 -144
  86. package/lib/esm/geometry3d/Range.js.map +1 -1
  87. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"Path.d.ts","sourceRoot":"","sources":["../../../src/curve/Path.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;GAKG;AACH,qBAAa,IAAK,SAAQ,UAAU;IAClC,wCAAwC;IACxC,SAAgB,mBAAmB,UAAU;IAE7C,+CAA+C;IACxC,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IACzD,2DAA2D;IACpD,wBAAwB,CAAC,SAAS,EAAE,uBAAuB,EAAE,aAAa,GAAE,MAAW,GAAG,IAAI;IAGrG,+BAA+B;;IAE/B;;;;OAIG;WACW,MAAM,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,cAAc,GAAG,OAAO,EAAE,CAAC,GAAG,IAAI;IAWxE;;;OAGG;WACW,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI;IAOzD,oEAAoE;IAC7D,YAAY,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,QAAQ;IAMtD,gFAAgF;IACzE,eAAe,IAAI,MAAM;IAChC,+CAA+C;IACxC,cAAc,IAAI,IAAI;IAC7B,uEAAuE;IAChE,yBAAyB,CAAC,OAAO,EAAE,eAAe,GAAG,GAAG;CAGhE"}
1
+ {"version":3,"file":"Path.d.ts","sourceRoot":"","sources":["../../../src/curve/Path.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;GAKG;AACH,qBAAa,IAAK,SAAQ,UAAU;IAClC,wCAAwC;IACxC,SAAgB,mBAAmB,UAAU;IAC7C,+CAA+C;IACxC,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAGzD,2DAA2D;IACpD,wBAAwB,CAAC,SAAS,EAAE,uBAAuB,EAAE,aAAa,GAAE,MAAW,GAAG,IAAI;IAGrG,+BAA+B;;IAI/B;;;;OAIG;WACW,MAAM,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,cAAc,GAAG,OAAO,EAAE,CAAC,GAAG,IAAI;IAWxE;;;OAGG;WACW,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI;IAOzD,oEAAoE;IAC7D,YAAY,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,QAAQ;IAMtD,gFAAgF;IACzE,eAAe,IAAI,MAAM;IAGhC,+CAA+C;IACxC,cAAc,IAAI,IAAI;IAG7B,sEAAsE;IAC/D,yBAAyB,CAAC,OAAO,EAAE,eAAe,GAAG,GAAG;CAGhE"}
@@ -8,14 +8,16 @@ import { CurvePrimitive } from "./CurvePrimitive";
8
8
  import { LineString3d } from "./LineString3d";
9
9
  /**
10
10
  * * A `Path` object is a collection of curves that join head-to-tail to form a path.
11
- * * A `Path` object does not bound a planar region. Use `Loop` to indicate region bounding.
11
+ * * A `Path` object does not bound a planar region. Use `Loop` to indicate region bounding.
12
12
  * @see [Curve Collections]($docs/learning/geometry/CurveCollection.md) learning article.
13
13
  * @public
14
14
  */
15
15
  export class Path extends CurveChain {
16
16
  /** Test if `other` is an instance of `Path` */
17
- isSameGeometryClass(other) { return other instanceof Path; }
18
- /** invoke `processor.announcePath(this, indexInParent)` */
17
+ isSameGeometryClass(other) {
18
+ return other instanceof Path;
19
+ }
20
+ /** Invoke `processor.announcePath(this, indexInParent)` */
19
21
  announceToCurveProcessor(processor, indexInParent = -1) {
20
22
  return processor.announcePath(this, indexInParent);
21
23
  }
@@ -27,7 +29,7 @@ export class Path extends CurveChain {
27
29
  }
28
30
  /**
29
31
  * Create a path from a variable length list of curve primitives
30
- * * CurvePrimitive params are captured !!!
32
+ * * CurvePrimitive params are captured.
31
33
  * @param curves variable length list of individual curve primitives or point arrays.
32
34
  */
33
35
  static create(...curves) {
@@ -42,8 +44,8 @@ export class Path extends CurveChain {
42
44
  return result;
43
45
  }
44
46
  /**
45
- * Create a path from a an array of curve primitives
46
- * @param curves array of individual curve primitives
47
+ * Create a path from a an array of curve primitives.
48
+ * @param curves array of individual curve primitives.
47
49
  */
48
50
  static createArray(curves) {
49
51
  const result = new Path();
@@ -60,10 +62,14 @@ export class Path extends CurveChain {
60
62
  return Path.create(strokes);
61
63
  }
62
64
  /** Return the boundary type (1) of a corresponding MicroStation CurveVector */
63
- dgnBoundaryType() { return 1; }
65
+ dgnBoundaryType() {
66
+ return 1;
67
+ }
64
68
  /** Clone as a new `Path` with no primitives */
65
- cloneEmptyPeer() { return new Path(); }
66
- /** Second step of double dispatch: call `handler.handlePath(this)` */
69
+ cloneEmptyPeer() {
70
+ return new Path();
71
+ }
72
+ /** Second step of double dispatch: call `handler.handlePath(this)` */
67
73
  dispatchToGeometryHandler(handler) {
68
74
  return handler.handlePath(this);
69
75
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Path.js","sourceRoot":"","sources":["../../../src/curve/Path.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAO/F,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAExD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C;;;;;GAKG;AACH,MAAM,OAAO,IAAK,SAAQ,UAAU;IAIlC,+CAA+C;IACxC,mBAAmB,CAAC,KAAoB,IAAa,OAAO,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC;IAC3F,2DAA2D;IACpD,wBAAwB,CAAC,SAAkC,EAAE,gBAAwB,CAAC,CAAC;QAC5F,OAAO,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACrD,CAAC;IACD,+BAA+B;IAC/B;QAAuB,KAAK,EAAE,CAAC;QAV/B,wCAAwC;QACxB,wBAAmB,GAAG,MAAM,CAAC;IASb,CAAC;IACjC;;;;OAIG;IACI,MAAM,CAAC,MAAM,CAAC,GAAG,MAAyC;QAC/D,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QAC1B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC1B,IAAI,KAAK,YAAY,cAAc;gBACjC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACzB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,YAAY,OAAO,EAAE;gBAChF,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;aAClD;SACF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD;;;OAGG;IACI,MAAM,CAAC,WAAW,CAAC,MAAwB;QAChD,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QAC1B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC1B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC7B;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,oEAAoE;IAC7D,YAAY,CAAC,OAAuB;QACzC,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;QACtC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ;YAC/B,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IACD,gFAAgF;IACzE,eAAe,KAAa,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9C,+CAA+C;IACxC,cAAc,KAAW,OAAO,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;IACpD,uEAAuE;IAChE,yBAAyB,CAAC,OAAwB;QACvD,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module Curve\n */\n\nimport { GeometryHandler } from \"../geometry3d/GeometryHandler\";\nimport { Point3d } from \"../geometry3d/Point3dVector3d\";\nimport { AnyCurve } from \"./CurveChain\";\nimport { CurveChain } from \"./CurveCollection\";\nimport { CurvePrimitive } from \"./CurvePrimitive\";\nimport { RecursiveCurveProcessor } from \"./CurveProcessor\";\nimport { GeometryQuery } from \"./GeometryQuery\";\nimport { LineString3d } from \"./LineString3d\";\nimport { StrokeOptions } from \"./StrokeOptions\";\n\n/**\n * * A `Path` object is a collection of curves that join head-to-tail to form a path.\n * * A `Path` object does not bound a planar region. Use `Loop` to indicate region bounding.\n * @see [Curve Collections]($docs/learning/geometry/CurveCollection.md) learning article.\n * @public\n */\nexport class Path extends CurveChain {\n /** String name for schema properties */\n public readonly curveCollectionType = \"path\";\n\n /** Test if `other` is an instance of `Path` */\n public isSameGeometryClass(other: GeometryQuery): boolean { return other instanceof Path; }\n /** invoke `processor.announcePath(this, indexInParent)` */\n public announceToCurveProcessor(processor: RecursiveCurveProcessor, indexInParent: number = -1): void {\n return processor.announcePath(this, indexInParent);\n }\n /** Construct an empty path. */\n public constructor() { super(); }\n /**\n * Create a path from a variable length list of curve primitives\n * * CurvePrimitive params are captured !!!\n * @param curves variable length list of individual curve primitives or point arrays.\n */\n public static create(...curves: Array<CurvePrimitive | Point3d[]>): Path {\n const result = new Path();\n for (const curve of curves) {\n if (curve instanceof CurvePrimitive)\n result.children.push(curve);\n else if (Array.isArray(curve) && curve.length > 0 && curve[0] instanceof Point3d) {\n result.children.push(LineString3d.create(curve));\n }\n }\n return result;\n }\n /**\n * Create a path from a an array of curve primitives\n * @param curves array of individual curve primitives\n */\n public static createArray(curves: CurvePrimitive[]): Path {\n const result = new Path();\n for (const curve of curves) {\n result.children.push(curve);\n }\n return result;\n }\n /** Return a deep copy, with leaf-level curve primitives stroked. */\n public cloneStroked(options?: StrokeOptions): AnyCurve {\n const strokes = LineString3d.create();\n for (const curve of this.children)\n curve.emitStrokes(strokes, options);\n return Path.create(strokes);\n }\n /** Return the boundary type (1) of a corresponding MicroStation CurveVector */\n public dgnBoundaryType(): number { return 1; }\n /** Clone as a new `Path` with no primitives */\n public cloneEmptyPeer(): Path { return new Path(); }\n /** Second step of double dispatch: call `handler.handlePath(this)` */\n public dispatchToGeometryHandler(handler: GeometryHandler): any {\n return handler.handlePath(this);\n }\n}\n"]}
1
+ {"version":3,"file":"Path.js","sourceRoot":"","sources":["../../../src/curve/Path.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAO/F,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAExD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C;;;;;GAKG;AACH,MAAM,OAAO,IAAK,SAAQ,UAAU;IAGlC,+CAA+C;IACxC,mBAAmB,CAAC,KAAoB;QAC7C,OAAO,KAAK,YAAY,IAAI,CAAC;IAC/B,CAAC;IACD,2DAA2D;IACpD,wBAAwB,CAAC,SAAkC,EAAE,gBAAwB,CAAC,CAAC;QAC5F,OAAO,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACrD,CAAC;IACD,+BAA+B;IAC/B;QACE,KAAK,EAAE,CAAC;QAZV,wCAAwC;QACxB,wBAAmB,GAAG,MAAM,CAAC;IAY7C,CAAC;IACD;;;;OAIG;IACI,MAAM,CAAC,MAAM,CAAC,GAAG,MAAyC;QAC/D,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QAC1B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC1B,IAAI,KAAK,YAAY,cAAc;gBACjC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACzB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,YAAY,OAAO,EAAE;gBAChF,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;aAClD;SACF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD;;;OAGG;IACI,MAAM,CAAC,WAAW,CAAC,MAAwB;QAChD,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QAC1B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC1B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC7B;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,oEAAoE;IAC7D,YAAY,CAAC,OAAuB;QACzC,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;QACtC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ;YAC/B,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IACD,gFAAgF;IACzE,eAAe;QACpB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,+CAA+C;IACxC,cAAc;QACnB,OAAO,IAAI,IAAI,EAAE,CAAC;IACpB,CAAC;IACD,sEAAsE;IAC/D,yBAAyB,CAAC,OAAwB;QACvD,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module Curve\n */\n\nimport { GeometryHandler } from \"../geometry3d/GeometryHandler\";\nimport { Point3d } from \"../geometry3d/Point3dVector3d\";\nimport { AnyCurve } from \"./CurveChain\";\nimport { CurveChain } from \"./CurveCollection\";\nimport { CurvePrimitive } from \"./CurvePrimitive\";\nimport { RecursiveCurveProcessor } from \"./CurveProcessor\";\nimport { GeometryQuery } from \"./GeometryQuery\";\nimport { LineString3d } from \"./LineString3d\";\nimport { StrokeOptions } from \"./StrokeOptions\";\n\n/**\n * * A `Path` object is a collection of curves that join head-to-tail to form a path.\n * * A `Path` object does not bound a planar region. Use `Loop` to indicate region bounding.\n * @see [Curve Collections]($docs/learning/geometry/CurveCollection.md) learning article.\n * @public\n */\nexport class Path extends CurveChain {\n /** String name for schema properties */\n public readonly curveCollectionType = \"path\";\n /** Test if `other` is an instance of `Path` */\n public isSameGeometryClass(other: GeometryQuery): boolean {\n return other instanceof Path;\n }\n /** Invoke `processor.announcePath(this, indexInParent)` */\n public announceToCurveProcessor(processor: RecursiveCurveProcessor, indexInParent: number = -1): void {\n return processor.announcePath(this, indexInParent);\n }\n /** Construct an empty path. */\n public constructor() {\n super();\n }\n /**\n * Create a path from a variable length list of curve primitives\n * * CurvePrimitive params are captured.\n * @param curves variable length list of individual curve primitives or point arrays.\n */\n public static create(...curves: Array<CurvePrimitive | Point3d[]>): Path {\n const result = new Path();\n for (const curve of curves) {\n if (curve instanceof CurvePrimitive)\n result.children.push(curve);\n else if (Array.isArray(curve) && curve.length > 0 && curve[0] instanceof Point3d) {\n result.children.push(LineString3d.create(curve));\n }\n }\n return result;\n }\n /**\n * Create a path from a an array of curve primitives.\n * @param curves array of individual curve primitives.\n */\n public static createArray(curves: CurvePrimitive[]): Path {\n const result = new Path();\n for (const curve of curves) {\n result.children.push(curve);\n }\n return result;\n }\n /** Return a deep copy, with leaf-level curve primitives stroked. */\n public cloneStroked(options?: StrokeOptions): AnyCurve {\n const strokes = LineString3d.create();\n for (const curve of this.children)\n curve.emitStrokes(strokes, options);\n return Path.create(strokes);\n }\n /** Return the boundary type (1) of a corresponding MicroStation CurveVector */\n public dgnBoundaryType(): number {\n return 1;\n }\n /** Clone as a new `Path` with no primitives */\n public cloneEmptyPeer(): Path {\n return new Path();\n }\n /** Second step of double dispatch: call `handler.handlePath(this)` */\n public dispatchToGeometryHandler(handler: GeometryHandler): any {\n return handler.handlePath(this);\n }\n}\n"]}
@@ -13,11 +13,9 @@ import type { OffsetOptions } from "./internalContexts/PolygonOffsetContext";
13
13
  import type { LineString3d } from "./LineString3d";
14
14
  import type { StrokeOptions } from "./StrokeOptions";
15
15
  /**
16
- * A ProxyCurve is expected to be used as a base class for
17
- * curve types that use some existing curve (the proxy) for evaluation and display
18
- * but carry other defining data.
19
- * * The ProxyCurve implements all required CurvePrimitive methods by dispatching
20
- * to the proxy.
16
+ * A ProxyCurve is expected to be used as a base class for curve types that use some existing curve (the proxy)
17
+ * for evaluation and display but carry other defining data.
18
+ * * The ProxyCurve implements all required CurvePrimitive methods by dispatching to the proxy.
21
19
  * * These methods presumably require support from the application class and are left abstract:
22
20
  * * clone
23
21
  * * curvePrimitiveType
@@ -33,7 +31,7 @@ export declare abstract class ProxyCurve extends CurvePrimitive {
33
31
  protected _proxyCurve: CurvePrimitive;
34
32
  /** Constructor CAPTURES the proxyCurve pointer */
35
33
  constructor(proxyCurve: CurvePrimitive);
36
- /** return the (pointer to) the proxy curve. */
34
+ /** Return the (pointer to) the proxy curve. */
37
35
  get proxyCurve(): CurvePrimitive;
38
36
  /** Implement by proxyCurve */
39
37
  computeStrokeCountForOptions(options?: StrokeOptions): number;
@@ -1 +1 @@
1
- {"version":3,"file":"ProxyCurve.d.ts","sourceRoot":"","sources":["../../../src/curve/ProxyCurve.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACrF,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAC/F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD;;;;;;;;;;;;;;;GAeG;AACH,8BAAsB,UAAW,SAAQ,cAAc;IAC9C,yBAAyB,CAAC,OAAO,EAAE,eAAe;IAIzD,SAAS,CAAC,WAAW,EAAE,cAAc,CAAC;IAEtC,kDAAkD;gBAC/B,UAAU,EAAE,cAAc;IAK7C,+CAA+C;IAC/C,IAAW,UAAU,IAAI,cAAc,CAA4B;IAEnE,8BAA8B;IACvB,4BAA4B,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM;IAIpE,8BAA8B;IACvB,kBAAkB,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI;IAI9E,+EAA+E;aACtD,KAAK,IAAI,UAAU;IAE5C,kCAAkC;IAClB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS;IAO9E,+FAA+F;IAC/E,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAInG,8BAA8B;IACvB,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI;IAIrE,8BAA8B;IACvB,WAAW,CAAC,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI;IAIvE,8BAA8B;IACd,KAAK,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IAIvE,8BAA8B;IACvB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IAInE,8BAA8B;IACvB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK;IAI5E,8BAA8B;IACvB,8BAA8B,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,yBAAyB,GAAG,yBAAyB,GAAG,SAAS;IAIlI,8BAA8B;IACvB,SAAS,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO;IAI9D,8BAA8B;IACvB,WAAW,IAAI,MAAM;IAI5B,8BAA8B;IACd,iBAAiB,CAAC,uBAAuB,EAAE,MAAM,GAAG,aAAa,GAAG,cAAc,GAAG,cAAc,EAAE,GAAG,SAAS;IAIjI,8BAA8B;IACd,uBAAuB,CAAC,GAAG,EAAE,QAAQ,GAAG,KAAK,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS;CAGvG"}
1
+ {"version":3,"file":"ProxyCurve.d.ts","sourceRoot":"","sources":["../../../src/curve/ProxyCurve.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACrF,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAC/F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD;;;;;;;;;;;;;GAaG;AACH,8BAAsB,UAAW,SAAQ,cAAc;IAC9C,yBAAyB,CAAC,OAAO,EAAE,eAAe;IAGzD,SAAS,CAAC,WAAW,EAAE,cAAc,CAAC;IACtC,kDAAkD;gBAC/B,UAAU,EAAE,cAAc;IAI7C,+CAA+C;IAC/C,IAAW,UAAU,IAAI,cAAc,CAEtC;IACD,8BAA8B;IACvB,4BAA4B,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM;IAGpE,8BAA8B;IACvB,kBAAkB,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI;IAG9E,+EAA+E;aACtD,KAAK,IAAI,UAAU;IAC5C,kCAAkC;IAClB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS;IAM9E,+FAA+F;IAC/E,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAGnG,8BAA8B;IACvB,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI;IAGrE,8BAA8B;IACvB,WAAW,CAAC,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI;IAGvE,8BAA8B;IACd,KAAK,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IAGvE,8BAA8B;IACvB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IAGnE,8BAA8B;IACvB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK;IAG5E,8BAA8B;IACvB,8BAA8B,CACnC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,yBAAyB,GACnD,yBAAyB,GAAG,SAAS;IAGxC,8BAA8B;IACvB,SAAS,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO;IAG9D,8BAA8B;IACvB,WAAW,IAAI,MAAM;IAG5B,8BAA8B;IACd,iBAAiB,CAC/B,uBAAuB,EAAE,MAAM,GAAG,aAAa,GAC9C,cAAc,GAAG,cAAc,EAAE,GAAG,SAAS;IAGhD,8BAA8B;IACd,uBAAuB,CAAC,GAAG,EAAE,QAAQ,GAAG,KAAK,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS;CAGvG"}
@@ -7,11 +7,9 @@
7
7
  */
8
8
  import { CurvePrimitive } from "../curve/CurvePrimitive";
9
9
  /**
10
- * A ProxyCurve is expected to be used as a base class for
11
- * curve types that use some existing curve (the proxy) for evaluation and display
12
- * but carry other defining data.
13
- * * The ProxyCurve implements all required CurvePrimitive methods by dispatching
14
- * to the proxy.
10
+ * A ProxyCurve is expected to be used as a base class for curve types that use some existing curve (the proxy)
11
+ * for evaluation and display but carry other defining data.
12
+ * * The ProxyCurve implements all required CurvePrimitive methods by dispatching to the proxy.
15
13
  * * These methods presumably require support from the application class and are left abstract:
16
14
  * * clone
17
15
  * * curvePrimitiveType
@@ -31,8 +29,10 @@ export class ProxyCurve extends CurvePrimitive {
31
29
  super();
32
30
  this._proxyCurve = proxyCurve;
33
31
  }
34
- /** return the (pointer to) the proxy curve. */
35
- get proxyCurve() { return this._proxyCurve; }
32
+ /** Return the (pointer to) the proxy curve. */
33
+ get proxyCurve() {
34
+ return this._proxyCurve;
35
+ }
36
36
  /** Implement by proxyCurve */
37
37
  computeStrokeCountForOptions(options) {
38
38
  return this._proxyCurve.computeStrokeCountForOptions(options);
@@ -1 +1 @@
1
- {"version":3,"file":"ProxyCurve.js","sourceRoot":"","sources":["../../../src/curve/ProxyCurve.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module Curve\n */\n\nimport { CurvePrimitive } from \"../curve/CurvePrimitive\";\n\nimport type { GeometryHandler, IStrokeHandler } from \"../geometry3d/GeometryHandler\";\nimport type { Plane3dByOriginAndUnitNormal } from \"../geometry3d/Plane3dByOriginAndUnitNormal\";\nimport type { Plane3dByOriginAndVectors } from \"../geometry3d/Plane3dByOriginAndVectors\";\nimport type { Ray3d } from \"../geometry3d/Ray3d\";\nimport type { Transform } from \"../geometry3d/Transform\";\nimport type { Point3d, Vector3d } from \"../geometry3d/Point3dVector3d\";\nimport type { Range1d, Range3d } from \"../geometry3d/Range\";\nimport type { OffsetOptions } from \"./internalContexts/PolygonOffsetContext\";\nimport type { LineString3d } from \"./LineString3d\";\nimport type { StrokeOptions } from \"./StrokeOptions\";\n\n/**\n * A ProxyCurve is expected to be used as a base class for\n * curve types that use some existing curve (the proxy) for evaluation and display\n * but carry other defining data.\n * * The ProxyCurve implements all required CurvePrimitive methods by dispatching\n * to the proxy.\n * * These methods presumably require support from the application class and are left abstract:\n * * clone\n * * curvePrimitiveType\n * * isSameCurvePrimitiveType\n * * isSameGeometryClass\n * * tryTransformInPlace\n * * reverseInPlace\n *\n * @public\n */\nexport abstract class ProxyCurve extends CurvePrimitive {\n public dispatchToGeometryHandler(handler: GeometryHandler) {\n return this._proxyCurve.dispatchToGeometryHandler(handler);\n }\n\n protected _proxyCurve: CurvePrimitive;\n\n /** Constructor CAPTURES the proxyCurve pointer */\n public constructor(proxyCurve: CurvePrimitive) {\n super();\n this._proxyCurve = proxyCurve;\n }\n\n /** return the (pointer to) the proxy curve. */\n public get proxyCurve(): CurvePrimitive { return this._proxyCurve;}\n\n /** Implement by proxyCurve */\n public computeStrokeCountForOptions(options?: StrokeOptions): number {\n return this._proxyCurve.computeStrokeCountForOptions(options);\n }\n\n /** Implement by proxyCurve */\n public emitStrokableParts(dest: IStrokeHandler, options?: StrokeOptions): void{\n this._proxyCurve.emitStrokableParts(dest, options);\n }\n\n /** Return a deep clone. This override removes the undefined variant return. */\n public abstract override clone(): ProxyCurve;\n\n /** Return a transformed clone. */\n public override cloneTransformed(transform: Transform): ProxyCurve | undefined {\n const myClone = this.clone();\n if (myClone.tryTransformInPlace(transform))\n return myClone;\n return undefined;\n }\n\n /** Implement by proxyCurve. Subclasses may eventually override this default implementation. */\n public override clonePartialCurve(fractionA: number, fractionB: number): CurvePrimitive | undefined {\n return this._proxyCurve.clonePartialCurve(fractionA, fractionB);\n }\n\n /** Implement by proxyCurve */\n public emitStrokes(dest: LineString3d, options?: StrokeOptions): void{\n this._proxyCurve.emitStrokes(dest, options);\n }\n\n /** Implement by proxyCurve */\n public extendRange(rangeToExtend: Range3d, transform?: Transform): void{\n this._proxyCurve.extendRange (rangeToExtend, transform);\n }\n\n /** Implement by proxyCurve */\n public override range(transform?: Transform, result?: Range3d): Range3d {\n return this._proxyCurve.range(transform, result);\n }\n\n /** Implement by proxyCurve */\n public fractionToPoint(fraction: number, result?: Point3d): Point3d{\n return this._proxyCurve.fractionToPoint(fraction, result);\n }\n\n /** Implement by proxyCurve */\n public fractionToPointAndDerivative(fraction: number, result?: Ray3d): Ray3d{\n return this._proxyCurve.fractionToPointAndDerivative(fraction, result);\n }\n\n /** Implement by proxyCurve */\n public fractionToPointAnd2Derivatives(fraction: number, result?: Plane3dByOriginAndVectors): Plane3dByOriginAndVectors | undefined{\n return this._proxyCurve.fractionToPointAnd2Derivatives(fraction, result);\n }\n\n /** Implement by proxyCurve */\n public isInPlane(plane: Plane3dByOriginAndUnitNormal): boolean {\n return this._proxyCurve.isInPlane(plane);\n }\n\n /** Implement by proxyCurve */\n public quickLength(): number {\n return this._proxyCurve.quickLength();\n }\n\n /** Implement by proxyCurve */\n public override constructOffsetXY(offsetDistanceOrOptions: number | OffsetOptions): CurvePrimitive | CurvePrimitive[] | undefined {\n return this._proxyCurve.constructOffsetXY(offsetDistanceOrOptions);\n }\n\n /** Implement by proxyCurve */\n public override projectedParameterRange(ray: Vector3d | Ray3d, lowHigh?: Range1d): Range1d | undefined {\n return this._proxyCurve.projectedParameterRange(ray, lowHigh);\n }\n}\n"]}
1
+ {"version":3,"file":"ProxyCurve.js","sourceRoot":"","sources":["../../../src/curve/ProxyCurve.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module Curve\n */\n\nimport { CurvePrimitive } from \"../curve/CurvePrimitive\";\n\nimport type { GeometryHandler, IStrokeHandler } from \"../geometry3d/GeometryHandler\";\nimport type { Plane3dByOriginAndUnitNormal } from \"../geometry3d/Plane3dByOriginAndUnitNormal\";\nimport type { Plane3dByOriginAndVectors } from \"../geometry3d/Plane3dByOriginAndVectors\";\nimport type { Ray3d } from \"../geometry3d/Ray3d\";\nimport type { Transform } from \"../geometry3d/Transform\";\nimport type { Point3d, Vector3d } from \"../geometry3d/Point3dVector3d\";\nimport type { Range1d, Range3d } from \"../geometry3d/Range\";\nimport type { OffsetOptions } from \"./internalContexts/PolygonOffsetContext\";\nimport type { LineString3d } from \"./LineString3d\";\nimport type { StrokeOptions } from \"./StrokeOptions\";\n\n/**\n * A ProxyCurve is expected to be used as a base class for curve types that use some existing curve (the proxy)\n * for evaluation and display but carry other defining data.\n * * The ProxyCurve implements all required CurvePrimitive methods by dispatching to the proxy.\n * * These methods presumably require support from the application class and are left abstract:\n * * clone\n * * curvePrimitiveType\n * * isSameCurvePrimitiveType\n * * isSameGeometryClass\n * * tryTransformInPlace\n * * reverseInPlace\n *\n * @public\n */\nexport abstract class ProxyCurve extends CurvePrimitive {\n public dispatchToGeometryHandler(handler: GeometryHandler) {\n return this._proxyCurve.dispatchToGeometryHandler(handler);\n }\n protected _proxyCurve: CurvePrimitive;\n /** Constructor CAPTURES the proxyCurve pointer */\n public constructor(proxyCurve: CurvePrimitive) {\n super();\n this._proxyCurve = proxyCurve;\n }\n /** Return the (pointer to) the proxy curve. */\n public get proxyCurve(): CurvePrimitive {\n return this._proxyCurve;\n }\n /** Implement by proxyCurve */\n public computeStrokeCountForOptions(options?: StrokeOptions): number {\n return this._proxyCurve.computeStrokeCountForOptions(options);\n }\n /** Implement by proxyCurve */\n public emitStrokableParts(dest: IStrokeHandler, options?: StrokeOptions): void {\n this._proxyCurve.emitStrokableParts(dest, options);\n }\n /** Return a deep clone. This override removes the undefined variant return. */\n public abstract override clone(): ProxyCurve;\n /** Return a transformed clone. */\n public override cloneTransformed(transform: Transform): ProxyCurve | undefined {\n const myClone = this.clone();\n if (myClone.tryTransformInPlace(transform))\n return myClone;\n return undefined;\n }\n /** Implement by proxyCurve. Subclasses may eventually override this default implementation. */\n public override clonePartialCurve(fractionA: number, fractionB: number): CurvePrimitive | undefined {\n return this._proxyCurve.clonePartialCurve(fractionA, fractionB);\n }\n /** Implement by proxyCurve */\n public emitStrokes(dest: LineString3d, options?: StrokeOptions): void {\n this._proxyCurve.emitStrokes(dest, options);\n }\n /** Implement by proxyCurve */\n public extendRange(rangeToExtend: Range3d, transform?: Transform): void {\n this._proxyCurve.extendRange(rangeToExtend, transform);\n }\n /** Implement by proxyCurve */\n public override range(transform?: Transform, result?: Range3d): Range3d {\n return this._proxyCurve.range(transform, result);\n }\n /** Implement by proxyCurve */\n public fractionToPoint(fraction: number, result?: Point3d): Point3d {\n return this._proxyCurve.fractionToPoint(fraction, result);\n }\n /** Implement by proxyCurve */\n public fractionToPointAndDerivative(fraction: number, result?: Ray3d): Ray3d {\n return this._proxyCurve.fractionToPointAndDerivative(fraction, result);\n }\n /** Implement by proxyCurve */\n public fractionToPointAnd2Derivatives(\n fraction: number, result?: Plane3dByOriginAndVectors\n ): Plane3dByOriginAndVectors | undefined {\n return this._proxyCurve.fractionToPointAnd2Derivatives(fraction, result);\n }\n /** Implement by proxyCurve */\n public isInPlane(plane: Plane3dByOriginAndUnitNormal): boolean {\n return this._proxyCurve.isInPlane(plane);\n }\n /** Implement by proxyCurve */\n public quickLength(): number {\n return this._proxyCurve.quickLength();\n }\n /** Implement by proxyCurve */\n public override constructOffsetXY(\n offsetDistanceOrOptions: number | OffsetOptions\n ): CurvePrimitive | CurvePrimitive[] | undefined {\n return this._proxyCurve.constructOffsetXY(offsetDistanceOrOptions);\n }\n /** Implement by proxyCurve */\n public override projectedParameterRange(ray: Vector3d | Ray3d, lowHigh?: Range1d): Range1d | undefined {\n return this._proxyCurve.projectedParameterRange(ray, lowHigh);\n }\n}\n"]}
@@ -13,7 +13,8 @@ import { JointOptions, OffsetOptions } from "./internalContexts/PolygonOffsetCon
13
13
  import { Loop, SignedLoops } from "./Loop";
14
14
  import { Path } from "./Path";
15
15
  /**
16
- * Possible return types from [[splitToPathsBetweenBreaks]], [[collectInsideAndOutsideOffsets]] and [[collectChains]].
16
+ * Possible return types from [[splitToPathsBetweenBreaks]], [[collectInsideAndOutsideOffsets]] and
17
+ * [[collectChains]].
17
18
  * @public
18
19
  */
19
20
  export type ChainTypes = CurvePrimitive | Path | BagOfCurves | Loop | undefined;
@@ -44,7 +45,8 @@ export declare enum RegionBinaryOpType {
44
45
  * * `ParityRegion` -- a collection of loops, interpreted by parity rules.
45
46
  * The common "One outer loop and many Inner loops" is a parity region.
46
47
  * * `UnionRegion` -- a collection of `Loop` and `ParityRegion` objects understood as a (probably disjoint) union.
47
- * * Most of the methods in this class ignore z-coordinates, so callers should ensure that input geometry has been rotated parallel to the xy-plane.
48
+ * * Most of the methods in this class ignore z-coordinates, so callers should ensure that input geometry has been
49
+ * rotated parallel to the xy-plane.
48
50
  * @public
49
51
  */
50
52
  export declare class RegionOps {
@@ -55,7 +57,8 @@ export declare class RegionOps {
55
57
  * @param root any Loop, ParityRegion, or UnionRegion.
56
58
  */
57
59
  static computeXYAreaMoments(root: AnyRegion): MomentData | undefined;
58
- /** Return an area tolerance for a given xy-range and optional distance tolerance.
60
+ /**
61
+ * Return an area tolerance for a given xy-range and optional distance tolerance.
59
62
  * @param range range of planar region to tolerance
60
63
  * @param distanceTolerance optional absolute distance tolerance
61
64
  */
@@ -67,18 +70,20 @@ export declare class RegionOps {
67
70
  * @param root any Loop, ParityRegion, or UnionRegion.
68
71
  */
69
72
  static computeXYArea(root: AnyRegion): number | undefined;
70
- /** Return MomentData with the sums of wire moments.
73
+ /**
74
+ * Return MomentData with the sums of wire moments.
71
75
  * * If `rawMomentData` is the MomentData returned by computeXYAreaMoments, convert to principal axes and moments with
72
76
  * call `principalMomentData = MomentData.inertiaProductsToPrincipalAxes (rawMomentData.origin, rawMomentData.sums);`
73
77
  * @param root any CurveCollection or CurvePrimitive.
74
78
  */
75
79
  static computeXYZWireMomentSums(root: AnyCurve): MomentData | undefined;
76
80
  /**
77
- * * create loops in the graph.
81
+ * Create loops in the graph.
78
82
  * @internal
79
83
  */
80
84
  static addLoopsToGraph(graph: HalfEdgeGraph, data: MultiLineStringDataVariant, announceIsolatedLoop: (graph: HalfEdgeGraph, seed: HalfEdge) => void): void;
81
- /** Add multiple loops to a graph.
85
+ /**
86
+ * Add multiple loops to a graph.
82
87
  * * Apply edgeTag and mask to each edge.
83
88
  * @internal
84
89
  */
@@ -86,7 +91,6 @@ export declare class RegionOps {
86
91
  /**
87
92
  * Given a graph just produced by booleans, convert to a polyface
88
93
  * * "just produced" implies exterior face markup.
89
- *
90
94
  * @param graph
91
95
  * @param triangulate
92
96
  */
@@ -129,7 +133,8 @@ export declare class RegionOps {
129
133
  * @param loopsB second set of loops
130
134
  * @param operation indicates Union, Intersection, Parity, AMinusB, or BMinusA
131
135
  * @param mergeTolerance absolute distance tolerance for merging loops
132
- * @returns a region resulting from merging input loops and the boolean operation. May contain bridge edges added to connect interior loops to exterior loops.
136
+ * @returns a region resulting from merging input loops and the boolean operation. May contain bridge edges added
137
+ * to connect interior loops to exterior loops.
133
138
  */
134
139
  static regionBooleanXY(loopsA: AnyRegion | AnyRegion[] | undefined, loopsB: AnyRegion | AnyRegion[] | undefined, operation: RegionBinaryOpType, mergeTolerance?: number): AnyRegion | undefined;
135
140
  /**
@@ -157,29 +162,35 @@ export declare class RegionOps {
157
162
  * @param inputB second set of loops
158
163
  */
159
164
  static polygonBooleanXYToLoops(inputA: MultiLineStringDataVariant[], operation: RegionBinaryOpType, inputB: MultiLineStringDataVariant[]): AnyRegion | undefined;
160
- /** Construct a wire (not area!!) that is offset from given polyline or polygon.
165
+ /**
166
+ * Construct a wire (not area!!) that is offset from given polyline or polygon.
161
167
  * * This is a simple wire offset, not an area.
162
- * * The construction algorithm attempts to eliminate some self-intersections within the offsets, but does not guarantee a simple area offset.
163
- * * The construction algorithm is subject to being changed, resulting in different (hopefully better) self-intersection behavior on the future.
168
+ * * The construction algorithm attempts to eliminate some self-intersections within the offsets, but does not
169
+ * guarantee a simple area offset.
170
+ * * The construction algorithm is subject to being changed, resulting in different (hopefully better)
171
+ * self-intersection behavior on the future.
164
172
  * @param points a single loop or path
165
173
  * @param wrap true to include wraparound
166
174
  * @param offsetDistance distance of offset from wire. Positive is left.
167
175
  */
168
176
  static constructPolygonWireXYOffset(points: Point3d[], wrap: boolean, offsetDistance: number): CurveCollection | undefined;
169
177
  /**
170
- * Construct curves that are offset from a Path or Loop as viewed in xy-plane (ignoring z).
171
- * * The construction will remove "some" local effects of features smaller than the offset distance, but will not detect self intersection among widely separated edges.
172
- * * If offsetDistance is given as a number, default OffsetOptions are applied.
173
- * * When the offset needs to do an "outside" turn, the first applicable construction is applied:
174
- * * If the turn is larger than `options.minArcDegrees`, a circular arc is constructed.
175
- * * If the turn is less than or equal to `options.maxChamferTurnDegrees`, extend curves along tangent to single intersection point.
176
- * * If the turn is larger than `options.maxChamferDegrees`, the turn is constructed as a sequence of straight lines that are:
177
- * * outside the arc
178
- * * have uniform turn angle less than `options.maxChamferDegrees`
179
- * * each line segment (except first and last) touches the arc at its midpoint.
180
- * @param curves base curves.
181
- * @param offsetDistanceOrOptions offset distance (positive to left of curve, negative to right) or options object.
182
- */
178
+ * Construct curves that are offset from a Path or Loop as viewed in xy-plane (ignoring z).
179
+ * * The construction will remove "some" local effects of features smaller than the offset distance, but will
180
+ * not detect self intersection among widely separated edges.
181
+ * * If offsetDistance is given as a number, default OffsetOptions are applied.
182
+ * * When the offset needs to do an "outside" turn, the first applicable construction is applied:
183
+ * * If the turn is larger than `options.minArcDegrees`, a circular arc is constructed.
184
+ * * If the turn is less than or equal to `options.maxChamferTurnDegrees`, extend curves along tangent to
185
+ * single intersection point.
186
+ * * If the turn is larger than `options.maxChamferDegrees`, the turn is constructed as a sequence of straight
187
+ * lines that are:
188
+ * * outside the arc
189
+ * * have uniform turn angle less than `options.maxChamferDegrees`
190
+ * * each line segment (except first and last) touches the arc at its midpoint.
191
+ * @param curves base curves.
192
+ * @param offsetDistanceOrOptions offset distance (positive to left of curve, negative to right) or options object.
193
+ */
183
194
  static constructCurveXYOffset(curves: Path | Loop, offsetDistanceOrOptions: number | JointOptions | OffsetOptions): CurveCollection | undefined;
184
195
  /**
185
196
  * Test if point (x,y) is IN, OUT or ON a region.
@@ -189,7 +200,8 @@ export declare class RegionOps {
189
200
  * @param y y coordinate of point to test
190
201
  */
191
202
  static testPointInOnOutRegionXY(curves: AnyRegion, x: number, y: number): number;
192
- /** Create curve collection of subtype determined by gaps between the input curves.
203
+ /**
204
+ * Create curve collection of subtype determined by gaps between the input curves.
193
205
  * * If (a) wrap is requested and (b) all curves connect head-to-tail (including wraparound), assemble as a `loop`.
194
206
  * * If all curves connect head-to-tail except for closure, return a `Path`.
195
207
  * * If there are internal gaps, return a `BagOfCurves`
@@ -217,7 +229,8 @@ export declare class RegionOps {
217
229
  static cloneCurvesWithXYSplits(curvesToCut: AnyCurve | undefined, cutterCurves: CurveCollection): AnyCurve | undefined;
218
230
  /**
219
231
  * Create paths assembled from many curves.
220
- * * Assemble paths from consecutive curves NOT separated by either gaps or the split markup set by [[cloneCurvesWithXYSplits]].
232
+ * * Assemble paths from consecutive curves NOT separated by either gaps or the split markup set by
233
+ * [[cloneCurvesWithXYSplits]].
221
234
  * * Return simplest form -- single primitive, single path, or bag of curves.
222
235
  */
223
236
  static splitToPathsBetweenBreaks(source: AnyCurve | undefined, makeClones: boolean): ChainTypes;
@@ -242,7 +255,8 @@ export declare class RegionOps {
242
255
  */
243
256
  static collectChains(fragments: AnyCurve[], gapTolerance?: number): ChainTypes;
244
257
  /**
245
- * Find all intersections among curves in `curvesToCut` against the boundaries of `region` and return fragments of `curvesToCut`.
258
+ * Find all intersections among curves in `curvesToCut` against the boundaries of `region` and return fragments
259
+ * of `curvesToCut`.
246
260
  * * Break `curvesToCut` into parts inside, outside, and coincident.
247
261
  * @returns output object with all fragments split among `insideParts`, `outsideParts`, and `coincidentParts`
248
262
  */
@@ -251,7 +265,8 @@ export declare class RegionOps {
251
265
  outsideParts: AnyCurve[];
252
266
  coincidentParts: AnyCurve[];
253
267
  };
254
- /** If `data` is one of several forms of a rectangle, return its edge Transform.
268
+ /**
269
+ * If `data` is one of several forms of a rectangle, return its edge Transform.
255
270
  * * Points are considered a rectangle if, within the first 4 points:
256
271
  * * vectors from 0 to 1 and 0 to 3 are perpendicular and have a non-zero cross product
257
272
  * * vectors from 0 to 3 and 1 to 2 are the same
@@ -262,7 +277,8 @@ export declare class RegionOps {
262
277
  * * Array of Point3d[]
263
278
  * * IndexedXYZCollection
264
279
  * @param requireClosurePoint whether to require a 5th point equal to the 1st point.
265
- * @returns Transform with origin at one corner, x and y columns extending along two adjacent sides, and unit normal in z column. If not a rectangle, return undefined.
280
+ * @returns Transform with origin at one corner, x and y columns extending along two adjacent sides, and unit
281
+ * normal in z column. If not a rectangle, return undefined.
266
282
  */
267
283
  static rectangleEdgeTransform(data: AnyCurve | Point3d[] | IndexedXYZCollection, requireClosurePoint?: boolean): Transform | undefined;
268
284
  /**
@@ -270,9 +286,10 @@ export declare class RegionOps {
270
286
  * * Contiguous `LineSegment3d` and `LineString3d` objects.
271
287
  * * collect all points
272
288
  * * eliminate duplicated points
273
- * * eliminate points colinear with surrounding points.
274
- * * Contiguous concentric circular or elliptic arcs
289
+ * * eliminate points colinear with surrounding points
290
+ * * contiguous concentric circular or elliptic arcs
275
291
  * * combine angular ranges
292
+ * * This function can be used to compress adjacent LineSegment3ds into a LineString3d
276
293
  * @param curves Path or loop (or larger collection containing paths and loops) to be simplified
277
294
  * @param options options for tolerance and selective simplification.
278
295
  */
@@ -283,24 +300,31 @@ export declare class RegionOps {
283
300
  * @returns a region that captures the input pointers. This region is a:
284
301
  * * `Loop` if there is exactly one input loop. It is oriented counterclockwise.
285
302
  * * `ParityRegion` if input consists of exactly one outer loop with at least one hole loop.
286
- * Its first child is an outer loop oriented counterclockwise; all subsequent children are holes oriented clockwise.
287
- * * `UnionRegion` if any other input configuration. Its children are individually ordered/oriented as in the above cases.
303
+ * Its first child is an outer loop oriented counterclockwise; all subsequent children are holes oriented
304
+ * clockwise.
305
+ * * `UnionRegion` if any other input configuration. Its children are individually ordered/oriented as in
306
+ * the above cases.
288
307
  * @see [[PolygonOps.sortOuterAndHoleLoopsXY]]
289
308
  */
290
309
  static sortOuterAndHoleLoopsXY(loops: Array<Loop | IndexedXYZCollection>): AnyRegion;
291
310
  /**
292
311
  * Find all areas bounded by the unstructured, possibly intersecting curves.
293
- * * A common use case of this method is to assemble the bounding "exterior" loop (or loops) containing the input curves.
294
- * * This method does not add bridge edges to connect outer loops to inner loops. Each disconnected loop, regardless
295
- * of its containment, is returned as its own SignedLoops object. Pre-process with [[regionBooleanXY]] to add bridge edges so that
296
- * [[constructAllXYRegionLoops]] will return outer and inner loops in the same SignedLoops object.
297
- * @param curvesAndRegions Any collection of curves. Each Loop/ParityRegion/UnionRegion contributes its curve primitives.
312
+ * * A common use case of this method is to assemble the bounding "exterior" loop (or loops) containing the
313
+ * input curves.
314
+ * * This method does not add bridge edges to connect outer loops to inner loops. Each disconnected loop,
315
+ * regardless of its containment, is returned as its own SignedLoops object. Pre-process with [[regionBooleanXY]]
316
+ * to add bridge edges so that [[constructAllXYRegionLoops]] will return outer and inner loops in the same
317
+ * SignedLoops object.
318
+ * @param curvesAndRegions Any collection of curves. Each Loop/ParityRegion/UnionRegion contributes its curve
319
+ * primitives.
298
320
  * @param tolerance optional distance tolerance for coincidence
299
321
  * @returns array of [[SignedLoops]], each entry of which describes the faces in a single connected component:
300
- * * `positiveAreaLoops` contains "interior" loops, _including holes in ParityRegion input_. These loops have positive area and counterclockwise orientation.
322
+ * * `positiveAreaLoops` contains "interior" loops, _including holes in ParityRegion input_. These loops have
323
+ * positive area and counterclockwise orientation.
301
324
  * * `negativeAreaLoops` contains (probably just one) "exterior" loop which is ordered clockwise.
302
325
  * * `slivers` contains sliver loops that have zero area, such as appear between coincident curves.
303
- * * `edges` contains a [[LoopCurveLoopCurve]] object for each component edge, collecting both loops adjacent to the edge and a constituent curve in each.
326
+ * * `edges` contains a [[LoopCurveLoopCurve]] object for each component edge, collecting both loops adjacent
327
+ * to the edge and a constituent curve in each.
304
328
  */
305
329
  static constructAllXYRegionLoops(curvesAndRegions: AnyCurve | AnyCurve[], tolerance?: number): SignedLoops[];
306
330
  /**
@@ -309,12 +333,15 @@ export declare class RegionOps {
309
333
  * * Optionally recurses into hidden primitives if `smallestPossiblePrimitives` is true.
310
334
  * @param candidates input curves
311
335
  * @param collectorArray optional pre-defined output array. If defined, it is NOT cleared: primitives are appended.
312
- * @param smallestPossiblePrimitives if true, recurse into the children of a [[CurveChainWithDistanceIndex]]. If false, push the [[CurveChainWithDistanceIndex]] instead.
313
- * @param explodeLinestrings if true, push a [[LineSegment3d]] for each segment of a [[LineString3d]]. If false, push the [[LineString3d]] instead.
336
+ * @param smallestPossiblePrimitives if true, recurse into the children of a [[CurveChainWithDistanceIndex]]. If
337
+ * false, push the [[CurveChainWithDistanceIndex]] instead.
338
+ * @param explodeLinestrings if true, push a [[LineSegment3d]] for each segment of a [[LineString3d]]. If false,
339
+ * push the [[LineString3d]] instead.
314
340
  */
315
341
  static collectCurvePrimitives(candidates: AnyCurve | AnyCurve[], collectorArray?: CurvePrimitive[], smallestPossiblePrimitives?: boolean, explodeLinestrings?: boolean): CurvePrimitive[];
316
342
  /**
317
- * Copy primitive pointers from candidates to result array, replacing each [[LineString3d]] by newly constructed instances of [[LineSegment3d]].
343
+ * Copy primitive pointers from candidates to result array, replacing each [[LineString3d]] by newly constructed
344
+ * instances of [[LineSegment3d]].
318
345
  * @param candidates input curves
319
346
  * @return copied (captured) inputs except for the linestrings, which are exploded
320
347
  */
@@ -1 +1 @@
1
- {"version":3,"file":"RegionOps.d.ts","sourceRoot":"","sources":["../../../src/curve/RegionOps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RegionOps.d.ts","sourceRoot":"","sources":["../../../src/curve/RegionOps.ts"],"names":[],"mappings":"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"}