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. |
|
| GrowableXYZArrayCache | Cache of GrowableXYZArray. | |
| IndexedCollectionInterval | Object describing a (contiguous) subset of indices to an IndexedXYZCollection | |
| IndexedReadWriteXYZCollection | Abstract base class extends IndexedXYZCollection with methods that modify the collection. | |
| 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 |
|
| ReusableObjectCache | Abstract class managing an array of objects of type T, available for reuse by trusted callers. |
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: 02 October, 2025
Found something wrong, missing, or unclear on this page? Raise an issue in our repo.