add an assert for inserting an egde with the same vertices and a BMESH_TODO for bevel.
authorCampbell Barton <ideasman42@gmail.com>
Wed, 29 Feb 2012 16:29:09 +0000 (16:29 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Wed, 29 Feb 2012 16:29:09 +0000 (16:29 +0000)
source/blender/blenlib/intern/edgehash.c
source/blender/bmesh/tools/BME_bevel.c

index 97eb66eb49a540efe4af9feec42b74f659d6c919..df23f792aa355c6cd0c609ab6a790fe0e024b1eb 100644 (file)
@@ -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;
index 2db74ea0ea462fc9bedc676c359c30bb484410a8..11153215f26c5948786692bfd8cc7c978b9f62d8 100644 (file)
 #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)