[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [46797] branches/soc-2011-tomato/source/ blender/editors/transform/transform.c: Fix aspect ratio correction for translating motion tracking data
Sergey Sharybin
sergey.vfx at gmail.com
Sat May 19 18:55:21 CEST 2012
Revision: 46797
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=46797
Author: nazgul
Date: 2012-05-19 16:55:20 +0000 (Sat, 19 May 2012)
Log Message:
-----------
Fix aspect ratio correction for translating motion tracking data
Still has got some issues when translating masks.
Modified Paths:
--------------
branches/soc-2011-tomato/source/blender/editors/transform/transform.c
Modified: branches/soc-2011-tomato/source/blender/editors/transform/transform.c
===================================================================
--- branches/soc-2011-tomato/source/blender/editors/transform/transform.c 2012-05-19 13:55:54 UTC (rev 46796)
+++ branches/soc-2011-tomato/source/blender/editors/transform/transform.c 2012-05-19 16:55:20 UTC (rev 46797)
@@ -164,6 +164,7 @@
View2D *v2d = t->view;
float divx, divy;
float mulx, muly;
+ float aspx = 1.0f, aspy = 1.0f;
divx = v2d->mask.xmax-v2d->mask.xmin;
divy = v2d->mask.ymax-v2d->mask.ymin;
@@ -181,13 +182,16 @@
r_vec[1] = muly * (dy) / divy;
r_vec[2] = 0.0f;
- /* TODO - NOT WORKING, this isnt so bad since its only display aspect */
- if (t->options & CTX_MASK) {
- float aspx, aspy;
+ if (t->options & CTX_MOVIECLIP) {
+ ED_space_clip_aspect_dimension_aware(t->sa->spacedata.first, &aspx, &aspy);
+ }
+ else if (t->options & CTX_MASK) {
+ /* TODO - NOT WORKING, this isnt so bad since its only display aspect */
ED_space_clip_mask_aspect(t->sa->spacedata.first, &aspx, &aspy);
- r_vec[0] *= aspx;
- r_vec[1] *= aspy;
}
+
+ r_vec[0] *= aspx;
+ r_vec[1] *= aspy;
}
else {
printf("%s: called in an invalid context\n", __func__);
@@ -349,21 +353,17 @@
else if ((t->spacetype==SPACE_CLIP) && (t->mode==TFM_TRANSLATION)) {
if (t->options & (CTX_MOVIECLIP | CTX_MASK)) {
SpaceClip *sc = t->sa->spacedata.first;
- float aspx, aspy;
+ float aspx = 1.0f, aspy = 1.0f;
if (t->options & CTX_MOVIECLIP) {
ED_space_clip_aspect_dimension_aware(sc, &aspx, &aspy);
-
- vec[0] *= aspx;
- vec[1] *= aspy;
}
else if (t->options & CTX_MASK) {
- ED_space_clip_aspect(sc, &aspx, &aspy);
ED_space_clip_mask_aspect(sc, &aspx, &aspy);
+ }
- vec[0] *= aspx;
- vec[1] *= aspy;
- }
+ vec[0] *= aspx;
+ vec[1] *= aspy;
}
}
}
More information about the Bf-blender-cvs
mailing list