[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [38534] branches/soc-2011-salad: Merging r38431 through r38533 from soc-2011-tomato into soc-2011-salad
Sergey Sharybin
g.ulairi at gmail.com
Wed Jul 20 13:18:05 CEST 2011
Revision: 38534
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=38534
Author: nazgul
Date: 2011-07-20 11:18:04 +0000 (Wed, 20 Jul 2011)
Log Message:
-----------
Merging r38431 through r38533 from soc-2011-tomato into soc-2011-salad
Revision Links:
--------------
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=38431
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=38533
Modified Paths:
--------------
branches/soc-2011-salad/release/scripts/startup/bl_ui/space_clip.py
branches/soc-2011-salad/release/scripts/startup/bl_ui/space_view3d.py
branches/soc-2011-salad/source/blender/blenkernel/BKE_movieclip.h
branches/soc-2011-salad/source/blender/blenkernel/BKE_node.h
branches/soc-2011-salad/source/blender/blenkernel/BKE_tracking.h
branches/soc-2011-salad/source/blender/blenkernel/intern/constraint.c
branches/soc-2011-salad/source/blender/blenkernel/intern/depsgraph.c
branches/soc-2011-salad/source/blender/blenkernel/intern/movieclip.c
branches/soc-2011-salad/source/blender/blenkernel/intern/node.c
branches/soc-2011-salad/source/blender/blenkernel/intern/tracking.c
branches/soc-2011-salad/source/blender/blenlib/BLI_threads.h
branches/soc-2011-salad/source/blender/blenlib/intern/threads.c
branches/soc-2011-salad/source/blender/blenloader/intern/readfile.c
branches/soc-2011-salad/source/blender/editors/include/ED_transform.h
branches/soc-2011-salad/source/blender/editors/include/UI_interface.h
branches/soc-2011-salad/source/blender/editors/include/UI_resources.h
branches/soc-2011-salad/source/blender/editors/interface/interface_draw.c
branches/soc-2011-salad/source/blender/editors/interface/interface_handlers.c
branches/soc-2011-salad/source/blender/editors/interface/interface_intern.h
branches/soc-2011-salad/source/blender/editors/interface/interface_widgets.c
branches/soc-2011-salad/source/blender/editors/interface/resources.c
branches/soc-2011-salad/source/blender/editors/space_clip/clip_buttons.c
branches/soc-2011-salad/source/blender/editors/space_clip/clip_draw.c
branches/soc-2011-salad/source/blender/editors/space_clip/clip_editor.c
branches/soc-2011-salad/source/blender/editors/space_clip/clip_intern.h
branches/soc-2011-salad/source/blender/editors/space_clip/clip_ops.c
branches/soc-2011-salad/source/blender/editors/space_clip/space_clip.c
branches/soc-2011-salad/source/blender/editors/space_clip/tracking_ops.c
branches/soc-2011-salad/source/blender/editors/space_node/drawnode.c
branches/soc-2011-salad/source/blender/editors/space_view3d/drawobject.c
branches/soc-2011-salad/source/blender/editors/space_view3d/view3d_draw.c
branches/soc-2011-salad/source/blender/editors/space_view3d/view3d_intern.h
branches/soc-2011-salad/source/blender/editors/space_view3d/view3d_select.c
branches/soc-2011-salad/source/blender/editors/space_view3d/view3d_snap.c
branches/soc-2011-salad/source/blender/editors/transform/transform.c
branches/soc-2011-salad/source/blender/editors/transform/transform_conversions.c
branches/soc-2011-salad/source/blender/makesdna/DNA_movieclip_types.h
branches/soc-2011-salad/source/blender/makesdna/DNA_space_types.h
branches/soc-2011-salad/source/blender/makesdna/DNA_tracking_types.h
branches/soc-2011-salad/source/blender/makesdna/DNA_userdef_types.h
branches/soc-2011-salad/source/blender/makesdna/DNA_view3d_types.h
branches/soc-2011-salad/source/blender/makesrna/intern/rna_camera.c
branches/soc-2011-salad/source/blender/makesrna/intern/rna_movieclip.c
branches/soc-2011-salad/source/blender/makesrna/intern/rna_nodetree.c
branches/soc-2011-salad/source/blender/makesrna/intern/rna_nodetree_types.h
branches/soc-2011-salad/source/blender/makesrna/intern/rna_scene.c
branches/soc-2011-salad/source/blender/makesrna/intern/rna_space.c
branches/soc-2011-salad/source/blender/makesrna/intern/rna_tracking.c
branches/soc-2011-salad/source/blender/makesrna/intern/rna_ui_api.c
branches/soc-2011-salad/source/blender/makesrna/intern/rna_userdef.c
branches/soc-2011-salad/source/blender/modifiers/intern/MOD_uvproject.c
branches/soc-2011-salad/source/blender/nodes/CMP_node.h
branches/soc-2011-salad/source/blender/nodes/CMakeLists.txt
branches/soc-2011-salad/source/blender/nodes/intern/CMP_util.h
branches/soc-2011-salad/source/blenderplayer/bad_level_call_stubs/stubs.c
Added Paths:
-----------
branches/soc-2011-salad/source/blender/nodes/intern/CMP_nodes/CMP_movieclip.c
Property Changed:
----------------
branches/soc-2011-salad/
Property changes on: branches/soc-2011-salad
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/soc-2010-jwilkins:28499-37009
/branches/soc-2010-nicolasbishop:28448-30783,30792-30793,30797-30798,30815
/branches/soc-2011-carrot:36854,37548,37564,37602,37622,37848,38043,38064,38226,38231,38282
/branches/soc-2011-cucumber:36829-36994
/branches/soc-2011-onion:36833-38309
/branches/soc-2011-pepper:36830-38208
/branches/soc-2011-tomato:36831-38430
/trunk/blender:36834-38516
+ /branches/soc-2010-jwilkins:28499-37009
/branches/soc-2010-nicolasbishop:28448-30783,30792-30793,30797-30798,30815
/branches/soc-2011-carrot:36854,37548,37564,37602,37622,37848,38043,38064,38226,38231,38282
/branches/soc-2011-cucumber:36829-36994
/branches/soc-2011-onion:36833-38309
/branches/soc-2011-pepper:36830-38208
/branches/soc-2011-tomato:36831-38533
/trunk/blender:36834-38516
Modified: branches/soc-2011-salad/release/scripts/startup/bl_ui/space_clip.py
===================================================================
--- branches/soc-2011-salad/release/scripts/startup/bl_ui/space_clip.py 2011-07-20 11:02:26 UTC (rev 38533)
+++ branches/soc-2011-salad/release/scripts/startup/bl_ui/space_clip.py 2011-07-20 11:18:04 UTC (rev 38534)
@@ -212,17 +212,17 @@
act_track = clip.tracking.active_track
layout.prop(act_track, "name")
+ layout.prop(act_track, "locked")
- layout.template_track(clip.tracking, "active_track", \
- sc.clip_user, clip)
+ 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'
@@ -320,6 +320,7 @@
row.prop(sc, "show_disabled", text="Disabled")
row.prop(sc, "show_bundles", text="Bundles")
+ layout.prop(sc, "show_names", text="Names")
layout.prop(sc, "show_tiny_markers", text="Tiny Markers")
layout.prop(sc, "lock_selection")
@@ -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-salad/release/scripts/startup/bl_ui/space_view3d.py
===================================================================
--- branches/soc-2011-salad/release/scripts/startup/bl_ui/space_view3d.py 2011-07-20 11:02:26 UTC (rev 38533)
+++ branches/soc-2011-salad/release/scripts/startup/bl_ui/space_view3d.py 2011-07-20 11:18:04 UTC (rev 38534)
@@ -2188,6 +2188,7 @@
sub = layout.column()
sub.active = view.show_reconstruction
sub.prop(view, "bundle_size")
+ sub.prop(view, "show_bundle_name")
sub.prop(view, "show_camera_path")
layout.separator()
Modified: branches/soc-2011-salad/source/blender/blenkernel/BKE_movieclip.h
===================================================================
--- branches/soc-2011-salad/source/blender/blenkernel/BKE_movieclip.h 2011-07-20 11:02:26 UTC (rev 38533)
+++ branches/soc-2011-salad/source/blender/blenkernel/BKE_movieclip.h 2011-07-20 11:18:04 UTC (rev 38534)
@@ -37,6 +37,7 @@
struct ImBuf;
struct Main;
struct MovieClip;
+struct MovieClipScopes;
struct MovieClipUser;
struct MovieTrackingTrack;
@@ -56,6 +57,8 @@
void BKE_movieclip_set_selection(struct MovieClip *clip, int type, void *sel);
void BKE_movieclip_last_selection(struct MovieClip *clip, int *type, void **sel);
+void BKE_movieclip_update_scopes(struct MovieClip *clip, struct MovieClipUser *user, struct MovieClipScopes *scopes);
+
void BKE_movieclip_get_cache_segments(struct MovieClip *clip, int *totseg_r, int **points_r);
#define TRACK_CLEAR_UPTO 0
Modified: branches/soc-2011-salad/source/blender/blenkernel/BKE_node.h
===================================================================
--- branches/soc-2011-salad/source/blender/blenkernel/BKE_node.h 2011-07-20 11:02:26 UTC (rev 38533)
+++ branches/soc-2011-salad/source/blender/blenkernel/BKE_node.h 2011-07-20 11:18:04 UTC (rev 38534)
@@ -387,6 +387,7 @@
#define CMP_NODE_COLOR_MATTE 259
#define CMP_NODE_COLORBALANCE 260
#define CMP_NODE_HUECORRECT 261
+#define CMP_NODE_MOVIECLIP 262
#define CMP_NODE_GLARE 301
#define CMP_NODE_TONEMAP 302
Modified: branches/soc-2011-salad/source/blender/blenkernel/BKE_tracking.h
===================================================================
--- branches/soc-2011-salad/source/blender/blenkernel/BKE_tracking.h 2011-07-20 11:02:26 UTC (rev 38533)
+++ branches/soc-2011-salad/source/blender/blenkernel/BKE_tracking.h 2011-07-20 11:18:04 UTC (rev 38534)
@@ -82,10 +82,11 @@
void BKE_tracking_detect(struct MovieTracking *tracking, struct ImBuf *imbuf, int framenr);
-#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)
+struct MovieTrackingTrack *BKE_tracking_indexed_bundle(struct MovieTracking *tracking, int bundlenr);
+
+#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-salad/source/blender/blenkernel/intern/constraint.c
===================================================================
--- branches/soc-2011-salad/source/blender/blenkernel/intern/constraint.c 2011-07-20 11:02:26 UTC (rev 38533)
+++ branches/soc-2011-salad/source/blender/blenkernel/intern/constraint.c 2011-07-20 11:18:04 UTC (rev 38534)
@@ -47,6 +47,7 @@
#include "BLI_utildefines.h"
#include "DNA_armature_types.h"
+#include "DNA_camera_types.h"
#include "DNA_constraint_types.h"
#include "DNA_modifier_types.h"
#include "DNA_object_types.h"
@@ -54,6 +55,7 @@
#include "DNA_curve_types.h"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
+#include "DNA_lamp_types.h"
#include "DNA_lattice_types.h"
#include "DNA_scene_types.h"
#include "DNA_text_types.h"
@@ -3956,11 +3958,7 @@
Scene *scene= cob->scene;
bFollowTrackConstraint *data= con->data;
MovieClip *clip= data->clip;
- MovieClipUser user;
MovieTrackingTrack *track;
- MovieTrackingMarker *marker;
- float tx, ty;
- int width, height;
if(data->flag&FOLLOWTRACK_DEFAULTCLIP)
clip= scene->clip;
@@ -3987,15 +3985,96 @@
cob->matrix[3][2]+= pos[2];
}
} else {
- user.framenr= scene->r.cfra;
- BKE_movieclip_acquire_size(clip, &user, &width, &height);
+ Object *camob= cob->scene->camera;
- marker= BKE_tracking_get_marker(track, user.framenr);
+ if(camob) {
+ MovieClipUser user;
+ MovieTrackingMarker *marker;
+ float vec[3], disp[3], axis[3], mat[4][4];
+ float aspect= (scene->r.xsch*scene->r.xasp) / (scene->r.ysch*scene->r.yasp);
+ float sensor_x, lens, len, d, ortho_scale;
- tx= marker->pos[0]*width;
- ty= marker->pos[1]*height;
+ where_is_object_mat(scene, camob, mat);
- translate_m4(cob->matrix, tx, ty, 0);
+ /* camera axis */
+ vec[0]= 0.f;
+ vec[1]= 0.f;
+ vec[2]= 1.f;
+ mul_v3_m4v3(axis, mat, vec);
+
+ /* distance to projection plane */
+ copy_v3_v3(vec, cob->matrix[3]);
+ sub_v3_v3(vec, mat[3]);
+ project_v3_v3v3(disp, vec, axis);
+
+ len= len_v3(disp);
+
+ if(len>FLT_EPSILON) {
+ float rmat[4][4];
+ int is_ortho= 0;
+
+ /* calculate lens and sensor size depends on object type */
+ if(camob->type==OB_CAMERA) {
+ Camera *camera= (Camera *)camob->data;
+
+ sensor_x= camera->sensor_x;
+ lens= camera->lens;
+ is_ortho= camera->type == CAM_ORTHO;
+ ortho_scale= camera->ortho_scale;
+ } else if (camob->type==OB_LAMP) {
+ Lamp *la= camob->data;
+ float fac= cosf((float)M_PI*la->spotsize/360.0f);
+ float phi= acos(fac);
+
+ lens= 16.0f*fac/sinf(phi);
+ sensor_x= 32.f;
+ ortho_scale= 0.f;
+ } else {
+ lens= 16.f;
+ sensor_x= 32.f;
+ ortho_scale= 0.f;
+ }
+
+ user.framenr= scene->r.cfra;
+ marker= BKE_tracking_get_marker(track, user.framenr);
+
+ if(is_ortho) {
+ vec[0]= ortho_scale * (marker->pos[0]-0.5f);
+ vec[1]= ortho_scale * (marker->pos[1]-0.5f);
+ vec[2]= -len;
+
+ if(aspect>1.f) vec[1]/= aspect;
+ else vec[0]*= aspect;
+
+ mul_v3_m4v3(disp, camob->obmat, vec);
+
+ copy_m4_m4(rmat, camob->obmat);
+ zero_v3(rmat[3]);
+ mul_m4_m4m4(cob->matrix, rmat, cob->matrix);
+
+ copy_v3_v3(cob->matrix[3], disp);
+ }
+ else {
+ d= (len*sensor_x) / (2.f*lens);
+
+ vec[0]= d*(2.f*marker->pos[0]-1.f);
+ vec[1]= d*(2.f*marker->pos[1]-1.f);
+ vec[2]= -len;
+
+ if(aspect>1.f) vec[1]/= aspect;
+ else vec[0]*= aspect;
+
+ mul_v3_m4v3(disp, camob->obmat, vec);
+
+ /* apply camera rotation so Z-axis would be co-linear */
+ copy_m4_m4(rmat, camob->obmat);
+ zero_v3(rmat[3]);
+ mul_m4_m4m4(cob->matrix, rmat, cob->matrix);
+
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list