[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [40776] trunk/blender/source/blender: add macro OB_TYPE_SUPPORT_MATERIAL, type checks were being done inline, some comparing range, some using ELEM#(), once was missing metaball check.
Campbell Barton
ideasman42 at gmail.com
Mon Oct 3 19:29:44 CEST 2011
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)
More information about the Bf-blender-cvs
mailing list