diff options
author | Geoffrey Bantle <hairbat@yahoo.com> | 2008-02-25 07:53:37 +0300 |
---|---|---|
committer | Geoffrey Bantle <hairbat@yahoo.com> | 2008-02-25 07:53:37 +0300 |
commit | d566fe665ad1c9f5a1078fba76f230fdd8675452 (patch) | |
tree | d07bbfbe316bf789438236934697d61595150d22 /source/blender/blenkernel/BKE_bmesh.h | |
parent | 3023458aa7319a100cfb248a3ace72de5f854670 (diff) |
-> Bevel
Fixed the following problems with Bevel code
-meshes with 2 edged faces left over at the end would cause buffer
overrun whens converting from a Bmesh to a Derived Mesh. The
conversion process now checks for both double edges and faces
and removes them when present.
-BME_reverse_loop euler had a bug that was causing the corruption of
radial cycle. This would lead to the bevel tool hanging for a long time
and possibly crashing.
-Added optimization of BME_reverse loop so that it no longer does tiny
allocations but instead uses an area of 'scratch' memory. The same thing
will be done to the Make Face euler soon
-Added proper call to selection flushing for editmode.
-Some miscellaneous cleanups and removal of unneeded debug printfs.
Diffstat (limited to 'source/blender/blenkernel/BKE_bmesh.h')
-rw-r--r-- | source/blender/blenkernel/BKE_bmesh.h | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/source/blender/blenkernel/BKE_bmesh.h b/source/blender/blenkernel/BKE_bmesh.h index 6a2209618d5..ba85833863e 100644 --- a/source/blender/blenkernel/BKE_bmesh.h +++ b/source/blender/blenkernel/BKE_bmesh.h @@ -67,20 +67,18 @@ typedef struct BME_Mesh struct CustomData vdata, edata, pdata, ldata; /*Custom Data Layer information*/ struct DerivedMesh *derivedFinal, *derivedCage; struct RetopoPaintData *retopo_paint_data; /*here for temporary code compatibility only*/ - //BME_ElementList selection; + /*some temporary storage used by loop reverse and make face eulers*/ + struct BME_Edge **edar; + int edarlen; int lastDataMask; } BME_Mesh; -//60, 52, 52, 12 704 -//60, 52, 84 - - typedef struct BME_Vert { struct BME_Vert *next, *prev; int EID; - float co[3]; /*vertex location. Actually pointer to custom data block*/ - float no[3]; /*vertex normal. Actually pointer to custom data block*/ + float co[3]; + float no[3]; struct BME_Edge *edge; /*first edge in the disk cycle for this vertex*/ void *data; /*custom vertex data*/ int eflag1, eflag2; /*reserved for use by eulers*/ @@ -122,7 +120,6 @@ typedef struct BME_Poly { struct BME_Poly *next, *prev; int EID; - //~ float no[3]; struct BME_Loop *loopbase; /*First editloop around Polygon.*/ struct ListBase holes; /*list of inner loops in the face*/ unsigned int len; /*total length of the face. Eulers should preserve this data*/ @@ -156,7 +153,6 @@ struct BME_Loop *BME_loop_find_loop(struct BME_Poly *f, struct BME_Vert *v); /*MESH CREATION/DESTRUCTION*/ struct BME_Mesh *BME_make_mesh(void); void BME_free_mesh(struct BME_Mesh *bm); -struct BME_Mesh *BME_copy_mesh(struct BME_Mesh *bm); /*FULL MESH VALIDATION*/ int BME_validate_mesh(struct BME_Mesh *bm, int halt); /*ENTER/EXIT MODELLING LOOP*/ @@ -181,10 +177,6 @@ struct BME_Poly *BME_JFKE(struct BME_Mesh *bm, struct BME_Poly *f1, struct BME_P /*NORMAL FLIP(Is its own inverse)*/ int BME_loop_reverse(struct BME_Mesh *bm, struct BME_Poly *f); -/*TOOLS CODE*/ -struct BME_Loop *BME_inset_edge(struct BME_Mesh *bm, struct BME_Loop *l, struct BME_Poly *f); -struct BME_Poly *BME_inset_poly(struct BME_Mesh *bm, struct BME_Poly *f); - /* bevel tool defines */ /* element flags */ #define BME_BEVEL_ORIG 1 |