   Can you use BSP trees to model 3d data?
  I know you can use BSP trees in 3D worlds to model objects on the same plane, but what about a level that has different sections of a room with different heights, or ceilings in general compared against walls?   
  I don't think this would work very well due to the nature of BSPs, which have dividing planes of (n - 1) dimensional planes. I have not created an indoor game as of yet, and I have only recently created an Octree, but I would imagine that a portal culling technique (which can be used concurrently with a BSP) would be more along the lines of what you are looking for.   