Revision: 23134 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23134 Author: joeedh Date: 2009-09-12 06:03:26 +0200 (Sat, 12 Sep 2009)
Log Message: ----------- some bugfixes, merge to cursor didn't work Modified Paths: -------------- branches/bmesh/blender/source/blender/blenkernel/intern/modifier.c branches/bmesh/blender/source/blender/editors/mesh/bmesh_tools.c branches/bmesh/blender/source/blender/makesrna/intern/rna_mesh.c Modified: branches/bmesh/blender/source/blender/blenkernel/intern/modifier.c =================================================================== --- branches/bmesh/blender/source/blender/blenkernel/intern/modifier.c 2009-09-11 21:02:31 UTC (rev 23133) +++ branches/bmesh/blender/source/blender/blenkernel/intern/modifier.c 2009-09-12 04:03:26 UTC (rev 23134) @@ -2203,20 +2203,20 @@ BLI_mempool *vertuserpool; } MemBase; -static EdgeData *edge_get_next(EdgeData *e, int ov) { +BM_INLINE EdgeData *edge_get_next(EdgeData *e, int ov) { if (ov == e->v1) return e->v1node.next ? e->v1node.next->edge : NULL; else return e->v2node.next ? e->v2node.next->edge : NULL; } -static EdgeNode *edge_get_node(EdgeData *e, int ov) +BM_INLINE EdgeNode *edge_get_node(EdgeData *e, int ov) { if (ov == e->v1) return &e->v1node; else return &e->v2node; } -static VertUser *edge_get_vuser(MemBase *b, EdgeData *edge, int ov) +BM_INLINE VertUser *edge_get_vuser(MemBase *b, EdgeData *edge, int ov) { if (ov == edge->v1) return edge->v1user; @@ -2228,7 +2228,7 @@ } } -static void edge_set_vuser(MemBase *b, EdgeData *e, int ov, VertUser *vu) +BM_INLINE void edge_set_vuser(MemBase *b, EdgeData *e, int ov, VertUser *vu) { VertUser *olduser = edge_get_vuser(b, e, ov); @@ -2245,14 +2245,14 @@ else e->v2user = vu; } -static VertUser *new_vuser(MemBase *base) +BM_INLINE VertUser *new_vuser(MemBase *base) { VertUser *vusr = BLI_mempool_calloc(base->vertuserpool); return vusr; } -static MemBase *new_membase(void) +BM_INLINE MemBase *new_membase(void) { MemBase *b = MEM_callocN(sizeof(MemBase), "MemBase for edgesplit in modifier.c"); b->vertuserpool = BLI_mempool_create(sizeof(VertUser), 1, 2048); @@ -2260,13 +2260,13 @@ return b; } -static void free_membase(MemBase *b) +BM_INLINE void free_membase(MemBase *b) { BLI_mempool_destroy(b->vertuserpool); MEM_freeN(b); } -static EdgeData *edge_get_first(VertUser *vu) +BM_INLINE EdgeData *edge_get_first(VertUser *vu) { return vu->users.first ? ((EdgeNode*)vu->users.first)->edge : NULL; } Modified: branches/bmesh/blender/source/blender/editors/mesh/bmesh_tools.c =================================================================== --- branches/bmesh/blender/source/blender/editors/mesh/bmesh_tools.c 2009-09-11 21:02:31 UTC (rev 23133) +++ branches/bmesh/blender/source/blender/editors/mesh/bmesh_tools.c 2009-09-12 04:03:26 UTC (rev 23134) @@ -2598,16 +2598,18 @@ return OPERATOR_FINISHED; } -static int merge_target(BMEditMesh *em, Scene *scene, View3D *v3d, +static int merge_target(BMEditMesh *em, Scene *scene, View3D *v3d, Object *ob, int target, int uvmerge, wmOperator *wmop) { BMIter iter; BMVert *v; - float *co, cent[3] = {0.0f, 0.0f, 0.0f}, fac; + float *vco, co[3], cent[3] = {0.0f, 0.0f, 0.0f}, fac; int i; if (target) { - co = give_cursor(scene, v3d); + vco = give_cursor(scene, v3d); + VECCOPY(co, vco); + Mat4MulVecfl(ob->imat, co); } else { i = 0; BM_ITER(v, &iter, em->bm, BM_VERTS_OF_MESH, NULL) { @@ -2622,7 +2624,7 @@ fac = 1.0f / (float)i; VECMUL(cent, fac); - co = cent; + VECCOPY(co, cent); } if (!co) @@ -2649,10 +2651,10 @@ switch(RNA_enum_get(op->ptr, "type")) { case 3: - status = merge_target(em, scene, v3d, 0, uvs, op); + status = merge_target(em, scene, v3d, obedit, 0, uvs, op); break; case 4: - status = merge_target(em, scene, v3d, 1, uvs, op); + status = merge_target(em, scene, v3d, obedit, 1, uvs, op); break; case 1: status = merge_firstlast(em, 0, uvs, op); Modified: branches/bmesh/blender/source/blender/makesrna/intern/rna_mesh.c =================================================================== --- branches/bmesh/blender/source/blender/makesrna/intern/rna_mesh.c 2009-09-11 21:02:31 UTC (rev 23133) +++ branches/bmesh/blender/source/blender/makesrna/intern/rna_mesh.c 2009-09-12 04:03:26 UTC (rev 23134) @@ -447,7 +447,7 @@ Mesh *me= (Mesh*)ptr->id.data; CustomDataLayer *cdl= (CustomDataLayer*)ptr->data; BLI_strncpy(cdl->name, value, sizeof(cdl->name)); - CustomData_set_layer_unique_name(&me->pdata, cdl - me->pdata.layers); + CustomData_set_layer_unique_name(&me->pdata, cdl - rna_mesh_pdata(me)->layers); } static int rna_vertex_color_check(CollectionPropertyIterator *iter, void *data) @@ -563,7 +563,7 @@ Mesh *me= (Mesh*)ptr->id.data; CustomDataLayer *cdl= (CustomDataLayer*)ptr->data; BLI_strncpy(cdl->name, value, sizeof(cdl->name)); - CustomData_set_layer_unique_name(&me->ldata, cdl - me->ldata.layers); + CustomData_set_layer_unique_name(&me->ldata, cdl - rna_mesh_pdata(me)->layers); } static void rna_MeshFloatPropertyLayer_data_begin(CollectionPropertyIterator *iter, PointerRNA *ptr) _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs