|
Blender V4.5
|
#include <cstddef>#include "MEM_guardedalloc.h"#include "DNA_scene_types.h"#include "BLI_listbase.h"#include "BLI_math_vector.h"#include "BLI_task.h"#include "bmesh.hh"#include "bmesh_structure.hh"#include "bmesh_private.hh"Go to the source code of this file.
Classes | |
| struct | SelectionCountChunkData |
| struct | SelectionFlushChunkData |
Functions | |
| void | BM_mesh_select_mode_clean_ex (BMesh *bm, const short selectmode) |
| Select Mode Clean. | |
| void | BM_mesh_select_mode_clean (BMesh *bm) |
| void | BM_mesh_deselect_flush (BMesh *bm) |
| void | BM_mesh_select_flush (BMesh *bm) |
| void | BM_vert_select_set (BMesh *bm, BMVert *v, const bool select) |
| Select Vert. | |
| void | BM_edge_select_set (BMesh *bm, BMEdge *e, const bool select) |
| Select Edge. | |
| void | BM_face_select_set (BMesh *bm, BMFace *f, const bool select) |
| Select Face. | |
| void | BM_mesh_select_mode_set (BMesh *bm, int selectmode) |
| static int | bm_mesh_flag_count (BMesh *bm, const char htype, const char hflag, const bool respecthide, const bool test_for_enabled) |
| int | BM_mesh_elem_hflag_count_enabled (BMesh *bm, const char htype, const char hflag, const bool respecthide) |
| int | BM_mesh_elem_hflag_count_disabled (BMesh *bm, const char htype, const char hflag, const bool respecthide) |
| void | BM_elem_select_set (BMesh *bm, BMElem *ele, const bool select) |
| void | BM_mesh_active_face_set (BMesh *bm, BMFace *f) |
| int | BM_mesh_active_face_index_get (BMesh *bm, bool is_sloppy, bool is_selected) |
| int | BM_mesh_active_edge_index_get (BMesh *bm) |
| int | BM_mesh_active_vert_index_get (BMesh *bm) |
| BMFace * | BM_mesh_active_face_get (BMesh *bm, const bool is_sloppy, const bool is_selected) |
| BMEdge * | BM_mesh_active_edge_get (BMesh *bm) |
| BMVert * | BM_mesh_active_vert_get (BMesh *bm) |
| BMElem * | BM_mesh_active_elem_get (BMesh *bm) |
| void | BM_editselection_center (BMEditSelection *ese, float r_center[3]) |
| void | BM_editselection_normal (BMEditSelection *ese, float r_normal[3]) |
| void | BM_editselection_plane (BMEditSelection *ese, float r_plane[3]) |
| static BMEditSelection * | bm_select_history_create (BMHeader *ele) |
| bool | _bm_select_history_check (BMesh *bm, const BMHeader *ele) |
| bool | _bm_select_history_remove (BMesh *bm, BMHeader *ele) |
| void | _bm_select_history_store_notest (BMesh *bm, BMHeader *ele) |
| void | _bm_select_history_store_head_notest (BMesh *bm, BMHeader *ele) |
| void | _bm_select_history_store (BMesh *bm, BMHeader *ele) |
| void | _bm_select_history_store_head (BMesh *bm, BMHeader *ele) |
| void | _bm_select_history_store_after_notest (BMesh *bm, BMEditSelection *ese_ref, BMHeader *ele) |
| void | _bm_select_history_store_after (BMesh *bm, BMEditSelection *ese_ref, BMHeader *ele) |
| void | BM_select_history_clear (BMesh *bm) |
| void | BM_select_history_validate (BMesh *bm) |
| bool | BM_select_history_active_get (BMesh *bm, BMEditSelection *ese) |
| GHash * | BM_select_history_map_create (BMesh *bm) |
| void | BM_select_history_merge_from_targetmap (BMesh *bm, GHash *vert_map, GHash *edge_map, GHash *face_map, const bool use_chain) |
| void | BM_mesh_elem_hflag_disable_test (BMesh *bm, const char htype, const char hflag, const bool respecthide, const bool overwrite, const char hflag_test) |
| void | BM_mesh_elem_hflag_enable_test (BMesh *bm, const char htype, const char hflag, const bool respecthide, const bool overwrite, const char hflag_test) |
| void | BM_mesh_elem_hflag_disable_all (BMesh *bm, const char htype, const char hflag, const bool respecthide) |
| void | BM_mesh_elem_hflag_enable_all (BMesh *bm, const char htype, const char hflag, const bool respecthide) |
| static void | vert_flush_hide_set (BMVert *v) |
| static void | edge_flush_hide_set (BMEdge *e) |
| void | BM_vert_hide_set (BMVert *v, const bool hide) |
| void | BM_edge_hide_set (BMEdge *e, const bool hide) |
| void | BM_face_hide_set (BMFace *f, const bool hide) |
| void | _bm_elem_hide_set (BMesh *bm, BMHeader *head, const bool hide) |
Recounting total selection. | |
| static void | recount_totsels_range_vert_func (void *, MempoolIterData *iter, const TaskParallelTLS *__restrict tls) |
| static void | recount_totsels_range_edge_func (void *, MempoolIterData *iter, const TaskParallelTLS *__restrict tls) |
| static void | recount_totsels_range_face_func (void *, MempoolIterData *iter, const TaskParallelTLS *__restrict tls) |
| static void | recount_totsels_reduce (const void *__restrict, void *__restrict chunk_join, void *__restrict chunk) |
| static TaskParallelMempoolFunc | recount_totsels_get_range_func (BMIterType iter_type) |
| static int | recount_totsel (BMesh *bm, BMIterType iter_type) |
| static void | recount_totvertsel (BMesh *bm) |
| static void | recount_totedgesel (BMesh *bm) |
| static void | recount_totfacesel (BMesh *bm) |
| static void | recount_totsels (BMesh *bm) |
| static bool | recount_totsels_are_ok (BMesh *bm) |
BMesh helper functions for selection & hide flushing. | |
| static bool | bm_vert_is_edge_select_any_other (const BMVert *v, const BMEdge *e_first) |
| static bool | bm_vert_is_edge_visible_any (const BMVert *v) |
| static bool | bm_edge_is_face_select_any_other (BMLoop *l_first) |
| static bool | bm_edge_is_face_visible_any (const BMEdge *e) |
Select mode flush selection | |
| static void | bm_mesh_select_mode_flush_vert_to_edge_iter_fn (void *, MempoolIterData *iter, const TaskParallelTLS *__restrict tls) |
| static void | bm_mesh_select_mode_flush_edge_to_face_iter_fn (void *, MempoolIterData *iter, const TaskParallelTLS *__restrict tls) |
| static void | bm_mesh_select_mode_flush_reduce_fn (const void *__restrict, void *__restrict chunk_join, void *__restrict chunk) |
| static void | bm_mesh_select_mode_flush_vert_to_edge (BMesh *bm) |
| static void | bm_mesh_select_mode_flush_edge_to_face (BMesh *bm) |
| void | BM_mesh_select_mode_flush_ex (BMesh *bm, const short selectmode, eBMSelectionFlushFLags flags) |
| Select Mode Flush. | |
| void | BM_mesh_select_mode_flush (BMesh *bm) |
Non Flushing Versions Element Selection | |
| void | BM_edge_select_set_noflush (BMesh *bm, BMEdge *e, const bool select) |
| void | BM_face_select_set_noflush (BMesh *bm, BMFace *f, const bool select) |
Selection routines for bmesh structures. This is actually all old code ripped from editmesh_lib.c and slightly modified to work for bmesh's. This also means that it has some of the same problems.... something that that should be addressed eventually.
Definition in file bmesh_marking.cc.
Definition at line 1488 of file bmesh_marking.cc.
References _bm_elem_hide_set(), bm, BM_EDGE, BM_edge_hide_set(), BM_edge_select_set(), BM_FACE, BM_face_hide_set(), BM_face_select_set(), BM_VERT, BM_vert_hide_set(), BM_vert_select_set(), BMESH_ASSERT, and BMHeader::htype.
Referenced by _bm_elem_hide_set().
Definition at line 1048 of file bmesh_marking.cc.
References _bm_select_history_check(), BLI_findptr(), bm, offsetof, and BMesh::selected.
Referenced by _bm_select_history_check().
Definition at line 1053 of file bmesh_marking.cc.
References _bm_select_history_remove(), BLI_findptr(), BLI_freelinkN(), bm, offsetof, and BMesh::selected.
Referenced by _bm_select_history_remove().
Definition at line 1076 of file bmesh_marking.cc.
References _bm_select_history_store(), bm, BM_select_history_check, and BM_select_history_store_notest.
Referenced by _bm_select_history_store().
| void _bm_select_history_store_after | ( | BMesh * | bm, |
| BMEditSelection * | ese_ref, | ||
| BMHeader * | ele ) |
Definition at line 1096 of file bmesh_marking.cc.
References _bm_select_history_store_after(), bm, BM_select_history_check, and BM_select_history_store_after_notest.
Referenced by _bm_select_history_store_after().
| void _bm_select_history_store_after_notest | ( | BMesh * | bm, |
| BMEditSelection * | ese_ref, | ||
| BMHeader * | ele ) |
Definition at line 1090 of file bmesh_marking.cc.
References _bm_select_history_store_after_notest(), BLI_insertlinkafter(), bm, bm_select_history_create(), and BMesh::selected.
Referenced by _bm_select_history_store_after_notest().
Definition at line 1083 of file bmesh_marking.cc.
References _bm_select_history_store_head(), bm, BM_select_history_check, and BM_select_history_store_head_notest.
Referenced by _bm_select_history_store_head().
Definition at line 1070 of file bmesh_marking.cc.
References _bm_select_history_store_head_notest(), BLI_addhead(), bm, bm_select_history_create(), and BMesh::selected.
Referenced by _bm_select_history_store_head_notest().
Definition at line 1064 of file bmesh_marking.cc.
References _bm_select_history_store_notest(), BLI_addtail(), bm, bm_select_history_create(), and BMesh::selected.
Referenced by _bm_select_history_store_notest().
| void BM_edge_hide_set | ( | BMEdge * | e, |
| const bool | hide ) |
Definition at line 1424 of file bmesh_marking.cc.
References BLI_assert, BM_EDGE, BM_edge_hide_set(), BM_elem_flag_disable, BM_elem_flag_set, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT, e, BMLoop::f, BMLoop::radial_next, and vert_flush_hide_set().
Referenced by _bm_elem_hide_set(), and BM_edge_hide_set().
|
static |
Definition at line 197 of file bmesh_marking.cc.
References bm_edge_is_face_select_any_other(), BM_elem_flag_test, BM_ELEM_SELECT, BMLoop::f, and BMLoop::radial_next.
Referenced by bm_edge_is_face_select_any_other(), and BM_face_select_set().
|
static |
Definition at line 226 of file bmesh_marking.cc.
References bm_edge_is_face_visible_any(), BM_elem_flag_test, BM_ELEM_HIDDEN, e, BMLoop::f, and BMLoop::radial_next.
Referenced by bm_edge_is_face_visible_any(), and edge_flush_hide_set().
Select Edge.
Changes selection state of a single edge in a mesh.
Definition at line 538 of file bmesh_marking.cc.
References BLI_assert, bm, BM_EDGE, BM_edge_select_set(), BM_elem_flag_disable, BM_elem_flag_enable, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT, bm_vert_is_edge_select_any_other(), BM_vert_select_set(), e, i, SCE_SELECT_VERTEX, select, BMesh::selectmode, BMesh::totedgesel, and v.
Referenced by _bm_elem_hide_set(), BM_edge_select_set(), BM_elem_select_set(), BM_face_select_set(), bm_face_split_by_edges_island_connect(), BM_mesh_bm_from_me(), BM_mesh_select_mode_clean_ex(), BM_mesh_select_mode_set(), bm_vert_connect_select_history(), do_lasso_select_mesh__doSelectEdge_pass0(), do_lasso_select_mesh__doSelectEdge_pass1(), do_mesh_box_select__doSelectEdge_pass0(), do_mesh_box_select__doSelectEdge_pass1(), edbm_add_edge_face_exec__tricky_extend_sel(), edbm_add_edge_face_exec__tricky_finalize_sel(), edbm_backbuf_check_and_select_edges(), edbm_intersect_select(), edbm_polybuild_transform_at_cursor_invoke(), edbm_region_to_loop_exec(), edbm_rip_edge_invoke(), edbm_ripsel_deselect_helper(), edbm_select_by_pole_count_exec(), edbm_select_linked_exec(), edbm_select_linked_pick_ex(), edbm_select_loose_exec(), EDBM_select_mirrored(), edbm_select_non_manifold_exec(), EDBM_select_pick(), edbm_select_random_exec(), edbm_select_sharp_edges_exec(), EDBM_select_swap(), EDBM_selectmode_convert(), EDBM_selectmode_set(), edgering_select(), edgetag_set_cb(), knife_make_cuts(), knife_make_face_cuts(), mesh_circle_doSelectEdge(), mouse_mesh_shortest_path_edge(), similar_edge_select_exec(), uv_hide_exec(), uvedit_edge_select_disable(), and uvedit_edge_select_enable().
Definition at line 657 of file bmesh_marking.cc.
References BLI_assert, bm, BM_EDGE, BM_edge_select_set_noflush(), BM_elem_flag_disable, BM_elem_flag_enable, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT, e, select, and BMesh::totedgesel.
Referenced by BM_edge_select_set_noflush(), BM_face_select_set(), and bm_vert_collapse_edge_and_merge().
| void BM_editselection_center | ( | BMEditSelection * | ese, |
| float | r_center[3] ) |
Generic way to get data from an BMEditSelection type These functions were written to be used by the Modifier widget when in Rotate about active mode, but can be used anywhere.
Definition at line 938 of file bmesh_marking.cc.
References BM_EDGE, BM_editselection_center(), BM_FACE, BM_face_calc_center_median(), BM_VERT, BMVert::co, copy_v3_v3(), BMEditSelection::ele, BMEditSelection::htype, mid_v3_v3v3(), BMEdge::v1, and BMEdge::v2.
Referenced by BM_editselection_center(), BM_editselection_plane(), blender::ed::object::calc_active_center_for_editmode(), blender::ed::transform::transform_convert_mesh_islands_calc(), and uv_map_transform_center().
| void BM_editselection_normal | ( | BMEditSelection * | ese, |
| float | r_normal[3] ) |
Definition at line 954 of file bmesh_marking.cc.
References add_v3_v3v3(), BM_EDGE, BM_editselection_normal(), BM_FACE, BM_VERT, BMVert::co, copy_v3_v3(), cross_v3_v3v3(), BMEditSelection::ele, BMEditSelection::htype, BMFace::no, BMVert::no, normalize_v3(), sub_v3_v3v3(), BMEdge::v1, and BMEdge::v2.
Referenced by BM_editselection_normal(), blender::ed::transform::getTransformOrientation_ex(), and blender::ed::transform::transform_convert_mesh_islands_calc().
| void BM_editselection_plane | ( | BMEditSelection * | ese, |
| float | r_plane[3] ) |
Calculate a plane that is right angles to the edge/vert/faces normal also make the plane run along an axis that is related to the geometry, because this is used for the gizmos Y axis.
Definition at line 982 of file bmesh_marking.cc.
References BM_EDGE, BM_edge_is_boundary(), BM_editselection_center(), BM_editselection_plane(), BM_FACE, BM_face_calc_tangent_auto(), BM_VERT, BMVert::co, cross_v3_v3v3(), BMEditSelection::ele, BMEditSelection::htype, BMEdge::l, BMLoop::next, BMVert::no, normalize_v3(), BMEditSelection::prev, sub_v3_v3v3(), BMLoop::v, BMEdge::v1, and BMEdge::v2.
Referenced by BM_editselection_plane(), blender::ed::transform::getTransformOrientation_ex(), and blender::ed::transform::transform_convert_mesh_islands_calc().
Definition at line 818 of file bmesh_marking.cc.
References BLI_assert, bm, BM_EDGE, BM_edge_select_set(), BM_elem_select_set(), BM_FACE, BM_face_select_set(), BM_VERT, BM_vert_select_set(), BMElem::head, BMHeader::htype, and select.
Referenced by BM_elem_select_copy(), BM_elem_select_set(), BM_mesh_elem_hflag_disable_test(), BM_mesh_elem_hflag_enable_test(), BMO_slot_buffer_hflag_disable(), BMO_slot_buffer_hflag_enable(), bpy_bm_elem_hflag_set(), bpy_bm_elem_select_set(), edbm_extrude_ex(), EDBM_mesh_reveal(), edbm_select_by_attribute_exec(), walker_deselect_nth(), and walker_select().
| void BM_face_hide_set | ( | BMFace * | f, |
| const bool | hide ) |
Definition at line 1453 of file bmesh_marking.cc.
References BLI_assert, BM_elem_flag_disable, BM_elem_flag_set, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT, BM_FACE, BM_FACE_FIRST_LOOP, BM_face_hide_set(), BMLoop::e, edge_flush_hide_set(), BMFace::head, BMHeader::htype, BMLoop::next, BMLoop::v, and vert_flush_hide_set().
Referenced by _bm_elem_hide_set(), and BM_face_hide_set().
Select Face.
Changes selection state of a single face in a mesh.
Rely on BM_mesh_select_mode_flush to correct these cases.
Definition at line 578 of file bmesh_marking.cc.
References BLI_assert, bm, bm_edge_is_face_select_any_other(), BM_edge_select_set(), BM_edge_select_set_noflush(), BM_elem_flag_disable, BM_elem_flag_enable, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT, BM_FACE, BM_FACE_FIRST_LOOP, BM_face_select_set(), bm_vert_is_edge_select_any_other(), BM_vert_select_set(), BMLoop::e, BMFace::head, BMHeader::htype, BMLoop::next, SCE_SELECT_EDGE, SCE_SELECT_VERTEX, select, BMesh::selectmode, BMesh::totfacesel, and BMLoop::v.
Referenced by _bm_elem_hide_set(), BM_elem_select_set(), BM_face_select_set(), bm_face_split_by_edges(), bm_face_split_by_edges_island_connect(), BM_mesh_bm_from_me(), BM_mesh_select_mode_set(), do_lasso_select_mesh__doSelectFace(), do_mesh_box_select__doSelectFace(), edbm_add_edge_face_exec__tricky_finalize_sel(), edbm_backbuf_check_and_select_faces(), EDBM_deselect_by_material(), edbm_extrude_discrete_faces(), edbm_loop_to_region_exec(), edbm_mod_weighted_strength_exec(), edbm_polybuild_transform_at_cursor_invoke(), edbm_select_by_pole_count_exec(), edbm_select_face_by_sides_exec(), EDBM_select_interior_faces(), edbm_select_linked_exec(), edbm_select_linked_flat_faces_exec(), edbm_select_linked_pick_ex(), edbm_select_loose_exec(), EDBM_select_mirrored(), EDBM_select_pick(), edbm_select_random_exec(), edbm_select_similar_region_exec(), EDBM_select_swap(), EDBM_selectmode_convert(), EDBM_selectmode_set(), facetag_set_cb(), mesh_circle_doSelectFace(), similar_face_select_exec(), uv_hide_exec(), uvedit_edge_select_disable(), uvedit_edge_select_enable(), uvedit_face_select_disable(), uvedit_face_select_enable(), uvedit_uv_select_disable(), and uvedit_uv_select_enable().
Definition at line 679 of file bmesh_marking.cc.
References BLI_assert, bm, BM_elem_flag_disable, BM_elem_flag_enable, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT, BM_FACE, BM_face_select_set_noflush(), BMFace::head, BMHeader::htype, select, and BMesh::totfacesel.
Referenced by BM_face_select_set_noflush().
Definition at line 899 of file bmesh_marking.cc.
References bm, BM_EDGE, BM_mesh_active_edge_get(), BMEditSelection::ele, BMEditSelection::htype, ListBase::last, and BMesh::selected.
Referenced by BM_mesh_active_edge_get(), BM_mesh_active_edge_index_get(), BM_mesh_region_match(), blender::draw::mesh_render_data_create(), and uv_shortest_path_pick_invoke().
| int BM_mesh_active_edge_index_get | ( | BMesh * | bm | ) |
Definition at line 847 of file bmesh_marking.cc.
References bm, BM_elem_index_get, BM_mesh_active_edge_get(), BM_mesh_active_edge_index_get(), and e.
Referenced by BM_mesh_active_edge_index_get(), and blender::ed::geometry::get_original_geometry_eval_copy().
Definition at line 925 of file bmesh_marking.cc.
References bm, BM_mesh_active_elem_get(), BMEditSelection::ele, ListBase::last, and BMesh::selected.
Referenced by BM_mesh_active_elem_get(), deselect_nth_active(), edbm_elem_active_elem_or_face_get(), edbm_preselect_or_active(), and blender::ed::mesh::set_attribute::mesh_set_attribute_invoke().
Definition at line 859 of file bmesh_marking.cc.
References BMesh::act_face, bm, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT, BM_FACE, BM_FACES_OF_MESH, BM_ITER_MESH, BM_mesh_active_face_get(), BMEditSelection::ele, BMEditSelection::htype, ListBase::last, BMEditSelection::prev, and BMesh::selected.
Referenced by BM_mesh_active_face_get(), BM_mesh_active_face_index_get(), BM_select_history_active_get(), deselect_nth_active(), ED_space_image_auto_set(), ED_uvedit_get_aspect(), EDBM_uv_active_face_get(), blender::draw::mesh_render_data_create(), uv_shortest_path_pick_exec(), and uv_shortest_path_pick_invoke().
| int BM_mesh_active_face_index_get | ( | BMesh * | bm, |
| bool | is_sloppy, | ||
| bool | is_selected ) |
Definition at line 841 of file bmesh_marking.cc.
References bm, BM_elem_index_get, BM_mesh_active_face_get(), and BM_mesh_active_face_index_get().
Referenced by BM_mesh_active_face_index_get(), and blender::ed::geometry::get_original_geometry_eval_copy().
Definition at line 836 of file bmesh_marking.cc.
References BMesh::act_face, bm, and BM_mesh_active_face_set().
Referenced by BM_mesh_active_face_set(), EDBM_select_pick(), mouse_mesh_loop(), mouse_mesh_shortest_path_face(), mouse_mesh_uv_shortest_path_face(), and uv_mouse_select_multi().
Definition at line 912 of file bmesh_marking.cc.
References bm, BM_mesh_active_vert_get(), BM_VERT, BMEditSelection::ele, BMEditSelection::htype, ListBase::last, and BMesh::selected.
Referenced by BM_mesh_active_vert_get(), BM_mesh_active_vert_index_get(), ED_mesh_active_dvert_get_em(), edbm_fill_grid_prepare(), edbm_select_axis_exec(), blender::ed::transform::getTransformOrientation_ex(), blender::draw::mesh_render_data_create(), and uv_shortest_path_pick_invoke().
| int BM_mesh_active_vert_index_get | ( | BMesh * | bm | ) |
Definition at line 853 of file bmesh_marking.cc.
References bm, BM_elem_index_get, BM_mesh_active_vert_get(), BM_mesh_active_vert_index_get(), and v.
Referenced by BM_mesh_active_vert_index_get(), and blender::ed::geometry::get_original_geometry_eval_copy().
| void BM_mesh_deselect_flush | ( | BMesh * | bm | ) |
Mode independent de-selection flush (up/down).
Definition at line 442 of file bmesh_marking.cc.
References bm, BM_EDGES_OF_MESH, BM_elem_flag_disable, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT, BM_ITER_MESH, BM_mesh_deselect_flush(), BM_select_history_validate(), e, BMLoop::f, BMLoop::radial_next, and recount_totsels().
Referenced by BM_mesh_deselect_flush(), bpy_bmesh_select_flush(), ED_uvedit_select_sync_flush(), EDBM_deselect_flush(), EDBM_selectmode_convert(), uv_mouse_select_loop_generic_multi(), and uv_select_linked_multi().
| int BM_mesh_elem_hflag_count_disabled | ( | BMesh * | bm, |
| const char | htype, | ||
| const char | hflag, | ||
| const bool | respecthide ) |
Definition at line 810 of file bmesh_marking.cc.
References bm, BM_mesh_elem_hflag_count_disabled(), and bm_mesh_flag_count().
Referenced by BM_mesh_elem_hflag_count_disabled(), and bmo_slot_buffer_from_hflag().
| int BM_mesh_elem_hflag_count_enabled | ( | BMesh * | bm, |
| const char | htype, | ||
| const char | hflag, | ||
| const bool | respecthide ) |
Definition at line 802 of file bmesh_marking.cc.
References bm, BM_mesh_elem_hflag_count_enabled(), and bm_mesh_flag_count().
Referenced by BM_mesh_elem_hflag_count_enabled(), and bmo_slot_buffer_from_hflag().
| void BM_mesh_elem_hflag_disable_all | ( | BMesh * | bm, |
| const char | htype, | ||
| const char | hflag, | ||
| const bool | respecthide ) |
Definition at line 1360 of file bmesh_marking.cc.
References bm, BM_mesh_elem_hflag_disable_all(), and BM_mesh_elem_hflag_disable_test().
Referenced by BKE_mesh_remesh_voxel_fix_poles(), BM_mesh_bisect_plane(), BM_mesh_calc_edge_groups_as_arrays(), BM_mesh_elem_hflag_disable_all(), BM_mesh_esubdivide(), BM_mesh_intersect(), BM_mesh_region_match(), BM_mesh_wireframe(), bmo_bevel_exec(), bmo_bisect_plane_exec(), bmo_edgenet_fill_exec(), bmo_face_attribute_fill_exec(), bmo_holes_fill_exec(), bmo_inset_individual_exec(), bmo_inset_region_exec(), bmo_offset_edgeloops_exec(), bmo_split_edges_exec(), bmo_subdivide_edgering_exec(), bmo_triangulate_exec(), bmo_wireframe_exec(), bridge_loop_pair(), build_hull(), cylinder_project_exec(), blender::ed::sculpt_paint::face_set::delete_geometry(), do_lasso_select_mesh_uv(), edbm_bridge_edge_loops_for_single_editmesh(), edbm_bridge_tag_boundary_edges(), edbm_delete_edgeloop_exec(), edbm_delete_loose_exec(), EDBM_flag_disable_all(), edbm_intersect_select(), edbm_loop_to_region_exec(), edbm_offset_edgeloop_exec(), EDBM_op_call_and_selectf(), edbm_region_to_loop_exec(), edbm_select_linked_flat_faces_exec(), edbm_split_exec(), edbm_wireframe_exec(), geometry_extract_apply(), geometry_extract_tag_face_set(), geometry_extract_tag_masked_faces(), hull_merge_triangles(), knifeproject_exec(), mesh_separate_loose(), mesh_separate_material(), mesh_separate_selected(), mesh_separate_tagged(), mesh_symmetry_snap_exec(), multires_unsubdivide_prepare_original_bmesh_for_extract(), multires_unsubdivide_single_level(), multires_unsubdivide_to_basemesh(), skin_fix_hole_no_good_verts(), skin_smooth_hulls(), slice_paint_mask(), smart_uv_project_calculate_project_normals(), blender::ed::transform::special_aftertrans_update__mesh(), sphere_project_exec(), blender::ed::sculpt_paint::symmetrize_exec(), unsubdivide_build_base_mesh_from_tags(), blender::ed::sculpt_paint::trim::update_normals(), uv_box_select_exec(), uv_circle_select_exec(), uv_select_edgering(), uv_select_faceloop(), uv_select_flush_from_tag_loop(), uv_select_more_less(), uv_select_overlap(), and blender::ed::object::vgroup_mirror().
| void BM_mesh_elem_hflag_disable_test | ( | BMesh * | bm, |
| const char | htype, | ||
| const char | hflag, | ||
| const bool | respecthide, | ||
| const bool | overwrite, | ||
| const char | hflag_test ) |
Definition at line 1237 of file bmesh_marking.cc.
References BLI_assert, bm, BM_ALL_NOLOOP, BM_EDGE, BM_EDGES_OF_MESH, BM_elem_flag_disable, BM_elem_flag_enable, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT, BM_elem_select_set(), BM_FACE, BM_FACES_OF_MESH, BM_iter_new, BM_mesh_elem_hflag_disable_test(), BM_select_history_clear(), BM_VERT, BM_VERTS_OF_MESH, i, BMesh::totedgesel, BMesh::totfacesel, BMesh::totvertsel, and UNLIKELY.
Referenced by BM_mesh_elem_hflag_disable_all(), and BM_mesh_elem_hflag_disable_test().
| void BM_mesh_elem_hflag_enable_all | ( | BMesh * | bm, |
| const char | htype, | ||
| const char | hflag, | ||
| const bool | respecthide ) |
Definition at line 1369 of file bmesh_marking.cc.
References bm, BM_mesh_elem_hflag_enable_all(), and BM_mesh_elem_hflag_enable_test().
Referenced by BKE_mesh_remesh_voxel_fix_poles(), BM_mesh_calc_path_region_edge(), BM_mesh_calc_path_region_face(), BM_mesh_calc_path_uv_region_face(), BM_mesh_edgesplit(), BM_mesh_elem_hflag_enable_all(), BM_mesh_separate_faces(), bmo_inset_region_exec(), EDBM_flag_enable_all(), EDBM_mesh_knife(), slice_paint_mask(), unsubdivide_build_base_mesh_from_tags(), and blender::ed::sculpt_paint::trim::update_normals().
| void BM_mesh_elem_hflag_enable_test | ( | BMesh * | bm, |
| const char | htype, | ||
| const char | hflag, | ||
| const bool | respecthide, | ||
| const bool | overwrite, | ||
| const char | hflag_test ) |
Definition at line 1306 of file bmesh_marking.cc.
References BLI_assert, bm, BM_ALL_NOLOOP, BM_EDGE, BM_EDGES_OF_MESH, BM_elem_flag_disable, BM_elem_flag_enable, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT, BM_elem_select_set(), BM_FACE, BM_FACES_OF_MESH, BM_iter_new, BM_mesh_elem_hflag_enable_test(), BM_VERT, BM_VERTS_OF_MESH, i, and UNLIKELY.
Referenced by BM_mesh_elem_hflag_enable_all(), BM_mesh_elem_hflag_enable_test(), edbm_delete_edgeloop_exec(), edbm_edge_rotate_selected_exec(), edbm_remove_doubles_exec(), knifeproject_exec(), mesh_separate_selected(), and uv_reveal_exec().
|
static |
counts number of elements with flag enabled/disabled
Definition at line 756 of file bmesh_marking.cc.
References BLI_assert, bm, BM_ALL_NOLOOP, BM_EDGE, BM_EDGES_OF_MESH, BM_elem_flag_test, BM_elem_flag_test_bool, BM_ELEM_HIDDEN, BM_FACE, BM_FACES_OF_MESH, BM_ITER_MESH, bm_mesh_flag_count(), BM_VERT, and BM_VERTS_OF_MESH.
Referenced by BM_mesh_elem_hflag_count_disabled(), BM_mesh_elem_hflag_count_enabled(), and bm_mesh_flag_count().
| void BM_mesh_select_flush | ( | BMesh * | bm | ) |
Mode independent selection flush (up/down).
Definition at line 474 of file bmesh_marking.cc.
References bm, BM_EDGES_OF_MESH, BM_elem_flag_enable, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT, BM_FACE_FIRST_LOOP, BM_FACES_OF_MESH, BM_ITER_MESH, BM_mesh_select_flush(), e, BMLoop::next, recount_totsels(), and BMLoop::v.
Referenced by BM_mesh_esubdivide(), BM_mesh_select_flush(), bpy_bmesh_select_flush(), ED_uvedit_select_sync_flush(), EDBM_select_flush(), uv_mouse_select_loop_generic_multi(), uv_select_similar_edge_exec(), uv_select_similar_face_exec(), uv_select_similar_island_exec(), and uv_select_similar_vert_exec().
| void BM_mesh_select_mode_clean | ( | BMesh * | bm | ) |
Definition at line 302 of file bmesh_marking.cc.
References bm, BM_mesh_select_mode_clean(), BM_mesh_select_mode_clean_ex(), and BMesh::selectmode.
Referenced by BM_mesh_select_mode_clean(), and EDBM_select_less().
| void BM_mesh_select_mode_clean_ex | ( | BMesh * | bm, |
| short | selectmode ) |
Select Mode Clean.
Remove isolated selected elements when in a mode doesn't support them. eg: in edge-mode a selected vertex must be connected to a selected edge.
Definition at line 242 of file bmesh_marking.cc.
References bm, BM_edge_select_set(), BM_EDGES_OF_MESH, BM_elem_flag_disable, BM_elem_flag_test, BM_ELEM_SELECT, BM_FACE_FIRST_LOOP, BM_FACES_OF_MESH, BM_ITER_MESH, BM_mesh_select_mode_clean_ex(), BM_vert_select_set(), BM_VERTS_OF_MESH, BMLoop::e, e, BMLoop::next, SCE_SELECT_EDGE, SCE_SELECT_FACE, SCE_SELECT_VERTEX, BMesh::totedgesel, BMesh::totfacesel, BMesh::totvertsel, and v.
Referenced by BM_mesh_select_mode_clean(), BM_mesh_select_mode_clean_ex(), and edbm_rip_invoke__edge().
| void BM_mesh_select_mode_flush | ( | BMesh * | bm | ) |
Definition at line 435 of file bmesh_marking.cc.
References bm, BM_mesh_select_mode_flush(), BM_mesh_select_mode_flush_ex(), BM_SELECT_LEN_FLUSH_RECALC_ALL, and BMesh::selectmode.
Referenced by BM_mesh_select_mode_flush(), BM_mesh_select_mode_set(), bmesh_edit_end(), bpy_bmesh_select_flush_mode(), ED_uvedit_select_sync_flush(), edbm_rip_edge_invoke(), knifeproject_exec(), uv_hide_exec(), uv_mouse_select_multi(), and uv_select_linked_multi().
|
static |
Definition at line 394 of file bmesh_marking.cc.
References BLI_parallel_range_settings_defaults(), bm, BM_FACES_OF_MESH, bm_mesh_select_mode_flush_edge_to_face(), bm_mesh_select_mode_flush_edge_to_face_iter_fn(), bm_mesh_select_mode_flush_reduce_fn(), BM_THREAD_LIMIT, SelectionFlushChunkData::delta_selection_len, TaskParallelSettings::func_reduce, BMesh::totface, BMesh::totfacesel, TaskParallelSettings::use_threading, TaskParallelSettings::userdata_chunk, and TaskParallelSettings::userdata_chunk_size.
Referenced by bm_mesh_select_mode_flush_edge_to_face(), and BM_mesh_select_mode_flush_ex().
|
static |
Definition at line 336 of file bmesh_marking.cc.
References BM_elem_flag_set, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT, BM_FACE_FIRST_LOOP, bm_mesh_select_mode_flush_edge_to_face_iter_fn(), SelectionFlushChunkData::delta_selection_len, BMLoop::e, and BMLoop::next.
Referenced by bm_mesh_select_mode_flush_edge_to_face(), and bm_mesh_select_mode_flush_edge_to_face_iter_fn().
| void BM_mesh_select_mode_flush_ex | ( | BMesh * | bm, |
| short | selectmode, | ||
| eBMSelectionFlushFLags | flags ) |
Select Mode Flush.
Makes sure to flush selections 'upwards' (ie: all verts of an edge selects the edge and so on). This should only be called by system and not tool authors.
Definition at line 410 of file bmesh_marking.cc.
References BLI_assert, bm, bm_mesh_select_mode_flush_edge_to_face(), BM_mesh_select_mode_flush_ex(), bm_mesh_select_mode_flush_vert_to_edge(), BM_select_history_validate(), BM_SELECT_LEN_FLUSH_RECALC_EDGE, BM_SELECT_LEN_FLUSH_RECALC_FACE, BM_SELECT_LEN_FLUSH_RECALC_VERT, recount_totedgesel(), recount_totfacesel(), recount_totsels_are_ok(), recount_totvertsel(), SCE_SELECT_EDGE, and SCE_SELECT_VERTEX.
Referenced by BM_mesh_select_mode_flush(), BM_mesh_select_mode_flush_ex(), edbm_bevel_calc(), EDBM_selectmode_flush_ex(), mesh_circle_select(), and view3d_circle_select_recalc().
|
static |
Definition at line 369 of file bmesh_marking.cc.
References bm_mesh_select_mode_flush_reduce_fn(), and SelectionFlushChunkData::delta_selection_len.
Referenced by bm_mesh_select_mode_flush_edge_to_face(), bm_mesh_select_mode_flush_reduce_fn(), and bm_mesh_select_mode_flush_vert_to_edge().
|
static |
Definition at line 378 of file bmesh_marking.cc.
References BLI_parallel_range_settings_defaults(), bm, BM_EDGES_OF_MESH, bm_mesh_select_mode_flush_reduce_fn(), bm_mesh_select_mode_flush_vert_to_edge(), bm_mesh_select_mode_flush_vert_to_edge_iter_fn(), BM_THREAD_LIMIT, SelectionFlushChunkData::delta_selection_len, TaskParallelSettings::func_reduce, BMesh::totedge, BMesh::totedgesel, TaskParallelSettings::use_threading, TaskParallelSettings::userdata_chunk, and TaskParallelSettings::userdata_chunk_size.
Referenced by BM_mesh_select_mode_flush_ex(), and bm_mesh_select_mode_flush_vert_to_edge().
|
static |
Definition at line 315 of file bmesh_marking.cc.
References BM_elem_flag_disable, BM_elem_flag_enable, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT, bm_mesh_select_mode_flush_vert_to_edge_iter_fn(), SelectionFlushChunkData::delta_selection_len, and e.
Referenced by bm_mesh_select_mode_flush_vert_to_edge(), and bm_mesh_select_mode_flush_vert_to_edge_iter_fn().
| void BM_mesh_select_mode_set | ( | BMesh * | bm, |
| int | selectmode ) |
Select Mode Set
Sets the selection mode for the bmesh, updating the selection state.
Definition at line 703 of file bmesh_marking.cc.
References bm, BM_edge_select_set(), BM_EDGES_OF_MESH, BM_elem_flag_disable, BM_elem_flag_test, BM_ELEM_SELECT, BM_face_select_set(), BM_FACES_OF_MESH, BM_ITER_MESH, BM_mesh_select_mode_flush(), BM_mesh_select_mode_set(), BM_VERTS_OF_MESH, SCE_SELECT_EDGE, SCE_SELECT_FACE, SCE_SELECT_VERTEX, and BMesh::selectmode.
Referenced by BM_mesh_select_mode_set().
| bool BM_select_history_active_get | ( | BMesh * | bm, |
| struct BMEditSelection * | ese ) |
Get the active mesh element (with active-face fallback).
Definition at line 1121 of file bmesh_marking.cc.
References bm, BM_FACE, BM_mesh_active_face_get(), BM_select_history_active_get(), BMEditSelection::ele, BMEditSelection::htype, ListBase::last, BMEditSelection::next, BMEditSelection::prev, and BMesh::selected.
Referenced by BM_select_history_active_get(), blender::ed::object::calc_active_center_for_editmode(), edbm_rip_invoke__vert(), blender::ed::transform::getTransformOrientation_ex(), and uv_map_transform_center().
| void BM_select_history_clear | ( | BMesh * | bm | ) |
Definition at line 1104 of file bmesh_marking.cc.
References BLI_freelistN(), bm, BM_select_history_clear(), and BMesh::selected.
Referenced by BM_mesh_bm_from_me(), BM_mesh_elem_hflag_disable_test(), BM_mesh_intersect(), BM_mesh_region_match(), BM_select_history_clear(), BPy_BMEditSel_Assign(), bpy_bmeditselseq_clear(), ED_uvedit_active_edge_loop_set(), ED_uvedit_active_vert_loop_set(), edbm_add_edge_face_exec__tricky_finalize_sel(), edbm_mod_weighted_strength_exec(), edbm_rip_edge_invoke(), edbm_solidify_exec(), and edbm_vert_connect_path_exec().
|
static |
Definition at line 1038 of file bmesh_marking.cc.
References bm_select_history_create(), BMEditSelection::ele, BMEditSelection::htype, BMHeader::htype, and MEM_callocN().
Referenced by _bm_select_history_store_after_notest(), _bm_select_history_store_head_notest(), _bm_select_history_store_notest(), and bm_select_history_create().
Return a map from BMVert/BMEdge/BMFace -> BMEditSelection.
Definition at line 1157 of file bmesh_marking.cc.
References BLI_ghash_insert(), BLI_ghash_ptr_new(), BLI_listbase_is_empty(), bm, BM_select_history_map_create(), LISTBASE_FOREACH, and BMesh::selected.
Referenced by BM_select_history_map_create(), bmo_extrude_discrete_faces_exec(), and bmo_extrude_vert_indiv_exec().
| void BM_select_history_merge_from_targetmap | ( | BMesh * | bm, |
| GHash * | vert_map, | ||
| GHash * | edge_map, | ||
| GHash * | face_map, | ||
| bool | use_chain ) |
Map arguments may all be the same pointer.
Definition at line 1172 of file bmesh_marking.cc.
References _FLAG_OVERLAP, BLI_assert, BLI_freelinkN(), BLI_ghash_lookup(), bm, BM_EDGE, BM_ELEM_API_FLAG_DISABLE, BM_ELEM_API_FLAG_ENABLE, BM_ELEM_API_FLAG_TEST, BM_FACE, BM_select_history_merge_from_targetmap(), BM_VERT, BMESH_ASSERT, ListBase::first, LISTBASE_FOREACH, BMesh::selected, and UNLIKELY.
Referenced by BM_select_history_merge_from_targetmap(), and bmo_weld_verts_exec().
| void BM_select_history_validate | ( | BMesh * | bm | ) |
Definition at line 1109 of file bmesh_marking.cc.
References BLI_freelinkN(), bm, BM_elem_flag_test, BM_ELEM_SELECT, BM_select_history_validate(), BMEditSelection::ele, ListBase::first, BMEditSelection::next, and BMesh::selected.
Referenced by BM_mesh_deselect_flush(), BM_mesh_select_mode_flush_ex(), BM_select_history_validate(), bpy_bmeditselseq_validate(), ED_uvedit_select_sync_flush(), edbm_rip_invoke__edge(), uv_hide_exec(), and uv_mouse_select_multi().
| void BM_vert_hide_set | ( | BMVert * | v, |
| const bool | hide ) |
Definition at line 1398 of file bmesh_marking.cc.
References BLI_assert, BM_elem_flag_set, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT, BM_VERT, BM_vert_hide_set(), bmesh_disk_edge_next(), BMVert::e, BMLoop::f, BMVert::head, BMHeader::htype, BMEdge::l, BMLoop::radial_next, and v.
Referenced by _bm_elem_hide_set(), and BM_vert_hide_set().
Definition at line 154 of file bmesh_marking.cc.
References BM_elem_flag_test, BM_ELEM_SELECT, bm_vert_is_edge_select_any_other(), bmesh_disk_edge_next(), and v.
Referenced by BM_edge_select_set(), BM_face_select_set(), and bm_vert_is_edge_select_any_other().
|
static |
Definition at line 183 of file bmesh_marking.cc.
References BM_elem_flag_test, BM_ELEM_HIDDEN, bm_vert_is_edge_visible_any(), bmesh_disk_edge_next(), BMVert::e, and v.
Referenced by bm_vert_is_edge_visible_any(), and vert_flush_hide_set().
Select Vert.
Changes selection state of a single vertex in a mesh
Definition at line 516 of file bmesh_marking.cc.
References BLI_assert, bm, BM_elem_flag_disable, BM_elem_flag_enable, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT, BM_VERT, BM_vert_select_set(), BMVert::head, BMHeader::htype, select, BMesh::totvertsel, and v.
Referenced by _bm_elem_hide_set(), BM_edge_select_set(), BM_elem_select_set(), BM_face_select_set(), BM_mesh_bm_from_me(), BM_mesh_select_mode_clean_ex(), BM_vert_select_set(), do_lasso_select_mesh__doSelectVert(), do_mesh_box_select__doSelectVert(), edbm_add_edge_face_exec__tricky_finalize_sel(), edbm_backbuf_check_and_select_verts(), edbm_dupli_extrude_cursor_invoke(), edbm_edge_split_selected_verts(), edbm_polybuild_face_at_cursor_invoke(), edbm_polybuild_split_at_cursor_invoke(), edbm_polybuild_transform_at_cursor_invoke(), edbm_rip_edge_invoke(), edbm_rip_invoke__vert(), edbm_select_axis_exec(), edbm_select_by_pole_count_exec(), edbm_select_linked_exec(), edbm_select_linked_pick_ex(), edbm_select_loose_exec(), EDBM_select_mirrored(), edbm_select_non_manifold_exec(), EDBM_select_pick(), edbm_select_random_exec(), EDBM_select_swap(), edbm_select_ungrouped_exec(), EDBM_selectmode_convert(), EDBM_selectmode_set(), mesh_circle_doSelectVert(), ringsel_finish(), blender::ed::object::select_editbmesh_hook(), similar_vert_select_exec(), TEST(), uv_hide_exec(), uvedit_edge_select_disable(), uvedit_edge_select_enable(), uvedit_uv_select_disable(), uvedit_uv_select_enable(), verttag_set_cb(), and blender::ed::object::vgroup_select_verts().
|
static |
Hide unless any connected elements are visible. Run this after hiding a connected face.
Definition at line 1393 of file bmesh_marking.cc.
References bm_edge_is_face_visible_any(), BM_elem_flag_set, BM_ELEM_HIDDEN, e, and edge_flush_hide_set().
Referenced by BM_face_hide_set(), and edge_flush_hide_set().
|
static |
Definition at line 122 of file bmesh_marking.cc.
References bm, BM_EDGES_OF_MESH, recount_totedgesel(), recount_totsel(), and BMesh::totedgesel.
Referenced by BM_mesh_select_mode_flush_ex(), recount_totedgesel(), and recount_totsels().
|
static |
Definition at line 127 of file bmesh_marking.cc.
References bm, BM_FACES_OF_MESH, recount_totfacesel(), recount_totsel(), and BMesh::totfacesel.
Referenced by BM_mesh_select_mode_flush_ex(), recount_totfacesel(), and recount_totsels().
|
static |
Definition at line 99 of file bmesh_marking.cc.
References BLI_parallel_range_settings_defaults(), bm, TaskParallelSettings::func_reduce, TaskParallelSettings::min_iter_per_thread, recount_totsel(), recount_totsels_get_range_func(), recount_totsels_reduce(), SelectionCountChunkData::selection_len, TaskParallelSettings::userdata_chunk, and TaskParallelSettings::userdata_chunk_size.
Referenced by recount_totedgesel(), recount_totfacesel(), recount_totsel(), recount_totsels_are_ok(), and recount_totvertsel().
|
static |
Definition at line 132 of file bmesh_marking.cc.
References bm, recount_totedgesel(), recount_totfacesel(), recount_totsels(), and recount_totvertsel().
Referenced by BM_mesh_deselect_flush(), BM_mesh_select_flush(), and recount_totsels().
|
static |
Definition at line 140 of file bmesh_marking.cc.
References bm, BM_EDGES_OF_MESH, BM_FACES_OF_MESH, BM_VERTS_OF_MESH, recount_totsel(), recount_totsels_are_ok(), BMesh::totedgesel, BMesh::totfacesel, and BMesh::totvertsel.
Referenced by BM_mesh_select_mode_flush_ex(), and recount_totsels_are_ok().
|
static |
Definition at line 82 of file bmesh_marking.cc.
References BLI_assert, BM_EDGES_OF_MESH, BM_FACES_OF_MESH, BM_VERTS_OF_MESH, ELEM, recount_totsels_get_range_func(), recount_totsels_range_edge_func(), recount_totsels_range_face_func(), and recount_totsels_range_vert_func().
Referenced by recount_totsel(), and recount_totsels_get_range_func().
|
static |
Definition at line 51 of file bmesh_marking.cc.
References BM_elem_flag_test, BM_ELEM_SELECT, recount_totsels_range_edge_func(), and SelectionCountChunkData::selection_len.
Referenced by recount_totsels_get_range_func(), and recount_totsels_range_edge_func().
|
static |
Definition at line 62 of file bmesh_marking.cc.
References BM_elem_flag_test, BM_ELEM_SELECT, recount_totsels_range_face_func(), and SelectionCountChunkData::selection_len.
Referenced by recount_totsels_get_range_func(), and recount_totsels_range_face_func().
|
static |
Definition at line 40 of file bmesh_marking.cc.
References BM_elem_flag_test, BM_ELEM_SELECT, recount_totsels_range_vert_func(), and SelectionCountChunkData::selection_len.
Referenced by recount_totsels_get_range_func(), and recount_totsels_range_vert_func().
|
static |
Definition at line 73 of file bmesh_marking.cc.
References recount_totsels_reduce(), and SelectionCountChunkData::selection_len.
Referenced by recount_totsel(), and recount_totsels_reduce().
|
static |
Definition at line 117 of file bmesh_marking.cc.
References bm, BM_VERTS_OF_MESH, recount_totsel(), recount_totvertsel(), and BMesh::totvertsel.
Referenced by BM_mesh_select_mode_flush_ex(), recount_totsels(), and recount_totvertsel().
|
static |
Hide unless any connected elements are visible. Run this after hiding a connected edge or face.
Definition at line 1384 of file bmesh_marking.cc.
References BM_elem_flag_set, BM_ELEM_HIDDEN, bm_vert_is_edge_visible_any(), v, and vert_flush_hide_set().
Referenced by BM_edge_hide_set(), BM_face_hide_set(), and vert_flush_hide_set().