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 back(result?: Point3d): Point3d | undefined Abstract extract the final point clear(): void Abstract clear all entries front(result?: Point3d): Point3d | undefined Abstract extract the first point pop(): void Abstract remove the final point. push(data: XYAndZ): 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): Vector3d | undefined Abstract IndexedXYZCollection Return the cross product of vectors from origin to points at indexA and indexB crossProductXYAndZIndexIndex(origin: XYAndZ, indexA: number, indexB: number, result?: Vector3d): Vector3d | undefined 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): number | undefined Abstract IndexedXYZCollection Return distance between indicated points. distanceSquaredIndexIndex(index0: number, index1: number): number | undefined Abstract IndexedXYZCollection Return distance squared between indicated points. getPoint3dAtCheckedPointIndex(index: number, result?: Point3d): Point3d | undefined 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): Vector3d | undefined 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): Vector3d | undefined Abstract IndexedXYZCollection Return a vector from the point at indexA to the point at indexB vectorXYAndZIndex(origin: XYAndZ, indexB: number, result?: Vector3d): Vector3d | undefined Abstract IndexedXYZCollection Return a vector from origin to the point at indexB Inherited properties Name Type Inherited from Description length Accessor ReadOnly 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 core/geometry/src/geometry3d/IndexedXYZCollection.ts Line 173 Last Updated: 13 June, 2024