public void wFrame3d(Frame3d f) { wPoint3d(f.origin); wVector3d(f.xaxis); wVector3d(f.yaxis); wVector3d(f.zaxis); }
public static List <Segment3d> PolygonToSegments(this Polygon poly, Frame3d _fromFrame) { var shell = poly.Shell.ToSegments(); //var holes = poly.Holes.SelectMany(x => x.ToLines()); var interiorRings = poly.InteriorRings.SelectMany(x => x.ToSegments()); var all = new List <Segment3d>(); all.AddRange(shell); //all.AddRange(holes); all.AddRange(interiorRings); var newLines = new List <Segment3d>(); foreach (var line in all) { var newLine = new Segment3d (_fromFrame.FromFrameP(line.P0), _fromFrame.FromFrameP(line.P1)); newLines.Add(newLine); } return(newLines); }
public static List <Segment3d> MultiPolygonToSegments(this MultiPolygon _multiPoly, Frame3d _frame) { var list = new List <Segment3d>(); foreach (Geometry geo in _multiPoly) { if (geo is Polygon) { var poly = geo as Polygon; list.AddRange(poly.PolygonToSegments(_frame)); } } return(list); }