[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [48276] trunk/blender/source/blender/ compositor/operations/COM_KeyingScreenOperation.cpp: Ignore disabled markers when building keying screen.

Sergey Sharybin sergey.vfx at gmail.com
Mon Jun 25 18:36:23 CEST 2012


Revision: 48276
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48276
Author:   nazgul
Date:     2012-06-25 16:36:22 +0000 (Mon, 25 Jun 2012)
Log Message:
-----------
Ignore disabled markers when building keying screen.

Modified Paths:
--------------
    trunk/blender/source/blender/compositor/operations/COM_KeyingScreenOperation.cpp

Modified: trunk/blender/source/blender/compositor/operations/COM_KeyingScreenOperation.cpp
===================================================================
--- trunk/blender/source/blender/compositor/operations/COM_KeyingScreenOperation.cpp	2012-06-25 16:36:12 UTC (rev 48275)
+++ trunk/blender/source/blender/compositor/operations/COM_KeyingScreenOperation.cpp	2012-06-25 16:36:22 UTC (rev 48276)
@@ -101,8 +101,15 @@
 	else
 		tracksbase = BKE_tracking_get_active_tracks(tracking);
 
-	sites_total = BLI_countlist(tracksbase);
+	/* count sites */
+	for (track = (MovieTrackingTrack *) tracksbase->first, sites_total = 0; track; track = track->next) {
+		MovieTrackingMarker *marker = BKE_tracking_marker_get(track, clip_frame);
 
+		if ((marker->flag & MARKER_DISABLED) == 0) {
+			sites_total++;
+		}
+	}
+
 	if (!sites_total)
 		return NULL;
 
@@ -117,11 +124,17 @@
 	sites = (VoronoiSite *) MEM_callocN(sizeof(VoronoiSite) * sites_total, "keyingscreen voronoi sites");
 	track = (MovieTrackingTrack *) tracksbase->first;
 	for (track = (MovieTrackingTrack *) tracksbase->first, i = 0; track; track = track->next, i++) {
-		VoronoiSite *site = &sites[i];
 		MovieTrackingMarker *marker = BKE_tracking_marker_get(track, clip_frame);
-		ImBuf *pattern_ibuf = BKE_tracking_get_pattern_imbuf(ibuf, track, marker, TRUE, FALSE);
+		VoronoiSite *site;
+		ImBuf *pattern_ibuf;
 		int j;
 
+		if (marker->flag & MARKER_DISABLED)
+			continue;
+
+		site = &sites[i];
+		pattern_ibuf = BKE_tracking_get_pattern_imbuf(ibuf, track, marker, TRUE, FALSE);
+
 		zero_v3(site->color);
 		for (j = 0; j < pattern_ibuf->x * pattern_ibuf->y; j++) {
 			if (pattern_ibuf->rect_float) {




More information about the Bf-blender-cvs mailing list