Documentation/tutorial/slides for "corner detection"?

TL;DR: Are there any old tutorial slides, or TWiki documentation somewhere, to help users/developers with identifying the edges or corners of a G4VSolid?

We have a fairly complex situation where we’re searching across the surface of a volume to find a location which meeds certain criteria (this is in the context of phonon reflections, but that’s not important here). As long as the search stays on the same (likely curved) surface, we can do a stepwise search, gradually adjusting the surface normal and point-on-surface as we go.
We can even handle the case of flats on a cylindrical sidewall, because the corner is shallow so the stepwide adjustment still works.

But we’re having trouble when our search runs into a “hard corner”, such as between the sidewall and Z end of a G4Tubs, or the edge of a G4Box. Our student has encountered, and coded up in a nasty if chain, a number of “special cases,” but there always seems to be a new one hiding in the bushes.

There must be some decent general solution for this case, but I don’t know what it is. I didn’t find anything detailed about this in the Developers’ Guide, nor in reading the function comments in G4VSolid.hh. The Toolkit Guide just has nice class diagrams for the inheritance trees.