[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [51197] tags/blender-2.64a-release/blender /source/blender: merge part of r51070 manually ( the part that stops selecting unelectable bones.)
Campbell Barton
ideasman42 at gmail.com
Mon Oct 8 23:48:58 CEST 2012
Revision: 51197
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=51197
Author: campbellbarton
Date: 2012-10-08 21:48:56 +0000 (Mon, 08 Oct 2012)
Log Message:
-----------
merge part of r51070 manually (the part that stops selecting unelectable bones.)
Revision Links:
--------------
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=51070
Modified Paths:
--------------
tags/blender-2.64a-release/blender/source/blender/blenkernel/BKE_armature.h
tags/blender-2.64a-release/blender/source/blender/editors/armature/poseobject.c
tags/blender-2.64a-release/blender/source/blender/editors/include/ED_armature.h
tags/blender-2.64a-release/blender/source/blender/editors/space_view3d/view3d_select.c
Modified: tags/blender-2.64a-release/blender/source/blender/blenkernel/BKE_armature.h
===================================================================
--- tags/blender-2.64a-release/blender/source/blender/blenkernel/BKE_armature.h 2012-10-08 21:03:35 UTC (rev 51196)
+++ tags/blender-2.64a-release/blender/source/blender/blenkernel/BKE_armature.h 2012-10-08 21:48:56 UTC (rev 51197)
@@ -132,6 +132,7 @@
/* like EBONE_VISIBLE */
#define PBONE_VISIBLE(arm, bone) (((bone)->layer & (arm)->layer) && !((bone)->flag & BONE_HIDDEN_P))
+#define PBONE_SELECTABLE(arm, bone) (PBONE_VISIBLE(arm, bone) && !((bone)->flag & BONE_UNSELECTABLE))
#ifdef __cplusplus
}
Modified: tags/blender-2.64a-release/blender/source/blender/editors/armature/poseobject.c
===================================================================
--- tags/blender-2.64a-release/blender/source/blender/editors/armature/poseobject.c 2012-10-08 21:03:35 UTC (rev 51196)
+++ tags/blender-2.64a-release/blender/source/blender/editors/armature/poseobject.c 2012-10-08 21:48:56 UTC (rev 51197)
@@ -492,7 +492,7 @@
if (pchan->parent == NULL) continue;
else pabone = pchan->parent->bone;
- if (PBONE_VISIBLE(arm, pabone)) {
+ if (PBONE_SELECTABLE(arm, pabone)) {
if (!add_to_sel) curbone->flag &= ~BONE_SELECTED;
pabone->flag |= BONE_SELECTED;
arm->act_bone = pabone;
@@ -514,7 +514,7 @@
for (pchan_child = ob->pose->chanbase.first; pchan_child; pchan_child = pchan_child->next) {
/* possible we have multiple children, some invisible */
- if (PBONE_VISIBLE(arm, pchan_child->bone)) {
+ if (PBONE_SELECTABLE(arm, pchan_child->bone)) {
if (pchan_child->parent == pchan) {
chbone = pchan_child->bone;
break;
@@ -526,7 +526,7 @@
if (chbone == NULL) continue;
#endif
- if (PBONE_VISIBLE(arm, chbone)) {
+ if (PBONE_SELECTABLE(arm, chbone)) {
if (!add_to_sel) curbone->flag &= ~BONE_SELECTED;
chbone->flag |= BONE_SELECTED;
arm->act_bone = chbone;
Modified: tags/blender-2.64a-release/blender/source/blender/editors/include/ED_armature.h
===================================================================
--- tags/blender-2.64a-release/blender/source/blender/editors/include/ED_armature.h 2012-10-08 21:03:35 UTC (rev 51196)
+++ tags/blender-2.64a-release/blender/source/blender/editors/include/ED_armature.h 2012-10-08 21:48:56 UTC (rev 51197)
@@ -94,6 +94,7 @@
/* useful macros */
#define EBONE_VISIBLE(arm, ebone) (((arm)->layer & (ebone)->layer) && !((ebone)->flag & BONE_HIDDEN_A))
+#define EBONE_SELECTABLE(arm, ebone) (EBONE_VISIBLE(arm, ebone) && !(ebone->flag & BONE_UNSELECTABLE))
#define EBONE_EDITABLE(ebone) (((ebone)->flag & BONE_SELECTED) && !((ebone)->flag & BONE_EDITMODE_LOCKED))
/* used in bone_select_hierachy() */
Modified: tags/blender-2.64a-release/blender/source/blender/editors/space_view3d/view3d_select.c
===================================================================
--- tags/blender-2.64a-release/blender/source/blender/editors/space_view3d/view3d_select.c 2012-10-08 21:03:35 UTC (rev 51196)
+++ tags/blender-2.64a-release/blender/source/blender/editors/space_view3d/view3d_select.c 2012-10-08 21:48:56 UTC (rev 51197)
@@ -332,7 +332,7 @@
if ((ob->type != OB_ARMATURE) || (ob->pose == NULL)) return;
for (pchan = ob->pose->chanbase.first; pchan; pchan = pchan->next) {
- if (PBONE_VISIBLE(arm, pchan->bone) && (pchan->bone->flag & BONE_UNSELECTABLE) == 0) {
+ if (PBONE_SELECTABLE(arm, pchan->bone)) {
mul_v3_m4v3(vec, ob->obmat, pchan->pose_head);
ED_view3d_project_int(vc->ar, vec, sco1);
mul_v3_m4v3(vec, ob->obmat, pchan->pose_tail);
@@ -576,7 +576,7 @@
/* set editdata in vc */
for (ebone = arm->edbo->first; ebone; ebone = ebone->next) {
- if (EBONE_VISIBLE(arm, ebone) && (ebone->flag & BONE_UNSELECTABLE) == 0) {
+ if (EBONE_SELECTABLE(arm, ebone)) {
mul_v3_m4v3(vec, vc->obedit->obmat, ebone->head);
ED_view3d_project_short(vc->ar, vec, sco1);
mul_v3_m4v3(vec, vc->obedit->obmat, ebone->tail);
@@ -2373,7 +2373,7 @@
float vec[3];
/* skip invisible bones */
- if (PBONE_VISIBLE(arm, pchan->bone) == 0)
+ if (PBONE_SELECTABLE(arm, pchan->bone) == 0)
continue;
/* project head location to screenspace */
@@ -2444,6 +2444,9 @@
short sco1[2], sco2[2], didpoint = 0;
float vec[3];
+ if (EBONE_SELECTABLE(arm, ebone) == 0)
+ continue;
+
/* project head location to screenspace */
mul_v3_m4v3(vec, vc->obedit->obmat, ebone->head);
ED_view3d_project_short(vc->ar, vec, sco1);
More information about the Bf-blender-cvs
mailing list