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 .. |
|