AlphaTab.Rendering.Staves.BarLayoutingInfo.BuildOnTimePositions C# (CSharp) Method

BuildOnTimePositions() public method

public BuildOnTimePositions ( float force ) : float>.FastDictionary
force float
return float>.FastDictionary
        public FastDictionary<int, float> BuildOnTimePositions(float force)
        {
            if (Math.Abs(_onTimePositionsForce - force) < 0.00001 && _onTimePositions != null)
            {
                return _onTimePositions;
            }
            _onTimePositionsForce = force;

            var positions = _onTimePositions = new FastDictionary<int, float>();

            var sortedSprings = _timeSortedSprings;
            if (sortedSprings.Count == 0)
            {
                return positions;
            }

            var springX = sortedSprings[0].PreSpringWidth;
            for (int i = 0; i < sortedSprings.Count; i++)
            {
                positions[sortedSprings[i].TimePosition] = springX;
                springX += CalculateWidth(force, sortedSprings[i].SpringConstant);
            }

            return positions;
        }