Exemple #1
0
            private List <Cell.CellFace> generateFaces(Cell.CellFace cf)
            {
                List <Cell.CellFace>        faces  = new List <Cell.CellFace>();
                Dictionary <FaceNoSC, bool> closed = new Dictionary <FaceNoSC, bool>();

                faces.Add(cf);
                closed.Add(cf.f, false);
                generateFaces(cf, faces, closed);

                return(faces);
            }
Exemple #2
0
            private void generateFaces(Cell.CellFace cf, List <Cell.CellFace> result, Dictionary <FaceNoSC, bool> closed)
            {
                closed[cf.f] = true;

                Cell.CellFace[] faces = cf.c.getSameSurfaceAdjacentFaces(cf.f);
                foreach (var nf in faces)
                {
                    if (!closed.ContainsKey(nf.f) && nf.f.TextureMapping == f.TextureMapping)
                    {
                        result.Add(nf);
                        closed.Add(nf.f, false);
                        generateFaces(nf, result, closed);
                    }
                }
            }