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: numberGeometry.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: numberGeometry.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 Abstract 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
- geometry3d/IndexedXYZCollection.ts Line 338
Last Updated: 28 October, 2024
Found something wrong, missing, or unclear on this page?Raise an issue in our repo.