diff options
author | Ton Roosendaal <ton@blender.org> | 2005-11-17 21:01:07 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2005-11-17 21:01:07 +0300 |
commit | 502fc2da31662beba7c84dc804f78e2ff74ac700 (patch) | |
tree | eb5f58f57146f80a76218a9d4d2c8c6ac4850f78 /source/blender/src/drawarmature.c | |
parent | b44ba190d2626ddc43b754a896426fd5c5f04000 (diff) |
One visit to studio orange, and voila a todo list!
- bug: posemode, bones were drawing names and axes even when hidden
- bug: using softbody guides actually worked on themselves, causing
an infinite loop
- feature: when a pose/bone is completely locked for transform, a grab
will change into rotate by default.
Diffstat (limited to 'source/blender/src/drawarmature.c')
-rw-r--r-- | source/blender/src/drawarmature.c | 43 |
1 files changed, 22 insertions, 21 deletions
diff --git a/source/blender/src/drawarmature.c b/source/blender/src/drawarmature.c index fc02d18c655..8834fa52514 100644 --- a/source/blender/src/drawarmature.c +++ b/source/blender/src/drawarmature.c @@ -1467,27 +1467,28 @@ static void draw_pose_channels(Base *base, int dt) if(G.vd->zbuf) glDisable(GL_DEPTH_TEST); for(pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next) { - - if (arm->flag & (ARM_EDITMODE|ARM_POSEMODE)) { - bone= pchan->bone; - if(bone->flag & BONE_SELECTED) BIF_ThemeColor(TH_TEXT_HI); - else BIF_ThemeColor(TH_TEXT); - } - else if(dt > OB_WIRE) BIF_ThemeColor(TH_TEXT); - - if (arm->flag & ARM_DRAWNAMES){ - VecMidf(vec, pchan->pose_head, pchan->pose_tail); - glRasterPos3fv(vec); - BMF_DrawString(G.font, " "); - BMF_DrawString(G.font, pchan->name); - } - /* Draw additional axes */ - if( (arm->flag & ARM_DRAWAXES) && (arm->flag & ARM_POSEMODE) ){ - glPushMatrix(); - glMultMatrixf(pchan->pose_mat); - glTranslatef(0.0f, pchan->bone->length, 0.0f); - drawaxes(0.25f*pchan->bone->length); - glPopMatrix(); + if((pchan->bone->flag & BONE_HIDDEN_P)==0) { + if (arm->flag & (ARM_EDITMODE|ARM_POSEMODE)) { + bone= pchan->bone; + if(bone->flag & BONE_SELECTED) BIF_ThemeColor(TH_TEXT_HI); + else BIF_ThemeColor(TH_TEXT); + } + else if(dt > OB_WIRE) BIF_ThemeColor(TH_TEXT); + + if (arm->flag & ARM_DRAWNAMES){ + VecMidf(vec, pchan->pose_head, pchan->pose_tail); + glRasterPos3fv(vec); + BMF_DrawString(G.font, " "); + BMF_DrawString(G.font, pchan->name); + } + /* Draw additional axes */ + if( (arm->flag & ARM_DRAWAXES) && (arm->flag & ARM_POSEMODE) ){ + glPushMatrix(); + glMultMatrixf(pchan->pose_mat); + glTranslatef(0.0f, pchan->bone->length, 0.0f); + drawaxes(0.25f*pchan->bone->length); + glPopMatrix(); + } } } |