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  
AnnotatedLineString3d An AnnotatedLineString3d is a linestring with additional data attached to each point  
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:  
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  
CylindricalQuery Context for computing geometry range around an axis.  
GeometryQuery Queries to be supported by Curve, Surface, and Solid objects  
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.  
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, maintaining a stack that shows complete path to each artifact.  
StrokeOptions tolerance blob for various stroking methods.  
TransitionConditionalProperties A transition spiral is a curve defined by its curvature, with the curvature function symmetric about midpoint.  
UnionRegion * A UnionRegion is a collection of other planar region types -- Loop and ParityRegion.  


Name Description  
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.  

Last Updated: 10 April, 2019