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.  
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.  
IndexedXYCollection abstract base class for access to XYZ data with indexed reference.  
IndexedXYZCollection abstract base class for access to XYZ data with indexed reference.  
NullGeometryHandler NullGeometryHandler is a base class for dispatching various geometry types to  
RecurseToCurvesGeometryHandler Implement GeometryHandler methods, with all curve collection methods recursing to children.  

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.  
OptionalGrowableFloat64Array Type for a OptionalGrowableFloat64Array or undefined.  

Last Updated: 03 June, 2019