[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [41983] trunk/blender/source/blender: add poll function for VIEW3D_OT_camera_to_view_selected & remove some unused code .

Campbell Barton ideasman42 at gmail.com
Sat Nov 19 02:24:41 CET 2011


Revision: 41983
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41983
Author:   campbellbarton
Date:     2011-11-19 01:24:40 +0000 (Sat, 19 Nov 2011)
Log Message:
-----------
add poll function for VIEW3D_OT_camera_to_view_selected & remove some unused code.

also made it so copying camera sets the dof object to extern.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/BKE_object.h
    trunk/blender/source/blender/blenkernel/intern/camera.c
    trunk/blender/source/blender/blenkernel/intern/object.c
    trunk/blender/source/blender/editors/space_view3d/view3d_view.c

Modified: trunk/blender/source/blender/blenkernel/BKE_object.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_object.h	2011-11-19 01:10:05 UTC (rev 41982)
+++ trunk/blender/source/blender/blenkernel/BKE_object.h	2011-11-19 01:24:40 UTC (rev 41983)
@@ -94,7 +94,6 @@
 void object_to_mat4(struct Object *ob, float mat[][4]);
 void object_apply_mat4(struct Object *ob, float mat[][4], const short use_compat, const short use_parent);
 
-void set_no_parent_ipo(int val);
 struct Object *object_pose_armature_get(struct Object *ob);
 
 void where_is_object_time(struct Scene *scene, struct Object *ob, float ctime);

Modified: trunk/blender/source/blender/blenkernel/intern/camera.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/camera.c	2011-11-19 01:10:05 UTC (rev 41982)
+++ trunk/blender/source/blender/blenkernel/intern/camera.c	2011-11-19 01:24:40 UTC (rev 41983)
@@ -74,7 +74,9 @@
 	Camera *camn;
 	
 	camn= copy_libblock(&cam->id);
-	
+
+	id_lib_extern((ID *)camn->dof_ob);
+
 	return camn;
 }
 
@@ -454,6 +456,7 @@
 }
 
 /* dont move the camera, just yield the fit location */
+/* only valid for perspective cameras */
 int camera_view_frame_fit_to_scene(Scene *scene, struct View3D *v3d, Object *camera_ob, float r_co[3])
 {
 	float shift[2];

Modified: trunk/blender/source/blender/blenkernel/intern/object.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/object.c	2011-11-19 01:10:05 UTC (rev 41982)
+++ trunk/blender/source/blender/blenkernel/intern/object.c	2011-11-19 01:24:40 UTC (rev 41983)
@@ -1887,13 +1887,6 @@
 	}
 }
 
-// XXX what the hell is this?
-static int no_parent_ipo=0;
-void set_no_parent_ipo(int val)
-{
-	no_parent_ipo= val;
-}
-
 static int where_is_object_parslow(Object *ob, float obmat[4][4], float slowmat[4][4])
 {
 	float *fp1, *fp2;
@@ -1933,7 +1926,7 @@
 		
 		/* hurms, code below conflicts with depgraph... (ton) */
 		/* and even worse, it gives bad effects for NLA stride too (try ctime != par->ctime, with MBlur) */
-		if(no_parent_ipo==0 && stime != par->ctime) {
+		if(stime != par->ctime) {
 			// only for ipo systems? 
 			Object tmp= *par;
 			

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_view.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_view.c	2011-11-19 01:10:05 UTC (rev 41982)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_view.c	2011-11-19 01:24:40 UTC (rev 41983)
@@ -342,7 +342,7 @@
 
 /* ****************** change view operators ****************** */
 
-static int view3d_setcameratoview_exec(bContext *C, wmOperator *UNUSED(op))
+static int view3d_camera_to_view_exec(bContext *C, wmOperator *UNUSED(op))
 {
 	View3D *v3d = CTX_wm_view3d(C);
 	RegionView3D *rv3d= CTX_wm_region_view3d(C);
@@ -369,7 +369,7 @@
 
 }
 
-static int view3d_setcameratoview_poll(bContext *C)
+static int view3d_camera_to_view_poll(bContext *C)
 {
 	View3D *v3d= CTX_wm_view3d(C);
 	if(v3d && v3d->camera && v3d->camera->id.lib==NULL) {
@@ -390,8 +390,8 @@
 	ot->idname= "VIEW3D_OT_camera_to_view";
 	
 	/* api callbacks */
-	ot->exec= view3d_setcameratoview_exec;	
-	ot->poll= view3d_setcameratoview_poll;
+	ot->exec= view3d_camera_to_view_exec;
+	ot->poll= view3d_camera_to_view_poll;
 	
 	/* flags */
 	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
@@ -431,6 +431,24 @@
 	}
 }
 
+static int view3d_camera_to_view_selected_poll(bContext *C)
+{
+	View3D *v3d= CTX_wm_view3d(C);
+	if(v3d && v3d->camera && v3d->camera->id.lib==NULL) {
+		RegionView3D *rv3d= CTX_wm_region_view3d(C);
+		if(rv3d) {
+			if (rv3d->is_persp == FALSE) {
+				CTX_wm_operator_poll_msg_set(C, "Only valid for a perspective camera view");
+			}
+			else if (!rv3d->viewlock) {
+				return 1;
+			}
+		}
+	}
+
+	return 0;
+}
+
 void VIEW3D_OT_camera_to_view_selected(wmOperatorType *ot)
 {
 	/* identifiers */
@@ -440,7 +458,7 @@
 
 	/* api callbacks */
 	ot->exec= view3d_camera_to_view_selected_exec;
-	// ot->poll= view3d_setcameratoview_poll;
+	ot->poll= view3d_camera_to_view_selected_poll;
 
 	/* flags */
 	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;




More information about the Bf-blender-cvs mailing list