Blender Git Loki
Git Commits -> Revision 0b5a0d8
Revision 0b5a0d8 by Germano Cavalcante (master) May 5, 2016, 19:01 (GMT) |
Transform/Snap: EditMesh/BKE_bvhutils API improvements Separate the creation of trees from EditMesh from the creation of trees from DerivedMesh. This was meant to simplify the API, but didn't work out so well. `bvhtree_from_mesh_*` actually is working as `bvhtree_from_derivedmesh_*`. This is inconsistent with the trees created from EditMesh. Since for create them does not use the DerivedMesh. In such cases the dm is being used only to cache the tree in the struct DerivedMesh. What is immediately released once bvhtree is being used in functions that change(tag) the DM cleaning the cache. - Use a filter function so users of SnapObjectContext can define how edit-mesh elements are handled. - Remove em_evil. - bvhtree of EditMesh is now really cached in the snap functions. - Code becomes organized and easier to maintain. This is an important patch for future improvements in snapping functions. |
Commit Details:
Full Hash: 0b5a0d84126e629394b198508789378eb5663561
Parent Commit: 88b7292
Committed By: Campbell Barton
Lines Changed: +1008, -531
1 Added Path:
/source/blender/editors/include/ED_transform_snap_object_context.h (+107, -0) (View)
18 Modified Paths:
/source/blender/blenkernel/BKE_bvhutils.h (+40, -11) (Diff)
/source/blender/blenkernel/intern/bvhutils.c (+295, -342) (Diff)
/source/blender/blenkernel/intern/shrinkwrap.c (+63, -28) (Diff)
/source/blender/blenlib/intern/math_base_inline.c (+0, -1) (Diff)
/source/blender/bmesh/intern/bmesh_iterators.c (+50, -0) (Diff)
/source/blender/bmesh/intern/bmesh_iterators.h (+12, -0) (Diff)
/source/blender/editors/armature/editarmature_sketch.c (+1, -0) (Diff)
/source/blender/editors/curve/editcurve.c (+1, -0) (Diff)
/source/blender/editors/include/ED_transform.h (+0, -63) (Diff)
/source/blender/editors/mesh/editmesh_tools.c (+1, -0) (Diff)
/source/blender/editors/space_view3d/view3d_ruler.c (+1, -0) (Diff)
/source/blender/editors/space_view3d/view3d_walk.c (+1, -1) (Diff)
/source/blender/editors/transform/transform.h (+2, -1) (Diff)
/source/blender/editors/transform/transform_snap.c (+110, -16) (Diff)
/source/blender/editors/transform/transform_snap_object.c (+321, -68) (Diff)
/source/blender/editors/util/CMakeLists.txt (+1, -0) (Diff)
/source/blender/makesrna/intern/rna_scene_api.c (+1, -0) (Diff)
/source/blenderplayer/bad_level_call_stubs/stubs.c (+1, -0) (Diff)
/source/blender/blenkernel/intern/bvhutils.c (+295, -342) (Diff)
/source/blender/blenkernel/intern/shrinkwrap.c (+63, -28) (Diff)
/source/blender/blenlib/intern/math_base_inline.c (+0, -1) (Diff)
/source/blender/bmesh/intern/bmesh_iterators.c (+50, -0) (Diff)
/source/blender/bmesh/intern/bmesh_iterators.h (+12, -0) (Diff)
/source/blender/editors/armature/editarmature_sketch.c (+1, -0) (Diff)
/source/blender/editors/curve/editcurve.c (+1, -0) (Diff)
/source/blender/editors/include/ED_transform.h (+0, -63) (Diff)
/source/blender/editors/mesh/editmesh_tools.c (+1, -0) (Diff)
/source/blender/editors/space_view3d/view3d_ruler.c (+1, -0) (Diff)
/source/blender/editors/space_view3d/view3d_walk.c (+1, -1) (Diff)
/source/blender/editors/transform/transform.h (+2, -1) (Diff)
/source/blender/editors/transform/transform_snap.c (+110, -16) (Diff)
/source/blender/editors/transform/transform_snap_object.c (+321, -68) (Diff)
/source/blender/editors/util/CMakeLists.txt (+1, -0) (Diff)
/source/blender/makesrna/intern/rna_scene_api.c (+1, -0) (Diff)
/source/blenderplayer/bad_level_call_stubs/stubs.c (+1, -0) (Diff)