亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dxfpolyline.cs

?? 導出dxf的原碼類庫,根據國外一個反編譯的
?? CS
字號:
?using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using System.Collections;

namespace DXFFile
{
    public class DXFPolyline : DXFFigure
    {
        // Methods
        public DXFPolyline()
        {
        }

        public DXFPolyline(DXFData aData, int aIndex)
            : base(aData)
        {
            if ((aData.count > 0) && (aIndex < aData.count))
            {
                this.Clear();
                base.data.count = base.data.points.Count;
                new ArrayList();
                for (int i = 0; i < ((ArrayList)aData.points[aIndex]).Count; i++)
                {
                    DXFPoint point = (DXFPoint)((ArrayList)aData.points[aIndex])[i];
                    if (point.X < base.data.point.X)
                    {
                        base.data.point.X = point.X;
                    }
                    if (point.Y < base.data.point.Y)
                    {
                        base.data.point.Y = point.Y;
                    }
                    if (point.X > base.data.point1.X)
                    {
                        base.data.point1.X = point.X;
                    }
                    if (point.Y > base.data.point1.Y)
                    {
                        base.data.point1.Y = point.Y;
                    }
                    this.Points.Add(point);
                }
            }
        }

        public void AddRect(Rectangle aRect)
        {
            if (this.PointCount == 0)
            {
                this.Clear();
                ArrayList list = new ArrayList();
                DXFPoint point = new DXFPoint();
                point.X = aRect.Left;
                point.Y = aRect.Top;
                list.Add(point);
                point.X = aRect.Right;
                point.Y = aRect.Top;
                list.Add(point);
                point.X = aRect.Right;
                point.Y = aRect.Bottom;
                list.Add(point);
                point.X = aRect.Left;
                point.Y = aRect.Bottom;
                list.Add(point);
            }
            else
            {
                for (int i = 0; i < (this.PointCount - 2); i++)
                {
                    int num2;
                    for (int j = 1; j < 4; j++)
                    {
                        DXFPoint point2 = new DXFPoint();
                        this.Points.Add(point2);
                    }
                    if ((((((DXFPoint)this.Points[i]).X == aRect.Left) && (((DXFPoint)this.Points[i + 1]).X == aRect.Left)) && ((((DXFPoint)this.Points[i]).Y > aRect.Top) || (((DXFPoint)this.Points[i + 1]).Y > aRect.Bottom))) || ((((DXFPoint)this.Points[i]).Y >= aRect.Top) && (((DXFPoint)this.Points[i + 1]).Y >= aRect.Bottom)))
                    {
                        num2 = i + 1;
                        while (num2 < (this.PointCount - 1))
                        {
                            this.Points[((this.PointCount - 1) + 4) - ((num2 - i) - 1)] = (DXFPoint)this.Points[(this.PointCount - 1) - ((num2 - i) - 1)];
                            num2++;
                        }
                        ((DXFPoint)this.Points[i + 1]).X = aRect.Right;
                        ((DXFPoint)this.Points[i + 1]).Y = aRect.Bottom;
                        ((DXFPoint)this.Points[i + 2]).X = aRect.Left;
                        ((DXFPoint)this.Points[i + 2]).Y = aRect.Bottom;
                        ((DXFPoint)this.Points[i + 3]).X = aRect.Left;
                        ((DXFPoint)this.Points[i + 3]).Y = aRect.Top;
                        ((DXFPoint)this.Points[i + 4]).X = aRect.Right;
                        ((DXFPoint)this.Points[i + 4]).Y = aRect.Top;
                        return;
                    }
                    if ((((((DXFPoint)this.Points[i]).Y == aRect.Top) && (((DXFPoint)this.Points[i + 1]).Y == aRect.Top)) && ((((DXFPoint)this.Points[i]).X > aRect.Left) || (((DXFPoint)this.Points[i + 1]).X > aRect.Right))) || ((((DXFPoint)this.Points[i]).X >= aRect.Left) && (((DXFPoint)this.Points[i + 1]).X >= aRect.Right)))
                    {
                        num2 = i + 1;
                        while (num2 < (this.PointCount - 1))
                        {
                            this.Points[((this.PointCount - 1) + 4) - ((num2 - i) - 1)] = (DXFPoint)this.Points[(this.PointCount - 1) - ((num2 - i) - 1)];
                            num2++;
                        }
                        ((DXFPoint)this.Points[i + 1]).X = aRect.Right;
                        ((DXFPoint)this.Points[i + 1]).Y = aRect.Top;
                        ((DXFPoint)this.Points[i + 2]).X = aRect.Right;
                        ((DXFPoint)this.Points[i + 2]).Y = aRect.Bottom;
                        ((DXFPoint)this.Points[i + 3]).X = aRect.Left;
                        ((DXFPoint)this.Points[i + 3]).Y = aRect.Bottom;
                        ((DXFPoint)this.Points[i + 4]).X = aRect.Left;
                        ((DXFPoint)this.Points[i + 4]).Y = aRect.Top;
                        return;
                    }
                    if ((((((DXFPoint)this.Points[i]).X == aRect.Right) && (((DXFPoint)this.Points[i + 1]).X == aRect.Right)) && ((((DXFPoint)this.Points[i]).Y > aRect.Top) || (((DXFPoint)this.Points[i + 1]).Y > aRect.Bottom))) || ((((DXFPoint)this.Points[i]).Y >= aRect.Top) && (((DXFPoint)this.Points[i]).Y >= aRect.Bottom)))
                    {
                        num2 = i + 1;
                        while (num2 < (base.data.count - 1))
                        {
                            this.Points[((this.PointCount - 1) + 4) - ((num2 - i) - 1)] = (DXFPoint)this.Points[(this.PointCount - 1) - ((num2 - i) - 1)];
                            num2++;
                        }
                        ((DXFPoint)this.Points[i + 1]).X = aRect.Left;
                        ((DXFPoint)this.Points[i + 1]).Y = aRect.Top;
                        ((DXFPoint)this.Points[i + 2]).X = aRect.Right;
                        ((DXFPoint)this.Points[i + 2]).Y = aRect.Top;
                        ((DXFPoint)this.Points[i + 3]).X = aRect.Right;
                        ((DXFPoint)this.Points[i + 3]).Y = aRect.Bottom;
                        ((DXFPoint)this.Points[i + 4]).X = aRect.Left;
                        ((DXFPoint)this.Points[i + 4]).Y = aRect.Bottom;
                        return;
                    }
                    if ((((((DXFPoint)this.Points[i]).Y == aRect.Bottom) && (((DXFPoint)this.Points[i + 1]).Y == aRect.Bottom)) && ((this.min(((DXFPoint)this.Points[i]).X, ((DXFPoint)this.Points[i + 1]).X) > aRect.Left) || (this.min(((DXFPoint)this.Points[i]).X, ((DXFPoint)this.Points[i + 1]).X) < aRect.Right))) || ((this.max(((DXFPoint)this.Points[i]).X, ((DXFPoint)this.Points[i + 1]).X) <= aRect.Left) && (this.max(((DXFPoint)this.Points[i]).X, ((DXFPoint)this.Points[i + 1]).X) <= aRect.Right)))
                    {
                        for (num2 = i + 1; num2 < (this.PointCount - 1); num2++)
                        {
                            this.Points[((this.PointCount - 1) + 4) - ((num2 - i) - 1)] = (DXFPoint)this.Points[(this.PointCount - 1) - ((num2 - i) - 1)];
                        }
                        ((DXFPoint)this.Points[i + 1]).X = aRect.Left;
                        ((DXFPoint)this.Points[i + 1]).Y = aRect.Bottom;
                        ((DXFPoint)this.Points[i + 2]).X = aRect.Left;
                        ((DXFPoint)this.Points[i + 2]).Y = aRect.Top;
                        ((DXFPoint)this.Points[i + 3]).X = aRect.Right;
                        ((DXFPoint)this.Points[i + 3]).Y = aRect.Top;
                        ((DXFPoint)this.Points[i + 4]).X = aRect.Right;
                        ((DXFPoint)this.Points[i + 4]).Y = aRect.Bottom;
                        return;
                    }
                }
                if (this.Points != null)
                {
                    Rectangle rectangle = new Rectangle();
                    rectangle = aRect;
                    this.Points.Add(rectangle);
                }
            }
        }

        public void BeginPolygonFromRect()
        {
            new ArrayList();
        }

        public void Clear()
        {
            base.data.points.Clear();
        }

        public void EndPolygonFromRect()
        {
            if (this.Points != null)
            {
                for (int i = this.Points.Count - 1; i > 0; i--)
                {
                    this.AddRect((Rectangle)this.Points[i]);
                }
                this.Points.Clear();
            }
        }

        public override void ExportAsDXF(DXFExport ADXFExport)
        {
            ADXFExport.BeginPoly(base.data, base.data.points.Count);
            for (int i = 0; i < base.data.points.Count; i++)
            {
                ADXFExport.AddVertex((DXFPoint)base.data.points[i]);
            }
        }

        private DXFPoint GetPoint(int aIndex)
        {
            return (DXFPoint)base.data.points[aIndex];
        }

        public override bool IntersecRect(Rect aRect)
        {
            Rect rect = new Rect();
            rect.X1 = (int)Math.Round((double)base.data.point.X);
            rect.Y1 = (int)Math.Round((double)base.data.point.Y);
            rect.X2 = (int)Math.Round((double)base.data.point1.X);
            rect.Y2 = (int)Math.Round((double)base.data.point1.Y);
            if (rect.X2 < rect.X1)
            {
                int num = rect.X2;
                rect.X2 = rect.X1;
                rect.X1 = num;
            }
            if (rect.Y2 < rect.Y1)
            {
                int num2 = rect.Y2;
                rect.Y2 = rect.Y1;
                rect.Y1 = num2;
            }
            Rectangle rectangle = new Rectangle(0, 0, 0, 0);
            rectangle = Rectangle.Intersect(new Rectangle(aRect.X1, aRect.Y1, aRect.X2, aRect.Y2), new Rectangle(rect.X1, rect.Y1, rect.X2, rect.Y2));
            if (((rectangle.X <= 0) && (rectangle.Y <= 0)) && ((rectangle.Width <= 0) && (rectangle.Height <= 0)))
            {
                return false;
            }
            return true;
        }

        private float max(float aPar1, float aPar2)
        {
            if (aPar1 > aPar2)
            {
                return aPar1;
            }
            return aPar2;
        }

        private float min(float aPar1, float aPar2)
        {
            if (aPar1 > aPar2)
            {
                return aPar2;
            }
            return aPar1;
        }

        public override void ParseToLines(ArrayList NewElemes)
        {
            DXFLine line = new DXFLine(base.data);
            for (int i = 0; i < (this.PointCount - 1); i++)
            {
                line.Layer = base.Layer;
                line.StartPoint = (DXFPoint)this.GetPoint(i).Clone();
                if (i < (this.PointCount - 1))
                {
                    line.EndPoint = (DXFPoint)this.GetPoint(i + 1).Clone();
                }
                else
                {
                    line.EndPoint = (DXFPoint)this.GetPoint(0).Clone();
                }
                NewElemes.Add(line.Clone());
            }
        }

        // Properties
        public int PointCount
        {
            get
            {
                return base.data.count;
            }
        }

        public ArrayList Points
        {
            get
            {
                return base.data.points;
            }
            set
            {
                base.data.points = value;
            }
        }


    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
极品尤物av久久免费看| 亚洲一区二区成人在线观看| 欧美日韩aaaaa| 欧美日本在线播放| 欧美视频一区在线| 欧美午夜不卡在线观看免费| 成人午夜激情影院| av一区二区三区在线| 国产自产v一区二区三区c| 激情六月婷婷久久| 国产河南妇女毛片精品久久久| 国产一区二区调教| 成人国产精品免费网站| 成人免费高清视频| 欧美怡红院视频| 国产精品久久久久aaaa| 精品日韩一区二区| 欧美激情一区二区三区在线| 亚洲精品视频观看| 亚洲日本在线观看| 亚洲一区av在线| 日韩精品成人一区二区三区| 青草av.久久免费一区| 久久精品国产成人一区二区三区| 国产制服丝袜一区| 99国产精品久久| 欧美性大战久久久久久久| 91麻豆国产在线观看| 色偷偷久久人人79超碰人人澡| 色偷偷久久人人79超碰人人澡| 在线播放欧美女士性生活| 精品免费视频.| 国产精品国产三级国产有无不卡| 一区二区三区四区亚洲| 免费在线观看精品| 丁香天五香天堂综合| 欧美三级韩国三级日本三斤| 日韩欧美国产wwwww| 日韩一区有码在线| 麻豆精品新av中文字幕| av不卡在线观看| 日韩一级片在线播放| 国产精品区一区二区三区| 亚洲一区国产视频| 国产成人精品影院| 777欧美精品| 中文字幕一区二区三中文字幕| 视频一区视频二区在线观看| 成人精品小蝌蚪| 欧美一级精品在线| 一区二区欧美国产| 成人免费福利片| 欧美xxxxx牲另类人与| 最新不卡av在线| 麻豆高清免费国产一区| 欧美日韩在线三区| 国产精品久久久久精k8| 国产一区二区主播在线| 欧美一区二区精美| 亚洲国产精品久久久久秋霞影院| 成人免费毛片a| 久久久精品2019中文字幕之3| 五月婷婷另类国产| 欧美日韩中文字幕一区| 亚洲综合在线第一页| 91在线观看下载| 国产精品家庭影院| 波多野结衣亚洲一区| 久久婷婷成人综合色| 麻豆国产一区二区| 日韩一区二区三区av| 日韩电影在线观看电影| 欧美猛男超大videosgay| 奇米一区二区三区| 91精品国产综合久久福利| 亚洲3atv精品一区二区三区| 91色.com| 亚洲精品第1页| 91免费在线视频观看| 国产精品嫩草影院com| 成人黄色国产精品网站大全在线免费观看| 久久久亚洲精华液精华液精华液| 久久99久久久久| 精品国产1区二区| 国产在线播放一区| 国产目拍亚洲精品99久久精品| 国产乱一区二区| 国产欧美精品在线观看| 成人黄色国产精品网站大全在线免费观看 | 91一区在线观看| 中文字幕欧美一区| 91成人免费在线视频| 亚洲成人精品一区二区| 91精品婷婷国产综合久久竹菊| 男女性色大片免费观看一区二区 | 久久99精品一区二区三区| 日韩免费一区二区| 国产精品1024久久| 中文字幕一区二区三区不卡 | 亚洲欧美激情在线| 欧美网站大全在线观看| 日韩一区欧美二区| 久久亚洲一级片| 色综合夜色一区| 捆绑调教美女网站视频一区| 久久久久久99久久久精品网站| 成人福利视频在线看| 亚洲超碰精品一区二区| 久久新电视剧免费观看| 色偷偷成人一区二区三区91| 秋霞午夜av一区二区三区| 国产日本一区二区| 欧洲日韩一区二区三区| 韩国女主播一区| 亚洲精品写真福利| 久久无码av三级| 欧美无砖砖区免费| 国产精品一区二区三区99| 亚洲人妖av一区二区| 欧美videos中文字幕| 色综合天天性综合| 国产伦精品一区二区三区免费迷 | 欧美一区二区免费观在线| 国产91富婆露脸刺激对白| 亚洲 欧美综合在线网络| 国产欧美一区二区三区网站| 欧美三日本三级三级在线播放| 国产精品77777竹菊影视小说| 亚洲国产aⅴ天堂久久| 中文字幕一区二区三区在线不卡 | 亚洲成av人影院| 国产精品久久久爽爽爽麻豆色哟哟| 9191久久久久久久久久久| 成人精品国产福利| 极品瑜伽女神91| 美女视频免费一区| 性做久久久久久免费观看| 亚洲欧美日韩系列| 国产精品久久久久毛片软件| 日韩精品一区二区三区视频 | 国内一区二区在线| 水蜜桃久久夜色精品一区的特点 | 精品一区二区三区在线播放| 裸体健美xxxx欧美裸体表演| ...av二区三区久久精品| 久久精品视频网| 26uuu国产日韩综合| 91精品在线免费| 欧美午夜精品久久久久久超碰 | 欧美一二三四在线| 欧美日韩aaaaa| 欧美精品乱码久久久久久| 欧美中文字幕不卡| 欧美色图天堂网| 在线观看亚洲精品视频| 在线国产亚洲欧美| 色欧美乱欧美15图片| 色天天综合色天天久久| 色偷偷久久人人79超碰人人澡| 色女孩综合影院| 欧美日韩一级黄| 欧美一区二区三区日韩| 日韩欧美在线综合网| 日韩免费观看高清完整版 | 国产日韩v精品一区二区| 国产亚洲制服色| 国产精品女人毛片| 一二三四社区欧美黄| 午夜欧美一区二区三区在线播放| 亚洲一区二区欧美| 久久精品99国产国产精| 国产麻豆91精品| 99久久综合精品| 欧美丝袜丝交足nylons图片| 欧美精品丝袜中出| 精品99久久久久久| 国产精品久久久久久久裸模 | 久久99国产乱子伦精品免费| 精品一区二区三区在线观看| 高清成人在线观看| 在线这里只有精品| 精品少妇一区二区三区日产乱码| 国产午夜亚洲精品不卡| 亚洲美女屁股眼交| 日本一不卡视频| 成人教育av在线| 欧美日韩精品三区| 国产精品情趣视频| 亚洲五码中文字幕| 国产福利一区二区三区视频| 97久久精品人人澡人人爽| 欧美精品久久天天躁| 国产欧美中文在线| 亚洲电影激情视频网站| 国产盗摄女厕一区二区三区| 欧美亚洲动漫另类| 国产欧美在线观看一区| 六月丁香婷婷色狠狠久久| 日本久久一区二区三区| 精品入口麻豆88视频|