[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [46709] branches/meshdata_transfer/source/ blender/editors/object/object_vgroup.c: Fixed readabillity of options framework by adding enums.
Ove Murberg Henriksen
sorayasilvermoon at hotmail.com
Thu May 17 05:15:41 CEST 2012
Revision: 46709
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=46709
Author: cyborgmuppet
Date: 2012-05-17 03:15:39 +0000 (Thu, 17 May 2012)
Log Message:
-----------
Fixed readabillity of options framework by adding enums.
Modified Paths:
--------------
branches/meshdata_transfer/source/blender/editors/object/object_vgroup.c
Modified: branches/meshdata_transfer/source/blender/editors/object/object_vgroup.c
===================================================================
--- branches/meshdata_transfer/source/blender/editors/object/object_vgroup.c 2012-05-17 02:50:07 UTC (rev 46708)
+++ branches/meshdata_transfer/source/blender/editors/object/object_vgroup.c 2012-05-17 03:15:39 UTC (rev 46709)
@@ -3201,68 +3201,72 @@
int fail= 0;
/*TODO: get this parameter*/
- short option= 2;
- /* option 1 == single*/
- /* option 2 == all*/
+ enum option {single =1, all =2};
+ enum option option_choise= 1;
/*TODO: get this parameter*/
- short method= 1;
- /*method 1 == by matching indices*/
- /*method 2 == by nearest vertex*/
- /*method 3 == by nearest vertex in face*/
- /*method 4 == by nearest face*/
+ enum method {by_index = 1, by_nearest_vertex = 2, by_nearest_vertex_in_face = 3, by_nearest_face = 4};
+ enum method method_choise= 1;
/*TODO: get this parameter*/
short mode= 1;
/* mode is passed on to lower funtions*/
- /*Macro to loop through selected objects and perform operation*/
+ /*Macro to loop through selected objects and perform operation depending on option and method*/
CTX_DATA_BEGIN(C, Object*, obslc, selected_editable_objects)
{
- /*check if object is the same*/
if(obact != obslc) {
- /*apply option*/
- if(option == 1){
- /*apply method*/
- if(method == 1){
- /*Try function with mode*/
- if(ED_vgroup_transfer_weight_by_index_single(obslc, obact, mode)) change++; /*(tmp dev info remove) tested and working*/
+ switch(option_choise){
+
+ /*single*/
+ case(single):
+ switch(method_choise){
+
+ case(by_index):
+ if(ED_vgroup_transfer_weight_by_index_single(obslc, obact, mode)) change++;
else fail++;
- }
- else if(method == 2){
+ break;
+
+ case(by_nearest_vertex):
if(ED_vgroup_transfer_weight_by_nearest_vertex_single(obslc, obact, mode)) change++;
else fail++;
- }
- else if(method == 3){
+ break;
+
+ case(by_nearest_vertex_in_face):
if(ED_vgroup_transfer_weight_by_nearest_vertex_in_face_single(obslc, obact, mode)) change++;
else fail++;
- }
- else if(method == 4){
+ break;
+
+ case(by_nearest_face):
if(ED_vgroup_transfer_weight_by_nearest_face_single(obslc, obact, mode)) change++;
else fail++;
+ break;
}
- else fail++;
- }
- else if(option == 2){
- if(method == 1){
- if(ED_vgroup_transfer_weight_by_index_all(obslc, obact, mode)) change++; /*(tmp dev info remove) tested and working*/
+
+ /*all*/
+ case(all):
+ switch(method_choise){
+ case(by_index):
+ if(ED_vgroup_transfer_weight_by_index_all(obslc, obact, mode)) change++;
else fail++;
- }
- else if(method == 2){
- if(ED_vgroup_transfer_weight_by_nearest_vertex_all(obslc, obact, mode)) change++;
+ break;
+
+ case(by_nearest_vertex):
+ if(ED_vgroup_transfer_weight_by_nearest_vertex_single(obslc, obact, mode)) change++;
else fail++;
- }
- else if(method == 3){
- if(ED_vgroup_transfer_weight_by_nearest_vertex_in_face_all(obslc, obact, mode)) change++;
+ break;
+
+ case(by_nearest_vertex_in_face):
+ if(ED_vgroup_transfer_weight_by_nearest_vertex_in_face_single(obslc, obact, mode)) change++;
else fail++;
+ break;
+
+ case(by_nearest_face):
+ if(ED_vgroup_transfer_weight_by_nearest_face_single(obslc, obact, mode)) change++;
+ else fail++;
+ break;
}
- else if(method == 4){
- if(ED_vgroup_transfer_weight_by_nearest_face_all(obslc, obact, mode)) change++;
- else fail++; /*Trigger error message on function failed, includes unknown mode)*/
- }
- else fail++; /*Trigger error message on unknown method*/
}
- else fail++; /*Trigger error message on unknown option*/
/*Event notifiers for correct display of data*/
DAG_id_tag_update(&obslc->id, OB_RECALC_DATA);
More information about the Bf-blender-cvs
mailing list