[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18197] branches/blender2.5/blender/source /blender: 2.5
Ton Roosendaal
ton at blender.org
Wed Dec 31 18:11:43 CET 2008
Revision: 18197
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18197
Author: ton
Date: 2008-12-31 18:11:42 +0100 (Wed, 31 Dec 2008)
Log Message:
-----------
2.5
So, editmode mesh is back! :)
At the moment only TABkey works and mouse select, 1 vertex at a
time. More will follow of course.
Note for the devs:
- G.editMesh has been removed, be careful with old code.
- EditMesh now is property of Mesh itself
Although it means unlimited editmodes, for migration purposes we
better stick to 1 "obedit" per scene, which is in Context too
- G.obedit will get removed soon, so use CTX_data_edit_object(C)
Or if you can't, just scene->obedit for now
- Also removed the CTX_data_edit_mesh(), this has no meaning
anymore. EditMesh is not context senstitive anymore, only the
edit-object for time being is.
- Martin: I've already tucked some EditMesh pointer in T and
removed all G.editMesh there.
Modified Paths:
--------------
branches/blender2.5/blender/source/blender/blenkernel/BKE_DerivedMesh.h
branches/blender2.5/blender/source/blender/blenkernel/BKE_bmesh.h
branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h
branches/blender2.5/blender/source/blender/blenkernel/BKE_displist.h
branches/blender2.5/blender/source/blender/blenkernel/BKE_global.h
branches/blender2.5/blender/source/blender/blenkernel/intern/BME_conversions.c
branches/blender2.5/blender/source/blender/blenkernel/intern/DerivedMesh.c
branches/blender2.5/blender/source/blender/blenkernel/intern/anim.c
branches/blender2.5/blender/source/blender/blenkernel/intern/blender.c
branches/blender2.5/blender/source/blender/blenkernel/intern/constraint.c
branches/blender2.5/blender/source/blender/blenkernel/intern/context.c
branches/blender2.5/blender/source/blender/blenkernel/intern/exotic.c
branches/blender2.5/blender/source/blender/blenkernel/intern/mesh.c
branches/blender2.5/blender/source/blender/blenkernel/intern/modifier.c
branches/blender2.5/blender/source/blender/blenkernel/intern/multires-firstlevel.c
branches/blender2.5/blender/source/blender/blenkernel/intern/multires.c
branches/blender2.5/blender/source/blender/blenkernel/intern/object.c
branches/blender2.5/blender/source/blender/blenkernel/intern/shrinkwrap.c
branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c
branches/blender2.5/blender/source/blender/editors/include/ED_mesh.h
branches/blender2.5/blender/source/blender/editors/include/ED_util.h
branches/blender2.5/blender/source/blender/editors/mesh/editmesh.c
branches/blender2.5/blender/source/blender/editors/mesh/editmesh.h
branches/blender2.5/blender/source/blender/editors/mesh/editmesh_add.c
branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c
branches/blender2.5/blender/source/blender/editors/mesh/editmesh_tools.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/object/object_ops.c
branches/blender2.5/blender/source/blender/editors/screen/glutil.c
branches/blender2.5/blender/source/blender/editors/screen/screen_context.c
branches/blender2.5/blender/source/blender/editors/screen/screen_edit.c
branches/blender2.5/blender/source/blender/editors/space_outliner/space_outliner.c
branches/blender2.5/blender/source/blender/editors/space_view3d/drawmesh.c
branches/blender2.5/blender/source/blender/editors/space_view3d/drawobject.c
branches/blender2.5/blender/source/blender/editors/space_view3d/space_view3d.c
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_select.c
branches/blender2.5/blender/source/blender/editors/transform/transform.c
branches/blender2.5/blender/source/blender/editors/transform/transform.h
branches/blender2.5/blender/source/blender/editors/transform/transform_conversions.c
branches/blender2.5/blender/source/blender/editors/transform/transform_generics.c
branches/blender2.5/blender/source/blender/editors/transform/transform_manipulator.c
branches/blender2.5/blender/source/blender/editors/transform/transform_ops.c
branches/blender2.5/blender/source/blender/editors/transform/transform_orientations.c
branches/blender2.5/blender/source/blender/editors/util/ed_util.c
branches/blender2.5/blender/source/blender/makesdna/DNA_curve_types.h
branches/blender2.5/blender/source/blender/makesdna/DNA_mesh_types.h
branches/blender2.5/blender/source/blender/makesdna/DNA_scene_types.h
branches/blender2.5/blender/source/blender/windowmanager/WM_types.h
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_files.c
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_init_exit.c
Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_DerivedMesh.h
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/BKE_DerivedMesh.h 2008-12-31 15:02:40 UTC (rev 18196)
+++ branches/blender2.5/blender/source/blender/blenkernel/BKE_DerivedMesh.h 2008-12-31 17:11:42 UTC (rev 18197)
@@ -443,14 +443,14 @@
float (*vertCos)[3],
CustomDataMask dataMask);
-DerivedMesh *editmesh_get_derived_base(void);
-DerivedMesh *editmesh_get_derived_cage(CustomDataMask dataMask);
-DerivedMesh *editmesh_get_derived_cage_and_final(DerivedMesh **final_r,
+DerivedMesh *editmesh_get_derived_base(struct EditMesh *em);
+DerivedMesh *editmesh_get_derived_cage(struct EditMesh *em, CustomDataMask dataMask);
+DerivedMesh *editmesh_get_derived_cage_and_final(struct EditMesh *em, DerivedMesh **final_r,
CustomDataMask dataMask);
/* returns an array of deform matrices for crazyspace correction, and the
number of modifiers left */
-int editmesh_get_first_deform_matrices(float (**deformmats)[3][3],
+int editmesh_get_first_deform_matrices(struct EditMesh *em, float (**deformmats)[3][3],
float (**deformcos)[3]);
void weight_to_rgb(float input, float *fr, float *fg, float *fb);
Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_bmesh.h
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/BKE_bmesh.h 2008-12-31 15:02:40 UTC (rev 18196)
+++ branches/blender2.5/blender/source/blender/blenkernel/BKE_bmesh.h 2008-12-31 17:11:42 UTC (rev 18197)
@@ -247,7 +247,7 @@
/*CONVERSION FUNCTIONS*/
struct BME_Mesh *BME_editmesh_to_bmesh(EditMesh *em);
-struct EditMesh *BME_bmesh_to_editmesh(struct BME_Mesh *bm, BME_TransData_Head *td);
+void BME_bmesh_to_editmesh(struct BME_Mesh *bm, BME_TransData_Head *td, EditMesh *em);
struct BME_Mesh *BME_derivedmesh_to_bmesh(struct DerivedMesh *dm);
struct DerivedMesh *BME_bmesh_to_derivedmesh(struct BME_Mesh *bm, struct DerivedMesh *dm);
#endif
Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h 2008-12-31 15:02:40 UTC (rev 18196)
+++ branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h 2008-12-31 17:11:42 UTC (rev 18197)
@@ -142,10 +142,7 @@
struct Object *CTX_data_active_object(const bContext *C);
struct Base *CTX_data_active_base(const bContext *C);
-
struct Object *CTX_data_edit_object(const bContext *C);
-struct EditMesh *CTX_data_edit_mesh(const bContext *C);
-struct ListBase *CTX_data_edit_armature(const bContext *C);
/* Data Evaluation Context */
Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_displist.h
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/BKE_displist.h 2008-12-31 15:02:40 UTC (rev 18196)
+++ branches/blender2.5/blender/source/blender/blenkernel/BKE_displist.h 2008-12-31 17:11:42 UTC (rev 18197)
@@ -60,8 +60,8 @@
struct Material;
struct Bone;
struct Mesh;
+struct EditMesh;
-
/* used for curves, nurbs, mball, importing */
typedef struct DispList {
struct DispList *next, *prev;
@@ -85,7 +85,7 @@
extern void count_displist(struct ListBase *lb, int *totvert, int *totface);
extern void freedisplist(struct ListBase *lb);
extern int displist_has_faces(struct ListBase *lb);
-extern void makeDerivedMesh(struct Object *ob, CustomDataMask dataMask);
+extern void makeDerivedMesh(struct Object *ob, struct EditMesh *em, CustomDataMask dataMask);
extern void makeDispListSurf(struct Object *ob, struct ListBase *dispbase, int forRender);
extern void makeDispListCurveTypes(struct Object *ob, int forOrco);
extern void makeDispListMBall(struct Object *ob);
Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_global.h
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/BKE_global.h 2008-12-31 15:02:40 UTC (rev 18196)
+++ branches/blender2.5/blender/source/blender/blenkernel/BKE_global.h 2008-12-31 17:11:42 UTC (rev 18197)
@@ -60,7 +60,6 @@
struct Object;
struct bSoundListener;
struct BMF_Font;
-struct EditMesh;
struct BME_Glob;
typedef struct Global {
@@ -97,9 +96,6 @@
short rt;
int f;
- /* Editmode lists */
- struct EditMesh *editMesh;
-
/* Used for BMesh transformations */
struct BME_Glob *editBMesh;
Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/BME_conversions.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/BME_conversions.c 2008-12-31 15:02:40 UTC (rev 18196)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/BME_conversions.c 2008-12-31 17:11:42 UTC (rev 18197)
@@ -343,27 +343,23 @@
BME_model_end(bm);
return bm;
}
-/* adds the geometry in the bmesh to G.editMesh (does not free G.editMesh)
+/* adds the geometry in the bmesh to editMesh (does not free editMesh)
* if td != NULL, the transdata will be mapped to the EditVert's co */
-EditMesh *BME_bmesh_to_editmesh(BME_Mesh *bm, BME_TransData_Head *td) {
+void BME_bmesh_to_editmesh(BME_Mesh *bm, BME_TransData_Head *td, EditMesh *em) {
BME_Vert *v1;
BME_Edge *e;
BME_Poly *f;
BME_TransData *vtd;
- EditMesh *em;
EditVert *eve1, *eve2, *eve3, *eve4, **evlist;
EditEdge *eed;
EditFace *efa;
int totvert, len, i, numTex, numCol;
- em = G.editMesh;
+ if (em == NULL) return;
- if (em == NULL) return NULL;
-
-
CustomData_copy(&bm->vdata, &em->vdata, CD_MASK_BMESH, CD_CALLOC, 0);
CustomData_copy(&bm->edata, &em->edata, CD_MASK_BMESH, CD_CALLOC, 0);
CustomData_copy(&bm->pdata, &em->fdata, CD_MASK_BMESH, CD_CALLOC, 0);
@@ -438,9 +434,6 @@
MEM_freeN(evlist);
- //XXX countall();
-
- return em;
}
/* Adds the geometry found in dm to bm
Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/DerivedMesh.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/DerivedMesh.c 2008-12-31 15:02:40 UTC (rev 18196)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/DerivedMesh.c 2008-12-31 17:11:42 UTC (rev 18197)
@@ -629,7 +629,7 @@
if(draw) {
if (draw==2) { /* enabled with stipple */
glEnable(GL_POLYGON_STIPPLE);
- glPolygonStipple(0); //XXX stipple_quarttone);
+ glPolygonStipple(stipple_quarttone);
}
glShadeModel(drawSmooth?GL_SMOOTH:GL_FLAT);
@@ -666,7 +666,7 @@
if(draw) {
if (draw==2) { /* enabled with stipple */
glEnable(GL_POLYGON_STIPPLE);
- glPolygonStipple(0); //XXX stipple_quarttone);
+ glPolygonStipple(stipple_quarttone);
}
glShadeModel(drawSmooth?GL_SMOOTH:GL_FLAT);
@@ -2396,12 +2396,11 @@
return 1;
}
-static void editmesh_calc_modifiers(DerivedMesh **cage_r,
+static void editmesh_calc_modifiers(EditMesh *em, DerivedMesh **cage_r,
DerivedMesh **final_r,
CustomDataMask dataMask)
{
Object *ob = G.obedit;
- EditMesh *em = G.editMesh;
ModifierData *md;
float (*deformedVerts)[3] = NULL;
CustomDataMask mask;
@@ -2742,12 +2741,10 @@
}
}
-static void editmesh_build_data(CustomDataMask dataMask)
+static void editmesh_build_data(EditMesh *em, CustomDataMask dataMask)
{
float min[3], max[3];
- EditMesh *em = G.editMesh;
-
clear_mesh_caches(G.obedit);
if (em->derivedFinal) {
@@ -2763,7 +2760,7 @@
em->derivedCage = NULL;
}
- editmesh_calc_modifiers(&em->derivedCage, &em->derivedFinal, dataMask);
+ editmesh_calc_modifiers(em, &em->derivedCage, &em->derivedFinal, dataMask);
em->lastDataMask = dataMask;
INIT_MINMAX(min, max);
@@ -2778,10 +2775,10 @@
em->derivedCage->needsFree = 0;
}
-void makeDerivedMesh(Object *ob, CustomDataMask dataMask)
+void makeDerivedMesh(Object *ob, EditMesh *em, CustomDataMask dataMask)
{
- if (ob==G.obedit) {
- editmesh_build_data(dataMask);
+ if (em) {
+ editmesh_build_data(em, dataMask);
} else {
mesh_build_data(ob, dataMask);
}
@@ -2953,35 +2950,35 @@
/***/
-DerivedMesh *editmesh_get_derived_cage_and_final(DerivedMesh **final_r,
+DerivedMesh *editmesh_get_derived_cage_and_final(EditMesh *em, DerivedMesh **final_r,
CustomDataMask dataMask)
{
/* if there's no derived mesh or the last data mask used doesn't include
* the data we need, rebuild the derived mesh
*/
- if(!G.editMesh->derivedCage ||
- (G.editMesh->lastDataMask & dataMask) != dataMask)
- editmesh_build_data(dataMask);
+ if(!em->derivedCage ||
+ (em->lastDataMask & dataMask) != dataMask)
+ editmesh_build_data(em, dataMask);
- *final_r = G.editMesh->derivedFinal;
- return G.editMesh->derivedCage;
+ *final_r = em->derivedFinal;
+ return em->derivedCage;
}
-DerivedMesh *editmesh_get_derived_cage(CustomDataMask dataMask)
+DerivedMesh *editmesh_get_derived_cage(EditMesh *em, CustomDataMask dataMask)
{
/* if there's no derived mesh or the last data mask used doesn't include
* the data we need, rebuild the derived mesh
*/
- if(!G.editMesh->derivedCage ||
- (G.editMesh->lastDataMask & dataMask) != dataMask)
- editmesh_build_data(dataMask);
+ if(!em->derivedCage ||
+ (em->lastDataMask & dataMask) != dataMask)
+ editmesh_build_data(em, dataMask);
- return G.editMesh->derivedCage;
+ return em->derivedCage;
}
-DerivedMesh *editmesh_get_derived_base(void)
+DerivedMesh *editmesh_get_derived_base(EditMesh *em)
{
- return getEditMeshDerivedMesh(G.editMesh, G.obedit, NULL);
+ return getEditMeshDerivedMesh(em, G.obedit, NULL);
}
@@ -3043,10 +3040,9 @@
/* ********* crazyspace *************** */
-int editmesh_get_first_deform_matrices(float (**deformmats)[3][3], float (**deformcos)[3])
+int editmesh_get_first_deform_matrices(EditMesh *em, float (**deformmats)[3][3], float (**deformcos)[3])
{
Object *ob = G.obedit;
- EditMesh *em = G.editMesh;
ModifierData *md;
DerivedMesh *dm;
int i, a, numleft = 0, numVerts = 0;
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list