diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-02-28 20:47:12 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-02-28 20:47:12 +0400 |
commit | df0f0c63d32b3819bab625f72d62e1fcf6d5ced5 (patch) | |
tree | fdece62e1b06e2b7701ef0001d0440dfcba92ad4 /source/blender/bmesh/intern/bmesh_operators.h | |
parent | 22abc63f676dc7681ee8f734cbc96a7279172d24 (diff) |
bmesh: re-arrange headers
Diffstat (limited to 'source/blender/bmesh/intern/bmesh_operators.h')
-rw-r--r-- | source/blender/bmesh/intern/bmesh_operators.h | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/source/blender/bmesh/intern/bmesh_operators.h b/source/blender/bmesh/intern/bmesh_operators.h new file mode 100644 index 00000000000..fc24e1960ab --- /dev/null +++ b/source/blender/bmesh/intern/bmesh_operators.h @@ -0,0 +1,104 @@ +/* + * ***** 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. + * + * Contributor(s): Joseph Eagar. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#ifndef __BMESH_OPERATORS_H__ +#define __BMESH_OPERATORS_H__ + +/** \file blender/bmesh/intern/bmesh_operators.h + * \ingroup bmesh + */ + +/*see comments in intern/bmesh_opdefines.c for documentation of specific operators*/ + +/*--------defines/enumerations for specific operators-------*/ + +/*quad innervert values*/ +enum { + SUBD_INNERVERT, + SUBD_PATH, + SUBD_FAN, + SUBD_STRAIGHT_CUT +}; + +/* similar face selection slot values */ +enum { + SIMFACE_MATERIAL = 201, + SIMFACE_IMAGE, + SIMFACE_AREA, + SIMFACE_PERIMETER, + SIMFACE_NORMAL, + SIMFACE_COPLANAR +}; + +/* similar edge selection slot values */ +enum { + SIMEDGE_LENGTH = 101, + SIMEDGE_DIR, + SIMEDGE_FACE, + SIMEDGE_FACE_ANGLE, + SIMEDGE_CREASE, + SIMEDGE_SEAM, + SIMEDGE_SHARP +}; + +/* similar vertex selection slot values */ +enum { + SIMVERT_NORMAL = 0, + SIMVERT_FACE, + SIMVERT_VGROUP +}; + +enum { + OPUVC_AXIS_X = 1, + OPUVC_AXIS_Y +}; + +enum { + DIRECTION_CW = 1, + DIRECTION_CCW +}; + +/* vertex path selection values */ +enum { + VPATH_SELECT_EDGE_LENGTH = 0, + VPATH_SELECT_TOPOLOGICAL +}; + +extern BMOpDefine *opdefines[]; +extern int bmesh_total_ops; + +/*------specific operator helper functions-------*/ + +/* executes the duplicate operation, feeding elements of + * type flag etypeflag and header flag flag to it. note, + * to get more useful information (such as the mapping from + * original to new elements) you should run the dupe op manually.*/ +struct Object; + +#if 0 +void BMO_dupe_from_flag(BMesh *bm, int etypeflag, const char hflag); +#endif +void BM_mesh_esubdivideflag(struct Object *obedit, BMesh *bm, int flag, float smooth, + float fractal, int beauty, int numcuts, int seltype, + int cornertype, int singleedge, int gridfill, int seed); + +#endif /* __BMESH_OPERATORS_H__ */ |