38
38
#ifndef BLI_EDITVERT_H
39
39
#define BLI_EDITVERT_H
43
/* note; changing this also might affect the undo copy in editmesh.c */
41
44
typedef struct EditVert
43
46
struct EditVert *next, *prev, *vn;
47
unsigned char f, h, f1, hash;
48
int totweight; /* __NLA */
50
unsigned char f, h, f1, f2;
51
short fast; /* only 0 or 1, for editmesh_fastmalloc */
52
short totweight; /* __NLA */
49
54
struct MDeformWeight *dw; /* __NLA */
50
int keyindex; /* lets hold on to this so that maybe we can have a hope
51
* of restoring any key information if the number/order
55
int keyindex; /* original index #, for restoring key information */
60
typedef struct HashEdge {
62
struct HashEdge *next;
65
/* note; changing this also might affect the undo copy in editmesh.c */
57
66
typedef struct EditEdge
59
68
struct EditEdge *next, *prev;
60
69
struct EditVert *v1, *v2, *vn;
70
short f1, f2; /* short, f1 is (ab)used in subdiv */
71
unsigned char f, h, dir, seam;
73
short fast; /* only 0 or 1, for editmesh_fastmalloc */
74
short fgoni; /* index for fgon, for search */
65
typedef struct EditVlak
78
/* note; changing this also might affect the undo copy in editmesh.c */
79
typedef struct EditFace
67
struct EditVlak *next, *prev;
81
struct EditFace *next, *prev;
68
82
struct EditVert *v1, *v2, *v3, *v4;
69
83
struct EditEdge *e1, *e2, *e3, *e4;
85
short xs, ys; /* selection */
71
86
struct TFace tf; /* a copy of original tface. */
72
87
unsigned char mat_nr, flag;
88
unsigned char f, f1, h, puno;
89
unsigned char fast; /* only 0 or 1, for editmesh_fastmalloc */
90
unsigned char fgonf; /* flag for fgon options */
76
93
typedef struct EditMesh
78
95
ListBase verts, edges, faces;
96
HashEdge *hashedgetab;
98
/* this is for the editmesh_fastmalloc */
99
EditVert *allverts, *curvert;
100
EditEdge *alledges, *curedge;
101
EditFace *allfaces, *curface;
103
struct DerivedMesh *derived;