geometry-core

Classes

Name Description
AbstractNewtonIterator base class for Newton iterations in various dimensions.
AlternatingCCTreeBuilder Context structure for building an AlternatingConvexClipTreeNode from a polygon.
AlternatingCCTreeNode An AlternatingConvexClipTreeNode is a node in a tree structure in which
AlternatingCCTreeNodeCurveClipper
AnalyticRoots AnalyticRoots has static methods for solving quadratic, cubic, and quartic equations.
Angle Carries the numeric value of an angle.
AngleSweep An AngleSweep is a pair of angles at start and end of an interval.
AnnotatedLineString3d An AnnotatedLineString3d is a linestring with additional data attached to each point
Arc3d Circular or elliptic arc.
AuxChannel Represents a single PolyfaceAuxData channel.
AuxChannelData Represents the AuxChannel data at a single input value.
BagOfCurves * A BagOfCurves object is a collection of AnyCurve objects.
Bezier1dNd Implements a multidimensional bezier curve of fixed order.
BezierCoffs * BezierCoffs is an abstract base class for one-dimensional (u to f(u)) Bezier polynomials.
BezierCurve3d 3d Bezier curve class.
BezierCurve3dH 3d curve with homogeneous weights.
BezierCurveBase Base class for CurvePrimitve (necessarily 3D) with _polygon.
BezierPolynomialAlgebra Static methods to operate on univariate beizer polynomials, with coefficients in simple Float64Array or as components of blocked arrays.
Box
BoxTopology
BSpline1dNd Bspline knots and poles for 1d-to-Nd.
BSpline2dNd Bspline knots and poles for 2d-to-Nd.
BSplineCurve3d A BSplineCurve3d is a bspline curve whose poles are Point3d.
BSplineCurve3dBase Base class for BSplineCurve3d and BSplineCurve3dH.
BSplineCurve3dH Weighted (Homogeneous) BSplineCurve in 3d
BSplineSurface3d BSplineSurface3d is a parametric surface in xyz space.
BSplineSurface3dH BsplinceCurve in xyzw homogeneous space
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).
ClipUtilities Static class whose various methods are functions for clipping geometry.
ClipVector Class holding an array structure of shapes defined by clip plane sets
ClusterableArray
Complex
Cone A cone with axis along the z axis of a (possibly skewed) local coordinate system.
Constant Commonly used constant values.
ConstructCurveBetweenCurves Context for constructing a curve that is interpolated between two other curves.
ConvexClipPlaneSet A ConvexClipPlaneSet is a collection of ClipPlanes, often used for bounding regions of space.
ConvexPolygon2d
CoordinateXYZ A Coordinate is a persistable Point3d
CurveChain Shared base class for use by both open and closed paths.
CurveChainWithDistanceIndex CurveChainWithDistanceIndex is a CurvePrimitive whose fractional parameterization is proportional to true
CurveCollection * A CurveCollection is an abstract (non-instantiable) class for various sets of curves with particular structures:
CurveCurve
CurveLocationDetail CurveLocationDetail carries point and paramter data about a point evaluated on a curve.
CurveLocationDetailArrayPair Data bundle for a pair of arrays of CurveLocationDetail structures such as produced by CurveCurve,IntersectXY and
CurveLocationDetailPair A pair of CurveLocationDetail.
CurvePrimitive A curve primitive is bounded
DeepCompare Comparison utilities
Degree2PowerPolynomial
Degree3PowerPolynomial
Degree4PowerPolynomial
FacetFaceData Data for a face in a polyface containing facets.
FrameBuilder Helper class to accumulate points and vectors until there is enough data to define a coordinate system.
Geometry
GeometryHandler
GeometryQuery Queries to be supported by Curve, Surface, and Solid objects
GraphMerge
GrowableBlockedArray Array of contiguous doubles, indexed by block number and index within block.
GrowableFloat64Array A GrowableFloat64Array is Float64Array accompanied by a count of how many of the array's entries are considered in use.
GrowableXYZArray Use a Float64Array to pack xyz coordinates.
HalfEdge * A HalfEdge is "one side of an edge" in a structure of faces, edges and vertices.
HalfEdgeGraph A HalfEdgeGraph has:
HalfEdgeGraphSearch
HalfEdgeMaskValidation static methods to inpsect mask consistency properties in HalfEdgeGraph.
HalfEdgePointerInspector HalfEdgePointerInspector has methods to check HalfEdge objects for pointer errors.
IndexedPolyface
IndexedPolyfaceVisitor
IndexedXYZCollection abstract base class for access to XYZ data with indexed reference.
KnotVector Array of non-decreasing numbers acting as a knot array for bsplines.
LinearSweep A LinearSweep is
LineSegment3d A LineSegment3d is:
LineString3d * A LineString3d (sometimes called a PolyLine) is a sequence of xyz coordinates that are to be joined by line segments.
Loop A Loop is a curve chain that is the boundary of a closed (planar) loop.
Map4d Map4 carries two Matrix4d which are inverses of each other.
Matrix3d A Matrix3d is a 3x3 matrix.
Matrix4d * A Matrix4d is a matrix with 4 rows and 4 columns.
Merger
MomentData A MomentData structrue carries data used in calculation of moments of inertia.
Newton1dUnbounded
Newton1dUnboundedApproximateDerivative Newton iteration for a univariate function, using approximate derivatives.
Newton2dUnboundedWithDerivative Implement evaluation steps for newton iteration in 2 dimensions.
NewtonEvaluatorRRtoRRD object to evaluate a 2-parameter newton function (with derivatives!!).
NewtonEvaluatorRtoR object to evaluate a newton function (without derivative).
NewtonEvaluatorRtoRD object to evaluate a newton function.
NullGeometryHandler NullGeometryHandler is a base class for dispatching various geometry types to
NumberArray
Order2Bezier Bezier polynomial specialized to order 2 (2 coefficients, straight line function)
Order3Bezier Bezier polynomial specialized to order 3 (3 coefficients, paraboloa function)
Order4Bezier Bezier polynomial specialized to order 4 (4 coefficients, cubic function)
Order5Bezier Bezier polynomial specialized to order 5 (5 coefficients, quartic function)
OrderedRotationAngles OrderedRotationAngles represents a non-trivial rotation using three simple axis rotation angles, and an order in which to apply them.
PackedPointsWithIndex Data carrier class for
ParityRegion * A ParityRegion is a collection of Loop objects.
PascalCoefficients PascalCoeffients class has static methods which return rows of the PascalTriangle.
Path * A Path object is a collection of curves that join head-to-tail to form a path.
Plane3dByOriginAndUnitNormal A plane defined by
Plane3dByOriginAndVectors A Point3dVector3dVector3d is an origin and a pair of vectors.
PlaneByOriginAndVectors4d A Plane4dByOriginAndVectors is a 4d origin and pair of 4d "vectors" defining a 4d plane.
PlaneSetParamsCache Cache structure that holds a ClipPlaneSet and various parameters for adding new ClipPlanes to the set.
Point2d
Point2dArray
Point3d 3D point with x,y,z properties
Point3dArray
Point3dArrayCarrier Helper object to access members of a Point3d[] in geometric calculations.
Point4d 4 Dimensional point (x,y,z,w) used in perspective calculations.
Point4dArray
PointString3d A PointString3d is an array of points.
Polyface A Polyface is n abstract mesh structure (of unspecified implementation) that provides a PolyfaceVisitor
PolyfaceAuxData The PolyfaceAuxData structure contains one or more analytical data channels for each vertex of a Polyface.
PolyfaceBuilder * Simple construction for strongly typed GeometryQuery objects:
PolyfaceData PolyfaceData carries data arrays for point, normal, param, color and their indices.
PolyfaceQuery PolyfaceQuery is a static class whose methods implement queries on a polyface or polyface visitor provided as a parameter to each mtehod.
PolygonOps Static class for operations that treat an array of points as a polygon (with area!)
PowerPolynomial
Quadrature Support class for quadrature -- approximate integrals by summing weighted function values.
Range1d
Range1dArray A Range1d array is a set of intervals, such as occur when a line is clipped to a (nonconvex) polygon
Range2d
Range3d
RangeBase
Ray2d
Ray3d A Ray3d contains
RecursiveCurveProcessor base class for detailed traversal of curve artifacts.
RecursiveCurveProcessorWithStack base class for detailed traversal of curve artifacts, maintaining a stack that shows complete path to each artifact.
RotationalSweep
RuledSweep
Sample
Segment1d * A Segment1d is an interval of an axis named x.
SmallSystem
SolidPrimitive Base class for SolidPrimitve variants.
Sphere A Sphere is
SphereImplicit evaluation methods for an implicit sphere x*x + y*y + z*z - r*r = 0.
StrokeOptions tolerance blob for various stroking methods.
SweepContour Sweepable contour with Transform for local to world interaction.
TorusImplicit
TorusPipe the stored form of the torus pipe is oriented for positive volume:
Transform A transform is an origin and a Matrix3d.
TransitionConditionalProperties A transition spiral is a curve defined by its curvature, with the curvature function symmetric about midpoint.
TransitionSpiral3d
Triangulator
TriDiagonalSystem
TrigPolynomial
UnionOfConvexClipPlaneSets A collection of ConvexClipPlaneSets.
UnionRegion * A UnionRegion is a collection of other planar region types -- Loop and ParityRegion.
UnivariateBezier * The UnivariateBezier class is a univariate bezier polynomial with no particular order.
Vector2d 3D vector with x,y properties
Vector3d 3D vector with x,y,z properties
Vector3dArray
XY Minimal object containing x,y and operations that are meaningful without change in both point and vector.
XYZ 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
AuxChannelDataType The data types of AuxChannel.
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
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.
CurveIntervalRole An enumeration of special conditions being described by a CurveLocationDetail.
CurveSearchStatus Return code for CurvePrimitive method moveSignedDistanceFromFraction
HalfEdgeMask
InverseMatrixState A Matrix3d is tagged indicating one of the following states:
StandardViewIndex
UVSelect UVSelect is an integer indicating uDirection (0) or vDirection (1) in a bspline surface parameterization.
WeightStyle

Global Functions

Name Description
compareRange1dLexicalLowHigh Checks low's first, then high's
quotientDerivative2

Interfaces

Name Description
BeJSONFunctions
BSplineSurface3dQuery Interface for methods supported by both regular (xyz) and weighted (xyzw) bspline surfaces.
Clipper An object containing clipping planes that can be used to clip geometry.
IsNullCheck
IStrokeHandler IStrokeHandler is an interface with methods to receive data about curves being stroked.
PackedPointGrid interface for points returned from getPointGrid, with annotation of physical and weighting dimensions.
PlaneAltitudeEvaluator Interface so various plane representations can be used by algorithms that just want altitude evaluations.
PolyfaceVisitor A PolyfaceVisitor manages data while walking through facets.
TrigValues
UVSurface Interface with methods for mapping (u,v) fractional coordinates to surface xyz and derivatives.
WritableLowAndHighXY
WritableLowAndHighXYZ
WritableXAndY
WritableXYAndZ
WriteableHasZ
YawPitchRollProps The properties that define YawPitchRollAngles.

Namespaces

Name Description
IModelJson

Type Aliases

Name Description
AngleProps The Properties for a JSON representation of an Angle.
AngleSweepProps The Properties for a JSON representation of an AngleSweep.
AnnounceCurvePrimitive
AnnounceNumberNumber
AnnounceNumberNumberCurvePrimitive Type for callback function which announces a pair of numbers, such as a fractional interval, along with a containing CurvePrimitive.
AnyCurve
AnyRegion
BlockComparisonFunction
GraphNodeFunction
HalfEdgeAndMaskToBooleanFunction
HalfEdgeToBooleanFunction
HasZ
LowAndHighXY
LowAndHighXYZ
Matrix3dProps
Matrix4dProps
NodeFunction
NodeToNumberFunction
OptionalGrowableFloat64Array
Point4dProps
Range1dProps
Range2dProps
Range3dProps
TransformProps
XAndY
XYAndZ
XYProps
XYZProps

Last Updated: 17 December, 2018