Curves in the GeometryQuery hierarchy: LineSegment3d, LineString3d, Arc3d, TransitionSpiral3d

  • CurvePrimitive -- base class for parametric curves
    • LineSegment3d -- a (bounded) portion of an unbounded line
    • Arc3d -- a circular or elliptic arc
    • LineString3d -- a sequence of points joined by line segments
    • TransitionSpiral -- controlled transition between curvatures
  • Support classes
  • PointString3d -- a sequence of isolated points
  • StrokeOptions -- tolerances to describe stroking accuracy
  • RecursiveCurveProcessor, RecursiveCurveProcessorWithStack -- algorithmic support for trees with CurvePrimitives at the leaf level.


Name Description  
Arc3d Circular or elliptic arc.  
BagOfCurves * A BagOfCurves object is a collection of AnyCurve objects.  
ConstructCurveBetweenCurves Context for constructing a curve that is interpolated between two other curves.  
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 CurveCurve has static method for various computations that work on a pair of curves or curve collections.  
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  
CylindricalRangeQuery Context for computing geometry range around an axis.  
GeometryQuery * GeometryQuery is an abstract base class with (abstract) methods for querying curve, solid primitive, mesh, and bspline surfaces  
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.  
ParityRegion * A ParityRegion is a collection of Loop objects.  
Path * A Path object is a collection of curves that join head-to-tail to form a path.  
PathFragment * Annotation of an interval of a curve.  
PointString3d A PointString3d is an array of points.  
RecursiveCurveProcessor base class for detailed traversal of curve artifacts.  
RecursiveCurveProcessorWithStack base class for detailed traversal of curve artifacts  
StrokeOptions tolerance blob for various stroking methods.  
UnionRegion * A UnionRegion is a collection of other planar region types -- Loop and ParityRegion.  


Name Description  
CurveCurveApproachType Enumeration of configurations for intersections and min/max distance-between-curve  
CurveIntervalRole An enumeration of special conditions being described by a CurveLocationDetail.  
CurveSearchStatus Return code for CurvePrimitive method moveSignedDistanceFromFraction  

Type Aliases

Name Description  
AnnounceCurvePrimitive Function signature for a callback which announces a curve primitive  
AnnounceNumberNumber Function signature for a callback which announces a pair of numbers  
AnnounceNumberNumberCurvePrimitive function signature for callback which announces a pair of numbers, such as a fractional interval, along with a containing CurvePrimitive.  
AnyCurve Union type for GeometryQuery classes that have contain curves, either as individual parameter space or as collections  
AnyRegion Union type for GeometryQuery classes that bound (planar) regions.  

Last Updated: 03 June, 2019