How to select cells on the outermost layer given a vector?

Hi VTK community,

I have a unstructured data (see the following) where I need to select the cells which are the outermost layer by the projection of a given vector N.

I am currently looking into vtkHardwareSelect and vtkCellLocator. I wonder if there is already an API to do this kind of thing?
What I eventually need to do is to perform it recursively until there is no cell left.