[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18479] branches/blender2.5/blender/source /blender: 2.5
Ton Roosendaal
ton at blender.org
Tue Jan 13 16:18:44 CET 2009
Revision: 18479
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18479
Author: ton
Date: 2009-01-13 16:18:41 +0100 (Tue, 13 Jan 2009)
Log Message:
-----------
2.5
- restored three more C files: editlattice, editkey
and editgroup
- editmode lattice working, (mouse select works)
- accidentally removed yesterday 3d cursor drawing
- removed global editLatt entirely now.
Modified Paths:
--------------
branches/blender2.5/blender/source/blender/blenkernel/BKE_lattice.h
branches/blender2.5/blender/source/blender/blenkernel/intern/lattice.c
branches/blender2.5/blender/source/blender/editors/armature/editarmature.c
branches/blender2.5/blender/source/blender/editors/include/ED_object.h
branches/blender2.5/blender/source/blender/editors/include/ED_view3d.h
branches/blender2.5/blender/source/blender/editors/mesh/editdeform.c
branches/blender2.5/blender/source/blender/editors/mesh/editmesh.c
branches/blender2.5/blender/source/blender/editors/object/object_edit.c
branches/blender2.5/blender/source/blender/editors/object/object_intern.h
branches/blender2.5/blender/source/blender/editors/space_view3d/drawobject.c
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_draw.c
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_intern.h
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_select.c
Added Paths:
-----------
branches/blender2.5/blender/source/blender/editors/object/editgroup.c
branches/blender2.5/blender/source/blender/editors/object/editkey.c
branches/blender2.5/blender/source/blender/editors/object/editlattice.c
Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_lattice.h
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/BKE_lattice.h 2009-01-13 13:13:04 UTC (rev 18478)
+++ branches/blender2.5/blender/source/blender/blenkernel/BKE_lattice.h 2009-01-13 15:18:41 UTC (rev 18479)
@@ -38,9 +38,6 @@
struct BPoint;
struct MDeformVert;
-extern struct Lattice *editLatt;
-
-
void resizelattice(struct Lattice *lt, int u, int v, int w, struct Object *ltOb);
struct Lattice *add_lattice(char *name);
struct Lattice *copy_lattice(struct Lattice *lt);
Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/lattice.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/lattice.c 2009-01-13 13:13:04 UTC (rev 18478)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/lattice.c 2009-01-13 15:18:41 UTC (rev 18479)
@@ -73,8 +73,6 @@
//XXX #include "BIF_editdeform.h"
-Lattice *editLatt=0;
-
void calc_lat_fudu(int flag, int res, float *fu, float *du)
{
if(res==1) {
@@ -233,6 +231,11 @@
{
if(lt->def) MEM_freeN(lt->def);
if(lt->dvert) free_dverts(lt->dvert, lt->pntsu*lt->pntsv*lt->pntsw);
+ if(lt->editlatt) {
+ if(lt->def) MEM_freeN(lt->def);
+ if(lt->dvert) free_dverts(lt->dvert, lt->pntsu*lt->pntsv*lt->pntsw);
+ MEM_freeN(lt->editlatt);
+ }
}
Modified: branches/blender2.5/blender/source/blender/editors/armature/editarmature.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/armature/editarmature.c 2009-01-13 13:13:04 UTC (rev 18478)
+++ branches/blender2.5/blender/source/blender/editors/armature/editarmature.c 2009-01-13 15:18:41 UTC (rev 18479)
@@ -1134,17 +1134,14 @@
/* used by posemode as well editmode */
/* only checks scene->basact! */
-static void *get_nearest_bone (Scene *scene, short findunsel)
+static void *get_nearest_bone (bContext *C, short findunsel)
{
ViewContext vc;
rcti rect;
unsigned int buffer[MAXPICKBUF];
short hits;
- memset(&vc, 0, sizeof(ViewContext));
- vc.scene= scene;
- vc.obedit= scene->obedit;
- // XXX fill in further!
+ view3d_set_viewcontext(C, &vc);
// rect.xmin= ... mouseco!
@@ -1152,7 +1149,7 @@
hits= view3d_opengl_select(&vc, buffer, MAXPICKBUF, &rect);
if (hits>0)
- return get_bone_from_selectbuffer(scene, scene->basact, buffer, hits, findunsel);
+ return get_bone_from_selectbuffer(vc.scene, vc.scene->basact, buffer, hits, findunsel);
return NULL;
}
@@ -1346,18 +1343,16 @@
}
/* within active object context */
-void selectconnected_posearmature(Scene *scene)
+void selectconnected_posearmature(bContext *C)
{
+ Object *ob= CTX_data_edit_object(C);
Bone *bone, *curBone, *next;
- Object *ob= OBACT;
int shift= 0; // XXX
- if(!ob || !ob->pose) return;
-
if (shift)
- bone= get_nearest_bone(scene, 0);
+ bone= get_nearest_bone(C, 0);
else
- bone = get_nearest_bone(scene, 1);
+ bone = get_nearest_bone(C, 1);
if (!bone)
return;
@@ -1391,16 +1386,17 @@
/* **************** EditMode stuff ********************** */
/* called in space.c */
-void selectconnected_armature(Scene *scene, View3D *v3d, Object *obedit)
+void selectconnected_armature(bContext *C)
{
+ Object *obedit= CTX_data_edit_object(C);
bArmature *arm= obedit->data;
EditBone *bone, *curBone, *next;
int shift= 0; // XXX
if (shift)
- bone= get_nearest_bone(scene, 0);
+ bone= get_nearest_bone(C, 0);
else
- bone= get_nearest_bone(scene, 1);
+ bone= get_nearest_bone(C, 1);
if (!bone)
return;
@@ -1721,12 +1717,7 @@
EditBone *nearBone = NULL, *ebone;
int selmask;
- memset(&vc, 0, sizeof(ViewContext));
- vc.ar= CTX_wm_region(C);
- vc.scene= CTX_data_scene(C);
- vc.v3d= (View3D *)CTX_wm_space_data(C);
- vc.obact= CTX_data_active_object(C);
- vc.obedit= obedit;
+ view3d_set_viewcontext(C, &vc);
nearBone= get_nearest_editbonepoint(&vc, mval, arm->edbo, 1, &selmask);
if (nearBone) {
Modified: branches/blender2.5/blender/source/blender/editors/include/ED_object.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/include/ED_object.h 2009-01-13 13:13:04 UTC (rev 18478)
+++ branches/blender2.5/blender/source/blender/editors/include/ED_object.h 2009-01-13 15:18:41 UTC (rev 18479)
@@ -66,6 +66,12 @@
struct bConstraint *add_new_constraint (short type);
void add_constraint_to_object (struct bConstraint *con, struct Object *ob);
+/* editlattice.c */
+void mouse_lattice(struct bContext *C, short mval[2], int extend);
+/* keys */
+void insert_shapekey(struct Scene *scene, struct Object *ob);
+void delete_key(struct Scene *scene, struct Object *ob);
+
#endif /* ED_OBJECT_H */
Modified: branches/blender2.5/blender/source/blender/editors/include/ED_view3d.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/include/ED_view3d.h 2009-01-13 13:13:04 UTC (rev 18478)
+++ branches/blender2.5/blender/source/blender/editors/include/ED_view3d.h 2009-01-13 15:18:41 UTC (rev 18479)
@@ -93,6 +93,7 @@
/* select */
#define MAXPICKBUF 10000
short view3d_opengl_select(struct ViewContext *vc, unsigned int *buffer, unsigned int bufsize, rcti *input);
+void view3d_set_viewcontext(struct bContext *C, struct ViewContext *vc);
/* modes */
void ED_view3d_exit_paint_modes(struct bContext *C);
Modified: branches/blender2.5/blender/source/blender/editors/mesh/editdeform.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/mesh/editdeform.c 2009-01-13 13:13:04 UTC (rev 18478)
+++ branches/blender2.5/blender/source/blender/editors/mesh/editdeform.c 2009-01-13 15:18:41 UTC (rev 18479)
@@ -65,6 +65,17 @@
static void BIF_undo_push() {}
static void error() {}
+static Lattice *def_get_lattice(Object *ob)
+{
+ if(ob->type==OB_LATTICE) {
+ Lattice *lt= ob->data;
+ if(lt->editlatt)
+ return lt->editlatt;
+ return lt;
+ }
+ return NULL;
+}
+
/* only in editmode */
void sel_verts_defgroup (Object *obedit, int select)
{
@@ -103,14 +114,17 @@
}
break;
case OB_LATTICE:
- if(editLatt->dvert) {
+ {
+ Lattice *lt= def_get_lattice(ob);
+
+ if(lt->dvert) {
BPoint *bp;
int a, tot;
- dvert= editLatt->dvert;
+ dvert= lt->dvert;
- tot= editLatt->pntsu*editLatt->pntsv*editLatt->pntsw;
- for(a=0, bp= editLatt->def; a<tot; a++, bp++, dvert++) {
+ tot= lt->pntsu*lt->pntsv*lt->pntsw;
+ for(a=0, bp= lt->def; a<tot; a++, bp++, dvert++) {
for (i=0; i<dvert->totweight; i++){
if (dvert->dw[i].def_nr == (ob->actdef-1)) {
if(select) bp->f1 |= SELECT;
@@ -120,7 +134,8 @@
}
}
}
- }
+ }
+ }
break;
default:
@@ -392,14 +407,15 @@
dvert->dw[i].def_nr--;
}
}
- else {
+ else if(ob->type==OB_LATTICE) {
+ Lattice *lt= def_get_lattice(ob);
BPoint *bp;
- MDeformVert *dvert= editLatt->dvert;
+ MDeformVert *dvert= lt->dvert;
int a, tot;
if (dvert) {
- tot= editLatt->pntsu*editLatt->pntsv*editLatt->pntsw;
- for(a=0, bp= editLatt->def; a<tot; a++, bp++, dvert++) {
+ tot= lt->pntsu*lt->pntsv*lt->pntsw;
+ for(a=0, bp= lt->def; a<tot; a++, bp++, dvert++) {
for (i=0; i<dvert->totweight; i++){
if (dvert->dw[i].def_nr > (ob->actdef-1))
dvert->dw[i].def_nr--;
@@ -424,10 +440,11 @@
CustomData_free_layer_active(&me->vdata, CD_MDEFORMVERT, me->totvert);
me->dvert= NULL;
}
- else {
- if (editLatt->dvert) {
- MEM_freeN(editLatt->dvert);
- editLatt->dvert= NULL;
+ else if(ob->type==OB_LATTICE) {
+ Lattice *lt= def_get_lattice(ob);
+ if (lt->dvert) {
+ MEM_freeN(lt->dvert);
+ lt->dvert= NULL;
}
}
}
@@ -445,10 +462,11 @@
CustomData_free_layer_active(&me->vdata, CD_MDEFORMVERT, me->totvert);
me->dvert= NULL;
}
- else {
- if (editLatt->dvert) {
- MEM_freeN(editLatt->dvert);
- editLatt->dvert= NULL;
+ else if(ob->type==OB_LATTICE) {
+ Lattice *lt= def_get_lattice(ob);
+ if (lt->dvert) {
+ MEM_freeN(lt->dvert);
+ lt->dvert= NULL;
}
}
@@ -500,9 +518,8 @@
dvert = ((Mesh*)ob->data)->dvert + vertnum;
}
else if(ob->type==OB_LATTICE) {
- Lattice *lt= ob->data;
+ Lattice *lt= def_get_lattice(ob);
- if(lt->editlatt) lt= lt->editlatt;
if(lt->dvert)
dvert = lt->dvert + vertnum;
}
@@ -568,10 +585,8 @@
dv = ((Mesh*)ob->data)->dvert + vertnum;
}
else if(ob->type==OB_LATTICE) {
- Lattice *lt= ob->data;
+ Lattice *lt= def_get_lattice(ob);
- if(lt->editlatt) lt= lt->editlatt;
-
if(lt->dvert)
dv = lt->dvert + vertnum;
}
@@ -747,18 +762,19 @@
break;
case OB_LATTICE:
{
+ Lattice *lt= def_get_lattice(ob);
BPoint *bp;
int a, tot;
- if(editLatt->dvert==NULL)
- create_dverts(&editLatt->id);
+ if(lt->dvert==NULL)
+ create_dverts(<->id);
- tot= editLatt->pntsu*editLatt->pntsv*editLatt->pntsw;
- for(a=0, bp= editLatt->def; a<tot; a++, bp++) {
+ tot= lt->pntsu*lt->pntsv*lt->pntsw;
+ for(a=0, bp= lt->def; a<tot; a++, bp++) {
if(bp->f1 & SELECT)
add_vert_defnr (ob, ob->actdef-1, a, weight, WEIGHT_REPLACE);
}
- }
+ }
break;
default:
printf ("Assigning deformation groups to unknown object type\n");
@@ -807,10 +823,8 @@
dvert = ((Mesh*)ob->data)->dvert + vertnum;
}
else if(ob->type==OB_LATTICE) {
- Lattice *lt= ob->data;
+ Lattice *lt= def_get_lattice(ob);
- if(lt->editlatt) lt= lt->editlatt;
-
if(lt->dvert)
dvert = lt->dvert + vertnum;
}
@@ -899,16 +913,19 @@
}
break;
case OB_LATTICE:
+ {
+ Lattice *lt= def_get_lattice(ob);
- if(editLatt->dvert) {
+ if(lt->dvert) {
BPoint *bp;
- int a, tot= editLatt->pntsu*editLatt->pntsv*editLatt->pntsw;
+ int a, tot= lt->pntsu*lt->pntsv*lt->pntsw;
- for(a=0, bp= editLatt->def; a<tot; a++, bp++) {
+ for(a=0, bp= lt->def; a<tot; a++, bp++) {
if(allverts || (bp->f1 & SELECT))
remove_vert_defgroup (ob, dg, a);
}
}
+ }
break;
default:
Modified: branches/blender2.5/blender/source/blender/editors/mesh/editmesh.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/mesh/editmesh.c 2009-01-13 13:13:04 UTC (rev 18478)
+++ branches/blender2.5/blender/source/blender/editors/mesh/editmesh.c 2009-01-13 15:18:41 UTC (rev 18479)
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list