API Reference > geometry-core > CartesianGeometry 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 2-angle 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 (one-level 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: 13 June, 2024