diff --git a/source/blender/blenkernel/BKE_key.h b/source/blender/blenkernel/BKE_key.h index b70801a9edd..c81d837689f 100644 --- a/source/blender/blenkernel/BKE_key.h +++ b/source/blender/blenkernel/BKE_key.h @@ -60,6 +60,7 @@ float *do_ob_key(struct Scene *scene, struct Object *ob); struct Key *ob_get_key(struct Object *ob); struct KeyBlock *ob_get_keyblock(struct Object *ob); +struct KeyBlock *ob_get_reference_keyblock(struct Object *ob); struct KeyBlock *key_get_keyblock(struct Key *key, int index); struct KeyBlock *key_get_named_keyblock(struct Key *key, const char name[]); char *key_get_curValue_rnaPath(struct Key *key, struct KeyBlock *kb); diff --git a/source/blender/blenkernel/BKE_paint.h b/source/blender/blenkernel/BKE_paint.h index ba42aca1872..b532b0820d7 100644 --- a/source/blender/blenkernel/BKE_paint.h +++ b/source/blender/blenkernel/BKE_paint.h @@ -68,6 +68,9 @@ typedef struct SculptSession { struct MFace *mface; int totvert, totface; float *face_normals; + + struct Object *ob; + struct KeyBlock *kb, *refkb; /* Mesh connectivity */ struct ListBase *fmap; diff --git a/source/blender/blenkernel/intern/key.c b/source/blender/blenkernel/intern/key.c index 0b067c6ef7b..3822e0322f7 100644 --- a/source/blender/blenkernel/intern/key.c +++ b/source/blender/blenkernel/intern/key.c @@ -1408,6 +1408,16 @@ KeyBlock *ob_get_keyblock(Object *ob) return NULL; } +KeyBlock *ob_get_reference_keyblock(Object *ob) +{ + Key *key= ob_get_key(ob); + + if (key) + return key->refkey; + + return NULL; +} + /* get the appropriate KeyBlock given an index */ KeyBlock *key_get_keyblock(Key *key, int index) {