public static DebuggerContainer Show(IEnumerable <object> obj)
        {
            DebuggerContainer res = new CADability.DebuggerContainer();
            ColorDef          cd  = new ColorDef("debug", System.Drawing.Color.Red);
            int i = 0;

            foreach (object obji in obj)
            {
                if (obji is Face)
                {
                    res.Add(obji as IGeoObject, (obji as Face).GetHashCode());
                    Face        fc = obji as Face;
                    double      ll = fc.GetExtent(0.0).Size * 0.01;
                    SimpleShape ss = fc.Area;
                    GeoPoint2D  c  = ss.GetExtent().GetCenter();
                    GeoPoint    pc = fc.Surface.PointAt(c);
                    GeoVector   nc = fc.Surface.GetNormal(c);
                    Line        l  = Line.TwoPoints(pc, pc + ll * nc.Normalized);
                    l.ColorDef = cd;
                    res.Add(l);
                }
                else if (obji is IGeoObject)
                {
                    res.Add(obji as IGeoObject);
                }
                else if (obji is Edge && (obji as Edge).Curve3D != null)
                {
                    res.Add((obji as Edge).Curve3D as IGeoObject, (obji as Edge).GetHashCode());
                }
                else if (obji is ICurve2D)
                {
                    res.Add(obji as ICurve2D, System.Drawing.Color.Red, i);
                }
                else if (obji is Vertex)
                {
                    res.Add((obji as Vertex).DebugPoint, (obji as Vertex).GetHashCode());
                }
                else if (obji is IDebuggerVisualizer)
                {
                    res.Add((obji as IDebuggerVisualizer).GetList());
                }
                ++i;
            }
            return(res);
        }
 BoundingRect IQuadTreeInsertable.GetExtent()
 {
     return(shape.GetExtent());
 }