Revision: 18285
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18285
Author:   broken
Date:     2009-01-03 08:25:22 +0100 (Sat, 03 Jan 2009)

Log Message:
-----------
* Added notifier updates for RNA modifier data

Modified Paths:
--------------
    
branches/blender2.5/blender/source/blender/editors/space_view3d/space_view3d.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_modifier.c
    branches/blender2.5/blender/source/blender/windowmanager/WM_types.h

Modified: 
branches/blender2.5/blender/source/blender/editors/space_view3d/space_view3d.c
===================================================================
--- 
branches/blender2.5/blender/source/blender/editors/space_view3d/space_view3d.c  
    2009-01-03 07:20:11 UTC (rev 18284)
+++ 
branches/blender2.5/blender/source/blender/editors/space_view3d/space_view3d.c  
    2009-01-03 07:25:22 UTC (rev 18285)
@@ -252,6 +252,7 @@
                                case ND_TRANSFORM:
                                case ND_GEOM_SELECT:
                                case ND_DRAW:
+                               case ND_MODIFIER:
                                        ED_region_tag_redraw(ar);
                                        break;
                        }

Modified: 
branches/blender2.5/blender/source/blender/makesrna/intern/rna_modifier.c
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/rna_modifier.c   
2009-01-03 07:20:11 UTC (rev 18284)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/rna_modifier.c   
2009-01-03 07:25:22 UTC (rev 18285)
@@ -17,7 +17,7 @@
  * along with this program; if not, write to the Free Software Foundation,
  * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  *
- * Contributor(s): Blender Foundation (2008), Juho Veps\xE4l\xE4inen
+ * Contributor(s): Blender Foundation (2008), Juho Veps‰l‰inen
  *
  * ***** END GPL LICENSE BLOCK *****
  */
@@ -37,8 +37,13 @@
 
 #include "BKE_bmesh.h" /* For BevelModifierData */
 
+#include "WM_types.h"
+
 #ifdef RNA_RUNTIME
 
+#include "BKE_context.h"
+#include "BKE_depsgraph.h"
+
 static StructRNA* rna_Modifier_refine(struct PointerRNA *ptr)
 {
        ModifierData *md= (ModifierData*)ptr->data;
@@ -105,6 +110,11 @@
        }
 }
 
+static void rna_Modifier_update(bContext *C, PointerRNA *ptr)
+{
+       DAG_object_flush_update(CTX_data_scene(C), ptr->id.data, 
OB_RECALC_DATA);
+}
+
 #else
 
 static void rna_def_modifier_subsurf(BlenderRNA *brna)
@@ -130,6 +140,7 @@
        RNA_def_property_range(prop, 1, 20);
        RNA_def_property_ui_range(prop, 1, 6, 1, 0);
        RNA_def_property_ui_text(prop, "Levels", "Number of subdivisions to 
perform.");
+       RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, 
"rna_Modifier_update");
 
        prop= RNA_def_property(srna, "render_levels", PROP_INT, PROP_NONE);
        RNA_def_property_int_sdna(prop, NULL, "renderLevels");
@@ -140,10 +151,12 @@
        prop= RNA_def_property(srna, "optimal_draw", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flags", 
eSubsurfModifierFlag_ControlEdges);
        RNA_def_property_ui_text(prop, "Optimal Draw", "Skip drawing/rendering 
of interior subdivided edges");
+       RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, 
"rna_Modifier_update");
        
        prop= RNA_def_property(srna, "subsurf_uv", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flags", 
eSubsurfModifierFlag_SubsurfUv);
        RNA_def_property_ui_text(prop, "Subsurf UV", "Use subsurf to subdivide 
UVs.");
+       RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, 
"rna_Modifier_update");
 }
 
 static void rna_def_modifier_lattice(BlenderRNA *brna)
@@ -159,10 +172,12 @@
        RNA_def_property_pointer_sdna(prop, NULL, "object");
        RNA_def_property_struct_type(prop, "Object");
        RNA_def_property_ui_text(prop, "Lattice", "Lattice object to deform 
with.");
+       RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, 
"rna_Modifier_update");
 
        prop= RNA_def_property(srna, "vertex_group", PROP_STRING, PROP_NONE);
        RNA_def_property_string_sdna(prop, NULL, "name");
        RNA_def_property_ui_text(prop, "Vertex Group", "Vertex group name.");
+       RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, 
"rna_Modifier_update");
 }
 
 static void rna_def_modifier_curve(BlenderRNA *brna)
@@ -187,15 +202,18 @@
        RNA_def_property_pointer_sdna(prop, NULL, "object");
        RNA_def_property_struct_type(prop, "Object");
        RNA_def_property_ui_text(prop, "Curve", "Curve object to deform with.");
+       RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, 
"rna_Modifier_update");
 
        prop= RNA_def_property(srna, "vertex_group", PROP_STRING, PROP_NONE);
        RNA_def_property_string_sdna(prop, NULL, "name");
        RNA_def_property_ui_text(prop, "Vertex Group", "Vertex group name.");
+       RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, 
"rna_Modifier_update");
 
        prop= RNA_def_property(srna, "deform_axis", PROP_ENUM, PROP_NONE);
        RNA_def_property_enum_sdna(prop, NULL, "defaxis");
        RNA_def_property_enum_items(prop, prop_deform_axis_items);
        RNA_def_property_ui_text(prop, "Deform Axis", "The axis that the curve 
deforms along.");
+       RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, 
"rna_Modifier_update");
 }
 
 static void rna_def_modifier_build(BlenderRNA *brna)
@@ -210,17 +228,21 @@
        prop= RNA_def_property(srna, "start", PROP_FLOAT, PROP_NONE);
        RNA_def_property_range(prop, 1, MAXFRAMEF);
        RNA_def_property_ui_text(prop, "Start", "Specify the start frame of the 
effect.");
+       RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, 
"rna_Modifier_update");
 
        prop= RNA_def_property(srna, "length", PROP_FLOAT, PROP_NONE);
        RNA_def_property_range(prop, 1, MAXFRAMEF);
        RNA_def_property_ui_text(prop, "Length", "Specify the total time the 
build effect requires");
+       RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, 
"rna_Modifier_update");
 
        prop= RNA_def_property(srna, "randomize", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_ui_text(prop, "Randomize", "Randomize the faces or 
edges during build.");
+       RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, 
"rna_Modifier_update");
 
        prop= RNA_def_property(srna, "seed", PROP_INT, PROP_NONE);
        RNA_def_property_range(prop, 1, MAXFRAMEF);
        RNA_def_property_ui_text(prop, "Seed", "Specify the seed for random if 
used.");
+       RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, 
"rna_Modifier_update");
 }
 
 static void rna_def_modifier_mirror(BlenderRNA *brna)
@@ -235,41 +257,50 @@
        prop= RNA_def_property(srna, "x", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flag", MOD_MIR_AXIS_X);
        RNA_def_property_ui_text(prop, "X", "Enable X axis mirror.");
+       RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, 
"rna_Modifier_update");
 
        prop= RNA_def_property(srna, "y", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flag", MOD_MIR_AXIS_Y);
        RNA_def_property_ui_text(prop, "Y", "Enable Y axis mirror.");
+       RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, 
"rna_Modifier_update");
 
        prop= RNA_def_property(srna, "z", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flag", MOD_MIR_AXIS_Z);
        RNA_def_property_ui_text(prop, "Z", "Enable Z axis mirror.");
+       RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, 
"rna_Modifier_update");
 
        prop= RNA_def_property(srna, "clip", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flag", MOD_MIR_CLIPPING);
        RNA_def_property_ui_text(prop, "clip", "Prevents vertices from going 
through the mirror during transform.");
+       RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, 
"rna_Modifier_update");
 
        prop= RNA_def_property(srna, "mirror_vertex_groups", PROP_BOOLEAN, 
PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flag", MOD_MIR_VGROUP);
        RNA_def_property_ui_text(prop, "Mirror Vertex Groups", "Mirror vertex 
groups (e.g. .R->.L).");
+       RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, 
"rna_Modifier_update");
 
        prop= RNA_def_property(srna, "mirror_u", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flag", MOD_MIR_MIRROR_U);
        RNA_def_property_ui_text(prop, "Mirror U", "Mirror the U texture 
coordinate around the 0.5 point.");
+       RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, 
"rna_Modifier_update");
 
        prop= RNA_def_property(srna, "mirror_v", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flag", MOD_MIR_MIRROR_V);
        RNA_def_property_ui_text(prop, "Mirror V", "Mirror the V texture 
coordinate around the 0.5 point.");
+       RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, 
"rna_Modifier_update");
 
        prop= RNA_def_property(srna, "merge_limit", PROP_FLOAT, PROP_NONE);
        RNA_def_property_float_sdna(prop, NULL, "tolerance");
        RNA_def_property_range(prop, 0, FLT_MAX);
        RNA_def_property_ui_range(prop, 0, 1, 10, 3); 
        RNA_def_property_ui_text(prop, "Merge Limit", "Distance from axis 
within which mirrored vertices are merged.");
+       RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, 
"rna_Modifier_update");
 
        prop= RNA_def_property(srna, "mirror_object", PROP_POINTER, PROP_NONE);
        RNA_def_property_pointer_sdna(prop, NULL, "mirror_ob");
        RNA_def_property_struct_type(prop, "Object");
        RNA_def_property_ui_text(prop, "Mirror Object", "Object to use as 
mirror.");
+       RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, 
"rna_Modifier_update");
 }
 
 static void rna_def_modifier_decimate(BlenderRNA *brna)
@@ -285,6 +316,7 @@
        RNA_def_property_float_sdna(prop, NULL, "percent");
        RNA_def_property_range(prop, 0, 1);
        RNA_def_property_ui_text(prop, "Ratio", "Defines the ratio of triangles 
to reduce to.");
+       RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, 
"rna_Modifier_update");
 
        prop= RNA_def_property(srna, "face_count", PROP_INT, PROP_NONE);
        RNA_def_property_int_sdna(prop, NULL, "faceCount");
@@ -311,80 +343,97 @@
        prop= RNA_def_property(srna, "x", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flag", MOD_WAVE_X);
        RNA_def_property_ui_text(prop, "X", "X axis motion.");
+       RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, 
"rna_Modifier_update");
 
        prop= RNA_def_property(srna, "y", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flag", MOD_WAVE_Y);
        RNA_def_property_ui_text(prop, "Y", "Y axis motion.");
+       RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, 
"rna_Modifier_update");
 
        prop= RNA_def_property(srna, "cyclic", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flag", MOD_WAVE_CYCL);
        RNA_def_property_ui_text(prop, "Cyclic", "Cyclic wave effect.");
+       RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, 
"rna_Modifier_update");
 
        prop= RNA_def_property(srna, "normals", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flag", MOD_WAVE_NORM);
        RNA_def_property_ui_text(prop, "Normals", "Dispace along normals.");
+       RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, 
"rna_Modifier_update");
 
        prop= RNA_def_property(srna, "x_normal", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flag", MOD_WAVE_NORM_X);
        RNA_def_property_ui_text(prop, "X Normal", "Enable displacement along 
the X normal");

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to