I made a patch that adds a distance based control to vertex and closest surface point types in Shrinkwrap modifier. The projection type has already has some kind of limiting so I did not bother delving into that one. Basically only the vertices that are below the distance value are projected and the rest are disregarded in the loop.
The distance threshold drag box shows up only under vertex and closest point types in the modifier panel
I was getting some compiler errors with some OpenMPO related stuff so I had to disable those pragmas that are in shrinkwrap.c. Please check out the commented out lines. There something to do with Apple and OpenMP as far as I can tell, the reason I commented out because I just could not figure out the error.
Here are the relevant lines
//FIX OPENMP Compile Error related ?? 'not specified in enclosing parallel', I have to disable it for now
//#pragma omp parallel for default(none) private(i) firstprivate(nearest) shared(calc,treeData) schedule(static)
Please check out the attacheed files for more details.
just a thought so it won't break existing files or workflow if the threshold is set to 0.0 this feature would be ignored and it would work pretty much the same way as the texture baking works right now with its distance setting.
from looking at the patch again well without actually testing it this time there is no such feature in this.
just a proposal to make it more like existing distance thresholds also since a threshold of 0.0 would effectively be the same as turning the modifier off.