Exemplo n.º 1
0
            public IEnumerable <Edge> AllEdges()
            {
                foreach (Edge e in OwnEdgesOnly())
                {
                    yield return(e);
                }

                for (int i = 0; i < holes.Count; ++i)
                {
                    SimpleClosedPath hole = GetHole(i);

                    foreach (Edge e in hole.OwnEdgesOnly())
                    {
                        yield return(e);
                    }
                }
            }
Exemplo n.º 2
0
            SimpleClosedPath Join(SimpleClosedPath exterior, SimpleClosedPath hole, Edge edge)
            {
                connector.Clear();

                connector.Add(new Edge(edge.To, edge.From));

                foreach (Edge e in exterior.OwnEdgesOnly())
                {
                    connector.Add(e);
                }

                foreach (Edge e in hole.OwnEdgesOnly())
                {
                    connector.Add(e);
                }

                connector.Add(edge);

                return(connector.CreatePolygon().GetPath(0));
            }