[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [28218] trunk/blender/source/blender/ editors: Fix [#21492] "Align to view" option from tools panel' s operator part doesn't works.

Matt Ebb matt at mke3.net
Fri Apr 16 04:15:08 CEST 2010


Revision: 28218
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28218
Author:   broken
Date:     2010-04-16 04:14:56 +0200 (Fri, 16 Apr 2010)

Log Message:
-----------
Fix [#21492] "Align to view" option from tools panel's operator part doesn't works.

Also changed some usage of CTX_wm_region_view3d(C) to ED_view3d_context_rv3d(C)

Modified Paths:
--------------
    trunk/blender/source/blender/editors/curve/editcurve.c
    trunk/blender/source/blender/editors/include/ED_object.h
    trunk/blender/source/blender/editors/mesh/editmesh_add.c
    trunk/blender/source/blender/editors/object/object_add.c
    trunk/blender/source/blender/editors/space_view3d/view3d_draw.c
    trunk/blender/source/blender/editors/space_view3d/view3d_edit.c
    trunk/blender/source/blender/editors/space_view3d/view3d_intern.h
    trunk/blender/source/blender/editors/space_view3d/view3d_view.c

Modified: trunk/blender/source/blender/editors/curve/editcurve.c
===================================================================
--- trunk/blender/source/blender/editors/curve/editcurve.c	2010-04-15 21:58:49 UTC (rev 28217)
+++ trunk/blender/source/blender/editors/curve/editcurve.c	2010-04-16 02:14:56 UTC (rev 28218)
@@ -3726,7 +3726,7 @@
 static int select_linked_exec(bContext *C, wmOperator *op)
 {
 	Object *obedit= CTX_data_edit_object(C);
-	RegionView3D *rv3d= CTX_wm_region_view3d(C);
+	RegionView3D *rv3d= ED_view3d_context_rv3d(C);
 	ViewContext vc;
 	Nurb *nu;
 	BezTriple *bezt;

Modified: trunk/blender/source/blender/editors/include/ED_object.h
===================================================================
--- trunk/blender/source/blender/editors/include/ED_object.h	2010-04-15 21:58:49 UTC (rev 28217)
+++ trunk/blender/source/blender/editors/include/ED_object.h	2010-04-16 02:14:56 UTC (rev 28218)
@@ -88,7 +88,7 @@
 
 void ED_object_add_generic_props(struct wmOperatorType *ot, int do_editmode);
 int ED_object_add_generic_invoke(struct bContext *C, struct wmOperator *op, struct wmEvent *event);
-void ED_object_add_generic_get_opts(struct wmOperator *op, float *loc, float *rot, int *enter_editmode, unsigned int *layer);
+void ED_object_add_generic_get_opts(struct bContext *C, struct wmOperator *op, float *loc, float *rot, int *enter_editmode, unsigned int *layer);
 struct Object *ED_object_add_type(struct bContext *C, int type, float *loc, float *rot, int enter_editmode, unsigned int layer);
 
 void ED_object_single_users(struct Scene *scene, int full);

Modified: trunk/blender/source/blender/editors/mesh/editmesh_add.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_add.c	2010-04-15 21:58:49 UTC (rev 28217)
+++ trunk/blender/source/blender/editors/mesh/editmesh_add.c	2010-04-16 02:14:56 UTC (rev 28218)
@@ -1301,7 +1301,7 @@
 	unsigned int layer;
 	float loc[3], rot[3];
 	
-	ED_object_add_generic_get_opts(op, loc, rot, &enter_editmode, &layer);
+	ED_object_add_generic_get_opts(C, op, loc, rot, &enter_editmode, &layer);
 
 	/* sqrt(2.0f) - plane (diameter of 1.41 makes it unit size) */
 	make_prim_ext(C, loc, rot, enter_editmode, layer,
@@ -1333,7 +1333,7 @@
 	unsigned int layer;
 	float loc[3], rot[3];
 	
-	ED_object_add_generic_get_opts(op, loc, rot, &enter_editmode, &layer);
+	ED_object_add_generic_get_opts(C, op, loc, rot, &enter_editmode, &layer);
 
 	/* sqrt(2.0f) - plane (diameter of 1.41 makes it unit size) */
 	make_prim_ext(C, loc, rot, enter_editmode, layer,
@@ -1365,7 +1365,7 @@
 	unsigned int layer;
 	float loc[3], rot[3];
 	
-	ED_object_add_generic_get_opts(op, loc, rot, &enter_editmode, &layer);
+	ED_object_add_generic_get_opts(C, op, loc, rot, &enter_editmode, &layer);
 
 	make_prim_ext(C, loc, rot, enter_editmode, layer,
 			PRIM_CIRCLE, RNA_int_get(op->ptr, "vertices"), 0, 0,
@@ -1404,7 +1404,7 @@
 	unsigned int layer;
 	float loc[3], rot[3];
 	
-	ED_object_add_generic_get_opts(op, loc, rot, &enter_editmode, &layer);
+	ED_object_add_generic_get_opts(C, op, loc, rot, &enter_editmode, &layer);
 
 	make_prim_ext(C, loc, rot, enter_editmode, layer,
 			PRIM_CYLINDER, RNA_int_get(op->ptr, "vertices"), 0, 0,
@@ -1445,7 +1445,7 @@
 	unsigned int layer;
 	float loc[3], rot[3];
 	
-	ED_object_add_generic_get_opts(op, loc, rot, &enter_editmode, &layer);
+	ED_object_add_generic_get_opts(C, op, loc, rot, &enter_editmode, &layer);
 
 	make_prim_ext(C, loc, rot, enter_editmode, layer,
 			PRIM_CONE, RNA_int_get(op->ptr, "vertices"), 0, 0,
@@ -1485,7 +1485,7 @@
 	unsigned int layer;
 	float loc[3], rot[3];
 	
-	ED_object_add_generic_get_opts(op, loc, rot, &enter_editmode, &layer);
+	ED_object_add_generic_get_opts(C, op, loc, rot, &enter_editmode, &layer);
 
 	make_prim_ext(C, loc, rot, enter_editmode, layer,
 			PRIM_GRID, RNA_int_get(op->ptr, "x_subdivisions"),
@@ -1524,7 +1524,7 @@
 	unsigned int layer;
 	float loc[3], rot[3];
 	
-	ED_object_add_generic_get_opts(op, loc, rot, &enter_editmode, &layer);
+	ED_object_add_generic_get_opts(C, op, loc, rot, &enter_editmode, &layer);
 
 	make_prim_ext(C, loc, rot, enter_editmode, layer,
 			PRIM_MONKEY, 0, 0, 2, 0.0f, 0.0f, 0, 0);
@@ -1556,7 +1556,7 @@
 	unsigned int layer;
 	float loc[3], rot[3];
 	
-	ED_object_add_generic_get_opts(op, loc, rot, &enter_editmode, &layer);
+	ED_object_add_generic_get_opts(C, op, loc, rot, &enter_editmode, &layer);
 
 	make_prim_ext(C, loc, rot, enter_editmode, layer,
 			PRIM_UVSPHERE, RNA_int_get(op->ptr, "rings"),
@@ -1595,7 +1595,7 @@
 	unsigned int layer;
 	float loc[3], rot[3];
 	
-	ED_object_add_generic_get_opts(op, loc, rot, &enter_editmode, &layer);
+	ED_object_add_generic_get_opts(C, op, loc, rot, &enter_editmode, &layer);
 
 	make_prim_ext(C, loc, rot, enter_editmode, layer,
 			PRIM_ICOSPHERE, 0, 0, RNA_int_get(op->ptr, "subdivisions"),

Modified: trunk/blender/source/blender/editors/object/object_add.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_add.c	2010-04-15 21:58:49 UTC (rev 28217)
+++ trunk/blender/source/blender/editors/object/object_add.c	2010-04-16 02:14:56 UTC (rev 28218)
@@ -108,7 +108,7 @@
 
 void ED_object_rotation_from_view(bContext *C, float *rot)
 {
-	RegionView3D *rv3d = CTX_wm_region_view3d(C);
+	RegionView3D *rv3d= ED_view3d_context_rv3d(C);
 	
 	if(rv3d) {
 		rv3d->viewquat[0]= -rv3d->viewquat[0];
@@ -200,23 +200,7 @@
 		ED_object_location_from_view(C, loc);
 		RNA_float_set_array(op->ptr, "location", loc);
 	}
-	
-	if (!RNA_property_is_set(op->ptr, "rotation")) {
-		int view_align;
-		float rot[3] = {0.f, 0.f, 0.f};
-	
-		/* view align property is just used to set rotation property */
-		if (!RNA_property_is_set(op->ptr, "view_align"))
-			view_align = U.flag & USER_ADD_VIEWALIGNED;
-		else
-			view_align = RNA_boolean_get(op->ptr, "view_align");
-		
-		if (view_align)
-			ED_object_rotation_from_view(C, rot);
-
-		RNA_float_set_array(op->ptr, "rotation", rot);
-	}
-
+	 
 	if (!RNA_property_is_set(op->ptr, "layer")) {
 		View3D *v3d = CTX_wm_view3d(C);
 		Scene *scene = CTX_data_scene(C);
@@ -248,17 +232,28 @@
 	return op->type->exec(C, op);
 }
 
-void ED_object_add_generic_get_opts(wmOperator *op, float *loc, float *rot, int *enter_editmode, unsigned int *layer)
+void ED_object_add_generic_get_opts(bContext *C, wmOperator *op, float *loc, float *rot, int *enter_editmode, unsigned int *layer)
 {
 	int a, layer_values[32];
+	int view_align;
 	
 	*enter_editmode = FALSE;
 	if(RNA_struct_find_property(op->ptr, "enter_editmode") && RNA_boolean_get(op->ptr, "enter_editmode")) {
 		*enter_editmode = TRUE;
 	}
 	
+	if (RNA_property_is_set(op->ptr, "view_align"))
+		view_align = RNA_boolean_get(op->ptr, "view_align");
+	else
+		view_align = U.flag & USER_ADD_VIEWALIGNED;
+
+	if (view_align)
+		ED_object_rotation_from_view(C, rot);
+	else
+		RNA_float_get_array(op->ptr, "rotation", rot);
+	
+
 	RNA_float_get_array(op->ptr, "location", loc);
-	RNA_float_get_array(op->ptr, "rotation", rot);
 	RNA_boolean_get_array(op->ptr, "layer", layer_values);
 	
 	for(a=0; a<32; a++)
@@ -303,7 +298,7 @@
 	unsigned int layer;
 	float loc[3], rot[3];
 	
-	ED_object_add_generic_get_opts(op, loc, rot, &enter_editmode, &layer);
+	ED_object_add_generic_get_opts(C, op, loc, rot, &enter_editmode, &layer);
 	ED_object_add_type(C, RNA_enum_get(op->ptr, "type"), loc, rot, enter_editmode, layer);
 	
 	return OPERATOR_FINISHED;
@@ -362,7 +357,7 @@
 	float mat[4][4];
 	
 	object_add_generic_invoke_options(C, op);
-	ED_object_add_generic_get_opts(op, loc, rot, &enter_editmode, &layer);
+	ED_object_add_generic_get_opts(C, op, loc, rot, &enter_editmode, &layer);
 
 	if(type==PFIELD_GUIDE) {
 		ob= ED_object_add_type(C, OB_CURVE, loc, rot, FALSE, layer);
@@ -437,7 +432,7 @@
 	RNA_boolean_set(op->ptr, "view_align", 1);
 	
 	object_add_generic_invoke_options(C, op);
-	ED_object_add_generic_get_opts(op, loc, rot, &enter_editmode, &layer);
+	ED_object_add_generic_get_opts(C, op, loc, rot, &enter_editmode, &layer);
 
 	ob= ED_object_add_type(C, OB_CAMERA, loc, rot, FALSE, layer);
 	
@@ -493,7 +488,7 @@
 	float mat[4][4];
 	
 	object_add_generic_invoke_options(C, op); // XXX these props don't get set right when only exec() is called
-	ED_object_add_generic_get_opts(op, loc, rot, &enter_editmode, &layer);
+	ED_object_add_generic_get_opts(C, op, loc, rot, &enter_editmode, &layer);
 	
 	if(obedit==NULL || obedit->type!=OB_CURVE) {
 		Curve *cu;
@@ -585,7 +580,7 @@
 	float mat[4][4];
 	
 	object_add_generic_invoke_options(C, op); // XXX these props don't get set right when only exec() is called
-	ED_object_add_generic_get_opts(op, loc, rot, &enter_editmode, &layer);
+	ED_object_add_generic_get_opts(C, op, loc, rot, &enter_editmode, &layer);
 	
 	if(obedit==NULL || obedit->type!=OB_SURF) {
 		obedit= ED_object_add_type(C, OB_SURF, loc, rot, TRUE, layer);
@@ -650,7 +645,7 @@
 	float mat[4][4];
 	
 	object_add_generic_invoke_options(C, op); // XXX these props don't get set right when only exec() is called
-	ED_object_add_generic_get_opts(op, loc, rot, &enter_editmode, &layer);
+	ED_object_add_generic_get_opts(C, op, loc, rot, &enter_editmode, &layer);
 	
 	if(obedit==NULL || obedit->type!=OB_MBALL) {
 		obedit= ED_object_add_type(C, OB_MBALL, loc, rot, TRUE, layer);
@@ -720,7 +715,7 @@
 	float loc[3], rot[3];
 	
 	object_add_generic_invoke_options(C, op); // XXX these props don't get set right when only exec() is called
-	ED_object_add_generic_get_opts(op, loc, rot, &enter_editmode, &layer);
+	ED_object_add_generic_get_opts(C, op, loc, rot, &enter_editmode, &layer);
 	
 	if(obedit && obedit->type==OB_FONT)
 		return OPERATOR_CANCELLED;
@@ -760,7 +755,7 @@
 	float loc[3], rot[3];
 	
 	object_add_generic_invoke_options(C, op); // XXX these props don't get set right when only exec() is called
-	ED_object_add_generic_get_opts(op, loc, rot, &enter_editmode, &layer);
+	ED_object_add_generic_get_opts(C, op, loc, rot, &enter_editmode, &layer);
 	
 	if ((obedit==NULL) || (obedit->type != OB_ARMATURE)) {
 		obedit= ED_object_add_type(C, OB_ARMATURE, loc, rot, TRUE, layer);
@@ -815,7 +810,7 @@
 	float loc[3], rot[3];
 	
 	object_add_generic_invoke_options(C, op);
-	ED_object_add_generic_get_opts(op, loc, rot, &enter_editmode, &layer);
+	ED_object_add_generic_get_opts(C, op, loc, rot, &enter_editmode, &layer);
 
 	ob= ED_object_add_type(C, OB_LAMP, loc, rot, FALSE, layer);

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list