Revision: 40776
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=40776
Author:   campbellbarton
Date:     2011-10-03 17:29:43 +0000 (Mon, 03 Oct 2011)
Log Message:
-----------
add macro OB_TYPE_SUPPORT_MATERIAL, type checks were being done inline, some 
comparing range, some using ELEM#(), once was missing metaball check.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/object.c
    trunk/blender/source/blender/editors/object/object_edit.c
    trunk/blender/source/blender/editors/object/object_relations.c
    trunk/blender/source/blender/editors/render/render_preview.c
    trunk/blender/source/blender/editors/space_buttons/buttons_context.c
    trunk/blender/source/blender/editors/space_view3d/view3d_buttons.c
    trunk/blender/source/blender/makesdna/DNA_object_types.h
    trunk/blender/source/blender/render/intern/source/convertblender.c

Modified: trunk/blender/source/blender/blenkernel/intern/object.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/object.c     2011-10-03 
16:55:00 UTC (rev 40775)
+++ trunk/blender/source/blender/blenkernel/intern/object.c     2011-10-03 
17:29:43 UTC (rev 40776)
@@ -1649,7 +1649,7 @@
        if(ob->matbits) MEM_freeN(ob->matbits);
        ob->mat = NULL;
        ob->matbits= NULL;
-       if ((target->totcol) && (target->mat) && ELEM5(ob->type, OB_MESH, 
OB_CURVE, OB_SURF, OB_FONT, OB_MBALL)) { //XXX OB_SUPPORT_MATERIAL
+       if ((target->totcol) && (target->mat) && 
OB_TYPE_SUPPORT_MATERIAL(ob->type)) {
                int i;
                ob->colbits = target->colbits;
                

Modified: trunk/blender/source/blender/editors/object/object_edit.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_edit.c   2011-10-03 
16:55:00 UTC (rev 40775)
+++ trunk/blender/source/blender/editors/object/object_edit.c   2011-10-03 
17:29:43 UTC (rev 40776)
@@ -1368,7 +1368,7 @@
        strcat (str, "|Object Constraints%x22");
        strcat (str, "|NLA Strips%x26");
        
-// XXX if (OB_SUPPORT_MATERIAL(ob)) {
+// XXX if (OB_TYPE_SUPPORT_MATERIAL(ob->type)) {
 //             strcat(str, "|Texture Space%x17");
 //     }       
        

Modified: trunk/blender/source/blender/editors/object/object_relations.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_relations.c      
2011-10-03 16:55:00 UTC (rev 40775)
+++ trunk/blender/source/blender/editors/object/object_relations.c      
2011-10-03 17:29:43 UTC (rev 40776)
@@ -1243,9 +1243,11 @@
                                return 1;
                        break;
                case MAKE_LINKS_MATERIALS:
-                       if (ELEM5(ob->type, OB_MESH, OB_CURVE, OB_FONT, 
OB_SURF, OB_MBALL) &&
-                               ELEM5(obt->type, OB_MESH, OB_CURVE, OB_FONT, 
OB_SURF, OB_MBALL))
+                       if (OB_TYPE_SUPPORT_MATERIAL(ob->type) &&
+                               OB_TYPE_SUPPORT_MATERIAL(obt->type))
+                       {
                                return 1;
+                       }
                        break;
                case MAKE_LINKS_ANIMDATA:
                case MAKE_LINKS_DUPLIGROUP:

Modified: trunk/blender/source/blender/editors/render/render_preview.c
===================================================================
--- trunk/blender/source/blender/editors/render/render_preview.c        
2011-10-03 16:55:00 UTC (rev 40775)
+++ trunk/blender/source/blender/editors/render/render_preview.c        
2011-10-03 17:29:43 UTC (rev 40776)
@@ -344,7 +344,7 @@
                                        /* copy over object color, in case 
material uses it */
                                        copy_v4_v4(base->object->col, sp->col);
                                        
-                                       if(ELEM4(base->object->type, OB_MESH, 
OB_CURVE, OB_SURF, OB_MBALL)) {
+                                       
if(OB_TYPE_SUPPORT_MATERIAL(base->object->type)) {
                                                /* don't use assign_material, 
it changed mat->id.us, which shows in the UI */
                                                Material ***matar= 
give_matarar(base->object);
                                                int actcol= 
MAX2(base->object->actcol > 0, 1) - 1;

Modified: trunk/blender/source/blender/editors/space_buttons/buttons_context.c
===================================================================
--- trunk/blender/source/blender/editors/space_buttons/buttons_context.c        
2011-10-03 16:55:00 UTC (rev 40775)
+++ trunk/blender/source/blender/editors/space_buttons/buttons_context.c        
2011-10-03 17:29:43 UTC (rev 40776)
@@ -234,7 +234,7 @@
        else if(buttons_context_path_object(path)) {
                ob= path->ptr[path->len-1].data;
 
-               if(ob && ob->type && (ob->type<OB_LAMP)) {
+               if(ob && OB_TYPE_SUPPORT_MATERIAL(ob->type)) {
                        ma= give_current_material(ob, ob->actcol);
                        RNA_id_pointer_create(&ma->id, &path->ptr[path->len]);
                        path->len++;
@@ -721,7 +721,7 @@
                if(ptr) {
                        Object *ob= ptr->data;
 
-                       if(ob && ob->type && (ob->type<OB_LAMP) && ob->totcol) {
+                       if(ob && OB_TYPE_SUPPORT_MATERIAL(ob->type) && 
ob->totcol) {
                                /* a valid actcol isn't ensured [#27526] */
                                int matnr= ob->actcol-1;
                                if(matnr < 0) matnr= 0;

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_buttons.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_buttons.c  
2011-10-03 16:55:00 UTC (rev 40775)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_buttons.c  
2011-10-03 17:29:43 UTC (rev 40776)
@@ -895,8 +895,11 @@
        
        if (ptr->type == &RNA_Object) {
                Object *ob = ptr->data;
-               if (ELEM5(ob->type, OB_MESH, OB_CURVE, OB_SURF, OB_FONT, 
OB_MBALL))
+               /* dimensions and material support just happen to be the same 
checks
+                * later we may want to add dimensions for lattice, armature 
etc too */
+               if (OB_TYPE_SUPPORT_MATERIAL(ob->type)) {
                        uiItemR(layout, ptr, "dimensions", 0, "Dimensions", 
ICON_NONE);
+               }
        }
 }
 

Modified: trunk/blender/source/blender/makesdna/DNA_object_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_object_types.h    2011-10-03 
16:55:00 UTC (rev 40775)
+++ trunk/blender/source/blender/makesdna/DNA_object_types.h    2011-10-03 
17:29:43 UTC (rev 40776)
@@ -321,6 +321,9 @@
 /* 23 and 24 are for life and sector (old file compat.) */
 #define        OB_ARMATURE             25
 
+/* check if the object type supports materials */
+#define OB_TYPE_SUPPORT_MATERIAL(_type) ((_type)  >= OB_MESH && (_type) <= 
OB_MBALL)
+
 /* partype: first 4 bits: type */
 #define PARTYPE                        15
 #define PAROBJECT              0

Modified: trunk/blender/source/blender/render/intern/source/convertblender.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/convertblender.c  
2011-10-03 16:55:00 UTC (rev 40775)
+++ trunk/blender/source/blender/render/intern/source/convertblender.c  
2011-10-03 17:29:43 UTC (rev 40776)
@@ -4359,9 +4359,9 @@
 /* Database                                                                    
                                                                 */
 /* ------------------------------------------------------------------------- */
 
-static int render_object_type(int type) 
+static int render_object_type(short type)
 {
-       return ELEM5(type, OB_FONT, OB_CURVE, OB_SURF, OB_MESH, OB_MBALL);
+       return OB_TYPE_SUPPORT_MATERIAL(type);
 }
 
 static void find_dupli_instances(Render *re, ObjectRen *obr)

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

Reply via email to