@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.
- package/lib/cjs/bspline/BSpline1dNd.d.ts +12 -2
- package/lib/cjs/bspline/BSpline1dNd.d.ts.map +1 -1
- package/lib/cjs/bspline/BSpline1dNd.js +27 -17
- package/lib/cjs/bspline/BSpline1dNd.js.map +1 -1
- package/lib/cjs/bspline/BSplineCurve.d.ts +30 -16
- package/lib/cjs/bspline/BSplineCurve.d.ts.map +1 -1
- package/lib/cjs/bspline/BSplineCurve.js +68 -44
- package/lib/cjs/bspline/BSplineCurve.js.map +1 -1
- package/lib/cjs/bspline/BSplineCurve3dH.d.ts +27 -20
- package/lib/cjs/bspline/BSplineCurve3dH.d.ts.map +1 -1
- package/lib/cjs/bspline/BSplineCurve3dH.js +136 -87
- package/lib/cjs/bspline/BSplineCurve3dH.js.map +1 -1
- package/lib/cjs/bspline/BSplineSurface.d.ts +138 -74
- package/lib/cjs/bspline/BSplineSurface.d.ts.map +1 -1
- package/lib/cjs/bspline/BSplineSurface.js +242 -119
- package/lib/cjs/bspline/BSplineSurface.js.map +1 -1
- package/lib/cjs/bspline/Bezier1dNd.d.ts +18 -4
- package/lib/cjs/bspline/Bezier1dNd.d.ts.map +1 -1
- package/lib/cjs/bspline/Bezier1dNd.js +19 -5
- package/lib/cjs/bspline/Bezier1dNd.js.map +1 -1
- package/lib/cjs/bspline/BezierCurve3dH.d.ts.map +1 -1
- package/lib/cjs/bspline/BezierCurve3dH.js +2 -1
- package/lib/cjs/bspline/BezierCurve3dH.js.map +1 -1
- package/lib/cjs/bspline/KnotVector.d.ts +30 -33
- package/lib/cjs/bspline/KnotVector.d.ts.map +1 -1
- package/lib/cjs/bspline/KnotVector.js +76 -69
- package/lib/cjs/bspline/KnotVector.js.map +1 -1
- package/lib/cjs/geometry3d/Matrix3d.d.ts +20 -13
- package/lib/cjs/geometry3d/Matrix3d.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Matrix3d.js +28 -21
- package/lib/cjs/geometry3d/Matrix3d.js.map +1 -1
- package/lib/cjs/geometry3d/Point3dVector3d.d.ts +3 -2
- package/lib/cjs/geometry3d/Point3dVector3d.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Point3dVector3d.js +6 -5
- package/lib/cjs/geometry3d/Point3dVector3d.js.map +1 -1
- package/lib/cjs/geometry3d/PointHelpers.d.ts +58 -20
- package/lib/cjs/geometry3d/PointHelpers.d.ts.map +1 -1
- package/lib/cjs/geometry3d/PointHelpers.js +213 -62
- package/lib/cjs/geometry3d/PointHelpers.js.map +1 -1
- package/lib/cjs/geometry3d/Transform.d.ts +2 -3
- package/lib/cjs/geometry3d/Transform.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Transform.js +2 -3
- package/lib/cjs/geometry3d/Transform.js.map +1 -1
- package/lib/cjs/geometry4d/Point4d.d.ts +13 -0
- package/lib/cjs/geometry4d/Point4d.d.ts.map +1 -1
- package/lib/cjs/geometry4d/Point4d.js +21 -0
- package/lib/cjs/geometry4d/Point4d.js.map +1 -1
- package/lib/cjs/numerics/BezierPolynomials.d.ts +88 -64
- package/lib/cjs/numerics/BezierPolynomials.d.ts.map +1 -1
- package/lib/cjs/numerics/BezierPolynomials.js +92 -73
- package/lib/cjs/numerics/BezierPolynomials.js.map +1 -1
- package/lib/cjs/numerics/PascalCoefficients.d.ts +8 -12
- package/lib/cjs/numerics/PascalCoefficients.d.ts.map +1 -1
- package/lib/cjs/numerics/PascalCoefficients.js +10 -12
- package/lib/cjs/numerics/PascalCoefficients.js.map +1 -1
- package/lib/cjs/serialization/BGFBReader.d.ts +10 -10
- package/lib/cjs/serialization/BGFBReader.d.ts.map +1 -1
- package/lib/cjs/serialization/BGFBReader.js +69 -42
- package/lib/cjs/serialization/BGFBReader.js.map +1 -1
- package/lib/cjs/serialization/BGFBWriter.d.ts +8 -8
- package/lib/cjs/serialization/BGFBWriter.d.ts.map +1 -1
- package/lib/cjs/serialization/BGFBWriter.js +80 -55
- package/lib/cjs/serialization/BGFBWriter.js.map +1 -1
- package/lib/cjs/serialization/GeometrySamples.d.ts.map +1 -1
- package/lib/cjs/serialization/GeometrySamples.js +6 -8
- package/lib/cjs/serialization/GeometrySamples.js.map +1 -1
- package/lib/cjs/serialization/IModelJsonSchema.d.ts +6 -14
- package/lib/cjs/serialization/IModelJsonSchema.d.ts.map +1 -1
- package/lib/cjs/serialization/IModelJsonSchema.js +84 -262
- package/lib/cjs/serialization/IModelJsonSchema.js.map +1 -1
- package/lib/cjs/serialization/SerializationHelpers.d.ts +109 -0
- package/lib/cjs/serialization/SerializationHelpers.d.ts.map +1 -0
- package/lib/cjs/serialization/SerializationHelpers.js +591 -0
- package/lib/cjs/serialization/SerializationHelpers.js.map +1 -0
- package/lib/esm/bspline/BSpline1dNd.d.ts +12 -2
- package/lib/esm/bspline/BSpline1dNd.d.ts.map +1 -1
- package/lib/esm/bspline/BSpline1dNd.js +27 -17
- package/lib/esm/bspline/BSpline1dNd.js.map +1 -1
- package/lib/esm/bspline/BSplineCurve.d.ts +30 -16
- package/lib/esm/bspline/BSplineCurve.d.ts.map +1 -1
- package/lib/esm/bspline/BSplineCurve.js +68 -44
- package/lib/esm/bspline/BSplineCurve.js.map +1 -1
- package/lib/esm/bspline/BSplineCurve3dH.d.ts +27 -20
- package/lib/esm/bspline/BSplineCurve3dH.d.ts.map +1 -1
- package/lib/esm/bspline/BSplineCurve3dH.js +137 -88
- package/lib/esm/bspline/BSplineCurve3dH.js.map +1 -1
- package/lib/esm/bspline/BSplineSurface.d.ts +138 -74
- package/lib/esm/bspline/BSplineSurface.d.ts.map +1 -1
- package/lib/esm/bspline/BSplineSurface.js +242 -119
- package/lib/esm/bspline/BSplineSurface.js.map +1 -1
- package/lib/esm/bspline/Bezier1dNd.d.ts +18 -4
- package/lib/esm/bspline/Bezier1dNd.d.ts.map +1 -1
- package/lib/esm/bspline/Bezier1dNd.js +19 -5
- package/lib/esm/bspline/Bezier1dNd.js.map +1 -1
- package/lib/esm/bspline/BezierCurve3dH.d.ts.map +1 -1
- package/lib/esm/bspline/BezierCurve3dH.js +2 -1
- package/lib/esm/bspline/BezierCurve3dH.js.map +1 -1
- package/lib/esm/bspline/KnotVector.d.ts +30 -33
- package/lib/esm/bspline/KnotVector.d.ts.map +1 -1
- package/lib/esm/bspline/KnotVector.js +76 -69
- package/lib/esm/bspline/KnotVector.js.map +1 -1
- package/lib/esm/geometry3d/Matrix3d.d.ts +20 -13
- package/lib/esm/geometry3d/Matrix3d.d.ts.map +1 -1
- package/lib/esm/geometry3d/Matrix3d.js +28 -21
- package/lib/esm/geometry3d/Matrix3d.js.map +1 -1
- package/lib/esm/geometry3d/Point3dVector3d.d.ts +3 -2
- package/lib/esm/geometry3d/Point3dVector3d.d.ts.map +1 -1
- package/lib/esm/geometry3d/Point3dVector3d.js +6 -5
- package/lib/esm/geometry3d/Point3dVector3d.js.map +1 -1
- package/lib/esm/geometry3d/PointHelpers.d.ts +58 -20
- package/lib/esm/geometry3d/PointHelpers.d.ts.map +1 -1
- package/lib/esm/geometry3d/PointHelpers.js +213 -62
- package/lib/esm/geometry3d/PointHelpers.js.map +1 -1
- package/lib/esm/geometry3d/Transform.d.ts +2 -3
- package/lib/esm/geometry3d/Transform.d.ts.map +1 -1
- package/lib/esm/geometry3d/Transform.js +2 -3
- package/lib/esm/geometry3d/Transform.js.map +1 -1
- package/lib/esm/geometry4d/Point4d.d.ts +13 -0
- package/lib/esm/geometry4d/Point4d.d.ts.map +1 -1
- package/lib/esm/geometry4d/Point4d.js +21 -0
- package/lib/esm/geometry4d/Point4d.js.map +1 -1
- package/lib/esm/numerics/BezierPolynomials.d.ts +88 -64
- package/lib/esm/numerics/BezierPolynomials.d.ts.map +1 -1
- package/lib/esm/numerics/BezierPolynomials.js +92 -73
- package/lib/esm/numerics/BezierPolynomials.js.map +1 -1
- package/lib/esm/numerics/PascalCoefficients.d.ts +8 -12
- package/lib/esm/numerics/PascalCoefficients.d.ts.map +1 -1
- package/lib/esm/numerics/PascalCoefficients.js +10 -12
- package/lib/esm/numerics/PascalCoefficients.js.map +1 -1
- package/lib/esm/serialization/BGFBReader.d.ts +10 -10
- package/lib/esm/serialization/BGFBReader.d.ts.map +1 -1
- package/lib/esm/serialization/BGFBReader.js +69 -42
- package/lib/esm/serialization/BGFBReader.js.map +1 -1
- package/lib/esm/serialization/BGFBWriter.d.ts +8 -8
- package/lib/esm/serialization/BGFBWriter.d.ts.map +1 -1
- package/lib/esm/serialization/BGFBWriter.js +80 -55
- package/lib/esm/serialization/BGFBWriter.js.map +1 -1
- package/lib/esm/serialization/GeometrySamples.d.ts.map +1 -1
- package/lib/esm/serialization/GeometrySamples.js +7 -9
- package/lib/esm/serialization/GeometrySamples.js.map +1 -1
- package/lib/esm/serialization/IModelJsonSchema.d.ts +6 -14
- package/lib/esm/serialization/IModelJsonSchema.d.ts.map +1 -1
- package/lib/esm/serialization/IModelJsonSchema.js +85 -263
- package/lib/esm/serialization/IModelJsonSchema.js.map +1 -1
- package/lib/esm/serialization/SerializationHelpers.d.ts +109 -0
- package/lib/esm/serialization/SerializationHelpers.d.ts.map +1 -0
- package/lib/esm/serialization/SerializationHelpers.js +588 -0
- package/lib/esm/serialization/SerializationHelpers.js.map +1 -0
- package/package.json +3 -3
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @module Bspline
|
|
3
3
|
*/
|
|
4
4
|
import { GeometryQuery } from "../curve/GeometryQuery";
|
|
5
|
-
import { GeometryHandler } from "../geometry3d/GeometryHandler";
|
|
5
|
+
import { GeometryHandler, UVSurface } from "../geometry3d/GeometryHandler";
|
|
6
6
|
import { Plane3dByOriginAndUnitNormal } from "../geometry3d/Plane3dByOriginAndUnitNormal";
|
|
7
7
|
import { Plane3dByOriginAndVectors } from "../geometry3d/Plane3dByOriginAndVectors";
|
|
8
8
|
import { Point3d } from "../geometry3d/Point3dVector3d";
|
|
@@ -17,14 +17,19 @@ import { BSplineWrapMode, KnotVector } from "./KnotVector";
|
|
|
17
17
|
export declare enum UVSelect {
|
|
18
18
|
/** index of u direction */
|
|
19
19
|
uDirection = 0,
|
|
20
|
+
/**
|
|
21
|
+
* index of v direction
|
|
22
|
+
* @deprecated in 4.x. Use vDirection instead.
|
|
23
|
+
*/
|
|
24
|
+
VDirection = 1,
|
|
20
25
|
/** index of v direction */
|
|
21
|
-
|
|
26
|
+
vDirection = 1
|
|
22
27
|
}
|
|
23
28
|
/**
|
|
24
29
|
* Enumeration of how weights are carried
|
|
25
30
|
* * UnWeighted (0) -- there are no weights
|
|
26
|
-
* * WeightsAlreadyAppliedToCoordinates (1) -- for real point (x,y,z) the homogeneous point
|
|
27
|
-
* * WeightsSeparateFromCoordinates (2) -- for real point (x,y,z) the homogeneous point is (x,y,z,w)
|
|
31
|
+
* * WeightsAlreadyAppliedToCoordinates (1) -- for real point (x,y,z) the homogeneous point (wx,wy,wx,w) is stored as (wx,wy,wz,w)
|
|
32
|
+
* * WeightsSeparateFromCoordinates (2) -- for real point (x,y,z) the homogeneous point (wx,wy,wx,w) is stored as (x,y,z,w)
|
|
28
33
|
* * Note that "internal" computations never use WeightsSeparateFromCoordinates.
|
|
29
34
|
* * WeightsSeparateFromCoordinates is only useful as input or output state in serializer.
|
|
30
35
|
* @public
|
|
@@ -33,13 +38,13 @@ export declare enum WeightStyle {
|
|
|
33
38
|
/** There are no weights. */
|
|
34
39
|
UnWeighted = 0,
|
|
35
40
|
/**
|
|
36
|
-
* * Data is weighted
|
|
37
|
-
* * point with normalized coordinate `[x,y,z]` and weight `w`
|
|
41
|
+
* * Data is weighted.
|
|
42
|
+
* * The point with normalized coordinate `[x,y,z]` and weight `w` is stored as `[x*w,y*w,z*w,w]`
|
|
38
43
|
* */
|
|
39
44
|
WeightsAlreadyAppliedToCoordinates = 1,
|
|
40
45
|
/**
|
|
41
|
-
* * Data is weighted
|
|
42
|
-
* * point with normalized coordinate `[x,y,z]` and weight `w`
|
|
46
|
+
* * Data is weighted.
|
|
47
|
+
* * The point with normalized coordinate `[x,y,z]` and weight `w` is stored as `[x,y,z,w]`
|
|
43
48
|
* */
|
|
44
49
|
WeightsSeparateFromCoordinates = 2
|
|
45
50
|
}
|
|
@@ -76,7 +81,7 @@ export interface BSplineSurface3dQuery {
|
|
|
76
81
|
* * y column is a unit vector in the direction of the v derivative
|
|
77
82
|
* * z direction is the surface normal
|
|
78
83
|
*/
|
|
79
|
-
fractionToRigidFrame(uFraction: number, vFraction: number): Transform | undefined;
|
|
84
|
+
fractionToRigidFrame(uFraction: number, vFraction: number, result?: Transform): Transform | undefined;
|
|
80
85
|
/** Evaluate xyz coordinates at knot values (uKnot, vKnot) */
|
|
81
86
|
knotToPoint(uKnot: number, vKnot: number): Point3d;
|
|
82
87
|
/** apply a transform to the surface */
|
|
@@ -128,12 +133,6 @@ export interface BSplineSurface3dQuery {
|
|
|
128
133
|
* @param select 0 for u, 1 for v
|
|
129
134
|
*/
|
|
130
135
|
poleStepUV(select: UVSelect): number;
|
|
131
|
-
/**
|
|
132
|
-
* evaluate the surface at u and v fractions. Return a (squared, right handed) coordinate frame at that point on the surface.
|
|
133
|
-
* @param fractionU u parameter
|
|
134
|
-
* @param fractionV v parameter
|
|
135
|
-
* @param result undefined if surface derivatives are parallel (or either alone is zero)
|
|
136
|
-
*/
|
|
137
136
|
/**
|
|
138
137
|
* Return control points json arrays.
|
|
139
138
|
* * Each row of points is an an array.
|
|
@@ -151,7 +150,7 @@ export declare abstract class BSpline2dNd extends GeometryQuery {
|
|
|
151
150
|
readonly geometryCategory = "bsurf";
|
|
152
151
|
/** Array of (exactly 2) knot vectors for the u, v directions */
|
|
153
152
|
knots: KnotVector[];
|
|
154
|
-
/** flat array of coordinate
|
|
153
|
+
/** flat array of coordinate data, blocked by poleDimension and row */
|
|
155
154
|
coffs: Float64Array;
|
|
156
155
|
/** Number of components per pole.
|
|
157
156
|
* * 3 for conventional xyz surface
|
|
@@ -173,14 +172,24 @@ export declare abstract class BSpline2dNd extends GeometryQuery {
|
|
|
173
172
|
poleStepUV(select: UVSelect): number;
|
|
174
173
|
/** Confirm that order and pole counts agree for both u and v directions */
|
|
175
174
|
static validOrderAndPoleCounts(orderU: number, numPolesU: number, orderV: number, numPolesV: number, numUV: number): boolean;
|
|
176
|
-
/** Get the Point3d
|
|
175
|
+
/** Get the indexed Point3d.
|
|
177
176
|
* * (IMPORTANT) This assumes this is an xyz surface. Data will be incorrect if this is an xyzw surface.
|
|
177
|
+
* @param i index in [0, numPolesU)
|
|
178
|
+
* @param j index in [0, numPolesV)
|
|
178
179
|
*/
|
|
179
180
|
getPoint3dPole(i: number, j: number, result?: Point3d): Point3d | undefined;
|
|
180
|
-
/** Get the Point3d
|
|
181
|
+
/** Get the indexed Point3d, projecting the weight away to get to xyz.
|
|
181
182
|
* * (IMPORTANT) This assumes this is an xyzw surface. Data will be incorrect if this is an xyz surface.
|
|
183
|
+
* @param i index in [0, numPolesU)
|
|
184
|
+
* @param j index in [0, numPolesV)
|
|
182
185
|
*/
|
|
183
186
|
getPoint3dPoleXYZW(i: number, j: number, result?: Point3d): Point3d | undefined;
|
|
187
|
+
/** Get the indexed Point4d.
|
|
188
|
+
* * (IMPORTANT) This assumes this is an xyzw surface. Data will be incorrect if this is an xyz surface.
|
|
189
|
+
* @param i index in [0, numPolesU)
|
|
190
|
+
* @param j index in [0, numPolesV)
|
|
191
|
+
*/
|
|
192
|
+
getPoint4dPole(i: number, j: number, result?: Point4d): Point4d | undefined;
|
|
184
193
|
/**
|
|
185
194
|
* Return 0 for 0 input, 1 for any nonzero input.
|
|
186
195
|
* @param value numeric value to convert to strict 0 or 1.
|
|
@@ -231,12 +240,18 @@ export declare abstract class BSpline2dNd extends GeometryQuery {
|
|
|
231
240
|
* * choice of u or v
|
|
232
241
|
* * span index
|
|
233
242
|
* * local fraction within the span.
|
|
243
|
+
* @returns true if and only if output arrays are sufficiently sized
|
|
234
244
|
*/
|
|
235
|
-
spanFractionsToBasisFunctions(select: UVSelect, spanIndex: number, spanFraction: number, f: Float64Array, df?: Float64Array):
|
|
245
|
+
spanFractionsToBasisFunctions(select: UVSelect, spanIndex: number, spanFraction: number, f: Float64Array, df?: Float64Array): boolean;
|
|
236
246
|
/** sum poles by the weights in the basisBuffer, using poles for given span */
|
|
237
247
|
sumPoleBufferForSpan(spanIndexU: number, spanIndexV: number): void;
|
|
238
|
-
/**
|
|
248
|
+
/**
|
|
249
|
+
* sum poles by the weights in the basisBuffer, using poles for given span
|
|
250
|
+
* @deprecated in 4.x. Use sumPoleBufferDerivativesForSpan instead.
|
|
251
|
+
*/
|
|
239
252
|
sumpoleBufferDerivativesForSpan(spanIndexU: number, spanIndexV: number): void;
|
|
253
|
+
/** sum derivatives by the weights in the basisBuffer, using poles for given span */
|
|
254
|
+
sumPoleBufferDerivativesForSpan(spanIndexU: number, spanIndexV: number): void;
|
|
240
255
|
/**
|
|
241
256
|
* Evaluate the _basisBuffer, _poleBuffer and (optionally) _basisBuffer1 and _poleBuffer1 arrays at given knot.
|
|
242
257
|
*
|
|
@@ -252,15 +267,42 @@ export declare abstract class BSpline2dNd extends GeometryQuery {
|
|
|
252
267
|
*/
|
|
253
268
|
reverseInPlace(select: UVSelect): void;
|
|
254
269
|
/**
|
|
255
|
-
*
|
|
270
|
+
* Get the flag indicating the surface might be suitable for having wrapped "closed" interpretation.
|
|
271
|
+
*/
|
|
272
|
+
getWrappable(select: UVSelect): BSplineWrapMode;
|
|
273
|
+
/**
|
|
274
|
+
* Set the flag indicating the surface might be suitable for having wrapped "closed" interpretation.
|
|
256
275
|
*/
|
|
257
276
|
setWrappable(select: UVSelect, value: BSplineWrapMode): void;
|
|
258
277
|
/**
|
|
259
|
-
* Test if
|
|
278
|
+
* Test if leading and trailing blocks of points match in a given direction.
|
|
279
|
+
* @param data packed array of points in row-major order (numRows x numColumns x dimension numbers)
|
|
280
|
+
* @param numRows number of rows of points in the array
|
|
281
|
+
* @param numColumns number of columns of points in the array (equal to the number of points in each row)
|
|
282
|
+
* @param dimension point dimension (e.g., 2,3,4)
|
|
283
|
+
* @param blockLength number of leading/trailing points to check
|
|
284
|
+
* @param select 0 to test first/last columns of points; 1 to test first/last rows of points
|
|
285
|
+
* @returns true if coordinates matched
|
|
286
|
+
*/
|
|
287
|
+
static isWrappedGrid(data: Float64Array, numRows: number, numColumns: number, dimension: number, blockLength: number, select: UVSelect): boolean;
|
|
288
|
+
/**
|
|
289
|
+
* Test if `degree` leading and trailing (one of U or V) blocks match, as if the data is a non-periodic physically closed spline in the selected direction.
|
|
260
290
|
* @param select select U or V direction
|
|
261
291
|
* @returns true if coordinates matched.
|
|
262
292
|
*/
|
|
293
|
+
testClosableGrid(select: UVSelect, mode?: BSplineWrapMode): boolean;
|
|
294
|
+
/**
|
|
295
|
+
* Test knots and control points to determine if it is possible to close (aka "wrap") the surface in the selected parametric direction.
|
|
296
|
+
* @param select select U or V direction
|
|
297
|
+
* @return whether the surface can be wrapped in the given parametric direction.
|
|
298
|
+
*/
|
|
263
299
|
isClosable(select: UVSelect): boolean;
|
|
300
|
+
/**
|
|
301
|
+
* Test knots and control points to determine if it is possible to close (aka "wrap") the surface in the selected parametric direction.
|
|
302
|
+
* @param select select U or V direction
|
|
303
|
+
* @return the manner of closing. See `BSplineWrapMode` for particulars of each mode.
|
|
304
|
+
*/
|
|
305
|
+
isClosableSurface(select: UVSelect): BSplineWrapMode;
|
|
264
306
|
}
|
|
265
307
|
/** BSplineSurface3d is a parametric surface in xyz space.
|
|
266
308
|
* * This (BSplineSurface3d) is an unweighted surface. Use the separate class BSplineSurface3dH for a weighted surface.
|
|
@@ -271,7 +313,7 @@ export declare abstract class BSpline2dNd extends GeometryQuery {
|
|
|
271
313
|
* | createGrid | array of array of [x,y,z ] | There are no `numPolesU` or `numPolesV` args. The counts are conveyed by the deep arrays |
|
|
272
314
|
* @public
|
|
273
315
|
*/
|
|
274
|
-
export declare class BSplineSurface3d extends BSpline2dNd implements BSplineSurface3dQuery {
|
|
316
|
+
export declare class BSplineSurface3d extends BSpline2dNd implements BSplineSurface3dQuery, UVSurface {
|
|
275
317
|
/** Test if `other` is an instance of `BSplineSurface3d */
|
|
276
318
|
isSameGeometryClass(other: any): boolean;
|
|
277
319
|
/** Apply the transform to the poles */
|
|
@@ -298,41 +340,41 @@ export declare class BSplineSurface3d extends BSpline2dNd implements BSplineSurf
|
|
|
298
340
|
* in classic over-clamped manner
|
|
299
341
|
*/
|
|
300
342
|
copyKnots(select: UVSelect, includeExtraEndKnot: boolean): number[];
|
|
301
|
-
/**
|
|
343
|
+
/**
|
|
344
|
+
* Create a bspline surface.
|
|
302
345
|
* * This `create` variant takes control points in a "flattened" array, with
|
|
303
346
|
* points from succeeding U rows packed together in one array. Use `createGrid` if the points are in
|
|
304
347
|
* a row-by-row grid structure
|
|
305
348
|
* * knotArrayU and knotArrayV are optional -- uniform knots are implied if they are omitted (undefined).
|
|
306
|
-
* *
|
|
307
|
-
*
|
|
349
|
+
* * When knots are given, two knot count conditions are recognized:
|
|
350
|
+
* * If poleArray.length + order == knotArray.length, the first and last are assumed to be the
|
|
308
351
|
* extraneous knots of classic clamping.
|
|
309
|
-
*
|
|
352
|
+
* * If poleArray.length + order == knotArray.length + 2, the knots are in modern form that does not have
|
|
310
353
|
* the classic unused first and last knot.
|
|
311
354
|
* @param controlPointArray Array of points, ordered along the U direction.
|
|
312
|
-
* @param numPoleU number of poles in each row
|
|
355
|
+
* @param numPoleU number of poles in each row
|
|
313
356
|
* @param orderU order for the U direction polynomial (`order` is one more than the `degree`. "cubic" polynomial is order 4.)
|
|
314
|
-
* @param
|
|
315
|
-
* @param numPoleV number of
|
|
357
|
+
* @param knotArrayU knots for the V direction. See note above about knot counts.
|
|
358
|
+
* @param numPoleV number of rows of poles
|
|
316
359
|
* @param orderV order for the V direction polynomial (`order` is one more than the `degree`. "cubic" polynomial is order 4.)
|
|
317
|
-
* @param
|
|
360
|
+
* @param knotArrayV knots for the V direction. See note above about knot counts.
|
|
318
361
|
*/
|
|
319
362
|
static create(controlPointArray: Point3d[] | Float64Array, numPolesU: number, orderU: number, knotArrayU: number[] | Float64Array | undefined, numPolesV: number, orderV: number, knotArrayV: number[] | Float64Array | undefined): BSplineSurface3d | undefined;
|
|
320
|
-
/**
|
|
363
|
+
/**
|
|
364
|
+
* Create a bspline surface.
|
|
321
365
|
* * This `create` variant takes control points in a "grid" array, with the points from
|
|
322
|
-
*
|
|
366
|
+
* each grid row `[rowIndex]` being an independent array `points[rowIndex][indexAlongRow][x,y,z]`
|
|
323
367
|
* * knotArrayU and knotArrayV are optional -- uniform knots are implied if they are omitted (undefined).
|
|
324
|
-
* *
|
|
325
|
-
*
|
|
368
|
+
* * When knots are given, two knot count conditions are recognized in each direction:
|
|
369
|
+
* * If poleArray.length + order == knotArray.length, the first and last are assumed to be the
|
|
326
370
|
* extraneous knots of classic clamping.
|
|
327
|
-
*
|
|
371
|
+
* * If poleArray.length + order == knotArray.length + 2, the knots are in modern form that does not have
|
|
328
372
|
* the classic unused first and last knot.
|
|
329
|
-
* @param
|
|
330
|
-
* @param numPoleU number of poles in each row in the U direction.
|
|
373
|
+
* @param points Array of points, ordered along the U direction.
|
|
331
374
|
* @param orderU order for the U direction polynomial (`order` is one more than the `degree`. "cubic" polynomial is order 4.)
|
|
332
|
-
* @param
|
|
333
|
-
* @param numPoleV number of poles in each row in the U direction.
|
|
375
|
+
* @param knotArrayU knots for the V direction. See note above about knot counts.
|
|
334
376
|
* @param orderV order for the V direction polynomial (`order` is one more than the `degree`. "cubic" polynomial is order 4.)
|
|
335
|
-
* @param
|
|
377
|
+
* @param knotArrayV knots for the V direction. See note above about knot counts.
|
|
336
378
|
*/
|
|
337
379
|
static createGrid(points: number[][][], orderU: number, knotArrayU: number[] | Float64Array | undefined, orderV: number, knotArrayV: number[] | Float64Array | undefined): BSplineSurface3d | undefined;
|
|
338
380
|
/**
|
|
@@ -367,6 +409,10 @@ export declare class BSplineSurface3d extends BSpline2dNd implements BSplineSurf
|
|
|
367
409
|
* @returns Returns point and derivative directions.
|
|
368
410
|
*/
|
|
369
411
|
fractionToPointAndDerivatives(fractionU: number, fractionV: number, result?: Plane3dByOriginAndVectors): Plane3dByOriginAndVectors;
|
|
412
|
+
/** Implementation of the UVSurface interface; allows `PolyfaceBuilder.addUVGridBody` to facet this B-spline surface. */
|
|
413
|
+
uvFractionToPoint(u: number, v: number): Point3d;
|
|
414
|
+
/** Implementation of the UVSurface interface; allows `PolyfaceBuilder.addUVGridBody` to facet this B-spline surface. */
|
|
415
|
+
uvFractionToPointAndTangents(u: number, v: number, result?: Plane3dByOriginAndVectors): Plane3dByOriginAndVectors;
|
|
370
416
|
/** test for identical counts and near-equal coordinates */
|
|
371
417
|
isAlmostEqual(other: any): boolean;
|
|
372
418
|
/** Test if all poles are in a plane */
|
|
@@ -381,7 +427,7 @@ export declare class BSplineSurface3d extends BSpline2dNd implements BSplineSurf
|
|
|
381
427
|
/** BSpline Surface in xyzw homogeneous space
|
|
382
428
|
* @public
|
|
383
429
|
*/
|
|
384
|
-
export declare class BSplineSurface3dH extends BSpline2dNd implements BSplineSurface3dQuery {
|
|
430
|
+
export declare class BSplineSurface3dH extends BSpline2dNd implements BSplineSurface3dQuery, UVSurface {
|
|
385
431
|
/** Test if `other` is an instance of `BSplineSurface3dH */
|
|
386
432
|
isSameGeometryClass(other: any): boolean;
|
|
387
433
|
/** Apply the transform to the poles */
|
|
@@ -389,14 +435,21 @@ export declare class BSplineSurface3dH extends BSpline2dNd implements BSplineSur
|
|
|
389
435
|
/** Return a pole by u and v indices */
|
|
390
436
|
getPole(i: number, j: number, result?: Point3d): Point3d | undefined;
|
|
391
437
|
private constructor();
|
|
392
|
-
/**
|
|
438
|
+
/** Unpack the control points to a Point4d array of form [wx,wy,wz,w]. */
|
|
393
439
|
copyPoints4d(): Point4d[];
|
|
394
|
-
/**
|
|
440
|
+
/**
|
|
441
|
+
* Unpack the control points to a Point3d array and an array of weights.
|
|
442
|
+
* @param points output xyz, weighted by default formatter
|
|
443
|
+
* @param weights output weights
|
|
444
|
+
* @param formatter optional xyz formatter. By default, returns a Point3d of form [wx,wy,wz].
|
|
445
|
+
*/
|
|
395
446
|
copyPointsAndWeights(points: Point3d[], weights: number[], formatter?: (x: number, y: number, z: number) => any): void;
|
|
396
|
-
/**
|
|
447
|
+
/**
|
|
448
|
+
* Copy the control points to a packed 3D array.
|
|
449
|
+
* @param unweight if true, output array has form x,y,z; if false, output array has form wx,wy,wz.
|
|
397
450
|
*/
|
|
398
451
|
copyXYZToFloat64Array(unweight: boolean): Float64Array;
|
|
399
|
-
/** unpack from xyzw xyzw ... to packed
|
|
452
|
+
/** unpack from xyzw xyzw ... to packed weights
|
|
400
453
|
*/
|
|
401
454
|
copyWeightsToFloat64Array(): Float64Array;
|
|
402
455
|
/**
|
|
@@ -404,36 +457,43 @@ export declare class BSplineSurface3dH extends BSpline2dNd implements BSplineSur
|
|
|
404
457
|
* in classic over-clamped manner
|
|
405
458
|
*/
|
|
406
459
|
copyKnots(select: UVSelect, includeExtraEndKnot: boolean): number[];
|
|
407
|
-
/**
|
|
408
|
-
*
|
|
409
|
-
*
|
|
410
|
-
* a deeper grid array structure.
|
|
460
|
+
/**
|
|
461
|
+
* Create a weighted bspline surface, with control points and weights each organized as flattened arrays continuing from one U row to the next.
|
|
462
|
+
* * Use `createGrid` if the control points are in a deeper grid array structure.
|
|
411
463
|
* * knotArrayU and knotArrayV are optional -- uniform knots are implied if they are omitted (undefined).
|
|
412
|
-
* *
|
|
413
|
-
*
|
|
464
|
+
* * When knots are given, two knot count conditions are recognized:
|
|
465
|
+
* * If poleArray.length + order == knotArray.length, the first and last are assumed to be the
|
|
414
466
|
* extraneous knots of classic clamping.
|
|
415
|
-
*
|
|
467
|
+
* * If poleArray.length + order == knotArray.length + 2, the knots are in modern form that does not have
|
|
416
468
|
* the classic unused first and last knot.
|
|
417
|
-
* @param controlPointArray Array of points, ordered along the U direction.
|
|
418
|
-
* @param weightArray array of weights, ordered along the U direction.
|
|
419
|
-
* @param
|
|
469
|
+
* @param controlPointArray Array of [wx,wy,wz] points, ordered along the U direction.
|
|
470
|
+
* @param weightArray array of weights, ordered along the U direction. If undefined, unit weights are installed.
|
|
471
|
+
* @param numPolesU number of poles in each row in the U direction.
|
|
420
472
|
* @param orderU order for the U direction polynomial (`order` is one more than the `degree`. "cubic" polynomial is order 4.)
|
|
421
|
-
* @param
|
|
422
|
-
* @param
|
|
473
|
+
* @param knotArrayU optional knots for the V direction. See note above about knot counts.
|
|
474
|
+
* @param numPolesV number of poles in each column in the V direction (the number of rows).
|
|
423
475
|
* @param orderV order for the V direction polynomial (`order` is one more than the `degree`. "cubic" polynomial is order 4.)
|
|
424
|
-
* @param
|
|
476
|
+
* @param knotArrayV optional knots for the V direction. See note above about knot counts.
|
|
425
477
|
*/
|
|
426
|
-
static create(controlPointArray: Point3d[] | Float64Array, weightArray: number[] | Float64Array, numPolesU: number, orderU: number, knotArrayU: number[] | Float64Array | undefined, numPolesV: number, orderV: number, knotArrayV: number[] | Float64Array | undefined): BSplineSurface3dH | undefined;
|
|
427
|
-
/**
|
|
428
|
-
*
|
|
429
|
-
*
|
|
430
|
-
*
|
|
431
|
-
*
|
|
478
|
+
static create(controlPointArray: Point3d[] | Float64Array, weightArray: number[] | Float64Array | undefined, numPolesU: number, orderU: number, knotArrayU: number[] | Float64Array | undefined, numPolesV: number, orderV: number, knotArrayV: number[] | Float64Array | undefined): BSplineSurface3dH | undefined;
|
|
479
|
+
/**
|
|
480
|
+
* Create a bspline surface with given knots.
|
|
481
|
+
* * This `create` variant takes control points in a "grid" array, with the points from
|
|
482
|
+
* each grid row `[rowIndex]` being an independent array `points[rowIndex][indexAlongRow][x,y,z,w]`
|
|
483
|
+
* * knotArrayU and knotArrayV are optional -- uniform knots are implied if they are omitted (undefined).
|
|
484
|
+
* * When knots are given, two count conditions are recognized in each direction:
|
|
485
|
+
* * If poleArray.length + order == knotArray.length, the first and last are assumed to be the
|
|
432
486
|
* extraneous knots of classic clamping.
|
|
433
|
-
*
|
|
434
|
-
*
|
|
487
|
+
* * If poleArray.length + order == knotArray.length + 2, the knots are in modern form that does not have
|
|
488
|
+
* the classic unused first and last knot.
|
|
489
|
+
* @param xyzwGrid Array of points, ordered along the U direction.
|
|
490
|
+
* @param weightStyle how the points are weighted
|
|
491
|
+
* @param orderU order for the U direction polynomial (`order` is one more than the `degree`. "cubic" polynomial is order 4.)
|
|
492
|
+
* @param knotArrayU knots for the V direction. See note above about knot counts.
|
|
493
|
+
* @param orderV order for the V direction polynomial (`order` is one more than the `degree`. "cubic" polynomial is order 4.)
|
|
494
|
+
* @param knotArrayV knots for the V direction. See note above about knot counts.
|
|
435
495
|
*/
|
|
436
|
-
static createGrid(xyzwGrid: number[][][], weightStyle: WeightStyle, orderU: number, knotArrayU: number[], orderV: number, knotArrayV: number[]): BSplineSurface3dH | undefined;
|
|
496
|
+
static createGrid(xyzwGrid: number[][][], weightStyle: WeightStyle, orderU: number, knotArrayU: number[] | Float64Array | undefined, orderV: number, knotArrayV: number[] | Float64Array | undefined): BSplineSurface3dH | undefined;
|
|
437
497
|
/** Return a deep clone */
|
|
438
498
|
clone(): BSplineSurface3dH;
|
|
439
499
|
/** Return a transformed clone */
|
|
@@ -444,15 +504,15 @@ export declare class BSplineSurface3dH extends BSpline2dNd implements BSplineSur
|
|
|
444
504
|
* * Within the array for each row, each point is an array [wx,wy,wz,w].
|
|
445
505
|
*/
|
|
446
506
|
getPointGridJSON(): PackedPointGrid;
|
|
447
|
-
/** Evaluate at a position given by a knot value.
|
|
448
|
-
knotToPoint4d(u: number, v: number): Point4d;
|
|
507
|
+
/** Evaluate at a position given by a knot value. If deweight fails, returns 000. */
|
|
508
|
+
knotToPoint4d(u: number, v: number, result?: Point4d): Point4d;
|
|
449
509
|
/** Evaluate at a position given by a knot value. */
|
|
450
510
|
knotToPointAndDerivatives(u: number, v: number, result?: Plane3dByOriginAndVectors): Plane3dByOriginAndVectors;
|
|
451
|
-
/** Evaluate the Point4d (leaving weights in the point) at given fractional coordinates. */
|
|
452
|
-
fractionToPoint4d(fractionU: number, fractionV: number): Point4d;
|
|
511
|
+
/** Evaluate the Point4d (leaving weights in the point) at given fractional coordinates. If deweight fails, returns 000. */
|
|
512
|
+
fractionToPoint4d(fractionU: number, fractionV: number, result?: Point4d): Point4d;
|
|
453
513
|
/**
|
|
454
|
-
*
|
|
455
|
-
* *
|
|
514
|
+
* Evaluate the surface and return the Cartesian point (weight = 1).
|
|
515
|
+
* * If the surface XYZW point has weight 0, returns 000.
|
|
456
516
|
* @param fractionU u direction fraction
|
|
457
517
|
* @param fractionV v direction fraction
|
|
458
518
|
* @param result optional result
|
|
@@ -475,6 +535,10 @@ export declare class BSplineSurface3dH extends BSpline2dNd implements BSplineSur
|
|
|
475
535
|
* @returns Returns point and derivative directions.
|
|
476
536
|
*/
|
|
477
537
|
fractionToPointAndDerivatives(fractionU: number, fractionV: number, result?: Plane3dByOriginAndVectors): Plane3dByOriginAndVectors;
|
|
538
|
+
/** Implementation of the UVSurface interface; allows `PolyfaceBuilder.addUVGridBody` to facet this B-spline surface. */
|
|
539
|
+
uvFractionToPoint(u: number, v: number): Point3d;
|
|
540
|
+
/** Implementation of the UVSurface interface; allows `PolyfaceBuilder.addUVGridBody` to facet this B-spline surface. */
|
|
541
|
+
uvFractionToPointAndTangents(u: number, v: number, result?: Plane3dByOriginAndVectors): Plane3dByOriginAndVectors;
|
|
478
542
|
/** test for identical counts and near-equal coordinates */
|
|
479
543
|
isAlmostEqual(other: any): boolean;
|
|
480
544
|
/** Test if all poles are in a plane */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BSplineSurface.d.ts","sourceRoot":"","sources":["../../../src/bspline/BSplineSurface.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"BSplineSurface.d.ts","sourceRoot":"","sources":["../../../src/bspline/BSplineSurface.ts"],"names":[],"mappings":"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"}
|