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
    • 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
    • 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
ClipPlane A ClipPlane is a single plane represented as
ClipPrimitive 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).
ClipVector Class holding an array structure of shapes defined by clip plane sets
Constant Commonly used constant values.
ConvexClipPlaneSet A ConvexClipPlaneSet is a collection of ClipPlanes, often used for bounding regions of space.
FrameBuilder Helper class to accumulate points and vectors until there is enough data to define a coordinate system.
Geometry
NumberArray
OrderedRotationAngles OrderedRotationAngles represents a non-trivial rotation using three simple axis rotation angles, and an order in which to apply them.
Plane3dByOriginAndUnitNormal A plane defined by
Plane3dByOriginAndVectors A Point3dVector3dVector3d is an origin and a pair of vectors.
PlaneSetParamsCache Cache structure that holds a ClipPlaneSet and various parameters for adding new ClipPlanes to the set.
Point2d
Point2dArray
Point3dArray
Point3dArrayCarrier Helper object to access members of a Point3d[] in geometric calculations.
Point4dArray
PolygonOps Static class for operations that treat an array of points as a polygon (with area!)
Range1d
Range2d
Range3d
RangeBase
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 3D vector with x,y properties
Vector3dArray
XY Minimal object containing x,y 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
AxisOrder Enumeration of the 6 possible orderings of XYZ axis order
AxisScaleSelect Enumeration among choice for how a coordinate transformation should incorporate scaling.
ClipMask Bit mask type for easily keeping track of defined vs undefined values and which parts of a clipping shape
StandardViewIndex

Interfaces

Name Description
BeJSONFunctions
IsNullCheck
PlaneAltitudeEvaluator Interface so various plane representations can be used by algorithms that just want altitude evaluations.
TrigValues
WritableLowAndHighXY
WritableLowAndHighXYZ
WritableXAndY
WritableXYAndZ
WriteableHasZ
YawPitchRollProps The properties that define YawPitchRollAngles.

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
LowAndHighXY
LowAndHighXYZ
Matrix3dProps
Range1dProps
Range2dProps
Range3dProps
TransformProps
XAndY
XYAndZ
XYProps
XYZProps

Last Updated: 17 December, 2018