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:
authorTon Roosendaal <ton@blender.org>2005-11-17 21:01:07 +0300
committerTon Roosendaal <ton@blender.org>2005-11-17 21:01:07 +0300
commit502fc2da31662beba7c84dc804f78e2ff74ac700 (patch)
treeeb5f58f57146f80a76218a9d4d2c8c6ac4850f78 /source/blender/src/drawarmature.c
parentb44ba190d2626ddc43b754a896426fd5c5f04000 (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.c43
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();
+ }
}
}