normals of the polydata are messed up after transform

Ah. When this happens, one option is to use a different corner to define the bounding box, e.g.

   if (vtkMath::Determinant3x3(max, mid, min) < 0.0)
   {
     for (int i = 0; i < 3; ++i)
     {
       corner[i] += size[2]*min[i];
       min[i] = -min[i];
     }
   }
1 Like