diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-02-29 20:29:09 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-02-29 20:29:09 +0400 |
commit | 6c53638863981dff8ab23eee2999f19bc86c0b01 (patch) | |
tree | 870942ca02bdb91ac18115e6f39739425d451efc /source/blender | |
parent | ce64128a84d9847b6ccf37ed233b0586962acd58 (diff) |
add an assert for inserting an egde with the same vertices and a BMESH_TODO for bevel.
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/blenlib/intern/edgehash.c | 3 | ||||
-rw-r--r-- | source/blender/bmesh/tools/BME_bevel.c | 17 |
2 files changed, 20 insertions, 0 deletions
diff --git a/source/blender/blenlib/intern/edgehash.c b/source/blender/blenlib/intern/edgehash.c index 97eb66eb49a..df23f792aa3 100644 --- a/source/blender/blenlib/intern/edgehash.c +++ b/source/blender/blenlib/intern/edgehash.c @@ -94,6 +94,9 @@ void BLI_edgehash_insert(EdgeHash *eh, unsigned int v0, unsigned int v1, void *v unsigned int hash; EdgeEntry *e = BLI_mempool_alloc(eh->epool); + /* this helps to track down errors with bad edge data */ + BLI_assert(v0 != v1); + EDGE_ORD(v0, v1); /* ensure v0 is smaller */ hash = EDGE_HASH(v0, v1) % eh->nbuckets; diff --git a/source/blender/bmesh/tools/BME_bevel.c b/source/blender/bmesh/tools/BME_bevel.c index 2db74ea0ea4..11153215f26 100644 --- a/source/blender/bmesh/tools/BME_bevel.c +++ b/source/blender/bmesh/tools/BME_bevel.c @@ -43,6 +43,23 @@ #include "bmesh.h" #include "bmesh_private.h" +/* BMESH_TODO + * + * Date: 2011-11-24 06:25 + * Sender: Andrew Wiggin + * Status update: I have code changes to actually make basic bevel modifier work. The things that still need to be done: + * - clean up the changes + * - get bevel by weight and bevel by angles working + * - the code uses adaptations of a couple of bmesh APIs, + * that work a little differently. for example, a join faces that doesn't just create a new face and then delete the + * original two faces and all associated loops, it extends one of the original faces to cover all the original loops + * (except for the loop on the join edge which is of course deleted). the bevel code currently requires this because it + * expects to be able to continue walking loop lists and doesn't like for loops to be deleted out from under it + * while working... + * but bmesh APIs don't do it this way because it makes it trickier to manage the interp during these operations, + * so I need to decide what to do in these cases. + */ + /* ------- Bevel code starts here -------- */ BME_TransData_Head *BME_init_transdata(int bufsize) |