diff options
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/blenlib/BLI_editVert.h | 191 | ||||
-rw-r--r-- | source/blender/blenlib/CMakeLists.txt | 1 | ||||
-rw-r--r-- | source/blender/editors/armature/reeb.c | 17 | ||||
-rw-r--r-- | source/blender/editors/mesh/editmesh_tools.c | 16 | ||||
-rw-r--r-- | source/blender/editors/space_view3d/view3d_select.c | 60 | ||||
-rw-r--r-- | source/blender/editors/util/crazyspace.c | 69 |
6 files changed, 12 insertions, 342 deletions
diff --git a/source/blender/blenlib/BLI_editVert.h b/source/blender/blenlib/BLI_editVert.h deleted file mode 100644 index 0f754d5fc98..00000000000 --- a/source/blender/blenlib/BLI_editVert.h +++ /dev/null @@ -1,191 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -#ifndef __BLI_EDITVERT_H__ -#define __BLI_EDITVERT_H__ - -/** \file BLI_editVert.h - * \ingroup bli - * \since March 2001 - * \author nzc - * \brief Some editing types needed in the lib (unfortunately) for - * scanfill.c - */ - -#include "DNA_customdata_types.h" -#include "DNA_mesh_types.h" - -#include "BLO_sys_types.h" // for intptr_t support - -struct DerivedMesh; - -/* note; changing this also might affect the undo copy in editmesh.c */ -typedef struct EditVert -{ - struct EditVert *next, *prev; - union { - /* some lean storage for temporary usage - * in editmesh routines - */ - struct EditVert *v; - struct EditEdge *e; - struct EditFace *f; - void *p; - intptr_t l; - float fp; - int t; - } tmp; - float no[3]; /*vertex normal */ - float co[3]; /*vertex location */ - short xs, ys; /* used to store a screenspace 2d projection of the verts */ - - /* f stores selection eg. if (eve->f & SELECT) {... - * h for hidden. if (!eve->h) {... - * f1 and f2 can be used for temp data, clear them first*/ - unsigned char f, h, f1, f2; - float bweight; - short fast; /* only 0 or 1, for editmesh_fastmalloc, do not store temp data here! */ - int hash; /* internal editmesh.c use only, don't touch! */ - int keyindex; /* original index #, for restoring key information */ - - void *data; /* custom vertex data */ -} EditVert; - -struct EditEdge; - -typedef struct HashEdge { - struct EditEdge *eed; - struct HashEdge *next; -} HashEdge; - -/* note; changing this also might affect the undo copy in editmesh.c */ -typedef struct EditEdge -{ - struct EditEdge *next, *prev; - struct EditVert *v1, *v2; - union { - /* some lean storage for temporary usage - * in editmesh routines - */ - struct EditVert *v; - struct EditEdge *e; - struct EditFace *f; - void *p; - intptr_t l; - float fp; - } tmp; - short f1, f2; /* short, f1 is (ab)used in subdiv */ - unsigned char f, h, dir, seam, sharp; - float crease; - float bweight; - short fast; /* only 0 or 1, for editmesh_fastmalloc */ - short fgoni; /* index for fgon, for search */ - HashEdge hash; - void *data; /*custom edge data*/ -} EditEdge; - -/* note; changing this also might affect the undo copy in editmesh.c */ -typedef struct EditFace -{ - struct EditFace *next, *prev; - struct EditVert *v1, *v2, *v3, *v4; - struct EditEdge *e1, *e2, *e3, *e4; - union { - /* some lean storage for temporary usage - * in editmesh routines - */ - struct EditVert *v; - struct EditEdge *e; - struct EditFace *f; - void *p; - intptr_t l; - float fp; - } tmp; - float n[3], cent[3]; - unsigned char flag; - unsigned char f, f1, h; - unsigned char fast; /* only 0 or 1, for editmesh_fastmalloc */ - unsigned char fgonf; /* flag for fgon options */ - short mat_nr; - void *data; /* custom face data */ -} EditFace; - - -/*selection types*/ -#define EDITVERT 0 -#define EDITEDGE 1 -#define EDITFACE 2 - -typedef struct EditSelection -{ - struct EditSelection *next, *prev; - short type; - void *data; -} EditSelection; - - -typedef struct EditMesh -{ - ListBase verts, edges, faces; - ListBase selected; /*EditSelections. Used to store the order in which things are selected.*/ - HashEdge *hashedgetab; - - /* this is for the editmesh_fastmalloc */ - EditVert *allverts, *curvert; - EditEdge *alledges, *curedge; - EditFace *allfaces, *curface; - /* DerivedMesh caches... note that derived cage can be equivalent - * to derived final, care should be taken on release. - */ - - /* used for keeping track of the last clicked on face - so the space image - * when using the last selected face - (EditSelection) the space image flickered too much - * - * never access this directly, use EM_set_actFace and EM_get_actFace */ - EditFace *act_face; - - /* copy from scene */ - short selectmode; - /* copy from object actcol */ - short mat_nr; - /* stats */ - int totvert, totedge, totface, totvertsel, totedgesel, totfacesel; - /* shape key being edited */ - int shapenr; - - struct DerivedMesh *derivedCage, *derivedFinal; - /* the custom data layer mask that was last used to calculate - * derivedCage and derivedFinal - */ - int lastDataMask; - - CustomData vdata, edata, fdata; - -} EditMesh; - -#endif - diff --git a/source/blender/blenlib/CMakeLists.txt b/source/blender/blenlib/CMakeLists.txt index 61fe3b560e2..d4b9bc3d2bc 100644 --- a/source/blender/blenlib/CMakeLists.txt +++ b/source/blender/blenlib/CMakeLists.txt @@ -103,7 +103,6 @@ set(SRC BLI_dynlib.h BLI_dynstr.h BLI_edgehash.h - BLI_editVert.h BLI_fileops.h BLI_fileops_types.h BLI_fnmatch.h diff --git a/source/blender/editors/armature/reeb.c b/source/blender/editors/armature/reeb.c index f5e7770a7fc..eebdeafcea9 100644 --- a/source/blender/editors/armature/reeb.c +++ b/source/blender/editors/armature/reeb.c @@ -41,7 +41,6 @@ #include "BLI_blenlib.h" #include "BLI_math.h" #include "BLI_utildefines.h" -#include "BLI_editVert.h" #include "BLI_edgehash.h" #include "BLI_ghash.h" #include "BLI_heap.h" @@ -81,15 +80,23 @@ static ReebGraph *FILTERED_RG = NULL; #define DEBUG_REEB #define DEBUG_REEB_NODE -typedef struct VertexData -{ +/* place-holders! */ +typedef struct EditEdge { + void *fake; +} EditEdge; + +typedef struct EditFace { + void *fake; +} EditFace; +/* end place-holders! */ + +typedef struct VertexData { float w; /* weight */ int i; /* index */ ReebNode *n; } VertexData; -typedef struct EdgeIndex -{ +typedef struct EdgeIndex { EditEdge **edges; int *offset; } EdgeIndex; diff --git a/source/blender/editors/mesh/editmesh_tools.c b/source/blender/editors/mesh/editmesh_tools.c index f68c40d5f8a..7eae8b4d67e 100644 --- a/source/blender/editors/mesh/editmesh_tools.c +++ b/source/blender/editors/mesh/editmesh_tools.c @@ -3640,22 +3640,6 @@ static int vergxco(const void *v1, const void *v2) return (x2->org_idx < 0) - (x1->org_idx < 0); } -#if 0 /* Unused */ -struct facesort { - uintptr_t x; - struct EditFace *efa; -}; - -static int vergface(const void *v1, const void *v2) -{ - const struct facesort *x1 = v1, *x2 = v2; - - if (x1->x > x2->x) return 1; - else if (x1->x < x2->x) return -1; - return 0; -} -#endif - static void xsortvert_flag__doSetX(void *userData, BMVert *UNUSED(eve), int x, int UNUSED(y), int index) { xvertsort *sortblock = userData; diff --git a/source/blender/editors/space_view3d/view3d_select.c b/source/blender/editors/space_view3d/view3d_select.c index 09cc6b9c7a5..d7e992e70e9 100644 --- a/source/blender/editors/space_view3d/view3d_select.c +++ b/source/blender/editors/space_view3d/view3d_select.c @@ -487,66 +487,6 @@ static void do_lasso_select_mesh(ViewContext *vc, int mcords[][2], short moves, EDBM_selectmode_flush(vc->em); } -/* BMESH_TODO */ -#if 0 -/* this is an exception in that its the only lasso that dosnt use the 3d view (uses space image view) */ -static void do_lasso_select_mesh_uv(int mcords[][2], short moves, short select) -{ - EditFace *efa; - MTFace *tf; - int screenUV[2], nverts, i, ok = 1; - rcti rect; - - BLI_lasso_boundbox(&rect, mcords, moves); - - if (draw_uvs_face_check()) { /* Face Center Sel */ - float cent[2]; - ok = 0; - for (efa = em->faces.first; efa; efa = efa->next) { - /* assume not touched */ - efa->tmp.l = 0; - tf = CustomData_em_get(&em->fdata, efa->data, CD_MTFACE); - if ((select) != (simaFaceSel_Check(efa, tf))) { - uv_center(tf->uv, cent, (void *)efa->v4); - uvco_to_areaco_noclip(cent, screenUV); - if (BLI_in_rcti(&rect, screenUV[0], screenUV[1]) && BLI_lasso_is_point_inside(mcords, moves, screenUV[0], screenUV[1])) { - efa->tmp.l = ok = 1; - } - } - } - /* (de)selects all tagged faces and deals with sticky modes */ - if (ok) - uvface_setsel__internal(select); - - } - else { /* Vert Sel*/ - for (efa = em->faces.first; efa; efa = efa->next) { - tf = CustomData_em_get(&em->fdata, efa->data, CD_MTFACE); - if (uvedit_face_visible_test(scene, ima, efa, tf)) { - nverts = efa->v4 ? 4 : 3; - for (i = 0; i < nverts; i++) { - if ((select) != (simaUVSel_Check(efa, tf, i))) { - uvco_to_areaco_noclip(tf->uv[i], screenUV); - if (BLI_in_rcti(&rect, screenUV[0], screenUV[1]) && BLI_lasso_is_point_inside(mcords, moves, screenUV[0], screenUV[1])) { - if (select) { - simaUVSel_Set(efa, tf, i); - } - else { - simaUVSel_UnSet(efa, tf, i); - } - } - } - } - } - } - } - if (ok && G.sima->flag & SI_SYNC_UVSEL) { - if (select) EM_select_flush(vc->em); - else EM_deselect_flush(vc->em); - } -} -#endif - static void do_lasso_select_curve__doSelect(void *userData, Nurb *UNUSED(nu), BPoint *bp, BezTriple *bezt, int beztindex, int x, int y) { LassoSelectUserData *data = userData; diff --git a/source/blender/editors/util/crazyspace.c b/source/blender/editors/util/crazyspace.c index 4b03c846f3e..5430a9a1c90 100644 --- a/source/blender/editors/util/crazyspace.c +++ b/source/blender/editors/util/crazyspace.c @@ -187,75 +187,6 @@ void crazyspace_set_quats_editmesh(BMEditMesh *em, float *origcos, float *mapped em->bm->elem_index_dirty |= BM_VERT; MEM_freeN(vert_table); -#if 0 - BMEditVert *eve, *prev; - BMEditFace *efa; - BMIter iter; - float *v1, *v2, *v3, *v4, *co1, *co2, *co3, *co4; - intptr_t index = 0; - - /* two abused locations in vertices */ - for (eve = em->verts.first; eve; eve = eve->next, index++) { - eve->tmp.p = NULL; - eve->prev = (EditVert *)index; - } - - /* first store two sets of tangent vectors in vertices, we derive it just from the face-edges */ - for (efa = em->faces.first; efa; efa = efa->next) { - - /* retrieve mapped coordinates */ - v1 = mappedcos + 3 * (intptr_t)(efa->v1->prev); - v2 = mappedcos + 3 * (intptr_t)(efa->v2->prev); - v3 = mappedcos + 3 * (intptr_t)(efa->v3->prev); - - co1 = (origcos) ? origcos + 3 * (intptr_t)(efa->v1->prev) : efa->v1->co; - co2 = (origcos) ? origcos + 3 * (intptr_t)(efa->v2->prev) : efa->v2->co; - co3 = (origcos) ? origcos + 3 * (intptr_t)(efa->v3->prev) : efa->v3->co; - - if (efa->v2->tmp.p == NULL && efa->v2->f1) { - set_crazy_vertex_quat(quats, co2, co3, co1, v2, v3, v1); - efa->v2->tmp.p = (void *)quats; - quats += 4; - } - - if (efa->v4) { - v4 = mappedcos + 3 * (intptr_t)(efa->v4->prev); - co4 = (origcos) ? origcos + 3 * (intptr_t)(efa->v4->prev) : efa->v4->co; - - if (efa->v1->tmp.p == NULL && efa->v1->f1) { - set_crazy_vertex_quat(quats, co1, co2, co4, v1, v2, v4); - efa->v1->tmp.p = (void *)quats; - quats += 4; - } - if (efa->v3->tmp.p == NULL && efa->v3->f1) { - set_crazy_vertex_quat(quats, co3, co4, co2, v3, v4, v2); - efa->v3->tmp.p = (void *)quats; - quats += 4; - } - if (efa->v4->tmp.p == NULL && efa->v4->f1) { - set_crazy_vertex_quat(quats, co4, co1, co3, v4, v1, v3); - efa->v4->tmp.p = (void *)quats; - quats += 4; - } - } - else { - if (efa->v1->tmp.p == NULL && efa->v1->f1) { - set_crazy_vertex_quat(quats, co1, co2, co3, v1, v2, v3); - efa->v1->tmp.p = (void *)quats; - quats += 4; - } - if (efa->v3->tmp.p == NULL && efa->v3->f1) { - set_crazy_vertex_quat(quats, co3, co1, co2, v3, v1, v2); - efa->v3->tmp.p = (void *)quats; - quats += 4; - } - } - } - - /* restore abused prev pointer */ - for (prev = NULL, eve = em->verts.first; eve; prev = eve, eve = eve->next) - eve->prev = prev; -#endif } /* BMESH_TODO - use MPolys over MFace's */ |