API Reference > geometry-core > ArraysAndInterfaces > IndexedReadWriteXYZCollection IndexedReadWriteXYZCollection Class abstract base class extends IndexedXYZCollection, adding methods to push, peek, and pop, and rewrite. Extends IndexedXYZCollection Extended by GrowableXYZArray Point3dArrayCarrier Methods Name Description constructor(): IndexedReadWriteXYZCollection back(result?: Point3d): undefined | Point3d Abstract extract the final point clear(): void Abstract clear all entries front(result?: Point3d): undefined | Point3d Abstract extract the first point 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. 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 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. 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 vectorIndexIndex(indexA: number, indexB: number, result?: Vector3d): undefined | Vector3d Abstract IndexedXYZCollection Return a vector from the point at indexA to the point at indexB 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 geometry3d/IndexedXYZCollection.ts Line 180 Last Updated: 11 June, 2024