Beispiel #1
0
        //------------------------------------------------------------------------------
        private void inAdjplane(OctreeLeaf l, ref Surface s, ref List <int> used)
        {
            for (int x = -1; x < 2; x++)
            {
                for (int y = -1; y < 2; y++)
                {
                    for (int z = -1; z < 2; z++)
                    {
                        OctreeNode n = l.getAdjacentNOde(x, y, z);

                        if (testFLatNess(n))
                        {
                            if ((l.inplane(n) == true) && (!used.Contains(n.ID)))
                            {
                                used.Add(n.ID);
                                s.add(n.ID, (OctreeLeaf)n);
                                inAdjplane((OctreeLeaf)n, ref s, ref used);
                            }
                        }
                    } // for z -1,0,1
                }     // for y -1,0,1
            }         // for x -1,0,1
        }