This commit adds a retopology mode to snapping options.
When retopology mode is enabled, the following "filtering" is applied to
the enabled snapping options:
- Vertex, Edge, Edge Center, Edge Perpendicular snapping methods apply only to edited objects.
- Face Raycast and Face Nearest snapping methods apply only to non- edited objects.
Note: the snapping method(s) and target selection options still need to
set/enabled in order for snapping to happen.
Previously, Blender's snapping options were universally applied to all potential targets, which is not ideal for retopology work.
For example, an artist may wish to retopologize a highly tessellated mesh, perhaps one that was created using dyntopo sculpting tools. Vertex snapping allows the artist to snap geometry of source (low res, retopo mesh) to itself, which is especially useful with automerge enabled. Face Raycast snapping allows the artist to snap the source geometry to the target (high res mesh being reconstructed), which is critical for retopo work.
However, with Vertex snapping enabled, transformed source geometry would also snap to the vertices in the target mesh, which could be very frustrating when working on a highly tesselated mesh. Furthermore, Face Raycast snapping could snap source geometry to faces of source object rather than the underlying target object, which is likely not what the artist intended.
The retopology snapping mode limits which methods are applied to potential targets. Note: the snapping method(s) used is/are still ultimately controlled by which snapping methods (called "Elements" in snapping menu) are enabled, and the snapping targets are still controlled by target selection options. This new retopology mode only filters down which methods/targets are considered.