public static bool CALCULATE_JIBUN_OUTLINE_POINTS(APM_BASE110 BAY, APM_BASE120 plate, List <APM_BASE125> items) { System.Drawing.Point Min = new System.Drawing.Point(0, 0); System.Drawing.Point Max = new System.Drawing.Point(0, 0); if (items.Count == 0) { return(false); } for (int i = 0; i < items.Count; i++) { APM_BASE125 item = items[i]; if (i == 0) { Min = new System.Drawing.Point(item.PLATE_ST_X, item.PLATE_ST_Y); Max = new System.Drawing.Point(item.PLATE_ST_X, item.PLATE_ST_Y); } else { Min = new System.Drawing.Point( Math.Min(Min.X, item.PLATE_ST_X) , Math.Min(Min.Y, item.PLATE_ST_Y) ); Max = new System.Drawing.Point( Math.Max(Max.X, item.PLATE_ST_X) , Math.Max(Max.Y, item.PLATE_ST_Y) ); } } List <System.Drawing.Point> ptf = new List <System.Drawing.Point>(); int scale = 100; // Scale // 시작 위치 및 스케일 적용 plate.MinPoint = new System.Drawing.Point( (Min.X + BAY.OffsetX) * scale , (-Min.Y - BAY.OffsetY) * scale ); plate.MaxPoint = new System.Drawing.Point( (Max.X + BAY.OffsetX) * scale , (-Max.Y - BAY.OffsetY) * scale ); return(true); }
public static List <System.Drawing.Point> BAY_OUTLINE_POINTS(APM_BASE110 BAY, List <APM_BASE115> items) { List <System.Drawing.Point> pt = new List <System.Drawing.Point>(); for (int i = 0; i < items.Count; i++) { APM_BASE115 item = items[i]; pt.Add(new System.Drawing.Point(item.ST_X, item.ST_Y)); } List <System.Drawing.Point> ptf = new List <System.Drawing.Point>(); int scale = 100; // Scale int minX = 100000; int maxY = 0; for (int i = 0; i < pt.Count; i++) { // 시작 위치 및 스케일 적용 int x = (pt[i].X + BAY.OffsetX) * scale; int y = (-pt[i].Y - BAY.OffsetY) * scale; if (i == 0) { minX = x; maxY = y; } else { minX = Math.Min(minX, x); maxY = Math.Max(maxY, y); } ptf.Add(new System.Drawing.Point(x, y)); } BAY.MinPoint = new System.Drawing.Point(minX, maxY); return(ptf); }