public void set_inner_surfaces(surface_store i_inner_surface) { inner_surfaces.Add(i_inner_surface); // Set the path of inner surface List <PointF> temp_sur_pts = new List <PointF>(); foreach (edge2d ed in inner_surfaces[inner_surfaces.Count - 1].surface_edges) { temp_sur_pts.Add(ed.end_pt.get_point()); } System.Drawing.Drawing2D.GraphicsPath inner_surface = new System.Drawing.Drawing2D.GraphicsPath(); inner_surface.StartFigure(); inner_surface.AddPolygon(temp_sur_pts.ToArray()); inner_surface.CloseFigure(); // set region surface_region.Exclude(inner_surface); // exclude the inner surface region }
public void set_encapsulating_surface(surface_store outter_surface) { this._encapsulating_surface_id = outter_surface.surface_id; }