[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18523] branches/blender2.5/blender/source /blender: 2.5
Ton Roosendaal
ton at blender.org
Thu Jan 15 16:01:40 CET 2009
Revision: 18523
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18523
Author: ton
Date: 2009-01-15 16:01:39 +0100 (Thu, 15 Jan 2009)
Log Message:
-----------
2.5
- Depricated another bunch of globals; all the totobj,
totmesh, totvert, and so on.
- All code that needs such totals now count it themselves,
these stats were not supposed to be reliable
- Editmesh now stores and manages own totals.
- Todo: make a scene->stats that tracks notifiers.
Bugfix: selecting failed in editmesh, backbuffer stuff was
too late, already using index ranges before it was set.
Modified Paths:
--------------
branches/blender2.5/blender/source/blender/blenkernel/BKE_global.h
branches/blender2.5/blender/source/blender/blenkernel/intern/booleanops.c
branches/blender2.5/blender/source/blender/blenkernel/intern/exotic.c
branches/blender2.5/blender/source/blender/blenkernel/intern/object.c
branches/blender2.5/blender/source/blender/blenlib/BLI_editVert.h
branches/blender2.5/blender/source/blender/editors/curve/editcurve.c
branches/blender2.5/blender/source/blender/editors/include/ED_view3d.h
branches/blender2.5/blender/source/blender/editors/mesh/editmesh.c
branches/blender2.5/blender/source/blender/editors/mesh/editmesh_add.c
branches/blender2.5/blender/source/blender/editors/mesh/editmesh_lib.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/mesh/mesh_intern.h
branches/blender2.5/blender/source/blender/editors/object/object_edit.c
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_select.c
branches/blender2.5/blender/source/blender/editors/transform/transform_conversions.c
branches/blender2.5/blender/source/blender/editors/transform/transform_orientations.c
branches/blender2.5/blender/source/blender/makesdna/DNA_scene_types.h
Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_global.h
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/BKE_global.h 2009-01-15 10:55:48 UTC (rev 18522)
+++ branches/blender2.5/blender/source/blender/blenkernel/BKE_global.h 2009-01-15 15:01:39 UTC (rev 18523)
@@ -52,7 +52,6 @@
/* active pointers */
struct Main *main;
- char editModeTitleExtra[64];
/* fonts, allocated global data */
struct BMF_Font *font, *fonts, *fontss;
@@ -65,12 +64,7 @@
/* strings of recent opend files */
struct ListBase recent_files;
-
- /* totals */
- int totobj, totlamp, totobjsel, totcurve, totmesh;
- int totbone, totbonesel;
- int totvert, totedge, totface, totvertsel, totedgesel, totfacesel;
-
+
short afbreek, moving;
short background;
short winpos, displaymode; /* used to be in Render */
@@ -108,10 +102,6 @@
/* Janco's playing ground */
struct bSoundListener* listener;
- /* Test thingy for Nzc */
- int compat; /* toggle compatibility mode for edge rendering */
- int notonlysolid;/* T-> also edge-render transparent faces */
-
/* ndof device found ? */
int ndofdevice;
Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/booleanops.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/booleanops.c 2009-01-15 10:55:48 UTC (rev 18522)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/booleanops.c 2009-01-15 15:01:39 UTC (rev 18523)
@@ -268,7 +268,6 @@
// Initialize the mesh data associated with this object.
ob_new->data= add_mesh("Mesh");
- G.totmesh++;
// Finally assign the object type.
ob_new->type= OB_MESH;
Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/exotic.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/exotic.c 2009-01-15 10:55:48 UTC (rev 18522)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/exotic.c 2009-01-15 15:01:39 UTC (rev 18523)
@@ -2430,7 +2430,7 @@
if(em) {
- fprintf(fp, "%d\n", G.totvert);
+ fprintf(fp, "%d\n", em->totvert);
tot= 0;
eve= em->verts.first;
@@ -3457,7 +3457,7 @@
}
else {
*o = NULL;
- *m = add_mesh("Mesh"); G.totmesh++;
+ *m = add_mesh("Mesh");
me = *m;
ob = *o;
@@ -4650,8 +4650,6 @@
ob->dupsta= 1; ob->dupend= 100;
ob->recalc= OB_RECALC; /* needed because of weird way of adding libdata directly */
- G.totobj++;
-
ob->data= obdata;
((ID*)ob->data)->us++;
Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/object.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/object.c 2009-01-15 10:55:48 UTC (rev 18522)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/object.c 2009-01-15 15:01:39 UTC (rev 18523)
@@ -886,13 +886,13 @@
static void *add_obdata_from_type(int type)
{
switch (type) {
- case OB_MESH: G.totmesh++; return add_mesh("Mesh");
- case OB_CURVE: G.totcurve++; return add_curve("Curve", OB_CURVE);
- case OB_SURF: G.totcurve++; return add_curve("Surf", OB_SURF);
+ case OB_MESH: return add_mesh("Mesh");
+ case OB_CURVE: return add_curve("Curve", OB_CURVE);
+ case OB_SURF: return add_curve("Surf", OB_SURF);
case OB_FONT: return add_curve("Text", OB_FONT);
case OB_MBALL: return add_mball("Meta");
case OB_CAMERA: return add_camera("Camera");
- case OB_LAMP: G.totlamp++; return add_lamp("Lamp");
+ case OB_LAMP: return add_lamp("Lamp");
case OB_LATTICE: return add_lattice("Lattice");
case OB_WAVE: return add_wave();
case OB_ARMATURE: return add_armature("Armature");
@@ -929,7 +929,6 @@
Object *ob;
ob= alloc_libblock(&G.main->object, ID_OB, name);
- G.totobj++;
/* default object vars */
ob->type= type;
Modified: branches/blender2.5/blender/source/blender/blenlib/BLI_editVert.h
===================================================================
--- branches/blender2.5/blender/source/blender/blenlib/BLI_editVert.h 2009-01-15 10:55:48 UTC (rev 18522)
+++ branches/blender2.5/blender/source/blender/blenlib/BLI_editVert.h 2009-01-15 15:01:39 UTC (rev 18523)
@@ -170,6 +170,8 @@
short selectmode;
/* copy from object actcol */
short mat_nr;
+ /* stats */
+ int totvert, totedge, totface, totvertsel, totedgesel, totfacesel;
struct DerivedMesh *derivedCage, *derivedFinal;
/* the custom data layer mask that was last used to calculate
Modified: branches/blender2.5/blender/source/blender/editors/curve/editcurve.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/curve/editcurve.c 2009-01-15 10:55:48 UTC (rev 18522)
+++ branches/blender2.5/blender/source/blender/editors/curve/editcurve.c 2009-01-15 15:01:39 UTC (rev 18523)
@@ -344,7 +344,7 @@
actkey = ob_get_keyblock(obedit);
if(actkey) {
- strcpy(G.editModeTitleExtra, "(Key) ");
+ // XXX strcpy(G.editModeTitleExtra, "(Key) ");
key_to_curve(actkey, cu, editnurb);
}
}
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-15 10:55:48 UTC (rev 18522)
+++ branches/blender2.5/blender/source/blender/editors/include/ED_view3d.h 2009-01-15 15:01:39 UTC (rev 18523)
@@ -86,14 +86,17 @@
void drawcircball(int mode, float *cent, float rad, float tmat[][4]);
/* backbuffer select and draw support */
+void view3d_validate_backbuf(struct ViewContext *vc);
struct ImBuf *view3d_read_backbuf(struct ViewContext *vc, short xmin, short ymin, short xmax, short ymax);
-unsigned int view3d_sample_backbuf_rect(struct ViewContext *vc, short mval[2], int size, unsigned int min, unsigned int max, int *dist, short strict, unsigned int (*indextest)(unsigned int index));
+unsigned int view3d_sample_backbuf_rect(struct ViewContext *vc, short mval[2], int size, unsigned int min, unsigned int max, int *dist, short strict,
+ void *handle, unsigned int (*indextest)(void *handle, unsigned int index));
unsigned int view3d_sample_backbuf(struct ViewContext *vc, int x, int y);
/* 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);
+
/* XXX should move to arithb.c */
int edge_inside_circle(short centx, short centy, short rad, short x1, short y1, short x2, short y2);
Modified: branches/blender2.5/blender/source/blender/editors/mesh/editmesh.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/mesh/editmesh.c 2009-01-15 10:55:48 UTC (rev 18522)
+++ branches/blender2.5/blender/source/blender/editors/mesh/editmesh.c 2009-01-15 15:01:39 UTC (rev 18523)
@@ -125,6 +125,7 @@
eve= callocvert(em, sizeof(EditVert), 1);
BLI_addtail(&em->verts, eve);
+ em->totvert++;
if(vec) VECCOPY(eve->co, vec);
@@ -154,6 +155,8 @@
CustomData_em_free_block(&em->vdata, &eve->data);
if(eve->fast==0)
free(eve);
+
+ em->totvert--;
}
@@ -259,6 +262,7 @@
BLI_addtail(&em->edges, eed);
eed->dir= swap;
insert_hashedge(em, eed);
+ em->totedge++;
/* copy edge data:
rule is to do this with addedgelist call, before addfacelist */
@@ -276,9 +280,10 @@
void remedge(EditMesh *em, EditEdge *eed)
{
-
BLI_remlink(&em->edges, eed);
remove_hashedge(em, eed);
+
+ em->totedge--;
}
void free_editedge(EditMesh *em, EditEdge *eed)
@@ -291,7 +296,6 @@
void free_editface(EditMesh *em, EditFace *efa)
{
-
EM_remove_selection(em, efa, EDITFACE);
if (em->act_face==efa) {
@@ -301,6 +305,8 @@
CustomData_em_free_block(&em->fdata, &efa->data);
if(efa->fast==0)
free(efa);
+
+ em->totface--;
}
void free_vertlist(EditMesh *em, ListBase *edve)
@@ -316,6 +322,7 @@
eve= next;
}
edve->first= edve->last= NULL;
+ em->totvert= em->totvertsel= 0;
}
void free_edgelist(EditMesh *em, ListBase *lb)
@@ -329,6 +336,7 @@
eed= next;
}
lb->first= lb->last= NULL;
+ em->totedge= em->totedgesel= 0;
}
void free_facelist(EditMesh *em, ListBase *lb)
@@ -342,6 +350,7 @@
efa= next;
}
lb->first= lb->last= NULL;
+ em->totface= em->totfacesel= 0;
}
EditFace *addfacelist(EditMesh *em, EditVert *v1, EditVert *v2, EditVert *v3, EditVert *v4, EditFace *example, EditFace *exampleEdges)
@@ -394,7 +403,8 @@
}
BLI_addtail(&em->faces, efa);
-
+ em->totface++;
+
if(efa->v4) {
CalcNormFloat4(efa->v1->co, efa->v2->co, efa->v3->co, efa->v4->co, efa->n);
CalcCent4f(efa->cent, efa->v1->co, efa->v2->co, efa->v3->co, efa->v4->co);
@@ -562,7 +572,7 @@
mesh_octree_table(NULL, NULL, NULL, 'e');
- G.totvert= G.totface= 0;
+ em->totvert= em->totedge= em->totface= 0;
// XXX if(em->retopo_paint_data) retopo_free_paint_data(em->retopo_paint_data);
em->retopo_paint_data= NULL;
@@ -828,9 +838,9 @@
em->selectmode= scene->selectmode; // warning needs to be synced
em->act_face = NULL;
- G.totvert= tot= me->totvert;
- G.totedge= me->totedge;
- G.totface= me->totface;
+ em->totvert= tot= me->totvert;
+ em->totedge= me->totedge;
+ em->totface= me->totface;
if(tot==0) {
return;
@@ -1031,21 +1041,19 @@
/* eve->f2 : being used in vertexnormals */
edge_drawflags(em);
- G.totvert= BLI_countlist(&em->verts);
- G.totedge= BLI_countlist(&em->edges);
- G.totface= BLI_countlist(&em->faces);
+ EM_stats_update(em);
/* new Vertex block */
- if(G.totvert==0) mvert= NULL;
- else mvert= MEM_callocN(G.totvert*sizeof(MVert), "loadeditMesh vert");
+ if(em->totvert==0) mvert= NULL;
+ else mvert= MEM_callocN(em->totvert*sizeof(MVert), "loadeditMesh vert");
/* new Edge block */
- if(G.totedge==0) medge= NULL;
- else medge= MEM_callocN(G.totedge*sizeof(MEdge), "loadeditMesh edge");
+ if(em->totedge==0) medge= NULL;
+ else medge= MEM_callocN(em->totedge*sizeof(MEdge), "loadeditMesh edge");
/* new Face block */
- if(G.totface==0) mface= NULL;
- else mface= MEM_callocN(G.totface*sizeof(MFace), "loadeditMesh face");
+ if(em->totface==0) mface= NULL;
+ else mface= MEM_callocN(em->totface*sizeof(MFace), "loadeditMesh face");
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list