diff options
author | Campbell Barton <ideasman42@gmail.com> | 2021-07-02 05:46:08 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2021-07-05 11:36:33 +0300 |
commit | 04313f1bb5ff89168099cdc03d1855ae5118d29c (patch) | |
tree | 8f3238a4edbbdb0e12de8b111d31454f1bb5509b /source/blender/blenkernel/BKE_editmesh.h | |
parent | afe7387be81ef04dc566a182ccadb2b1e739f809 (diff) |
BMesh: remove redundant mesh-backups from EDBM_op_* API
Using BMesh operators through the edit-mesh API created a full copy
of the mesh so it was possible to restore the mesh in case
one of the operators raised an error.
Remove support for automatic backup/restore from the EDBM_op_* API's
as it adds significant overhead and was rarely used.
Operators that need this can use the BMBackup API to backup & restore
the mesh in case of failure.
Add warning levels to BMO_error_raise so operators can report problems
without it being interpreted as a request to cancel the operation.
For high-poly meshes creating and freeing a full copy is an expensive
operation, removing this gives a speedup of ~1.77x for most operators
except for "connect_verts" / "connect_vert_pair"
which still uses this functionality.
Diffstat (limited to 'source/blender/blenkernel/BKE_editmesh.h')
-rw-r--r-- | source/blender/blenkernel/BKE_editmesh.h | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/source/blender/blenkernel/BKE_editmesh.h b/source/blender/blenkernel/BKE_editmesh.h index e31a0a16408..9112877b5a3 100644 --- a/source/blender/blenkernel/BKE_editmesh.h +++ b/source/blender/blenkernel/BKE_editmesh.h @@ -53,10 +53,6 @@ struct Scene; typedef struct BMEditMesh { struct BMesh *bm; - /* This is for undoing failed operations. */ - struct BMEditMesh *emcopy; - int emcopyusers; - /* we store tessellations as triplets of three loops, * which each define a triangle. */ struct BMLoop *(*looptris)[3]; |