示例#1
0
        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;
                }
            }
        }
示例#2
0
 public void AddLineEntities(PartEntityOffset offset)
 {
     offset.Lines.ForEach(x => Entities.Add(x));
 }