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. @@
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to