@itwin/core-geometry 5.0.0-dev.3 → 5.0.0-dev.5

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 (185) hide show
  1. package/lib/cjs/curve/Arc3d.d.ts +25 -5
  2. package/lib/cjs/curve/Arc3d.d.ts.map +1 -1
  3. package/lib/cjs/curve/Arc3d.js +44 -5
  4. package/lib/cjs/curve/Arc3d.js.map +1 -1
  5. package/lib/cjs/curve/CurveCollection.d.ts +6 -2
  6. package/lib/cjs/curve/CurveCollection.d.ts.map +1 -1
  7. package/lib/cjs/curve/CurveCollection.js +11 -2
  8. package/lib/cjs/curve/CurveCollection.js.map +1 -1
  9. package/lib/cjs/curve/LineString3d.d.ts +12 -8
  10. package/lib/cjs/curve/LineString3d.d.ts.map +1 -1
  11. package/lib/cjs/curve/LineString3d.js +29 -8
  12. package/lib/cjs/curve/LineString3d.js.map +1 -1
  13. package/lib/cjs/curve/Loop.d.ts +12 -6
  14. package/lib/cjs/curve/Loop.d.ts.map +1 -1
  15. package/lib/cjs/curve/Loop.js +12 -6
  16. package/lib/cjs/curve/Loop.js.map +1 -1
  17. package/lib/cjs/curve/Query/CylindricalRange.d.ts +8 -6
  18. package/lib/cjs/curve/Query/CylindricalRange.d.ts.map +1 -1
  19. package/lib/cjs/curve/Query/CylindricalRange.js +13 -9
  20. package/lib/cjs/curve/Query/CylindricalRange.js.map +1 -1
  21. package/lib/cjs/curve/internalContexts/EllipticalArcApproximationContext.d.ts.map +1 -1
  22. package/lib/cjs/curve/internalContexts/EllipticalArcApproximationContext.js +24 -18
  23. package/lib/cjs/curve/internalContexts/EllipticalArcApproximationContext.js.map +1 -1
  24. package/lib/cjs/geometry3d/BarycentricTriangle.d.ts +14 -8
  25. package/lib/cjs/geometry3d/BarycentricTriangle.d.ts.map +1 -1
  26. package/lib/cjs/geometry3d/BarycentricTriangle.js +17 -8
  27. package/lib/cjs/geometry3d/BarycentricTriangle.js.map +1 -1
  28. package/lib/cjs/geometry3d/GrowableFloat64Array.d.ts +2 -0
  29. package/lib/cjs/geometry3d/GrowableFloat64Array.d.ts.map +1 -1
  30. package/lib/cjs/geometry3d/GrowableFloat64Array.js +4 -0
  31. package/lib/cjs/geometry3d/GrowableFloat64Array.js.map +1 -1
  32. package/lib/cjs/geometry3d/Matrix3d.d.ts +8 -4
  33. package/lib/cjs/geometry3d/Matrix3d.d.ts.map +1 -1
  34. package/lib/cjs/geometry3d/Matrix3d.js +25 -22
  35. package/lib/cjs/geometry3d/Matrix3d.js.map +1 -1
  36. package/lib/cjs/geometry3d/PolygonOps.d.ts +10 -4
  37. package/lib/cjs/geometry3d/PolygonOps.d.ts.map +1 -1
  38. package/lib/cjs/geometry3d/PolygonOps.js +92 -45
  39. package/lib/cjs/geometry3d/PolygonOps.js.map +1 -1
  40. package/lib/cjs/numerics/Polynomials.d.ts +5 -5
  41. package/lib/cjs/numerics/Polynomials.js +6 -6
  42. package/lib/cjs/numerics/Polynomials.js.map +1 -1
  43. package/lib/cjs/polyface/AuxData.d.ts +2 -2
  44. package/lib/cjs/polyface/AuxData.d.ts.map +1 -1
  45. package/lib/cjs/polyface/AuxData.js +11 -3
  46. package/lib/cjs/polyface/AuxData.js.map +1 -1
  47. package/lib/cjs/polyface/Polyface.d.ts +3 -5
  48. package/lib/cjs/polyface/Polyface.d.ts.map +1 -1
  49. package/lib/cjs/polyface/Polyface.js +6 -13
  50. package/lib/cjs/polyface/Polyface.js.map +1 -1
  51. package/lib/cjs/polyface/PolyfaceBuilder.d.ts.map +1 -1
  52. package/lib/cjs/polyface/PolyfaceBuilder.js +23 -13
  53. package/lib/cjs/polyface/PolyfaceBuilder.js.map +1 -1
  54. package/lib/cjs/polyface/PolyfaceData.d.ts +13 -3
  55. package/lib/cjs/polyface/PolyfaceData.d.ts.map +1 -1
  56. package/lib/cjs/polyface/PolyfaceData.js +21 -4
  57. package/lib/cjs/polyface/PolyfaceData.js.map +1 -1
  58. package/lib/cjs/polyface/PolyfaceQuery.d.ts +2 -2
  59. package/lib/cjs/polyface/PolyfaceQuery.d.ts.map +1 -1
  60. package/lib/cjs/polyface/PolyfaceQuery.js +4 -3
  61. package/lib/cjs/polyface/PolyfaceQuery.js.map +1 -1
  62. package/lib/cjs/solid/Box.d.ts +9 -3
  63. package/lib/cjs/solid/Box.d.ts.map +1 -1
  64. package/lib/cjs/solid/Box.js +10 -5
  65. package/lib/cjs/solid/Box.js.map +1 -1
  66. package/lib/cjs/solid/Cone.d.ts +3 -2
  67. package/lib/cjs/solid/Cone.d.ts.map +1 -1
  68. package/lib/cjs/solid/Cone.js +3 -3
  69. package/lib/cjs/solid/Cone.js.map +1 -1
  70. package/lib/cjs/solid/LinearSweep.d.ts +9 -3
  71. package/lib/cjs/solid/LinearSweep.d.ts.map +1 -1
  72. package/lib/cjs/solid/LinearSweep.js +9 -4
  73. package/lib/cjs/solid/LinearSweep.js.map +1 -1
  74. package/lib/cjs/solid/RotationalSweep.d.ts +15 -4
  75. package/lib/cjs/solid/RotationalSweep.d.ts.map +1 -1
  76. package/lib/cjs/solid/RotationalSweep.js +20 -7
  77. package/lib/cjs/solid/RotationalSweep.js.map +1 -1
  78. package/lib/cjs/solid/RuledSweep.d.ts +9 -3
  79. package/lib/cjs/solid/RuledSweep.d.ts.map +1 -1
  80. package/lib/cjs/solid/RuledSweep.js +11 -5
  81. package/lib/cjs/solid/RuledSweep.js.map +1 -1
  82. package/lib/cjs/solid/Sphere.d.ts +17 -7
  83. package/lib/cjs/solid/Sphere.d.ts.map +1 -1
  84. package/lib/cjs/solid/Sphere.js +22 -16
  85. package/lib/cjs/solid/Sphere.js.map +1 -1
  86. package/lib/cjs/solid/SweepContour.d.ts +1 -1
  87. package/lib/cjs/solid/SweepContour.js +1 -1
  88. package/lib/cjs/solid/SweepContour.js.map +1 -1
  89. package/lib/cjs/solid/TorusPipe.d.ts +8 -2
  90. package/lib/cjs/solid/TorusPipe.d.ts.map +1 -1
  91. package/lib/cjs/solid/TorusPipe.js +9 -5
  92. package/lib/cjs/solid/TorusPipe.js.map +1 -1
  93. package/lib/esm/curve/Arc3d.d.ts +25 -5
  94. package/lib/esm/curve/Arc3d.d.ts.map +1 -1
  95. package/lib/esm/curve/Arc3d.js +44 -5
  96. package/lib/esm/curve/Arc3d.js.map +1 -1
  97. package/lib/esm/curve/CurveCollection.d.ts +6 -2
  98. package/lib/esm/curve/CurveCollection.d.ts.map +1 -1
  99. package/lib/esm/curve/CurveCollection.js +11 -2
  100. package/lib/esm/curve/CurveCollection.js.map +1 -1
  101. package/lib/esm/curve/LineString3d.d.ts +12 -8
  102. package/lib/esm/curve/LineString3d.d.ts.map +1 -1
  103. package/lib/esm/curve/LineString3d.js +29 -8
  104. package/lib/esm/curve/LineString3d.js.map +1 -1
  105. package/lib/esm/curve/Loop.d.ts +12 -6
  106. package/lib/esm/curve/Loop.d.ts.map +1 -1
  107. package/lib/esm/curve/Loop.js +12 -6
  108. package/lib/esm/curve/Loop.js.map +1 -1
  109. package/lib/esm/curve/Query/CylindricalRange.d.ts +8 -6
  110. package/lib/esm/curve/Query/CylindricalRange.d.ts.map +1 -1
  111. package/lib/esm/curve/Query/CylindricalRange.js +13 -9
  112. package/lib/esm/curve/Query/CylindricalRange.js.map +1 -1
  113. package/lib/esm/curve/internalContexts/EllipticalArcApproximationContext.d.ts.map +1 -1
  114. package/lib/esm/curve/internalContexts/EllipticalArcApproximationContext.js +24 -18
  115. package/lib/esm/curve/internalContexts/EllipticalArcApproximationContext.js.map +1 -1
  116. package/lib/esm/geometry3d/BarycentricTriangle.d.ts +14 -8
  117. package/lib/esm/geometry3d/BarycentricTriangle.d.ts.map +1 -1
  118. package/lib/esm/geometry3d/BarycentricTriangle.js +17 -8
  119. package/lib/esm/geometry3d/BarycentricTriangle.js.map +1 -1
  120. package/lib/esm/geometry3d/GrowableFloat64Array.d.ts +2 -0
  121. package/lib/esm/geometry3d/GrowableFloat64Array.d.ts.map +1 -1
  122. package/lib/esm/geometry3d/GrowableFloat64Array.js +4 -0
  123. package/lib/esm/geometry3d/GrowableFloat64Array.js.map +1 -1
  124. package/lib/esm/geometry3d/Matrix3d.d.ts +8 -4
  125. package/lib/esm/geometry3d/Matrix3d.d.ts.map +1 -1
  126. package/lib/esm/geometry3d/Matrix3d.js +25 -22
  127. package/lib/esm/geometry3d/Matrix3d.js.map +1 -1
  128. package/lib/esm/geometry3d/PolygonOps.d.ts +10 -4
  129. package/lib/esm/geometry3d/PolygonOps.d.ts.map +1 -1
  130. package/lib/esm/geometry3d/PolygonOps.js +92 -45
  131. package/lib/esm/geometry3d/PolygonOps.js.map +1 -1
  132. package/lib/esm/numerics/Polynomials.d.ts +5 -5
  133. package/lib/esm/numerics/Polynomials.js +6 -6
  134. package/lib/esm/numerics/Polynomials.js.map +1 -1
  135. package/lib/esm/polyface/AuxData.d.ts +2 -2
  136. package/lib/esm/polyface/AuxData.d.ts.map +1 -1
  137. package/lib/esm/polyface/AuxData.js +11 -3
  138. package/lib/esm/polyface/AuxData.js.map +1 -1
  139. package/lib/esm/polyface/Polyface.d.ts +3 -5
  140. package/lib/esm/polyface/Polyface.d.ts.map +1 -1
  141. package/lib/esm/polyface/Polyface.js +6 -13
  142. package/lib/esm/polyface/Polyface.js.map +1 -1
  143. package/lib/esm/polyface/PolyfaceBuilder.d.ts.map +1 -1
  144. package/lib/esm/polyface/PolyfaceBuilder.js +23 -13
  145. package/lib/esm/polyface/PolyfaceBuilder.js.map +1 -1
  146. package/lib/esm/polyface/PolyfaceData.d.ts +13 -3
  147. package/lib/esm/polyface/PolyfaceData.d.ts.map +1 -1
  148. package/lib/esm/polyface/PolyfaceData.js +21 -4
  149. package/lib/esm/polyface/PolyfaceData.js.map +1 -1
  150. package/lib/esm/polyface/PolyfaceQuery.d.ts +2 -2
  151. package/lib/esm/polyface/PolyfaceQuery.d.ts.map +1 -1
  152. package/lib/esm/polyface/PolyfaceQuery.js +4 -3
  153. package/lib/esm/polyface/PolyfaceQuery.js.map +1 -1
  154. package/lib/esm/solid/Box.d.ts +9 -3
  155. package/lib/esm/solid/Box.d.ts.map +1 -1
  156. package/lib/esm/solid/Box.js +10 -5
  157. package/lib/esm/solid/Box.js.map +1 -1
  158. package/lib/esm/solid/Cone.d.ts +3 -2
  159. package/lib/esm/solid/Cone.d.ts.map +1 -1
  160. package/lib/esm/solid/Cone.js +3 -3
  161. package/lib/esm/solid/Cone.js.map +1 -1
  162. package/lib/esm/solid/LinearSweep.d.ts +9 -3
  163. package/lib/esm/solid/LinearSweep.d.ts.map +1 -1
  164. package/lib/esm/solid/LinearSweep.js +9 -4
  165. package/lib/esm/solid/LinearSweep.js.map +1 -1
  166. package/lib/esm/solid/RotationalSweep.d.ts +15 -4
  167. package/lib/esm/solid/RotationalSweep.d.ts.map +1 -1
  168. package/lib/esm/solid/RotationalSweep.js +20 -7
  169. package/lib/esm/solid/RotationalSweep.js.map +1 -1
  170. package/lib/esm/solid/RuledSweep.d.ts +9 -3
  171. package/lib/esm/solid/RuledSweep.d.ts.map +1 -1
  172. package/lib/esm/solid/RuledSweep.js +11 -5
  173. package/lib/esm/solid/RuledSweep.js.map +1 -1
  174. package/lib/esm/solid/Sphere.d.ts +17 -7
  175. package/lib/esm/solid/Sphere.d.ts.map +1 -1
  176. package/lib/esm/solid/Sphere.js +22 -16
  177. package/lib/esm/solid/Sphere.js.map +1 -1
  178. package/lib/esm/solid/SweepContour.d.ts +1 -1
  179. package/lib/esm/solid/SweepContour.js +1 -1
  180. package/lib/esm/solid/SweepContour.js.map +1 -1
  181. package/lib/esm/solid/TorusPipe.d.ts +8 -2
  182. package/lib/esm/solid/TorusPipe.d.ts.map +1 -1
  183. package/lib/esm/solid/TorusPipe.js +9 -5
  184. package/lib/esm/solid/TorusPipe.js.map +1 -1
  185. package/package.json +3 -3
@@ -426,7 +426,7 @@ export declare class Arc3d extends CurvePrimitive implements BeJSONFunctions {
426
426
  isInPlane(plane: Plane3dByOriginAndUnitNormal): boolean;
427
427
  /** Return true if the vector0 and vector90 are of equal length and perpendicular. */
428
428
  get isCircular(): boolean;
429
- /** Return radius if the vector0 and vector90 are of equal length and perpendicular. */
429
+ /** Return radius if the vector0 and vector90 are of equal length and perpendicular. Ignores z. */
430
430
  circularRadiusXY(): number | undefined;
431
431
  /** If the arc is circular, return its radius. Otherwise return undefined. */
432
432
  circularRadius(): number | undefined;
@@ -486,7 +486,12 @@ export declare class Arc3d extends CurvePrimitive implements BeJSONFunctions {
486
486
  * @param vector90 vector from center to ellipse point at 90 degrees in parameter space.
487
487
  */
488
488
  setVector0Vector90(vector0: Vector3d, vector90: Vector3d): void;
489
- /** Return the arc definition with rigid matrix form with axis radii. */
489
+ /**
490
+ * Return the symmetric definition of the arc, with rigid axes and radii.
491
+ * * The caller can send the returned data into [[createScaledXYColumns]] to construct the major-minor axis
492
+ * version of the instance arc. This formulation of the arc has the same shape, but has perpendicular axes,
493
+ * from which the arc's symmetry is readily apparent.
494
+ */
490
495
  toScaledMatrix3d(): {
491
496
  center: Point3d;
492
497
  axes: Matrix3d;
@@ -544,13 +549,28 @@ export declare class Arc3d extends CurvePrimitive implements BeJSONFunctions {
544
549
  clonePartialCurve(fractionA: number, fractionB: number): Arc3d;
545
550
  /**
546
551
  * Return an arc whose basis vectors are rotated by given angle within the current basis space.
547
- * * the result arc will have its zero-degree point (new `vector0`) at the current.
548
- * `vector0 * cos(theta) + vector90 * sin(theta)`.
549
- * * the result sweep is adjusted so all fractional coordinates (e.g. start and end) evaluate to the same xyz.
552
+ * * The returned arc will have `vector0 = this.vector0 * cos(theta) + this.vector90 * sin(theta)`.
553
+ * * The returned arc has the same shape as the instance.
554
+ * * In other words, the arc's sweep is adjusted so that all fractional parameters evaluate to the same points.
550
555
  * * Specifically, theta is subtracted from the original start and end angles.
551
556
  * @param theta the angle (in the input arc space) which is to become the 0-degree point in the new arc.
552
557
  */
553
558
  cloneInRotatedBasis(theta: Angle): Arc3d;
559
+ /**
560
+ * Return a cloned arc with basis rotated to align with the global axes. The arc's shape is unchanged.
561
+ * * This method is most useful when the instance is an xy-circular arc, for then the aligned arc's stored sweep
562
+ * angles can be understood as being measured from the global positive x-axis to the arc's start/end. This is *not*
563
+ * the case for xy-elliptical arcs: the parameter angle difference between two points on an ellipse is in general
564
+ * not the same as the angle measured between their radials.
565
+ * * For an xy instance, the output arc will have:
566
+ * * vector0 is in the same direction as the positive x-axis
567
+ * * perpendicularVector is in the same direction as the positive z-axis
568
+ * * For a general instance, the output arc will have:
569
+ * * vector0 is in the same direction as the projection of the positive x-axis vector onto the arc plane
570
+ * * perpendicularVector lies in the halfspace z >= 0
571
+ * @returns cloned arc, or undefined (if the instance normal is parallel to the x-axis, or its matrix is singular)
572
+ */
573
+ cloneAxisAligned(): Arc3d | undefined;
554
574
  /**
555
575
  * Find intervals of this CurvePrimitive that are interior to a clipper.
556
576
  * @param clipper clip structure (e.g.clip planes).
@@ -1 +1 @@
1
- {"version":3,"file":"Arc3d.d.ts","sourceRoot":"","sources":["../../../src/curve/Arc3d.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Arc3d.d.ts","sourceRoot":"","sources":["../../../src/curve/Arc3d.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ const Geometry_1 = require("../Geometry");
10
10
  const Angle_1 = require("../geometry3d/Angle");
11
11
  const AngleSweep_1 = require("../geometry3d/AngleSweep");
12
12
  const Matrix3d_1 = require("../geometry3d/Matrix3d");
13
+ const Plane3dByOriginAndUnitNormal_1 = require("../geometry3d/Plane3dByOriginAndUnitNormal");
13
14
  const Plane3dByOriginAndVectors_1 = require("../geometry3d/Plane3dByOriginAndVectors");
14
15
  const Point3dVector3d_1 = require("../geometry3d/Point3dVector3d");
15
16
  const Range_1 = require("../geometry3d/Range");
@@ -764,7 +765,7 @@ class Arc3d extends CurvePrimitive_1.CurvePrimitive {
764
765
  const axy = this._matrix.columnXDotColumnY();
765
766
  return Angle_1.Angle.isPerpendicularDotSet(axx, ayy, axy) && Geometry_1.Geometry.isSameCoordinateSquared(axx, ayy);
766
767
  }
767
- /** Return radius if the vector0 and vector90 are of equal length and perpendicular. */
768
+ /** Return radius if the vector0 and vector90 are of equal length and perpendicular. Ignores z. */
768
769
  circularRadiusXY() {
769
770
  const ux = this._matrix.at(0, 0);
770
771
  const uy = this._matrix.at(1, 0);
@@ -906,7 +907,12 @@ class Arc3d extends CurvePrimitive_1.CurvePrimitive {
906
907
  setVector0Vector90(vector0, vector90) {
907
908
  this._matrix.setColumns(vector0, vector90, vector0.unitCrossProductWithDefault(vector90, 0, 0, 0));
908
909
  }
909
- /** Return the arc definition with rigid matrix form with axis radii. */
910
+ /**
911
+ * Return the symmetric definition of the arc, with rigid axes and radii.
912
+ * * The caller can send the returned data into [[createScaledXYColumns]] to construct the major-minor axis
913
+ * version of the instance arc. This formulation of the arc has the same shape, but has perpendicular axes,
914
+ * from which the arc's symmetry is readily apparent.
915
+ */
910
916
  toScaledMatrix3d() {
911
917
  const angleData = Angle_1.Angle.dotProductsToHalfAngleTrigValues(this._matrix.columnXMagnitudeSquared(), this._matrix.columnYMagnitudeSquared(), this._matrix.columnXDotColumnY(), true);
912
918
  const vector0A = this._matrix.multiplyXY(angleData.c, angleData.s);
@@ -1046,9 +1052,9 @@ class Arc3d extends CurvePrimitive_1.CurvePrimitive {
1046
1052
  }
1047
1053
  /**
1048
1054
  * Return an arc whose basis vectors are rotated by given angle within the current basis space.
1049
- * * the result arc will have its zero-degree point (new `vector0`) at the current.
1050
- * `vector0 * cos(theta) + vector90 * sin(theta)`.
1051
- * * the result sweep is adjusted so all fractional coordinates (e.g. start and end) evaluate to the same xyz.
1055
+ * * The returned arc will have `vector0 = this.vector0 * cos(theta) + this.vector90 * sin(theta)`.
1056
+ * * The returned arc has the same shape as the instance.
1057
+ * * In other words, the arc's sweep is adjusted so that all fractional parameters evaluate to the same points.
1052
1058
  * * Specifically, theta is subtracted from the original start and end angles.
1053
1059
  * @param theta the angle (in the input arc space) which is to become the 0-degree point in the new arc.
1054
1060
  */
@@ -1061,6 +1067,39 @@ class Arc3d extends CurvePrimitive_1.CurvePrimitive {
1061
1067
  const arcB = Arc3d.create(this._center.clone(), vector0, vector90, newSweep);
1062
1068
  return arcB;
1063
1069
  }
1070
+ /**
1071
+ * Return a cloned arc with basis rotated to align with the global axes. The arc's shape is unchanged.
1072
+ * * This method is most useful when the instance is an xy-circular arc, for then the aligned arc's stored sweep
1073
+ * angles can be understood as being measured from the global positive x-axis to the arc's start/end. This is *not*
1074
+ * the case for xy-elliptical arcs: the parameter angle difference between two points on an ellipse is in general
1075
+ * not the same as the angle measured between their radials.
1076
+ * * For an xy instance, the output arc will have:
1077
+ * * vector0 is in the same direction as the positive x-axis
1078
+ * * perpendicularVector is in the same direction as the positive z-axis
1079
+ * * For a general instance, the output arc will have:
1080
+ * * vector0 is in the same direction as the projection of the positive x-axis vector onto the arc plane
1081
+ * * perpendicularVector lies in the halfspace z >= 0
1082
+ * @returns cloned arc, or undefined (if the instance normal is parallel to the x-axis, or its matrix is singular)
1083
+ */
1084
+ cloneAxisAligned() {
1085
+ const plane = Plane3dByOriginAndUnitNormal_1.Plane3dByOriginAndUnitNormal.create(this.center, this.perpendicularVector.crossProduct(Point3dVector3d_1.Vector3d.unitX()));
1086
+ if (!plane)
1087
+ return undefined;
1088
+ const axisPts = [];
1089
+ if (2 !== this.appendPlaneIntersectionPoints(plane, axisPts))
1090
+ return undefined;
1091
+ const iAxisPt = plane.getNormalRef().dotProduct(this.perpendicularVector.crossProductStartEnd(this.center, axisPts[0].point)) > 0.0 ? 0 : 1;
1092
+ const toUnitX = this.sweep.fractionToAngle(axisPts[iAxisPt].fraction);
1093
+ const arc1 = this.cloneInRotatedBasis(toUnitX); // rotate in arc's plane
1094
+ if (this.perpendicularVector.dotProduct(Point3dVector3d_1.Vector3d.unitZ()) < -Geometry_1.Geometry.smallAngleRadians) {
1095
+ if (this.matrixRef.isSingular())
1096
+ return undefined;
1097
+ const flip = Matrix3d_1.Matrix3d.createRowValues(1, 0, 0, 0, -1, 0, 0, 0, -1); // rotate 180 degrees around arc's local x-axis
1098
+ arc1.matrixRef.multiplyMatrixMatrix(flip, arc1.matrixRef);
1099
+ arc1.sweep.setStartEndDegrees(-arc1.sweep.startDegrees, -arc1.sweep.endDegrees); // rotation alone is insufficient to flip
1100
+ }
1101
+ return arc1;
1102
+ }
1064
1103
  /**
1065
1104
  * Find intervals of this CurvePrimitive that are interior to a clipper.
1066
1105
  * @param clipper clip structure (e.g.clip planes).