📄 dxfrectangle.cs
字号:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using System.Drawing;
namespace DXFFile
{
public class DXFRectangle : DXFFigure
{
// Methods
public DXFRectangle()
{
}
public DXFRectangle(DXFData aData)
: base(aData)
{
}
public override void ExportAsDXF(DXFExport ADXFExport)
{
ADXFExport.BeginPoly(base.data, 4);
ADXFExport.AddVertex(base.data.point);
ADXFExport.AddVertex(new DXFPoint(base.data.point1.X, base.data.point.Y, 0f));
ADXFExport.AddVertex(base.data.point1);
ADXFExport.AddVertex(new DXFPoint(base.data.point.X, base.data.point1.Y, 0f));
ADXFExport.AddVertex(base.data.point);
}
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;
}
public override void ParseToLines(ArrayList NewElemes)
{
DXFLine line = new DXFLine();
line.StartPoint.X = base.data.point1.X;
line.StartPoint.Y = base.data.point.Y;
line.EndPoint.X = base.data.point.X;
line.EndPoint.Y = base.data.point.Y;
NewElemes.Add(line.Clone());
line.StartPoint.X = base.data.point.X;
line.StartPoint.Y = base.data.point.Y;
line.EndPoint.X = base.data.point.X;
line.EndPoint.Y = base.data.point1.Y;
NewElemes.Add(line.Clone());
line.StartPoint.X = base.data.point.X;
line.StartPoint.Y = base.data.point1.Y;
line.EndPoint.X = base.data.point1.X;
line.EndPoint.Y = base.data.point1.Y;
NewElemes.Add(line.Clone());
line.StartPoint.X = base.data.point1.X;
line.StartPoint.Y = base.data.point1.Y;
line.EndPoint.X = base.data.point1.X;
line.EndPoint.Y = base.data.point.Y;
NewElemes.Add(line.Clone());
}
// Properties
public DXFPoint LeftTop
{
get
{
return new DXFPoint(base.data.point1.X, base.data.point.Y, 0f);
}
set
{
base.data.point1.X = value.X;
base.data.point.Y = value.Y;
}
}
public DXFPoint RightBottom
{
get
{
return new DXFPoint(base.data.point.X, base.data.point1.Y, 0f);
}
set
{
base.data.point.X = value.X;
base.data.point1.Y = value.Y;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -