BuildingCoder.CmdSpaceAdjacency.FindClosestSegments C# (CSharp) Метод

FindClosestSegments() приватный Метод

private FindClosestSegments ( Segment>.Dictionary segmentPairs, List segments ) : void
segmentPairs Segment>.Dictionary
segments List
Результат void
        private void FindClosestSegments(
            Dictionary<Segment, Segment> segmentPairs,
            List<Segment> segments)
        {
            foreach( Segment segOuter in segments )
              {
            bool first = true;
            double dist = 0;
            Segment closest = null;

            foreach( Segment segInner in segments )
            {
              if( segOuter == segInner )
            continue;

              if( segInner.Space == segOuter.Space )
            continue;

              double d = segOuter.Distance(
            segInner );

              if( first || d < dist )
              {
            dist = d;
            first = false;
            closest = segInner;
              }
            }

            segmentPairs.Add( segOuter, closest );
              }
        }