InterpolationCurve3d Class

Interpolating curve.

Extends

Methods

Name Description
clone(): InterpolationCurve3d Return a deep clone  
cloneProps(): InterpolationCurve3dProps Clone the InterpolationCurve3dProps object in this InterpolationCurve3d  
copyFitPointsFloat64Array(): Float64Array Return a (copy of) the defining points, packed as a Float64Array  
dispatchToGeometryHandler(handler: GeometryHandler): any * "double dispatch" call pattern.  
isAlmostEqual(other: GeometryQuery): boolean test for exact structure and nearly identical geometry.  
isSameGeometryClass(other: GeometryQuery): boolean Test if other is also an InterpolationCurve3d  
reverseInPlace(): void Reverse the curve direction.  
toJSON(): any Return json key-value pairs for for this InterpolationCurve3d.  
tryTransformInPlace(transform: Transform): boolean Transform this InterpolationCurve3d and its defining data in place  
create(options: InterpolationCurve3dOptions | InterpolationCurve3dProps): undefined | InterpolationCurve3d Static Create an InterpolationCurve3d based on points, knots, and other properties in the InterpolationCurve3dProps or InterpolationCurve3dOptions.  
createCapture(options: InterpolationCurve3dOptions): undefined | InterpolationCurve3d Static Create an InterpolationCurve3d  

Inherited methods

Name Inherited from Description
addMappedStrokesToLineString3D(map: StrokeCountMap, linestring: LineString3d): number ProxyCurve * evaluate strokes at fractions indicated in a StrokeCountMap.
announceClipIntervals(_clipper: Clipper, _announce?: AnnounceNumberNumberCurvePrimitive): boolean ProxyCurve Find intervals of this curvePrimitive that are interior to a clipper
appendPlaneIntersectionPoints(plane: PlaneAltitudeEvaluator, result: CurveLocationDetail[]): number ProxyCurve Compute intersections with a plane.
clonePartialCurve(fractionA: number, fractionB: number): undefined | CurvePrimitive ProxyCurve Implement by proxyCurve.
cloneTransformed(transform: Transform): undefined | ProxyCurve ProxyCurve Return a transformed clone.
closestPoint(spacePoint: Point3d, extend: VariantCurveExtendParameter): undefined | CurveLocationDetail ProxyCurve Search for the curve point that is closest to the spacePoint.
collectCurvePrimitives(collectorArray?: CurvePrimitive[], smallestPossiblePrimitives: boolean = false, explodeLinestrings: boolean = false): CurvePrimitive[] ProxyCurve Return an array containing only the curve primitives.
collectCurvePrimitivesGo(collectorArray: CurvePrimitive[], _smallestPossiblePrimitives: boolean, _explodeLinestrings: boolean = false): void ProxyCurve Return an array containing only the curve primitives.
computeAndAttachRecursiveStrokeCounts(options?: StrokeOptions, parentMap?: StrokeCountMap): void ProxyCurve attach StrokeCountMap structure to this primitive (and recursively to any children)
computeStrokeCountForOptions(options?: StrokeOptions): number ProxyCurve Implement by proxyCurve
constructOffsetXY(offsetDistanceOrOptions: number | OffsetOptions): undefined | CurvePrimitive | CurvePrimitive[] ProxyCurve Implement by proxyCurve
curveLength(): number ProxyCurve return the length of the curve.
curveLengthBetweenFractions(fraction0: number, fraction1: number): number ProxyCurve Returns a (high accuracy) length of the curve between fractional positions
curveLengthWithFixedIntervalCountQuadrature(fraction0: number, fraction1: number, numInterval: number, numGauss: number = 5): number ProxyCurve * Run an integration (with a default gaussian quadrature) with a fixed fractional step
emitStrokableParts(dest: IStrokeHandler, options?: StrokeOptions): void ProxyCurve Implement by proxyCurve
emitStrokes(dest: LineString3d, options?: StrokeOptions): void ProxyCurve Implement by proxyCurve
endPoint(result?: Point3d): Point3d ProxyCurve return the end point of the primitive.
extendRange(rangeToExtend: Range3d, transform?: Transform): void ProxyCurve Implement by proxyCurve
fractionAndDistanceToPointOnTangent(fraction: number, distance: number): Point3d ProxyCurve Construct a point extrapolated along tangent at fraction.
fractionToCurvature(fraction: number): undefined | number ProxyCurve Returns the (absolute) curvature magnitude.
fractionToFrenetFrame(fraction: number, result?: Transform): undefined | Transform ProxyCurve Construct a frenet frame:
fractionToPoint(fraction: number, result?: Point3d): Point3d ProxyCurve Implement by proxyCurve
fractionToPointAnd2Derivatives(fraction: number, result?: Plane3dByOriginAndVectors): undefined | Plane3dByOriginAndVectors ProxyCurve Implement by proxyCurve
fractionToPointAndDerivative(fraction: number, result?: Ray3d): Ray3d ProxyCurve Implement by proxyCurve
fractionToPointAndUnitTangent(fraction: number, result?: Ray3d): Ray3d ProxyCurve Returns a ray whose origin is the curve point and direction is the unit tangent.
fractionToSignedXYRadiusOfCurvature(fraction: number): number ProxyCurve Construct signed distance from a point on the curve to its center of curvature (in xy only).
getFractionToDistanceScale(): undefined | number ProxyCurve * If the curve primitive has distance-along-curve strictly proportional to curve fraction, return the scale factor.
isInPlane(plane: Plane3dByOriginAndUnitNormal): boolean ProxyCurve Implement by proxyCurve
moveSignedDistanceFromFraction(startFraction: number, signedDistance: number, allowExtension: boolean, result?: CurveLocationDetail): CurveLocationDetail ProxyCurve * (Attempt to) find a position on the curve at a signed distance from start fraction.
moveSignedDistanceFromFractionGeneric(startFraction: number, signedDistance: number, allowExtension: boolean, result?: CurveLocationDetail): CurveLocationDetail Protected ProxyCurve Generic algorithm to search for point at signed distance from a fractional startPoint.
projectedParameterRange(ray: Ray3d | Vector3d, lowHigh?: Range1d): undefined | Range1d ProxyCurve Implement by proxyCurve
quickLength(): number ProxyCurve Implement by proxyCurve
range(transform?: Transform, result?: Range3d): Range3d ProxyCurve Implement by proxyCurve
rangeBetweenFractions(fraction0: number, fraction1: number, transform?: Transform): Range3d ProxyCurve Returns a (high accuracy) range of the curve between fractional positions
rangeBetweenFractionsByClone(fraction0: number, fraction1: number, transform?: Transform): Range3d ProxyCurve Returns a (high accuracy) range of the curve between fractional positions
rangeBetweenFractionsByCount(fraction0: number, fraction1: number, count: number, transform?: Transform, extrapolationFactor: number = 0.0): Range3d ProxyCurve Returns an approximate range based on a fixed number of evaluations
startPoint(result?: Point3d): Point3d ProxyCurve return the startPoint of the primitive.
tryTranslateInPlace(dx: number, dy: number = 0.0, dz: number = 0.0): boolean ProxyCurve try to move the geometry by dx,dy,dz
areAlmostEqual(a: undefined | GeometryQuery, b: undefined | GeometryQuery): boolean Static ProxyCurve apply instance method isAlmostEqual if both are defined.
installStrokeCountMap(curve: CurvePrimitive, curveMap: StrokeCountMap, parentMap?: StrokeCountMap): void Static ProxyCurve final install step to save curveMap in curve.

Properties

Name Type Description
curvePrimitiveType Readonly "interpolationCurve" String name for schema properties  
options Accessor ReadOnly InterpolationCurve3dOptions return the options pointer  

Inherited properties

Name Type Inherited from Description
_proxyCurve Protected CurvePrimitive ProxyCurve  
children Accessor ReadOnly undefined | GeometryQuery[] ProxyCurve return GeometryQuery children for recursive queries.

* leaf classes do not need to implement.
geometryCategory Readonly "curvePrimitive" ProxyCurve String name for schema properties
isExtensibleFractionSpace Accessor ReadOnly boolean ProxyCurve * Returns true if the curve's fraction queries extend beyond 0..1.
* Base class default implementation returns false.
* These class (and perhaps others in the future) will return true:
* LineSegment3d
* LineString3d
* Arc3d
parent undefined | any ProxyCurve data attached by various algorithms (e.g.
proxyCurve Accessor ReadOnly CurvePrimitive ProxyCurve return the (pointer to) the proxy curve.
strokeData undefined | StrokeCountMap ProxyCurve data attached during stroking for facets.

Defined in

Last Updated: 30 November, 2023