[Bf-blender-cvs] [8074d04] soc-2016-multiview: add TH_LINKED_MARKER and TH_SEL_LINKED_MARKER

Tianwei Shen noreply at git.blender.org
Tue Jul 12 15:30:18 CEST 2016


Commit: 8074d04334db8143faff1ffb3ba080d5cd030cb6
Author: Tianwei Shen
Date:   Tue Jul 12 17:00:10 2016 +0800
Branches: soc-2016-multiview
https://developer.blender.org/rB8074d04334db8143faff1ffb3ba080d5cd030cb6

add TH_LINKED_MARKER and TH_SEL_LINKED_MARKER

===================================================================

M	source/blender/editors/include/UI_resources.h
M	source/blender/editors/interface/resources.c
M	source/blender/editors/space_clip/tracking_ops_correspondence.c
M	source/blender/makesdna/DNA_userdef_types.h
M	source/blender/makesrna/intern/rna_userdef.c

===================================================================

diff --git a/source/blender/editors/include/UI_resources.h b/source/blender/editors/include/UI_resources.h
index a81221e..50cee5c 100644
--- a/source/blender/editors/include/UI_resources.h
+++ b/source/blender/editors/include/UI_resources.h
@@ -298,7 +298,11 @@ enum {
 	TH_V3D_CLIPPING_BORDER,
 
 	TH_METADATA_BG,
-	TH_METADATA_TEXT
+	TH_METADATA_TEXT,
+
+	/* color theme for linked markers */
+	TH_LINKED_MARKER,
+	TH_SEL_LINKED_MARKER
 };
 /* XXX WARNING: previous is saved in file, so do not change order! */
 
diff --git a/source/blender/editors/interface/resources.c b/source/blender/editors/interface/resources.c
index c8ff335..09f086c 100644
--- a/source/blender/editors/interface/resources.c
+++ b/source/blender/editors/interface/resources.c
@@ -593,6 +593,10 @@ const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colo
 					cp = ts->act_marker; break;
 				case TH_SEL_MARKER:
 					cp = ts->sel_marker; break;
+				case TH_LINKED_MARKER:
+					cp = ts->linked_marker; break;
+				case TH_SEL_LINKED_MARKER:
+					cp = ts->sel_linked_marker; break;
 				case TH_BUNDLE_SOLID:
 					cp = ts->bundle_solid; break;
 				case TH_DIS_MARKER:
@@ -1188,6 +1192,8 @@ void ui_theme_init_default(void)
 	rgba_char_args_set(btheme->tclip.act_marker, 0xff, 0xff, 0xff, 255);
 	rgba_char_args_set(btheme->tclip.sel_marker, 0xff, 0xff, 0x00, 255);
 	rgba_char_args_set(btheme->tclip.dis_marker, 0x7f, 0x00, 0x00, 255);
+	rgba_char_args_set(btheme->tclip.linked_marker, 0x00, 0x00, 0xff, 255);
+	rgba_char_args_set(btheme->tclip.sel_linked_marker, 0xff, 0x00, 0x00, 255);
 	rgba_char_args_set(btheme->tclip.lock_marker, 0x7f, 0x7f, 0x7f, 255);
 	rgba_char_args_set(btheme->tclip.path_before, 0xff, 0x00, 0x00, 255);
 	rgba_char_args_set(btheme->tclip.path_after, 0x00, 0x00, 0xff, 255);
@@ -2121,6 +2127,8 @@ void init_userdef_do_versions(void)
 				rgba_char_args_set(btheme->tclip.marker, 0x7f, 0x7f, 0x00, 255);
 				rgba_char_args_set(btheme->tclip.act_marker, 0xff, 0xff, 0xff, 255);
 				rgba_char_args_set(btheme->tclip.sel_marker, 0xff, 0xff, 0x00, 255);
+				rgba_char_args_set(btheme->tclip.linked_marker, 0x00, 0x00, 0xff, 255);
+				rgba_char_args_set(btheme->tclip.sel_linked_marker, 0xff, 0x00, 0x00, 255);
 				rgba_char_args_set(btheme->tclip.dis_marker, 0x7f, 0x00, 0x00, 255);
 				rgba_char_args_set(btheme->tclip.lock_marker, 0x7f, 0x7f, 0x7f, 255);
 				rgba_char_args_set(btheme->tclip.path_before, 0xff, 0x00, 0x00, 255);
diff --git a/source/blender/editors/space_clip/tracking_ops_correspondence.c b/source/blender/editors/space_clip/tracking_ops_correspondence.c
index 6c0de55..454e4d3 100644
--- a/source/blender/editors/space_clip/tracking_ops_correspondence.c
+++ b/source/blender/editors/space_clip/tracking_ops_correspondence.c
@@ -108,17 +108,17 @@ static int add_correspondence_exec(bContext *C, wmOperator *op)
 		}
 	}
 
-	if(!primary_track || !witness_track || num_primary_selected != 1 || num_witness_selected != 1) {
+	if (!primary_track || !witness_track || num_primary_selected != 1 || num_witness_selected != 1) {
 		BKE_report(op->reports, RPT_ERROR, "Select exactly one track in each clip");
 		return OPERATOR_CANCELLED;
 	}
 
-	// TODO(tianwei): link two tracks, mark these two tracks in a different color
+	// TODO(tianwei): mark these two tracks in a different color when clicked
 
 	// add these correspondence
 	char error_msg[256] = "\0";
 	if (!BKE_tracking_correspondence_add(&(tracking->correspondences), primary_track, witness_track,
-	                                clip, second_clip, error_msg, sizeof(error_msg))) {
+	                                     clip, second_clip, error_msg, sizeof(error_msg))) {
 		if (error_msg[0])
 			BKE_report(op->reports, RPT_ERROR, error_msg);
 		return OPERATOR_CANCELLED;
@@ -151,23 +151,7 @@ static int delete_correspondence_exec(bContext *C, wmOperator *UNUSED(op))
 	MovieTracking *tracking = &clip->tracking;
 	bool changed = false;
 
-	/* Delete selected plane tracks. */
-	ListBase *plane_tracks_base = BKE_tracking_get_active_plane_tracks(tracking);
-	for (MovieTrackingPlaneTrack *plane_track = plane_tracks_base->first,
-	                             *next_plane_track;
-	     plane_track != NULL;
-	     plane_track = next_plane_track) {
-		next_plane_track = plane_track->next;
-
-		if (PLANE_TRACK_VIEW_SELECTED(plane_track)) {
-			BKE_tracking_plane_track_free(plane_track);
-			BLI_freelinkN(plane_tracks_base, plane_track);
-			changed = true;
-		}
-	}
-
-	/* Remove selected point tracks (they'll also be removed from planes which
-	 * uses them).
+	/* Remove track correspondences from correspondence base
 	 */
 	ListBase *tracksbase = BKE_tracking_get_active_tracks(tracking);
 	for (MovieTrackingTrack *track = tracksbase->first, *next_track;
@@ -377,8 +361,8 @@ static void solve_multiview_freejob(void *scv)
 	WM_main_add_notifier(NC_SCENE, scene);
 
 	BKE_tracking_multiview_reconstruction_context_free(smj->context);
-	printf("free multiview reconstruction context\n");
 	MEM_freeN(smj);
+	printf("free multiview reconstruction context\n");
 }
 
 static int solve_multiview_exec(bContext *C, wmOperator *op)
diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h
index 02a0b41..e1133c4 100644
--- a/source/blender/makesdna/DNA_userdef_types.h
+++ b/source/blender/makesdna/DNA_userdef_types.h
@@ -298,6 +298,7 @@ typedef struct ThemeSpace {
 	char clipping_border_3d[4];
 	
 	char marker_outline[4], marker[4], act_marker[4], sel_marker[4], dis_marker[4], lock_marker[4];
+	char linked_marker[4], sel_linked_marker[4];	/* cross-clip linked markers and selected linked markers */
 	char bundle_solid[4];
 	char path_before[4], path_after[4];
 	char camera_path[4];
diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c
index cbf7bb4..e209512 100644
--- a/source/blender/makesrna/intern/rna_userdef.c
+++ b/source/blender/makesrna/intern/rna_userdef.c
@@ -2999,6 +2999,18 @@ static void rna_def_userdef_theme_space_clip(BlenderRNA *brna)
 	RNA_def_property_ui_text(prop, "Selected Marker", "Color of selected marker");
 	RNA_def_property_update(prop, 0, "rna_userdef_update");
 
+	prop = RNA_def_property(srna, "linked_marker", PROP_FLOAT, PROP_COLOR_GAMMA);
+	RNA_def_property_float_sdna(prop, NULL, "linked_marker");
+	RNA_def_property_array(prop, 3);
+	RNA_def_property_ui_text(prop, "Linked Marker", "Color of linked marker");
+	RNA_def_property_update(prop, 0, "rna_userdef_update");
+
+	prop = RNA_def_property(srna, "selected_linked_marker", PROP_FLOAT, PROP_COLOR_GAMMA);
+	RNA_def_property_float_sdna(prop, NULL, "sel_linked_marker");
+	RNA_def_property_array(prop, 3);
+	RNA_def_property_ui_text(prop, "Selected Linked Marker", "Color of selected linked marker");
+	RNA_def_property_update(prop, 0, "rna_userdef_update");
+
 	prop = RNA_def_property(srna, "disabled_marker", PROP_FLOAT, PROP_COLOR_GAMMA);
 	RNA_def_property_float_sdna(prop, NULL, "dis_marker");
 	RNA_def_property_array(prop, 3);




More information about the Bf-blender-cvs mailing list