svn merge ^/trunk/blender -r40872:40890
[blender.git] / source / blender / makesrna / intern / rna_modifier.c
index fbf54a76cd99f559e54ba65d25fd317dd1948cbf..896f1eed12779f3d92c2952e38f6b5ccbc655e4a 100644 (file)
@@ -96,6 +96,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
@@ -180,6 +181,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:
@@ -481,7 +484,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)
@@ -2782,6 +2785,25 @@ static void rna_def_modifier_weightvgproximity(BlenderRNA *brna)
        rna_def_modifier_weightvg_mask(brna, srna);
 }
 
+
+
+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;
@@ -2882,6 +2904,7 @@ void RNA_def_modifier(BlenderRNA *brna)
        rna_def_modifier_weightvgedit(brna);
        rna_def_modifier_weightvgmix(brna);
        rna_def_modifier_weightvgproximity(brna);
+       rna_def_modifier_ngoninterp(brna);
 }
 
 #endif