[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [38288] branches/soc-2011-tomato: Camera tracking integration
Sergey Sharybin
g.ulairi at gmail.com
Sun Jul 10 20:12:30 CEST 2011
Revision: 38288
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=38288
Author: nazgul
Date: 2011-07-10 18:12:29 +0000 (Sun, 10 Jul 2011)
Log Message:
-----------
Camera tracking integration
===========================
- Fixed sub-pixel precision error when sliding markers.
- Made sliding areas smaller.
- Remove "Debug" menu,
- pep8 cleanup.
Modified Paths:
--------------
branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_clip.py
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
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-10 17:30:31 UTC (rev 38287)
+++ branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_clip.py 2011-07-10 18:12:29 UTC (rev 38288)
@@ -108,7 +108,8 @@
op = row.operator("clip.track_markers", text="", icon='FRAME_PREV')
op.backwards = True
- op = row.operator("clip.track_markers", text="", icon='PLAY_REVERSE')
+ op = row.operator("clip.track_markers", text="", \
+ icon='PLAY_REVERSE')
op.backwards = True
op.sequence = True
op = row.operator("clip.track_markers", text="", icon='PLAY')
@@ -116,10 +117,16 @@
row.operator("clip.track_markers", text="", icon='FRAME_NEXT')
col = layout.column(align=True)
- col.operator("clip.clear_track_path", text="Clear Remained Path").action = 'REMAINED'
- col.operator("clip.clear_track_path", text="Clear Path Up To").action = 'UPTO'
- col.operator("clip.clear_track_path", text="Clear Track Path").action = 'ALL'
+ op = col.operator("clip.clear_track_path", \
+ text="Clear Remained Path")
+ op.action = 'REMAINED'
+ op = col.operator("clip.clear_track_path", text="Clear Path Up To")
+ op.action = 'UPTO'
+
+ op = col.operator("clip.clear_track_path", text="Clear Track Path")
+ op.action = 'ALL'
+
col = layout.column(align=True)
col.label(text="Reconstruction:")
col.operator("clip.solve_camera")
@@ -152,7 +159,8 @@
layout.prop(act_track, "name")
- layout.template_track(clip.tracking, "active_track", sc.clip_user, clip)
+ layout.template_track(clip.tracking, "active_track", \
+ sc.clip_user, clip)
if act_track:
row = layout.row()
@@ -240,7 +248,9 @@
row.active = sc.show_marker_path
row.prop(sc, "path_length")
+ layout.prop(sc, "show_tiny_markers")
+
class CLIP_PT_test(bpy.types.Panel):
bl_space_type = 'CLIP_EDITOR'
bl_region_type = 'TOOLS'
@@ -255,20 +265,6 @@
layout.operator("clip.track_to_fcurves")
-class CLIP_PT_debug(bpy.types.Panel):
- bl_space_type = 'CLIP_EDITOR'
- bl_region_type = 'UI'
- bl_label = "Debug"
- bl_options = {'DEFAULT_CLOSED'}
-
- def draw(self, context):
- layout = self.layout
- sc = context.space_data
-
- layout.prop(sc, "show_cache")
- layout.prop(sc, "show_tiny_markers")
-
-
class CLIP_PT_footage(bpy.types.Panel):
bl_space_type = 'CLIP_EDITOR'
bl_region_type = 'UI'
@@ -351,16 +347,27 @@
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'
+ op = layout.operator("clip.clear_track_path", \
+ text="Clear Remained Path")
+ op.action = 'REMAINED'
+ op = layout.operator("clip.clear_track_path", \
+ text="Clear Path Up To")
+ op.action = 'UPTO'
+
+ op = layout.operator("clip.clear_track_path", \
+ text="Clear Track Path")
+ op.action = 'ALL'
+
layout.separator()
- op = layout.operator("clip.track_markers", text="Track Frame Backwards")
+ 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")
@@ -385,9 +392,11 @@
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
+ op = layout.operator("clip.hide_tracks", text="Hide Unselected")
+ op.unselected = True
+
class CLIP_MT_track_transform(bpy.types.Menu):
bl_label = "Transform"
@@ -411,6 +420,7 @@
layout.operator("clip.select_all", text="Select/Deselect all")
layout.operator("clip.select_all", text="Inverse").action = 'INVERT'
+
class CLIP_MT_tracking_specials(bpy.types.Menu):
bl_label = "Specials"
@@ -421,9 +431,17 @@
def draw(self, context):
layout = self.layout
- layout.operator("clip.disable_markers", text="Enable Markers").action = 'ENABLE'
- layout.operator("clip.disable_markers", text="Disable markers").action = 'DISABLE'
+ op = layout.operator("clip.disable_markers", text="Enable Markers")
+ op.action = 'ENABLE'
+
+ op = layout.operator("clip.disable_markers", text="Disable markers")
+ op.action = 'DISABLE'
+
layout.operator("clip.set_origin")
+ layout.separator()
+ layout.operator("clip.hide_tracks")
+ layout.operator("clip.hide_tracks_clear", text="Show Tracks")
+
if __name__ == "__main__": # only for live edit.
bpy.utils.register_module(__name__)
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-10 17:30:31 UTC (rev 38287)
+++ branches/soc-2011-tomato/source/blender/editors/space_clip/clip_draw.c 2011-07-10 18:12:29 UTC (rev 38288)
@@ -400,8 +400,8 @@
x= track->search_min[0];
y= track->search_max[1];
- dx= 15.0f/width/sc->zoom;
- dy= 15.0f/height/sc->zoom;
+ dx= 12.0f/width/sc->zoom;
+ dy= 12.0f/height/sc->zoom;
if(sc->flag&SC_SHOW_MARKER_SEARCH) {
tdx=MIN2(dx, (track->search_max[0]-track->search_min[0])/5);
@@ -435,6 +435,10 @@
}
if(sc->flag&SC_SHOW_MARKER_PATTERN) {
+ /* use smaller slider for pattern area */
+ dx= 10.0f/width/sc->zoom;
+ dy= 10.0f/height/sc->zoom;
+
if(!outline) {
if(track->pat_flag&SELECT) UI_ThemeColor(color);
else UI_ThemeColor(TH_MARKER);
@@ -583,8 +587,7 @@
draw_tracking(sc, ar, clip, zoomx, zoomy);
}
- if(sc->debug_flag&SC_DBG_SHOW_CACHE)
- draw_movieclip_cache(sc, ar, clip, scene);
+ draw_movieclip_cache(sc, ar, clip, scene);
}
static ImBuf *scale_ibuf(ImBuf *ibuf, float zoomx, float zoomy)
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-10 17:30:31 UTC (rev 38287)
+++ branches/soc-2011-tomato/source/blender/editors/space_clip/space_clip.c 2011-07-10 18:12:29 UTC (rev 38288)
@@ -78,7 +78,6 @@
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->debug_flag= SC_DBG_SHOW_CACHE;
sc->zoom= 1.0f;
sc->path_length= 20;
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-10 17:30:31 UTC (rev 38287)
+++ branches/soc-2011-tomato/source/blender/editors/space_clip/tracking_ops.c 2011-07-10 18:12:29 UTC (rev 38288)
@@ -1288,28 +1288,31 @@
/* corner = 0: right-bottom corner,
corner = 1: left-top corner */
-static int mouse_on_corner(SpaceClip *sc, MovieTrackingTrack *track, float co[2], int corner,
+static int mouse_on_corner(SpaceClip *sc, MovieTrackingTrack *track, float size, float co[2], int corner,
float *pos, float *min, float *max, int width, int height)
{
- int crn[2], inside= 0;
- float dx, dy;
+ int inside= 0;
+ float nco[2], crn[2], dx, dy;
- dx= 15.0f/sc->zoom;
- dy= 15.0f/sc->zoom;
+ nco[0]= co[0]/width;
+ nco[1]= co[1]/height;
- dx=MIN2(dx, (track->search_max[0]-track->search_min[0])*width/5);
- dy=MIN2(dy, (track->search_max[1]-track->search_min[1])*height/5);
+ dx= size/width/sc->zoom;
+ dy= size/height/sc->zoom;
+ dx=MIN2(dx, (track->search_max[0]-track->search_min[0])/5);
+ dy=MIN2(dy, (track->search_max[1]-track->search_min[1])/5);
+
if(corner==0) {
- crn[0]= (pos[0]+max[0])*width;
- crn[1]= (pos[1]+min[1])*height;
+ crn[0]= pos[0]+max[0];
+ crn[1]= pos[1]+min[1];
- inside= co[0]>=crn[0]-dx && co[0]<=crn[0] && co[1]>=crn[1] && co[1]<=crn[1]+dy;
+ inside= nco[0]>=crn[0]-dx && nco[0]<=crn[0] && nco[1]>=crn[1] && nco[1]<=crn[1]+dy;
} else {
- crn[0]= (pos[0]+min[0])*width;
- crn[1]= (pos[1]+max[1])*height;
+ crn[0]= pos[0]+min[0];
+ crn[1]= pos[1]+max[1];
- inside= co[0]>=crn[0] && co[0]<=crn[0]+dx && co[1]>=crn[1]-dy && co[1]<=crn[1];
+ inside= nco[0]>=crn[0] && nco[0]<=crn[0]+dx && nco[1]>=crn[1]-dy && nco[1]<=crn[1];
}
return inside;
@@ -1337,15 +1340,15 @@
if(marker && (marker->flag&MARKER_DISABLED)==0) {
if(sc->flag&SC_SHOW_MARKER_SEARCH) {
- if(mouse_on_corner(sc, track, co, 1, marker->pos, track->search_min, track->search_max, width, height))
+ if(mouse_on_corner(sc, track, 15.0f, co, 1, marker->pos, track->search_min, track->search_max, width, height))
op->customdata= create_slide_marker_data(track, marker, event, TRACK_AREA_POINT, width, height);
- if(mouse_on_corner(sc, track, co, 0, marker->pos, track->search_min, track->search_max, width, height))
+ if(mouse_on_corner(sc, track, 15.0f, co, 0, marker->pos, track->search_min, track->search_max, width, height))
op->customdata= create_slide_marker_data(track, marker, event, TRACK_AREA_SEARCH, width, height);
}
if(sc->flag&SC_SHOW_MARKER_PATTERN)
- if(mouse_on_corner(sc, track, co, 0, marker->pos, track->pat_min, track->pat_max, width, height))
+ if(mouse_on_corner(sc, track, 10.0f, co, 0, marker->pos, track->pat_min, track->pat_max, width, height))
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list