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'
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs