## CurveLocationDetail Class

CurveLocationDetail carries point and paramter data about a point evaluated on a curve.

• These are returned by a variety of queries.
• Particular contents can vary among the queries.

### Methods

Name Description
constructor():
captureFraction1Point1(fraction1: number, point1: Point3d): void Set the (optional) fraction1 and point1, using direct assignment (capture!) to point1
clone(result?: CurveLocationDetail): Return a complete copy, WITH CAVEATS .
collapseToEnd(): void If (fraction1, point1) are defined, make them the primary (and only) data.
collapseToStart(): void make (fraction, point) the primary (and only) data.
inverseInterpolateFraction(f: number, defaultFraction: number = 0): number * return the fraction where f falls between fraction and fraction1.
setCurve(curve: CurvePrimitive): void Set the CurvePrimitive pointer, leaving all other properties untouched.
setDistanceTo(point: Point3d): void record the distance from the CurveLocationDetail's point to the parameter point.
setFP(fraction: number, point: Point3d, vector?: Vector3d, a: number = 0.0): void Updated in this instance.
setFR(fraction: number, ray: Ray3d, a: number = 0): void Updated in this instance.
setIntervalRole(value: CurveIntervalRole): void Set the (optional) intervalRole field
swapFractionsAndPoints(): void * Exchange the (fraction,fraction1) and (point, point1) pairs.
updateIfCloserCurveFractionPointDistance(curve: CurvePrimitive, fraction: number, point: Point3d, a: number): boolean update or create if closer than current contents.
chooseSmallerA(detailA: undefined | CurveLocationDetail, detailB: undefined | CurveLocationDetail): undefined | CurveLocationDetail Static Return the detail with smaller a value -- detailA returned if equal.
create(curve?: CurvePrimitive, result?: CurveLocationDetail): Static create with a CurvePrimitive pointer but no coordinate data.
createConditionalMoveSignedDistance(allowExtension: boolean, curve: CurvePrimitive, startFraction: number, endFraction: number, requestedSignedDistance: number, result?: CurveLocationDetail): Static create with curveSearchStatus affected by allowExtension.
createCurveEvaluatedFraction(curve: CurvePrimitive, fraction: number, result?: CurveLocationDetail): Static create with CurvePrimitive pointer and fraction for evaluation.
createCurveEvaluatedFractionFraction(curve: CurvePrimitive, fraction0: number, fraction1: number, result?: CurveLocationDetail): Static create with CurvePrimitive pointer and 2 fractions for evaluation.
createCurveEvaluatedFractionPointAndDerivative(curve: CurvePrimitive, fraction: number, result?: CurveLocationDetail): Static create with CurvePrimitive pointer and fraction for evaluation.
createCurveFractionPoint(curve: undefined | CurvePrimitive, fraction: number, point: Point3d, result?: CurveLocationDetail): Static create with CurvePrimitive pointer, fraction, and point coordinates.
createCurveFractionPointDistance(curve: CurvePrimitive, fraction: number, point: Point3d, a: number, result?: CurveLocationDetail): Static create with CurvePrimitive pointer, fraction, and point coordinates.
createCurveFractionPointDistanceCurveSearchStatus(curve: undefined | CurvePrimitive, fraction: number, point: Point3d, distance: number, status: CurveSearchStatus, result?: CurveLocationDetail): Static create with CurvePrimitive pointer, fraction, and point coordinates
createRayFractionPoint(ray: Ray3d, fraction: number, point: Point3d, result?: CurveLocationDetail): Static Create a new detail with only ray, fraction, and point.

### Properties

Name Type Description
a number A context-specific numeric value.
childDetail undefined | CurveLocationDetail optional CurveLocationDetail with more detail of location.
curve undefined | CurvePrimitive The curve being evaluated
curveSearchStatus undefined | CurveSearchStatus A status indicator for certain searches.
fraction number The fractional position along the curve
fraction1 undefined | number (optional) second fraction, e.g.
fractionDelta Accessor ReadOnly number return the fraction delta.
hasFraction1 Accessor ReadOnly boolean test if this pair has fraction1 defined
intervalRole undefined | CurveIntervalRole Detail condition of the role this point has in some context
isIsolated Accessor ReadOnly boolean test if this is an isolated point.
point Point3d The point on the curve
point1 undefined | Point3d (optional) second point, e.g.
pointQ Point3d A context-specific additional point
ray undefined | Ray3d optional ray
vectorInCurveLocationDetail undefined | Vector3d A vector (e.g.

### Defined in

Last Updated: 21 November, 2022