[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [38532] branches/soc-2011-tomato: Camera tracking integration
Sergey Sharybin
g.ulairi at gmail.com
Wed Jul 20 12:51:48 CEST 2011
Revision: 38532
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=38532
Author: nazgul
Date: 2011-07-20 10:51:47 +0000 (Wed, 20 Jul 2011)
Log Message:
-----------
Camera tracking integration
===========================
- Internal change: do not use maroses for checking the only
one bit of track/marker flags.
- Do not display track name for disabled markers when
"Show Disabled" is turned off.
- Option to lock tracks. Locked tracks can't be be moved,
scaled, re-tracked and so.
Modified Paths:
--------------
branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_clip.py
branches/soc-2011-tomato/source/blender/blenkernel/BKE_tracking.h
branches/soc-2011-tomato/source/blender/blenkernel/intern/movieclip.c
branches/soc-2011-tomato/source/blender/blenkernel/intern/tracking.c
branches/soc-2011-tomato/source/blender/editors/include/UI_resources.h
branches/soc-2011-tomato/source/blender/editors/interface/resources.c
branches/soc-2011-tomato/source/blender/editors/space_clip/clip_buttons.c
branches/soc-2011-tomato/source/blender/editors/space_clip/clip_draw.c
branches/soc-2011-tomato/source/blender/editors/space_clip/clip_intern.h
branches/soc-2011-tomato/source/blender/editors/space_clip/space_clip.c
branches/soc-2011-tomato/source/blender/editors/space_clip/tracking_ops.c
branches/soc-2011-tomato/source/blender/editors/transform/transform_conversions.c
branches/soc-2011-tomato/source/blender/makesdna/DNA_tracking_types.h
branches/soc-2011-tomato/source/blender/makesdna/DNA_userdef_types.h
branches/soc-2011-tomato/source/blender/makesrna/intern/rna_tracking.c
branches/soc-2011-tomato/source/blender/makesrna/intern/rna_userdef.c
Modified: branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_clip.py
===================================================================
--- branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_clip.py 2011-07-20 09:54:27 UTC (rev 38531)
+++ branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_clip.py 2011-07-20 10:51:47 UTC (rev 38532)
@@ -212,16 +212,17 @@
act_track = clip.tracking.active_track
layout.prop(act_track, "name")
+ layout.prop(act_track, "locked")
layout.template_track(sc, "scopes")
- if act_track:
- row = layout.row()
- row.prop(act_track, "use_red_channel", text="Red")
- row.prop(act_track, "use_green_channel", text="Green")
- row.prop(act_track, "use_blue_channel", text="Blue")
+ row = layout.row()
+ row.prop(act_track, "use_red_channel", text="Red")
+ row.prop(act_track, "use_green_channel", text="Green")
+ row.prop(act_track, "use_blue_channel", text="Blue")
+
class CLIP_PT_track_settings(bpy.types.Panel):
bl_space_type = 'CLIP_EDITOR'
bl_region_type = 'UI'
@@ -498,13 +499,21 @@
op = layout.operator("clip.disable_markers", text="Disable markers")
op.action = 'DISABLE'
+ layout.separator()
layout.operator("clip.set_origin")
layout.separator()
layout.operator("clip.hide_tracks")
layout.operator("clip.hide_tracks_clear", text="Show Tracks")
+ layout.separator()
+ op = layout.operator("clip.lock_tracks", text="Lock Tracks")
+ op.action = 'LOCK'
+ op = layout.operator("clip.lock_tracks", text="Unlock Tracks")
+ op.action = 'UNLOCK'
+
+
class CLIP_MT_camera_presets(bpy.types.Menu):
bl_label = "Camera Presets"
preset_subdir = "tracking_camera"
Modified: branches/soc-2011-tomato/source/blender/blenkernel/BKE_tracking.h
===================================================================
--- branches/soc-2011-tomato/source/blender/blenkernel/BKE_tracking.h 2011-07-20 09:54:27 UTC (rev 38531)
+++ branches/soc-2011-tomato/source/blender/blenkernel/BKE_tracking.h 2011-07-20 10:51:47 UTC (rev 38532)
@@ -84,10 +84,9 @@
struct MovieTrackingTrack *BKE_tracking_indexed_bundle(struct MovieTracking *tracking, int bundlenr);
-#define TRACK_SELECTED(track) ((track)->flag&SELECT || (track)->pat_flag&SELECT || (track)->search_flag&SELECT)
-#define TRACK_AREA_SELECTED(track, area) ((area)==TRACK_AREA_POINT?(track)->flag&SELECT : ((area)==TRACK_AREA_PAT?(track)->pat_flag&SELECT:(track)->search_flag&SELECT))
-#define TRACK_VIEW_SELECTED(track) ((track->flag&TRACK_HIDDEN)==0 && TRACK_SELECTED(track))
-#define TRACK_VISIBLE(track) (((track)->flag&TRACK_HIDDEN)==0)
+#define TRACK_SELECTED(track) (((track->flag&TRACK_HIDDEN)==0) && ((track)->flag&SELECT || (track)->pat_flag&SELECT || (track)->search_flag&SELECT))
+#define TRACK_AREA_SELECTED(track, area) (((track->flag&TRACK_HIDDEN)==0) && ((area)==TRACK_AREA_POINT?(track)->flag&SELECT : ((area)==TRACK_AREA_PAT?(track)->pat_flag&SELECT:(track)->search_flag&SELECT)))
+
#define MARKER_VISIBLE(sc, marker) (((marker)->flag&MARKER_DISABLED)==0 || ((sc)->flag&SC_HIDE_DISABLED)==0)
#define CLAMP_PAT_DIM 1
Modified: branches/soc-2011-tomato/source/blender/blenkernel/intern/movieclip.c
===================================================================
--- branches/soc-2011-tomato/source/blender/blenkernel/intern/movieclip.c 2011-07-20 09:54:27 UTC (rev 38531)
+++ branches/soc-2011-tomato/source/blender/blenkernel/intern/movieclip.c 2011-07-20 10:51:47 UTC (rev 38532)
@@ -487,10 +487,12 @@
IMB_freeImBuf(ibuf);
}
- scopes->marker= marker;
- scopes->track= track;
- scopes->slide_scale[0]= track->pat_max[0]-track->pat_min[0];
- scopes->slide_scale[1]= track->pat_max[1]-track->pat_min[1];
+ if((track->flag&TRACK_LOCKED)==0) {
+ scopes->marker= marker;
+ scopes->track= track;
+ scopes->slide_scale[0]= track->pat_max[0]-track->pat_min[0];
+ scopes->slide_scale[1]= track->pat_max[1]-track->pat_min[1];
+ }
}
}
Modified: branches/soc-2011-tomato/source/blender/blenkernel/intern/tracking.c
===================================================================
--- branches/soc-2011-tomato/source/blender/blenkernel/intern/tracking.c 2011-07-20 09:54:27 UTC (rev 38531)
+++ branches/soc-2011-tomato/source/blender/blenkernel/intern/tracking.c 2011-07-20 10:51:47 UTC (rev 38532)
@@ -422,7 +422,7 @@
track= tracking->tracks.first;
while(track) {
- if(TRACK_VIEW_SELECTED(track) && TRACK_VISIBLE(track)) {
+ if(TRACK_SELECTED(track) && (track->flag&TRACK_LOCKED)==0) {
MovieTrackingMarker *marker= BKE_tracking_get_marker(track, user->framenr);
if((marker->flag&MARKER_DISABLED)==0) {
Modified: branches/soc-2011-tomato/source/blender/editors/include/UI_resources.h
===================================================================
--- branches/soc-2011-tomato/source/blender/editors/include/UI_resources.h 2011-07-20 09:54:27 UTC (rev 38531)
+++ branches/soc-2011-tomato/source/blender/editors/include/UI_resources.h 2011-07-20 10:51:47 UTC (rev 38532)
@@ -252,7 +252,8 @@
TH_DIS_MARKER,
TH_PATH_BEFORE,
TH_PATH_AFTER,
- TH_CAMERA_PATH
+ TH_CAMERA_PATH,
+ TH_LOCK_MARKER
};
/* XXX WARNING: previous is saved in file, so do not change order! */
Modified: branches/soc-2011-tomato/source/blender/editors/interface/resources.c
===================================================================
--- branches/soc-2011-tomato/source/blender/editors/interface/resources.c 2011-07-20 09:54:27 UTC (rev 38531)
+++ branches/soc-2011-tomato/source/blender/editors/interface/resources.c 2011-07-20 10:51:47 UTC (rev 38532)
@@ -430,6 +430,8 @@
cp= ts->path_after; break;
case TH_CAMERA_PATH:
cp= ts->camera_path; break;
+ case TH_LOCK_MARKER:
+ cp= ts->lock_marker; break;
}
}
}
@@ -824,6 +826,7 @@
SETCOL(btheme->tclip.act_marker, 0xff, 0xff, 0xff, 255);
SETCOL(btheme->tclip.sel_marker, 0xff, 0xff, 0x00, 255);
SETCOL(btheme->tclip.dis_marker, 0x7f, 0x00, 0x00, 255);
+ SETCOL(btheme->tclip.lock_marker, 0x7f, 0x7f, 0x7f, 255);
SETCOL(btheme->tclip.path_before, 0xff, 0x00, 0x00, 255);
SETCOL(btheme->tclip.path_after, 0x00, 0x00, 0xff, 255);
}
@@ -1604,6 +1607,7 @@
SETCOL(btheme->tclip.act_marker, 0xff, 0xff, 0xff, 255);
SETCOL(btheme->tclip.sel_marker, 0xff, 0xff, 0x00, 255);
SETCOL(btheme->tclip.dis_marker, 0x7f, 0x00, 0x00, 255);
+ SETCOL(btheme->tclip.lock_marker, 0x7f, 0x7f, 0x7f, 255);
SETCOL(btheme->tclip.path_before, 0xff, 0x00, 0x00, 255);
SETCOL(btheme->tclip.path_after, 0x00, 0x00, 0xff, 255);
}
Modified: branches/soc-2011-tomato/source/blender/editors/space_clip/clip_buttons.c
===================================================================
--- branches/soc-2011-tomato/source/blender/editors/space_clip/clip_buttons.c 2011-07-20 09:54:27 UTC (rev 38531)
+++ branches/soc-2011-tomato/source/blender/editors/space_clip/clip_buttons.c 2011-07-20 10:51:47 UTC (rev 38532)
@@ -260,6 +260,9 @@
if(type!=MCLIP_SEL_TRACK)
return 0;
+ if(track->flag&TRACK_LOCKED)
+ return 0;
+
return 1;
}
Modified: branches/soc-2011-tomato/source/blender/editors/space_clip/clip_draw.c
===================================================================
--- branches/soc-2011-tomato/source/blender/editors/space_clip/clip_draw.c 2011-07-20 09:54:27 UTC (rev 38531)
+++ branches/soc-2011-tomato/source/blender/editors/space_clip/clip_draw.c 2011-07-20 10:51:47 UTC (rev 38532)
@@ -328,6 +328,11 @@
/* marker position */
if((track->flag&SELECT)==sel && (marker->flag&MARKER_DISABLED)==0) {
+ if(track->flag&TRACK_LOCKED) {
+ if(act) UI_ThemeColor(TH_ACT_MARKER);
+ else if(track->flag&SELECT) UI_ThemeColorShade(TH_LOCK_MARKER, 64);
+ else UI_ThemeColor(TH_LOCK_MARKER);
+ } else
if(track->flag&SELECT) UI_ThemeColor(color);
else UI_ThemeColor(TH_MARKER);
@@ -349,9 +354,14 @@
show_pat= ((marker->flag&MARKER_DISABLED)==0 || (sc->flag&SC_SHOW_MARKER_SEARCH)==0);
if((track->pat_flag&SELECT)==sel && show_pat) {
- if(marker->flag&MARKER_DISABLED) {
+ if(track->flag&TRACK_LOCKED) {
if(act) UI_ThemeColor(TH_ACT_MARKER);
- else if(track->search_flag&SELECT) UI_ThemeColorShade(TH_DIS_MARKER, 128);
+ else if(track->pat_flag&SELECT) UI_ThemeColorShade(TH_LOCK_MARKER, 64);
+ else UI_ThemeColor(TH_LOCK_MARKER);
+ }
+ else if(marker->flag&MARKER_DISABLED) {
+ if(act) UI_ThemeColor(TH_ACT_MARKER);
+ else if(track->pat_flag&SELECT) UI_ThemeColorShade(TH_DIS_MARKER, 128);
else UI_ThemeColor(TH_DIS_MARKER);
} else {
if(track->pat_flag&SELECT) UI_ThemeColor(color);
@@ -370,8 +380,13 @@
/* search */
if((track->search_flag&SELECT)==sel) {
- if(marker->flag&MARKER_DISABLED) {
+ if(track->flag&TRACK_LOCKED) {
if(act) UI_ThemeColor(TH_ACT_MARKER);
+ else if(track->search_flag&SELECT) UI_ThemeColorShade(TH_LOCK_MARKER, 64);
+ else UI_ThemeColor(TH_LOCK_MARKER);
+ }
+ else if(marker->flag&MARKER_DISABLED) {
+ if(act) UI_ThemeColor(TH_ACT_MARKER);
else if(track->search_flag&SELECT) UI_ThemeColorShade(TH_DIS_MARKER, 128);
else UI_ThemeColor(TH_DIS_MARKER);
} else {
@@ -401,9 +416,12 @@
float x, y, dx, dy, tdx, tdy;
int tiny= sc->flag&SC_SHOW_TINY_MARKER;
- if(!TRACK_SELECTED(track) || (tiny && outline) || (marker->flag&MARKER_DISABLED))
+ if((tiny && outline) || (marker->flag&MARKER_DISABLED))
return;
+ if(!TRACK_SELECTED(track) || track->flag&TRACK_LOCKED)
+ return;
+
if(outline) {
glLineWidth(3.0f);
UI_ThemeColor(TH_MARKER_OUTLINE);
@@ -525,6 +543,10 @@
BLI_snprintf(str, sizeof(str), "%s", track->name);
UI_DrawString(x, y, str);
+
+ if(track->flag&TRACK_LOCKED) {
+ UI_DrawString(x, y-12.f*UI_DPI_FAC, "locked");
+ }
}
static void view2d_to_region_float(View2D *v2d, float x, float y, float *regionx, float *regiony)
@@ -569,7 +591,7 @@
if(sc->flag&SC_SHOW_TRACK_PATH) {
track= tracking->tracks.first;
while(track) {
- if(TRACK_VISIBLE(track))
+ if((track->flag&TRACK_HIDDEN)==0)
draw_track_path(sc, clip, track);
track= track->next;
@@ -579,7 +601,7 @@
/* markers outline and non-selected areas */
track= tracking->tracks.first;
while(track) {
- if(TRACK_VISIBLE(track)) {
+ if((track->flag&TRACK_HIDDEN)==0) {
marker= BKE_tracking_get_marker(track, framenr);
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list