API Reference > geometry-core > Curve Curve 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. Classes Name Description Arc3d Circular or elliptic arc. BagOfCurves * A BagOfCurves object is a collection of AnyCurve objects. ConsolidateAdjacentCurvePrimitivesOptions * Options to control method RegionOps.consolidateAdjacentPrimitives ConstructCurveBetweenCurves Context for constructing a curve that is interpolated between two other curves. CoordinateXYZ A Coordinate is a Point3d with supporting methods from the GeometryQuery abstraction. CurveAndSurfaceLocationDetail Carrier for both curve and surface data, e.g. 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. CurveExtendOptions Logic for deciding how a curve may be extended for closest point or intersection searches. CurveFactory The CurveFactory class contains methods for specialized curve constructions. 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 JointOptions * control parameters for joint construction. 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 RegionOps class RegionOps has static members for calculations on regions (areas). Beta StrokeCountChain class StrokeCountChain contains: StrokeCountMap data carrier interface for per-primitive stroke counts and distances used by PolyfaceBuilder. StrokeOptions tolerance blob for various stroking methods. UnionRegion * A UnionRegion is a collection of other planar region types -- Loop and ParityRegion. UVSurfaceLocationDetail CurveLocationDetail carries point and paramter data about a point evaluated on a curve. Enumerations Name Description CurveCurveApproachType Enumeration of configurations for intersections and min/max distance-between-curve CurveExtendMode enumeration of condition for extending a curve beyond start or end point. CurveIntervalRole An enumeration of special conditions being described by a CurveLocationDetail. CurveSearchStatus Return code for CurvePrimitive method moveSignedDistanceFromFraction Interfaces Name Description ArcBlendData Carrier structure for an arc with fractional data on incoming, outgoing curves. ArcVectors Compact vector form of an elliptic arc defined by center, vectors for angle coordinates 0 and 90 degrees, and sweep. SignedLoops Carrier object for loops characterized by area sign 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 AnyGeometryQuery Union type for subclasses of GeometryQuery. AnyRegion Union type for GeometryQuery classes that bound (planar) regions. CurveCollectionType Describes the concrete type of a CurveCollection. CurvePrimitiveType Describes the concrete type of a CurvePrimitive. GeometryQueryCategory Describes the category of a GeometryQuery, enabling type-switching like: VariantCurveExtendParameter Variants of a single parameter. Last Updated: 13 June, 2024