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>2008-12-30 16:16:14 +0300
committerTon Roosendaal <ton@blender.org>2008-12-30 16:16:14 +0300
commit25fac7b001aaa03f6341a0c04e08798a01379ca3 (patch)
tree1606ead91f45c805dd5035990ea04e75cbe87682 /source/blender/editors/space_view3d/drawobject.c
parent446492c2669773e34dc2d827648021f9115dc821 (diff)
2.5
Editmesh code cleaned and compiling/linking. A whopping 20k lines back! :) Not that it does stuff... editmode in/out has to be done, and loads of operators. Also linking/exporting editmesh calls has to be reviewed. Also: added a blender_test_break() mechanism in BKE.
Diffstat (limited to 'source/blender/editors/space_view3d/drawobject.c')
-rw-r--r--source/blender/editors/space_view3d/drawobject.c29
1 files changed, 12 insertions, 17 deletions
diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c
index 4e042d8ede5..60497d52666 100644
--- a/source/blender/editors/space_view3d/drawobject.c
+++ b/source/blender/editors/space_view3d/drawobject.c
@@ -101,6 +101,7 @@
#include "GPU_material.h"
#include "GPU_extensions.h"
+#include "ED_mesh.h"
#include "ED_types.h"
#include "ED_util.h"
@@ -126,16 +127,6 @@ static void drawcircle_size(float size);
static void draw_empty_sphere(float size);
static void draw_empty_cone(float size);
-EditVert *EM_get_vert_for_index(int x) {return 0;} // XXX
-EditEdge *EM_get_edge_for_index(int x) {return 0;} // XXX
-EditFace *EM_get_face_for_index(int x) {return 0;} // XXX
-void EM_init_index_arrays(int x, int y, int z) {} // XXX
-void EM_free_index_arrays(void) {} // XXX
-#define EM_FGON 0
-EditFace *EM_get_actFace(int x) {return NULL;} // XXX
-
-extern unsigned int em_vertoffs, em_solidoffs, em_wireoffs;
-
/* check for glsl drawing */
int draw_glsl_material(Scene *scene, Object *ob, View3D *v3d, int dt)
@@ -1219,7 +1210,8 @@ void mesh_foreachScreenVert(ARegion *ar, View3D *v3d, void (*func)(void *userDat
{
struct { void (*func)(void *userData, EditVert *eve, int x, int y, int index); void *userData; ARegion *ar; View3D *v3d; int clipVerts; float pmat[4][4], vmat[4][4]; } data;
DerivedMesh *dm = editmesh_get_derived_cage(CD_MASK_BAREMESH);
-
+ EditMesh *em= NULL; // XXX
+
data.func = func;
data.userData = userData;
data.ar= ar;
@@ -1228,7 +1220,7 @@ void mesh_foreachScreenVert(ARegion *ar, View3D *v3d, void (*func)(void *userDat
view3d_get_object_project_mat(v3d, G.obedit, data.pmat, data.vmat);
- EM_init_index_arrays(1, 0, 0);
+ EM_init_index_arrays(em, 1, 0, 0);
dm->foreachMappedVert(dm, mesh_foreachScreenVert__mapFunc, &data);
EM_free_index_arrays();
@@ -1264,6 +1256,7 @@ void mesh_foreachScreenEdge(ARegion *ar, View3D *v3d, void (*func)(void *userDat
{
struct { void (*func)(void *userData, EditEdge *eed, int x0, int y0, int x1, int y1, int index); void *userData; ARegion *ar; View3D *v3d; int clipVerts; float pmat[4][4], vmat[4][4]; } data;
DerivedMesh *dm = editmesh_get_derived_cage(CD_MASK_BAREMESH);
+ EditMesh *em= NULL; // XXX
data.func = func;
data.ar= ar;
@@ -1273,7 +1266,7 @@ void mesh_foreachScreenEdge(ARegion *ar, View3D *v3d, void (*func)(void *userDat
view3d_get_object_project_mat(v3d, G.obedit, data.pmat, data.vmat);
- EM_init_index_arrays(0, 1, 0);
+ EM_init_index_arrays(em, 0, 1, 0);
dm->foreachMappedEdge(dm, mesh_foreachScreenEdge__mapFunc, &data);
EM_free_index_arrays();
@@ -1297,6 +1290,7 @@ void mesh_foreachScreenFace(ARegion *ar, View3D *v3d, void (*func)(void *userDat
{
struct { void (*func)(void *userData, EditFace *efa, int x, int y, int index); void *userData; ARegion *ar; View3D *v3d; float pmat[4][4], vmat[4][4]; } data;
DerivedMesh *dm = editmesh_get_derived_cage(CD_MASK_BAREMESH);
+ EditMesh *em= NULL; // XXX
data.func = func;
data.ar= ar;
@@ -1305,7 +1299,7 @@ void mesh_foreachScreenFace(ARegion *ar, View3D *v3d, void (*func)(void *userDat
view3d_get_object_project_mat(v3d, G.obedit, data.pmat, data.vmat);
- EM_init_index_arrays(0, 0, 1);
+ EM_init_index_arrays(em, 0, 0, 1);
dm->foreachMappedFaceCenter(dm, mesh_foreachScreenFace__mapFunc, &data);
EM_free_index_arrays();
@@ -1965,7 +1959,7 @@ static int draw_em_fancy__setGLSLFaceOpts(void *userData, int index)
static void draw_em_fancy(Scene *scene, View3D *v3d, Object *ob, EditMesh *em, DerivedMesh *cageDM, DerivedMesh *finalDM, int dt)
{
Mesh *me = ob->data;
- EditFace *efa_act = EM_get_actFace(0); /* annoying but active faces is stored differently */
+ EditFace *efa_act = EM_get_actFace(em, 0); /* annoying but active faces is stored differently */
EditEdge *eed_act = NULL;
EditVert *eve_act = NULL;
@@ -1981,7 +1975,7 @@ static void draw_em_fancy(Scene *scene, View3D *v3d, Object *ob, EditMesh *em, D
}
}
- EM_init_index_arrays(1, 1, 1);
+ EM_init_index_arrays(em, 1, 1, 1);
if(dt>OB_WIRE) {
if(CHECK_OB_DRAWTEXTURE(v3d, dt)) {
@@ -5387,9 +5381,10 @@ void draw_object_backbufsel(Scene *scene, View3D *v3d, Object *ob)
switch( ob->type) {
case OB_MESH:
if(ob==G.obedit) {
+ EditMesh *em= NULL; // XXX
DerivedMesh *dm = editmesh_get_derived_cage(CD_MASK_BAREMESH);
- EM_init_index_arrays(1, 1, 1);
+ EM_init_index_arrays(em, 1, 1, 1);
em_solidoffs= bbs_mesh_solid_EM(scene, v3d, dm, scene->selectmode & SCE_SELECT_FACE);