private double FindSpineClosestDeflection(double rawTension, double spine, double start, double increment) { double range = increment * 10.0; double end = start + (range * 0.5); double begin = start - (range * 0.5); if (start < 0.1) { start = 0.1; } double closestDeflection = 0; double closestDifference = 1000; for (double i = begin; i < end; i += increment) { double currentSpineAMO = SpineCalculator.GetSpineAMO(rawTension, i); double difference = Math.Abs(spine - currentSpineAMO); if (difference < closestDifference) { closestDifference = difference; closestDeflection = i; } } return(closestDeflection == 0 ? start : closestDeflection); }
public double GetRawSpineFromTension(double spineTension) { return(SpineCalculator.GetSpineAMO(spineTension, Settings.FixedDeflection)); }