diff options
author | Ton Roosendaal <ton@blender.org> | 2005-12-07 18:07:31 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2005-12-07 18:07:31 +0300 |
commit | fba94ef97ae51b74b4f13d9f3ffc226204330a07 (patch) | |
tree | b21ea0cd6948bdbd76799b169e0e79f49a50d907 /source/blender/src/edit.c | |
parent | 5a514ae20eb4462eaa381e60fb295a65b96bf575 (diff) |
Orange: Custom drawing types for bones in Poses!
In Armature Pose-bone panel, the 'hide' button got replaced with a button
where you can type (TAB complete works) a name for a Mesh Object. It then
draws that Object instead of the indicated bone drawing type.
Fixes for bone layers:
- Akey in Editmode didnt work proper (now deselects all non visible bones
too. selection for editmode works on the vertices, not bones...
- Snap in Editmode now respects layers
Diffstat (limited to 'source/blender/src/edit.c')
-rw-r--r-- | source/blender/src/edit.c | 37 |
1 files changed, 20 insertions, 17 deletions
diff --git a/source/blender/src/edit.c b/source/blender/src/edit.c index ec8c8d75ad2..067a305d311 100644 --- a/source/blender/src/edit.c +++ b/source/blender/src/edit.c @@ -886,28 +886,31 @@ static void make_trans_verts(float *min, float *max, int mode) } } else if (G.obedit->type==OB_ARMATURE){ + bArmature *arm= G.obedit->data; + for (ebo=G.edbo.first;ebo;ebo=ebo->next){ - if (ebo->flag & BONE_TIPSEL){ - VECCOPY (tv->oldloc, ebo->tail); - tv->loc= ebo->tail; - tv->nor= NULL; - tv->flag= 1; - tv++; - tottrans++; - } - - /* Only add the root if there is no connection */ - if (ebo->flag & BONE_ROOTSEL){ - if (!(ebo->parent && (ebo->flag & BONE_CONNECTED) && ebo->parent->flag & BONE_TIPSEL)){ - VECCOPY (tv->oldloc, ebo->head); - tv->loc= ebo->head; + if(ebo->layer & arm->layer) { + if (ebo->flag & BONE_TIPSEL){ + VECCOPY (tv->oldloc, ebo->tail); + tv->loc= ebo->tail; tv->nor= NULL; tv->flag= 1; tv++; tottrans++; - } - } - + } + + /* Only add the root if there is no connection */ + if (ebo->flag & BONE_ROOTSEL){ + if (!(ebo->parent && (ebo->flag & BONE_CONNECTED) && ebo->parent->flag & BONE_TIPSEL)){ + VECCOPY (tv->oldloc, ebo->head); + tv->loc= ebo->head; + tv->nor= NULL; + tv->flag= 1; + tv++; + tottrans++; + } + } + } } } else if ELEM(G.obedit->type, OB_CURVE, OB_SURF) { |