コード例 #1
0
        public static Shape2DCollectionIterator Create <T>(
            IEnumerable <T> coll,
            bool connect)
            where T : IShape2D
        {
            Shape2DCollectionIterator dcollectionIterator = new Shape2DCollectionIterator(false);

            dcollectionIterator.linkedList_0 = new LinkedList <ISegment2DIterator>();
            int num1 = 0;
            int num2 = 0;

            foreach (T obj in coll)
            {
                ISegment2DIterator iterator = obj.CreateIterator();
                dcollectionIterator.linkedList_0.AddLast(iterator);
                if (num1 >= 0)
                {
                    int totalSegmentCount = iterator.TotalSegmentCount;
                    if (totalSegmentCount < 0)
                    {
                        num1 = -1;
                    }
                    else
                    {
                        num1 += totalSegmentCount;
                    }
                }
                if (num2 >= 0)
                {
                    int totalPointCount = iterator.TotalPointCount;
                    if (totalPointCount < 0)
                    {
                        num2 = -1;
                    }
                    else
                    {
                        num2 += totalPointCount;
                    }
                }
            }
            dcollectionIterator.int_0 = num1;
            return(dcollectionIterator);
        }
コード例 #2
0
ファイル: Polygon2DCollection.cs プロジェクト: 15831944/WW
 public ISegment2DIterator CreateIterator()
 {
     return((ISegment2DIterator)Shape2DCollectionIterator.Create <Polygon2D>((IEnumerable <Polygon2D>) this, false));
 }