/// <summary>Creates a <see cref="MklGridPointCurve.Interpolator"/> object that represents the implementation of a specified interpolation approach. /// </summary> /// <param name="splineOrder">The spline order.</param> /// <param name="splineType">The type of the spline.</param> /// <param name="boundaryConditionType">The type of the boundary condition.</param> /// <param name="boundaryCondition">The boundary condition.</param> /// <param name="splineCoefficientHint">The spline coefficient hint.</param> /// <param name="internalConditionType">The internal boundary condition type.</param> /// <param name="internalConditions">The internal boundary condition.</param> /// <returns>A <see cref="MklGridPointCurve.Interpolator"/> object that represents the implementation of the specified interpolation approach.</returns> public MklGridPointCurve.Interpolator Create(SplineOrder splineOrder, SplineType splineType, SplineBoundaryCondition boundaryConditionType, double[] boundaryCondition = null, SplineCoefficientStorageFormat splineCoefficientHint = SplineCoefficientStorageFormat.DF_NO_HINT, SplineInternalConditionType internalConditionType = SplineInternalConditionType.DF_NO_IC, double[] internalConditions = null) { return(new MklDataFitting(splineOrder, splineType, boundaryConditionType, boundaryCondition, splineCoefficientHint, internalConditionType, internalConditions)); }
public override int GetHashCode() { int hash = 1; if (SplineOrder != 0) { hash ^= SplineOrder.GetHashCode(); } if (MaxSplineLength != 0D) { hash ^= MaxSplineLength.GetHashCode(); } if (MaxConstraintInterval != 0D) { hash ^= MaxConstraintInterval.GetHashCode(); } if (TimeResolution != 0D) { hash ^= TimeResolution.GetHashCode(); } if (RegularizationWeight != 0D) { hash ^= RegularizationWeight.GetHashCode(); } if (FirstSplineWeightFactor != 0D) { hash ^= FirstSplineWeightFactor.GetHashCode(); } if (DerivativeWeight != 0D) { hash ^= DerivativeWeight.GetHashCode(); } if (SecondDerivativeWeight != 0D) { hash ^= SecondDerivativeWeight.GetHashCode(); } if (ThirdDerivativeWeight != 0D) { hash ^= ThirdDerivativeWeight.GetHashCode(); } if (ReferenceLineWeight != 0D) { hash ^= ReferenceLineWeight.GetHashCode(); } if (NumOutput != 0) { hash ^= NumOutput.GetHashCode(); } if (CrossLaneLateralExtension != 0D) { hash ^= CrossLaneLateralExtension.GetHashCode(); } if (CrossLaneLongitudinalExtension != 0D) { hash ^= CrossLaneLongitudinalExtension.GetHashCode(); } if (HistoryPathWeight != 0D) { hash ^= HistoryPathWeight.GetHashCode(); } if (LaneChangeMidL != 0D) { hash ^= LaneChangeMidL.GetHashCode(); } if (PointConstraintSPosition != 0D) { hash ^= PointConstraintSPosition.GetHashCode(); } if (LaneChangeLateralShift != 0D) { hash ^= LaneChangeLateralShift.GetHashCode(); } if (UturnSpeedLimit != 0D) { hash ^= UturnSpeedLimit.GetHashCode(); } return(hash); }