[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [38326] branches/soc-2011-tomato: Camera tracking integration
Sergey Sharybin
g.ulairi at gmail.com
Tue Jul 12 13:46:47 CEST 2011
Revision: 38326
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=38326
Author: nazgul
Date: 2011-07-12 11:46:46 +0000 (Tue, 12 Jul 2011)
Log Message:
-----------
Camera tracking integration
===========================
- Reduced size of widget for camera focal length units.
Also changed labels to mm/px. Now it's much easier to read
values and titles here.
- Reordered settings in "Display" panel. Hopefully it's
now easier to read options here even when N-panel
isn't large enough.
- Fixed bug with "disappearing" labels from "Active marker" panel.
- If search areas are hidden and marker is disabled,
make pattern area red rather than displaying nothing for
this marker.
- Internal change: "show marker path" became "show track path".
- Lock shape of pattern to square by default. Control unlocks
this shape.
- Hitting escape when sliding cancels changes and stops sliding.
- Search areas are hidden by default now. No big benefit of
looking at them now after changing default settings to
2D tracker and pattern/search size.
- Both of Toolshelf and Properties panels are now visible
by default.
- Move keyframes from Properties panel to Toolshelf.
It is a key thing which makes reconstruction correct and
this options were too hidden and not so convenient to
use.
Modified Paths:
--------------
branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_clip.py
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/space_clip.c
branches/soc-2011-tomato/source/blender/editors/space_clip/tracking_ops.c
branches/soc-2011-tomato/source/blender/makesdna/DNA_space_types.h
branches/soc-2011-tomato/source/blender/makesrna/intern/rna_space.c
branches/soc-2011-tomato/source/blender/makesrna/intern/rna_tracking.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-12 11:27:35 UTC (rev 38325)
+++ branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_clip.py 2011-07-12 11:46:46 UTC (rev 38326)
@@ -89,6 +89,7 @@
def draw(self, context):
layout = self.layout
clip = context.space_data.clip
+ settings = clip.tracking.settings
if clip:
col = layout.column(align=True)
@@ -131,6 +132,11 @@
col = layout.column(align=True)
col.label(text="Reconstruction:")
+
+ col.prop(settings, "keyframe1")
+ col.prop(settings, "keyframe2")
+
+ col = layout.column(align=True)
col.operator("clip.solve_camera")
col.operator("clip.clear_reconstruction")
@@ -196,10 +202,6 @@
row.active = settings.use_frames_limit
row.prop(settings, "frames_limit")
- layout.label(text="Reconstruction:")
- col = layout.column(align=True)
- col.prop(settings, "keyframe1")
- col.prop(settings, "keyframe2")
class CLIP_PT_tracking_camera(bpy.types.Panel):
@@ -222,9 +224,10 @@
layout.prop(clip.tracking.camera, "sensor_width")
- row = layout.row()
- row.prop(clip.tracking.camera, "focal_length")
- row.prop(clip.tracking.camera, "units", text="")
+ row = layout.row(align=True)
+ sub = row.split(percentage=0.65)
+ sub.prop(clip.tracking.camera, "focal_length")
+ sub.prop(clip.tracking.camera, "units", text="")
layout.label(text="Principal Point")
layout.prop(clip.tracking.camera, "principal", text="")
@@ -245,17 +248,19 @@
layout = self.layout
sc = context.space_data
- layout.prop(sc, "show_marker_pattern")
- layout.prop(sc, "show_marker_search")
- layout.prop(sc, "lock_selection")
- layout.prop(sc, "show_marker_path")
+ row = layout.row()
+ row.prop(sc, "show_marker_pattern", text="Pattern")
+ row.prop(sc, "show_marker_search", text="Search")
row = layout.row()
- row.active = sc.show_marker_path
- row.prop(sc, "path_length")
+ row.prop(sc, "show_track_path", text="Path")
+ row.active = sc.show_track_path
+ row.prop(sc, "path_length", text="Length")
- layout.prop(sc, "show_tiny_markers")
- layout.prop(sc, "show_bundles")
+ layout.prop(sc, "show_tiny_markers", text="Tiny Markers")
+ layout.prop(sc, "show_bundles", text="Bundles")
+
+ layout.prop(sc, "lock_selection")
layout.prop(sc, "use_mute_footage")
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-12 11:27:35 UTC (rev 38325)
+++ branches/soc-2011-tomato/source/blender/editors/space_clip/clip_buttons.c 2011-07-12 11:46:46 UTC (rev 38326)
@@ -122,13 +122,13 @@
block= uiLayoutAbsoluteBlock(col);
uiBlockBeginAlign(block);
- uiDefBut(block, LABEL, 0, "Position:", 0, 171, 145, 19, NULL, 0, 0, 0, 0, "");
+ uiDefBut(block, LABEL, 0, "Position:", 0, 171, 300, 19, NULL, 0, 0, 0, 0, "");
uiDefButF(block, NUM, B_MARKER_POS, "X:", 10, 152, 145, 19, &sc->marker_pos[0],
-10*width, 10.0*width, step, digits, "X-position of marker at frame in screen coordinates.");
uiDefButF(block, NUM, B_MARKER_POS, "Y:", 165, 152, 145, 19, &sc->marker_pos[1],
-10*height, 10.0*height, step, digits, "Y-position of marker at frame in screen coordinates.");
- uiDefBut(block, LABEL, 0, "Pattern Area:", 0, 133, 145, 19, NULL, 0, 0, 0, 0, "");
+ uiDefBut(block, LABEL, 0, "Pattern Area:", 0, 133, 300, 19, NULL, 0, 0, 0, 0, "");
uiDefButF(block, NUM, B_MARKER_PAT_POS, "X:", 10, 114, 145, 19, &sc->track_pat_pos[0],
-width, width, step, digits, "X-position of pattern at frame in screen coordinates relative to marker's position.");
uiDefButF(block, NUM, B_MARKER_PAT_POS, "Y:", 165, 114, 145, 19, &sc->track_pat_pos[1],
@@ -138,7 +138,7 @@
uiDefButF(block, NUM, B_MARKER_PAT_DIM, "Height:", 10, 76, 300, 19, &sc->track_pat[1], 3.0f,
10.0*height, step, digits, "Height of marker's pattern in screen soordinates.");
- uiDefBut(block, LABEL, 0, "Search Area:", 0, 57, 145, 19, NULL, 0, 0, 0, 0, "");
+ uiDefBut(block, LABEL, 0, "Search Area:", 0, 57, 300, 19, NULL, 0, 0, 0, 0, "");
uiDefButF(block, NUM, B_MARKER_SEARCH_POS, "X:", 10, 38, 145, 19, &sc->track_search_pos[0],
-width, width, step, digits, "X-position of search at frame relative to marker's position");
uiDefButF(block, NUM, B_MARKER_SEARCH_POS, "Y:", 165, 38, 145, 19, &sc->track_search_pos[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-12 11:27:35 UTC (rev 38325)
+++ branches/soc-2011-tomato/source/blender/editors/space_clip/clip_draw.c 2011-07-12 11:46:46 UTC (rev 38326)
@@ -276,6 +276,7 @@
static void draw_marker_outline(SpaceClip *sc, MovieTrackingTrack *track, MovieTrackingMarker *marker)
{
int tiny= sc->flag&SC_SHOW_TINY_MARKER;
+ int show_pat= 0;
UI_ThemeColor(TH_MARKER_OUTLINE);
@@ -294,7 +295,8 @@
if(!tiny) glLineWidth(3.0f);
- if(sc->flag&SC_SHOW_MARKER_PATTERN && (marker->flag&MARKER_DISABLED)==0) {
+ show_pat= ((marker->flag&MARKER_DISABLED)==0 || (sc->flag&SC_SHOW_MARKER_SEARCH)==0);
+ if(sc->flag&SC_SHOW_MARKER_PATTERN && show_pat) {
glBegin(GL_LINE_LOOP);
glVertex2f(track->pat_min[0], track->pat_min[1]);
glVertex2f(track->pat_max[0], track->pat_min[1]);
@@ -320,6 +322,7 @@
{
int color= act?TH_ACT_MARKER:TH_SEL_MARKER;
int tiny= sc->flag&SC_SHOW_TINY_MARKER;
+ int show_pat= 0;
/* marker position */
if((track->flag&SELECT)==sel && (marker->flag&MARKER_DISABLED)==0) {
@@ -342,9 +345,16 @@
glEnable(GL_LINE_STIPPLE);
}
- if((track->pat_flag&SELECT)==sel && (marker->flag&MARKER_DISABLED)==0) {
- if(track->pat_flag&SELECT) UI_ThemeColor(color);
- else UI_ThemeColor(TH_MARKER);
+ 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(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 {
+ if(track->pat_flag&SELECT) UI_ThemeColor(color);
+ else UI_ThemeColor(TH_MARKER);
+ }
if(sc->flag&SC_SHOW_MARKER_PATTERN) {
glBegin(GL_LINE_LOOP);
@@ -362,7 +372,8 @@
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 {if(track->search_flag&SELECT) UI_ThemeColor(color);
+ } else {
+ if(track->search_flag&SELECT) UI_ThemeColor(color);
else UI_ThemeColor(TH_MARKER);
}
@@ -514,7 +525,7 @@
BKE_movieclip_last_selection(clip, &sel_type, &sel);
- if(sc->flag&SC_SHOW_MARKER_PATH) {
+ if(sc->flag&SC_SHOW_TRACK_PATH) {
track= tracking->tracks.first;
while(track) {
if((track->flag&TRACK_HIDDEN)==0)
Modified: branches/soc-2011-tomato/source/blender/editors/space_clip/space_clip.c
===================================================================
--- branches/soc-2011-tomato/source/blender/editors/space_clip/space_clip.c 2011-07-12 11:27:35 UTC (rev 38325)
+++ branches/soc-2011-tomato/source/blender/editors/space_clip/space_clip.c 2011-07-12 11:46:46 UTC (rev 38326)
@@ -77,7 +77,7 @@
sc= MEM_callocN(sizeof(SpaceClip), "initclip");
sc->spacetype= SPACE_CLIP;
- sc->flag= SC_SHOW_MARKER_PATTERN|SC_SHOW_MARKER_SEARCH|SC_SHOW_MARKER_PATH;
+ sc->flag= SC_SHOW_MARKER_PATTERN|SC_SHOW_TRACK_PATH;
sc->zoom= 1.0f;
sc->path_length= 20;
@@ -94,7 +94,6 @@
BLI_addtail(&sc->regionbase, ar);
ar->regiontype= RGN_TYPE_TOOLS;
ar->alignment= RGN_ALIGN_LEFT;
- ar->flag= RGN_FLAG_HIDDEN;
/* properties view */
ar= MEM_callocN(sizeof(ARegion), "properties for logic");
@@ -102,7 +101,6 @@
BLI_addtail(&sc->regionbase, ar);
ar->regiontype= RGN_TYPE_UI;
ar->alignment= RGN_ALIGN_RIGHT;
- ar->flag= RGN_FLAG_HIDDEN;
/* main area */
ar= MEM_callocN(sizeof(ARegion), "main area for clip");
Modified: branches/soc-2011-tomato/source/blender/editors/space_clip/tracking_ops.c
===================================================================
--- branches/soc-2011-tomato/source/blender/editors/space_clip/tracking_ops.c 2011-07-12 11:27:35 UTC (rev 38325)
+++ branches/soc-2011-tomato/source/blender/editors/space_clip/tracking_ops.c 2011-07-12 11:46:46 UTC (rev 38326)
@@ -1275,7 +1275,7 @@
float *min, *max, *pos;
float smin[2], smax[2], spos[2];
- int keep_square, accurate;
+ int lock, accurate;
} SlideMarkerData;
static SlideMarkerData *create_slide_marker_data(MovieTrackingTrack *track, MovieTrackingMarker *marker, wmEvent *event, int area, int width, int height)
@@ -1307,6 +1307,8 @@
data->width= width;
data->height= height;
+ data->lock= 1;
+
return data;
}
@@ -1402,7 +1404,7 @@
case RIGHTSHIFTKEY:
if(data->area != TRACK_AREA_POINT)
if(ELEM(event->type, LEFTCTRLKEY, RIGHTCTRLKEY))
- data->keep_square= event->val==KM_PRESS;
+ data->lock= event->val==KM_RELEASE;
if(ELEM(event->type, LEFTSHIFTKEY, RIGHTSHIFTKEY))
data->accurate= event->val==KM_PRESS;
@@ -1431,7 +1433,7 @@
data->min[1]= data->smin[1]+dy;
data->max[1]= data->smax[1]-dy;
- if(data->keep_square) {
+ if(data->lock) {
float h= (data->max[0]-data->min[0])*data->width/data->height;
data->min[1]= data->spos[1]-h/2;
@@ -1455,6 +1457,23 @@
}
break;
+
+ case ESCKEY:
+ /* cancel sliding */
+ if(data->area == TRACK_AREA_POINT) {
+ data->pos[0]= data->spos[0];
+ data->pos[1]= data->spos[1];
+ } else {
+ data->min[0]= data->smin[0];
+ data->max[0]= data->smax[0];
+
+ data->min[1]= data->smin[1];
+ data->max[1]= data->smax[1];
+ }
+
+ WM_event_add_notifier(C, NC_MOVIECLIP|NA_EDITED, NULL);
+
+ return OPERATOR_CANCELLED;
}
return OPERATOR_PASS_THROUGH;
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list