@itwin/core-geometry 4.3.0-dev.13 → 4.3.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 (150) hide show
  1. package/CHANGELOG.md +16 -1
  2. package/lib/cjs/bspline/BSpline1dNd.d.ts +12 -2
  3. package/lib/cjs/bspline/BSpline1dNd.d.ts.map +1 -1
  4. package/lib/cjs/bspline/BSpline1dNd.js +27 -17
  5. package/lib/cjs/bspline/BSpline1dNd.js.map +1 -1
  6. package/lib/cjs/bspline/BSplineCurve.d.ts +30 -16
  7. package/lib/cjs/bspline/BSplineCurve.d.ts.map +1 -1
  8. package/lib/cjs/bspline/BSplineCurve.js +68 -44
  9. package/lib/cjs/bspline/BSplineCurve.js.map +1 -1
  10. package/lib/cjs/bspline/BSplineCurve3dH.d.ts +27 -20
  11. package/lib/cjs/bspline/BSplineCurve3dH.d.ts.map +1 -1
  12. package/lib/cjs/bspline/BSplineCurve3dH.js +136 -87
  13. package/lib/cjs/bspline/BSplineCurve3dH.js.map +1 -1
  14. package/lib/cjs/bspline/BSplineSurface.d.ts +138 -74
  15. package/lib/cjs/bspline/BSplineSurface.d.ts.map +1 -1
  16. package/lib/cjs/bspline/BSplineSurface.js +242 -119
  17. package/lib/cjs/bspline/BSplineSurface.js.map +1 -1
  18. package/lib/cjs/bspline/Bezier1dNd.d.ts +18 -4
  19. package/lib/cjs/bspline/Bezier1dNd.d.ts.map +1 -1
  20. package/lib/cjs/bspline/Bezier1dNd.js +19 -5
  21. package/lib/cjs/bspline/Bezier1dNd.js.map +1 -1
  22. package/lib/cjs/bspline/BezierCurve3dH.d.ts.map +1 -1
  23. package/lib/cjs/bspline/BezierCurve3dH.js +2 -1
  24. package/lib/cjs/bspline/BezierCurve3dH.js.map +1 -1
  25. package/lib/cjs/bspline/KnotVector.d.ts +30 -33
  26. package/lib/cjs/bspline/KnotVector.d.ts.map +1 -1
  27. package/lib/cjs/bspline/KnotVector.js +76 -69
  28. package/lib/cjs/bspline/KnotVector.js.map +1 -1
  29. package/lib/cjs/geometry3d/Matrix3d.d.ts +20 -13
  30. package/lib/cjs/geometry3d/Matrix3d.d.ts.map +1 -1
  31. package/lib/cjs/geometry3d/Matrix3d.js +28 -21
  32. package/lib/cjs/geometry3d/Matrix3d.js.map +1 -1
  33. package/lib/cjs/geometry3d/Point3dVector3d.d.ts +3 -2
  34. package/lib/cjs/geometry3d/Point3dVector3d.d.ts.map +1 -1
  35. package/lib/cjs/geometry3d/Point3dVector3d.js +6 -5
  36. package/lib/cjs/geometry3d/Point3dVector3d.js.map +1 -1
  37. package/lib/cjs/geometry3d/PointHelpers.d.ts +58 -20
  38. package/lib/cjs/geometry3d/PointHelpers.d.ts.map +1 -1
  39. package/lib/cjs/geometry3d/PointHelpers.js +213 -62
  40. package/lib/cjs/geometry3d/PointHelpers.js.map +1 -1
  41. package/lib/cjs/geometry3d/Transform.d.ts +2 -3
  42. package/lib/cjs/geometry3d/Transform.d.ts.map +1 -1
  43. package/lib/cjs/geometry3d/Transform.js +2 -3
  44. package/lib/cjs/geometry3d/Transform.js.map +1 -1
  45. package/lib/cjs/geometry4d/Point4d.d.ts +13 -0
  46. package/lib/cjs/geometry4d/Point4d.d.ts.map +1 -1
  47. package/lib/cjs/geometry4d/Point4d.js +21 -0
  48. package/lib/cjs/geometry4d/Point4d.js.map +1 -1
  49. package/lib/cjs/numerics/BezierPolynomials.d.ts +88 -64
  50. package/lib/cjs/numerics/BezierPolynomials.d.ts.map +1 -1
  51. package/lib/cjs/numerics/BezierPolynomials.js +92 -73
  52. package/lib/cjs/numerics/BezierPolynomials.js.map +1 -1
  53. package/lib/cjs/numerics/PascalCoefficients.d.ts +8 -12
  54. package/lib/cjs/numerics/PascalCoefficients.d.ts.map +1 -1
  55. package/lib/cjs/numerics/PascalCoefficients.js +10 -12
  56. package/lib/cjs/numerics/PascalCoefficients.js.map +1 -1
  57. package/lib/cjs/serialization/BGFBReader.d.ts +10 -10
  58. package/lib/cjs/serialization/BGFBReader.d.ts.map +1 -1
  59. package/lib/cjs/serialization/BGFBReader.js +69 -42
  60. package/lib/cjs/serialization/BGFBReader.js.map +1 -1
  61. package/lib/cjs/serialization/BGFBWriter.d.ts +8 -8
  62. package/lib/cjs/serialization/BGFBWriter.d.ts.map +1 -1
  63. package/lib/cjs/serialization/BGFBWriter.js +80 -55
  64. package/lib/cjs/serialization/BGFBWriter.js.map +1 -1
  65. package/lib/cjs/serialization/GeometrySamples.d.ts.map +1 -1
  66. package/lib/cjs/serialization/GeometrySamples.js +6 -8
  67. package/lib/cjs/serialization/GeometrySamples.js.map +1 -1
  68. package/lib/cjs/serialization/IModelJsonSchema.d.ts +6 -14
  69. package/lib/cjs/serialization/IModelJsonSchema.d.ts.map +1 -1
  70. package/lib/cjs/serialization/IModelJsonSchema.js +84 -262
  71. package/lib/cjs/serialization/IModelJsonSchema.js.map +1 -1
  72. package/lib/cjs/serialization/SerializationHelpers.d.ts +109 -0
  73. package/lib/cjs/serialization/SerializationHelpers.d.ts.map +1 -0
  74. package/lib/cjs/serialization/SerializationHelpers.js +591 -0
  75. package/lib/cjs/serialization/SerializationHelpers.js.map +1 -0
  76. package/lib/esm/bspline/BSpline1dNd.d.ts +12 -2
  77. package/lib/esm/bspline/BSpline1dNd.d.ts.map +1 -1
  78. package/lib/esm/bspline/BSpline1dNd.js +27 -17
  79. package/lib/esm/bspline/BSpline1dNd.js.map +1 -1
  80. package/lib/esm/bspline/BSplineCurve.d.ts +30 -16
  81. package/lib/esm/bspline/BSplineCurve.d.ts.map +1 -1
  82. package/lib/esm/bspline/BSplineCurve.js +68 -44
  83. package/lib/esm/bspline/BSplineCurve.js.map +1 -1
  84. package/lib/esm/bspline/BSplineCurve3dH.d.ts +27 -20
  85. package/lib/esm/bspline/BSplineCurve3dH.d.ts.map +1 -1
  86. package/lib/esm/bspline/BSplineCurve3dH.js +137 -88
  87. package/lib/esm/bspline/BSplineCurve3dH.js.map +1 -1
  88. package/lib/esm/bspline/BSplineSurface.d.ts +138 -74
  89. package/lib/esm/bspline/BSplineSurface.d.ts.map +1 -1
  90. package/lib/esm/bspline/BSplineSurface.js +242 -119
  91. package/lib/esm/bspline/BSplineSurface.js.map +1 -1
  92. package/lib/esm/bspline/Bezier1dNd.d.ts +18 -4
  93. package/lib/esm/bspline/Bezier1dNd.d.ts.map +1 -1
  94. package/lib/esm/bspline/Bezier1dNd.js +19 -5
  95. package/lib/esm/bspline/Bezier1dNd.js.map +1 -1
  96. package/lib/esm/bspline/BezierCurve3dH.d.ts.map +1 -1
  97. package/lib/esm/bspline/BezierCurve3dH.js +2 -1
  98. package/lib/esm/bspline/BezierCurve3dH.js.map +1 -1
  99. package/lib/esm/bspline/KnotVector.d.ts +30 -33
  100. package/lib/esm/bspline/KnotVector.d.ts.map +1 -1
  101. package/lib/esm/bspline/KnotVector.js +76 -69
  102. package/lib/esm/bspline/KnotVector.js.map +1 -1
  103. package/lib/esm/geometry3d/Matrix3d.d.ts +20 -13
  104. package/lib/esm/geometry3d/Matrix3d.d.ts.map +1 -1
  105. package/lib/esm/geometry3d/Matrix3d.js +28 -21
  106. package/lib/esm/geometry3d/Matrix3d.js.map +1 -1
  107. package/lib/esm/geometry3d/Point3dVector3d.d.ts +3 -2
  108. package/lib/esm/geometry3d/Point3dVector3d.d.ts.map +1 -1
  109. package/lib/esm/geometry3d/Point3dVector3d.js +6 -5
  110. package/lib/esm/geometry3d/Point3dVector3d.js.map +1 -1
  111. package/lib/esm/geometry3d/PointHelpers.d.ts +58 -20
  112. package/lib/esm/geometry3d/PointHelpers.d.ts.map +1 -1
  113. package/lib/esm/geometry3d/PointHelpers.js +213 -62
  114. package/lib/esm/geometry3d/PointHelpers.js.map +1 -1
  115. package/lib/esm/geometry3d/Transform.d.ts +2 -3
  116. package/lib/esm/geometry3d/Transform.d.ts.map +1 -1
  117. package/lib/esm/geometry3d/Transform.js +2 -3
  118. package/lib/esm/geometry3d/Transform.js.map +1 -1
  119. package/lib/esm/geometry4d/Point4d.d.ts +13 -0
  120. package/lib/esm/geometry4d/Point4d.d.ts.map +1 -1
  121. package/lib/esm/geometry4d/Point4d.js +21 -0
  122. package/lib/esm/geometry4d/Point4d.js.map +1 -1
  123. package/lib/esm/numerics/BezierPolynomials.d.ts +88 -64
  124. package/lib/esm/numerics/BezierPolynomials.d.ts.map +1 -1
  125. package/lib/esm/numerics/BezierPolynomials.js +92 -73
  126. package/lib/esm/numerics/BezierPolynomials.js.map +1 -1
  127. package/lib/esm/numerics/PascalCoefficients.d.ts +8 -12
  128. package/lib/esm/numerics/PascalCoefficients.d.ts.map +1 -1
  129. package/lib/esm/numerics/PascalCoefficients.js +10 -12
  130. package/lib/esm/numerics/PascalCoefficients.js.map +1 -1
  131. package/lib/esm/serialization/BGFBReader.d.ts +10 -10
  132. package/lib/esm/serialization/BGFBReader.d.ts.map +1 -1
  133. package/lib/esm/serialization/BGFBReader.js +69 -42
  134. package/lib/esm/serialization/BGFBReader.js.map +1 -1
  135. package/lib/esm/serialization/BGFBWriter.d.ts +8 -8
  136. package/lib/esm/serialization/BGFBWriter.d.ts.map +1 -1
  137. package/lib/esm/serialization/BGFBWriter.js +80 -55
  138. package/lib/esm/serialization/BGFBWriter.js.map +1 -1
  139. package/lib/esm/serialization/GeometrySamples.d.ts.map +1 -1
  140. package/lib/esm/serialization/GeometrySamples.js +7 -9
  141. package/lib/esm/serialization/GeometrySamples.js.map +1 -1
  142. package/lib/esm/serialization/IModelJsonSchema.d.ts +6 -14
  143. package/lib/esm/serialization/IModelJsonSchema.d.ts.map +1 -1
  144. package/lib/esm/serialization/IModelJsonSchema.js +85 -263
  145. package/lib/esm/serialization/IModelJsonSchema.js.map +1 -1
  146. package/lib/esm/serialization/SerializationHelpers.d.ts +109 -0
  147. package/lib/esm/serialization/SerializationHelpers.d.ts.map +1 -0
  148. package/lib/esm/serialization/SerializationHelpers.js +588 -0
  149. package/lib/esm/serialization/SerializationHelpers.js.map +1 -0
  150. 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":"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"}
1
+ {"version":3,"file":"IModelJsonSchema.d.ts","sourceRoot":"","sources":["../../../src/serialization/IModelJsonSchema.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ import { AkimaCurve3d } from "../bspline/AkimaCurve3d";
9
9
  import { BSplineCurve3d } from "../bspline/BSplineCurve";
10
10
  import { BSplineCurve3dH } from "../bspline/BSplineCurve3dH";
11
11
  import { BSplineCurveOps } from "../bspline/BSplineCurveOps";
12
- import { BSplineSurface3d, BSplineSurface3dH, WeightStyle } from "../bspline/BSplineSurface";
12
+ import { BSplineSurface3d, BSplineSurface3dH, UVSelect, WeightStyle } from "../bspline/BSplineSurface";
13
13
  import { InterpolationCurve3d as InterpolationCurve3d } from "../bspline/InterpolationCurve3d";
14
14
  import { BSplineWrapMode } from "../bspline/KnotVector";
15
15
  import { Arc3d } from "../curve/Arc3d";
@@ -36,7 +36,6 @@ import { Ray3d } from "../geometry3d/Ray3d";
36
36
  import { Segment1d } from "../geometry3d/Segment1d";
37
37
  import { Transform } from "../geometry3d/Transform";
38
38
  import { YawPitchRollAngles } from "../geometry3d/YawPitchRollAngles";
39
- import { Point4d } from "../geometry4d/Point4d";
40
39
  import { AuxChannel, AuxChannelData, PolyfaceAuxData } from "../polyface/AuxData";
41
40
  import { IndexedPolyface } from "../polyface/Polyface";
42
41
  import { TaggedNumericData } from "../polyface/TaggedNumericData";
@@ -47,6 +46,7 @@ import { RotationalSweep } from "../solid/RotationalSweep";
47
46
  import { RuledSweep } from "../solid/RuledSweep";
48
47
  import { Sphere } from "../solid/Sphere";
49
48
  import { TorusPipe } from "../solid/TorusPipe";
49
+ import { SerializationHelpers } from "./SerializationHelpers";
50
50
  // cspell:word bagof
51
51
  /**
52
52
  * `ImodelJson` namespace has classes for serializing and deserialization json objects
@@ -289,111 +289,38 @@ export var IModelJson;
289
289
  }
290
290
  return undefined;
291
291
  }
292
- /**
293
- * Special closed case if the input was forced to bezier . . . (e.g. arc)
294
- * (b-1) 0 0 0 a . . . b 111 (a+1)
295
- * with {order} clamp-like values .. no pole duplication needed, but throw out 2 knots at each end . ..
296
- * @param numPoles number of poles
297
- * @param knots knot vector
298
- * @param order curve order
299
- * @param newKnots array to receive new knots.
300
- * @returns true if this is a closed-but-clamped case and corrected knots are filled in.
301
- */
302
- static getCorrectedKnotsForClosedClamped(numPoles, knots, order, newKnots) {
303
- const numKnots = knots.length;
304
- if (numPoles + 2 * order - 1 === numKnots
305
- && knots[0] < knots[1]
306
- && knots[numKnots - 2] < knots[numKnots - 1]) {
307
- const a0 = knots[1];
308
- const a1 = knots[numKnots - 2];
309
- for (let i = 2; i <= order; i++) {
310
- if (knots[i] !== a0)
311
- return false;
312
- if (knots[numKnots - 1 - i] !== a1)
313
- return false;
314
- }
315
- // copy only the "minimal" set - without the typical extra knots from microstation and psd.
316
- for (let i = 2; i + 2 < numKnots; i++)
317
- newKnots.push(knots[i]);
318
- return true;
319
- }
320
- return false;
321
- }
322
- /** Parse `bcurve` content (right side)to BSplineCurve3d or BSplineCurve3dH object. */
292
+ /** Parse `bcurve` content to BSplineCurve3d or BSplineCurve3dH object. */
323
293
  static parseBcurve(data) {
324
- if (data === undefined)
325
- return undefined;
326
- if (Array.isArray(data.points) && Array.isArray(data.knots) && Number.isFinite(data.order) && data.closed !== undefined) {
327
- if (data.points[0].length === 4) {
328
- const hPoles = [];
329
- for (const p of data.points)
330
- hPoles.push(Point4d.fromJSON(p));
331
- const knots = [];
332
- let wrapMode = BSplineWrapMode.None;
333
- if (data.closed && this.getCorrectedKnotsForClosedClamped(data.points.length, data.knots, data.order, knots)) {
334
- // leave the poles alone -- knots are fixed.
335
- wrapMode = BSplineWrapMode.OpenByRemovingKnots;
336
- }
337
- else if (data.closed) {
338
- for (const knot of data.knots)
339
- knots.push(knot);
340
- for (let i = 0; i + 1 < data.order; i++) {
341
- hPoles.push(hPoles[i].clone());
342
- }
343
- wrapMode = BSplineWrapMode.OpenByAddingControlPoints;
344
- }
345
- else {
346
- // simple case .. just copy
347
- for (const knot of data.knots)
348
- knots.push(knot);
349
- }
350
- const newCurve = BSplineCurve3dH.create(hPoles, knots, data.order);
351
- if (newCurve) {
352
- if (data.closed === true)
353
- newCurve.setWrappable(wrapMode);
354
- return newCurve;
355
- }
356
- }
357
- else if (data.points[0].length === 3 || data.points[0].length === 2) {
358
- const poles = [];
359
- for (const p of data.points)
360
- poles.push(Point3d.fromJSON(p));
361
- const knots = [];
362
- let wrapMode = BSplineWrapMode.None;
363
- if (data.closed && this.getCorrectedKnotsForClosedClamped(data.points.length, data.knots, data.order, knots)) {
364
- wrapMode = BSplineWrapMode.OpenByRemovingKnots;
365
- // leave the poles alone -- knots are fixed.
366
- }
367
- else if (data.closed) {
368
- for (const knot of data.knots)
369
- knots.push(knot);
370
- for (let i = 0; i + 1 < data.order; i++) {
371
- poles.push(poles[i].clone());
372
- }
373
- wrapMode = BSplineWrapMode.OpenByAddingControlPoints;
374
- }
375
- else {
376
- // simple case .. just copy
377
- for (const knot of data.knots)
378
- knots.push(knot);
379
- }
380
- const newCurve = BSplineCurve3d.create(poles, knots, data.order);
381
- if (newCurve) {
382
- if (data.closed === true)
383
- newCurve.setWrappable(wrapMode);
384
- return newCurve;
294
+ let newCurve;
295
+ let dim;
296
+ if (data !== undefined
297
+ && data.hasOwnProperty("knots") && Array.isArray(data.knots)
298
+ && data.hasOwnProperty("order") && Number.isFinite(data.order)
299
+ && data.hasOwnProperty("points") && Array.isArray(data.points) && Array.isArray(data.points[0])
300
+ && (dim = data.points[0].length) >= 3 && dim <= 4) {
301
+ const myData = SerializationHelpers.createBSplineCurveData(data.points, dim, data.knots, data.points.length, data.order);
302
+ if (data.hasOwnProperty("closed") && true === data.closed)
303
+ myData.params.closed = true;
304
+ if (SerializationHelpers.Import.prepareBSplineCurveData(myData)) {
305
+ if (dim === 3)
306
+ newCurve = BSplineCurve3d.create(myData.poles, myData.params.knots, myData.params.order);
307
+ else
308
+ newCurve = BSplineCurve3dH.create(myData.poles, myData.params.knots, myData.params.order);
309
+ if (undefined !== newCurve) {
310
+ if (undefined !== myData.params.wrapMode)
311
+ newCurve.setWrappable(myData.params.wrapMode);
385
312
  }
386
313
  }
387
314
  }
388
- return undefined;
315
+ return newCurve;
389
316
  }
390
- /** Parse `bcurve` content (right side)to BSplineCurve3d or BSplineCurve3dH object. */
317
+ /** Parse `bcurve` content to an InterpolationCurve3d object. */
391
318
  static parseInterpolationCurve(data) {
392
319
  if (data === undefined)
393
320
  return undefined;
394
321
  return InterpolationCurve3d.create(data);
395
322
  }
396
- /** Parse `bcurve` content (right side)to an Akima curve object. */
323
+ /** Parse `bcurve` content to an Akima curve object. */
397
324
  static parseAkimaCurve3d(data) {
398
325
  if (data === undefined)
399
326
  return undefined;
@@ -543,26 +470,34 @@ export var IModelJson;
543
470
  }
544
471
  /** Parse content of `bsurf` to BSplineSurface3d or BSplineSurface3dH */
545
472
  static parseBsurf(data) {
546
- if (data.hasOwnProperty("uKnots") && Array.isArray(data.uKnots)
473
+ let newSurface;
474
+ let dim;
475
+ if (data !== undefined
476
+ && data.hasOwnProperty("uKnots") && Array.isArray(data.uKnots)
547
477
  && data.hasOwnProperty("vKnots") && Array.isArray(data.vKnots)
548
478
  && data.hasOwnProperty("orderU") && Number.isFinite(data.orderU)
549
479
  && data.hasOwnProperty("orderV") && Number.isFinite(data.orderV)
550
- && data.hasOwnProperty("points") && Array.isArray(data.points)) {
551
- const orderU = data.orderU;
552
- const orderV = data.orderV;
553
- if (Array.isArray(data.points[0]) && Array.isArray(data.points[0][0])) {
554
- const d = data.points[0][0].length;
555
- /** xyz surface (no weights) */
556
- if (d === 3) {
557
- return BSplineSurface3d.createGrid(data.points, orderU, data.uKnots, orderV, data.vKnots);
558
- }
559
- /** xyzw surface (weights already applied) */
560
- if (d === 4) {
561
- return BSplineSurface3dH.createGrid(data.points, WeightStyle.WeightsAlreadyAppliedToCoordinates, orderU, data.uKnots, orderV, data.vKnots);
480
+ && data.hasOwnProperty("points") && Array.isArray(data.points) && Array.isArray(data.points[0]) && Array.isArray(data.points[0][0])
481
+ && (dim = data.points[0][0].length) >= 3 && dim <= 4) {
482
+ const myData = SerializationHelpers.createBSplineSurfaceData(data.points, dim, data.uKnots, data.points[0].length, data.orderU, data.vKnots, data.points.length, data.orderV);
483
+ if (data.hasOwnProperty("closedU") && true === data.closedU)
484
+ myData.uParams.closed = true;
485
+ if (data.hasOwnProperty("closedV") && true === data.closedV)
486
+ myData.vParams.closed = true;
487
+ if (SerializationHelpers.Import.prepareBSplineSurfaceData(myData, { jsonPoles: true })) {
488
+ if (dim === 3)
489
+ newSurface = BSplineSurface3d.createGrid(myData.poles, myData.uParams.order, myData.uParams.knots, myData.vParams.order, myData.vParams.knots);
490
+ else
491
+ newSurface = BSplineSurface3dH.createGrid(myData.poles, WeightStyle.WeightsAlreadyAppliedToCoordinates, myData.uParams.order, myData.uParams.knots, myData.vParams.order, myData.vParams.knots);
492
+ if (undefined !== newSurface) {
493
+ if (undefined !== myData.uParams.wrapMode)
494
+ newSurface.setWrappable(UVSelect.uDirection, myData.uParams.wrapMode);
495
+ if (undefined !== myData.vParams.wrapMode)
496
+ newSurface.setWrappable(UVSelect.vDirection, myData.vParams.wrapMode);
562
497
  }
563
498
  }
564
499
  }
565
- return undefined;
500
+ return newSurface;
566
501
  }
567
502
  /** Parse `cone` contents to `Cone` instance */
568
503
  static parseConeProps(json) {
@@ -1291,71 +1226,23 @@ export var IModelJson;
1291
1226
  contents.tags = taggedNumericData;
1292
1227
  return { indexedMesh: contents };
1293
1228
  }
1229
+ handleBSplineCurve(curve) {
1230
+ const data = SerializationHelpers.createBSplineCurveData(curve.polesRef, curve.poleDimension, curve.knotsRef, curve.numPoles, curve.order);
1231
+ const wrapMode = curve.getWrappable();
1232
+ if (BSplineWrapMode.None !== wrapMode)
1233
+ data.params.wrapMode = wrapMode;
1234
+ if (!SerializationHelpers.Export.prepareBSplineCurveData(data, { jsonPoles: true, jsonKnots: true }))
1235
+ return undefined;
1236
+ return { bcurve: {
1237
+ points: data.poles,
1238
+ knots: data.params.knots,
1239
+ order: data.params.order,
1240
+ closed: data.params.closed ? true : undefined,
1241
+ } };
1242
+ }
1294
1243
  /** Convert strongly typed instance to tagged json */
1295
1244
  handleBSplineCurve3d(curve) {
1296
- // ASSUME -- if the curve originated "closed" the knot and pole replication are unchanged,
1297
- // so first and last knots can be re-assigned, and last (degree - 1) poles can be deleted.
1298
- const wrapMode = curve.isClosable;
1299
- if (wrapMode === BSplineWrapMode.OpenByAddingControlPoints) {
1300
- const knots = curve.copyKnots(true);
1301
- const poles = curve.copyPoints();
1302
- const degree = curve.degree;
1303
- for (let i = 0; i < degree; i++)
1304
- poles.pop();
1305
- // knots have replicated first and last. Change the values to be periodic.
1306
- const leftIndex = degree;
1307
- const rightIndex = knots.length - degree - 1;
1308
- const knotPeriod = knots[rightIndex] - knots[leftIndex];
1309
- knots[0] = knots[rightIndex - degree] - knotPeriod;
1310
- knots[knots.length - 1] = knots[leftIndex + degree] + knotPeriod;
1311
- return {
1312
- bcurve: {
1313
- points: poles,
1314
- knots,
1315
- closed: true,
1316
- order: curve.order,
1317
- },
1318
- };
1319
- }
1320
- else if (curve.isClosable === BSplineWrapMode.OpenByRemovingKnots) {
1321
- // special case to re-close the case that originated as : a a0 a0 .. a0 knot0 knot1 knot2 ... b1 b1 .. b1 b
1322
- // with (order) copies of a0 and b1 (usually 0 and 1)
1323
- // and a,b are related to the interior knots
1324
- // (This is the "bezier saturated arc")
1325
- const rawKnots = curve.copyKnots(false); // unchanged knots . . .
1326
- const poles = curve.copyPoints();
1327
- const degree = curve.degree;
1328
- const leftIndex = degree - 1;
1329
- const rightIndex = rawKnots.length - degree;
1330
- const leftKnot = rawKnots[leftIndex];
1331
- const rightKnot = rawKnots[rightIndex];
1332
- const knotPeriod = rightKnot - leftKnot;
1333
- const knots = [];
1334
- knots.push(rawKnots[rightIndex - 1] - knotPeriod);
1335
- knots.push(leftKnot);
1336
- for (const k of rawKnots)
1337
- knots.push(k);
1338
- knots.push(rightKnot);
1339
- knots.push(rawKnots[leftIndex + 1] + knotPeriod);
1340
- return {
1341
- bcurve: {
1342
- points: poles,
1343
- knots,
1344
- closed: true,
1345
- order: curve.order,
1346
- },
1347
- };
1348
- }
1349
- else {
1350
- return {
1351
- bcurve: {
1352
- points: curve.copyPoints(),
1353
- knots: curve.copyKnots(true),
1354
- closed: false,
1355
- order: curve.order,
1356
- },
1357
- };
1358
- }
1245
+ return this.handleBSplineCurve(curve);
1359
1246
  }
1360
1247
  /** Convert strongly typed instance to tagged json */
1361
1248
  handleInterpolationCurve3d(curve) {
@@ -1379,93 +1266,17 @@ export var IModelJson;
1379
1266
  bcurve: {
1380
1267
  points: curve.copyPolesAsJsonArray(),
1381
1268
  knots,
1382
- closed: false,
1383
1269
  order: curve.order,
1384
1270
  },
1385
1271
  };
1386
1272
  }
1387
1273
  /** Convert strongly typed instance to tagged json */
1388
1274
  handleBSplineCurve3dH(curve) {
1389
- // ASSUME -- if the curve originated "closed" the knot and pole replication are unchanged,
1390
- // so first and last knots can be re-assigned, and last (degree - 1) poles can be deleted.
1391
- if (curve.isClosable) {
1392
- const knots = curve.copyKnots(true);
1393
- const poles = curve.copyPoints();
1394
- const degree = curve.degree;
1395
- for (let i = 0; i < degree; i++)
1396
- poles.pop();
1397
- // knots have replicated first and last. Change the values to be periodic.
1398
- const leftIndex = degree;
1399
- const rightIndex = knots.length - degree - 1;
1400
- const knotPeriod = knots[rightIndex] - knots[leftIndex];
1401
- knots[0] = knots[rightIndex - degree] - knotPeriod;
1402
- knots[knots.length - 1] = knots[leftIndex + degree] + knotPeriod;
1403
- return {
1404
- bcurve: {
1405
- points: poles,
1406
- knots,
1407
- closed: true,
1408
- order: curve.order,
1409
- },
1410
- };
1411
- }
1412
- else {
1413
- return {
1414
- bcurve: {
1415
- points: curve.copyPoints(),
1416
- knots: curve.copyKnots(true),
1417
- closed: false,
1418
- order: curve.order,
1419
- },
1420
- };
1421
- }
1275
+ return this.handleBSplineCurve(curve);
1422
1276
  }
1423
1277
  /** Convert strongly typed instance to tagged json */
1424
1278
  handleBSplineSurface3d(surface) {
1425
- // ASSUME -- if the curve originated "closed" the knot and pole replication are unchanged,
1426
- // so first and last knots can be re-assigned, and last (degree - 1) poles can be deleted.
1427
- const periodicU = surface.isClosable(0);
1428
- const periodicV = surface.isClosable(1);
1429
- if (periodicU || periodicV) {
1430
- let numUPoles = surface.numPolesUV(0);
1431
- let numVPoles = surface.numPolesUV(1);
1432
- if (periodicU)
1433
- numUPoles -= surface.degreeUV(0);
1434
- if (periodicV)
1435
- numVPoles -= surface.degreeUV(1);
1436
- const xyz = Point3d.create();
1437
- const grid = [];
1438
- for (let j = 0; j < numVPoles; j++) {
1439
- const stringer = [];
1440
- for (let i = 0; i < numUPoles; i++) {
1441
- surface.getPoint3dPole(i, j, xyz);
1442
- stringer.push([xyz.x, xyz.y, xyz.z]);
1443
- }
1444
- grid.push(stringer);
1445
- }
1446
- return {
1447
- bsurf: {
1448
- points: grid,
1449
- uKnots: surface.copyKnots(0, true),
1450
- vKnots: surface.copyKnots(1, true),
1451
- orderU: surface.orderUV(0),
1452
- orderV: surface.orderUV(1),
1453
- closedU: periodicU,
1454
- closedV: periodicV,
1455
- },
1456
- };
1457
- }
1458
- else {
1459
- return {
1460
- bsurf: {
1461
- points: surface.getPointArray(false),
1462
- uKnots: surface.copyKnots(0, true),
1463
- vKnots: surface.copyKnots(1, true),
1464
- orderU: surface.orderUV(0),
1465
- orderV: surface.orderUV(1),
1466
- },
1467
- };
1468
- }
1279
+ return this.handleBSplineSurface(surface);
1469
1280
  }
1470
1281
  /** Convert strongly typed instance to tagged json */
1471
1282
  handleBezierCurve3dH(curve) {
@@ -1479,23 +1290,34 @@ export var IModelJson;
1479
1290
  bcurve: {
1480
1291
  points: curve.copyPolesAsJsonArray(),
1481
1292
  knots,
1482
- closed: false,
1483
1293
  order: curve.order,
1484
1294
  },
1485
1295
  };
1486
1296
  }
1487
1297
  /** Convert strongly typed instance to tagged json */
1298
+ handleBSplineSurface(surface) {
1299
+ const data = SerializationHelpers.createBSplineSurfaceData(surface.coffs, surface.poleDimension, surface.knots[UVSelect.uDirection].knots, surface.numPolesUV(UVSelect.uDirection), surface.orderUV(UVSelect.uDirection), surface.knots[UVSelect.vDirection].knots, surface.numPolesUV(UVSelect.vDirection), surface.orderUV(UVSelect.vDirection));
1300
+ const wrapModeU = surface.getWrappable(UVSelect.uDirection);
1301
+ const wrapModeV = surface.getWrappable(UVSelect.vDirection);
1302
+ if (BSplineWrapMode.None !== wrapModeU)
1303
+ data.uParams.wrapMode = wrapModeU;
1304
+ if (BSplineWrapMode.None !== wrapModeV)
1305
+ data.vParams.wrapMode = wrapModeV;
1306
+ if (!SerializationHelpers.Export.prepareBSplineSurfaceData(data, { jsonPoles: true, jsonKnots: true }))
1307
+ return undefined;
1308
+ return { bsurf: {
1309
+ points: data.poles,
1310
+ uKnots: data.uParams.knots,
1311
+ vKnots: data.vParams.knots,
1312
+ orderU: data.uParams.order,
1313
+ orderV: data.vParams.order,
1314
+ closedU: data.uParams.closed ? true : undefined,
1315
+ closedV: data.vParams.closed ? true : undefined,
1316
+ } };
1317
+ }
1318
+ /** Convert strongly typed instance to tagged json */
1488
1319
  handleBSplineSurface3dH(surface) {
1489
- const data = surface.getPointGridJSON();
1490
- return {
1491
- bsurf: {
1492
- points: data.points,
1493
- uKnots: surface.copyKnots(0, true),
1494
- vKnots: surface.copyKnots(1, true),
1495
- orderU: surface.orderUV(0),
1496
- orderV: surface.orderUV(1),
1497
- },
1498
- };
1320
+ return this.handleBSplineSurface(surface);
1499
1321
  }
1500
1322
  /** Convert an array of strongly typed instances to an array of tagged json */
1501
1323
  emitArray(data) {