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 |
|
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 | ||
PolygonLocationDetail | Carries data about a point in the plane of a polygon. | |
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. | |
TriangleLocationDetail | Carries data about a location in the plane of a triangle. | |
UnionOfConvexClipPlaneSets | A collection of ConvexClipPlaneSets. | |
UVSurfaceOps | Support methods to act on surfaces with 0..1 uv fractional parameterization | |
Vector2d | 2D vector with x ,y as properties |
|
Vector3d | 3D vector with x ,y ,z as properties |
|
Vector3dArray | The Vector3dArray class contains static methods that act on arrays of 3d 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, sometimes referred to as [Tait–Bryan angles] |
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. | |
ClipStepAction | Enumeration of ways to handle an intermediate fragment from a clipping step | |
InverseMatrixState | A Matrix3d is tagged indicating one of the following states: | |
PolygonLocation | Enumeration of possible locations of a point in the plane of a polygon. | |
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. | |
ClipPlaneProps | Wire format describing a ClipPlane. | |
ClipPrimitivePlanesProps | Wire format describing a ClipPrimitive defined by a set of clip planes. | |
ClipPrimitiveShapeProps | Wire format describing a ClipShape. | |
Cloneable | interface for method with a clone operation | |
PerpParallelOptions | Options used for methods like Vector2d.isPerpendicularTo and Vector3d.isParallelTo. | |
PlaneAltitudeEvaluator | Interface so various plane representations can be used by algorithms that just want altitude evaluations. | |
PolygonClipper | Interface for clipping polygons. | |
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 |
Namespaces
Name | Description | |
---|---|---|
XYAndZ |
Type Aliases
Name | Description | |
---|---|---|
AngleProps | The Properties for a JSON representation of an Angle. | |
AngleSweepProps | The Properties for a JSON representation of an AngleSweep. | |
ClipPrimitiveProps | Wire format describing a ClipPrimitive. | |
ClipVectorProps | Wire format describing a ClipVector. | |
ConvexClipPlaneSetProps | Wire format describing a ConvexClipPlaneSet. | |
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) | |
UnionOfConvexClipPlaneSetsProps | Wire format describing a UnionOfConvexClipPlaneSets. | |
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: 30 November, 2023