It's mostly working the way I want however for some reason the intersect function doesn't seem to generate hits for some parts of the body (around the crotch area) and I don't understand why this is happening or how to correct it.
I'm hoping that someone might know why this is happening and how to correct it.
But for your intersection function did you check to make sure the geometry you are running over isn't including the position you are searching from too?
You may need to use the intersect_all function and take the second item in the returned list.