CurveOps Class

Static methods for miscellaneous curve operations.

Methods

Name Description
constructor(): CurveOps    
appendXYOffsets(curves: AnyCurve | AnyCurve[], offset: number, result: AnyCurve[]): number Static Construct a separate xy-offset for each input curve.  
collectChains(fragments: AnyCurve[], gapTolerance: numberGeometry.smallMetricDistance, planeTolerance?: number): undefined | AnyChain Static Restructure curve fragments as Paths and Loops.  
collectChainsAsLineString3d(fragments: AnyCurve[], announceChain: (chainPoints: LineString3d) => void, strokeOptions?: StrokeOptions, gapTolerance: numberGeometry.smallMetricDistance, _planeTolerance?: number): void Static Restructure curve fragments, to be stroked and passed into the callback.  
collectInsideAndOutsideXYOffsets(fragments: AnyCurve[], offsetDistance: number, gapTolerance: number): { chains?: AnyChain, insideOffsets: AnyCurve[], outsideOffsets: AnyCurve[] } Static Restructure curve fragments as Paths and Loops, and construct xy-offsets of the chains.  
computeLocalRange(curves: MultiLineStringDataVariant | AnyCurve, localRange: Range3d, localToWorld?: Transform): boolean Static Compute the range of the curves in the local coordinates of a constructed localToWorld frame.  
constructCurveXYOffset(curves: Path | Loop, offsetDistanceOrOptions: number | OffsetOptions): undefined | CurveCollection Static Construct curves that are offset from a Path or Loop as viewed in xy-plane (ignoring z).  
createSingleOffsetPrimitiveXY(curve: CurvePrimitive, offsetDistanceOrOptions: number | OffsetOptions): undefined | CurvePrimitive | CurvePrimitive[] Static Create the offset of a single curve primitive as viewed in the xy-plane (ignoring z).  
extendRange(range: Range3d, curves: AnyCurve | AnyCurve[], transform?: Transform): Range3d Static Recursively extend the range by each curve's range, allowing CurvePrimitive, CurveCollection, or array of such at any level.  
isColinear(curves: MultiLineStringDataVariant | AnyCurve, options?: PlanarColinearOptions): undefined | Ray3d Static Check whether or not the curves lie in a straight line, and if so, return a colinear ray.  
isPlanar(curves: MultiLineStringDataVariant | AnyCurve, options?: PlanarColinearOptions): undefined | Transform Static Check whether or not the curves are planar, and if so, return a localToWorld frame.  
sumLengths(curves: AnyCurve | AnyCurve[]): number Static Recursively sum curve lengths, allowing CurvePrimitive, CurveCollection, or array of such at any level.  

Defined in

Last Updated: 07 October, 2025