Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2007-06-04 04:09:41 +0400
committerCampbell Barton <ideasman42@gmail.com>2007-06-04 04:09:41 +0400
commit9e1b15ff19ecacbb3924f8dfef9adc77620069cb (patch)
tree20cfe7a28adb706b11b1e63d2500e739cf54e16a /source/blender/src/oops.c
parent4287796f61e1b741d4205d5970d56997742032a6 (diff)
[#6787] OOPS window draw changes patch from Matthew Plough (meestaplu)
And added groups to the oopsview
Diffstat (limited to 'source/blender/src/oops.c')
-rw-r--r--source/blender/src/oops.c30
1 files changed, 28 insertions, 2 deletions
diff --git a/source/blender/src/oops.c b/source/blender/src/oops.c
index 6c0efd27a22..7def4ca615e 100644
--- a/source/blender/src/oops.c
+++ b/source/blender/src/oops.c
@@ -50,6 +50,7 @@
#include "DNA_texture_types.h"
#include "DNA_texture_types.h"
#include "DNA_key_types.h"
+#include "DNA_group_types.h"
#include "BKE_utildefines.h"
#include "BKE_global.h"
@@ -656,8 +657,21 @@ void add_material_oopslinks(Material *ma, Oops *oops, short flag)
if(ma->mtex[a]) add_oopslink("ob", oops, ID_OB, &(ma->mtex[a]->object), 0.0, (float)(0.2*OOPSY));
}
}
- if(flag & OOPS_IP) {
+ if(flag & OOPS_IP)
if(ma->ipo) add_oopslink("ipo", oops, ID_IP, &(ma->ipo), OOPSX, (float)(0.5*OOPSY));
+
+ if (ma->group)
+ add_oopslink("group", oops, ID_GR, &(ma->group), OOPSX, (float)(0.5*OOPSY));
+}
+
+
+void add_group_oopslinks(Group *gp, Oops *oops, short flag)
+{
+ GroupObject *gob;
+ if(flag & OOPS_GR) {
+ for(gob=gp->gobject.first; gob; gob= gob->next) {
+ add_oopslink("group", oops, ID_GR, &(gob->ob), (float)(0.5*OOPSX), (float)OOPSY);
+ }
}
}
@@ -701,6 +715,9 @@ void add_object_oopslinks(Object *ob, Oops *oops, short flag)
}
if(flag & OOPS_IP) add_oopslink("ipo", oops, ID_IP, &ob->ipo, OOPSX, (float)(0.5*OOPSY));
+
+ if (ob->dup_group && (ob->transflag & OB_DUPLIGROUP))
+ add_oopslink("group", oops, ID_GR, &ob->dup_group, OOPSX, (float)(0.5*OOPSY));
}
void add_mesh_oopslinks(Mesh *me, Oops *oops, short flag)
@@ -817,6 +834,9 @@ Oops *add_test_oops(void *id) /* incl links */
case ID_MA:
add_material_oopslinks((Material *)id, oops, G.soops->visiflag);
break;
+ case ID_GR:
+ add_group_oopslinks((Group *)id, oops, G.soops->visiflag);
+ break;
case ID_TE:
tex= (Tex *)id;
if(tex->ima) if(G.soops->visiflag & OOPS_IM) add_oopslink("image", oops, ID_IM, &tex->ima, OOPSX, (float)(0.3*OOPSY));
@@ -962,7 +982,13 @@ void build_oops()
ima= ima->id.next;
}
}
-
+ if(G.soops->visiflag & OOPS_GR) {
+ Group *gp= G.main->group.first;
+ while(gp) {
+ oops= add_test_oops(gp);
+ gp= gp->id.next;
+ }
+ }
}
else {