| Name |
Description |
|
| constructor(lowX: number = RangeBase._EXTREME_POSITIVE, lowY: number = RangeBase._EXTREME_POSITIVE, lowZ: number = RangeBase._EXTREME_POSITIVE, highX: number = RangeBase._EXTREME_NEGATIVE, highY: number = RangeBase._EXTREME_NEGATIVE, highZ: number = RangeBase._EXTREME_NEGATIVE): Range3d |
|
|
| clone(result?: Range3d): Range3d |
Return a copy |
|
| cloneTranslated(shift: Readonly<WritableXYAndZ>, result?: Range3d): Range3d |
Return a copy, translated by adding shift components in all directions. |
|
| containsPoint(point: Point3d): boolean |
Test if a point is within the range. |
|
| containsPointXY(point: Point3d): boolean |
Test if the x,y coordinates of a point are within the range. |
|
| containsRange(other: Range3d): boolean |
Test of other range is within this range |
|
| containsXY(x: number, y: number): boolean |
Test if a point given as x,y is within the range. |
|
| containsXYZ(x: number, y: number, z: number): boolean |
Test if a point given as x,y,z is within the range. |
|
| corners(result?: Point3d[]): Point3d[] |
Return an array with the 8 corners on order wth "x varies fastest, then y, then z" |
|
| diagonal(result?: Vector3d): Vector3d |
return the diagonal vector. |
|
| diagonalFractionToPoint(fraction: number, result?: Point3d): Point3d |
Return the diagonal vector. |
|
| distanceToPoint(point: Readonly<WritableXYAndZ>): number |
Return 0 if the point is within the range, otherwise the distance to the closest face or corner |
|
| distanceToRange(other: Range3d): number |
returns 0 if the ranges have any overlap, otherwise the shortest absolute distance from one to the other. |
|
| ensureMinLengths(min: number = .001): void |
Ensure that the length of each dimension of this AxisAlignedBox3d is at least a minimum size. |
|
| expandInPlace(delta: number): void |
move all limits by a fixed amount. |
|
| extend(...point: Point3d[]): void |
Extend (modify in place) so that the range is large enough to include the supplied points. |
|
| extendArray(points: Point3d[] | GrowableXYZArray, transform?: Transform): void |
extend a range around an array of points (optionally transformed) |
|
| extendInterpolated(xyz0: Point3d, fraction: number, xyz1: Point3d): void |
Expand this range by a point interpolated between given points. |
|
| extendInverseTransformedArray(points: Point3d[] | GrowableXYZArray, transform: Transform): void |
extend a range around an array of points (optionally transformed) |
|
| extendInverseTransformedXYZ(transform: Transform, x: number, y: number, z: number): boolean |
multiply the point x,y,z by transform and use the coordinate to extend this range. |
|
| extendPoint(point: Point3d, transform?: Transform): void |
Expand this range to include a point. |
|
| extendRange(other: Readonly<WritableLowAndHighXYZ>): void |
Expand this range to include a range. |
|
| extendSingleAxis(a: number, axisIndex: AxisIndex): void |
Expand one component of this range |
|
| extendTransformTransformedXYZ(transformA: Transform, transformB: Transform, x: number, y: number, z: number): void |
Extend the range by the two transforms applied to xyz |
|
| extendTransformedPoint(transform: Transform, point: Point3d): void |
Expand this range to include a transformed point. |
|
| extendTransformedXYZ(transform: Transform, x: number, y: number, z: number): void |
multiply the point x,y,z by transform and use the coordinate to extend this range. |
|
| extendTransformedXYZW(transform: Transform, x: number, y: number, z: number, w: number): void |
multiply the point x,y,z,w by transform and use the coordinate to extend this range. |
|
| extendWhenLarger(other: Readonly<WritableLowAndHighXYZ>, extrapolationFactor: number): void |
In each direction look at the difference between this range limit and that of interiorRange. |
|
| extendXOnly(x: number): void |
Expand this range by distances a in only the x direction. |
|
| extendXYZ(x: number, y: number, z: number): void |
Expand this range by distances a (possibly signed) in all directions |
|
| extendXYZW(x: number, y: number, z: number, w: number): void |
Expand this range by distances a (weighted and possibly signed) in all directions |
|
| extendYOnly(y: number): void |
Expand this range by distances a in only the x direction. |
|
| extendZOnly(z: number): void |
Expand this range by distances a in only the x direction. |
|
| fractionToPoint(fractionX: number, fractionY: number, fractionZ: number = 0, result?: Point3d): Point3d |
Return a point given by fractional positions on the XYZ axes. |
|
| freeze(): Readonly<Range3d> |
Freeze this instance (and its members) so it is read-only |
|
| getLocalToWorldTransform(result?: Transform): Transform |
Create a local to world transform from this range. |
|
| getNpcToWorldRangeTransform(result?: Transform): Transform |
Creates an NPC to world transformation to go from 000...111 to the globally aligned cube with diagonally opposite corners that are the |
|
| intersect(other: Range3d, result?: Range3d): Range3d |
Return the intersection of ranges. |
|
| intersectsRange(other: Range3d): boolean |
Test if there is any intersection with other range |
|
| intersectsRangeXY(other: Range3d): boolean |
Test if there is any intersection with other range |
|
| isAlmostEqual(other: Readonly<Range3d>, tol?: number): boolean |
Returns true if this and other have equal low and high parts, or both are null ranges. |
|
| localToWorld(xyz: Readonly<WritableXYAndZ>, result?: Point3d): undefined | Point3d |
Return a point given by fractional positions on the XYZ axes. |
|
| localToWorldArrayInPlace(points: Point3d[]): boolean |
Replace fractional coordinates by world coordinates. |
|
| localXYZToWorld(fractionX: number, fractionY: number, fractionZ: number, result?: Point3d): undefined | Point3d |
Return a point given by fractional positions on the XYZ axes. |
|
| maxAbs(): number |
Return the largest absolute value among any coordinates in the box corners. |
|
| maxLength(): number |
Return the largest of the x,y, z lengths of the range. |
|
| rectangleXY(zFraction: number = 0.0, upwardNormal: boolean = true, addClosure: boolean = true): undefined | Point3d[] |
Return a rectangle that is the cross section as viewed from above (z direction) and at zFraction |
|
| scaleAboutCenterInPlace(scaleFactor: number): void |
move low and high points by scaleFactor around the center point. |
|
| setFrom(other: Range3d): void |
copy low and high values from other. |
|
| setFromJSON(json?: Range3dProps): void |
set this range (in place) from json such as |
|
| setNull(): void |
Set this transform to values that indicate it has no geometric contents. |
|
| setXYZ(x: number, y: number, z: number): void |
Set the range to be a single point supplied as x,y,z values |
|
| toFloat64Array(): Float64Array |
Flatten the low and high coordinates of this into an array of 6 doubles |
|
| toJSON(): Range3dProps |
Return a JSON object `{low: ... |
|
| union(other: Range3d, result?: Range3d): Range3d |
Return the union of ranges. |
|
| worldToLocal(point: Point3d, result?: Point3d): undefined | Point3d |
Return fractional coordinates of point within the range. |
|
| worldToLocalArrayInPlace(point: Point3d[]): boolean |
Return fractional coordinates of point within the range. |
|
| xLength(): number |
Return the length of the box in the x direction |
|
| yLength(): number |
Return the length of the box in the y direction |
|
| zLength(): number |
Return the length of the box in the z direction |
|
| create(...point: Point3d[]): Range3d Static |
Return a range large enough to include the supplied points. |
|
| createArray<T extends Range3d<T>>(points: Point3d[], result?: T): T Static |
Create a range around an array of points. |
|
| createFrom<T extends Range3d<T>>(other: Range3d, result?: T): T Static |
Return a new Range3d copied from a range or derived type |
|
| createFromVariantData(data: MultiLineStringDataVariant): Range3d Static |
Create a range from freely structured MultiLineStringDataVariant. |
|
| createInverseTransformedArray<T extends Range3d<T>>(transform: Transform, points: Point3d[] | GrowableXYZArray): T Static |
create a Range3d enclosing the points after inverse transform. |
|
| createNull<T extends Range3d<T>>(result?: T): T Static |
Return a range initialized to have no content. |
|
| createRange2d<T extends Range3d<T>>(range: Range2d, z: number = 0, result?: T): T Static |
Creates a 3d range from a 2d range's low and high members, setting the corresponding z values to the value given. |
|
| createTransformed<T extends Range3d<T>>(transform: Transform, ...point: Point3d[]): T Static |
create a Range3d enclosing the transformed points. |
|
| createTransformedArray<T extends Range3d<T>>(transform: Transform, points: Point3d[] | GrowableXYZArray): T Static |
create a Range3d enclosing the transformed points. |
|
| createXYZ<T extends Range3d<T>>(x: number, y: number, z: number, result?: T): T Static |
Create a single point range |
|
| createXYZXYZ<T extends Range3d<T>>(xA: number, yA: number, zA: number, xB: number, yB: number, zB: number, result?: T): T Static |
Create a box with 2 pairs of xyz candidates. |
|
| createXYZXYZOrCorrectToNull<T extends Range3d<T>>(xA: number, yA: number, zA: number, xB: number, yB: number, zB: number, result?: T): T Static |
Create a box with 2 pairs of xyz candidates. |
|
| faceCornerIndices(index: number): number[] Static |
Return an array with indices of the corners of a face |
|
| fromArrayBuffer<T extends Range3d<T>>(buffer: ArrayBuffer): T Static |
Construct a Range3d from an un-typed array. |
|
| fromFloat64Array<T extends Range3d<T>>(f64: Float64Array): T Static |
Construct a Range3d from an array of double-precision values |
|
| fromJSON<T extends Range3d<T>>(json?: Range3dProps): T Static |
Use setFromJSON to parse json into a new Range3d instance. |
|
| isNull(data: Readonly<WritableLowAndHighXYZ>): boolean Static |
Test if data has high<low for any of x,y,z, condition. |
|
| toFloat64Array(val: Readonly<WritableLowAndHighXYZ>): Float64Array Static |
Flatten the low and high coordinates of any json object with low.x .. |
|