@itwin/core-geometry 4.0.0-dev.36 → 4.0.0-dev.39

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 (83) hide show
  1. package/lib/cjs/Geometry.d.ts +28 -12
  2. package/lib/cjs/Geometry.d.ts.map +1 -1
  3. package/lib/cjs/Geometry.js +33 -17
  4. package/lib/cjs/Geometry.js.map +1 -1
  5. package/lib/cjs/curve/Loop.d.ts.map +1 -1
  6. package/lib/cjs/curve/Loop.js +6 -0
  7. package/lib/cjs/curve/Loop.js.map +1 -1
  8. package/lib/cjs/curve/RegionOps.d.ts +8 -9
  9. package/lib/cjs/curve/RegionOps.d.ts.map +1 -1
  10. package/lib/cjs/curve/RegionOps.js +8 -9
  11. package/lib/cjs/curve/RegionOps.js.map +1 -1
  12. package/lib/cjs/curve/RegionOpsClassificationSweeps.d.ts.map +1 -1
  13. package/lib/cjs/curve/RegionOpsClassificationSweeps.js +2 -0
  14. package/lib/cjs/curve/RegionOpsClassificationSweeps.js.map +1 -1
  15. package/lib/cjs/geometry3d/Matrix3d.d.ts +137 -89
  16. package/lib/cjs/geometry3d/Matrix3d.d.ts.map +1 -1
  17. package/lib/cjs/geometry3d/Matrix3d.js +244 -155
  18. package/lib/cjs/geometry3d/Matrix3d.js.map +1 -1
  19. package/lib/cjs/geometry3d/Point3dVector3d.d.ts +15 -15
  20. package/lib/cjs/geometry3d/Point3dVector3d.d.ts.map +1 -1
  21. package/lib/cjs/geometry3d/Point3dVector3d.js +16 -19
  22. package/lib/cjs/geometry3d/Point3dVector3d.js.map +1 -1
  23. package/lib/cjs/geometry3d/PolygonOps.d.ts +7 -9
  24. package/lib/cjs/geometry3d/PolygonOps.d.ts.map +1 -1
  25. package/lib/cjs/geometry3d/PolygonOps.js +7 -9
  26. package/lib/cjs/geometry3d/PolygonOps.js.map +1 -1
  27. package/lib/cjs/polyface/PolyfaceBuilder.d.ts +3 -0
  28. package/lib/cjs/polyface/PolyfaceBuilder.d.ts.map +1 -1
  29. package/lib/cjs/polyface/PolyfaceBuilder.js +7 -0
  30. package/lib/cjs/polyface/PolyfaceBuilder.js.map +1 -1
  31. package/lib/cjs/serialization/GeometrySamples.d.ts +4 -5
  32. package/lib/cjs/serialization/GeometrySamples.d.ts.map +1 -1
  33. package/lib/cjs/serialization/GeometrySamples.js +12 -13
  34. package/lib/cjs/serialization/GeometrySamples.js.map +1 -1
  35. package/lib/cjs/solid/SweepContour.d.ts.map +1 -1
  36. package/lib/cjs/solid/SweepContour.js +7 -0
  37. package/lib/cjs/solid/SweepContour.js.map +1 -1
  38. package/lib/cjs/topology/HalfEdgeGraphSearch.d.ts +2 -1
  39. package/lib/cjs/topology/HalfEdgeGraphSearch.d.ts.map +1 -1
  40. package/lib/cjs/topology/HalfEdgeGraphSearch.js +1 -0
  41. package/lib/cjs/topology/HalfEdgeGraphSearch.js.map +1 -1
  42. package/lib/esm/Geometry.d.ts +28 -12
  43. package/lib/esm/Geometry.d.ts.map +1 -1
  44. package/lib/esm/Geometry.js +33 -17
  45. package/lib/esm/Geometry.js.map +1 -1
  46. package/lib/esm/curve/Loop.d.ts.map +1 -1
  47. package/lib/esm/curve/Loop.js +6 -0
  48. package/lib/esm/curve/Loop.js.map +1 -1
  49. package/lib/esm/curve/RegionOps.d.ts +8 -9
  50. package/lib/esm/curve/RegionOps.d.ts.map +1 -1
  51. package/lib/esm/curve/RegionOps.js +8 -9
  52. package/lib/esm/curve/RegionOps.js.map +1 -1
  53. package/lib/esm/curve/RegionOpsClassificationSweeps.d.ts.map +1 -1
  54. package/lib/esm/curve/RegionOpsClassificationSweeps.js +2 -0
  55. package/lib/esm/curve/RegionOpsClassificationSweeps.js.map +1 -1
  56. package/lib/esm/geometry3d/Matrix3d.d.ts +137 -89
  57. package/lib/esm/geometry3d/Matrix3d.d.ts.map +1 -1
  58. package/lib/esm/geometry3d/Matrix3d.js +244 -155
  59. package/lib/esm/geometry3d/Matrix3d.js.map +1 -1
  60. package/lib/esm/geometry3d/Point3dVector3d.d.ts +15 -15
  61. package/lib/esm/geometry3d/Point3dVector3d.d.ts.map +1 -1
  62. package/lib/esm/geometry3d/Point3dVector3d.js +16 -19
  63. package/lib/esm/geometry3d/Point3dVector3d.js.map +1 -1
  64. package/lib/esm/geometry3d/PolygonOps.d.ts +7 -9
  65. package/lib/esm/geometry3d/PolygonOps.d.ts.map +1 -1
  66. package/lib/esm/geometry3d/PolygonOps.js +7 -9
  67. package/lib/esm/geometry3d/PolygonOps.js.map +1 -1
  68. package/lib/esm/polyface/PolyfaceBuilder.d.ts +3 -0
  69. package/lib/esm/polyface/PolyfaceBuilder.d.ts.map +1 -1
  70. package/lib/esm/polyface/PolyfaceBuilder.js +7 -0
  71. package/lib/esm/polyface/PolyfaceBuilder.js.map +1 -1
  72. package/lib/esm/serialization/GeometrySamples.d.ts +4 -5
  73. package/lib/esm/serialization/GeometrySamples.d.ts.map +1 -1
  74. package/lib/esm/serialization/GeometrySamples.js +12 -13
  75. package/lib/esm/serialization/GeometrySamples.js.map +1 -1
  76. package/lib/esm/solid/SweepContour.d.ts.map +1 -1
  77. package/lib/esm/solid/SweepContour.js +7 -0
  78. package/lib/esm/solid/SweepContour.js.map +1 -1
  79. package/lib/esm/topology/HalfEdgeGraphSearch.d.ts +2 -1
  80. package/lib/esm/topology/HalfEdgeGraphSearch.d.ts.map +1 -1
  81. package/lib/esm/topology/HalfEdgeGraphSearch.js +1 -0
  82. package/lib/esm/topology/HalfEdgeGraphSearch.js.map +1 -1
  83. package/package.json +3 -3
@@ -746,15 +746,12 @@ export class PolygonOps {
746
746
  return numReverse;
747
747
  }
748
748
  /**
749
- * Reverse loops as necessary to make them all have CCW orientation for given outward normal.
750
- * * Return an array of arrays which capture the input pointers.
751
- * * In each first level array:
752
- * * The first loop is an outer loop.
753
- * * all subsequent loops are holes
754
- * * The outer loop is CCW
755
- * * The holes are CW.
756
- * * Call RegionOps.sortOuterAndHoleLoopsXY to have the result returned as a UnionRegion
757
- * @param loops multiple loops to sort and reverse.
749
+ * Reverse and reorder loops in the xy-plane for consistency and containment.
750
+ * @param loops multiple polygons in any order and orientation, z-coordinates ignored
751
+ * @returns array of arrays of polygons that capture the input pointers. In each first level array:
752
+ * * The first polygon is an outer loop, oriented counterclockwise.
753
+ * * Any subsequent polygons are holes of the outer loop, oriented clockwise.
754
+ * @see RegionOps.sortOuterAndHoleLoopsXY
758
755
  */
759
756
  static sortOuterAndHoleLoopsXY(loops) {
760
757
  const loopAndArea = [];
@@ -767,6 +764,7 @@ export class PolygonOps {
767
764
  * Exactly like `sortOuterAndHoleLoopsXY` but allows loops in any plane.
768
765
  * @param loops multiple loops to sort and reverse.
769
766
  * @param defaultNormal optional normal for the loops, if known
767
+ * @see sortOuterAndHoleLoopsXY
770
768
  */
771
769
  static sortOuterAndHoleLoops(loops, defaultNormal) {
772
770
  const localToWorld = FrameBuilder.createRightHandedFrame(defaultNormal, loops);