@itwin/core-geometry 3.5.0 → 3.6.0-dev.10

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 (52) hide show
  1. package/lib/cjs/Geometry.d.ts +5 -5
  2. package/lib/cjs/Geometry.d.ts.map +1 -1
  3. package/lib/cjs/Geometry.js +15 -9
  4. package/lib/cjs/Geometry.js.map +1 -1
  5. package/lib/cjs/bspline/BSplineCurve.d.ts +3 -7
  6. package/lib/cjs/bspline/BSplineCurve.d.ts.map +1 -1
  7. package/lib/cjs/bspline/BSplineCurve.js +15 -14
  8. package/lib/cjs/bspline/BSplineCurve.js.map +1 -1
  9. package/lib/cjs/curve/Arc3d.d.ts +2 -2
  10. package/lib/cjs/curve/Arc3d.d.ts.map +1 -1
  11. package/lib/cjs/curve/Arc3d.js +2 -2
  12. package/lib/cjs/curve/Arc3d.js.map +1 -1
  13. package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts +9 -5
  14. package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
  15. package/lib/cjs/curve/CurveChainWithDistanceIndex.js +9 -18
  16. package/lib/cjs/curve/CurveChainWithDistanceIndex.js.map +1 -1
  17. package/lib/cjs/geometry3d/Angle.d.ts +46 -32
  18. package/lib/cjs/geometry3d/Angle.d.ts.map +1 -1
  19. package/lib/cjs/geometry3d/Angle.js +171 -84
  20. package/lib/cjs/geometry3d/Angle.js.map +1 -1
  21. package/lib/cjs/geometry3d/AngleSweep.d.ts +102 -60
  22. package/lib/cjs/geometry3d/AngleSweep.d.ts.map +1 -1
  23. package/lib/cjs/geometry3d/AngleSweep.js +191 -106
  24. package/lib/cjs/geometry3d/AngleSweep.js.map +1 -1
  25. package/lib/cjs/geometry3d/Point2dArrayCarrier.js +1 -1
  26. package/lib/cjs/geometry3d/Point2dArrayCarrier.js.map +1 -1
  27. package/lib/esm/Geometry.d.ts +5 -5
  28. package/lib/esm/Geometry.d.ts.map +1 -1
  29. package/lib/esm/Geometry.js +15 -9
  30. package/lib/esm/Geometry.js.map +1 -1
  31. package/lib/esm/bspline/BSplineCurve.d.ts +3 -7
  32. package/lib/esm/bspline/BSplineCurve.d.ts.map +1 -1
  33. package/lib/esm/bspline/BSplineCurve.js +15 -14
  34. package/lib/esm/bspline/BSplineCurve.js.map +1 -1
  35. package/lib/esm/curve/Arc3d.d.ts +2 -2
  36. package/lib/esm/curve/Arc3d.d.ts.map +1 -1
  37. package/lib/esm/curve/Arc3d.js +2 -2
  38. package/lib/esm/curve/Arc3d.js.map +1 -1
  39. package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts +9 -5
  40. package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
  41. package/lib/esm/curve/CurveChainWithDistanceIndex.js +9 -18
  42. package/lib/esm/curve/CurveChainWithDistanceIndex.js.map +1 -1
  43. package/lib/esm/geometry3d/Angle.d.ts +46 -32
  44. package/lib/esm/geometry3d/Angle.d.ts.map +1 -1
  45. package/lib/esm/geometry3d/Angle.js +171 -84
  46. package/lib/esm/geometry3d/Angle.js.map +1 -1
  47. package/lib/esm/geometry3d/AngleSweep.d.ts +102 -60
  48. package/lib/esm/geometry3d/AngleSweep.d.ts.map +1 -1
  49. package/lib/esm/geometry3d/AngleSweep.js +191 -106
  50. package/lib/esm/geometry3d/AngleSweep.js.map +1 -1
  51. package/lib/esm/geometry3d/Point2dArrayCarrier.js.map +1 -1
  52. package/package.json +4 -4
@@ -7,14 +7,15 @@ import { GrowableFloat64Array } from "./GrowableFloat64Array";
7
7
  /**
8
8
  * An `AngleSweep` is a pair of angles at start and end of an interval.
9
9
  *
10
- * * For stroking purposes, the "included interval" is all angles numerically reached by theta = start + f*(end-start), where f is between 0 and 1.
10
+ * * For stroking purposes, the "included interval" is all angles numerically reached
11
+ * by theta = start + f*(end-start), where f is between 0 and 1.
11
12
  * * This stroking formula is simple numbers -- 2PI shifts are not involved.
12
13
  * * 2PI shifts do become important in the reverse mapping of an angle to a fraction.
13
- * * If (start < end) the angle proceeds CCW around the unit circle.
14
- * * If (end < start) the angle proceeds CW around the unit circle.
14
+ * * If "start < end" the angle proceeds CCW around the unit circle.
15
+ * * If "end < start" the angle proceeds CW around the unit circle.
15
16
  * * Angles beyond 360 are fine as endpoints.
16
- * * (350,370) covers the same unit angles as (-10,10).
17
- * * (370,350) covers the same unit angles as (10,-10).
17
+ * * (350,370) covers the same unit angles as (-10,10).
18
+ * * (370,350) covers the same unit angles as (10,-10).
18
19
  * @public
19
20
  */
20
21
  export declare class AngleSweep implements BeJSONFunctions {
@@ -43,7 +44,7 @@ export declare class AngleSweep implements BeJSONFunctions {
43
44
  */
44
45
  static create(data?: AngleSweep | Angle): AngleSweep;
45
46
  /** (private) constructor with start and end angles in radians.
46
- * * Use explicitly named static methods to clarify intent and units of inputs:
47
+ * * Use explicitly named static methods to clarify intent and units of inputs:
47
48
  *
48
49
  * * createStartEndRadians (startRadians:number, endRadians:number)
49
50
  * * createStartEndDegrees (startDegrees:number, endDegrees:number)
@@ -53,7 +54,17 @@ export declare class AngleSweep implements BeJSONFunctions {
53
54
  * * createStartSweep (startAngle:Angle, sweepAngle:Angle)
54
55
  */
55
56
  private constructor();
56
- /** create an AngleSweep from start and end angles given in radians. */
57
+ /**
58
+ * directly set the start and end angles in radians
59
+ * * If the difference between startRadians and endRadians is greater than 360, the function limits the angle sweep to 360.
60
+ * */
61
+ setStartEndRadians(startRadians?: number, endRadians?: number): void;
62
+ /** directly set the start and end angles in degrees */
63
+ setStartEndDegrees(startDegrees?: number, endDegrees?: number): void;
64
+ /**
65
+ * create an AngleSweep from start and end angles given in radians.
66
+ * * If the difference between startRadians and endRadians is greater than 360, the function limits the angle sweep to 360.
67
+ * */
57
68
  static createStartEndRadians(startRadians?: number, endRadians?: number, result?: AngleSweep): AngleSweep;
58
69
  /** Return the angle obtained by subtracting radians from this angle. */
59
70
  cloneMinusRadians(radians: number): AngleSweep;
@@ -61,31 +72,29 @@ export declare class AngleSweep implements BeJSONFunctions {
61
72
  static createStartEndDegrees(startDegrees?: number, endDegrees?: number, result?: AngleSweep): AngleSweep;
62
73
  /** create an angle sweep from strongly typed start and end angles */
63
74
  static createStartEnd(startAngle: Angle, endAngle: Angle, result?: AngleSweep): AngleSweep;
64
- /** Create an angle sweep with limits given as (strongly typed) angles for start and sweep */
65
- static createStartSweep(startAngle: Angle, sweepAngle: Angle, result?: AngleSweep): AngleSweep;
66
- /** Return a sweep with limits interpolated between this and other. */
67
- interpolate(fraction: number, other: AngleSweep): AngleSweep;
68
75
  /** create an AngleSweep from start and end angles given in radians. */
69
76
  static createStartSweepRadians(startRadians?: number, sweepRadians?: number, result?: AngleSweep): AngleSweep;
70
77
  /** create an AngleSweep from start and sweep given in degrees. */
71
78
  static createStartSweepDegrees(startDegrees?: number, sweepDegrees?: number, result?: AngleSweep): AngleSweep;
72
- /** directly set the start and end angles in radians */
73
- setStartEndRadians(startRadians?: number, endRadians?: number): void;
74
- /** directly set the start and end angles in degrees */
75
- setStartEndDegrees(startDegrees?: number, endDegrees?: number): void;
79
+ /** Create an angle sweep with limits given as (strongly typed) angles for start and sweep */
80
+ static createStartSweep(startAngle: Angle, sweepAngle: Angle, result?: AngleSweep): AngleSweep;
81
+ /** Return a sweep with limits interpolated between this and other. */
82
+ interpolate(fraction: number, other: AngleSweep): AngleSweep;
76
83
  /** copy from other AngleSweep. */
77
84
  setFrom(other: AngleSweep): void;
78
85
  /** create a full circle sweep (CCW). startRadians defaults to 0 */
79
86
  static create360(startRadians?: number): AngleSweep;
80
- /** create a sweep from the south pole to the north pole. */
87
+ /** create a sweep from the south pole to the north pole (-90 to +90). */
81
88
  static createFullLatitude(): AngleSweep;
82
89
  /** Reverse the start and end angle in place. */
83
90
  reverseInPlace(): void;
84
- /** return a sweep for the "other" part of the circe.
85
- * @param reverseDirection true to retain the start and move backwards, false to more forwards.
91
+ /** return a sweep for the "other" part of the circle.
92
+ * @param reverseDirection true to move backwards (CW) from start to end, false to more forwards (CCW) from start to end.
86
93
  */
87
94
  cloneComplement(reverseDirection?: boolean, result?: AngleSweep): AngleSweep;
88
- /** Restrict start and end angles into the range (-90,+90) in degrees. */
95
+ /**
96
+ * Restrict start and end angles into the range (-90,+90) in degrees.
97
+ * */
89
98
  capLatitudeInPlace(): void;
90
99
  /** Ask if the sweep is counterclockwise, i.e. positive sweep */
91
100
  get isCCW(): boolean;
@@ -100,68 +109,99 @@ export declare class AngleSweep implements BeJSONFunctions {
100
109
  /** Convert fractional position in the sweep to strongly typed Angle object. */
101
110
  fractionToAngle(fraction: number): Angle;
102
111
  /** return 2PI divided by the sweep radians (i.e. 360 degrees divided by sweep angle).
103
- * This is the number of fractional intervals required to cover a whole circle.
112
+ * * This is the number of fractional intervals required to cover a whole circle.
104
113
  */
105
114
  fractionPeriod(): number;
106
- /** return the fractionalized position of the angle,
107
- * computed without consideration of 2PI period.
108
- * That is, an angle that is numerically much beyond than the end angle
109
- * will produce a large fraction and an angle much beyond the start angle
110
- * will produce a large negative fraction.
115
+ /** return the fractionalized position of the given angle (as Angle) computed without consideration of
116
+ * 2PI period and without consideration of angle sweep direction (CW or CCW).
111
117
  *
118
+ * * the start angle is at fraction 0
119
+ * * the end angle is at fraction 1
120
+ * * interior angles are between 0 and 1
121
+ * * negative fraction for angles "before" the start angle if start < end
122
+ * * fraction larger than one for angles "after" the end angle if start < end
123
+ * * fraction larger than one for angles "before" the start angle if start > end
124
+ * * negative fraction for angles "after" the end angle if start > end
125
+ * * does not allow period shift
112
126
  */
113
127
  angleToUnboundedFraction(theta: Angle): number;
114
- /** map an angle to a fractional coordinate which is:
128
+ /** return the fractionalized position of the given angle (as radians), computed with consideration of 2PI period.
115
129
  *
130
+ * * consider radians0 as `start` angle of the sweep and radians1 as `end` angle of the sweep
131
+ * * fraction is always positive
116
132
  * * the start angle is at fraction 0
117
133
  * * the end angle is at fraction 1
118
134
  * * interior angles are between 0 and 1
119
135
  * * all exterior angles are at fractions greater than 1
120
- * * the periodic jump is at full wraparound to the start angle
136
+ * * allows period shift
121
137
  */
122
- angleToPositivePeriodicFraction(theta: Angle): number;
123
- /**
124
- * Convert each value in an array from radians to fraction.
125
- * @param data array that is input as radians, output as fractions
126
- */
127
- radiansArrayToPositivePeriodicFractions(data: GrowableFloat64Array): void;
128
- /**
129
- * Convert a radians value to a fraction that is always positive and can wrap. See `angleToPositivePeriodicFraction` for detailed description.
130
- * @param radians
138
+ static radiansToPositivePeriodicFractionStartEnd(radians: number, radians0: number, radians1: number, zeroSweepDefault?: number): number;
139
+ /** return the fractionalized position of the given angle (as radians), computed with consideration of 2PI period.
140
+ *
141
+ * * fraction is always positive
142
+ * * the start angle is at fraction 0
143
+ * * the end angle is at fraction 1
144
+ * * interior angles are between 0 and 1
145
+ * * all exterior angles are at fractions greater than 1
146
+ * * allows period shift
131
147
  */
132
148
  radiansToPositivePeriodicFraction(radians: number, zeroSweepDefault?: number): number;
133
- /**
134
- * Convert a radians value to a fraction that is always positive and can wrap. See `angleToPositivePeriodicFraction` for detailed description.
135
- * @param radians
149
+ /** return the fractionalized position of the given angle (as Angle), computed with consideration of 2PI period.
150
+ *
151
+ * * fraction is always positive
152
+ * * the start angle is at fraction 0
153
+ * * the end angle is at fraction 1
154
+ * * interior angles are between 0 and 1
155
+ * * all exterior angles are at fractions greater than 1
156
+ * * allows period shift
136
157
  */
137
- static radiansToPositivePeriodicFractionStartEnd(radians: number, radians0: number, radians1: number, zeroSweepDefault?: number): number;
138
- /** map an angle to a fractional coordinate which is:
158
+ angleToPositivePeriodicFraction(theta: Angle): number;
159
+ /** return the fractionalized position of the given array of angles (as radian), computed with consideration of 2PI period.
139
160
  *
161
+ * * fraction is always positive
140
162
  * * the start angle is at fraction 0
141
163
  * * the end angle is at fraction 1
142
164
  * * interior angles are between 0 and 1
143
- * * small negative for angles just "before" the start angle
144
- * * more than one for angles just "after" the end angle
145
- * * the periodic jump is at the middle of the "outside" interval
165
+ * * all exterior angles are at fractions greater than 1
166
+ * * allows period shift
146
167
  */
147
- angleToSignedPeriodicFraction(theta: Angle): number;
148
- /**
149
- * Convert a radians value to a fraction, allowing wraparound. See `angleToSignedPeriodicFraction` for detailed description.
168
+ radiansArrayToPositivePeriodicFractions(data: GrowableFloat64Array): void;
169
+ /** return the fractionalized position of the given angle (as radian) computed with consideration of
170
+ * 2PI period and with consideration of angle sweep direction (CW or CCW).
171
+ *
172
+ * * the start angle is at fraction 0
173
+ * * the end angle is at fraction 1
174
+ * * interior angles are between 0 and 1
175
+ * * negative fraction for angles "before" the start angle
176
+ * * fraction larger than one for angles "after" the end angle
177
+ * * allows period shift
150
178
  */
151
179
  radiansToSignedPeriodicFraction(radians: number): number;
152
- /** test if an angle is within the sweep */
153
- isAngleInSweep(angle: Angle): boolean;
154
- /** test if radians are within sweep */
155
- isRadiansInSweep(radians: number, allowPeriodShift?: boolean): boolean;
156
- /** test if radians are within sweep */
180
+ /** return the fractionalized position of the given angle (as Angle) computed with consideration of
181
+ * 2PI period and with consideration of angle sweep direction (CW or CCW).
182
+ *
183
+ * * the start angle is at fraction 0
184
+ * * the end angle is at fraction 1
185
+ * * interior angles are between 0 and 1
186
+ * * negative fraction for angles "before" the start angle
187
+ * * fraction larger than one for angles "after" the end angle
188
+ * * allows period shift
189
+ */
190
+ angleToSignedPeriodicFraction(theta: Angle): number;
191
+ /** test if the given angle (as radians) is within sweep (between radians0 and radians1) */
157
192
  static isRadiansInStartEnd(radians: number, radians0: number, radians1: number, allowPeriodShift?: boolean): boolean;
193
+ /** test if the given angle (as radians) is within sweep */
194
+ isRadiansInSweep(radians: number, allowPeriodShift?: boolean): boolean;
195
+ /** test if the given angle (as Angle) is within the sweep */
196
+ isAngleInSweep(angle: Angle): boolean;
158
197
  /** set this AngleSweep from various sources:
159
198
  *
160
199
  * * if json is undefined, a full-circle sweep is returned.
161
- * * If json is an AngleSweep object it is cloned
200
+ * * If json is an AngleSweep object, it is cloned
162
201
  * * If json is an array of 2 numbers, those numbers are start and end angles in degrees.
163
202
  * * If `json.degrees` is an array of 2 numbers, those numbers are start and end angles in degrees.
164
203
  * * If `json.radians` is an array of 2 numbers, those numbers are start and end angles in radians.
204
+ * * Otherwise, a full-circle sweep is returned.
165
205
  */
166
206
  setFromJSON(json?: any): void;
167
207
  /** create an AngleSweep from a json object. */
@@ -171,16 +211,18 @@ export declare class AngleSweep implements BeJSONFunctions {
171
211
  * @return {*} {degrees: [startAngleInDegrees, endAngleInDegrees}
172
212
  */
173
213
  toJSON(): any;
174
- /** test if start and end angles match, with explicit name to clarify that there is no test for 360-degree shifts. */
214
+ /** test if this angle sweep and other angle sweep match with radians tolerance.
215
+ * * Period shifts are allowed.
216
+ */
175
217
  isAlmostEqualAllowPeriodShift(other: AngleSweep): boolean;
176
- /** test if start and end angles match, explicit name to clarify that 360-degree shifts are allowed. */
218
+ /** test if this angle sweep and other angle sweep match with radians tolerance.
219
+ * * Period shifts are not allowed.
220
+ */
177
221
  isAlmostEqualNoPeriodShift(other: AngleSweep): boolean;
178
222
  /** test if start and end angles match with radians tolerance.
179
- * * This is equivalent to isAlmostEqualNoPeriodShift.
180
- * * it is present for consistency with other classes
181
- * * It is recommended that all callers use one of he longer names to be clear of their intentions:
182
- * * * isAlmostEqualAllowPeriodShift
183
- * * * isAlmostEqualRadiansNoPeriodShift
223
+ * * Period shifts are not allowed.
224
+ * * This function is equivalent to isAlmostEqualNoPeriodShift. It is present for consistency with other classes.
225
+ * However, it is recommended to use isAlmostEqualNoPeriodShift which has a clearer name.
184
226
  */
185
227
  isAlmostEqual(other: AngleSweep): boolean;
186
228
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AngleSweep.d.ts","sourceRoot":"","sources":["../../../src/geometry3d/AngleSweep.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AngleSweep.d.ts","sourceRoot":"","sources":["../../../src/geometry3d/AngleSweep.ts"],"names":[],"mappings":"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"}