@itwin/core-geometry 5.0.0-dev.99 → 5.1.0-dev.1

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 (104) hide show
  1. package/CHANGELOG.md +6 -1
  2. package/lib/cjs/Geometry.d.ts +11 -0
  3. package/lib/cjs/Geometry.d.ts.map +1 -1
  4. package/lib/cjs/Geometry.js +14 -0
  5. package/lib/cjs/Geometry.js.map +1 -1
  6. package/lib/cjs/curve/Arc3d.d.ts +3 -1
  7. package/lib/cjs/curve/Arc3d.d.ts.map +1 -1
  8. package/lib/cjs/curve/Arc3d.js +36 -0
  9. package/lib/cjs/curve/Arc3d.js.map +1 -1
  10. package/lib/cjs/curve/CurveExtendMode.d.ts +13 -5
  11. package/lib/cjs/curve/CurveExtendMode.d.ts.map +1 -1
  12. package/lib/cjs/curve/CurveExtendMode.js +19 -15
  13. package/lib/cjs/curve/CurveExtendMode.js.map +1 -1
  14. package/lib/cjs/curve/CurvePrimitive.d.ts +67 -8
  15. package/lib/cjs/curve/CurvePrimitive.d.ts.map +1 -1
  16. package/lib/cjs/curve/CurvePrimitive.js +59 -6
  17. package/lib/cjs/curve/CurvePrimitive.js.map +1 -1
  18. package/lib/cjs/curve/LineString3d.d.ts +8 -7
  19. package/lib/cjs/curve/LineString3d.d.ts.map +1 -1
  20. package/lib/cjs/curve/LineString3d.js +25 -22
  21. package/lib/cjs/curve/LineString3d.js.map +1 -1
  22. package/lib/cjs/curve/internalContexts/AnnounceTangentStrokeHandler.d.ts +71 -0
  23. package/lib/cjs/curve/internalContexts/AnnounceTangentStrokeHandler.d.ts.map +1 -0
  24. package/lib/cjs/curve/internalContexts/AnnounceTangentStrokeHandler.js +181 -0
  25. package/lib/cjs/curve/internalContexts/AnnounceTangentStrokeHandler.js.map +1 -0
  26. package/lib/cjs/curve/internalContexts/ClosestPointStrokeHandler.d.ts +21 -5
  27. package/lib/cjs/curve/internalContexts/ClosestPointStrokeHandler.d.ts.map +1 -1
  28. package/lib/cjs/curve/internalContexts/ClosestPointStrokeHandler.js +42 -17
  29. package/lib/cjs/curve/internalContexts/ClosestPointStrokeHandler.js.map +1 -1
  30. package/lib/cjs/curve/internalContexts/NewtonRtoRStrokeHandler.d.ts +5 -3
  31. package/lib/cjs/curve/internalContexts/NewtonRtoRStrokeHandler.d.ts.map +1 -1
  32. package/lib/cjs/curve/internalContexts/NewtonRtoRStrokeHandler.js +5 -3
  33. package/lib/cjs/curve/internalContexts/NewtonRtoRStrokeHandler.js.map +1 -1
  34. package/lib/cjs/geometry3d/AngleSweep.d.ts +1 -1
  35. package/lib/cjs/geometry3d/AngleSweep.js +8 -8
  36. package/lib/cjs/geometry3d/AngleSweep.js.map +1 -1
  37. package/lib/cjs/geometry3d/GeometryHandler.d.ts +15 -16
  38. package/lib/cjs/geometry3d/GeometryHandler.d.ts.map +1 -1
  39. package/lib/cjs/geometry3d/GeometryHandler.js.map +1 -1
  40. package/lib/cjs/geometry3d/Matrix3d.d.ts +10 -11
  41. package/lib/cjs/geometry3d/Matrix3d.d.ts.map +1 -1
  42. package/lib/cjs/geometry3d/Matrix3d.js +11 -12
  43. package/lib/cjs/geometry3d/Matrix3d.js.map +1 -1
  44. package/lib/cjs/polyface/FacetOrientation.js +1 -1
  45. package/lib/cjs/polyface/FacetOrientation.js.map +1 -1
  46. package/lib/cjs/polyface/PolyfaceData.d.ts.map +1 -1
  47. package/lib/cjs/polyface/PolyfaceData.js +2 -0
  48. package/lib/cjs/polyface/PolyfaceData.js.map +1 -1
  49. package/lib/cjs/topology/Triangulation.d.ts +3 -3
  50. package/lib/cjs/topology/Triangulation.d.ts.map +1 -1
  51. package/lib/cjs/topology/Triangulation.js +7 -7
  52. package/lib/cjs/topology/Triangulation.js.map +1 -1
  53. package/lib/esm/Geometry.d.ts +11 -0
  54. package/lib/esm/Geometry.d.ts.map +1 -1
  55. package/lib/esm/Geometry.js +14 -0
  56. package/lib/esm/Geometry.js.map +1 -1
  57. package/lib/esm/curve/Arc3d.d.ts +3 -1
  58. package/lib/esm/curve/Arc3d.d.ts.map +1 -1
  59. package/lib/esm/curve/Arc3d.js +36 -0
  60. package/lib/esm/curve/Arc3d.js.map +1 -1
  61. package/lib/esm/curve/CurveExtendMode.d.ts +13 -5
  62. package/lib/esm/curve/CurveExtendMode.d.ts.map +1 -1
  63. package/lib/esm/curve/CurveExtendMode.js +19 -15
  64. package/lib/esm/curve/CurveExtendMode.js.map +1 -1
  65. package/lib/esm/curve/CurvePrimitive.d.ts +67 -8
  66. package/lib/esm/curve/CurvePrimitive.d.ts.map +1 -1
  67. package/lib/esm/curve/CurvePrimitive.js +59 -6
  68. package/lib/esm/curve/CurvePrimitive.js.map +1 -1
  69. package/lib/esm/curve/LineString3d.d.ts +8 -7
  70. package/lib/esm/curve/LineString3d.d.ts.map +1 -1
  71. package/lib/esm/curve/LineString3d.js +25 -22
  72. package/lib/esm/curve/LineString3d.js.map +1 -1
  73. package/lib/esm/curve/internalContexts/AnnounceTangentStrokeHandler.d.ts +71 -0
  74. package/lib/esm/curve/internalContexts/AnnounceTangentStrokeHandler.d.ts.map +1 -0
  75. package/lib/esm/curve/internalContexts/AnnounceTangentStrokeHandler.js +177 -0
  76. package/lib/esm/curve/internalContexts/AnnounceTangentStrokeHandler.js.map +1 -0
  77. package/lib/esm/curve/internalContexts/ClosestPointStrokeHandler.d.ts +21 -5
  78. package/lib/esm/curve/internalContexts/ClosestPointStrokeHandler.d.ts.map +1 -1
  79. package/lib/esm/curve/internalContexts/ClosestPointStrokeHandler.js +42 -17
  80. package/lib/esm/curve/internalContexts/ClosestPointStrokeHandler.js.map +1 -1
  81. package/lib/esm/curve/internalContexts/NewtonRtoRStrokeHandler.d.ts +5 -3
  82. package/lib/esm/curve/internalContexts/NewtonRtoRStrokeHandler.d.ts.map +1 -1
  83. package/lib/esm/curve/internalContexts/NewtonRtoRStrokeHandler.js +5 -3
  84. package/lib/esm/curve/internalContexts/NewtonRtoRStrokeHandler.js.map +1 -1
  85. package/lib/esm/geometry3d/AngleSweep.d.ts +1 -1
  86. package/lib/esm/geometry3d/AngleSweep.js +8 -8
  87. package/lib/esm/geometry3d/AngleSweep.js.map +1 -1
  88. package/lib/esm/geometry3d/GeometryHandler.d.ts +15 -16
  89. package/lib/esm/geometry3d/GeometryHandler.d.ts.map +1 -1
  90. package/lib/esm/geometry3d/GeometryHandler.js.map +1 -1
  91. package/lib/esm/geometry3d/Matrix3d.d.ts +10 -11
  92. package/lib/esm/geometry3d/Matrix3d.d.ts.map +1 -1
  93. package/lib/esm/geometry3d/Matrix3d.js +11 -12
  94. package/lib/esm/geometry3d/Matrix3d.js.map +1 -1
  95. package/lib/esm/polyface/FacetOrientation.js +1 -1
  96. package/lib/esm/polyface/FacetOrientation.js.map +1 -1
  97. package/lib/esm/polyface/PolyfaceData.d.ts.map +1 -1
  98. package/lib/esm/polyface/PolyfaceData.js +2 -0
  99. package/lib/esm/polyface/PolyfaceData.js.map +1 -1
  100. package/lib/esm/topology/Triangulation.d.ts +3 -3
  101. package/lib/esm/topology/Triangulation.d.ts.map +1 -1
  102. package/lib/esm/topology/Triangulation.js +7 -7
  103. package/lib/esm/topology/Triangulation.js.map +1 -1
  104. package/package.json +3 -3
@@ -343,18 +343,19 @@ export declare class LineString3d extends CurvePrimitive implements BeJSONFuncti
343
343
  isAlmostEqual(other: GeometryQuery): boolean;
344
344
  /**
345
345
  * Append (clone of) one point.
346
- * * BUT ... skip if duplicates the tail of prior points.
347
- * * if fraction is given, "duplicate" considers both point and fraction.
346
+ * @param point the point to append. If same as the last point, nothing is appended.
347
+ * @param fraction optional associated fraction to append. If same as the last fraction, nothing is appended.
348
+ * It is assumed that both fractions refer to the same CurvePrimitive.
348
349
  */
349
350
  appendStrokePoint(point: Point3d, fraction?: number): void;
350
351
  /** Compress out duplicate points (according to point.isAlmostEqual) */
351
352
  removeDuplicatePoints(tolerance?: number): void;
352
353
  /**
353
- * Append a suitable evaluation of a curve ..
354
- * * always append the curve point
355
- * * if fraction array is present, append the fraction
356
- * * if derivative array is present, append the derivative
357
- * BUT ... skip if duplicates the tail of prior points.
354
+ * Append a suitable evaluation of a curve.
355
+ * * If the computed point is the same as the last point, nothing is appended.
356
+ * * Otherwise, the point is appended, as well as the fraction and derivative (if those arrays are present).
357
+ * @param curve the curve to evaluate.
358
+ * @param fraction the fraction at which to evaluate the curve.
358
359
  */
359
360
  appendFractionToPoint(curve: CurvePrimitive, fraction: number): void;
360
361
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"LineString3d.d.ts","sourceRoot":"","sources":["../../../src/curve/LineString3d.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LineString3d.d.ts","sourceRoot":"","sources":["../../../src/curve/LineString3d.ts"],"names":[],"mappings":"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"}
@@ -967,15 +967,16 @@ export class LineString3d extends CurvePrimitive {
967
967
  }
968
968
  /**
969
969
  * Append (clone of) one point.
970
- * * BUT ... skip if duplicates the tail of prior points.
971
- * * if fraction is given, "duplicate" considers both point and fraction.
970
+ * @param point the point to append. If same as the last point, nothing is appended.
971
+ * @param fraction optional associated fraction to append. If same as the last fraction, nothing is appended.
972
+ * It is assumed that both fractions refer to the same CurvePrimitive.
972
973
  */
973
974
  appendStrokePoint(point, fraction) {
974
975
  const n = this._points.length;
975
976
  let add = true;
976
- const addFraction = fraction !== undefined && this._fractions !== undefined;
977
+ const addFraction = (fraction !== undefined) && (this._fractions !== undefined);
977
978
  if (n > 0) {
978
- if (addFraction && Geometry.isSameCoordinate(fraction, this._fractions.back()))
979
+ if (addFraction && Geometry.isSmallRelative(fraction - this._fractions.back()))
979
980
  add = false;
980
981
  if (point.isAlmostEqual(this._points.getPoint3dAtUncheckedPointIndex(n - 1)))
981
982
  add = false;
@@ -1010,27 +1011,30 @@ export class LineString3d extends CurvePrimitive {
1010
1011
  this._derivatives.resize(n1);
1011
1012
  }
1012
1013
  /**
1013
- * Append a suitable evaluation of a curve ..
1014
- * * always append the curve point
1015
- * * if fraction array is present, append the fraction
1016
- * * if derivative array is present, append the derivative
1017
- * BUT ... skip if duplicates the tail of prior points.
1014
+ * Append a suitable evaluation of a curve.
1015
+ * * If the computed point is the same as the last point, nothing is appended.
1016
+ * * Otherwise, the point is appended, as well as the fraction and derivative (if those arrays are present).
1017
+ * @param curve the curve to evaluate.
1018
+ * @param fraction the fraction at which to evaluate the curve.
1018
1019
  */
1019
1020
  appendFractionToPoint(curve, fraction) {
1021
+ let ray;
1022
+ let point;
1023
+ const n = this._points.length;
1020
1024
  if (this._derivatives) {
1021
- const ray = curve.fractionToPointAndDerivative(fraction, LineString3d._workRay);
1022
- if (this._fractions)
1023
- this._fractions.push(fraction);
1024
- this._points.push(ray.origin);
1025
- if (this._derivatives)
1026
- this._derivatives.push(ray.direction);
1025
+ ray = curve.fractionToPointAndDerivative(fraction, LineString3d._workRay);
1026
+ point = ray.origin;
1027
1027
  }
1028
1028
  else {
1029
- const point = curve.fractionToPoint(fraction, LineString3d._workPointA);
1030
- if (this._fractions)
1031
- this._fractions.push(fraction);
1032
- this._points.push(point);
1029
+ point = curve.fractionToPoint(fraction, LineString3d._workPointA);
1033
1030
  }
1031
+ if (n > 0 && point.isAlmostEqual(this._points.getPoint3dAtUncheckedPointIndex(n - 1)))
1032
+ return;
1033
+ if (ray)
1034
+ this._derivatives?.push(ray.direction);
1035
+ if (this._fractions)
1036
+ this._fractions.push(fraction);
1037
+ this._points.push(point);
1034
1038
  }
1035
1039
  /**
1036
1040
  * Clear all array data:
@@ -1145,9 +1149,8 @@ export class LineString3d extends CurvePrimitive {
1145
1149
  handler.startCurvePrimitive(this);
1146
1150
  if (n > 1) {
1147
1151
  const df = 1.0 / (n - 1);
1148
- // This is a linestring.
1149
- // There is no need for chordTol and angleTol within a segment.
1150
- // Do NOT apply min strokes per primitive.
1152
+ // this is a line string; there is no need for chordTol and angleTol within a segment
1153
+ // DO NOT apply min strokes per primitive
1151
1154
  if (options && options.hasMaxEdgeLength) {
1152
1155
  for (let i = 1; i < n; i++) {
1153
1156
  const numStroke = options.applyMaxEdgeLength(1, this._points.getPoint3dAtUncheckedPointIndex(i - 1).distance(this._points.getPoint3dAtUncheckedPointIndex(i)));