diff options
Diffstat (limited to 'source/blender/editors/armature')
-rw-r--r-- | source/blender/editors/armature/SConscript | 1 | ||||
-rw-r--r-- | source/blender/editors/armature/editarmature.c | 9 | ||||
-rw-r--r-- | source/blender/editors/armature/meshlaplacian.c | 12 | ||||
-rw-r--r-- | source/blender/editors/armature/poseobject.c | 6 | ||||
-rw-r--r-- | source/blender/editors/armature/reeb.c | 12 |
5 files changed, 28 insertions, 12 deletions
diff --git a/source/blender/editors/armature/SConscript b/source/blender/editors/armature/SConscript index beabd912a20..e9694bab63f 100644 --- a/source/blender/editors/armature/SConscript +++ b/source/blender/editors/armature/SConscript @@ -5,6 +5,7 @@ sources = env.Glob('*.c') incs = '../include ../../blenlib ../../blenkernel ../../makesdna ../../imbuf ../../blenloader' incs += ' ../../windowmanager #/intern/guardedalloc #/extern/glew/include' +incs += ' ../../render/extern/include ../../bmesh' incs += ' ../../gpu ../../makesrna #/intern/opennl/extern' if env['OURPLATFORM'] == 'linux2': diff --git a/source/blender/editors/armature/editarmature.c b/source/blender/editors/armature/editarmature.c index f4e9c7c5d3e..4c639140845 100644 --- a/source/blender/editors/armature/editarmature.c +++ b/source/blender/editors/armature/editarmature.c @@ -2245,7 +2245,7 @@ typedef struct UndoArmature { ListBase lb; } UndoArmature; -static void undoBones_to_editBones(void *uarmv, void *armv) +static void undoBones_to_editBones(void *uarmv, void *armv, void *data) { UndoArmature *uarm= uarmv; bArmature *arm= armv; @@ -2278,7 +2278,7 @@ static void undoBones_to_editBones(void *uarmv, void *armv) } } -static void *editBones_to_undoBones(void *armv) +static void *editBones_to_undoBones(void *armv, void *UNUSED(obdata)) { bArmature *arm= armv; UndoArmature *uarm; @@ -4655,7 +4655,8 @@ static void envelope_bone_weighting(Object *ob, Mesh *mesh, float (*verts)[3], i /* for each vertex in the mesh */ for (i=0; i < mesh->totvert; i++) { - iflip = (dgroupflip)? mesh_get_x_mirror_vert(ob, i): 0; + /*BMESH_TODO*/ + iflip = 0; //(dgroupflip)? mesh_get_x_mirror_vert(ob, i): 0; /* for each skinnable bone */ for (j=0; j < numbones; ++j) { @@ -4848,7 +4849,7 @@ static void add_verts_to_dgroups(ReportList *reports, Scene *scene, Object *ob, } /* only generated in some cases but can call anyway */ - mesh_octree_table(ob, NULL, NULL, 'e'); + //BMESH_TODO mesh_octree_table(ob, NULL, NULL, 'e'); /* free the memory allocated */ MEM_freeN(bonelist); diff --git a/source/blender/editors/armature/meshlaplacian.c b/source/blender/editors/armature/meshlaplacian.c index b99605e65c1..2c40705b3ac 100644 --- a/source/blender/editors/armature/meshlaplacian.c +++ b/source/blender/editors/armature/meshlaplacian.c @@ -692,12 +692,16 @@ void heat_bone_weighting(Object *ob, Mesh *me, float (*verts)[3], int numsource, laplacian_system_construct_end(sys); +#if 0 /*BMESH_TODO*/ if(dgroupflip) { vertsflipped = MEM_callocN(sizeof(int)*me->totvert, "vertsflipped"); for(a=0; a<me->totvert; a++) vertsflipped[a] = mesh_get_x_mirror_vert(ob, a); } - +#else + dgroupflip = 0; +#endif + /* compute weights per bone */ for(j=0; j<numsource; j++) { if(!selected[j]) @@ -1170,8 +1174,8 @@ static int meshdeform_intersect(MeshDeformBind *mdb, MeshDeformIsect *isec) isec->labda= 1e10; - mface= mdb->cagedm->getFaceArray(mdb->cagedm); - totface= mdb->cagedm->getNumFaces(mdb->cagedm); + mface= mdb->cagedm->getTessFaceArray(mdb->cagedm); + totface= mdb->cagedm->getNumTessFaces(mdb->cagedm); add_v3_v3v3(end, isec->start, isec->vec); @@ -1860,7 +1864,7 @@ static void harmonic_coordinates_bind(Scene *UNUSED(scene), MeshDeformModifierDa static void heat_weighting_bind(Scene *scene, DerivedMesh *dm, MeshDeformModifierData *mmd, MeshDeformBind *mdb) { LaplacianSystem *sys; - MFace *mface= dm->getFaceArray(dm), *mf; + MFace *mface= dm->getTessFaceArray(dm), *mf; int totvert= dm->getNumVerts(dm); int totface= dm->getNumFaces(dm); float solution, weight; diff --git a/source/blender/editors/armature/poseobject.c b/source/blender/editors/armature/poseobject.c index 719362d82c5..4f98b4ed2eb 100644 --- a/source/blender/editors/armature/poseobject.c +++ b/source/blender/editors/armature/poseobject.c @@ -1339,9 +1339,9 @@ static int pose_group_assign_exec (bContext *C, wmOperator *op) /* add selected bones to group then */ CTX_DATA_BEGIN(C, bPoseChannel*, pchan, selected_pose_bones) { - pchan->agrp_index= pose->active_group; - done= 1; - } + pchan->agrp_index= pose->active_group; + done= 1; + } CTX_DATA_END; /* notifiers for updates */ diff --git a/source/blender/editors/armature/reeb.c b/source/blender/editors/armature/reeb.c index 04501243acb..62f9f1c0445 100644 --- a/source/blender/editors/armature/reeb.c +++ b/source/blender/editors/armature/reeb.c @@ -57,6 +57,7 @@ //#include "BIF_toolbox.h" //#include "BIF_graphics.h" +#include "BKE_mesh.h" //#include "blendef.h" @@ -3383,9 +3384,11 @@ static int iteratorStopped(void *arg) ReebGraph *BIF_ReebGraphMultiFromEditMesh(bContext *C) { + return NULL; +#if 0 Scene *scene = CTX_data_scene(C); Object *obedit = CTX_data_edit_object(C); - EditMesh *em =( (Mesh*)obedit->data)->edit_mesh; + EditMesh *em =BKE_mesh_get_editmesh(((Mesh*)obedit->data)); EdgeIndex indexed_edges; VertexData *data; ReebGraph *rg = NULL; @@ -3481,7 +3484,14 @@ ReebGraph *BIF_ReebGraphMultiFromEditMesh(bContext *C) MEM_freeN(data); + /*no need to load the editmesh back into the object, just + free it (avoids ngon conversion issues too going back the + other way)*/ + free_editMesh(em); + MEM_freeN(em); + return rg; +#endif } #if 0 |