Ejemplo n.º 1
0
        public void MeshClean(Triangle triangle)
        {
            List <Triangle> triangles = new List <Triangle>();

            triangles.Add(triangle);

            while (triangles.Count != 0)
            {
                int      last = triangles.Count - 1;
                Triangle t    = triangles[last];
                triangles.RemoveAt(last);

                if (t != null && !t.IsInterior())
                {
                    t.IsInterior(true);
                    _triangles.Add(t);
                    for (int i = 0; i < 3; i++)
                    {
                        if (!t.ConstrainedEdge[i])
                        {
                            triangles.Add(t.GetNeighbor(i));
                        }
                    }
                }
            }
        }