From c6b27dd4fa02b2609a18ce3aa9c71b64e12b500d Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 1 Apr 2016 23:27:31 +1100 Subject: BMesh: improve path-select fill region w/ ngons Rewrote to work with ngons and and more complex topology, now uses separate function. Fixes T48009. --- source/blender/bmesh/tools/bmesh_path_region.h | 43 ++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 source/blender/bmesh/tools/bmesh_path_region.h (limited to 'source/blender/bmesh/tools/bmesh_path_region.h') diff --git a/source/blender/bmesh/tools/bmesh_path_region.h b/source/blender/bmesh/tools/bmesh_path_region.h new file mode 100644 index 00000000000..06e56a59fb2 --- /dev/null +++ b/source/blender/bmesh/tools/bmesh_path_region.h @@ -0,0 +1,43 @@ +/* + * ***** 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. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#ifndef __BMESH_PATH_REGION_H__ +#define __BMESH_PATH_REGION_H__ + +/** \file blender/bmesh/tools/bmesh_path_region.h + * \ingroup bmesh + */ + +struct LinkNode *BM_mesh_calc_path_region_vert( + BMesh *bm, BMElem *ele_src, BMElem *ele_dst, + bool (*test_fn)(BMVert *, void *user_data), void *user_data) +ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1, 2, 3); + +struct LinkNode *BM_mesh_calc_path_region_edge( + BMesh *bm, BMElem *ele_src, BMElem *ele_dst, + bool (*test_fn)(BMEdge *, void *user_data), void *user_data) +ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1, 2, 3); + +struct LinkNode *BM_mesh_calc_path_region_face( + BMesh *bm, BMElem *ele_src, BMElem *ele_dst, + bool (*test_fn)(BMFace *, void *user_data), void *user_data) +ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1, 2, 3); + +#endif /* __BMESH_PATH_REGION_H__ */ -- cgit v1.2.3