ArraysAndInterfaces
These classes support array operations and inheritance-based algorithms.
- Arrays
 - GrowableArray -- A carrier for a Float64Array, with methods that hide reallocation of the underlying array as contents are added.
 - Point2dArray, Point3dArray, Point4dArray, Vector3dArray -- miscellaneous operations on arrays of 2d and 3d points.
 - Interfaces
 - GeometryHandler -- a double-dispatch protocol used for efficient implementation of algorithms that work on many geometry types.
 
Classes
| Name | Description | |
|---|---|---|
| GeometryHandler | GeometryHandler defines the base abstract methods for double-dispatch geometry computation. | 
|
| GrowableBlockedArray | Array of contiguous doubles, indexed by block number and index within block. | |
| GrowableFloat64Array | A GrowableFloat64Array is Float64Array accompanied by a count of how many of the array's entries are considered in use. | 
|
| GrowableXYArray | GrowableXYArray manages a (possibly growing) Float64Array to pack xy coordinates. | 
|
| GrowableXYZArray | GrowableXYArray manages a (possibly growing) Float64Array to pack xy coordinates. | 
|
| IndexedCollectionInterval | Object describing a (contiguous) subset of indices to an IndexedXYZCollection | |
| IndexedReadWriteXYZCollection | abstract base class extends IndexedXYZCollection, adding methods to push, peek, and pop, and rewrite. | |
| IndexedXYCollection | abstract base class for access to XY data with indexed reference. | |
| IndexedXYZCollection | abstract base class for read-only access to XYZ data with indexed reference. | |
| IndexedXYZCollectionInterval | Reference to an interval of the indices of an IndexedXYZCollection. | |
| NullGeometryHandler | NullGeometryHandler is a base class for dispatching various geometry types to application specific implementation | 
|
| Point3dArrayCarrier | Helper object to access members of a Point3d[] in geometric calculations. | |
| RecurseToCurvesGeometryHandler | Implement GeometryHandler methods, but override handleCurveCollection so that all methods | 
Interfaces
| Name | Description | |
|---|---|---|
| IStrokeHandler | IStrokeHandler is an interface with methods to receive data about curves being stroked. | |
| UVSurface | Interface with methods for mapping (u,v) fractional coordinates to surface xyz and derivatives. | |
| UVSurfaceIsoParametricDistance | Interface for queries of distance-along in u and v directions | 
Type Aliases
| Name | Description | |
|---|---|---|
| BlockComparisonFunction | Signature for a function which does lexical comparison of blockSize consecutive values as 2 starting indices. | 
|
| LineStringDataVariant | Type for use as signature for xyz data of a single linestring appearing in a parameter list. | |
| MultiLineStringDataVariant | Type for use as signature for multiple xyz data of multiple linestrings appearing in a parameter list. | |
| OptionalGrowableFloat64Array | Type for a OptionalGrowableFloat64Array or undefined. | 
Last Updated: 10 June, 2025
Found something wrong, missing, or unclear on this page? Raise an issue in our repo.