private static void Intersect(PartEntityOffset offsetLine1, PartEntityOffset offsetLine2, EntityType type) { List <PartEntityLine> firstLinesSA = offsetLine1.Lines.Where(x => x.EntityType != type).ToList(); List <PartEntityLine> secondLinesSA = offsetLine2.Lines.Where(x => x.EntityType != type).ToList(); PartEntityLine firstLineSA = firstLinesSA.Last(); PartEntityLine secondLineSA = secondLinesSA.First(); Vector2 intersection = Utils.CalcIntersection(firstLineSA, secondLineSA); if (intersection != Vector2.Zero) { if (!float.IsNaN(intersection.X) && !float.IsNaN(intersection.Y)) { firstLineSA.End = intersection; secondLineSA.Start = intersection; } } }
public void AddLineEntities(PartEntityOffset offset) { offset.Lines.ForEach(x => Entities.Add(x)); }