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:
authorJoshua Leung <aligorith@gmail.com>2009-07-07 06:12:50 +0400
committerJoshua Leung <aligorith@gmail.com>2009-07-07 06:12:50 +0400
commit905b1380054f42fe30b19fb37861057af4760e32 (patch)
tree878b56d7ef97e56e4af8f6c46e710479441c81b0 /source/blender/editors/transform/transform_generics.c
parentf98c3ed70b86d12945078c288c2bd3288a297841 (diff)
NLA SoC: Start of integration of Meta-strips in Transform
* Chains of selected strips are now converted to meta-strips before transforms begin, and converted back afterwards. This simplifies the transform code needed in later stages... * Transform-flushing code for Meta-Strips should now work. There seems to be a little bit of numeric inaccuracy problems somewhere, as two strips which met at the same frame can get separated when scaling. * Meta-strips now draw with proper text identification * Snapping strips now properly clears meta-strips if a moved strip needs to be moved into a new track to be accomodated. * Fixed a filter used by a selection-operator.
Diffstat (limited to 'source/blender/editors/transform/transform_generics.c')
-rw-r--r--source/blender/editors/transform/transform_generics.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c
index 1474a30fbed..e228dc2b13a 100644
--- a/source/blender/editors/transform/transform_generics.c
+++ b/source/blender/editors/transform/transform_generics.c
@@ -82,6 +82,7 @@
#include "BKE_key.h"
#include "BKE_mesh.h"
#include "BKE_modifier.h"
+#include "BKE_nla.h"
#include "BKE_object.h"
#include "BKE_utildefines.h"
#include "BKE_context.h"
@@ -388,6 +389,20 @@ void recalcData(TransInfo *t)
}
}
}
+
+ /* loop over the TransDataNla again, flushing the transforms (since we use Metas to make transforms easier) */
+ td= t->data;
+ for (i = 0; i < t->total; i++, td++)
+ {
+ if (td->extra)
+ {
+ TransDataNla *tdn= td->extra;
+ NlaStrip *strip= tdn->strip;
+
+ // TODO: this may flush some things twice, but that's fine as there's no impact from that
+ BKE_nlameta_flush_transforms(strip);
+ }
+ }
}
else if (t->obedit) {
if ELEM(t->obedit->type, OB_CURVE, OB_SURF) {