Revision: 38271
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=38271
Author:   nazgul
Date:     2011-07-09 19:51:23 +0000 (Sat, 09 Jul 2011)
Log Message:
-----------
Camera tracking integration
===========================

- Implemented hide/show track functionality.
- Small re-exposing Marker menu into UI.
  Now it's called "Track". Added new operators there.
- Set reconstructed clip as active to scene.

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/tracking.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/makesdna/DNA_tracking_types.h

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-09 19:46:41 UTC (rev 38270)
+++ branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_clip.py        
2011-07-09 19:51:23 UTC (rev 38271)
@@ -76,7 +76,7 @@
 
             if clip:
                 sub.menu("CLIP_MT_select")
-                sub.menu("CLIP_MT_edit")
+                sub.menu("CLIP_MT_track")
 
         layout.template_ID(sc, "clip")
 
@@ -338,30 +338,66 @@
         layout.operator("clip.open")
 
 
-class CLIP_MT_edit(bpy.types.Menu):
-    bl_label = "Edit"
+class CLIP_MT_track(bpy.types.Menu):
+    bl_label = "Track"
 
     def draw(self, context):
         layout = self.layout
 
-        sc = context.space_data
+        layout.operator("clip.set_origin")
 
+        layout.separator()
+        layout.operator("clip.clear_reconstruction")
+        layout.operator("clip.solve_camera")
+
+        layout.separator()
+        layout.operator("clip.clear_track_path", text="Clear Remained 
Path").action = 'REMAINED'
+        layout.operator("clip.clear_track_path", text="Clear Path Up 
To").action = 'UPTO'
+        layout.operator("clip.clear_track_path", text="Clear Track 
Path").action = 'ALL'
+
+        layout.separator()
+        op = layout.operator("clip.track_markers", text="Track Frame 
Backwards")
+        op.backwards = True
+        op = layout.operator("clip.track_markers", text="Track Backwards")
+        op.backwards = True
+        op.sequence = True
+        op = layout.operator("clip.track_markers", text="Track Forwards")
+        op.sequence = True
+        layout.operator("clip.track_markers", text="Track Frame Forwards")
+
+        layout.separator()
         layout.operator("clip.delete_track")
         layout.operator("clip.delete_marker")
-        layout.menu("CLIP_MT_marker")
 
+        layout.separator()
+        layout.operator("clip.add_marker_move")
 
-class CLIP_MT_marker(bpy.types.Menu):
-    bl_label = "Marker"
+        layout.separator()
+        layout.menu("CLIP_MT_track_visibility")
+        layout.menu("CLIP_MT_track_transform")
 
+
+class CLIP_MT_track_visibility(bpy.types.Menu):
+    bl_label = "Show/Hide"
+
     def draw(self, context):
         layout = self.layout
 
-        sc = context.space_data
+        layout.operator("clip.hide_tracks_clear", text="Show Hidden")
+        layout.operator("clip.hide_tracks", text="Hide Selected")
+        layout.operator("clip.hide_tracks", text="Hide Unselected").unselected 
= True
 
-        layout.operator("clip.add_marker_move")
 
+class CLIP_MT_track_transform(bpy.types.Menu):
+    bl_label = "Transform"
 
+    def draw(self, context):
+        layout = self.layout
+
+        layout.operator("transform.translate")
+        layout.operator("transform.resize")
+
+
 class CLIP_MT_select(bpy.types.Menu):
     bl_label = "Select"
 

Modified: branches/soc-2011-tomato/source/blender/blenkernel/BKE_tracking.h
===================================================================
--- branches/soc-2011-tomato/source/blender/blenkernel/BKE_tracking.h   
2011-07-09 19:46:41 UTC (rev 38270)
+++ branches/soc-2011-tomato/source/blender/blenkernel/BKE_tracking.h   
2011-07-09 19:51:23 UTC (rev 38271)
@@ -78,6 +78,7 @@
 
 #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 CLAMP_PAT_DIM          1
 #define CLAMP_PAT_POS          2

Modified: branches/soc-2011-tomato/source/blender/blenkernel/intern/tracking.c
===================================================================
--- branches/soc-2011-tomato/source/blender/blenkernel/intern/tracking.c        
2011-07-09 19:46:41 UTC (rev 38270)
+++ branches/soc-2011-tomato/source/blender/blenkernel/intern/tracking.c        
2011-07-09 19:51:23 UTC (rev 38271)
@@ -386,7 +386,7 @@
 
        track= tracking->tracks.first;
        while(track) {
-               if(TRACK_SELECTED(track)) {
+               if(TRACK_VIEW_SELECTED(track)) {
                        MovieTrackingTrack *new_track= 
BKE_tracking_copy_track(track);
 
                        BLI_addtail(&context->tracks, new_track);

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-09 19:46:41 UTC (rev 38270)
+++ branches/soc-2011-tomato/source/blender/editors/space_clip/clip_draw.c      
2011-07-09 19:51:23 UTC (rev 38271)
@@ -507,7 +507,9 @@
        if(sc->flag&SC_SHOW_MARKER_PATH) {
                track= clip->tracking.tracks.first;
                while(track) {
-                       draw_track_path(sc, clip, track);
+                       if((track->flag&TRACK_HIDDEN)==0)
+                               draw_track_path(sc, clip, track);
+
                        track= track->next;
                }
        }
@@ -515,11 +517,13 @@
        /* markers outline and non-selected areas */
        track= clip->tracking.tracks.first;
        while(track) {
-               marker= BKE_tracking_get_marker(track, sc->user.framenr);
+               if((track->flag&TRACK_HIDDEN)==0) {
+                       marker= BKE_tracking_get_marker(track, 
sc->user.framenr);
 
-               draw_marker_outline(sc, track, marker);
-               draw_marker_slide_zones(sc, track, marker, 1, 0, width, height);
-               draw_marker_areas(sc, track, marker, 0, 0);
+                       draw_marker_outline(sc, track, marker);
+                       draw_marker_slide_zones(sc, track, marker, 1, 0, width, 
height);
+                       draw_marker_areas(sc, track, marker, 0, 0);
+               }
 
                track= track->next;
        }
@@ -528,12 +532,14 @@
           non-selected areas */
        track= clip->tracking.tracks.first;
        while(track) {
-               int act= sel_type==MCLIP_SEL_TRACK && sel==track;
+               if((track->flag&TRACK_HIDDEN)==0) {
+                       int act= sel_type==MCLIP_SEL_TRACK && sel==track;
 
-               if(!act) {
-                       marker= BKE_tracking_get_marker(track, 
sc->user.framenr);
-                       draw_marker_areas(sc, track, marker, 0, 1);
-                       draw_marker_slide_zones(sc, track, marker, 0, 0, width, 
height);
+                       if(!act) {
+                               marker= BKE_tracking_get_marker(track, 
sc->user.framenr);
+                               draw_marker_areas(sc, track, marker, 0, 1);
+                               draw_marker_slide_zones(sc, track, marker, 0, 
0, width, height);
+                       }
                }
 
                track= track->next;
@@ -541,9 +547,11 @@
 
        /* active marker would be displayed on top of everything else */
        if(sel_type==MCLIP_SEL_TRACK) {
-               marker= BKE_tracking_get_marker(sel, sc->user.framenr);
-               draw_marker_areas(sc, sel, marker, 1, 1);
-               draw_marker_slide_zones(sc, sel, marker, 0, 1, width, height);
+               if((((MovieTrackingTrack *)sel)->flag&TRACK_HIDDEN)==0) {
+                       marker= BKE_tracking_get_marker(sel, sc->user.framenr);
+                       draw_marker_areas(sc, sel, marker, 1, 1);
+                       draw_marker_slide_zones(sc, sel, marker, 0, 1, width, 
height);
+               }
        }
 
        glPopMatrix();

Modified: 
branches/soc-2011-tomato/source/blender/editors/space_clip/clip_intern.h
===================================================================
--- branches/soc-2011-tomato/source/blender/editors/space_clip/clip_intern.h    
2011-07-09 19:46:41 UTC (rev 38270)
+++ branches/soc-2011-tomato/source/blender/editors/space_clip/clip_intern.h    
2011-07-09 19:51:23 UTC (rev 38271)
@@ -74,6 +74,8 @@
 void CLIP_OT_clear_track_path(struct wmOperatorType *ot);
 
 void CLIP_OT_disable_markers(struct wmOperatorType *ot);
+void CLIP_OT_hide_tracks(struct wmOperatorType *ot);
+void CLIP_OT_hide_tracks_clear(struct wmOperatorType *ot);
 
 void CLIP_OT_set_origin(struct wmOperatorType *ot);
 

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-09 19:46:41 UTC (rev 38270)
+++ branches/soc-2011-tomato/source/blender/editors/space_clip/space_clip.c     
2011-07-09 19:51:23 UTC (rev 38271)
@@ -213,6 +213,8 @@
        WM_operatortype_append(CLIP_OT_clear_reconstruction);
 
        WM_operatortype_append(CLIP_OT_disable_markers);
+       WM_operatortype_append(CLIP_OT_hide_tracks);
+       WM_operatortype_append(CLIP_OT_hide_tracks_clear);
        WM_operatortype_append(CLIP_OT_set_origin);
 
        WM_operatortype_append(CLIP_OT_clear_track_path);
@@ -296,6 +298,11 @@
 
        WM_keymap_add_item(keymap, "CLIP_OT_slide_marker", LEFTMOUSE, KM_PRESS, 
0, 0);
 
+       WM_keymap_add_item(keymap, "CLIP_OT_hide_tracks", HKEY, KM_PRESS, 0, 0);
+       kmi= WM_keymap_add_item(keymap, "CLIP_OT_hide_tracks", HKEY, KM_PRESS, 
KM_SHIFT, 0);
+       RNA_boolean_set(kmi->ptr, "unselected", 1);
+       WM_keymap_add_item(keymap, "CLIP_OT_hide_tracks_clear", HKEY, KM_PRESS, 
KM_ALT, 0);
+
        transform_keymap_for_space(keyconf, keymap, SPACE_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-09 19:46:41 UTC (rev 38270)
+++ branches/soc-2011-tomato/source/blender/editors/space_clip/tracking_ops.c   
2011-07-09 19:51:23 UTC (rev 38271)
@@ -241,7 +241,7 @@
        while(track) {
                next= track->next;
 
-               if(TRACK_SELECTED(track)) {
+               if(TRACK_VIEW_SELECTED(track)) {
                        BKE_tracking_free_track(track);
                        BLI_freelinkN(&clip->tracking.tracks, track);
                }
@@ -286,7 +286,7 @@
        while(track) {
                next= track->next;
 
-               if(TRACK_SELECTED(track)) {
+               if(TRACK_VIEW_SELECTED(track)) {
                        MovieTrackingMarker *marker= 
BKE_tracking_exact_marker(track, framenr);
 
                        if(marker) {
@@ -519,12 +519,14 @@
        /* do actual selection */
        track= clip->tracking.tracks.first;
        while(track) {
-               MovieTrackingMarker *marker= BKE_tracking_get_marker(track, 
sc->user.framenr);
+               if((track->flag&TRACK_HIDDEN)==0) {
+                       MovieTrackingMarker *marker= 
BKE_tracking_get_marker(track, sc->user.framenr);
 
-               if(BLI_in_rctf(&rectf, marker->pos[0], marker->pos[1])) {
-                       BKE_tracking_track_flag(track, TRACK_AREA_ALL, SELECT, 
mode!=GESTURE_MODAL_SELECT);
+                       if(BLI_in_rctf(&rectf, marker->pos[0], marker->pos[1])) 
{
+                               BKE_tracking_track_flag(track, TRACK_AREA_ALL, 
SELECT, mode!=GESTURE_MODAL_SELECT);
 
-                       change= 1;
+                               change= 1;
+                       }
                }
 
                track= track->next;
@@ -602,12 +604,14 @@
        /* do selection */
        track= clip->tracking.tracks.first;
        while(track) {
-               MovieTrackingMarker *marker= BKE_tracking_get_marker(track, 
sc->user.framenr);
+               if((track->flag&TRACK_HIDDEN)==0) {

@@ 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