Blender V4.3
bmesh_callback_generic.cc
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
11#include "BLI_utildefines.h"
12
13#include "bmesh.hh"
14
16
17bool BM_elem_cb_check_hflag_ex(BMElem *ele, void *user_data)
18{
19 const uint hflag_pair = POINTER_AS_INT(user_data);
20 const char hflag_p = (hflag_pair & 0xff);
21 const char hflag_n = (hflag_pair >> 8);
22
23 return ((BM_elem_flag_test(ele, hflag_p) != 0) && (BM_elem_flag_test(ele, hflag_n) == 0));
24}
25
26bool BM_elem_cb_check_hflag_enabled(BMElem *ele, void *user_data)
27{
28 const char hflag = POINTER_AS_INT(user_data);
29
30 return (BM_elem_flag_test(ele, hflag) != 0);
31}
32
33bool BM_elem_cb_check_hflag_disabled(BMElem *ele, void *user_data)
34{
35 const char hflag = POINTER_AS_INT(user_data);
36
37 return (BM_elem_flag_test(ele, hflag) == 0);
38}
39
40bool BM_elem_cb_check_elem_not_equal(BMElem *ele, void *user_data)
41{
42 return (ele != user_data);
43}
unsigned int uint
#define POINTER_AS_INT(i)
bool BM_elem_cb_check_hflag_enabled(BMElem *ele, void *user_data)
bool BM_elem_cb_check_hflag_ex(BMElem *ele, void *user_data)
bool BM_elem_cb_check_elem_not_equal(BMElem *ele, void *user_data)
bool BM_elem_cb_check_hflag_disabled(BMElem *ele, void *user_data)
#define BM_elem_flag_test(ele, hflag)