[Bf-blender-cvs] [1fa7b7c011c] temp-gpencil-eval: Save reference to original frame
Antonio Vazquez
noreply at git.blender.org
Wed Jan 15 19:12:36 CET 2020
Commit: 1fa7b7c011c7d596bfca2364ffea6647b704cc01
Author: Antonio Vazquez
Date: Wed Jan 15 18:13:16 2020 +0100
Branches: temp-gpencil-eval
https://developer.blender.org/rB1fa7b7c011c7d596bfca2364ffea6647b704cc01
Save reference to original frame
===================================================================
M source/blender/blenkernel/intern/gpencil.c
M source/blender/blenkernel/intern/gpencil_modifier.c
M source/blender/makesdna/DNA_gpencil_types.h
===================================================================
diff --git a/source/blender/blenkernel/intern/gpencil.c b/source/blender/blenkernel/intern/gpencil.c
index ecfd1ff7999..6cb8e13813e 100644
--- a/source/blender/blenkernel/intern/gpencil.c
+++ b/source/blender/blenkernel/intern/gpencil.c
@@ -3914,7 +3914,9 @@ void BKE_gpencil_update_orig_pointers(const Object *ob_orig, const Object *ob_ev
if (gpf_eval == NULL) {
continue;
}
+
/* Update frame reference pointers. */
+ gpf_eval->runtime.gpf_orig = (bGPDframe *)gpf_orig;
BKE_gpencil_update_frame_reference_pointers(gpf_orig, gpf_eval);
}
}
diff --git a/source/blender/blenkernel/intern/gpencil_modifier.c b/source/blender/blenkernel/intern/gpencil_modifier.c
index 2f80b3958d8..5c26eebdfd5 100644
--- a/source/blender/blenkernel/intern/gpencil_modifier.c
+++ b/source/blender/blenkernel/intern/gpencil_modifier.c
@@ -914,6 +914,8 @@ void BKE_gpencil_prepare_eval_data(Depsgraph *depsgraph, Scene *scene, Object *o
BKE_gpencil_free_strokes(gpf_eval);
/* Copy again strokes. */
BKE_gpencil_frame_copy_strokes(gpf_orig, gpf_eval);
+
+ gpf_eval->runtime.gpf_orig = (bGPDframe *)gpf_orig;
BKE_gpencil_update_frame_reference_pointers(gpf_orig, gpf_eval);
}
}
diff --git a/source/blender/makesdna/DNA_gpencil_types.h b/source/blender/makesdna/DNA_gpencil_types.h
index 8d60d4b0781..25f288ed1a7 100644
--- a/source/blender/makesdna/DNA_gpencil_types.h
+++ b/source/blender/makesdna/DNA_gpencil_types.h
@@ -290,6 +290,9 @@ typedef struct bGPDframe_Runtime {
int frameid;
/** Onion offset from active frame. 0 if not onion. INT_MAX to bypass frame. */
int onion_id;
+
+ /** Original frame (used to dereference evaluated data) */
+ struct bGPDframe *gpf_orig;
} bGPDframe_Runtime;
/* Grease-Pencil Annotations - 'Frame'
More information about the Bf-blender-cvs
mailing list