SmApiCreateCurveInterpPoints#

Defined in SM_API/inc/SmApiCurves.h

SmApiStatus SmApiCreateCurveInterpPoints(
const SmTArray<SmPoint3d> &crPoints,
SmCurve *&rpResult,
SmCurveParameterizationType eParameterization = SM_CP_UNIFORM,
)#

Requires at least 4 finite points (degree-3 fit). Fewer points or any non-finite point returns SM_ERR_INVALID_INPUT with rpResult == NULL. For the distance-based parameterizations (SM_CP_CHORDLENGTH and SM_CP_CENTRIPETAL) successive points must be distinct: a coincident pair (separation <= SM_EFF_ZERO) also returns SM_ERR_INVALID_INPUT, since a zero-length span has no defined chord/centripetal spacing. SM_CP_UNIFORM ignores spacing and tolerates duplicates. rpResult is only valid on SM_SUCCESS.

Parameters:
  • crPoints – [in ]: Points: >= 4, all finite; distinct if distance-based

  • rpResult – [out]: Resulting SmCurve

  • eParameterization – [in ]: Knot parameterization of the fit