Total commits : 11
Total committers : 2
First Commit : February 24, 2017
Latest Commit : February 26, 2017
February 26, 2017, 13:00 (GMT)
transform_snap_object: More cleanup: Name and position of variables and functions
February 25, 2017, 22:41 (GMT)
transform_snap_object: Style, cleanup and simplify `r_axis_closest` calcs
February 24, 2017, 21:14 (GMT)
Change name and organize position of functions
February 24, 2017, 18:47 (GMT)
Simplification and comments
February 24, 2017, 18:10 (GMT)
`dm->release(dm)` accidentally removed
I do not know if this call is really necessary, but in doubt I'll leave it as it is
February 24, 2017, 17:21 (GMT)
Merge branch 'snap_system_clip_planes' of email@example.com:blender.git into snap_system_clip_planes
February 24, 2017, 17:14 (GMT)
Fix crash due to dereferenced array od edges and clean debug printfs
February 24, 2017, 15:48 (GMT)
Fix fix for realloc!
February 24, 2017, 15:47 (GMT)
Fix building on linux (gcc).
February 24, 2017, 15:46 (GMT)
Fix MEM_reallocN use
February 24, 2017, 15:40 (GMT)
Innitial commit: Snap system - Adds Clip Plan support and simulates occlusion
The main alterations here were made in the transform_snap_object.c file.
The main change add the "clip plans" of the `rv3d->clip` to bypass the snap to unseen elements. This solution continues to take advantage of the BVH.
Since we can use clip planes, we can now simulate occlusion (ie ignore what is behind a face), first a raycast is made to get the normal and coordinates of the polygon of the hit. Then a plane is created just behind the polygon, thus ignoring everything that is behind it when a snap is made for vertex or edge.
This is not the ideal occlusion solution, but it is already a good step to get the perfect occlusion test.
In addition to this change other changes were made:
Now snap_to is a flag that can indicate whether the snap is made for one, two or all elements at the same time (this will not change much for the user, the only operator using mixed snap is the ruler) ;
if the object is in wireframe mode or Bounding Box, they are ignored in snap to face (good idea?);
use the BVHTree of looptris to snap vertices and edges (saves memory);