Revision: 41805
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41805
Author: nazgul
Date: 2011-11-13 17:16:04 +0000 (Sun, 13 Nov 2011)
Log Message:
-----------
Camera solving: fixed incorrect warnings about failure of solving some frames
Error was caused y not very accurate calculating which frames should be solved.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/tracking.c
Modified: trunk/blender/source/blender/blenkernel/intern/tracking.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/tracking.c 2011-11-13
16:38:14 UTC (rev 41804)
+++ trunk/blender/source/blender/blenkernel/intern/tracking.c 2011-11-13
17:16:04 UTC (rev 41805)
@@ -1289,8 +1289,27 @@
}
if(track->markersnr) {
- if(track->markers[0].framenr<sfra) sfra=
track->markers[0].framenr;
- if(track->markers[track->markersnr-1].framenr>efra)
efra= track->markers[track->markersnr-1].framenr;
+ int first= 0, last= track->markersnr;
+ MovieTrackingMarker *first_marker= &track->markers[0];
+ MovieTrackingMarker *last_marker=
&track->markers[track->markersnr-1];
+
+ /* find first not-disabled marker */
+ while(first<track->markersnr-1 &&
first_marker->flag&MARKER_DISABLED) {
+ first++;
+ first_marker++;
+ }
+
+ /* find last not-disabled marker */
+ while(last>=0 && last_marker->flag&MARKER_DISABLED) {
+ last--;
+ last_marker--;
+ }
+
+ if(first<track->markersnr-1)
+ sfra= MIN2(sfra, first_marker->framenr);
+
+ if(last>=0)
+ efra= MAX2(efra, last_marker->framenr);
}
track= track->next;
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs