=bmesh= merge from trunk at r36529
[blender.git] / source / blender / makesrna / intern / rna_modifier.c
index 18a93b9defb6a7476c91c6d883839d6692b92adf..4fe9dd6099a99bd79065887d91c290c4f3c8ce92 100644 (file)
@@ -91,6 +91,7 @@ EnumPropertyItem modifier_type_items[] ={
        {eModifierType_Smoke, "SMOKE", ICON_MOD_SMOKE, "Smoke", ""},
        {eModifierType_Softbody, "SOFT_BODY", ICON_MOD_SOFT, "Soft Body", ""},
        {eModifierType_Surface, "SURFACE", ICON_MOD_PHYSICS, "Surface", ""},
+       {eModifierType_NgonInterp, "NGONINTERP", ICON_MOD_LATTICE, "Precision UV Interpolation", ""},
        {0, NULL, 0, NULL, NULL}};
 
 #ifdef RNA_RUNTIME
@@ -175,6 +176,8 @@ static StructRNA* rna_Modifier_refine(struct PointerRNA *ptr)
                        return &RNA_MultiresModifier;
                case eModifierType_Surface:
                        return &RNA_SurfaceModifier;
+               case eModifierType_NgonInterp:
+                       return &RNA_NgonInterpModifier;
                case eModifierType_Smoke:
                        return &RNA_SmokeModifier;
                case eModifierType_Solidify:
@@ -412,7 +415,7 @@ static int rna_MultiresModifier_external_get(PointerRNA *ptr)
        Object *ob= (Object*)ptr->id.data;
        Mesh *me= ob->data;
 
-       return CustomData_external_test(&me->fdata, CD_MDISPS);
+       return CustomData_external_test(&me->ldata, CD_MDISPS);
 }
 
 static void rna_MultiresModifier_filepath_get(PointerRNA *ptr, char *value)
@@ -1367,8 +1370,8 @@ static void rna_def_modifier_edgesplit(BlenderRNA *brna)
 
        // XXX, convert to radians.
        prop= RNA_def_property(srna, "split_angle", PROP_FLOAT, PROP_NONE);
-       RNA_def_property_range(prop, 0, 180);
-       RNA_def_property_ui_range(prop, 0, 180, 100, 2);
+       RNA_def_property_range(prop, 0, 90);
+       RNA_def_property_ui_range(prop, 0, 90, 100, 2);
        RNA_def_property_ui_text(prop, "Split Angle", "Angle above which to split edges");
        RNA_def_property_update(prop, 0, "rna_Modifier_update");
 
@@ -2365,6 +2368,25 @@ static void rna_def_modifier_screw(BlenderRNA *brna)
        RNA_def_property_update(prop, 0, "rna_Modifier_update");*/
 }
 
+
+
+static void rna_def_modifier_ngoninterp(BlenderRNA *brna)
+{
+       StructRNA *srna;
+       PropertyRNA *prop;
+
+       srna= RNA_def_struct(brna, "NgonInterpModifier", "Modifier");
+       RNA_def_struct_ui_text(srna, "Precision UV Modifier", "Precision UV interpolation");
+       RNA_def_struct_sdna(srna, "NgonInterpModifierData");
+       RNA_def_struct_ui_icon(srna, ICON_MOD_SCREW);
+
+       prop= RNA_def_property(srna, "resolution", PROP_INT, PROP_UNSIGNED);
+       RNA_def_property_range(prop, 1, 10000);
+       RNA_def_property_ui_range(prop, 1, 100, 1, 0);
+       RNA_def_property_ui_text(prop, "Resolution", "Size of interpolation grids");
+       RNA_def_property_update(prop, 0, "rna_Modifier_update");
+
+}
 void RNA_def_modifier(BlenderRNA *brna)
 {
        StructRNA *srna;
@@ -2462,6 +2484,7 @@ void RNA_def_modifier(BlenderRNA *brna)
        rna_def_modifier_smoke(brna);
        rna_def_modifier_solidify(brna);
        rna_def_modifier_screw(brna);
+       rna_def_modifier_ngoninterp(brna);
 }
 
 #endif