What you want to do is deleting faces wich are inside a geometric figure once and for all.
Romans solution may be acceptable if you only want to look at the object from 1 direction.
Since non visible surfaces may become visible, if you rotate the camera, it is not an acceptable solution.
Using floodfill works with multi dimensional arrays, but does it also work with 3D Koordinates? since surfaces are not always (int) and have other inclination than (1,0,0), (0,1,0) (0,0,1), this approach, in my oppinion, does not work either.
the cases in wich the algorithm may fail:
The occlusion value computed tells you wheter or not the vertices of your surface are inside your object. However: although all vertices are inside the object, part of the surface may show anyway.
Consider this: You have three elevated Objects, each containing a Vertex inside. While the vertices are not shown, the surface spanned between them is partially visible.
I myselve cannot help you, since I am also looking for an algorithm wich can do this.
greets