[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [15484] trunk/blender/source/blender: scenes set pose objects would draw in posemode while weight painting if they were set to posemode in their scene .
Campbell Barton
ideasman42 at gmail.com
Tue Jul 8 12:18:34 CEST 2008
Revision: 15484
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=15484
Author: campbellbarton
Date: 2008-07-08 12:18:34 +0200 (Tue, 08 Jul 2008)
Log Message:
-----------
scenes set pose objects would draw in posemode while weight painting if they were set to posemode in their scene.
Modified Paths:
--------------
trunk/blender/source/blender/include/BDR_drawobject.h
trunk/blender/source/blender/include/BIF_editarmature.h
trunk/blender/source/blender/src/drawarmature.c
trunk/blender/source/blender/src/drawobject.c
trunk/blender/source/blender/src/drawview.c
Modified: trunk/blender/source/blender/include/BDR_drawobject.h
===================================================================
--- trunk/blender/source/blender/include/BDR_drawobject.h 2008-07-08 07:30:38 UTC (rev 15483)
+++ trunk/blender/source/blender/include/BDR_drawobject.h 2008-07-08 10:18:34 UTC (rev 15484)
@@ -63,6 +63,7 @@
/* drawing flags: */
#define DRAW_PICKING 1
#define DRAW_CONSTCOLOR 2
+#define DRAW_SCENESET 4
void draw_object(struct Base *base, int flag);
void drawaxes(float size, int flag, char drawtype);
Modified: trunk/blender/source/blender/include/BIF_editarmature.h
===================================================================
--- trunk/blender/source/blender/include/BIF_editarmature.h 2008-07-08 07:30:38 UTC (rev 15483)
+++ trunk/blender/source/blender/include/BIF_editarmature.h 2008-07-08 10:18:34 UTC (rev 15484)
@@ -80,7 +80,7 @@
void delete_armature(void);
void deselectall_armature(int toggle, int doundo);
void deselectall_posearmature (struct Object *ob, int test, int doundo);
-int draw_armature(struct Base *base, int dt);
+int draw_armature(struct Base *base, int dt, int flag);
void extrude_armature(int forked);
void subdivide_armature(int numcuts);
Modified: trunk/blender/source/blender/src/drawarmature.c
===================================================================
--- trunk/blender/source/blender/src/drawarmature.c 2008-07-08 07:30:38 UTC (rev 15483)
+++ trunk/blender/source/blender/src/drawarmature.c 2008-07-08 10:18:34 UTC (rev 15484)
@@ -2500,7 +2500,7 @@
/* ********************************** Armature Drawing - Main ************************* */
/* called from drawobject.c, return 1 if nothing was drawn */
-int draw_armature(Base *base, int dt)
+int draw_armature(Base *base, int dt, int flag)
{
Object *ob= base->object;
bArmature *arm= ob->data;
@@ -2544,15 +2544,16 @@
if (arm->ghostep)
draw_ghost_poses(base);
}
+ if ((flag & DRAW_SCENESET)==0) {
+ if(ob==OBACT)
+ arm->flag |= ARM_POSEMODE;
+ else if(G.f & G_WEIGHTPAINT)
+ arm->flag |= ARM_POSEMODE;
- if(ob==OBACT)
- arm->flag |= ARM_POSEMODE;
- else if(G.f & G_WEIGHTPAINT)
- arm->flag |= ARM_POSEMODE;
-
- draw_pose_paths(ob);
+ draw_pose_paths(ob);
+ }
}
- }
+ }
draw_pose_channels(base, dt);
arm->flag &= ~ARM_POSEMODE;
Modified: trunk/blender/source/blender/src/drawobject.c
===================================================================
--- trunk/blender/source/blender/src/drawobject.c 2008-07-08 07:30:38 UTC (rev 15483)
+++ trunk/blender/source/blender/src/drawobject.c 2008-07-08 10:18:34 UTC (rev 15484)
@@ -4620,7 +4620,7 @@
}
else if(ob->type==OB_ARMATURE) {
if(!(ob->flag & OB_POSEMODE)) {
- draw_armature(base, OB_WIRE);
+ draw_armature(base, OB_WIRE, 0);
}
}
@@ -4741,7 +4741,7 @@
setlinestyle(0);
}
-/* flag can be DRAW_PICKING and/or DRAW_CONSTCOLOR */
+/* flag can be DRAW_PICKING and/or DRAW_CONSTCOLOR, DRAW_SCENESET */
void draw_object(Base *base, int flag)
{
static int warning_recursive= 0;
@@ -4943,7 +4943,7 @@
/* draw outline for selected solid objects, mesh does itself */
if((G.vd->flag & V3D_SELECT_OUTLINE) && ob->type!=OB_MESH) {
- if(dt>OB_WIRE && dt<OB_TEXTURE && ob!=G.obedit) {
+ if(dt>OB_WIRE && dt<OB_TEXTURE && ob!=G.obedit && (flag && DRAW_SCENESET)==0) {
if (!(ob->dtx&OB_DRAWWIRE) && (ob->flag&SELECT) && !(flag&DRAW_PICKING)) {
drawSolidSelect(base);
}
@@ -5090,7 +5090,7 @@
break;
case OB_ARMATURE:
if(dt>OB_WIRE) set_gl_material(0); // we use defmaterial
- empty_object= draw_armature(base, dt);
+ empty_object= draw_armature(base, dt, flag);
break;
default:
drawaxes(1.0, flag, OB_ARROWS);
Modified: trunk/blender/source/blender/src/drawview.c
===================================================================
--- trunk/blender/source/blender/src/drawview.c 2008-07-08 07:30:38 UTC (rev 15483)
+++ trunk/blender/source/blender/src/drawview.c 2008-07-08 10:18:34 UTC (rev 15484)
@@ -3097,7 +3097,7 @@
if(v3d->lay & base->lay) {
BIF_ThemeColorBlend(TH_WIRE, TH_BACK, 0.6f);
- draw_object(base, DRAW_CONSTCOLOR);
+ draw_object(base, DRAW_CONSTCOLOR|DRAW_SCENESET);
if(base->object->transflag & OB_DUPLI) {
draw_dupli_objects_color(v3d, base, TH_WIRE);
@@ -3319,7 +3319,7 @@
where_is_object(base->object);
BIF_ThemeColorBlend(TH_WIRE, TH_BACK, 0.6f);
- draw_object(base, DRAW_CONSTCOLOR);
+ draw_object(base, DRAW_CONSTCOLOR|DRAW_SCENESET);
if(base->object->transflag & OB_DUPLI) {
draw_dupli_objects(v3d, base);
More information about the Bf-blender-cvs
mailing list