vtkCellPicker picks invisible cells when backface culling is on

I have a mesh of a cave captured from inside, so the front faces of the triangles are inside the cave.

To be able to see the cave well, I hide the back faces of the mesh, so that we can see the inside of the cave even when the camera is outside. This works well.

However, when I want to pick a point in the cave while the camera is outside, the vtkCellPicker always hits the hidden back face of the first wall, instead of picking what is shown under the mouse, i.e. the visible opposite wall.

Is there any way to avoid picking those triangles that are culled ?
What should I change to achieve this ?

Thank you !

I have exactly the same question, only 4 years later … Have you ever found a solution?

Unfortunately not, but for this and other reasons, we ended up dropping VTK rewriting a whole 3D engine for our specific usage.

Ok, thanks for responding.

Perhaps anyone else in the community has some ideas about this … ?

There are alternatives: have you tried something like vtkHardwareSelector ?

No, not yet … We have been using vtkCellPicker ever since VTK 4 and have not changed the approach. But I can imagine that hardware accelerated picking would be much better, thanks for suggestion. I will check it out!

Regarding vtkCellPicker, currently it doesn’t look at the vtkProperty of the actors, hence it’s unaware of any culling that is applied to the faces. It’s a feature that could be added, but someone would have to write the code…