minor cleanup of rna
authorCampbell Barton <ideasman42@gmail.com>
Thu, 28 Jul 2011 01:38:48 +0000 (01:38 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Thu, 28 Jul 2011 01:38:48 +0000 (01:38 +0000)
- use an rna enum-set for proximity vert/edge/face options.
- rename some flags.
- better conform to rna naming conventions.

release/scripts/startup/bl_ui/properties_data_modifier.py
source/blender/makesdna/DNA_modifier_types.h
source/blender/makesrna/intern/rna_modifier.c
source/blender/modifiers/intern/MOD_weightvgedit.c
source/blender/modifiers/intern/MOD_weightvgproximity.c

index 18ae7ec2be6686285311574820515ec82dc45cec..a789a65c0f881bf0c2f29b025bbdf34aa3a7885a 100644 (file)
@@ -777,8 +777,8 @@ class DATA_PT_modifiers(ModifierButtonsPanel, bpy.types.Panel):
             col.label(text="Default Weight:")
             col.prop(md, "default_weight", text="")
 
-            layout.prop(md, "flag_map")
-            if md.flag_map:
+            layout.prop(md, "use_map")
+            if md.use_map:
                 split = layout.split()
                 col = split.column()
                 col.label("Input:")
@@ -790,27 +790,27 @@ class DATA_PT_modifiers(ModifierButtonsPanel, bpy.types.Panel):
                 col.prop(md, "map_input_high", text="Max")
                 col.prop(md, "map_output_high", text="Max")
 
-            layout.prop(md, "flag_curve_map")
-            if md.flag_curve_map:
-                row = layout.row()
-                row.template_curve_mapping(md, "cmap_curve")
+            layout.prop(md, "use_map_curve")
+            if md.use_map_curve:
+                col = layout.column()
+                col.template_curve_mapping(md, "map_curve")
 
-            layout.prop(md, "flag_reverse")
+            layout.prop(md, "use_reverse")
 
-            layout.prop(md, "flag_clamp")
-            if md.flag_clamp:
+            layout.prop(md, "use_clamp")
+            if md.use_clamp:
                 row = layout.row()
-                row.prop(md, "clamp_min_weight")
-                row.prop(md, "clamp_max_weight")
+                row.prop(md, "clamp_weight_min")
+                row.prop(md, "clamp_weight_max")
 
             row = layout.row()
-            row.prop(md, "flag_add2vg")
-            row.prop(md, "flag_remfvg")
+            row.prop(md, "use_add")
+            row.prop(md, "use_remove")
             row = layout.row()
-            if md.flag_add2vg:
+            if md.use_add:
                 row.prop(md, "add_threshold")
-            if md.flag_remfvg:
-                row.prop(md, "rem_threshold")
+            if md.use_remove:
+                row.prop(md, "remove_threshold")
 
             # Common mask options…
             layout.separator()
@@ -850,15 +850,13 @@ class DATA_PT_modifiers(ModifierButtonsPanel, bpy.types.Panel):
 
             col = split.column()
             col.label(text="Target Object:")
-            col.prop(md, "ob_target", text="")
+            col.prop(md, "target", text="")
 
             row = layout.row()
             row.prop(md, "proximity_mode", expand=True)
-            if md.proximity_mode == 'OBJ2VERTDIST':
+            if md.proximity_mode == 'GEOMETRY':
                 row = layout.row()
-                row.prop(md, "obj2vert_verts")
-                row.prop(md, "obj2vert_edges")
-                row.prop(md, "obj2vert_faces")
+                row.prop(md, "proximity_geometry", expand=True)
 
             # Common mask options…
             layout.separator()
index 2b1111e1308da472e8cf0c8a699a0b2e27fdd9ce..cc8da863c44c7f224f478062837e48ba54b01b08 100644 (file)
@@ -810,7 +810,7 @@ typedef struct WeightVGEditModifierData {
        float   add_threshold, rem_threshold;
 
        /* Clamping options. */
-       float   clamp_min_weight, clamp_max_weight;
+       float   clamp_weight_min, clamp_weight_max;
 
        /* Masking options. */
        float   mask_constant; /* The global “influence”, if no vgroup nor tex is used as mask. */
@@ -846,7 +846,7 @@ typedef struct WeightVGEditModifierData {
 typedef struct WeightVGMixModifierData {
        ModifierData modifier;
 
-       /* XXX Note: I tried to keep everything logically ordered – provided the
+       /* XXX Note: I tried to keep everything logically ordered – provided the
         *           alignment constraints…
         */
 
@@ -926,17 +926,17 @@ typedef struct WeightVGProximityModifierData {
 
 /* Modes of proximity weighting. */
 /* Dist from target object to affected object. */
-#define MOD_WVG_PROXIMITY_OBJ2OBJDIST          1
+#define MOD_WVG_PROXIMITY_OBJECT                       1 /* source vertex to other location */
 /* Dist from target object to vertex. */
-#define MOD_WVG_PROXIMITY_OBJ2VERTDIST         2
+#define MOD_WVG_PROXIMITY_GEOMETRY                     2 /* source vertex to other geometry */
 
 /* Flags options for proximity weighting. */
-/* Use nearest vertices of target obj, in OVJ2VERTDIST mode. */
-#define MOD_WVG_PROXIMITY_O2VD_VERTS           (1 << 0)
-/* Use nearest edges of target obj, in OVJ2VERTDIST mode. */
-#define MOD_WVG_PROXIMITY_O2VD_EDGES           (1 << 1)
-/* Use nearest faces of target obj, in OVJ2VERTDIST mode. */
-#define MOD_WVG_PROXIMITY_O2VD_FACES           (1 << 2)
+/* Use nearest vertices of target obj, in MOD_WVG_PROXIMITY_GEOMETRY mode. */
+#define MOD_WVG_PROXIMITY_GEOM_VERTS           (1 << 0)
+/* Use nearest edges of target obj, in MOD_WVG_PROXIMITY_GEOMETRY mode. */
+#define MOD_WVG_PROXIMITY_GEOM_EDGES           (1 << 1)
+/* Use nearest faces of target obj, in MOD_WVG_PROXIMITY_GEOMETRY mode. */
+#define MOD_WVG_PROXIMITY_GEOM_FACES           (1 << 2)
 
 /* Defines common to all WeightVG modifiers. */
 /* Tex channel to be used as mask. */
index 39d3e5873bb80f6cc6ac3504eb72cda2d0bf581c..75449382c5eec548cde0bd3dbe453244c665128d 100644 (file)
@@ -2553,34 +2553,34 @@ static void rna_def_modifier_weightvgedit(BlenderRNA *brna)
        RNA_def_property_string_funcs(prop, NULL, NULL, "rna_WeightVGModifier_vgroup_set");
        RNA_def_property_update(prop, 0, "rna_Modifier_update");
 
-       prop= RNA_def_property(srna, "flag_map", PROP_BOOLEAN, PROP_NONE);
+       prop= RNA_def_property(srna, "use_map", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "edit_flags", MOD_WVG_EDIT_MAP);
        RNA_def_property_ui_text(prop, "Map", "Map vertex group weights.");
        RNA_def_property_update(prop, 0, "rna_Modifier_update");
 
-       prop= RNA_def_property(srna, "flag_curve_map", PROP_BOOLEAN, PROP_NONE);
+       prop= RNA_def_property(srna, "use_map_curve", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "edit_flags", MOD_WVG_EDIT_CMAP);
        RNA_def_property_ui_text(prop, "Curve Map", "Map vertex group weights with a curve.");
        RNA_def_property_update(prop, 0, "rna_Modifier_update");
 
-       prop= RNA_def_property(srna, "flag_reverse", PROP_BOOLEAN, PROP_NONE);
+       prop= RNA_def_property(srna, "use_reverse", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "edit_flags", MOD_WVG_EDIT_REVERSE_WEIGHTS);
        RNA_def_property_ui_text(prop, "Reverse", "Reverse vertex group weights.");
        RNA_def_property_update(prop, 0, "rna_Modifier_update");
 
-       prop= RNA_def_property(srna, "flag_add2vg", PROP_BOOLEAN, PROP_NONE);
+       prop= RNA_def_property(srna, "use_add", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "edit_flags", MOD_WVG_EDIT_ADD2VG);
        RNA_def_property_ui_text(prop, "Add to VG", "Add vertices with weight over threshold "
                                                    "to vgroup.");
        RNA_def_property_update(prop, 0, "rna_Modifier_update");
 
-       prop= RNA_def_property(srna, "flag_remfvg", PROP_BOOLEAN, PROP_NONE);
+       prop= RNA_def_property(srna, "use_remove", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "edit_flags", MOD_WVG_EDIT_REMFVG);
        RNA_def_property_ui_text(prop, "Rem from VG", "Remove vertices with weight below threshold "
                                                      "from vgroup.");
        RNA_def_property_update(prop, 0, "rna_Modifier_update");
 
-       prop= RNA_def_property(srna, "flag_clamp", PROP_BOOLEAN, PROP_NONE);
+       prop= RNA_def_property(srna, "use_clamp", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "edit_flags", MOD_WVG_EDIT_CLAMP);
        RNA_def_property_ui_text(prop, "Clamp", "Clamp vertex group weights.");
        RNA_def_property_update(prop, 0, "rna_Modifier_update");
@@ -2620,32 +2620,34 @@ static void rna_def_modifier_weightvgedit(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Output High Weight", "High output mapping value.");
        RNA_def_property_update(prop, 0, "rna_Modifier_update");
 
-       prop= RNA_def_property(srna, "cmap_curve", PROP_POINTER, PROP_NONE);
+       prop= RNA_def_property(srna, "map_curve", PROP_POINTER, PROP_NONE);
        RNA_def_property_pointer_sdna(prop, NULL, "cmap_curve");
        RNA_def_property_ui_text(prop, "Mapping Curve", "Custom mapping curve.");
        RNA_def_property_update(prop, 0, "rna_Modifier_update");
 
        prop= RNA_def_property(srna, "add_threshold", PROP_FLOAT, PROP_NONE);
+       RNA_def_property_float_sdna(prop, NULL, "add_threshold");
        RNA_def_property_range(prop, -FLT_MAX, FLT_MAX);
        RNA_def_property_ui_range(prop, -100000.0, 100000.0, 10, 0);
        RNA_def_property_ui_text(prop, "Add Threshold", "Lower bound for a vertex’s weight "
                                                        "to be added to the vgroup.");
        RNA_def_property_update(prop, 0, "rna_Modifier_update");
 
-       prop= RNA_def_property(srna, "rem_threshold", PROP_FLOAT, PROP_NONE);
+       prop= RNA_def_property(srna, "remove_threshold", PROP_FLOAT, PROP_NONE);
+       RNA_def_property_float_sdna(prop, NULL, "rem_threshold");
        RNA_def_property_range(prop, -FLT_MAX, FLT_MAX);
        RNA_def_property_ui_range(prop, -100000.0, 100000.0, 10, 0);
        RNA_def_property_ui_text(prop, "Rem Threshold", "Upper bound for a vertex’s weight "
                                                        "to be removed from the vgroup.");
        RNA_def_property_update(prop, 0, "rna_Modifier_update");
 
-       prop= RNA_def_property(srna, "clamp_min_weight", PROP_FLOAT, PROP_NONE);
+       prop= RNA_def_property(srna, "clamp_weight_min", PROP_FLOAT, PROP_NONE);
        RNA_def_property_range(prop, -FLT_MAX, FLT_MAX);
        RNA_def_property_ui_range(prop, -100000.0, 100000.0, 10, 0);
        RNA_def_property_ui_text(prop, "Min Weight", "Lowest weight a vertex can get.");
        RNA_def_property_update(prop, 0, "rna_Modifier_update");
 
-       prop= RNA_def_property(srna, "clamp_max_weight", PROP_FLOAT, PROP_NONE);
+       prop= RNA_def_property(srna, "clamp_weight_max", PROP_FLOAT, PROP_NONE);
        RNA_def_property_range(prop, -FLT_MAX, FLT_MAX);
        RNA_def_property_ui_range(prop, -100000.0, 100000.0, 10, 0);
        RNA_def_property_ui_text(prop, "Max Weight", "Highest weight a vertex can get.");
@@ -2728,12 +2730,18 @@ static void rna_def_modifier_weightvgmix(BlenderRNA *brna)
 static void rna_def_modifier_weightvgproximity(BlenderRNA *brna)
 {
        static EnumPropertyItem weightvg_proximity_modes_items[] = {
-               {MOD_WVG_PROXIMITY_OBJ2OBJDIST, "OBJ2OBJDIST", 0, "Object Distance",
+               {MOD_WVG_PROXIMITY_OBJECT, "OBJECT", 0, "Object Distance",
                 "Use distance between affected and target objects."},
-               {MOD_WVG_PROXIMITY_OBJ2VERTDIST, "OBJ2VERTDIST", 0, "Verts Distance",
+               {MOD_WVG_PROXIMITY_GEOMETRY, "GEOMETRY", 0, "Geometry Distance",
                 "Use distance between affected object’s vertices and target object, or target object’s geometry."},
                {0, NULL, 0, NULL, NULL}};
 
+       static EnumPropertyItem proximity_geometry_items[] = {
+               {MOD_WVG_PROXIMITY_GEOM_VERTS, "VERTEX", ICON_VERTEXSEL, "Vertex", ""},
+               {MOD_WVG_PROXIMITY_GEOM_EDGES, "EDGE", ICON_EDGESEL, "Edge", ""},
+               {MOD_WVG_PROXIMITY_GEOM_FACES, "FACE", ICON_FACESEL, "Face", ""},
+               {0, NULL, 0, NULL, NULL}};
+
        StructRNA *srna;
        PropertyRNA *prop;
 
@@ -2755,25 +2763,14 @@ static void rna_def_modifier_weightvgproximity(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Proximity Mode", "Which distances to target object to use.");
        RNA_def_property_update(prop, 0, "rna_Modifier_update");
 
-       prop= RNA_def_property(srna, "obj2vert_verts", PROP_BOOLEAN, PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "proximity_flags", MOD_WVG_PROXIMITY_O2VD_VERTS);
-       RNA_def_property_ui_text(prop, "Verts as Target",
-                                "Use shortest distance to target object’s vertices as weight.");
-       RNA_def_property_update(prop, 0, "rna_Modifier_update");
-
-       prop= RNA_def_property(srna, "obj2vert_edges", PROP_BOOLEAN, PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "proximity_flags", MOD_WVG_PROXIMITY_O2VD_EDGES);
-       RNA_def_property_ui_text(prop, "Edges as Target",
-                                "Use shortest distance to target object’s edges as weight.");
+       prop= RNA_def_property(srna, "proximity_geometry", PROP_ENUM, PROP_NONE);
+       RNA_def_property_enum_sdna(prop, NULL, "proximity_flags");
+       RNA_def_property_enum_items(prop, proximity_geometry_items);
+       RNA_def_property_flag(prop, PROP_ENUM_FLAG); /* important to run before default set */
+       RNA_def_property_ui_text(prop, "Proximity Geometry", "Use shortest distance to target object’s geometry as weight");
        RNA_def_property_update(prop, 0, "rna_Modifier_update");
 
-       prop= RNA_def_property(srna, "obj2vert_faces", PROP_BOOLEAN, PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "proximity_flags", MOD_WVG_PROXIMITY_O2VD_FACES);
-       RNA_def_property_ui_text(prop, "Faces as Target",
-                                "Use shortest distance to target object’s faces as weight.");
-       RNA_def_property_update(prop, 0, "rna_Modifier_update");
-
-       prop= RNA_def_property(srna, "ob_target", PROP_POINTER, PROP_NONE);
+       prop= RNA_def_property(srna, "target", PROP_POINTER, PROP_NONE);
        RNA_def_property_pointer_sdna(prop, NULL, "proximity_ob_target");
        RNA_def_property_ui_text(prop, "Target Object", "Object to calculate vertices’ distances from.");
        RNA_def_property_flag(prop, PROP_EDITABLE|PROP_ID_SELF_CHECK);
index e84ecffa74b45064990af5d9b6744cc2aa1c584d..5bc185a40af64026916451d71284cd280057fa4e 100644 (file)
@@ -71,8 +71,8 @@ static void initData(ModifierData *md)
        wmd->cmap_curve             = curvemapping_add(1, 0.0, 0.0, 1.0, 1.0);
        curvemapping_initialize(wmd->cmap_curve);
 
-       wmd->clamp_min_weight       = 0.0f;
-       wmd->clamp_max_weight       = 1.0f;
+       wmd->clamp_weight_min       = 0.0f;
+       wmd->clamp_weight_max       = 1.0f;
 
        wmd->add_threshold          = 0.01f;
        wmd->rem_threshold          = 0.01f;
@@ -104,8 +104,8 @@ static void copyData(ModifierData *md, ModifierData *target)
        twmd->map_new_max            = wmd->map_new_max;
        twmd->cmap_curve             = curvemapping_copy(wmd->cmap_curve);
 
-       twmd->clamp_min_weight       = wmd->clamp_min_weight;
-       twmd->clamp_max_weight       = wmd->clamp_max_weight;
+       twmd->clamp_weight_min       = wmd->clamp_weight_min;
+       twmd->clamp_weight_max       = wmd->clamp_weight_max;
 
        twmd->add_threshold          = wmd->add_threshold;
        twmd->rem_threshold          = wmd->rem_threshold;
@@ -311,7 +311,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, DerivedMesh *der
        /* Do clamping. */
        if (do_clamp) {
                for (i = 0; i < numVerts; i++)
-                       CLAMP(org_w[i], wmd->clamp_min_weight, wmd->clamp_max_weight);
+                       CLAMP(org_w[i], wmd->clamp_weight_min, wmd->clamp_weight_max);
        }
 
        /* Update/add/remove from vgroup. */
index 80524eec9af9ff9a64e33dbebdb6642cf26a1cde..84de87a4662a2bfa8788eb4ae8b073c4b2fa88e4 100644 (file)
@@ -207,8 +207,8 @@ static void initData(ModifierData *md)
 {
        WeightVGProximityModifierData *wmd = (WeightVGProximityModifierData*) md;
 
-       wmd->proximity_mode       = MOD_WVG_PROXIMITY_OBJ2OBJDIST;
-       wmd->proximity_flags      = MOD_WVG_PROXIMITY_O2VD_VERTS;
+       wmd->proximity_mode       = MOD_WVG_PROXIMITY_OBJECT;
+       wmd->proximity_flags      = MOD_WVG_PROXIMITY_GEOM_VERTS;
 
        wmd->mask_constant        = 1.0f;
        wmd->mask_tex_use_channel = MOD_WVG_MASK_TEX_USE_INT; /* Use intensity by default. */
@@ -315,7 +315,9 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, DerivedMesh *der
 {
        WeightVGProximityModifierData *wmd = (WeightVGProximityModifierData*) md;
        DerivedMesh *dm = derivedData, *ret = NULL;
+#if 0
        Mesh *ob_m = NULL;
+#endif
        MDeformVert *dvert = NULL;
        int numVerts;
        float (*v_cos)[3] = NULL; /* The vertices coordinates. */
@@ -419,15 +421,15 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, DerivedMesh *der
                ret->getVertCo(ret, indices[i], v_cos[i]);
 
        /* Compute wanted distances. */
-       if (wmd->proximity_mode == MOD_WVG_PROXIMITY_OBJ2OBJDIST) {
+       if (wmd->proximity_mode == MOD_WVG_PROXIMITY_OBJECT) {
                float dist = get_ob2ob_distance(ob, obr);
                for(i = 0; i < numIdx; i++)
                        new_w[i] = dist;
        }
-       else if (wmd->proximity_mode == MOD_WVG_PROXIMITY_OBJ2VERTDIST) {
-               char use_trgt_verts = (wmd->proximity_flags & MOD_WVG_PROXIMITY_O2VD_VERTS);
-               char use_trgt_edges = (wmd->proximity_flags & MOD_WVG_PROXIMITY_O2VD_EDGES);
-               char use_trgt_faces = (wmd->proximity_flags & MOD_WVG_PROXIMITY_O2VD_FACES);
+       else if (wmd->proximity_mode == MOD_WVG_PROXIMITY_GEOMETRY) {
+               const short use_trgt_verts = (wmd->proximity_flags & MOD_WVG_PROXIMITY_GEOM_VERTS);
+               const short use_trgt_edges = (wmd->proximity_flags & MOD_WVG_PROXIMITY_GEOM_EDGES);
+               const short use_trgt_faces = (wmd->proximity_flags & MOD_WVG_PROXIMITY_GEOM_FACES);
 
                if (use_trgt_verts || use_trgt_edges || use_trgt_faces) {
                        DerivedMesh *target_dm = obr->derivedFinal;
@@ -460,11 +462,13 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, DerivedMesh *der
                                }
                        }
                        /* Else, fall back to default obj2vert behavior. */
-                       else
+                       else {
                                get_vert2ob_distance(numIdx, v_cos, new_w, ob, obr);
+                       }
                }
-               else
+               else {
                        get_vert2ob_distance(numIdx, v_cos, new_w, ob, obr);
+               }
        }
 
        /* Do masking. */