Range1d Class
Range on a 1d axis
lowandhighmembers are always non-null objects- having
low > highindicates an empty range. - the range contains x values for which
low <= x <= high
Extends
Methods
| Name | Description | |
|---|---|---|
| clipLinearMapToInterval(a: number, u: number, limitA: number, limitB: number): boolean | clip this range to a linear half space condition if limitA > limitB the limit space is emptymake this range null return false; otherwise (i.e limitA <= limitB)solve `a + u f = limitA' and a + u * f = limitA* if unable to solve (i.e. |
|
| clone(result?: this): this | return a new Range1d with contents of this. | |
| cloneTranslated(delta: number, result?: Range1d): Range1d | create a range with delta added to low and high* If this is a null range, return a null range. |
|
| containsRange(other: Range1d): boolean | Test of other range is within this range | |
| containsX(x: number): boolean | Test if a number is within the range. | |
| distanceToRange(other: Range1d): number | returns 0 if the ranges have any overlap, otherwise the shortest absolute distance from one to the other. | |
| distanceToX(x: number): number | Return 0 if the point is within the range, otherwise the (unsigned) distance to the closest face or corner | |
| expandInPlace(delta: number): void | move all limits by a fixed amount. | |
| extendArray(values: Float64Array | number[]): void | extend to include an array of values | |
| extendArraySubset(values: Float64Array | number[], beginIndex: number, numValue: number): void | extend to include values at indices beginIndex <= i < endIndex] |
|
| extendRange(other: Range1d): void | Expand this range to include a range. | |
| extendX(x: number): void | Expand this range by a single coordinate | |
| fractionToPoint(fraction: number): number | return a point given by fractional positions within the range. | |
| intersect(other: Range1d, result?: Range1d): Range1d | Return the intersection of ranges. | |
| intersectsRange(other: Range1d): boolean | Test if there is any intersection with other range | |
| isAlmostEqual(other: Range1d): boolean | Returns true if this and other have equal low and high parts, or both are null ranges. | |
| length(): number | Return the length of the range in the x direction | |
| maxAbs(): number | Return the largest absolute value among the box limits. | |
| scaleAboutCenterInPlace(scaleFactor: number): void | move low and high points by scaleFactor around the center point. | |
| setFrom(other: Range1d): void | copy contents from other Range1d. | |
| setFromJSON(json: Range1dProps): void | Convert from a JSON object of one of these forms: Any array of numbers: [value,value, value]An object with low and high as properties: {low:lowValue, high: highValue} |
|
| setNull(): void | reset the low and high to null range state. | |
| setX(x: number): void | Set this range to be a single value. | |
| toJSON(): Range1dProps | Convert to a JSON object of form<br> [lowValue,highValue]<br> |
|
| union(other: Range1d, result?: Range1d): Range1d | Return the intersection of ranges. | |
| createArray<T extends Range1d>(values: Float64Array | number[], result?: T): T extends Range1d Static | Create a range containing all the values in an array. | |
| createFrom<T extends Range1d>(other: T extends Range1d, result?: T): T Static | return a new Range1d with contents of this. | |
| createNull<T extends Range1d>(result?: T): T extends Range1d Static | Create a range with no content. | |
| createX<T extends Range1d>(x: number, result?: T): T extends Range1d Static | Create a single point box | |
| createXX<T extends Range1d>(xA: number, xB: number, result?: T): T extends Range1d Static | Create a box from two values. | |
| createXXOrCorrectToNull<T extends Range1d>(xA: number, xB: number, result?: T): T extends Range1d Static | Create a box from two values, but null range if the values are reversed | |
| fromJSON<T extends Range1d>(json?: Range1dProps): T extends Range1d Static | Use setFromJSON to parse json into a new Range1d instance. |
Inherited methods
| Name | Inherited from | Description |
|---|---|---|
| coordinateToRangeAbsoluteDistance(x: number, low: number, high: number): number Static | RangeBase | Given a coordinate and pair of range limits, return the smallest distance to the range. |
| isExtremePoint2d(xy: Point2d): boolean Static | RangeBase | Return true if either of x,y is outside the range `[_EXTREME_NEGATIVE, _EXTREME_POSITIVE]' |
| isExtremePoint3d(xyz: Point3d): boolean Static | RangeBase | Return true if any x or y or z is outside the range `[_EXTREME_NEGATIVE, _EXTREME_POSITIVE]' |
| isExtremeValue(x: number): boolean Static | RangeBase | Return true if x is outside the range `[_EXTREME_NEGATIVE, _EXTREME_POSITIVE]' |
| npcScaleFactor(low: number, high: number): number ProtectedStatic | RangeBase | Return 0 if high<= low, otherwise 1/(high-low) for use in fractionalizing |
| rangeToRangeAbsoluteDistance(lowA: number, highA: number, lowB: number, highB: number): number Static | RangeBase | Return the min absolute distance from any point of [lowA,highA]' to any point of[lowB,highB]'. |
Properties
| Name | Type | Description | |
|---|---|---|---|
| high | number | high point coordinates. | |
| isAlmostZeroLength Accessor ReadOnly | boolean | Test if the x direction size is nearly zero | |
| isNull Accessor ReadOnly | boolean | Test if the box has high<low Note that a range around a single point is NOT null. | |
| isSinglePoint Accessor ReadOnly | boolean | Test of the range contains a single point. | |
| low | number | low point coordinates. |
Inherited properties
| Name | Type | Inherited from | Description |
|---|---|---|---|
| _EXTREME_NEGATIVE ProtectedStatic | number | RangeBase | Number considered to be impossibly negative for a coordinate in a range. |
| _EXTREME_POSITIVE ProtectedStatic | number | RangeBase | Number considered impossibly large possibly for a coordinate in a range. |
Defined in
Last Updated: 08 January, 2020