[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