CartesianGeometry
Points, Vectors, Planes, and Transformations for x,y,z geometry.
 Fundamental cartesian geometry objects:
 Point2d, Point3d  points with x,y,z coordinates
 Vector2d, Vector3d  vectors with x,y,z coordinates
 Matrix3d  3x3 matrix
 commonly used for pure rotations
 scale and skew entries are also allowed.
 Transform  an origin and axes.
 Range1d, Range2d, Range3d  subsets of 1d, 2d, and 3d space bounded by low and high values.
 Ray3d  a ray defined by origin and direction vector
 Plane3dByOriginAndUnitNormal  a plane defined by an origin and a single vector which is perpendicular to the plane
 plane3dByOriginAndVectors  a plane defined by an origin and two vectors in the plane.
 Angles
 Angle  a strongly typed angle object whose method names make it clear whether input and outputs are degrees or radians.
 AngleSweep  an angular interval
 LatitudeLongitudeNumber  carrier for position and altitude on sphere or ellipsoid
 YawPitchAndRollAngles  3 angles that define a rotated coordinate system.
 Utility classes
 FrameBuilder  construction of coordinate frames from mixed data sources.
 ClipPlane  a single plane
 ConvexClipPlaneSet  an array of planes bounding a convex volume
 ClipPlaneSet  an array of ConvexClipPlaneSet, defining the union of their volumes
 BilinearPatch  twisted quadrilateral defined by 4 points
 BarycentricTriangle  triangle defined by 3 points.
 Constant  various numeric values exported as readonly constants
Classes
Name  Description  

AlternatingCCTreeBuilder  Context structure for building an AlternatingConvexClipTreeNode from a polygon.  
AlternatingCCTreeNode  An AlternatingConvexClipTreeNode is a node in a tree structure in which  
AlternatingCCTreeNodeCurveClipper  
Angle  An Angle carries the numeric value of an angle, with methods to allow (require!) callers to be clear about whether their angle is degrees or radians. 

AngleSweep  An AngleSweep is a pair of angles at start and end of an interval. 

BarycentricTriangle  3 points defining a triangle to be evaluated with Barycentric coordinates.  
BooleanClipFactory  A BooleanClipFactory is a factory to create objects that implement interior nodes of a tree of boolean clip operations.  
ClipPlane  A ClipPlane is a single plane represented as  
ClipPrimitive  * ClipPrimitive 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 ClipPrimitive 

ConvexClipPlaneSet  A ConvexClipPlaneSet is a collection of ClipPlanes, often used for bounding regions of space.  
Ellipsoid  * An Ellipsoid is a (complete) unit sphere with an arbitrary (possibly skewed) Transform to 3d. 

EllipsoidPatch  * An EllipsoidPatch is 

FrameBuilder  Helper class to accumulate points and vectors until there is enough data to define a coordinate system.  
GeodesicPathPoint  Detailed data for a point on a 2angle parameter space.  
GeodesicPathSolver  Algorithm implementation class for computing approximate optimal (shortest) path points.  
Geometry  Class containing static methods for typical numeric operations.  
IndexedXYZCollectionPolygonOps  IndexedXYZCollectionPolygonOps class contains static methods for typical operations on polygons carried as IndexedXyZCollection 

LongitudeLatitudeNumber  An AngleAngleNumber is a pair of angles (named longitude and latitude ) and an additional number. 

Matrix3d  A Matrix3d is a 3x3 matrix.  
NumberArray  The NumberArray class contains static methods that act on arrays of numbers. 

Plane3dByOriginAndUnitNormal  A plane defined by  
Plane3dByOriginAndVectors  A Point3dVector3dVector3d is an origin and a pair of vectors.  
Point2d  2D point with x ,y as properties 

Point2dArray  The Point2dArray class contains static methods that act on arrays of 2d points. 

Point2dArrayCarrier  Helper object to access members of a Point2d[] in geometric calculations.  
Point3d  3D point with x ,y ,z as properties 

Point3dArray  The Point3dArray class contains static methods that act on arrays of 3d points. 

Point3dArrayPolygonOps  Point3dArrayPolygonOps class contains static methods for typical operations on polygons carried as Point3d[] 

Point4dArray  The Point4dArray class contains static methods that act on arrays of 4d points. 

PointStreamGrowableXYZArrayCollector  Concrete class to handle startChain, handleXYZ and endChain calls and return a (onelevel deep array of  
PointStreamRangeCollector  PointStream handler to collect the range of points.  
PointStreamXYZXYZHandlerBase  Base class for handling points in pairs.  
PointStringDeepXYZArrayCollector  
PolygonOps  Various (static method) computations for arrays of points interpreted as a polygon.  
PolylineOps  PolylineOps is a collection of static methods operating on polylines.  
Range1d  Range on a 1d axis  
Range2d  Range box in xy plane  
Range3d  Axis aligned range in 3D.  
RangeBase  Base class for Range1d, Range2d, Range3d.  
Ray3d  A Ray3d contains  
Segment1d  * A Segment1d is an interval of an axis named x.  
Transform  A transform is an origin and a Matrix3d.  
UnionOfConvexClipPlaneSets  A collection of ConvexClipPlaneSets.  
Vector2d  2D vector with x ,y as properties 

Vector3d  3D vector with x ,y ,z as properties 

Vector3dArray  The Vector3ddArray class contains static methods that act on arrays of 2d vectors. 

XY  Minimal object containing x,y and operations that are meaningful without change in both point and vector.  
XYZ  * XYZ is a 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. 
Enumerations
Name  Description  

AxisIndex  Enumeration of numeric indices of 3 axes AxisIndex.X, AxisIndex.Y, AxisIndex.Z  
AxisOrder  Enumeration of the 6 possible orderings of XYZ axis order  
AxisScaleSelect  Enumeration among choice for how a coordinate transformation should incorporate scaling.  
ClipMaskXYZRangePlanes  Bit mask type for referencing subsets of 6 planes of range box.  
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.  
InverseMatrixState  A Matrix3d is tagged indicating one of the following states:  
StandardViewIndex  Standard views. 
Interfaces
Name  Description  

BeJSONFunctions  Interface for toJSON and setFromJSON methods 

Clipper  An object containing clipping planes that can be used to clip geometry.  
PlaneAltitudeEvaluator  Interface so various plane representations can be used by algorithms that just want altitude evaluations.  
TrigValues  object with a radians value and its associated cosine and sine values.  
WritableLowAndHighXY  interface for class with named properties low and high , both being WriteableXAndY 

WritableLowAndHighXYZ  interface for class with named properties low and high , both being WriteableXYAndZ 

WritableXAndY  interface for class with x and y as number properties. 

WritableXYAndZ  interface for class with x , y , z as number property. 

WriteableHasZ  interface for class with z as number property. 

YawPitchRollProps  angle properties of a YawPitchRoll orientation 
Type Aliases
Name  Description  

AngleProps  The Properties for a JSON representation of an Angle.  
AngleSweepProps  The Properties for a JSON representation of an AngleSweep.  
HasZ  interface for readable z number members. 

LowAndHighXY  interface for type with readable low and high members which have x and y number members. 

LowAndHighXYZ  interface for type with readable low and high members which have x , y , and z number members. 

Matrix3dProps  interface for variant json (one of)  
Range1dProps  interface for variant json representing a Range1d  
Range2dProps  interface for variant json representing a Range2d  
Range3dProps  interface for variant json representing a Range3d  
TransformProps  interface for variant json (one of)  
XAndY  interface for readable x and y number members. 

XYAndZ  interface for type with readable x , y , z number members. 

XYProps  interface for variant json (one of)  
XYZProps  interface for variant json (one of) 
Last Updated: 19 March, 2020