CurveFactory Class

The CurveFactory class contains methods for specialized curve constructions.

Methods

Name Description
constructor(): CurveFactory    
appendToArcInPlace(arcA: Arc3d, arcB: Arc3d, allowReverse: boolean = false): boolean Static If arcB is a continuation of arcA, extend arcA (in place) to include the range of arcB  
assembleArcChainOnEllipsoid(ellipsoid: Ellipsoid, pathPoints: GeodesicPathPoint[], fractionForIntermediateNormal: number = 0.5): Path Static Return a Path containing arcs are on the surface of an ellipsoid and pass through a sequence of points.  
createArcPointTangentPoint(pointA: Point3d, tangentA: Vector3d, pointB: Point3d): undefined | Arc3d Static Create a circular arc from start point, tangent at start, and another point (endpoint) on the arc.  
createArcPointTangentRadius(pointA: Point3d, tangentA: Vector3d, radius: number, upVector?: Vector3d, sweep?: Angle | AngleSweep): undefined | Arc3d Static Create a circular arc from start point, tangent at start, radius, optional plane normal, arc sweep  
createFilletsInLineString(points: IndexedXYZCollection | Point3d[] | LineString3d, radius: number | number[], allowBackupAlongEdge: boolean = true): undefined | Path Static Construct a sequence of alternating lines and arcs with the arcs creating tangent transition between consecutive edges.  
createLineSpiralArcSpiralLine(spiralType: IntegratedSpiralTypeName, pointA: Point3d, pointB: Point3d, pointC: Point3d, lengthA: number, lengthB: number, arcRadius: number): undefined | GeometryQuery[] Static Compute 2 spirals and an arc (all in XY) for a symmetric line-to-line transition.  
createLineSpiralSpiralLine(spiralType: IntegratedSpiralTypeName, startPoint: Point3d, shoulderPoint: Point3d, targetPoint: Point3d): undefined | GeometryQuery[] Static Compute 2 spirals (all in XY) for a symmetric line-to-line transition.  
createLineSpiralSpiralLineWithSpiralLength(spiralType: IntegratedSpiralTypeName, pointA: Point3d, pointB: Point3d, pointC: Point3d, spiralLength: number): undefined | GeometryQuery[] Static Compute 2 spirals (all in XY) for a symmetric line-to-line transition.  
createMiteredPipeSections(centerline: IndexedXYZCollection, sectionData: number | Readonly<WritableXAndY> | Arc3d): Arc3d[] Static * Create section arcs for mitered pipe.  
createMiteredSweepSections(centerline: IndexedXYZCollection | Point3d[], initialSection: AnyCurve, options: MiteredSweepOptions): undefined | SectionSequenceWithPlanes Static Sweep the initialSection along each segment of the centerLine until it hits the bisector plane at the next vertex.  
createPipeSegments(centerline: CurvePrimitive | CurveChain, pipeRadius: number): undefined | GeometryQuery | GeometryQuery[] Static Create solid primitives for pipe segments (e.g.  
createRectangleXY(x0: number, y0: number, x1: number, y1: number, z: number = 0, filletRadius?: number): Loop Static Create a Loop with given xy corners and fixed z.  
planePlaneIntersectionRay(planeA: PlaneAltitudeEvaluator, planeB: PlaneAltitudeEvaluator): undefined | Ray3d Static Return the intersection point of 3 planes.  

Defined in

Last Updated: 16 April, 2024