Exemple #1
0
        IEnumerable <ReferenceSegment> GetReferenceSegmentsFrom(ReferenceSegment refSeg, bool forward)
        {
            if (refSeg == null)
            {
                yield break;
            }

            var currSeg = refSeg;

            while (true)
            {
                currSeg = forward ? references.GetNextSegment(currSeg) : references.GetPreviousSegment(currSeg);
                if (currSeg == null)
                {
                    currSeg = forward ? references.FirstSegment : references.LastSegment;
                }
                if (currSeg == refSeg)
                {
                    break;
                }

                yield return(currSeg);
            }
        }