Пример #1
0
 public void wFrame3d(Frame3d f)
 {
     wPoint3d(f.origin);
     wVector3d(f.xaxis);
     wVector3d(f.yaxis);
     wVector3d(f.zaxis);
 }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }