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>2009-01-05 22:32:04 +0300
committerTon Roosendaal <ton@blender.org>2009-01-05 22:32:04 +0300
commit833cc9c0c8e78d94f669cf238be0cc6582ce1219 (patch)
tree2ab4a4507a27c9f2eac8f0bc12fa761502bdbfa4 /source/blender/editors/space_view3d
parent3aae2de7734e13c8e98e7dc85483d1ba8c461f50 (diff)
2.5
- Armature editmode back - Armature pose and editmode selecting with mouse back - Posemode only works with 3d window header now.
Diffstat (limited to 'source/blender/editors/space_view3d')
-rw-r--r--source/blender/editors/space_view3d/drawarmature.c2
-rw-r--r--source/blender/editors/space_view3d/view3d_header.c21
-rw-r--r--source/blender/editors/space_view3d/view3d_select.c5
3 files changed, 18 insertions, 10 deletions
diff --git a/source/blender/editors/space_view3d/drawarmature.c b/source/blender/editors/space_view3d/drawarmature.c
index 5cd7461e7ad..6f341c6a6fe 100644
--- a/source/blender/editors/space_view3d/drawarmature.c
+++ b/source/blender/editors/space_view3d/drawarmature.c
@@ -1414,7 +1414,7 @@ static void draw_pose_dofs(Object *ob)
if (bone->flag & BONE_SELECTED) {
if (bone->layer & arm->layer) {
if (pchan->ikflag & (BONE_IK_XLIMIT|BONE_IK_ZLIMIT)) {
- if (pose_channel_in_IK_chain(ob, pchan)) {
+ if (ED_pose_channel_in_IK_chain(ob, pchan)) {
float corner[4][3], posetrans[3], mat[4][4];
float phi=0.0f, theta=0.0f, scale;
int a, i;
diff --git a/source/blender/editors/space_view3d/view3d_header.c b/source/blender/editors/space_view3d/view3d_header.c
index c2aea73b2f3..ff07df36764 100644
--- a/source/blender/editors/space_view3d/view3d_header.c
+++ b/source/blender/editors/space_view3d/view3d_header.c
@@ -62,10 +62,11 @@
#include "BKE_screen.h"
#include "BKE_utildefines.h" /* for VECCOPY */
-#include "ED_screen.h"
+#include "ED_armature.h"
#include "ED_object.h"
#include "ED_mesh.h"
#include "ED_util.h"
+#include "ED_screen.h"
#include "ED_types.h"
#include "WM_api.h"
@@ -5306,7 +5307,8 @@ static void do_view3d_buttons(bContext *C, void *arg, int event)
Scene *scene= CTX_data_scene(C);
ScrArea *sa= CTX_wm_area(C);
View3D *v3d= sa->spacedata.first;
- Object *ob= OBACT;
+ Base *basact= scene->basact;
+ Object *ob= basact->object;
Object *obedit = CTX_data_edit_object(C);
EditMesh *em= NULL;
int bit, ctrl=0, shift=0; // XXX shift arg?
@@ -5367,8 +5369,9 @@ static void do_view3d_buttons(bContext *C, void *arg, int event)
v3d->flag &= ~V3D_MODE;
// XXX exit_paint_modes();
-// XXX if(ob) exit_posemode(); /* exit posemode for active object */
- if(obedit) ED_object_exit_editmode(C, EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR); /* exit editmode and undo */
+ ED_armature_exit_posemode(basact);
+ if(obedit)
+ ED_object_exit_editmode(C, EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR); /* exit editmode and undo */
}
else if (v3d->modeselect == V3D_EDITMODE_SEL) {
if(!obedit) {
@@ -5409,7 +5412,8 @@ static void do_view3d_buttons(bContext *C, void *arg, int event)
if (!(G.f & G_WEIGHTPAINT) && (ob && ob->type == OB_MESH) ) {
v3d->flag &= ~V3D_MODE;
// XXX exit_paint_modes();
- if(obedit) ED_object_exit_editmode(C, EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR); /* exit editmode and undo */
+ if(obedit)
+ ED_object_exit_editmode(C, EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR); /* exit editmode and undo */
// XXX set_wpaint();
}
@@ -5418,9 +5422,10 @@ static void do_view3d_buttons(bContext *C, void *arg, int event)
if (ob) {
v3d->flag &= ~V3D_MODE;
- if(obedit) ED_object_exit_editmode(C, EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR); /* exit editmode and undo */
-
-// XXX enter_posemode();
+ if(obedit)
+ ED_object_exit_editmode(C, EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR); /* exit editmode and undo */
+
+ ED_armature_enter_posemode(basact);
}
}
else if(v3d->modeselect == V3D_PARTICLEEDITMODE_SEL){
diff --git a/source/blender/editors/space_view3d/view3d_select.c b/source/blender/editors/space_view3d/view3d_select.c
index 88e716a0ea6..e1cc1f65c15 100644
--- a/source/blender/editors/space_view3d/view3d_select.c
+++ b/source/blender/editors/space_view3d/view3d_select.c
@@ -1060,7 +1060,7 @@ static void mouse_select(bContext *C, short *mval, short extend, short obcenter)
}
if(has_bones && basact) {
- if(0) {// XXX do_pose_selectbuffer(basact, buffer, hits) ) { /* then bone is found */
+ if(ED_do_pose_selectbuffer(scene, basact, buffer, hits, extend) ) { /* then bone is found */
/* we make the armature selected:
not-selected active object in posemode won't work well for tools */
@@ -1539,6 +1539,9 @@ static int view3d_select_invoke(bContext *C, wmOperator *op, wmEvent *event)
if(obedit) {
if(obedit->type==OB_MESH)
mouse_mesh(C, mval, extend);
+ else if(obedit->type==OB_ARMATURE)
+ mouse_armature(C, mval, extend);
+
}
else
mouse_select(C, mval, extend, 0);