Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukas Tönne <lukas.toenne@gmail.com>2015-02-09 15:58:24 +0300
committerLukas Tönne <lukas.toenne@gmail.com>2015-02-09 15:58:24 +0300
commit5186062d582dee0ce4ef6c461e45d1654aff3e16 (patch)
tree1c2361b1852445b60985369e93c6dfd27ef14f03 /source/blender/editors/animation/anim_filter.c
parent017e2fb28469595d4302ee8facc72ad1b216e253 (diff)
Integration of particle shapekeys with the depsgraph and driver eval.
It's a bit messy, but that is to be expected: all of the areas involved (particles, shapekeys, depsgraph, drivers) are badly designed and supposed to get major refactoring ...
Diffstat (limited to 'source/blender/editors/animation/anim_filter.c')
-rw-r--r--source/blender/editors/animation/anim_filter.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/source/blender/editors/animation/anim_filter.c b/source/blender/editors/animation/anim_filter.c
index d6daa64a9f2..09c8af8c1b4 100644
--- a/source/blender/editors/animation/anim_filter.c
+++ b/source/blender/editors/animation/anim_filter.c
@@ -90,6 +90,7 @@
#include "BKE_modifier.h"
#include "BKE_node.h"
#include "BKE_mask.h"
+#include "BKE_particle.h"
#include "BKE_sequencer.h"
#include "ED_anim_api.h"
@@ -2260,6 +2261,7 @@ static size_t animdata_filter_dopesheet_ob(bAnimContext *ac, ListBase *anim_data
BEGIN_ANIMFILTER_SUBCHANNELS(EXPANDED_OBJC(ob))
{
Key *key = BKE_key_from_object(ob);
+ ParticleSystem *psys;
/* object-level animation */
if ((ob->adt) && !(ads->filterflag & ADS_FILTER_NOOBJ)) {
@@ -2270,6 +2272,11 @@ static size_t animdata_filter_dopesheet_ob(bAnimContext *ac, ListBase *anim_data
if ((key && key->adt) && !(ads->filterflag & ADS_FILTER_NOSHAPEKEYS)) {
tmp_items += animdata_filter_ds_keyanim(ac, &tmp_data, ads, ob, key, filter_mode);
}
+ for (psys = ob->particlesystem.first; psys; psys = psys->next) {
+ if ((psys->key && psys->key->adt) && !(ads->filterflag & ADS_FILTER_NOSHAPEKEYS)) {
+ tmp_items += animdata_filter_ds_keyanim(ac, &tmp_data, ads, ob, psys->key, filter_mode);
+ }
+ }
/* modifiers */
if ((ob->modifiers.first) && !(ads->filterflag & ADS_FILTER_NOMODIFIERS)) {