2c669f60e2c21a66a11852b46d4735e402ed9bde
[blender.git] / source / blender / bmesh / operators / subdivideop.h
1 #ifndef _SUBDIVIDEOP_H
2 #define _SUBDIVIDEOP_H
3
4 typedef struct subdparams {
5         int numcuts;
6         int flag;
7         float rad;
8         GHash *percenthash;
9 } subdparams;
10
11 typedef void (*subd_pattern_fill_fp)(BMesh *bm, BMFace *face, BMVert **verts, 
12                                      subdparams *params);
13
14 /*
15 note: this is a pattern-based edge subdivider.
16 it tries to match a pattern to edge selections on faces,
17 then executes functions to cut them.
18 */
19 typedef struct subdpattern {
20         int seledges[20]; //selected edges mask, for splitting
21
22         /*verts starts at the first new vert cut, not the first vert in the
23           face*/
24         subd_pattern_fill_fp connectexec;
25         int len; /*total number of verts, before any subdivision*/
26 } subdpattern;
27
28 /*generic subdivision rules:
29   
30   * two selected edges in a face should make a link
31     between them.
32
33   * one edge should do, what? make pretty topology, or just
34     split the edge only?
35 */
36
37 #endif /* _SUBDIVIDEOP_H */