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()); }