Beispiel #1
0
        private CPSelectionSet GetSelectionFromWindow()
        {
            Extents2D      ex = consHatch.GetExtents();
            bool           windowSelection = (consHatch.Points[2].X > consHatch.Points[0].X);
            CPSelectionSet ss = new CPSelectionSet();

            foreach (Drawable item in Editor.Document.Model)
            {
                Extents2D exItem = item.GetExtents();
                if (windowSelection && ex.Contains(exItem) || !windowSelection && ex.IntersectsWith(exItem))
                {
                    if (Options.AllowedClasses.Count == 0 || Options.AllowedClasses.Contains(item.GetType()))
                    {
                        int index = 0;
                        foreach (ControlPoint pt in item.GetStretchPoints())
                        {
                            if (ex.Contains(pt.BasePoint))
                            {
                                ss.Add(item, index);
                            }
                            index++;
                        }
                    }
                }
            }
            return(ss);
        }