@itwin/core-geometry 4.3.0-dev.13 → 4.3.0-dev.14

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 (149) hide show
  1. package/lib/cjs/bspline/BSpline1dNd.d.ts +12 -2
  2. package/lib/cjs/bspline/BSpline1dNd.d.ts.map +1 -1
  3. package/lib/cjs/bspline/BSpline1dNd.js +27 -17
  4. package/lib/cjs/bspline/BSpline1dNd.js.map +1 -1
  5. package/lib/cjs/bspline/BSplineCurve.d.ts +30 -16
  6. package/lib/cjs/bspline/BSplineCurve.d.ts.map +1 -1
  7. package/lib/cjs/bspline/BSplineCurve.js +68 -44
  8. package/lib/cjs/bspline/BSplineCurve.js.map +1 -1
  9. package/lib/cjs/bspline/BSplineCurve3dH.d.ts +27 -20
  10. package/lib/cjs/bspline/BSplineCurve3dH.d.ts.map +1 -1
  11. package/lib/cjs/bspline/BSplineCurve3dH.js +136 -87
  12. package/lib/cjs/bspline/BSplineCurve3dH.js.map +1 -1
  13. package/lib/cjs/bspline/BSplineSurface.d.ts +138 -74
  14. package/lib/cjs/bspline/BSplineSurface.d.ts.map +1 -1
  15. package/lib/cjs/bspline/BSplineSurface.js +242 -119
  16. package/lib/cjs/bspline/BSplineSurface.js.map +1 -1
  17. package/lib/cjs/bspline/Bezier1dNd.d.ts +18 -4
  18. package/lib/cjs/bspline/Bezier1dNd.d.ts.map +1 -1
  19. package/lib/cjs/bspline/Bezier1dNd.js +19 -5
  20. package/lib/cjs/bspline/Bezier1dNd.js.map +1 -1
  21. package/lib/cjs/bspline/BezierCurve3dH.d.ts.map +1 -1
  22. package/lib/cjs/bspline/BezierCurve3dH.js +2 -1
  23. package/lib/cjs/bspline/BezierCurve3dH.js.map +1 -1
  24. package/lib/cjs/bspline/KnotVector.d.ts +30 -33
  25. package/lib/cjs/bspline/KnotVector.d.ts.map +1 -1
  26. package/lib/cjs/bspline/KnotVector.js +76 -69
  27. package/lib/cjs/bspline/KnotVector.js.map +1 -1
  28. package/lib/cjs/geometry3d/Matrix3d.d.ts +20 -13
  29. package/lib/cjs/geometry3d/Matrix3d.d.ts.map +1 -1
  30. package/lib/cjs/geometry3d/Matrix3d.js +28 -21
  31. package/lib/cjs/geometry3d/Matrix3d.js.map +1 -1
  32. package/lib/cjs/geometry3d/Point3dVector3d.d.ts +3 -2
  33. package/lib/cjs/geometry3d/Point3dVector3d.d.ts.map +1 -1
  34. package/lib/cjs/geometry3d/Point3dVector3d.js +6 -5
  35. package/lib/cjs/geometry3d/Point3dVector3d.js.map +1 -1
  36. package/lib/cjs/geometry3d/PointHelpers.d.ts +58 -20
  37. package/lib/cjs/geometry3d/PointHelpers.d.ts.map +1 -1
  38. package/lib/cjs/geometry3d/PointHelpers.js +213 -62
  39. package/lib/cjs/geometry3d/PointHelpers.js.map +1 -1
  40. package/lib/cjs/geometry3d/Transform.d.ts +2 -3
  41. package/lib/cjs/geometry3d/Transform.d.ts.map +1 -1
  42. package/lib/cjs/geometry3d/Transform.js +2 -3
  43. package/lib/cjs/geometry3d/Transform.js.map +1 -1
  44. package/lib/cjs/geometry4d/Point4d.d.ts +13 -0
  45. package/lib/cjs/geometry4d/Point4d.d.ts.map +1 -1
  46. package/lib/cjs/geometry4d/Point4d.js +21 -0
  47. package/lib/cjs/geometry4d/Point4d.js.map +1 -1
  48. package/lib/cjs/numerics/BezierPolynomials.d.ts +88 -64
  49. package/lib/cjs/numerics/BezierPolynomials.d.ts.map +1 -1
  50. package/lib/cjs/numerics/BezierPolynomials.js +92 -73
  51. package/lib/cjs/numerics/BezierPolynomials.js.map +1 -1
  52. package/lib/cjs/numerics/PascalCoefficients.d.ts +8 -12
  53. package/lib/cjs/numerics/PascalCoefficients.d.ts.map +1 -1
  54. package/lib/cjs/numerics/PascalCoefficients.js +10 -12
  55. package/lib/cjs/numerics/PascalCoefficients.js.map +1 -1
  56. package/lib/cjs/serialization/BGFBReader.d.ts +10 -10
  57. package/lib/cjs/serialization/BGFBReader.d.ts.map +1 -1
  58. package/lib/cjs/serialization/BGFBReader.js +69 -42
  59. package/lib/cjs/serialization/BGFBReader.js.map +1 -1
  60. package/lib/cjs/serialization/BGFBWriter.d.ts +8 -8
  61. package/lib/cjs/serialization/BGFBWriter.d.ts.map +1 -1
  62. package/lib/cjs/serialization/BGFBWriter.js +80 -55
  63. package/lib/cjs/serialization/BGFBWriter.js.map +1 -1
  64. package/lib/cjs/serialization/GeometrySamples.d.ts.map +1 -1
  65. package/lib/cjs/serialization/GeometrySamples.js +6 -8
  66. package/lib/cjs/serialization/GeometrySamples.js.map +1 -1
  67. package/lib/cjs/serialization/IModelJsonSchema.d.ts +6 -14
  68. package/lib/cjs/serialization/IModelJsonSchema.d.ts.map +1 -1
  69. package/lib/cjs/serialization/IModelJsonSchema.js +84 -262
  70. package/lib/cjs/serialization/IModelJsonSchema.js.map +1 -1
  71. package/lib/cjs/serialization/SerializationHelpers.d.ts +109 -0
  72. package/lib/cjs/serialization/SerializationHelpers.d.ts.map +1 -0
  73. package/lib/cjs/serialization/SerializationHelpers.js +591 -0
  74. package/lib/cjs/serialization/SerializationHelpers.js.map +1 -0
  75. package/lib/esm/bspline/BSpline1dNd.d.ts +12 -2
  76. package/lib/esm/bspline/BSpline1dNd.d.ts.map +1 -1
  77. package/lib/esm/bspline/BSpline1dNd.js +27 -17
  78. package/lib/esm/bspline/BSpline1dNd.js.map +1 -1
  79. package/lib/esm/bspline/BSplineCurve.d.ts +30 -16
  80. package/lib/esm/bspline/BSplineCurve.d.ts.map +1 -1
  81. package/lib/esm/bspline/BSplineCurve.js +68 -44
  82. package/lib/esm/bspline/BSplineCurve.js.map +1 -1
  83. package/lib/esm/bspline/BSplineCurve3dH.d.ts +27 -20
  84. package/lib/esm/bspline/BSplineCurve3dH.d.ts.map +1 -1
  85. package/lib/esm/bspline/BSplineCurve3dH.js +137 -88
  86. package/lib/esm/bspline/BSplineCurve3dH.js.map +1 -1
  87. package/lib/esm/bspline/BSplineSurface.d.ts +138 -74
  88. package/lib/esm/bspline/BSplineSurface.d.ts.map +1 -1
  89. package/lib/esm/bspline/BSplineSurface.js +242 -119
  90. package/lib/esm/bspline/BSplineSurface.js.map +1 -1
  91. package/lib/esm/bspline/Bezier1dNd.d.ts +18 -4
  92. package/lib/esm/bspline/Bezier1dNd.d.ts.map +1 -1
  93. package/lib/esm/bspline/Bezier1dNd.js +19 -5
  94. package/lib/esm/bspline/Bezier1dNd.js.map +1 -1
  95. package/lib/esm/bspline/BezierCurve3dH.d.ts.map +1 -1
  96. package/lib/esm/bspline/BezierCurve3dH.js +2 -1
  97. package/lib/esm/bspline/BezierCurve3dH.js.map +1 -1
  98. package/lib/esm/bspline/KnotVector.d.ts +30 -33
  99. package/lib/esm/bspline/KnotVector.d.ts.map +1 -1
  100. package/lib/esm/bspline/KnotVector.js +76 -69
  101. package/lib/esm/bspline/KnotVector.js.map +1 -1
  102. package/lib/esm/geometry3d/Matrix3d.d.ts +20 -13
  103. package/lib/esm/geometry3d/Matrix3d.d.ts.map +1 -1
  104. package/lib/esm/geometry3d/Matrix3d.js +28 -21
  105. package/lib/esm/geometry3d/Matrix3d.js.map +1 -1
  106. package/lib/esm/geometry3d/Point3dVector3d.d.ts +3 -2
  107. package/lib/esm/geometry3d/Point3dVector3d.d.ts.map +1 -1
  108. package/lib/esm/geometry3d/Point3dVector3d.js +6 -5
  109. package/lib/esm/geometry3d/Point3dVector3d.js.map +1 -1
  110. package/lib/esm/geometry3d/PointHelpers.d.ts +58 -20
  111. package/lib/esm/geometry3d/PointHelpers.d.ts.map +1 -1
  112. package/lib/esm/geometry3d/PointHelpers.js +213 -62
  113. package/lib/esm/geometry3d/PointHelpers.js.map +1 -1
  114. package/lib/esm/geometry3d/Transform.d.ts +2 -3
  115. package/lib/esm/geometry3d/Transform.d.ts.map +1 -1
  116. package/lib/esm/geometry3d/Transform.js +2 -3
  117. package/lib/esm/geometry3d/Transform.js.map +1 -1
  118. package/lib/esm/geometry4d/Point4d.d.ts +13 -0
  119. package/lib/esm/geometry4d/Point4d.d.ts.map +1 -1
  120. package/lib/esm/geometry4d/Point4d.js +21 -0
  121. package/lib/esm/geometry4d/Point4d.js.map +1 -1
  122. package/lib/esm/numerics/BezierPolynomials.d.ts +88 -64
  123. package/lib/esm/numerics/BezierPolynomials.d.ts.map +1 -1
  124. package/lib/esm/numerics/BezierPolynomials.js +92 -73
  125. package/lib/esm/numerics/BezierPolynomials.js.map +1 -1
  126. package/lib/esm/numerics/PascalCoefficients.d.ts +8 -12
  127. package/lib/esm/numerics/PascalCoefficients.d.ts.map +1 -1
  128. package/lib/esm/numerics/PascalCoefficients.js +10 -12
  129. package/lib/esm/numerics/PascalCoefficients.js.map +1 -1
  130. package/lib/esm/serialization/BGFBReader.d.ts +10 -10
  131. package/lib/esm/serialization/BGFBReader.d.ts.map +1 -1
  132. package/lib/esm/serialization/BGFBReader.js +69 -42
  133. package/lib/esm/serialization/BGFBReader.js.map +1 -1
  134. package/lib/esm/serialization/BGFBWriter.d.ts +8 -8
  135. package/lib/esm/serialization/BGFBWriter.d.ts.map +1 -1
  136. package/lib/esm/serialization/BGFBWriter.js +80 -55
  137. package/lib/esm/serialization/BGFBWriter.js.map +1 -1
  138. package/lib/esm/serialization/GeometrySamples.d.ts.map +1 -1
  139. package/lib/esm/serialization/GeometrySamples.js +7 -9
  140. package/lib/esm/serialization/GeometrySamples.js.map +1 -1
  141. package/lib/esm/serialization/IModelJsonSchema.d.ts +6 -14
  142. package/lib/esm/serialization/IModelJsonSchema.d.ts.map +1 -1
  143. package/lib/esm/serialization/IModelJsonSchema.js +85 -263
  144. package/lib/esm/serialization/IModelJsonSchema.js.map +1 -1
  145. package/lib/esm/serialization/SerializationHelpers.d.ts +109 -0
  146. package/lib/esm/serialization/SerializationHelpers.d.ts.map +1 -0
  147. package/lib/esm/serialization/SerializationHelpers.js +588 -0
  148. package/lib/esm/serialization/SerializationHelpers.js.map +1 -0
  149. package/package.json +3 -3
@@ -530,22 +530,11 @@ export declare namespace IModelJson {
530
530
  static parseCoordinate(data?: any): CoordinateXYZ | undefined;
531
531
  /** Parse TransitionSpiral content (right side) to TransitionSpiral3d. */
532
532
  static parseTransitionSpiral(data?: TransitionSpiralProps): TransitionSpiral3d | undefined;
533
- /**
534
- * Special closed case if the input was forced to bezier . . . (e.g. arc)
535
- * (b-1) 0 0 0 a . . . b 111 (a+1)
536
- * with {order} clamp-like values .. no pole duplication needed, but throw out 2 knots at each end . ..
537
- * @param numPoles number of poles
538
- * @param knots knot vector
539
- * @param order curve order
540
- * @param newKnots array to receive new knots.
541
- * @returns true if this is a closed-but-clamped case and corrected knots are filled in.
542
- */
543
- private static getCorrectedKnotsForClosedClamped;
544
- /** Parse `bcurve` content (right side)to BSplineCurve3d or BSplineCurve3dH object. */
533
+ /** Parse `bcurve` content to BSplineCurve3d or BSplineCurve3dH object. */
545
534
  static parseBcurve(data?: any): BSplineCurve3d | BSplineCurve3dH | undefined;
546
- /** Parse `bcurve` content (right side)to BSplineCurve3d or BSplineCurve3dH object. */
535
+ /** Parse `bcurve` content to an InterpolationCurve3d object. */
547
536
  static parseInterpolationCurve(data?: any): InterpolationCurve3d | undefined;
548
- /** Parse `bcurve` content (right side)to an Akima curve object. */
537
+ /** Parse `bcurve` content to an Akima curve object. */
549
538
  static parseAkimaCurve3d(data?: any): AkimaCurve3d | undefined;
550
539
  /** Parse array of json objects to array of instances. */
551
540
  static parseArray(data?: any): any[] | undefined;
@@ -651,6 +640,7 @@ export declare namespace IModelJson {
651
640
  private handlePolyfaceAuxData;
652
641
  /** Convert strongly typed instance to tagged json */
653
642
  handleIndexedPolyface(pf: IndexedPolyface): any;
643
+ private handleBSplineCurve;
654
644
  /** Convert strongly typed instance to tagged json */
655
645
  handleBSplineCurve3d(curve: BSplineCurve3d): any;
656
646
  /** Convert strongly typed instance to tagged json */
@@ -666,6 +656,8 @@ export declare namespace IModelJson {
666
656
  /** Convert strongly typed instance to tagged json */
667
657
  handleBezierCurve3dH(curve: BezierCurve3dH): any;
668
658
  /** Convert strongly typed instance to tagged json */
659
+ private handleBSplineSurface;
660
+ /** Convert strongly typed instance to tagged json */
669
661
  handleBSplineSurface3dH(surface: BSplineSurface3dH): any;
670
662
  /** Convert an array of strongly typed instances to an array of tagged json */
671
663
  emitArray(data: object[]): any;
@@ -1 +1 @@
1
- {"version":3,"file":"IModelJsonSchema.d.ts","sourceRoot":"","sources":["../../../src/serialization/IModelJsonSchema.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAe,MAAM,2BAA2B,CAAC;AAC7F,OAAO,EAAE,oBAAoB,IAAI,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAE1H,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAiB,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAuB,MAAM,aAAa,CAAC;AAG/E,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,EAAE,OAAO,EAAiB,MAAM,+BAA+B,CAAC;AAIvE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAsB,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAEzF,OAAO,EAAkD,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtG,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C;;;GAGG;AACH,yBAAiB,UAAU,CAAC;IAC1B;;;OAGG;IACH,UAAiB,aAAc,SAAQ,mBAAmB,EAAE,mBAAmB,EAAE,oBAAoB;QACnG,0BAA0B;QAC1B,WAAW,CAAC,EAAE,gBAAgB,CAAC;QAC/B,oBAAoB;QACpB,KAAK,CAAC,EAAE,QAAQ,CAAC;QACjB,oBAAoB;QACpB,KAAK,CAAC,EAAE,mBAAmB,CAAC;KAC7B;IACD;;;;OAIG;IACH,UAAiB,mBAAmB;QAClC,0BAA0B;QAC1B,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACnC,yBAAyB;QACzB,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC;QACxB,qBAAqB;QACrB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,+BAA+B;QAC/B,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;QACzC,kBAAkB;QAClB,GAAG,CAAC,EAAE,gBAAgB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACxD,iCAAiC;QACjC,kBAAkB,CAAC,EAAE,yBAAyB,CAAC;KAChD;IAED;;;OAGG;IACH,UAAiB,UAAU;QACzB,oBAAoB;QACpB,KAAK,CAAC,EAAE,QAAQ,CAAC;KAClB;IAED;;;;OAIG;IACH,UAAiB,mBAAmB;QAClC,2EAA2E;QAC3E,MAAM,EAAE,MAAM,CAAC;QACf,2EAA2E;QAC3E,MAAM,EAAE,MAAM,CAAC;QACf,kGAAkG;QAClG,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACrB,iDAAiD;QACjD,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;QACjB,iDAAiD;QACjD,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;QACjB,mEAAmE;QACnE,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,mEAAmE;QACnE,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB;IAED;;;OAGG;IACH,UAAiB,oBAAqB,SAAQ,iBAAiB;QAC7D,gDAAgD;QAChD,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC;QAC7B,wEAAwE;QACxE,WAAW,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC;KACtC;IAED;;;OAGG;IACH,UAAiB,iBAAiB;QAChC;;WAEG;QACH,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC;QAC7B;;;WAGG;QACH,YAAY,CAAC,EAAE,CAAC;YAAE,IAAI,EAAE,CAAC,mBAAmB,CAAC,CAAA;SAAE,CAAC,CAAC;QACjD;;WAEG;QAEH,WAAW,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC;KACnC;IACD;;;OAGG;IACH,UAAiB,mBAAmB;QAClC,uBAAuB;QACvB,QAAQ,CAAC,EAAE,aAAa,CAAC;QACzB,kBAAkB;QAClB,GAAG,CAAC,EAAE,QAAQ,CAAC;QACf,8BAA8B;QAC9B,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,4BAA4B;QAC5B,IAAI,CAAC,EAAE,SAAS,CAAC;QACjB,iCAAiC;QACjC,SAAS,CAAC,EAAE,cAAc,CAAC;QAC3B,gCAAgC;QAChC,WAAW,CAAC,EAAE,gBAAgB,CAAC;QAC/B,8BAA8B;QAC9B,eAAe,CAAC,EAAE,oBAAoB,CAAC;QACvC,yBAAyB;QACzB,UAAU,CAAC,EAAE,eAAe,CAAC;KAC9B;IACD;;;;;;;;;;;;;OAaG;IACH,UAAiB,SAAS;QACxB;;;WAGG;QACH,kBAAkB,CAAC,EAAE,iBAAiB,CAAC;QACvC;;;;;;;WAOG;QACH,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACjC;;;;;;;WAOG;QACH,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;KAClC;IAED;;;OAGG;IACH,UAAiB,gBAAgB;QAC/B,uBAAuB;QACvB,MAAM,EAAE,QAAQ,CAAC;QACjB,+EAA+E;QAC/E,OAAO,EAAE,QAAQ,CAAC;QAClB,8EAA8E;QAC9E,OAAO,EAAE,QAAQ,CAAC;QAClB,iGAAiG;QACjG,aAAa,EAAE,eAAe,CAAC;KAChC;IAED;;;;;OAKG;IACH,UAAiB,SAAU,SAAQ,SAAS;QAC1C,sCAAsC;QACtC,KAAK,EAAE,QAAQ,CAAC;QAChB,oCAAoC;QACpC,GAAG,EAAE,QAAQ,CAAC;QAEd,gCAAgC;QAChC,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,8BAA8B;QAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,wDAAwD;QACxD,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,6FAA6F;QAC7F,OAAO,CAAC,EAAE,QAAQ,CAAC;QACnB,6FAA6F;QAC7F,OAAO,CAAC,EAAE,QAAQ,CAAC;QACnB,kCAAkC;QAClC,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB;IAED;;;OAGG;IACH,UAAiB,aAAa;QAC5B,0BAA0B;QAC1B,KAAK,EAAE,QAAQ,CAAC;QAChB,wBAAwB;QACxB,GAAG,EAAE,QAAQ,CAAC;QACd,sBAAsB;QACtB,MAAM,EAAE,MAAM,CAAC;QACf,kCAAkC;QAClC,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB;IAED;;;OAGG;IACH,UAAiB,gBAAgB;QAC/B,uDAAuD;QACvD,OAAO,EAAE,oBAAoB,CAAC;QAC9B,wBAAwB;QACxB,MAAM,EAAE,QAAQ,CAAC;QACjB,kCAAkC;QAClC,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB;IAED;;;OAGG;IACH,UAAiB,oBAAoB;QACnC,uDAAuD;QACvD,OAAO,EAAE,oBAAoB,CAAC;QAC9B,yCAAyC;QACzC,MAAM,EAAE,QAAQ,CAAC;QACjB,4BAA4B;QAC5B,IAAI,EAAE,QAAQ,CAAC;QACf,kBAAkB;QAClB,UAAU,EAAE,UAAU,CAAC;QACvB,kCAAkC;QAClC,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB;IAED;;;OAGG;IACH,UAAiB,eAAe;QAC9B,kEAAkE;QAClE,OAAO,EAAE,CAAC,oBAAoB,CAAC,CAAC;QAChC,kCAAkC;QAClC,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB;IAED;;;;;;;OAOG;IACH,UAAiB,qBAAsB,SAAQ,SAAS;QAEtD,uCAAuC;QACvC,MAAM,EAAE,QAAQ,CAAC;QACjB,sCAAsC;QACtC,YAAY,CAAC,EAAE,UAAU,CAAC;QAC1B,mBAAmB;QACnB,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,6CAA6C;QAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,2CAA2C;QAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB;WACG;QACH,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB;;;WAGG;QACH,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;QAClC;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;KACf;IAED;;;OAGG;IACH,UAAiB,WAAW;QAC1B,qBAAqB;QACrB,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC;QACnB,aAAa;QACb,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC;QAChB;;;;;;;;;;;;;WAaG;QACH,KAAK,EAAE,MAAM,CAAC;QACd,uCAAuC;QACvC,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB;IAED;;;;;;;;OAQG;IACH,UAAiB,QAAS,SAAQ,SAAS;QACzC,sDAAsD;QACtD,MAAM,EAAE,QAAQ,CAAC;QACjB;;;;;WAKG;QACH,UAAU,CAAC,EAAE,QAAQ,CAAC;QACtB,6BAA6B;QAC7B,KAAK,EAAE,MAAM,CAAC;QACd;;WAEG;QACH,KAAK,CAAC,EAAE,MAAM,CAAC;QACf;;;WAGG;QACH,SAAS,CAAC,EAAE,QAAQ,CAAC;QACrB;;UAEE;QACF,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;QACd;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,6BAA6B;QAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB;IAED;;;;OAIG;IACH,UAAiB,WAAY,SAAQ,SAAS;QAC5C,6CAA6C;QAC7C,MAAM,EAAE,QAAQ,CAAC;QAEjB,qBAAqB;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,wBAAwB;QACxB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,wBAAwB;QACxB,OAAO,CAAC,EAAE,MAAM,CAAC;QAEjB,iCAAiC;QACjC,OAAO,CAAC,EAAE,MAAM,CAAC;QAEjB,yFAAyF;QACzF,gBAAgB,CAAC,EAAE,eAAe,CAAC;QACnC,uDAAuD;QACvD,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB;IAED;;;;;;;;;;OAUG;IACH,UAAiB,cAAe,SAAQ,SAAS;QAC/C,sEAAsE;QACtE,MAAM,EAAE,QAAQ,CAAC;QAEjB,qCAAqC;QACrC,WAAW,EAAE,MAAM,CAAC;QACpB,kBAAkB;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB;;WAEG;QACH,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,uDAAuD;QACvD,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB;IAED;;;OAGG;IACH,UAAiB,eAAe;QAC9B,wBAAwB;QACxB,OAAO,EAAE,CAAC,oBAAoB,CAAC,CAAC;QAChC,6BAA6B;QAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB;IACD;;;;OAIG;IACH,UAAiB,sBAAsB;QACrC,wDAAwD;QACxD,IAAI,EAAE,MAAM,CAAC;QACb,2BAA2B;QAC3B,IAAI,EAAE,MAAM,CAAC;QACb,wCAAwC;QACxC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,mCAAmC;QACnC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;KACvB;IACD;;;;;;;;;OASG;IACH,UAAiB,gBAAgB;QAC/B,yBAAyB;QACzB,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC;QAClB,sBAAsB;QACtB,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QACpB,+CAA+C;QAC/C,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QAClB,0BAA0B;QAC1B,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QAEjB,+DAA+D;QAC/D,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC;QACrB,8FAA8F;QAC9F,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QACtB,8FAA8F;QAC9F,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QACvB,6FAA6F;QAC7F,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QACtB,iFAAiF;QACjF,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;KAC5C;IACD;;;;OAIG;IACH,MAAa,MAAM;;QAKjB,OAAO,CAAC,MAAM,CAAC,qBAAqB;QAapC,OAAO,CAAC,MAAM,CAAC,oBAAoB;QAanC,OAAO,CAAC,MAAM,CAAC,sBAAsB;QASrC,OAAO,CAAC,MAAM,CAAC,mBAAmB;QAQlC;;WAEG;eACW,uBAAuB,CAAC,IAAI,EAAE,GAAG,GAAG,iBAAiB,GAAG,SAAS;QAc/E,OAAO,CAAC,MAAM,CAAC,wBAAwB;QAevC,OAAO,CAAC,MAAM,CAAC,kBAAkB;QAOjC;;WAEG;QACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;QAUnC,OAAO,CAAC,MAAM,CAAC,oBAAoB;QASnC,OAAO,CAAC,MAAM,CAAC,gBAAgB;QAkB/B,OAAO,CAAC,MAAM,CAAC,iCAAiC;QAKhD,OAAO,CAAC,MAAM,CAAC,mBAAmB;QASlC,OAAO,CAAC,MAAM,CAAC,oBAAoB;QAWnC;;;;;;;;WAQG;QACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;QAa/B,OAAO,CAAC,MAAM,CAAC,qBAAqB;QAgBpC,OAAO,CAAC,MAAM,CAAC,iBAAiB;QAUhC,OAAO,CAAC,MAAM,CAAC,cAAc;QAO7B,4EAA4E;eAC9D,eAAe,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,aAAa,GAAG,SAAS;QAMpE,yEAAyE;eAC3D,qBAAqB,CAAC,IAAI,CAAC,EAAE,qBAAqB,GAAG,kBAAkB,GAAG,SAAS;QA0CjG;;;;;;;;;WASG;QACH,OAAO,CAAC,MAAM,CAAC,iCAAiC;QAoBhD,uFAAuF;eACzE,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,cAAc,GAAG,eAAe,GAAG,SAAS;QA2DnF,uFAAuF;eACzE,uBAAuB,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,oBAAoB,GAAG,SAAS;QAMnF,mEAAmE;eACrD,iBAAiB,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,YAAY,GAAG,SAAS;QAMrE,yDAAyD;eAC3C,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,SAAS;QAevD,OAAO,CAAC,MAAM,CAAC,qCAAqC;QAgBpD,kEAAkE;eACpD,oBAAoB,CAAC,IAAI,GAAE,GAAe,EAAE,UAAU,GAAE,MAAU,GAAG,eAAe,GAAG,SAAS;QAuB9G,gEAAgE;eAClD,gBAAgB,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,eAAe,GAAG,SAAS;QAsFvE,yEAAyE;eAC3D,2BAA2B,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,eAAe,GAAG,SAAS;QAW3G,wEAAwE;eAC1D,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,SAAS;QA4BtF,gDAAgD;eAClC,cAAc,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS;QA2BhE,kDAAkD;eACpC,kBAAkB,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,IAAI,GAAG,SAAS;QAcxE,oFAAoF;QACpF,OAAO,CAAC,MAAM,CAAC,qBAAqB;QAMpC,4DAA4D;eAC9C,gBAAgB,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,WAAW,GAAG,SAAS;QAanE,oEAAoE;eACtD,oBAAoB,CAAC,IAAI,CAAC,EAAE,oBAAoB,GAAG,eAAe,GAAG,SAAS;QAuB5F,2CAA2C;eAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,GAAG,GAAG,SAAS;QA8BxD,gDAAgD;eAClC,WAAW,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS;QAwBjE,oDAAoD;eACtC,eAAe,CAAC,IAAI,CAAC,EAAE,eAAe,GAAG,UAAU,GAAG,SAAS;QAS7E,mDAAmD;eACrC,cAAc,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,SAAS,GAAG,SAAS;QAgB1E,2DAA2D;eAC7C,eAAe,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE;QAatD,uDAAuD;eACzC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,gBAAgB,GAAG,GAAG,EAAE,GAAG,SAAS;KAwDtE;IAMD;;;OAGG;IACH,MAAa,MAAO,SAAQ,eAAe;QAElC,uBAAuB,CAAC,IAAI,EAAE,iBAAiB,GAAG,sBAAsB;QAQ/E,qDAAqD;QAC9C,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,GAAG;QAGpD,qDAAqD;QAC9C,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,GAAG;QAIpD,qDAAqD;QAC9C,WAAW,CAAC,IAAI,EAAE,KAAK,GAAG,GAAG;QAUpC;;;;;WAKG;QACH,OAAO,CAAC,MAAM,CAAC,2BAA2B;QAY1C,OAAO,CAAC,MAAM,CAAC,YAAY;QAI3B;;;;;WAKG;QACH,OAAO,CAAC,MAAM,CAAC,8BAA8B;QAM7C;;;;;;;WAOG;QACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;QAOlC,8CAA8C;QACvC,sBAAsB,CAAC,IAAI,EAAE,kBAAkB,GAAG,GAAG;QAgE5D,qDAAqD;QAC9C,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG;QAoClC,qDAAqD;QAC9C,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG;QAkCtC,qDAAqD;QAC9C,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,GAAG;QAwB5C,qDAAqD;QAC9C,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,GAAG;QAQlD,qDAAqD;QAC9C,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,GAAG;QAQpD,qDAAqD;QACrC,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG;QAG3C,qDAAqD;QACrC,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG;QAI3C,qDAAqD;QACrC,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,GAAG;QAI3D,qDAAqD;QACrC,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,GAAG;QAIzD,qDAAqD;QACrC,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,GAAG;QAIzD,OAAO,CAAC,eAAe;QAYvB,qDAAqD;QAC9C,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,GAAG;QAkBhD,qDAAqD;QAC9C,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,GAAG;QAoB9C,qDAAqD;QAC9C,qBAAqB,CAAC,IAAI,EAAE,eAAe,GAAG,GAAG;QAgBxD,qDAAqD;QAC9C,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG;QAsB/B,OAAO,CAAC,qBAAqB;QA+B7B,qDAAqD;QAC9C,qBAAqB,CAAC,EAAE,EAAE,eAAe,GAAG,GAAG;QA6FtD,qDAAqD;QAC9C,oBAAoB,CAAC,KAAK,EAAE,cAAc,GAAG,GAAG;QA8DvD,qDAAqD;QAC9C,0BAA0B,CAAC,KAAK,EAAE,oBAAoB,GAAG,GAAG;QAMnE,qDAAqD;QAC9C,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,GAAG;QAInD,qDAAqD;QAC9C,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,GAAG;QAerD,qDAAqD;QAC9C,qBAAqB,CAAC,KAAK,EAAE,eAAe,GAAG,GAAG;QAkCzD,qDAAqD;QAC9C,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,GAAG,GAAG;QA4C7D,qDAAqD;QAC9C,oBAAoB,CAAC,KAAK,EAAE,cAAc,GAAG,GAAG;QAevD,qDAAqD;QAC9C,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,GAAG,GAAG;QAa/D,8EAA8E;QACvE,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAG;QAQrC,uFAAuF;QAChF,IAAI,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG;QAW3B,uEAAuE;eACzD,YAAY,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG;KAI3C;CACF"}
1
+ {"version":3,"file":"IModelJsonSchema.d.ts","sourceRoot":"","sources":["../../../src/serialization/IModelJsonSchema.ts"],"names":[],"mappings":"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"}
@@ -39,7 +39,6 @@ const Ray3d_1 = require("../geometry3d/Ray3d");
39
39
  const Segment1d_1 = require("../geometry3d/Segment1d");
40
40
  const Transform_1 = require("../geometry3d/Transform");
41
41
  const YawPitchRollAngles_1 = require("../geometry3d/YawPitchRollAngles");
42
- const Point4d_1 = require("../geometry4d/Point4d");
43
42
  const AuxData_1 = require("../polyface/AuxData");
44
43
  const Polyface_1 = require("../polyface/Polyface");
45
44
  const TaggedNumericData_1 = require("../polyface/TaggedNumericData");
@@ -50,6 +49,7 @@ const RotationalSweep_1 = require("../solid/RotationalSweep");
50
49
  const RuledSweep_1 = require("../solid/RuledSweep");
51
50
  const Sphere_1 = require("../solid/Sphere");
52
51
  const TorusPipe_1 = require("../solid/TorusPipe");
52
+ const SerializationHelpers_1 = require("./SerializationHelpers");
53
53
  // cspell:word bagof
54
54
  /**
55
55
  * `ImodelJson` namespace has classes for serializing and deserialization json objects
@@ -292,111 +292,38 @@ var IModelJson;
292
292
  }
293
293
  return undefined;
294
294
  }
295
- /**
296
- * Special closed case if the input was forced to bezier . . . (e.g. arc)
297
- * (b-1) 0 0 0 a . . . b 111 (a+1)
298
- * with {order} clamp-like values .. no pole duplication needed, but throw out 2 knots at each end . ..
299
- * @param numPoles number of poles
300
- * @param knots knot vector
301
- * @param order curve order
302
- * @param newKnots array to receive new knots.
303
- * @returns true if this is a closed-but-clamped case and corrected knots are filled in.
304
- */
305
- static getCorrectedKnotsForClosedClamped(numPoles, knots, order, newKnots) {
306
- const numKnots = knots.length;
307
- if (numPoles + 2 * order - 1 === numKnots
308
- && knots[0] < knots[1]
309
- && knots[numKnots - 2] < knots[numKnots - 1]) {
310
- const a0 = knots[1];
311
- const a1 = knots[numKnots - 2];
312
- for (let i = 2; i <= order; i++) {
313
- if (knots[i] !== a0)
314
- return false;
315
- if (knots[numKnots - 1 - i] !== a1)
316
- return false;
317
- }
318
- // copy only the "minimal" set - without the typical extra knots from microstation and psd.
319
- for (let i = 2; i + 2 < numKnots; i++)
320
- newKnots.push(knots[i]);
321
- return true;
322
- }
323
- return false;
324
- }
325
- /** Parse `bcurve` content (right side)to BSplineCurve3d or BSplineCurve3dH object. */
295
+ /** Parse `bcurve` content to BSplineCurve3d or BSplineCurve3dH object. */
326
296
  static parseBcurve(data) {
327
- if (data === undefined)
328
- return undefined;
329
- if (Array.isArray(data.points) && Array.isArray(data.knots) && Number.isFinite(data.order) && data.closed !== undefined) {
330
- if (data.points[0].length === 4) {
331
- const hPoles = [];
332
- for (const p of data.points)
333
- hPoles.push(Point4d_1.Point4d.fromJSON(p));
334
- const knots = [];
335
- let wrapMode = KnotVector_1.BSplineWrapMode.None;
336
- if (data.closed && this.getCorrectedKnotsForClosedClamped(data.points.length, data.knots, data.order, knots)) {
337
- // leave the poles alone -- knots are fixed.
338
- wrapMode = KnotVector_1.BSplineWrapMode.OpenByRemovingKnots;
339
- }
340
- else if (data.closed) {
341
- for (const knot of data.knots)
342
- knots.push(knot);
343
- for (let i = 0; i + 1 < data.order; i++) {
344
- hPoles.push(hPoles[i].clone());
345
- }
346
- wrapMode = KnotVector_1.BSplineWrapMode.OpenByAddingControlPoints;
347
- }
348
- else {
349
- // simple case .. just copy
350
- for (const knot of data.knots)
351
- knots.push(knot);
352
- }
353
- const newCurve = BSplineCurve3dH_1.BSplineCurve3dH.create(hPoles, knots, data.order);
354
- if (newCurve) {
355
- if (data.closed === true)
356
- newCurve.setWrappable(wrapMode);
357
- return newCurve;
358
- }
359
- }
360
- else if (data.points[0].length === 3 || data.points[0].length === 2) {
361
- const poles = [];
362
- for (const p of data.points)
363
- poles.push(Point3dVector3d_1.Point3d.fromJSON(p));
364
- const knots = [];
365
- let wrapMode = KnotVector_1.BSplineWrapMode.None;
366
- if (data.closed && this.getCorrectedKnotsForClosedClamped(data.points.length, data.knots, data.order, knots)) {
367
- wrapMode = KnotVector_1.BSplineWrapMode.OpenByRemovingKnots;
368
- // leave the poles alone -- knots are fixed.
369
- }
370
- else if (data.closed) {
371
- for (const knot of data.knots)
372
- knots.push(knot);
373
- for (let i = 0; i + 1 < data.order; i++) {
374
- poles.push(poles[i].clone());
375
- }
376
- wrapMode = KnotVector_1.BSplineWrapMode.OpenByAddingControlPoints;
377
- }
378
- else {
379
- // simple case .. just copy
380
- for (const knot of data.knots)
381
- knots.push(knot);
382
- }
383
- const newCurve = BSplineCurve_1.BSplineCurve3d.create(poles, knots, data.order);
384
- if (newCurve) {
385
- if (data.closed === true)
386
- newCurve.setWrappable(wrapMode);
387
- return newCurve;
297
+ let newCurve;
298
+ let dim;
299
+ if (data !== undefined
300
+ && data.hasOwnProperty("knots") && Array.isArray(data.knots)
301
+ && data.hasOwnProperty("order") && Number.isFinite(data.order)
302
+ && data.hasOwnProperty("points") && Array.isArray(data.points) && Array.isArray(data.points[0])
303
+ && (dim = data.points[0].length) >= 3 && dim <= 4) {
304
+ const myData = SerializationHelpers_1.SerializationHelpers.createBSplineCurveData(data.points, dim, data.knots, data.points.length, data.order);
305
+ if (data.hasOwnProperty("closed") && true === data.closed)
306
+ myData.params.closed = true;
307
+ if (SerializationHelpers_1.SerializationHelpers.Import.prepareBSplineCurveData(myData)) {
308
+ if (dim === 3)
309
+ newCurve = BSplineCurve_1.BSplineCurve3d.create(myData.poles, myData.params.knots, myData.params.order);
310
+ else
311
+ newCurve = BSplineCurve3dH_1.BSplineCurve3dH.create(myData.poles, myData.params.knots, myData.params.order);
312
+ if (undefined !== newCurve) {
313
+ if (undefined !== myData.params.wrapMode)
314
+ newCurve.setWrappable(myData.params.wrapMode);
388
315
  }
389
316
  }
390
317
  }
391
- return undefined;
318
+ return newCurve;
392
319
  }
393
- /** Parse `bcurve` content (right side)to BSplineCurve3d or BSplineCurve3dH object. */
320
+ /** Parse `bcurve` content to an InterpolationCurve3d object. */
394
321
  static parseInterpolationCurve(data) {
395
322
  if (data === undefined)
396
323
  return undefined;
397
324
  return InterpolationCurve3d_1.InterpolationCurve3d.create(data);
398
325
  }
399
- /** Parse `bcurve` content (right side)to an Akima curve object. */
326
+ /** Parse `bcurve` content to an Akima curve object. */
400
327
  static parseAkimaCurve3d(data) {
401
328
  if (data === undefined)
402
329
  return undefined;
@@ -546,26 +473,34 @@ var IModelJson;
546
473
  }
547
474
  /** Parse content of `bsurf` to BSplineSurface3d or BSplineSurface3dH */
548
475
  static parseBsurf(data) {
549
- if (data.hasOwnProperty("uKnots") && Array.isArray(data.uKnots)
476
+ let newSurface;
477
+ let dim;
478
+ if (data !== undefined
479
+ && data.hasOwnProperty("uKnots") && Array.isArray(data.uKnots)
550
480
  && data.hasOwnProperty("vKnots") && Array.isArray(data.vKnots)
551
481
  && data.hasOwnProperty("orderU") && Number.isFinite(data.orderU)
552
482
  && data.hasOwnProperty("orderV") && Number.isFinite(data.orderV)
553
- && data.hasOwnProperty("points") && Array.isArray(data.points)) {
554
- const orderU = data.orderU;
555
- const orderV = data.orderV;
556
- if (Array.isArray(data.points[0]) && Array.isArray(data.points[0][0])) {
557
- const d = data.points[0][0].length;
558
- /** xyz surface (no weights) */
559
- if (d === 3) {
560
- return BSplineSurface_1.BSplineSurface3d.createGrid(data.points, orderU, data.uKnots, orderV, data.vKnots);
561
- }
562
- /** xyzw surface (weights already applied) */
563
- if (d === 4) {
564
- return BSplineSurface_1.BSplineSurface3dH.createGrid(data.points, BSplineSurface_1.WeightStyle.WeightsAlreadyAppliedToCoordinates, orderU, data.uKnots, orderV, data.vKnots);
483
+ && data.hasOwnProperty("points") && Array.isArray(data.points) && Array.isArray(data.points[0]) && Array.isArray(data.points[0][0])
484
+ && (dim = data.points[0][0].length) >= 3 && dim <= 4) {
485
+ const myData = SerializationHelpers_1.SerializationHelpers.createBSplineSurfaceData(data.points, dim, data.uKnots, data.points[0].length, data.orderU, data.vKnots, data.points.length, data.orderV);
486
+ if (data.hasOwnProperty("closedU") && true === data.closedU)
487
+ myData.uParams.closed = true;
488
+ if (data.hasOwnProperty("closedV") && true === data.closedV)
489
+ myData.vParams.closed = true;
490
+ if (SerializationHelpers_1.SerializationHelpers.Import.prepareBSplineSurfaceData(myData, { jsonPoles: true })) {
491
+ if (dim === 3)
492
+ newSurface = BSplineSurface_1.BSplineSurface3d.createGrid(myData.poles, myData.uParams.order, myData.uParams.knots, myData.vParams.order, myData.vParams.knots);
493
+ else
494
+ newSurface = BSplineSurface_1.BSplineSurface3dH.createGrid(myData.poles, BSplineSurface_1.WeightStyle.WeightsAlreadyAppliedToCoordinates, myData.uParams.order, myData.uParams.knots, myData.vParams.order, myData.vParams.knots);
495
+ if (undefined !== newSurface) {
496
+ if (undefined !== myData.uParams.wrapMode)
497
+ newSurface.setWrappable(BSplineSurface_1.UVSelect.uDirection, myData.uParams.wrapMode);
498
+ if (undefined !== myData.vParams.wrapMode)
499
+ newSurface.setWrappable(BSplineSurface_1.UVSelect.vDirection, myData.vParams.wrapMode);
565
500
  }
566
501
  }
567
502
  }
568
- return undefined;
503
+ return newSurface;
569
504
  }
570
505
  /** Parse `cone` contents to `Cone` instance */
571
506
  static parseConeProps(json) {
@@ -1294,71 +1229,23 @@ var IModelJson;
1294
1229
  contents.tags = taggedNumericData;
1295
1230
  return { indexedMesh: contents };
1296
1231
  }
1232
+ handleBSplineCurve(curve) {
1233
+ const data = SerializationHelpers_1.SerializationHelpers.createBSplineCurveData(curve.polesRef, curve.poleDimension, curve.knotsRef, curve.numPoles, curve.order);
1234
+ const wrapMode = curve.getWrappable();
1235
+ if (KnotVector_1.BSplineWrapMode.None !== wrapMode)
1236
+ data.params.wrapMode = wrapMode;
1237
+ if (!SerializationHelpers_1.SerializationHelpers.Export.prepareBSplineCurveData(data, { jsonPoles: true, jsonKnots: true }))
1238
+ return undefined;
1239
+ return { bcurve: {
1240
+ points: data.poles,
1241
+ knots: data.params.knots,
1242
+ order: data.params.order,
1243
+ closed: data.params.closed ? true : undefined,
1244
+ } };
1245
+ }
1297
1246
  /** Convert strongly typed instance to tagged json */
1298
1247
  handleBSplineCurve3d(curve) {
1299
- // ASSUME -- if the curve originated "closed" the knot and pole replication are unchanged,
1300
- // so first and last knots can be re-assigned, and last (degree - 1) poles can be deleted.
1301
- const wrapMode = curve.isClosable;
1302
- if (wrapMode === KnotVector_1.BSplineWrapMode.OpenByAddingControlPoints) {
1303
- const knots = curve.copyKnots(true);
1304
- const poles = curve.copyPoints();
1305
- const degree = curve.degree;
1306
- for (let i = 0; i < degree; i++)
1307
- poles.pop();
1308
- // knots have replicated first and last. Change the values to be periodic.
1309
- const leftIndex = degree;
1310
- const rightIndex = knots.length - degree - 1;
1311
- const knotPeriod = knots[rightIndex] - knots[leftIndex];
1312
- knots[0] = knots[rightIndex - degree] - knotPeriod;
1313
- knots[knots.length - 1] = knots[leftIndex + degree] + knotPeriod;
1314
- return {
1315
- bcurve: {
1316
- points: poles,
1317
- knots,
1318
- closed: true,
1319
- order: curve.order,
1320
- },
1321
- };
1322
- }
1323
- else if (curve.isClosable === KnotVector_1.BSplineWrapMode.OpenByRemovingKnots) {
1324
- // special case to re-close the case that originated as : a a0 a0 .. a0 knot0 knot1 knot2 ... b1 b1 .. b1 b
1325
- // with (order) copies of a0 and b1 (usually 0 and 1)
1326
- // and a,b are related to the interior knots
1327
- // (This is the "bezier saturated arc")
1328
- const rawKnots = curve.copyKnots(false); // unchanged knots . . .
1329
- const poles = curve.copyPoints();
1330
- const degree = curve.degree;
1331
- const leftIndex = degree - 1;
1332
- const rightIndex = rawKnots.length - degree;
1333
- const leftKnot = rawKnots[leftIndex];
1334
- const rightKnot = rawKnots[rightIndex];
1335
- const knotPeriod = rightKnot - leftKnot;
1336
- const knots = [];
1337
- knots.push(rawKnots[rightIndex - 1] - knotPeriod);
1338
- knots.push(leftKnot);
1339
- for (const k of rawKnots)
1340
- knots.push(k);
1341
- knots.push(rightKnot);
1342
- knots.push(rawKnots[leftIndex + 1] + knotPeriod);
1343
- return {
1344
- bcurve: {
1345
- points: poles,
1346
- knots,
1347
- closed: true,
1348
- order: curve.order,
1349
- },
1350
- };
1351
- }
1352
- else {
1353
- return {
1354
- bcurve: {
1355
- points: curve.copyPoints(),
1356
- knots: curve.copyKnots(true),
1357
- closed: false,
1358
- order: curve.order,
1359
- },
1360
- };
1361
- }
1248
+ return this.handleBSplineCurve(curve);
1362
1249
  }
1363
1250
  /** Convert strongly typed instance to tagged json */
1364
1251
  handleInterpolationCurve3d(curve) {
@@ -1382,93 +1269,17 @@ var IModelJson;
1382
1269
  bcurve: {
1383
1270
  points: curve.copyPolesAsJsonArray(),
1384
1271
  knots,
1385
- closed: false,
1386
1272
  order: curve.order,
1387
1273
  },
1388
1274
  };
1389
1275
  }
1390
1276
  /** Convert strongly typed instance to tagged json */
1391
1277
  handleBSplineCurve3dH(curve) {
1392
- // ASSUME -- if the curve originated "closed" the knot and pole replication are unchanged,
1393
- // so first and last knots can be re-assigned, and last (degree - 1) poles can be deleted.
1394
- if (curve.isClosable) {
1395
- const knots = curve.copyKnots(true);
1396
- const poles = curve.copyPoints();
1397
- const degree = curve.degree;
1398
- for (let i = 0; i < degree; i++)
1399
- poles.pop();
1400
- // knots have replicated first and last. Change the values to be periodic.
1401
- const leftIndex = degree;
1402
- const rightIndex = knots.length - degree - 1;
1403
- const knotPeriod = knots[rightIndex] - knots[leftIndex];
1404
- knots[0] = knots[rightIndex - degree] - knotPeriod;
1405
- knots[knots.length - 1] = knots[leftIndex + degree] + knotPeriod;
1406
- return {
1407
- bcurve: {
1408
- points: poles,
1409
- knots,
1410
- closed: true,
1411
- order: curve.order,
1412
- },
1413
- };
1414
- }
1415
- else {
1416
- return {
1417
- bcurve: {
1418
- points: curve.copyPoints(),
1419
- knots: curve.copyKnots(true),
1420
- closed: false,
1421
- order: curve.order,
1422
- },
1423
- };
1424
- }
1278
+ return this.handleBSplineCurve(curve);
1425
1279
  }
1426
1280
  /** Convert strongly typed instance to tagged json */
1427
1281
  handleBSplineSurface3d(surface) {
1428
- // ASSUME -- if the curve originated "closed" the knot and pole replication are unchanged,
1429
- // so first and last knots can be re-assigned, and last (degree - 1) poles can be deleted.
1430
- const periodicU = surface.isClosable(0);
1431
- const periodicV = surface.isClosable(1);
1432
- if (periodicU || periodicV) {
1433
- let numUPoles = surface.numPolesUV(0);
1434
- let numVPoles = surface.numPolesUV(1);
1435
- if (periodicU)
1436
- numUPoles -= surface.degreeUV(0);
1437
- if (periodicV)
1438
- numVPoles -= surface.degreeUV(1);
1439
- const xyz = Point3dVector3d_1.Point3d.create();
1440
- const grid = [];
1441
- for (let j = 0; j < numVPoles; j++) {
1442
- const stringer = [];
1443
- for (let i = 0; i < numUPoles; i++) {
1444
- surface.getPoint3dPole(i, j, xyz);
1445
- stringer.push([xyz.x, xyz.y, xyz.z]);
1446
- }
1447
- grid.push(stringer);
1448
- }
1449
- return {
1450
- bsurf: {
1451
- points: grid,
1452
- uKnots: surface.copyKnots(0, true),
1453
- vKnots: surface.copyKnots(1, true),
1454
- orderU: surface.orderUV(0),
1455
- orderV: surface.orderUV(1),
1456
- closedU: periodicU,
1457
- closedV: periodicV,
1458
- },
1459
- };
1460
- }
1461
- else {
1462
- return {
1463
- bsurf: {
1464
- points: surface.getPointArray(false),
1465
- uKnots: surface.copyKnots(0, true),
1466
- vKnots: surface.copyKnots(1, true),
1467
- orderU: surface.orderUV(0),
1468
- orderV: surface.orderUV(1),
1469
- },
1470
- };
1471
- }
1282
+ return this.handleBSplineSurface(surface);
1472
1283
  }
1473
1284
  /** Convert strongly typed instance to tagged json */
1474
1285
  handleBezierCurve3dH(curve) {
@@ -1482,23 +1293,34 @@ var IModelJson;
1482
1293
  bcurve: {
1483
1294
  points: curve.copyPolesAsJsonArray(),
1484
1295
  knots,
1485
- closed: false,
1486
1296
  order: curve.order,
1487
1297
  },
1488
1298
  };
1489
1299
  }
1490
1300
  /** Convert strongly typed instance to tagged json */
1301
+ handleBSplineSurface(surface) {
1302
+ const data = SerializationHelpers_1.SerializationHelpers.createBSplineSurfaceData(surface.coffs, surface.poleDimension, surface.knots[BSplineSurface_1.UVSelect.uDirection].knots, surface.numPolesUV(BSplineSurface_1.UVSelect.uDirection), surface.orderUV(BSplineSurface_1.UVSelect.uDirection), surface.knots[BSplineSurface_1.UVSelect.vDirection].knots, surface.numPolesUV(BSplineSurface_1.UVSelect.vDirection), surface.orderUV(BSplineSurface_1.UVSelect.vDirection));
1303
+ const wrapModeU = surface.getWrappable(BSplineSurface_1.UVSelect.uDirection);
1304
+ const wrapModeV = surface.getWrappable(BSplineSurface_1.UVSelect.vDirection);
1305
+ if (KnotVector_1.BSplineWrapMode.None !== wrapModeU)
1306
+ data.uParams.wrapMode = wrapModeU;
1307
+ if (KnotVector_1.BSplineWrapMode.None !== wrapModeV)
1308
+ data.vParams.wrapMode = wrapModeV;
1309
+ if (!SerializationHelpers_1.SerializationHelpers.Export.prepareBSplineSurfaceData(data, { jsonPoles: true, jsonKnots: true }))
1310
+ return undefined;
1311
+ return { bsurf: {
1312
+ points: data.poles,
1313
+ uKnots: data.uParams.knots,
1314
+ vKnots: data.vParams.knots,
1315
+ orderU: data.uParams.order,
1316
+ orderV: data.vParams.order,
1317
+ closedU: data.uParams.closed ? true : undefined,
1318
+ closedV: data.vParams.closed ? true : undefined,
1319
+ } };
1320
+ }
1321
+ /** Convert strongly typed instance to tagged json */
1491
1322
  handleBSplineSurface3dH(surface) {
1492
- const data = surface.getPointGridJSON();
1493
- return {
1494
- bsurf: {
1495
- points: data.points,
1496
- uKnots: surface.copyKnots(0, true),
1497
- vKnots: surface.copyKnots(1, true),
1498
- orderU: surface.orderUV(0),
1499
- orderV: surface.orderUV(1),
1500
- },
1501
- };
1323
+ return this.handleBSplineSurface(surface);
1502
1324
  }
1503
1325
  /** Convert an array of strongly typed instances to an array of tagged json */
1504
1326
  emitArray(data) {