IndexedReadWriteXYZCollection Class

abstract base class extends IndexedXYZCollection, adding methods to push, peek, and pop, and rewrite.

Extends

Extended by

Methods

Name Description
constructor(): IndexedReadWriteXYZCollection    
clear(): void Abstract clear all entries  
pop(): void Abstract remove the final point.  
push(data: Readonly<WritableXYAndZ>): void Abstract push a (clone of) point onto the collection  
pushXYZ(x?: number, y?: number, z?: number): void Abstract push a new point (given by coordinates) onto the collection  
reverseInPlace(): void Abstract reverse the points in place.  

Inherited methods

Name Inherited from Description
accumulateCrossProductIndexIndexIndex(origin: number, indexA: number, indexB: number, result: Vector3d): void Abstract IndexedXYZCollection Return the cross product of vectors from origin point at indexA to target points at indexB and indexC
accumulateScaledXYZ(index: number, scale: number, sum: Point3d): void Abstract IndexedXYZCollection Accumulate scale times the x,y,z values at index.
almostEqualIndexIndex(index0: number, index1: number, tolerance: number = Geometry.smallMetricDistance): undefined | boolean IndexedXYZCollection Test whether the indexed points are equal within tolerance.
back(result?: Point3d): undefined | Point3d IndexedXYZCollection Return the last point, or undefined if the array is empty.
crossProductIndexIndexIndex(origin: number, indexA: number, indexB: number, result?: Vector3d): undefined | Vector3d Abstract IndexedXYZCollection Return the cross product of vectors from origin to points at indexA and indexB
crossProductIndexIndexXYAndZ(origin: number, indexA: number, targetB: Readonly<WritableXYAndZ>, result?: Vector3d): undefined | Vector3d IndexedXYZCollection Return the cross product of the vectors from origin to the point at indexA and to targetB
crossProductXYAndZIndexIndex(origin: Readonly<WritableXYAndZ>, indexA: number, indexB: number, result?: Vector3d): undefined | Vector3d Abstract IndexedXYZCollection Return the cross product of the vectors from origin to points at indexA and indexB
cyclicIndex(i: number): number IndexedXYZCollection Adjust index into range by modulo with the length.
distanceIndexIndex(index0: number, index1: number): undefined | number Abstract IndexedXYZCollection Return distance between indicated points.
distanceSquaredIndexIndex(index0: number, index1: number): undefined | number Abstract IndexedXYZCollection Return distance squared between indicated points.
distanceSquaredIndexXYAndZ(index0: number, target: Readonly<WritableXYAndZ>): undefined | number IndexedXYZCollection Return distance squared between the point at index0 and target.
dotProductIndexIndexIndex(origin: number, indexA: number, indexB: number): undefined | number IndexedXYZCollection Return the dot product of the vectors from the point at origin to the points at indexA and indexB.
dotProductIndexIndexXYAndZ(origin: number, indexA: number, targetB: Readonly<WritableXYAndZ>): undefined | number IndexedXYZCollection Return the dot product of the vectors from the point at origin to the point at indexA and to targetB.
findOrderedDuplicates(tolerance: number = Geometry.smallMetricDistance): number[] IndexedXYZCollection For each run of points with indices i+1 to i+n within distance tolerance of points[i], return the indices i+1, ..., i+n.
front(result?: Point3d): undefined | Point3d IndexedXYZCollection Return the first point, or undefined if the array is empty.
getArray(): Point3d[] IndexedXYZCollection convert to Point3d[]
getPoint3dAtCheckedPointIndex(index: number, result?: Point3d): undefined | Point3d Abstract IndexedXYZCollection Return the point at index as a strongly typed Point3d.
getPoint3dAtUncheckedPointIndex(index: number, result?: Point3d): Point3d Abstract IndexedXYZCollection Return the point at index as a strongly typed Point3d, without checking the point index validity.
getRange(): Range3d IndexedXYZCollection Return the range of the points.
getVector3dAtCheckedVectorIndex(index: number, result?: Vector3d): undefined | Vector3d Abstract IndexedXYZCollection Get from index as a strongly typed Vector3d.
getXAtUncheckedPointIndex(pointIndex: number): number Abstract IndexedXYZCollection access x of indexed point
getYAtUncheckedPointIndex(pointIndex: number): number Abstract IndexedXYZCollection access y of indexed point
getZAtUncheckedPointIndex(pointIndex: number): number Abstract IndexedXYZCollection access z of indexed point
interpolateIndexIndex(index0: number, fraction: number, index1: number, result?: Point3d): undefined | Point3d IndexedXYZCollection Interpolate the points at the given indices.
linearCombination(scales: number[], result?: Point3d | Vector3d): XYZ IndexedXYZCollection Compute the linear combination s of the indexed p_i and given scales s_i.
vectorIndexIndex(indexA: number, indexB: number, result?: Vector3d): undefined | Vector3d Abstract IndexedXYZCollection Return a vector from the point at indexA to the point at indexB
vectorIndexXYAndZ(indexA: number, target: Readonly<WritableXYAndZ>, result?: Vector3d): undefined | Vector3d IndexedXYZCollection Return a vector from the point at indexA to target
vectorXYAndZIndex(origin: Readonly<WritableXYAndZ>, indexB: number, result?: Vector3d): undefined | Vector3d Abstract IndexedXYZCollection Return a vector from origin to the point at indexB

Inherited properties

Name Type Inherited from Description
length Accessor AbstractReadOnly number IndexedXYZCollection read-only property for number of XYZ in the collection.
points Accessor ReadOnly Iterable<Point3d> IndexedXYZCollection Return iterator over the points in this collection. Usage:
ts<br> for (const point: Point3d of collection.points) { ... }<br>

Defined in

Last Updated: 16 April, 2024