// Convert solid space to empty space and empty space to solid space.
        void invert()
        {
            for (int i = 0; i < polygons.Count; i++)
            {
                polygons[i].flip();
            }
            plane.flip();
            if (front != null)
            {
                front.invert();
            }
            if (back != null)
            {
                back.invert();
            }

            //std::swap(front, back);
            //hmm - need to swap front and back...

            csgjs_csgnode f = null;
            csgjs_csgnode b = null;

            if (front != null)
            {
                f = front.clone();
            }
            if (back != null)
            {
                b = back.clone();
            }
            back  = f;
            front = b;
        }
Esempio n. 2
0
 public void flip()
 {
     vertices.Reverse();
     for (int i = 0; i < vertices.Count; i++)
     {
         vertices[i].normal = csgjs_vector.negate(vertices[i].normal);
     }
     plane.flip();
 }