[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [41819] trunk/blender: Camera tracking: interface cleanup and small buttons renaming

Sergey Sharybin sergey.vfx at gmail.com
Mon Nov 14 07:41:43 CET 2011


Revision: 41819
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41819
Author:   nazgul
Date:     2011-11-14 06:41:42 +0000 (Mon, 14 Nov 2011)
Log Message:
-----------
Camera tracking: interface cleanup and small buttons renaming

- Move tracking-related constraints to own section in list
  Currently there are only two constraints, so can look a bit odd,
  but it'll be other constraints like "Object Solver" and so.
- Move motion-tracking parameters from 3D viewport Display panel
  to it's own panel.
- Get rid of "Bundle" in 3d viewport. It's quite obvious that it's
  a 3D representation of tracks is used in 3D viewport and it shouldn't
  be so confusing for artists now.
- Also get rid of "Bundle" in Follow Track constraint.
  Old files can change a bit because of changes in DNA.
- Also get rid of "Bundles" in operator which creates vertices cloud
  from 3D position of tracks.
- Rename "Principal Point" to "Optical Center" in the interface.

Modified Paths:
--------------
    trunk/blender/release/scripts/startup/bl_operators/clip.py
    trunk/blender/release/scripts/startup/bl_ui/properties_object_constraint.py
    trunk/blender/release/scripts/startup/bl_ui/space_clip.py
    trunk/blender/release/scripts/startup/bl_ui/space_view3d.py
    trunk/blender/source/blender/blenkernel/intern/constraint.c
    trunk/blender/source/blender/makesdna/DNA_constraint_types.h
    trunk/blender/source/blender/makesrna/intern/rna_constraint.c
    trunk/blender/source/blender/makesrna/intern/rna_space.c
    trunk/blender/source/blender/makesrna/intern/rna_tracking.c

Modified: trunk/blender/release/scripts/startup/bl_operators/clip.py
===================================================================
--- trunk/blender/release/scripts/startup/bl_operators/clip.py	2011-11-14 06:41:32 UTC (rev 41818)
+++ trunk/blender/release/scripts/startup/bl_operators/clip.py	2011-11-14 06:41:42 UTC (rev 41819)
@@ -63,16 +63,16 @@
 
         constraint.clip = sc.clip
         constraint.track = track.name
-        constraint.reference = 'TRACK'
+        constraint.use_3d_position = False
 
         return {'FINISHED'}
 
 
-class CLIP_OT_bundles_to_mesh(Operator):
-    """Create vertex cloud using coordinates of bundles"""
+class CLIP_OT_tracks_to_mesh(Operator):
+    """Create vertex cloud using coordinates of tracks"""
 
-    bl_idname = "clip.bundles_to_mesh"
-    bl_label = "Bundles to Mesh"
+    bl_idname = "clip.tracks_to_mesh"
+    bl_label = "Tracks to Mesh"
     bl_options = {'UNDO', 'REGISTER'}
 
     @classmethod
@@ -91,7 +91,7 @@
 
         new_verts = []
 
-        mesh = bpy.data.meshes.new(name="Bundles")
+        mesh = bpy.data.meshes.new(name="Tracks")
         for track in clip.tracking.tracks:
             if track.has_bundle:
                 new_verts.append(track.bundle)
@@ -100,7 +100,7 @@
             mesh.vertices.add(len(new_verts))
             mesh.vertices.foreach_set("co", unpack_list(new_verts))
 
-        ob = bpy.data.objects.new(name="Bundles", object_data=mesh)
+        ob = bpy.data.objects.new(name="Tracks", object_data=mesh)
 
         bpy.context.scene.objects.link(ob)
 
@@ -252,7 +252,7 @@
         if not con:
             return
 
-        if con.type == 'FOLLOW_TRACK' and con.reference == 'BUNDLE':
+        if con.type == 'FOLLOW_TRACK' and con.use_3d_position:
             mat = ob.matrix_world.copy()
             ob.constraints.remove(con)
             ob.matrix_world = mat

Modified: trunk/blender/release/scripts/startup/bl_ui/properties_object_constraint.py
===================================================================
--- trunk/blender/release/scripts/startup/bl_ui/properties_object_constraint.py	2011-11-14 06:41:32 UTC (rev 41818)
+++ trunk/blender/release/scripts/startup/bl_ui/properties_object_constraint.py	2011-11-14 06:41:42 UTC (rev 41819)
@@ -754,14 +754,15 @@
         col.prop(con, "rotation_range", text="Pivot When")
 
     def FOLLOW_TRACK(self, context, layout, con):
-        layout.prop(con, "use_active_clip")
+        row = layout.row()
+        row.prop(con, "use_active_clip")
+        row.prop(con, "use_3d_position")
 
         if not con.use_active_clip:
             layout.prop(con, "clip")
 
         layout.prop(con, "track")
 
-        layout.row().prop(con, "reference", expand=True)
 
         layout.operator("clip.constraint_to_fcurve")
 

Modified: trunk/blender/release/scripts/startup/bl_ui/space_clip.py
===================================================================
--- trunk/blender/release/scripts/startup/bl_ui/space_clip.py	2011-11-14 06:41:32 UTC (rev 41818)
+++ trunk/blender/release/scripts/startup/bl_ui/space_clip.py	2011-11-14 06:41:42 UTC (rev 41819)
@@ -205,7 +205,7 @@
     def draw(self, context):
         layout = self.layout
 
-        layout.operator("clip.bundles_to_mesh")
+        layout.operator("clip.tracks_to_mesh")
         layout.operator("clip.track_to_empty")
 
 
@@ -227,7 +227,6 @@
         settings = sc.clip.tracking.settings
 
         col = layout.column(align=True)
-        col.label(text="Scene Orientation:")
         col.operator("clip.set_floor")
         col.operator("clip.set_origin")
 
@@ -371,7 +370,7 @@
         col.prop(clip.tracking.camera, "pixel_aspect")
 
         col = layout.column()
-        col.label(text="Principal Point")
+        col.label(text="Optical Center:")
         row = col.row()
         row.prop(clip.tracking.camera, "principal", text="")
         col.operator("clip.set_center_principal", text="Center")
@@ -769,7 +768,7 @@
         layout.separator()
 
         layout.operator("clip.track_to_empty")
-        layout.operator("clip.bundles_to_mesh")
+        layout.operator("clip.tracks_to_mesh")
 
 
 class CLIP_MT_track_visibility(Menu):

Modified: trunk/blender/release/scripts/startup/bl_ui/space_view3d.py
===================================================================
--- trunk/blender/release/scripts/startup/bl_ui/space_view3d.py	2011-11-14 06:41:32 UTC (rev 41818)
+++ trunk/blender/release/scripts/startup/bl_ui/space_view3d.py	2011-11-14 06:41:42 UTC (rev 41819)
@@ -2165,16 +2165,6 @@
 
         layout.separator()
 
-        layout.prop(view, "show_reconstruction")
-        if view.show_reconstruction:
-            layout.label(text="Bundle type:")
-            layout.prop(view, "bundle_draw_type", text="")
-            layout.prop(view, "bundle_draw_size")
-            layout.prop(view, "show_bundle_name")
-            layout.prop(view, "show_camera_path")
-
-        layout.separator()
-
         region = view.region_quadview
 
         layout.operator("screen.region_quadview", text="Toggle Quad View")
@@ -2190,6 +2180,37 @@
             row.prop(region, "use_box_clip")
 
 
+class VIEW3D_PT_view3d_motion_tracking(Panel):
+    bl_space_type = 'VIEW_3D'
+    bl_region_type = 'UI'
+    bl_label = "Motion Tracking"
+    bl_options = {'DEFAULT_CLOSED'}
+
+    @classmethod
+    def poll(cls, context):
+        view = context.space_data
+        return (view)
+
+    def draw_header(self, context):
+        layout = self.layout
+        view = context.space_data
+
+        layout.prop(view, "show_reconstruction", text="")
+
+    def draw(self, context):
+        layout = self.layout
+
+        view = context.space_data
+
+        col = layout.column()
+        col.active = view.show_reconstruction
+        col.prop(view, "show_tracks_name", text="Show Names")
+        col.prop(view, "show_camera_path")
+        col.label(text="Tracks:")
+        col.prop(view, "tracks_draw_type", text="")
+        col.prop(view, "tracks_draw_size", text="Size")
+
+
 class VIEW3D_PT_view3d_meshdisplay(Panel):
     bl_space_type = 'VIEW_3D'
     bl_region_type = 'UI'

Modified: trunk/blender/source/blender/blenkernel/intern/constraint.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/constraint.c	2011-11-14 06:41:32 UTC (rev 41818)
+++ trunk/blender/source/blender/blenkernel/intern/constraint.c	2011-11-14 06:41:42 UTC (rev 41819)
@@ -3939,7 +3939,6 @@
 
 	data->clip= NULL;
 	data->flag|= FOLLOWTRACK_ACTIVECLIP;
-	data->reference= FOLLOWTRACK_TRACK;
 }
 
 static void followtrack_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
@@ -3967,7 +3966,7 @@
 	if(!track)
 		return;
 
-	if(data->reference==FOLLOWTRACK_BUNDLE) {
+	if(data->flag&FOLLOWTRACK_USE_3D_POSITION) {
 		if(track->flag&TRACK_HAS_BUNDLE) {
 			float pos[3], mat[4][4], obmat[4][4];
 

Modified: trunk/blender/source/blender/makesdna/DNA_constraint_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_constraint_types.h	2011-11-14 06:41:32 UTC (rev 41818)
+++ trunk/blender/source/blender/makesdna/DNA_constraint_types.h	2011-11-14 06:41:42 UTC (rev 41819)
@@ -410,7 +410,7 @@
 typedef struct bFollowTrackConstraint {
 	struct MovieClip	*clip;
 	char	track[24];
-	int		flag, reference;
+	int		flag, pad;
 } bFollowTrackConstraint;
 
 /* Camera Solver constraints */
@@ -751,14 +751,9 @@
 	PIVOTCON_FLAG_ROTACT_NEG	= (1<<1)
 } ePivotConstraint_Flag;
 
-/* FollowTrack Constraint -> flag */
-typedef enum eFollowTrack_Reference {
-	FOLLOWTRACK_TRACK		= (1<<0),
-	FOLLOWTRACK_BUNDLE		= (1<<1)
-} FollowTrack_Reference;
-
 typedef enum eFollowTrack_Flags {
-	FOLLOWTRACK_ACTIVECLIP	= (1<<0)
+	FOLLOWTRACK_ACTIVECLIP	= (1<<0),
+	FOLLOWTRACK_USE_3D_POSITION	= (1<<1)
 } eFollowTrack_Flags;
 
 /* CameraSolver Constraint -> flag */

Modified: trunk/blender/source/blender/makesrna/intern/rna_constraint.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_constraint.c	2011-11-14 06:41:32 UTC (rev 41818)
+++ trunk/blender/source/blender/makesrna/intern/rna_constraint.c	2011-11-14 06:41:42 UTC (rev 41819)
@@ -43,6 +43,9 @@
 #include "WM_types.h"
 
 EnumPropertyItem constraint_type_items[] ={
+	{0, "", 0, "Motion Tracking", ""},
+	{CONSTRAINT_TYPE_CAMERASOLVER, "CAMERA_SOLVER", ICON_CONSTRAINT_DATA, "Camera Solver", ""},
+	{CONSTRAINT_TYPE_FOLLOWTRACK, "FOLLOW_TRACK", ICON_CONSTRAINT_DATA, "Follow Track", ""},
 	{0, "", 0, "Transform", ""},
 	{CONSTRAINT_TYPE_LOCLIKE, "COPY_LOCATION", ICON_CONSTRAINT_DATA, "Copy Location", ""},
 	{CONSTRAINT_TYPE_ROTLIKE, "COPY_ROTATION", ICON_CONSTRAINT_DATA, "Copy Rotation", ""},
@@ -64,11 +67,9 @@
 	{CONSTRAINT_TYPE_TRACKTO, "TRACK_TO", ICON_CONSTRAINT_DATA, "Track To", "Legacy tracking constraint prone to twisting artifacts"},
 	{0, "", 0, "Relationship", ""},
 	{CONSTRAINT_TYPE_ACTION, "ACTION", ICON_CONSTRAINT_DATA, "Action", ""},
-	{CONSTRAINT_TYPE_CAMERASOLVER, "CAMERA_SOLVER", ICON_CONSTRAINT_DATA, "Camera Solver", ""},
 	{CONSTRAINT_TYPE_CHILDOF, "CHILD_OF", ICON_CONSTRAINT_DATA, "Child Of", ""},
 	{CONSTRAINT_TYPE_MINMAX, "FLOOR", ICON_CONSTRAINT_DATA, "Floor", ""},
 	{CONSTRAINT_TYPE_FOLLOWPATH, "FOLLOW_PATH", ICON_CONSTRAINT_DATA, "Follow Path", ""},
-	{CONSTRAINT_TYPE_FOLLOWTRACK, "FOLLOW_TRACK", ICON_CONSTRAINT_DATA, "Follow Track", ""},
 	{CONSTRAINT_TYPE_PIVOT, "PIVOT", ICON_CONSTRAINT_DATA, "Pivot", ""},
 	{CONSTRAINT_TYPE_RIGIDBODYJOINT, "RIGID_BODY_JOINT", ICON_CONSTRAINT_DATA, "Rigid Body Joint", ""},
 	{CONSTRAINT_TYPE_PYTHON, "SCRIPT", ICON_CONSTRAINT_DATA, "Script", ""},
@@ -2037,11 +2038,6 @@
 	StructRNA *srna;
 	PropertyRNA *prop;
 
-	static EnumPropertyItem reference_items[] = {
-		{FOLLOWTRACK_TRACK, "TRACK", 0, "Track", "Use 2D track position as reference"},
-		{FOLLOWTRACK_BUNDLE, "BUNDLE", 0, "Bundle", "Use 3D reconstructed bundle position as reference"},
-		{0, NULL, 0, NULL, NULL}};
-
 	srna= RNA_def_struct(brna, "FollowTrackConstraint", "Constraint");
 	RNA_def_struct_ui_text(srna, "Follow Track Constraint", "Locks motion to the target motion track");
 	RNA_def_struct_sdna_from(srna, "bFollowTrackConstraint", "data");
@@ -2059,18 +2055,17 @@
 	RNA_def_property_ui_text(prop, "Track", "Movie tracking track to follow");
 	RNA_def_property_update(prop, NC_OBJECT|ND_CONSTRAINT, "rna_Constraint_dependency_update");
 
-	/* reference */

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list