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. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to