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.  
CloneCurvesContext Algorithmic class for cloning curve collections.  
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 parameter data about a point evaluated on a curve.  
CurveLocationDetailArrayPair Data bundle for a pair of arrays of CurveLocationDetail structures. Deprecated
CurveLocationDetailPair A pair of CurveLocationDetail.  
CurveOps Static methods for miscellaneous curve operations.  
CurvePrimitive A curve primitive is bounded.  
CylindricalRangeQuery Context for computing geometry range around an axis.  
DirectSpiral3d DirectSpiral3d acts like a TransitionSpiral3d for serialization purposes, but implements spiral types that have "direct" xy calculations without the integrations required  
EllipticalArcApproximationOptions Options for generating samples for the construction of an approximation to an elliptical arc.  
GeometryQuery Queries to be supported by Curve, Surface, and Solid objects.  
IntegratedSpiral3d An IntegratedSpiral3d is a curve defined by integrating its curvature.  
JointOptions Control parameters for joint construction, used in offset construction methods such as constructPolygonWireXYOffset and constructCurveXYOffset.  
LineSegment3d A LineSegment3d is:  
LineString3d * A LineString3d (sometimes called a PolyLine) is a sequence of xyz coordinates that are to be joined by line  
Loop A Loop is a curve chain that is the boundary of a closed (planar) loop.  
LoopCurveLoopCurve Structure carrying a pair of loops with curve geometry.  
OffsetOptions Options for offsetting a curve, used in offset construction methods such as constructOffsetXY, constructPolygonWireXYOffset and Region.Ops.constructCurveXYOffset.  
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 a fragment, i.e.  
PointString3d A PointString3d is an array of points.  
ProxyCurve A ProxyCurve is expected to be used as a base class for curve types that use some existing curve (the proxy)  
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).  
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.  
TransitionConditionalProperties A true transition spiral is a curve defined by its curvature, with the curvature function symmetric about midpoint.  
TransitionSpiral3d TransitionSpiral3d is a base class for multiple variants of spirals.  
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  
EllipticalArcSampleMethod Enumeration of methods used to sample an elliptical arc in constructCircularArcChainApproximation.  
MiteredSweepOutputSelect Enumeration of geometric output for [CurveFactory.createMiteredSweepSections].  
RegionBinaryOpType Enumeration of the binary operation types for a booleans among regions  

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 at 0 and 90 degrees, and angular sweep.  
MiteredSweepOptions Interface bundling options for [CurveFactory.createMiteredSweepSections].  
SectionSequenceWithPlanes Interface to carry parallel arrays of planes and sections, and optional geometry assembled from them, as returned by [CurveFactory.createMiteredSweepSections].  
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  
AnyChain Union type for a general curve chain, or a BagOfCurves understood to be a collection of unrelated chains.  
AnyCurve Union type for GeometryQuery classes that have contain curves, either as individual parameter space or as collections.  
AnyCurvePrimitive Union type for subclasses of CurvePrimitive.  
AnyGeometryQuery Union type for subclasses of GeometryQuery.  
AnyRegion Union type for GeometryQuery classes that bound (planar) regions.  
ChainTypes Union type for a general curve chain, or a BagOfCurves understood to be a collection of unrelated chains. Deprecated
CurveCollectionType Describes the concrete type of a CurveCollection.  
CurvePrimitiveType Describes the concrete type of a CurvePrimitive.  
DirectSpiralTypeName This is the set of valid type names for "direct" spirals.  
FractionMapper A function that maps [0,1]->[0,1].  
GeometryQueryCategory Describes the category of a GeometryQuery, enabling type-switching like:  
IntegratedSpiralTypeName This is the set of valid type names for "integrated" spirals  
LinearCurvePrimitive Union type for a linear CurvePrimitive.  
VariantCurveExtendParameter Variant options for extending a curve.  

Last Updated: 14 November, 2024