Merge branch 'master' into blender2.8
[blender.git] / source / blender / editors / physics / particle_edit.c
index 5e00b76346ee02235030752f2b9a1d281adc1a19..fb3cfdc86b2a006dff9e9b878de120cb188d2dc9 100644 (file)
@@ -53,7 +53,6 @@
 #include "BLI_utildefines.h"
 
 #include "BKE_context.h"
-#include "BKE_depsgraph.h"
 #include "BKE_DerivedMesh.h"
 #include "BKE_global.h"
 #include "BKE_object.h"
@@ -64,6 +63,8 @@
 #include "BKE_bvhutils.h"
 #include "BKE_pointcache.h"
 
+#include "DEG_depsgraph.h"
+
 #include "BIF_gl.h"
 
 #include "ED_object.h"
@@ -2619,7 +2620,7 @@ static int remove_doubles_exec(bContext *C, wmOperator *op)
 
        BKE_reportf(op->reports, RPT_INFO, "Removed %d double particles", totremoved);
 
-       DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
+       DEG_id_tag_update(&ob->id, OB_RECALC_DATA);
        WM_event_add_notifier(C, NC_OBJECT|ND_PARTICLE|NA_EDITED, ob);
 
        return OPERATOR_FINISHED;
@@ -2672,7 +2673,7 @@ static int weight_set_exec(bContext *C, wmOperator *op)
                }
        }
 
-       DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
+       DEG_id_tag_update(&ob->id, OB_RECALC_DATA);
        WM_event_add_notifier(C, NC_OBJECT|ND_PARTICLE|NA_EDITED, ob);
 
        return OPERATOR_FINISHED;
@@ -2711,7 +2712,7 @@ static void brush_drawcursor(bContext *C, int x, int y, void *UNUSED(customdata)
        brush = &pset->brush[pset->brushtype];
 
        if (brush) {
-               unsigned int pos = VertexFormat_add_attrib(immVertexFormat(), "pos", COMP_F32, 2, KEEP_FLOAT);
+               unsigned int pos = GWN_vertformat_attr_add(immVertexFormat(), "pos", GWN_COMP_F32, 2, GWN_FETCH_FLOAT);
                immBindBuiltinProgram(GPU_SHADER_2D_UNIFORM_COLOR);
 
                immUniformColor4ub(255, 255, 255, 128);
@@ -2781,7 +2782,7 @@ static int delete_exec(bContext *C, wmOperator *op)
                recalc_lengths(data.edit);
        }
 
-       DAG_id_tag_update(&data.ob->id, OB_RECALC_DATA);
+       DEG_id_tag_update(&data.ob->id, OB_RECALC_DATA);
        WM_event_add_notifier(C, NC_OBJECT|ND_PARTICLE|NA_EDITED, data.ob);
 
        return OPERATOR_FINISHED;
@@ -2967,7 +2968,7 @@ static int mirror_exec(bContext *C, wmOperator *UNUSED(op))
 
        update_world_cos(ob, edit);
        WM_event_add_notifier(C, NC_OBJECT|ND_PARTICLE|NA_EDITED, ob);
-       DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
+       DEG_id_tag_update(&ob->id, OB_RECALC_DATA);
 
        return OPERATOR_FINISHED;
 }
@@ -3976,7 +3977,7 @@ static void brush_edit_apply(bContext *C, wmOperator *op, PointerRNA *itemptr)
 
                                update_world_cos(ob, edit);
                                psys_free_path_cache(NULL, edit);
-                               DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
+                               DEG_id_tag_update(&ob->id, OB_RECALC_DATA);
                        }
                        else
                                PE_update_object(scene, sl, ob, 1);
@@ -3986,7 +3987,7 @@ static void brush_edit_apply(bContext *C, wmOperator *op, PointerRNA *itemptr)
                        WM_event_add_notifier(C, NC_OBJECT|ND_PARTICLE|NA_EDITED, ob);
                }
                else {
-                       DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
+                       DEG_id_tag_update(&ob->id, OB_RECALC_DATA);
                        WM_event_add_notifier(C, NC_OBJECT|ND_MODIFIER, ob);
                }
 
@@ -4237,7 +4238,7 @@ static int shape_cut_exec(bContext *C, wmOperator *UNUSED(op))
                if (removed) {
                        update_world_cos(ob, edit);
                        psys_free_path_cache(NULL, edit);
-                       DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
+                       DEG_id_tag_update(&ob->id, OB_RECALC_DATA);
                }
                else
                        PE_update_object(scene, sl, ob, 1);
@@ -4246,7 +4247,7 @@ static int shape_cut_exec(bContext *C, wmOperator *UNUSED(op))
                        WM_event_add_notifier(C, NC_OBJECT|ND_PARTICLE|NA_EDITED, ob);
                }
                else {
-                       DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
+                       DEG_id_tag_update(&ob->id, OB_RECALC_DATA);
                        WM_event_add_notifier(C, NC_OBJECT|ND_MODIFIER, ob);
                }
                
@@ -4442,7 +4443,7 @@ void PE_undo_push(Scene *scene, SceneLayer *sl, const char *str)
                undo= undo->prev;
        }
        if (undo) {
-               while (edit->undo.first!=undo) {
+               while (edit->undo.first != undo) {
                        PTCacheUndo *first= edit->undo.first;
                        BLI_remlink(&edit->undo, first);
                        free_PTCacheUndo(first);
@@ -4487,7 +4488,7 @@ void PE_undo_step(Scene *scene, SceneLayer *sl, int step)
                }
        }
 
-       DAG_id_tag_update(&OBACT_NEW->id, OB_RECALC_DATA);
+       DEG_id_tag_update(&OBACT_NEW->id, OB_RECALC_DATA);
 }
 
 bool PE_undo_is_valid(Scene *scene, SceneLayer *sl)
@@ -4733,6 +4734,9 @@ static int particle_edit_toggle_exec(bContext *C, wmOperator *op)
        const int mode_flag = OB_MODE_PARTICLE_EDIT;
        const bool is_mode_set = (ob->mode & mode_flag) != 0;
 
+       BKE_report(op->reports, RPT_INFO, "Particles are changing, editing is not possible");
+       return OPERATOR_CANCELLED;
+
        if (!is_mode_set) {
                if (!ED_object_mode_compat_set(C, ob, mode_flag, op->reports)) {
                        return OPERATOR_CANCELLED;
@@ -4758,7 +4762,7 @@ static int particle_edit_toggle_exec(bContext *C, wmOperator *op)
                WM_event_add_notifier(C, NC_SCENE|ND_MODE|NS_MODE_OBJECT, NULL);
        }
 
-       DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
+       DEG_id_tag_update(&ob->id, OB_RECALC_DATA);
 
        return OPERATOR_FINISHED;
 }
@@ -4799,7 +4803,7 @@ static int clear_edited_exec(bContext *C, wmOperator *UNUSED(op))
 
                        psys_reset(psys, PSYS_RESET_DEPSGRAPH);
                        WM_event_add_notifier(C, NC_OBJECT|ND_PARTICLE|NA_EDITED, ob);
-                       DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
+                       DEG_id_tag_update(&ob->id, OB_RECALC_DATA);
                }
        }
        else { /* some operation might have protected hair from editing so let's clear the flag */
@@ -4807,7 +4811,7 @@ static int clear_edited_exec(bContext *C, wmOperator *UNUSED(op))
                psys->flag &= ~PSYS_GLOBAL_HAIR;
                psys->flag &= ~PSYS_EDITED;
                WM_event_add_notifier(C, NC_OBJECT|ND_PARTICLE|NA_EDITED, ob);
-               DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
+               DEG_id_tag_update(&ob->id, OB_RECALC_DATA);
        }
 
        return OPERATOR_FINISHED;
@@ -4923,7 +4927,7 @@ static int unify_length_exec(bContext *C, wmOperator *UNUSED(op))
                WM_event_add_notifier(C, NC_OBJECT|ND_PARTICLE|NA_EDITED, ob);
        }
        else {
-               DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
+               DEG_id_tag_update(&ob->id, OB_RECALC_DATA);
                WM_event_add_notifier(C, NC_OBJECT|ND_MODIFIER, ob);
        }