API Reference > geometry-core > ArraysAndInterfaces > IndexedXYCollection IndexedXYCollection Class abstract base class for access to XYZ data with indexed reference. This allows algorithms to work with Point2d[] or GrowableXYZ. ** GrowableXYZArray implements these for its data. ** Point2dArrayCarrier carries a (reference to) a Point2d[] and implements the methods with calls on that array reference. In addition to "point by point" accessors, there abstract members compute commonly useful vector data "between points". Methods that create vectors among multiple indices allow callers to avoid creating temporaries. Extended by GrowableXYArray Point2dArrayCarrier Methods Name Description crossProductIndexIndexIndex(origin: number, indexA: number, indexB: number): number | undefined Abstract Return the cross product of vectors from origin point at indexA to target points at indexB and indexC crossProductXAndYIndexIndex(origin: XAndY, indexA: number, indexB: number): number | undefined Abstract Return the cross product of vectors from origin to points at indexA and indexB getPoint2dAtCheckedPointIndex(index: number, result?: Point2d): Point2d | undefined Abstract Get from index as a Point2d getVector2dAtCheckedVectorIndex(index: number, result?: Vector2d): Vector2d | undefined Abstract Get from index as a Vector2d vectorIndexIndex(indexA: number, indexB: number, result?: Vector2d): Vector2d | undefined Abstract Return a vector from the point at indexA to the point at indexB vectorXAndYIndex(origin: XAndY, indexB: number, result?: Vector2d): Vector2d | undefined Abstract Return a vector from given origin to the point at indexB Properties Name Type Description length Accessor ReadOnly number read-only property for number of XYZ in the collection. Defined in core/geometry/src/geometry3d/IndexedXYCollection.ts Line 24 Last Updated: 13 June, 2024