Blender Git Loki
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) |
Cleanup 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 protected]:blender.git into snap_system_clip_planes # Conflicts: # source/blender/editors/transform/transform_snap_object.c |
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); |