Own TODO item: sculpting on constructive modifiers
[blender.git] / source / blender / makesrna / intern / rna_sculpt_paint.c
index 58f19fe8799784185e8736568447fc260e3b4479..ce018fdfd6ef7fd8e90618c8a9af5c858d6a5426 100644 (file)
@@ -184,6 +184,16 @@ static int rna_Brush_mode_poll(PointerRNA *ptr, PointerRNA value)
        return brush->ob_mode & mode;
 }
 
+static void rna_Sculpt_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+{
+       Object *ob= (scene->basact)? scene->basact->object: NULL;
+
+       if(ob) {
+               DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
+               WM_main_add_notifier(NC_OBJECT|ND_MODIFIER, ob);
+       }
+}
+
 #else
 
 static void rna_def_paint(BlenderRNA *brna)
@@ -260,6 +270,11 @@ static void rna_def_sculpt(BlenderRNA  *brna)
        prop= RNA_def_property(srna, "use_threaded", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flags", SCULPT_USE_OPENMP);
        RNA_def_property_ui_text(prop, "Use OpenMP", "Take advantage of multiple CPU cores to improve sculpting performance");
+
+       prop= RNA_def_property(srna, "use_deform_only", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_sdna(prop, NULL, "flags", SCULPT_ONLY_DEFORM);
+       RNA_def_property_ui_text(prop, "Use Deform Only", "Use only deformation modifiers (temporary disable all constructive modifiers except multi-resolution)");
+       RNA_def_property_update(prop, NC_OBJECT|ND_DRAW, "rna_Sculpt_update");
 }
 
 static void rna_def_vertex_paint(BlenderRNA *brna)