diff options
Diffstat (limited to 'source/blender/blenlib/BLI_scanfill.h')
-rw-r--r-- | source/blender/blenlib/BLI_scanfill.h | 37 |
1 files changed, 33 insertions, 4 deletions
diff --git a/source/blender/blenlib/BLI_scanfill.h b/source/blender/blenlib/BLI_scanfill.h index 890a8c8247d..6886e58ebe9 100644 --- a/source/blender/blenlib/BLI_scanfill.h +++ b/source/blender/blenlib/BLI_scanfill.h @@ -42,17 +42,46 @@ extern struct ListBase fillvertbase; extern struct ListBase filledgebase; extern struct ListBase fillfacebase; -struct EditVert; +struct ScanFillVert; #ifdef __cplusplus extern "C" { #endif +/* note; changing this also might affect the undo copy in editmesh.c */ +typedef struct ScanFillVert +{ + struct ScanFillVert *next, *prev; + union { + struct ScanFillVert *v; + void *p; + intptr_t l; + } tmp; + float co[3]; /*vertex location */ + int keyindex; /* original index #, for restoring key information */ + short poly_nr; + unsigned char f, h; +} ScanFillVert; + +typedef struct ScanFillEdge +{ + struct ScanFillEdge *next, *prev; + struct ScanFillVert *v1, *v2; + short poly_nr; + unsigned char f; +} ScanFillEdge; + +typedef struct ScanFillFace +{ + struct ScanFillFace *next, *prev; + struct ScanFillVert *v1, *v2, *v3; +} ScanFillFace; + /* scanfill.c: used in displist only... */ -struct EditVert *BLI_addfillvert(float *vec); -struct EditEdge *BLI_addfilledge(struct EditVert *v1, struct EditVert *v2); +struct ScanFillVert *BLI_addfillvert(const float vec[3]); +struct ScanFillEdge *BLI_addfilledge(struct ScanFillVert *v1, struct ScanFillVert *v2); -/* Optionally set EditEdge f to this to mark original boundary edges. +/* Optionally set ScanFillEdge f to this to mark original boundary edges. Only needed if there are internal diagonal edges pased to BLI_edgefill. */ #define FILLBOUNDARY 1 |