Fractrace.Iterate.IsAvailable C# (CSharp) Method

IsAvailable() protected method

Liefert true, wenn die angegebene z-Koordinate berechnet werden darf. Wird für die Synchronisation der asynchronen Prozesse verwendet.
protected IsAvailable ( int y ) : bool
y int
return bool
        protected bool IsAvailable(int y)
        {
            if (_abort)
                return false;
            bool retVal = true;
            lock (_generateLock)
            {
                while (_pause)
                {
                    System.Threading.Thread.Sleep(10);
                    System.Windows.Forms.Application.DoEvents();
                    if (_abort)
                        return false;
                }
                if (y < _availableY)
                    retVal = false;
                else
                {
                    _availableY = y + 1;
                    if (_maxUpdateSteps > 0 && !_oneStepProgress && !IsSmallPreview() )
                    {
                        double maxUpInvers = 1.0 / ((double)_maxUpdateSteps + 2);
                        if(!_abort)
                        _starter.Progress(100.0 * (
                            maxUpInvers * ((double)_updateCount + y / (double)_maxzIter))
                            );
                    }
                    else
                    {
                        if (!_abort)
                            _starter.Progress(100.0 * (y / (double)_maxzIter));
                    }
                    retVal = true;
                }
            }
            return retVal;
        }