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
- Plane3d -- an abstract base class extended by Plane3dByOriginAndNormal, Plane3dByOriginAndUnitNormal, Point4d, and ClipPlane
- 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 | Class whose various static methods are functions for clipping geometry | |
ClipVector | Class holding an array structure of shapes defined by ClipPrimitive |
|
Constant | Commonly used constant values. | |
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. |
|
Plane3d | Plane3d is the abstract base class for multiple 3d plane representations: | |
Plane3dByOriginAndUnitNormal | A plane defined by | |
Plane3dByOriginAndVectors | A Plane3dByOriginAndVectors 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. | |
PolygonLocationDetailPair | A pair of PolygonLocationDetail. | |
PolygonOps | Various static methods to perform computations on an array 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. | |
Ray2d | Ray with xy origin and direction | |
Ray3d | A Ray3d contains | |
Segment1d | * A Segment1d is an interval of an axis named x. | |
Transform | A Transform consists of 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 |
|
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. | |
ICloneable | Interface for an object with a clone method. | |
LowAndHighXYProps | JSON representation of LowAndHighXY. | |
LowAndHighXYZProps | JSON representation of LowAndHighXYZ. | |
PerpParallelOptions | Options used for methods like isPerpendicularTo and isParallelTo. | |
PlaneAltitudeEvaluator | Plane Evaluation methods. | |
PolygonClipper | Interface for clipping convex 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: 02 July, 2024
Found something wrong, missing, or unclear on this page?Raise an issue in our repo.