Commit: 236a578a87a493fda56eccebbc9bd9de233afa7c
Author: Grigory Revzin
Date:   Sat Jun 21 15:04:55 2014 +0400
https://developer.blender.org/rB236a578a87a493fda56eccebbc9bd9de233afa7c

Merging second round of trasnform patch code review

Conflicts:
        source/blender/editors/transform/transform_manipulator.c

===================================================================

M       source/blender/blenkernel/BKE_crazyspace.h
M       source/blender/blenkernel/intern/crazyspace.c
M       source/blender/editors/transform/transform_generics.c
M       source/blender/editors/transform/transform_manipulator.c

===================================================================

diff --git a/source/blender/blenkernel/BKE_crazyspace.h 
b/source/blender/blenkernel/BKE_crazyspace.h
index a68d819..0fd10b1 100644
--- a/source/blender/blenkernel/BKE_crazyspace.h
+++ b/source/blender/blenkernel/BKE_crazyspace.h
@@ -34,7 +34,6 @@
 #ifdef __cplusplus
 extern "C" {
 #endif
-
 struct Scene;
 struct Object;
 struct BMEditMesh;
@@ -51,11 +50,11 @@ void BKE_crazyspace_set_quats_mesh(struct Mesh *me, float 
(*origcos)[3], float (
 int BKE_sculpt_get_first_deform_matrices(struct Scene *scene, struct Object 
*ob, float (**deformmats)[3][3], float (**deformcos)[3]);
 void BKE_crazyspace_build_sculpt(struct Scene *scene, struct Object *ob, float 
(**deformmats)[3][3], float (**deformcos)[3]);
 
-/* Returns true if the object's derived cage vertex indeces can be assumed to 
be in sync to
-* the editdata (base) vertex indeces */
+/* Returns true if the object's derived cage vertex indexes can be assumed to 
be in sync to
+* the editdata (base) vertex indexes */
 bool BKE_crazyspace_cageindexes_in_sync(struct Object *ob);
 
-/* Maps editmesh vertex indeces to derivedmesh cage vertex indces and returns 
the map.
+/* Maps editmesh vertex indexes to derivedmesh cage vertex indexes and returns 
the map.
 * If returns NULL, it means that mapping failed for some reason (modifier 
failing to set CD_ORIGINDEX, etc).
 * It is the caller's responsibility to free the returned array! */
 int *BKE_crazyspace_map_em_to_cage(struct BMEditMesh *em, struct DerivedMesh 
*cage_dm);
diff --git a/source/blender/blenkernel/intern/crazyspace.c 
b/source/blender/blenkernel/intern/crazyspace.c
index d7acc42..6384d78 100644
--- a/source/blender/blenkernel/intern/crazyspace.c
+++ b/source/blender/blenkernel/intern/crazyspace.c
@@ -450,50 +450,33 @@ void BKE_crazyspace_build_sculpt(Scene *scene, Object 
*ob, float (**deformmats)[
 void BKE_crazyspace_cage_active_sel_center(BMEditSelection *ese, DerivedMesh 
*cage, int *derived_index_map, float *cent)
 {
        MVert *dm_verts = cage->getVertArray(cage);
-       int cage_index;
 
        if (ese->htype == BM_VERT) {
                BMVert *v = (BMVert *)ese->ele;
-               if (derived_index_map) {
-                       cage_index = derived_index_map[BM_elem_index_get(v)];
-                       copy_v3_v3(cent, dm_verts[cage_index].co);
-               }
-               else {
-                       copy_v3_v3(cent, dm_verts[BM_elem_index_get(v)].co);
-               }
+               int cage_index = derived_index_map ? 
derived_index_map[BM_elem_index_get(v)] : BM_elem_index_get(v);
+               copy_v3_v3(cent, dm_verts[cage_index].co);
        }
        else if (ese->htype == BM_EDGE) {
                BMEdge *e = (BMEdge *)ese->ele;
+               int cage_ind_v1 = derived_index_map ? 
derived_index_map[BM_elem_index_get(e->v1)] : BM_elem_index_get(e->v1);
+               int cage_ind_v2 = derived_index_map ? 
derived_index_map[BM_elem_index_get(e->v2)] : BM_elem_index_get(e->v2);
+
                zero_v3(cent);
-               if (derived_index_map) {
-                       int cage_ind_v1 = 
derived_index_map[BM_elem_index_get(e->v1)];
-                       int cage_ind_v2 = 
derived_index_map[BM_elem_index_get(e->v2)];
-                       add_v3_v3(cent, dm_verts[cage_ind_v1].co);
-                       add_v3_v3(cent, dm_verts[cage_ind_v2].co);
-               }
-               else {
-                       add_v3_v3(cent, dm_verts[BM_elem_index_get(e->v1)].co);
-                       add_v3_v3(cent, dm_verts[BM_elem_index_get(e->v2)].co);
-               }
+               add_v3_v3(cent, dm_verts[cage_ind_v1].co);
+               add_v3_v3(cent, dm_verts[cage_ind_v2].co);
                mul_v3_fl(cent, 0.5f);
        }
        else if (ese->htype == BM_FACE) {
                BMFace *f = (BMFace *) ese->ele;
                BMVert *v;
                BMIter iter;
-               int total = 0, index;
+               int total = 0, cage_index;
 
                zero_v3(cent);
-
                BM_ITER_ELEM(v, &iter, f, BM_VERTS_OF_FACE) {
                        ++total;
-                       index = BM_elem_index_get(v);
-                       if (derived_index_map) {
-                               add_v3_v3(cent, 
dm_verts[derived_index_map[index]].co);
-                       }
-                       else {
-                               add_v3_v3(cent, dm_verts[index].co);
-                       }
+                       cage_index = derived_index_map ? 
derived_index_map[BM_elem_index_get(v)] : BM_elem_index_get(v);
+                       add_v3_v3(cent, dm_verts[cage_index].co);
                }
                mul_v3_fl(cent, 1.0f / total);
        }
@@ -507,9 +490,8 @@ bool BKE_crazyspace_cageindexes_in_sync(Object *ob)
        BLI_assert(ob->type == OB_MESH);
        for (md = ob->modifiers.first; md; md = md->next) {
                mti = modifierType_getInfo(md->type);
-               if (mti->type != eModifierTypeType_OnlyDeform
-                       && md->mode & eModifierMode_OnCage && md->mode & 
eModifierMode_Editmode 
-                       && md->mode & eModifierMode_Realtime)
+               if (mti->type != eModifierTypeType_OnlyDeform && md->mode & 
eModifierMode_OnCage 
+                               && md->mode & eModifierMode_Editmode && 
md->mode & eModifierMode_Realtime)
                {
                        return false;
                }
diff --git a/source/blender/editors/transform/transform_generics.c 
b/source/blender/editors/transform/transform_generics.c
index e625b49..400da37 100644
--- a/source/blender/editors/transform/transform_generics.c
+++ b/source/blender/editors/transform/transform_generics.c
@@ -1612,29 +1612,29 @@ void calculateCenterMedian(TransInfo *t, float 
r_center[3])
        if (ob && ob->type == OB_MESH) {
                Mesh *me = ob->data;
                DerivedMesh *cage = editbmesh_get_derived_cage(t->scene, ob, 
me->edit_btmesh, t->scene->customdata_mask);
-               int *vertexmap = NULL;
+               int *derived_index_map = NULL;
                MVert *dmv;
                BMVert *emv;
 
                if (!BKE_crazyspace_cageindexes_in_sync(ob)) {
-                       vertexmap = 
BKE_crazyspace_map_em_to_cage(me->edit_btmesh, cage);
+                       derived_index_map = 
BKE_crazyspace_map_em_to_cage(me->edit_btmesh, cage);
                }
 
                dmv = cage->getVertArray(cage);
                
-               if (vertexmap) {
+               if (derived_index_map) {
                        int dm_index;
                        for (i = 0; i < t->total; i++) {
                                if (t->data[i].flag & TD_SELECTED) {
                                        if (!(t->data[i].flag & TD_NOCENTER)) {
                                                emv = t->data[i].extra;
-                                               dm_index = 
vertexmap[BM_elem_index_get(emv)];
+                                               dm_index = 
derived_index_map[BM_elem_index_get(emv)];
                                                add_v3_v3(partial, 
dmv[dm_index].co);
                                                total++;
                                        }
                                }
                        }
-                       MEM_freeN(vertexmap);
+                       MEM_freeN(derived_index_map);
                } 
                else {
                        for (i = 0; i < t->total; i++) {
diff --git a/source/blender/editors/transform/transform_manipulator.c 
b/source/blender/editors/transform/transform_manipulator.c
index 651ff2a..b1512f7 100644
--- a/source/blender/editors/transform/transform_manipulator.c
+++ b/source/blender/editors/transform/transform_manipulator.c
@@ -260,15 +260,9 @@ bool gimbal_axis(Object *ob, float gmat[3][3])
        return 0;
 }
 
-static void calc_tw_center_dm(Scene *scene, MVert *dm_verts, int 
edit_vert_index, int *index_map) 
+static void calc_tw_center_dm(Scene *scene, MVert *dm_verts, int 
edit_vert_index, int *derived_index_map) 
 {
-       int derived_index;
-
-       if (index_map)
-               derived_index = index_map[edit_vert_index];
-       else
-               derived_index = edit_vert_index;
-
+       int derived_index = derived_index_map ? 
derived_index_map[edit_vert_index] : edit_vert_index;
        calc_tw_center(scene, dm_verts[derived_index].co);
 }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to