CurveFactory Class

The CurveFactory class contains methods for specialized curve constructions.

Methods

Name Description
constructor(): CurveFactory    
appendToArcInPlace(arcA: Arc3d, arcB: Arc3d, allowReverse: booleanfalse): 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: number0.5): Path Static Return a Path containing arcs are on the surface of an ellipsoid and pass through a sequence of points.  
createArcPointTangentPoint(start: Point3d, tangentAtStart: Vector3d, end: Point3d): undefined | Arc3d Static Create a circular arc defined by start point, tangent at start point, and end point.  
createArcPointTangentRadius(start: Point3d, tangentAtStart: 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: booleantrue): 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: number0, 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: 17 December, 2024