diff options
author | Germano Cavalcante <mano-wii> | 2021-11-17 17:02:54 +0300 |
---|---|---|
committer | Germano Cavalcante <germano.costa@ig.com.br> | 2021-11-18 19:42:45 +0300 |
commit | 805181bffae647a24e939c651da72a08c5c2b7cb (patch) | |
tree | 80fdb0d603e8eeed715efe9474ace36ecdc7e26c /source/blender/editors/transform/transform_snap_object.c | |
parent | 77df32548b9f377a834b54d0b740a6a51bb2f0a5 (diff) |
Revert "Transform: interactive mode for editing a 'Snap Source'"
This reverts commit f19bd637e2c38b8b967944a88609a190b5179439.
Diffstat (limited to 'source/blender/editors/transform/transform_snap_object.c')
-rw-r--r-- | source/blender/editors/transform/transform_snap_object.c | 36 |
1 files changed, 6 insertions, 30 deletions
diff --git a/source/blender/editors/transform/transform_snap_object.c b/source/blender/editors/transform/transform_snap_object.c index 9f05a0a9562..4b981e763f1 100644 --- a/source/blender/editors/transform/transform_snap_object.c +++ b/source/blender/editors/transform/transform_snap_object.c @@ -391,8 +391,9 @@ static SnapObjectData *snap_object_data_editmesh_get(SnapObjectContext *sctx, } else if (sod->mesh_runtime) { if (sod->mesh_runtime != snap_object_data_editmesh_runtime_get(ob_eval)) { - if (G.moving && !sod->treedata_editmesh.cached && !sod->cached[0] && !sod->cached[1]) { + if (G.moving) { /* Hack to avoid updating while transforming. */ + BLI_assert(!sod->treedata_editmesh.cached && !sod->cached[0] && !sod->cached[1]); sod->mesh_runtime = snap_object_data_editmesh_runtime_get(ob_eval); } else { @@ -2829,15 +2830,6 @@ void ED_transform_snap_object_context_destroy(SnapObjectContext *sctx) MEM_freeN(sctx); } -static void transform_snap_object_context_cache_clear(SnapObjectContext *sctx) -{ - BLI_ghash_clear(sctx->cache.object_map, NULL, snap_object_data_free); - if (sctx->cache.data_to_object_map != NULL) { - BLI_ghash_clear(sctx->cache.data_to_object_map, NULL, NULL); - } - BLI_memarena_clear(sctx->cache.mem_arena); -} - void ED_transform_snap_object_context_set_editmesh_callbacks( SnapObjectContext *sctx, bool (*test_vert_fn)(BMVert *, void *user_data), @@ -2845,27 +2837,11 @@ void ED_transform_snap_object_context_set_editmesh_callbacks( bool (*test_face_fn)(BMFace *, void *user_data), void *user_data) { - bool is_cache_dirty = false; - if (sctx->callbacks.edit_mesh.test_vert_fn != test_vert_fn) { - sctx->callbacks.edit_mesh.test_vert_fn = test_vert_fn; - is_cache_dirty = true; - } - if (sctx->callbacks.edit_mesh.test_edge_fn != test_edge_fn) { - sctx->callbacks.edit_mesh.test_edge_fn = test_edge_fn; - is_cache_dirty = true; - } - if (sctx->callbacks.edit_mesh.test_face_fn != test_face_fn) { - sctx->callbacks.edit_mesh.test_face_fn = test_face_fn; - is_cache_dirty = true; - } - if (sctx->callbacks.edit_mesh.user_data != user_data) { - sctx->callbacks.edit_mesh.user_data = user_data; - is_cache_dirty = true; - } + sctx->callbacks.edit_mesh.test_vert_fn = test_vert_fn; + sctx->callbacks.edit_mesh.test_edge_fn = test_edge_fn; + sctx->callbacks.edit_mesh.test_face_fn = test_face_fn; - if (is_cache_dirty) { - transform_snap_object_context_cache_clear(sctx); - } + sctx->callbacks.edit_mesh.user_data = user_data; } bool ED_transform_snap_object_project_ray_ex(SnapObjectContext *sctx, |