Revision: 21588
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=21588
Author:   yukishiro
Date:     2009-07-14 23:18:14 +0200 (Tue, 14 Jul 2009)

Log Message:
-----------
add a reset button

Modified Paths:
--------------
    branches/soc-2009-yukishiro/release/ui/buttons_lightenv.py
    branches/soc-2009-yukishiro/source/blender/blenkernel/BKE_lightenv.h
    branches/soc-2009-yukishiro/source/blender/blenkernel/intern/lightenv.c
    
branches/soc-2009-yukishiro/source/blender/editors/space_buttons/buttons_intern.h
    
branches/soc-2009-yukishiro/source/blender/editors/space_buttons/buttons_ops.c
    
branches/soc-2009-yukishiro/source/blender/editors/space_buttons/space_buttons.c
    
branches/soc-2009-yukishiro/source/blender/editors/space_view3d/space_view3d.c

Modified: branches/soc-2009-yukishiro/release/ui/buttons_lightenv.py
===================================================================
--- branches/soc-2009-yukishiro/release/ui/buttons_lightenv.py  2009-07-14 
21:00:15 UTC (rev 21587)
+++ branches/soc-2009-yukishiro/release/ui/buttons_lightenv.py  2009-07-14 
21:18:14 UTC (rev 21588)
@@ -16,7 +16,7 @@
        def draw(self, context):
                layout = self.layout
 
-                lightenv = context.lightenv
+               lightenv = context.lightenv
                layout.template_preview(lightenv)
 
 
@@ -51,7 +51,8 @@
                row.itemR(lightenv, "num_samples", text="# Samples")
 
                row = layout.row()
-               row.itemO("PAINT_OT_light_paint_recompute", text="Recompute 
LightEnv", icon='ICON_LIGHTENV')
+               row.itemO("PAINT_OT_light_paint_recompute", text="Recompute 
LightEnv")
+               row.itemO("LIGHTENV_OT_reset", text="Reset LightEnv")
 
 
 class LIGHT_PT_save(LightButtonsPanel):
@@ -71,20 +72,20 @@
 
 
 class LIGHT_PT_probe_image(LightButtonsPanel):
-        __idname__= "LIGHT_PT_probe_image"
-        __label__ = "Probe Image"
+       __idname__= "LIGHT_PT_probe_image"
+       __label__ = "Probe Image"
 
        def poll(self, context):
                lightenv = context.lightenv
                return (lightenv and lightenv.type == 'PROBE')
 
-        def draw(self, context):
-                layout = self.layout
+       def draw(self, context):
+               layout = self.layout
                split = layout.split(percentage=0.65)
-                
-                lightenv = context.lightenv
-                scene = context.scene
-                #split.template_ID(context, lightenv, "probe_image", 
new="IMAGE_OT_open")
+               
+               lightenv = context.lightenv
+               scene = context.scene
+               #split.template_ID(context, lightenv, "probe_image", 
new="IMAGE_OT_open")
                layout.itemR(lightenv, "probe_image")
 
 

Modified: branches/soc-2009-yukishiro/source/blender/blenkernel/BKE_lightenv.h
===================================================================
--- branches/soc-2009-yukishiro/source/blender/blenkernel/BKE_lightenv.h        
2009-07-14 21:00:15 UTC (rev 21587)
+++ branches/soc-2009-yukishiro/source/blender/blenkernel/BKE_lightenv.h        
2009-07-14 21:18:14 UTC (rev 21588)
@@ -43,12 +43,13 @@
 void free_lightenv(struct LightEnv *env); 
 struct LightEnv* add_lightenv(char *name);
 struct LightEnv* copy_lightenv(struct LightEnv *env);
-void save_lightenv(struct LightEnv *env, char *image_name, int imtype);
+void reset_lightenv(struct LightEnv *env);
 
 void update_light_func(struct LightEnv *env);
 
 void load_probe_image(struct LightEnv *env, char *image_name);
 void update_probe_image(struct LightEnv *env);
+void save_lightenv(struct LightEnv *env, char *image_name, int imtype);
 
 #ifdef __cplusplus
 }

Modified: 
branches/soc-2009-yukishiro/source/blender/blenkernel/intern/lightenv.c
===================================================================
--- branches/soc-2009-yukishiro/source/blender/blenkernel/intern/lightenv.c     
2009-07-14 21:00:15 UTC (rev 21587)
+++ branches/soc-2009-yukishiro/source/blender/blenkernel/intern/lightenv.c     
2009-07-14 21:18:14 UTC (rev 21588)
@@ -80,6 +80,18 @@
        }
 }
 
+
+static void init(LightEnv *env)
+{
+       env->type = LE_DEFAULT;
+       env->light_func = def_synthetic;
+       env->degree = 2;
+       env->num_samples = 10;
+       env->output_width = env->output_height = 512;
+       SH_computeLightCoefficients(env);
+}
+
+
 void probe_value(float i, float j, float val[3], void *data)
 {
        ImBuf *ibuf = (ImBuf*)data; 
@@ -142,12 +154,7 @@
        LightEnv *env;
 
        env= alloc_libblock(&G.main->lightenv, ID_LE, name);
-       env->type = LE_DEFAULT;
-       env->light_func = def_synthetic;
-       env->degree = 2;
-       env->num_samples = 10;
-       env->output_width = env->output_height = 512;
-       SH_computeLightCoefficients(env);
+       init(env);
 
        return env;
 }
@@ -173,3 +180,9 @@
 
        return new_env;
 }
+
+void reset_lightenv(LightEnv *env)
+{
+       memset(env->shcoeffs, 0, sizeof(float) * 75);
+       init(env);
+}

Modified: 
branches/soc-2009-yukishiro/source/blender/editors/space_buttons/buttons_intern.h
===================================================================
--- 
branches/soc-2009-yukishiro/source/blender/editors/space_buttons/buttons_intern.h
   2009-07-14 21:00:15 UTC (rev 21587)
+++ 
branches/soc-2009-yukishiro/source/blender/editors/space_buttons/buttons_intern.h
   2009-07-14 21:18:14 UTC (rev 21588)
@@ -71,6 +71,7 @@
 void TEXTURE_OT_new(struct wmOperatorType *ot);
 void WORLD_OT_new(struct wmOperatorType *ot);
 void LIGHTENV_OT_new(struct wmOperatorType *ot);
+void LIGHTENV_OT_reset(struct wmOperatorType *ot);
 
 void OBJECT_OT_particle_system_add(struct wmOperatorType *ot);
 void OBJECT_OT_particle_system_remove(struct wmOperatorType *ot);

Modified: 
branches/soc-2009-yukishiro/source/blender/editors/space_buttons/buttons_ops.c
===================================================================
--- 
branches/soc-2009-yukishiro/source/blender/editors/space_buttons/buttons_ops.c  
    2009-07-14 21:00:15 UTC (rev 21587)
+++ 
branches/soc-2009-yukishiro/source/blender/editors/space_buttons/buttons_ops.c  
    2009-07-14 21:18:14 UTC (rev 21588)
@@ -450,7 +450,34 @@
        ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
 }
 
+/*********************** reset lightenv operator ************************/
 
+static int reset_lightenv_exec(bContext *C, wmOperator *op)
+{
+       LightEnv *env = CTX_data_pointer_get_type(C, "lightenv", 
&RNA_LightEnv).data;
+
+       if (env) {
+               reset_lightenv(env);
+               WM_event_add_notifier(C, NC_LIGHTENV|NA_EDITED, env);
+       }
+
+       return OPERATOR_FINISHED;
+}
+
+void LIGHTENV_OT_reset(wmOperatorType *ot)
+{
+       /* identifiers */
+       ot->name= "Reset LightEnv";
+       ot->idname= "LIGHTENV_OT_reset";
+       
+       /* api callbacks */
+       ot->exec= reset_lightenv_exec;
+
+       /* flags */
+       ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+}
+
+
 /********************** particle system slot operators *********************/
 
 static int particle_system_add_exec(bContext *C, wmOperator *op)

Modified: 
branches/soc-2009-yukishiro/source/blender/editors/space_buttons/space_buttons.c
===================================================================
--- 
branches/soc-2009-yukishiro/source/blender/editors/space_buttons/space_buttons.c
    2009-07-14 21:00:15 UTC (rev 21587)
+++ 
branches/soc-2009-yukishiro/source/blender/editors/space_buttons/space_buttons.c
    2009-07-14 21:18:14 UTC (rev 21588)
@@ -222,6 +222,7 @@
        WM_operatortype_append(TEXTURE_OT_new);
        WM_operatortype_append(WORLD_OT_new);
        WM_operatortype_append(LIGHTENV_OT_new);
+       WM_operatortype_append(LIGHTENV_OT_reset);
 
        WM_operatortype_append(OBJECT_OT_particle_system_add);
        WM_operatortype_append(OBJECT_OT_particle_system_remove);

Modified: 
branches/soc-2009-yukishiro/source/blender/editors/space_view3d/space_view3d.c
===================================================================
--- 
branches/soc-2009-yukishiro/source/blender/editors/space_view3d/space_view3d.c  
    2009-07-14 21:00:15 UTC (rev 21587)
+++ 
branches/soc-2009-yukishiro/source/blender/editors/space_view3d/space_view3d.c  
    2009-07-14 21:18:14 UTC (rev 21588)
@@ -481,6 +481,7 @@
                        rv3d = ar->regiondata;
                        
                        switch(wmn->action) {
+                               case NA_EDITED:
                                case NA_ADDED:
                                        rv3d->rflag |= RV3D_RECALC_MCOL;
                                        break;


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

Reply via email to