[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [23415] trunk/blender/source/blender: - removed View3D->localview since it wasnt set on entering localview ( making many tools fail, add objects for eg.), check localvd instead.

Campbell Barton ideasman42 at gmail.com
Tue Sep 22 06:40:17 CEST 2009


Revision: 23415
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23415
Author:   campbellbarton
Date:     2009-09-22 06:40:16 +0200 (Tue, 22 Sep 2009)

Log Message:
-----------
- removed View3D->localview since it wasnt set on entering localview (making many tools fail, add objects for eg.), check localvd instead.
- Accent (`) key now sets all layers (like in 2.4x)
- added Alt+C keybinding for converting object types.

Modified Paths:
--------------
    trunk/blender/source/blender/blenlib/intern/arithb.c
    trunk/blender/source/blender/blenloader/intern/readfile.c
    trunk/blender/source/blender/editors/mesh/meshtools.c
    trunk/blender/source/blender/editors/object/object_add.c
    trunk/blender/source/blender/editors/object/object_ops.c
    trunk/blender/source/blender/editors/object/object_relations.c
    trunk/blender/source/blender/editors/space_view3d/space_view3d.c
    trunk/blender/source/blender/editors/space_view3d/view3d_draw.c
    trunk/blender/source/blender/editors/space_view3d/view3d_header.c
    trunk/blender/source/blender/editors/space_view3d/view3d_ops.c
    trunk/blender/source/blender/editors/space_view3d/view3d_view.c
    trunk/blender/source/blender/makesdna/DNA_view3d_types.h
    trunk/blender/source/blender/makesrna/intern/rna_space.c

Modified: trunk/blender/source/blender/blenlib/intern/arithb.c
===================================================================
--- trunk/blender/source/blender/blenlib/intern/arithb.c	2009-09-22 01:27:48 UTC (rev 23414)
+++ trunk/blender/source/blender/blenlib/intern/arithb.c	2009-09-22 04:40:16 UTC (rev 23415)
@@ -4843,7 +4843,7 @@
 /* useful to calculate an even width shell, by taking the angle between 2 planes.
  * The return value is a scale on the offset.
  * no angle between planes is 1.0, as the angle between the 2 planes approches 180d
- * the distance gets very hight, 180d would be inf, but this case isnt valid */
+ * the distance gets very high, 180d would be inf, but this case isn't valid */
 float AngleToLength(const float angle)
 {
 	return (angle < SMALL_NUMBER) ? 1.0f : fabsf(1.0f / cosf(angle * (M_PI/180.0f)));

Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c	2009-09-22 01:27:48 UTC (rev 23414)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c	2009-09-22 04:40:16 UTC (rev 23415)
@@ -4688,7 +4688,6 @@
 							v3d->layact= v3d->localvd->layact;
 							MEM_freeN(v3d->localvd); 
 							v3d->localvd= NULL;
-							v3d->localview= 0;
 						}
 						*/
 					}

Modified: trunk/blender/source/blender/editors/mesh/meshtools.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/meshtools.c	2009-09-22 01:27:48 UTC (rev 23414)
+++ trunk/blender/source/blender/editors/mesh/meshtools.c	2009-09-22 04:40:16 UTC (rev 23415)
@@ -632,7 +632,7 @@
 		if (event == 1)
 			Mat4MulMat4(mat, OBACT->obmat, rv3d->viewmat); /* apply the view matrix to the object matrix */
 		else if (event == 2) { /* sort from cursor */
-			if( v3d && v3d->localview ) {
+			if( v3d && v3d->localvd ) {
 				VECCOPY(cur, v3d->cursor);
 			} else {
 				VECCOPY(cur, scene->cursor);

Modified: trunk/blender/source/blender/editors/object/object_add.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_add.c	2009-09-22 01:27:48 UTC (rev 23414)
+++ trunk/blender/source/blender/editors/object/object_add.c	2009-09-22 04:40:16 UTC (rev 23415)
@@ -110,7 +110,7 @@
 		VECCOPY(ob->loc, scene->cursor);
 	} 
 	else {
-		if (v3d->localview) {
+		if (v3d->localvd) {
 			base->lay= ob->lay= v3d->layact | v3d->lay;
 			VECCOPY(ob->loc, v3d->cursor);
 		} 

Modified: trunk/blender/source/blender/editors/object/object_ops.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_ops.c	2009-09-22 01:27:48 UTC (rev 23414)
+++ trunk/blender/source/blender/editors/object/object_ops.c	2009-09-22 04:40:16 UTC (rev 23415)
@@ -244,6 +244,7 @@
 	WM_keymap_add_item(keymap, "OBJECT_OT_duplicate_move", DKEY, KM_PRESS, KM_SHIFT, 0);
 	RNA_boolean_set(WM_keymap_add_item(keymap, "OBJECT_OT_duplicate", DKEY, KM_PRESS, KM_ALT, 0)->ptr, "linked", 1);
 	WM_keymap_add_item(keymap, "OBJECT_OT_join", JKEY, KM_PRESS, KM_CTRL, 0);
+	WM_keymap_add_item(keymap, "OBJECT_OT_convert", CKEY, KM_PRESS, KM_ALT, 0);
 	WM_keymap_add_item(keymap, "OBJECT_OT_proxy_make", PKEY, KM_PRESS, KM_CTRL|KM_ALT, 0);
 	
 	// XXX this should probably be in screen instead... here for testing purposes in the meantime... - Aligorith

Modified: trunk/blender/source/blender/editors/object/object_relations.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_relations.c	2009-09-22 01:27:48 UTC (rev 23414)
+++ trunk/blender/source/blender/editors/object/object_relations.c	2009-09-22 04:40:16 UTC (rev 23415)
@@ -994,7 +994,7 @@
 
 	if(lay==0) return OPERATOR_CANCELLED;
 	
-	if(v3d && v3d->localview) {
+	if(v3d && v3d->localvd) {
 		/* now we can move out of localview. */
 		// XXX if (!okee("Move from localview")) return;
 		CTX_DATA_BEGIN(C, Base*, base, selected_editable_bases) {

Modified: trunk/blender/source/blender/editors/space_view3d/space_view3d.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/space_view3d.c	2009-09-22 01:27:48 UTC (rev 23414)
+++ trunk/blender/source/blender/editors/space_view3d/space_view3d.c	2009-09-22 04:40:16 UTC (rev 23415)
@@ -259,7 +259,6 @@
 	if(v3do->localvd) {
 		v3do->localvd= NULL;
 		v3do->properties_storage= NULL;
-		v3do->localview= 0;
 		v3do->lay= v3dn->localvd->lay;
 		v3do->lay &= 0xFFFFFF;
 	}

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_draw.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_draw.c	2009-09-22 01:27:48 UTC (rev 23414)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_draw.c	2009-09-22 04:40:16 UTC (rev 23415)
@@ -732,7 +732,7 @@
 	char *name = view3d_get_name(v3d, rv3d);
 	char *printable = NULL;
 	
-	if (v3d->localview) {
+	if (v3d->localvd) {
 		printable = malloc(strlen(name) + strlen(" (Local)_")); /* '_' gives space for '\0' */
 												 strcpy(printable, name);
 												 strcat(printable, " (Local)");
@@ -745,7 +745,7 @@
 		BLF_draw_default(22,  ar->winy-17, 0.0f, printable);
 	}
 
-	if (v3d->localview) {
+	if (v3d->localvd) {
 		free(printable);
 	}
 }

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_header.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_header.c	2009-09-22 01:27:48 UTC (rev 23414)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_header.c	2009-09-22 04:40:16 UTC (rev 23415)
@@ -177,7 +177,7 @@
 	View3D *v3d= CTX_wm_view3d(C);
 	
 	if (v3d != NULL && sa != NULL) {
-		if(v3d->localview==0 && v3d->scenelock && sa->spacetype==SPACE_VIEW3D) {
+		if(v3d->localvd==NULL && v3d->scenelock && sa->spacetype==SPACE_VIEW3D) {
 			
 			/* copy to scene */
 			scene->lay= v3d->lay;
@@ -195,27 +195,38 @@
 	View3D *v3d= sa->spacedata.first;
 	int nr= RNA_int_get(op->ptr, "nr");
 	
-	if(nr<=0)
+	if(nr < 0)
 		return OPERATOR_CANCELLED;
-	nr--;
 	
-	if(RNA_boolean_get(op->ptr, "extend"))
-		v3d->lay |= (1<<nr);
-	else 
-		v3d->lay = (1<<nr);
 	
-	/* set active layer, ensure to always have one */
-	if(v3d->lay & (1<<nr))
-	   v3d->layact= 1<<nr;
-	else if((v3d->lay & v3d->layact)==0) {
-		int bit= 0;
+	if(nr == 0) {
+		/* all layers */
+		v3d->lay |= (1<<20)-1;
+
+		if(!v3d->layact)
+			v3d->layact= 1;
+	}
+	else {
+		nr--;
+
+		if(RNA_boolean_get(op->ptr, "extend"))
+			v3d->lay |= (1<<nr);
+		else
+			v3d->lay = (1<<nr);
 		
-		while(bit<32) {
-			if(v3d->lay & (1<<bit)) {
-				v3d->layact= 1<<bit;
-				break;
+		/* set active layer, ensure to always have one */
+		if(v3d->lay & (1<<nr))
+		   v3d->layact= 1<<nr;
+		else if((v3d->lay & v3d->layact)==0) {
+			int bit= 0;
+
+			while(bit<32) {
+				if(v3d->lay & (1<<bit)) {
+					v3d->layact= 1<<bit;
+					break;
+				}
+				bit++;
 			}
-			bit++;
 		}
 	}
 	
@@ -263,8 +274,8 @@
 	/* flags */
 	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
 	
-	RNA_def_int(ot->srna, "nr", 1, 0, 20, "Number", "", 0, 20);
-	RNA_def_boolean(ot->srna, "extend", 0, "Extend", "");
+	RNA_def_int(ot->srna, "nr", 1, 0, 20, "Number", "The layer number to set, zero for all layers", 0, 20);
+	RNA_def_boolean(ot->srna, "extend", 0, "Extend", "Add this layer to the current view layers");
 }
 
 #if 0
@@ -2078,7 +2089,7 @@
  		}
  		
 		/* LAYERS */
-		if(obedit==NULL && v3d->localview==0) {
+		if(obedit==NULL && v3d->localvd==NULL) {
 			int ob_lay = ob ? ob->lay : 0;
 			uiBlockBeginAlign(block);
 			for(a=0; a<5; a++) {

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_ops.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_ops.c	2009-09-22 01:27:48 UTC (rev 23414)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_ops.c	2009-09-22 04:40:16 UTC (rev 23415)
@@ -157,6 +157,7 @@
 	WM_keymap_add_item(keymap, "VIEW3D_OT_game_start", PKEY, KM_PRESS, 0, 0);
 	
 	/* layers, shift + alt are properties set in invoke() */
+	RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_layers", ACCENTGRAVEKEY, KM_PRESS, 0, 0)->ptr, "nr", 0);
 	RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_layers", ONEKEY, KM_PRESS, KM_ANY, 0)->ptr, "nr", 1);
 	RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_layers", TWOKEY, KM_PRESS, KM_ANY, 0)->ptr, "nr", 2);
 	RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_layers", THREEKEY, KM_PRESS, KM_ANY, 0)->ptr, "nr", 3);

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_view.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_view.c	2009-09-22 01:27:48 UTC (rev 23414)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_view.c	2009-09-22 04:40:16 UTC (rev 23415)
@@ -110,7 +110,7 @@
 
 float *give_cursor(Scene *scene, View3D *v3d)
 {
-	if(v3d && v3d->localview) return v3d->cursor;
+	if(v3d && v3d->localvd) return v3d->cursor;
 	else return scene->cursor;
 }
 
@@ -1303,7 +1303,6 @@
 				base->object->lay= base->lay;
 			}
 		}		
-		v3d->localview= 0;
 	}
 
 }
@@ -1325,7 +1324,6 @@
 	if(free) {
 		MEM_freeN(v3d->localvd);
 		v3d->localvd= NULL;
-		v3d->localview= 0;
 	}
 	
 	for(ar= sa->regionbase.first; ar; ar= ar->next) {

Modified: trunk/blender/source/blender/makesdna/DNA_view3d_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_view3d_types.h	2009-09-22 01:27:48 UTC (rev 23414)
+++ trunk/blender/source/blender/makesdna/DNA_view3d_types.h	2009-09-22 04:40:16 UTC (rev 23415)
@@ -144,7 +144,7 @@
 	 * The drawing mode for the 3d display. Set to OB_WIRE, OB_SOLID,
 	 * OB_SHADED or OB_TEXTURE */
 	short drawtype;
-	short localview;
+	short pad2;
 	short scenelock, around, pad3;
 	short flag, flag2;
 	

Modified: trunk/blender/source/blender/makesrna/intern/rna_space.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_space.c	2009-09-22 01:27:48 UTC (rev 23414)
+++ trunk/blender/source/blender/makesrna/intern/rna_space.c	2009-09-22 04:40:16 UTC (rev 23415)
@@ -602,11 +602,9 @@

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list