Name Description
AbstractNewtonIterator base class for Newton iterations in various dimensions.
AlternatingCCTreeBuilder Context structure for building an AlternatingConvexClipTreeNode from a polygon.
AlternatingCCTreeNode An AlternatingConvexClipTreeNode is a node in a tree structure in which
AnalyticRoots AnalyticRoots has static methods for solving quadratic, cubic, and quartic equations.
Angle Carries the numeric value of an angle.
AngleSweep An AngleSweep is a pair of angles at start and end of an interval.
AnnotatedLineString3d An AnnotatedLineString3d is a linestring with additional data attached to each point
Arc3d Circular or elliptic arc.
AuxChannel Represents a single PolyfaceAuxData channel.
AuxChannelData Represents the AuxChannel data at a single input value.
BagOfCurves * A BagOfCurves object is a collection of AnyCurve objects.
Bezier1dNd Implements a multidimensional bezier curve of fixed order.
BezierCoffs * BezierCoffs is an abstract base class for one-dimensional (u to f(u)) Bezier polynomials.
BezierCurve3d 3d Bezier curve class.
BezierCurve3dH 3d curve with homogeneous weights.
BezierCurveBase Base class for CurvePrimitve (necessarily 3D) with _polygon.
BezierPolynomialAlgebra Static methods to operate on univariate beizer polynomials, with coefficients in simple Float64Array or as components of blocked arrays.
BilinearPatch * A Bilinear patch is defined by its 4 corner points.
BSpline1dNd Bspline knots and poles for 1d-to-Nd.
BSpline2dNd Bspline knots and poles for 2d-to-Nd.
BSplineCurve3d A BSplineCurve3d is a bspline curve whose poles are Point3d.
BSplineCurve3dBase Base class for BSplineCurve3d and BSplineCurve3dH.
BSplineCurve3dH Weighted (Homogeneous) BSplineCurve in 3d
BSplineSurface3d BSplineSurface3d is a parametric surface in xyz space.
BSplineSurface3dH BsplinceCurve in xyzw homogeneous space
ClipPlane A ClipPlane is a single plane represented as
ClipPrimitive * ClipPrimitve is a base class for clipping implementations that use
ClipShape A clipping volume defined by a shape (an array of 3d points using only x and y dimensions).
ClipUtilities Static class whose various methods are functions for clipping geometry.
ClipVector Class holding an array structure of shapes defined by clip plane sets
Cone A cone with axis along the z axis of a (possibly skewed) local coordinate system.
Constant Commonly used constant values.
ConstructCurveBetweenCurves Context for constructing a curve that is interpolated between two other curves.
ConvexClipPlaneSet A ConvexClipPlaneSet is a collection of ClipPlanes, often used for bounding regions of space.
CoordinateXYZ A Coordinate is a persistable Point3d
CurveChain Shared base class for use by both open and closed paths.
CurveChainWithDistanceIndex CurveChainWithDistanceIndex is a CurvePrimitive whose fractional parameterization is proportional to true
CurveCollection * A CurveCollection is an abstract (non-instantiable) class for various sets of curves with particular structures:
CurveLocationDetail CurveLocationDetail carries point and paramter data about a point evaluated on a curve.
CurveLocationDetailArrayPair Data bundle for a pair of arrays of CurveLocationDetail structures such as produced by CurveCurve,IntersectXY and
CurveLocationDetailPair A pair of CurveLocationDetail.
CurvePrimitive A curve primitive is bounded
CylindricalQuery Context for computing geometry range around an axis.
DeepCompare Comparison utilities
FacetFaceData Data for a face in a polyface containing facets.
FrameBuilder Helper class to accumulate points and vectors until there is enough data to define a coordinate system.
GeometryQuery Queries to be supported by Curve, Surface, and Solid objects
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 Use a Float64Array to pack xyz coordinates.
GrowableXYZArray Use a Float64Array to pack xyz coordinates.
HalfEdge * A HalfEdge is "one side of an edge" in a structure of faces, edges and vertices.
HalfEdgeGraph A HalfEdgeGraph has:
HalfEdgeMaskValidation static methods to inpsect mask consistency properties in HalfEdgeGraph.
HalfEdgePointerInspector HalfEdgePointerInspector has methods to check HalfEdge objects for pointer errors.
IndexedEdgeMatcher An IndexedEdgeMatcher carres an array (edges) of edges start & end indices for sorting and subsequent analyses (such as testing for closed mesh)
IndexedXYCollection abstract base class for access to XYZ data with indexed reference.
IndexedXYZCollection abstract base class for access to XYZ data with indexed reference.
KnotVector Array of non-decreasing numbers acting as a knot array for bsplines.
LinearSweep A LinearSweep is
LineSegment3d A LineSegment3d is:
LineString3d * A LineString3d (sometimes called a PolyLine) is a sequence of xyz coordinates that are to be joined by line segments.
Loop A Loop is a curve chain that is the boundary of a closed (planar) loop.
Map4d Map4 carries two Matrix4d which are inverses of each other.
Matrix3d A Matrix3d is a 3x3 matrix.
Matrix4d * A Matrix4d is a matrix with 4 rows and 4 columns.
MomentData A MomentData structrue carries data used in calculation of moments of inertia.
Newton1dUnbounded Newton iterator for use when both function and derivative can be evaluated.
Newton1dUnboundedApproximateDerivative Newton iteration for a univariate function, using approximate derivatives.
Newton2dUnboundedWithDerivative Implement evaluation steps for newton iteration in 2 dimensions.
NewtonEvaluatorRRtoRRD object to evaluate a 2-parameter newton function (with derivatives!!).
NewtonEvaluatorRtoR object to evaluate a newton function (without derivative).
NewtonEvaluatorRtoRD object to evaluate a newton function.
NullGeometryHandler NullGeometryHandler is a base class for dispatching various geometry types to
Order2Bezier Bezier polynomial specialized to order 2 (2 coefficients, straight line function)
Order3Bezier Bezier polynomial specialized to order 3 (3 coefficients, paraboloa function)
Order4Bezier Bezier polynomial specialized to order 4 (4 coefficients, cubic function)
Order5Bezier Bezier polynomial specialized to order 5 (5 coefficients, quartic function)
OrderedRotationAngles OrderedRotationAngles represents a non-trivial rotation using three simple axis rotation angles, and an order in which to apply them.
PackedPointsWithIndex Data carrier class for
ParityRegion * A ParityRegion is a collection of Loop objects.
PascalCoefficients PascalCoeffients class has static methods which return rows of the PascalTriangle.
Path * A Path object is a collection of curves that join head-to-tail to form a path.
Plane3dByOriginAndUnitNormal A plane defined by
Plane3dByOriginAndVectors A Point3dVector3dVector3d is an origin and a pair of vectors.
PlaneByOriginAndVectors4d A Plane4dByOriginAndVectors is a 4d origin and pair of 4d "vectors" defining a 4d plane.
PlaneSetParamsCache Cache structure that holds a ClipPlaneSet and various parameters for adding new ClipPlanes to the set.
Point2dArrayCarrier Helper object to access members of a Point2d[] in geometric calculations.
Point3d 3D point with x,y,z properties
Point3dArrayCarrier Helper object to access members of a Point3d[] in geometric calculations.
Point4d 4 Dimensional point (x,y,z,w) used in perspective calculations.
PointString3d A PointString3d is an array of points.
Polyface A Polyface is n abstract mesh structure (of unspecified implementation) that provides a PolyfaceVisitor
PolyfaceAuxData The PolyfaceAuxData structure contains one or more analytical data channels for each vertex of a Polyface.
PolyfaceBuilder * Simple construction for strongly typed GeometryQuery objects:
PolyfaceData PolyfaceData carries data arrays for point, normal, param, color and their indices.
PolyfaceQuery PolyfaceQuery is a static class whose methods implement queries on a polyface or polyface visitor provided as a parameter to each mtehod.
PolygonOps Static class for operations that treat an array of points as a polygon (with area!)
Quadrature Support class for quadrature -- approximate integrals by summing weighted function values.
Range1dArray A Range1d array is a set of intervals, such as occur when a line is clipped to a (nonconvex) polygon
Ray3d A Ray3d contains
RecurseToCurvesGeometryHandler Implement GeometryHandler methods, with all curve collection methods recursing to children.
RecursiveCurveProcessor base class for detailed traversal of curve artifacts.
RecursiveCurveProcessorWithStack base class for detailed traversal of curve artifacts, maintaining a stack that shows complete path to each artifact.
Segment1d * A Segment1d is an interval of an axis named x.
SolidPrimitive Base class for SolidPrimitve variants.
SortableEdge * For boundary sorting, an edge is a (packed!) Float64Array.
Sphere A Sphere is
SphereImplicit evaluation methods for an implicit sphere x*x + y*y + z*z - r*r = 0.
StrokeCountChain class StrokeCountChain contains:
StrokeCountMap data carrier interface for per-primitive stroke counts and distances used by PolyfaceBuilder.
StrokeCountSection class StrokeCountSection\
StrokeOptions tolerance blob for various stroking methods.
SweepContour Sweepable contour with Transform for local to world interaction.
TorusPipe the stored form of the torus pipe is oriented for positive volume:
Transform A transform is an origin and a Matrix3d.
TransitionConditionalProperties A transition spiral is a curve defined by its curvature, with the curvature function symmetric about midpoint.
UnionOfConvexClipPlaneSets A collection of ConvexClipPlaneSets.
UnionRegion * A UnionRegion is a collection of other planar region types -- Loop and ParityRegion.
UnivariateBezier * The UnivariateBezier class is a univariate bezier polynomial with no particular order.
UVSurfaceOps UVSurfaceOps is a class containing static methods operating on UVSurface objects.
Vector2d 3D vector with x,y properties
Vector3d 3D vector with x,y,z properties
XY Minimal object containing x,y and operations that are meaningful without change in both point and vector.
XYParitySearchContext * XYParitySerachContext is an internal class for callers that can feed points (without extracting to array structures)
XYZ Minimal object containing x,y,z and operations that are meaningful without change in both point and vector.
YawPitchRollAngles Three angles that determine the orientation of an object in space.


Name Description
AuxChannelDataType The data types of AuxChannel.
AxisOrder Enumeration of the 6 possible orderings of XYZ axis order
AxisScaleSelect Enumeration among choice for how a coordinate transformation should incorporate scaling.
BSplineWrapMode false ==> no wrap possible
ClipMask Bit mask type for easily keeping track of defined vs undefined values and which parts of a clipping shape
ClipPlaneContainment Enumerated type for describing where geometry lies with respect to clipping planes.
ClipStatus Enumerated type for describing what must yet be done to clip a piece of geometry.
CurveIntervalRole An enumeration of special conditions being described by a CurveLocationDetail.
CurveSearchStatus Return code for CurvePrimitive method moveSignedDistanceFromFraction
InverseMatrixState A Matrix3d is tagged indicating one of the following states:
UVSelect UVSelect is an integer indicating uDirection (0) or vDirection (1) in a bspline surface parameterization.

Global Functions

Name Description
compareRange1dLexicalLowHigh Checks low's first, then high's


Name Description
BSplineSurface3dQuery Interface for methods supported by both regular (xyz) and weighted (xyzw) bspline surfaces.
Clipper An object containing clipping planes that can be used to clip geometry.
IStrokeHandler IStrokeHandler is an interface with methods to receive data about curves being stroked.
PackedPointGrid interface for points returned from getPointGrid, with annotation of physical and weighting dimensions.
PlaneAltitudeEvaluator Interface so various plane representations can be used by algorithms that just want altitude evaluations.
PolyfaceVisitor A PolyfaceVisitor manages data while walking through facets.
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
YawPitchRollProps The properties that define YawPitchRollAngles.


Name Description

Type Aliases

Name Description
AngleProps The Properties for a JSON representation of an Angle.
AngleSweepProps The Properties for a JSON representation of an AngleSweep.
AnnounceCurvePrimitive Function signature for a callback which announces a curve primitive
AnnounceNumberNumber Function signature for a callback which announces a pair of numbers
AnnounceNumberNumberCurvePrimitive function signature for callback which announces a pair of numbers, such as a fractional interval, along with a containing CurvePrimitive.
CurvePrimitiveMutator type for a function argument taking 2 curves and returning another curve or failing with undefined.

Last Updated: 10 April, 2019