Blender
V3.3
|
Go to the source code of this file.
Classes | |
struct | BMEditSelection |
Macros | |
#define | BM_elem_hide_set(bm, ele, hide) _bm_elem_hide_set(bm, &(ele)->head, hide) |
#define | BM_select_history_check(bm, ele) _bm_select_history_check(bm, &(ele)->head) |
#define | BM_select_history_remove(bm, ele) _bm_select_history_remove(bm, &(ele)->head) |
#define | BM_select_history_store_notest(bm, ele) _bm_select_history_store_notest(bm, &(ele)->head) |
#define | BM_select_history_store(bm, ele) _bm_select_history_store(bm, &(ele)->head) |
#define | BM_select_history_store_head_notest(bm, ele) _bm_select_history_store_head_notest(bm, &(ele)->head) |
#define | BM_select_history_store_head(bm, ele) _bm_select_history_store_head(bm, &(ele)->head) |
#define | BM_select_history_store_after_notest(bm, ese_ref, ele) _bm_select_history_store_after_notest(bm, ese_ref, &(ele)->head) |
#define | BM_select_history_store_after(bm, ese, ese_ref) _bm_select_history_store_after(bm, ese_ref, &(ele)->head) |
#define | BM_SELECT_HISTORY_BACKUP(bm) |
#define | BM_SELECT_HISTORY_RESTORE(bm) |
Typedefs | |
typedef struct BMEditSelection | BMEditSelection |
typedef enum eBMSelectionFlushFLags | eBMSelectionFlushFLags |
Enumerations | |
enum | eBMSelectionFlushFLags { BM_SELECT_LEN_FLUSH_RECALC_NOTHING = 0 , BM_SELECT_LEN_FLUSH_RECALC_VERT = (1 << 0) , BM_SELECT_LEN_FLUSH_RECALC_EDGE = (1 << 1) , BM_SELECT_LEN_FLUSH_RECALC_FACE = (1 << 2) , BM_SELECT_LEN_FLUSH_RECALC_ALL } |
#define BM_elem_hide_set | ( | bm, | |
ele, | |||
hide | |||
) | _bm_elem_hide_set(bm, &(ele)->head, hide) |
Definition at line 27 of file bmesh_marking.h.
Definition at line 182 of file bmesh_marking.h.
#define BM_select_history_check | ( | bm, | |
ele | |||
) | _bm_select_history_check(bm, &(ele)->head) |
Definition at line 144 of file bmesh_marking.h.
#define BM_select_history_remove | ( | bm, | |
ele | |||
) | _bm_select_history_remove(bm, &(ele)->head) |
Definition at line 145 of file bmesh_marking.h.
Definition at line 187 of file bmesh_marking.h.
#define BM_select_history_store | ( | bm, | |
ele | |||
) | _bm_select_history_store(bm, &(ele)->head) |
Definition at line 147 of file bmesh_marking.h.
#define BM_select_history_store_after | ( | bm, | |
ese, | |||
ese_ref | |||
) | _bm_select_history_store_after(bm, ese_ref, &(ele)->head) |
Definition at line 153 of file bmesh_marking.h.
#define BM_select_history_store_after_notest | ( | bm, | |
ese_ref, | |||
ele | |||
) | _bm_select_history_store_after_notest(bm, ese_ref, &(ele)->head) |
Definition at line 151 of file bmesh_marking.h.
#define BM_select_history_store_head | ( | bm, | |
ele | |||
) | _bm_select_history_store_head(bm, &(ele)->head) |
Definition at line 150 of file bmesh_marking.h.
#define BM_select_history_store_head_notest | ( | bm, | |
ele | |||
) | _bm_select_history_store_head_notest(bm, &(ele)->head) |
Definition at line 148 of file bmesh_marking.h.
#define BM_select_history_store_notest | ( | bm, | |
ele | |||
) | _bm_select_history_store_notest(bm, &(ele)->head) |
Definition at line 146 of file bmesh_marking.h.
typedef struct BMEditSelection BMEditSelection |
typedef enum eBMSelectionFlushFLags eBMSelectionFlushFLags |
Enumerator | |
---|---|
BM_SELECT_LEN_FLUSH_RECALC_NOTHING | |
BM_SELECT_LEN_FLUSH_RECALC_VERT | |
BM_SELECT_LEN_FLUSH_RECALC_EDGE | |
BM_SELECT_LEN_FLUSH_RECALC_FACE | |
BM_SELECT_LEN_FLUSH_RECALC_ALL |
Definition at line 15 of file bmesh_marking.h.
Definition at line 1464 of file bmesh_marking.c.
References 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.
Definition at line 1025 of file bmesh_marking.c.
References BLI_findptr(), bm, NULL, and BMesh::selected.
Definition at line 1030 of file bmesh_marking.c.
References BLI_findptr(), BLI_freelinkN(), bm, and BMesh::selected.
Definition at line 1052 of file bmesh_marking.c.
References bm, BM_select_history_check, and BM_select_history_store_notest.
void _bm_select_history_store_after | ( | BMesh * | bm, |
BMEditSelection * | ese_ref, | ||
BMHeader * | ele | ||
) |
Definition at line 1072 of file bmesh_marking.c.
References bm, BM_select_history_check, and BM_select_history_store_after_notest.
void _bm_select_history_store_after_notest | ( | BMesh * | bm, |
BMEditSelection * | ese_ref, | ||
BMHeader * | ele | ||
) |
Definition at line 1066 of file bmesh_marking.c.
References BLI_insertlinkafter(), bm, bm_select_history_create(), and BMesh::selected.
Definition at line 1059 of file bmesh_marking.c.
References bm, BM_select_history_check, and BM_select_history_store_head_notest.
Definition at line 1046 of file bmesh_marking.c.
References BLI_addhead(), bm, bm_select_history_create(), and BMesh::selected.
Definition at line 1040 of file bmesh_marking.c.
References BLI_addtail(), bm, bm_select_history_create(), and BMesh::selected.
Definition at line 1400 of file bmesh_marking.c.
References BLI_assert, BM_EDGE, BM_elem_flag_disable, BM_elem_flag_set, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT, e, BMLoop::f, BMVert::head, BMHeader::htype, BMLoop::radial_next, and vert_flush_hide_set().
Referenced by _bm_elem_hide_set().
Select Edge.
Changes selection state of a single edge in a mesh.
Definition at line 532 of file bmesh_marking.c.
References BLI_assert, bm, BM_EDGE, 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, BMVert::head, BMHeader::htype, SCE_SELECT_VERTEX, select(), BMesh::selectmode, BMesh::totedgesel, and v.
Referenced by _bm_elem_hide_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_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 651 of file bmesh_marking.c.
References BLI_assert, bm, BM_EDGE, BM_elem_flag_disable, BM_elem_flag_enable, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT, e, BMVert::head, BMHeader::htype, select(), and BMesh::totedgesel.
Referenced by BM_face_select_set().
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 914 of file bmesh_marking.c.
References BM_EDGE, 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_plane(), ED_object_calc_active_center_for_editmode(), transform_convert_mesh_islands_calc(), and uv_map_transform_center().
void BM_editselection_normal | ( | BMEditSelection * | ese, |
float | r_normal[3] | ||
) |
Definition at line 930 of file bmesh_marking.c.
References add_v3_v3v3(), BM_EDGE, BM_FACE, BM_VERT, BMVert::co, copy_v3_v3(), cross_v3_v3v3(), BMEditSelection::ele, BMEditSelection::htype, BMVert::no, BMFace::no, normalize_v3(), sub_v3_v3v3(), BMEdge::v1, and BMEdge::v2.
Referenced by getTransformOrientation_ex(), and 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 958 of file bmesh_marking.c.
References BM_editselection_center(), BM_VERT, cross_v3_v3v3(), BMEditSelection::ele, BMEditSelection::htype, normalize_v3(), BMEditSelection::prev, and sub_v3_v3v3().
Referenced by getTransformOrientation_ex(), and transform_convert_mesh_islands_calc().
Definition at line 812 of file bmesh_marking.c.
References BLI_assert, bm, BM_EDGE, BM_edge_select_set(), BM_FACE, BM_face_select_set(), BM_VERT, BM_vert_select_set(), BMElem::head, BMHeader::htype, and select().
Referenced by BM_elem_attrs_copy_ex(), BM_elem_select_copy(), 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(), walker_deselect_nth(), and walker_select().
Definition at line 1429 of file bmesh_marking.c.
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, 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().
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 572 of file bmesh_marking.c.
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_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_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_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(), fmap_select(), 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 673 of file bmesh_marking.c.
References BLI_assert, bm, BM_elem_flag_disable, BM_elem_flag_enable, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT, BM_FACE, BMFace::head, BMHeader::htype, select(), and BMesh::totfacesel.
Definition at line 875 of file bmesh_marking.c.
References bm, BM_EDGE, BMEditSelection::ele, BMEditSelection::htype, ListBase::last, NULL, and BMesh::selected.
Referenced by BM_mesh_region_match(), mesh_render_data_create(), and uv_shortest_path_pick_invoke().
Definition at line 901 of file bmesh_marking.c.
References bm, BMEditSelection::ele, ListBase::last, NULL, and BMesh::selected.
Referenced by deselect_nth_active(), edbm_elem_active_elem_or_face_get(), and edbm_preselect_or_active().
Definition at line 835 of file bmesh_marking.c.
References BMesh::act_face, bm, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT, BM_FACE, BM_FACES_OF_MESH, BM_ITER_MESH, BMEditSelection::ele, BMEditSelection::htype, if(), ListBase::last, NULL, BMEditSelection::prev, and BMesh::selected.
Referenced by BM_select_history_active_get(), deselect_nth_active(), ED_space_image_auto_set(), ED_uvedit_get_aspect(), EDBM_uv_active_face_get(), mesh_render_data_create(), uv_shortest_path_pick_exec(), and uv_shortest_path_pick_invoke().
Definition at line 830 of file bmesh_marking.c.
References BMesh::act_face, and bm.
Referenced by 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 888 of file bmesh_marking.c.
References bm, BM_VERT, BMEditSelection::ele, BMEditSelection::htype, ListBase::last, NULL, and BMesh::selected.
Referenced by ED_mesh_active_dvert_get_em(), edbm_fill_grid_prepare(), edbm_select_axis_exec(), getTransformOrientation_ex(), mesh_render_data_create(), and uv_shortest_path_pick_invoke().
Mode independent de-selection flush (up/down).
Definition at line 437 of file bmesh_marking.c.
References bm, BM_EDGES_OF_MESH, BM_elem_flag_disable, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT, BM_ITER_MESH, BM_select_history_validate(), e, BMLoop::f, BMLoop::radial_next, and recount_totsels().
Referenced by bpy_bmesh_select_flush(), EDBM_deselect_flush(), and EDBM_selectmode_convert().
Definition at line 804 of file bmesh_marking.c.
References bm, and bm_mesh_flag_count().
Referenced by bmo_slot_buffer_from_hflag().
Definition at line 796 of file bmesh_marking.c.
References bm, and bm_mesh_flag_count().
Referenced by bmo_slot_buffer_from_hflag().
Definition at line 1336 of file bmesh_marking.c.
References bm, 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_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(), do_lasso_select_mesh_uv(), ED_vgroup_mirror(), 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(), sculpt_face_set_delete_geometry(), sculpt_gesture_trim_normals_update(), sculpt_symmetrize_exec(), skin_fix_hole_no_good_verts(), skin_smooth_hulls(), slice_paint_mask(), smart_uv_project_calculate_project_normals(), special_aftertrans_update__mesh(), unsubdivide_build_base_mesh_from_tags(), uv_box_select_exec(), uv_circle_select_exec(), uv_select_edgering(), uv_select_faceloop(), uv_select_flush_from_tag_loop(), uv_select_more_less(), and uv_select_overlap().
void BM_mesh_elem_hflag_disable_test | ( | BMesh * | bm, |
char | htype, | ||
char | hflag, | ||
bool | respecthide, | ||
bool | overwrite, | ||
char | hflag_test | ||
) |
Definition at line 1214 of file bmesh_marking.c.
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_select_history_clear(), BM_VERT, BM_VERTS_OF_MESH, NULL, BMesh::totedgesel, BMesh::totfacesel, BMesh::totvertsel, and UNLIKELY.
Referenced by BM_mesh_elem_hflag_disable_all().
Definition at line 1345 of file bmesh_marking.c.
References bm, 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_separate_faces(), bmo_inset_region_exec(), EDBM_flag_enable_all(), EDBM_mesh_knife(), sculpt_gesture_trim_normals_update(), slice_paint_mask(), and unsubdivide_build_base_mesh_from_tags().
void BM_mesh_elem_hflag_enable_test | ( | BMesh * | bm, |
char | htype, | ||
char | hflag, | ||
bool | respecthide, | ||
bool | overwrite, | ||
char | hflag_test | ||
) |
Definition at line 1282 of file bmesh_marking.c.
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_VERT, BM_VERTS_OF_MESH, NULL, and UNLIKELY.
Referenced by BM_mesh_elem_hflag_enable_all(), edbm_delete_edgeloop_exec(), edbm_edge_rotate_selected_exec(), edbm_remove_doubles_exec(), knifeproject_exec(), mesh_separate_selected(), and uv_reveal_exec().
Mode independent selection flush (up/down).
Definition at line 469 of file bmesh_marking.c.
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, e, BMLoop::next, recount_totsels(), and BMLoop::v.
Referenced by BM_mesh_esubdivide(), bpy_bmesh_select_flush(), and EDBM_select_flush().
Definition at line 300 of file bmesh_marking.c.
References bm, BM_mesh_select_mode_clean_ex(), and BMesh::selectmode.
Referenced by EDBM_select_less().
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 240 of file bmesh_marking.c.
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_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(), and edbm_rip_invoke__edge().
Definition at line 430 of file bmesh_marking.c.
References bm, BM_mesh_select_mode_flush_ex(), BM_SELECT_LEN_FLUSH_RECALC_ALL, and BMesh::selectmode.
Referenced by BM_mesh_select_mode_set(), bmesh_edit_end(), bpy_bmesh_select_flush_mode(), edbm_rip_edge_invoke(), knifeproject_exec(), and uv_hide_exec().
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 405 of file bmesh_marking.c.
References BLI_assert, bm, bm_mesh_select_mode_flush_edge_to_face(), 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(), EDBM_selectmode_flush_ex(), mesh_circle_select(), and view3d_circle_select_recalc().
Select Mode Set
Sets the selection mode for the bmesh, updating the selection state.
Definition at line 697 of file bmesh_marking.c.
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_VERTS_OF_MESH, SCE_SELECT_EDGE, SCE_SELECT_FACE, SCE_SELECT_VERTEX, and BMesh::selectmode.
bool BM_select_history_active_get | ( | BMesh * | bm, |
struct BMEditSelection * | ese | ||
) |
Get the active mesh element (with active-face fallback).
Definition at line 1097 of file bmesh_marking.c.
References bm, BM_FACE, BM_mesh_active_face_get(), BMEditSelection::ele, BMEditSelection::htype, ListBase::last, BMEditSelection::next, NULL, BMEditSelection::prev, and BMesh::selected.
Referenced by ED_object_calc_active_center_for_editmode(), edbm_rip_invoke__vert(), getTransformOrientation_ex(), and uv_map_transform_center().
Definition at line 1080 of file bmesh_marking.c.
References BLI_freelistN(), bm, and BMesh::selected.
Referenced by BM_mesh_bm_from_me(), BM_mesh_elem_hflag_disable_test(), BM_mesh_intersect(), BM_mesh_region_match(), 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(), and edbm_vert_connect_path_exec().
Return a map from BMVert/BMEdge/BMFace -> BMEditSelection.
Definition at line 1133 of file bmesh_marking.c.
References BLI_ghash_insert(), BLI_ghash_ptr_new(), BLI_listbase_is_empty(), bm, BMEditSelection::ele, ListBase::first, map, BMEditSelection::next, NULL, and BMesh::selected.
Referenced by 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 1151 of file bmesh_marking.c.
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_VERT, BMESH_ASSERT, ListBase::first, LISTBASE_FOREACH, map, NULL, BMesh::selected, and UNLIKELY.
Referenced by bmo_weld_verts_exec().
Definition at line 1085 of file bmesh_marking.c.
References BLI_freelinkN(), bm, BM_elem_flag_test, BM_ELEM_SELECT, BMEditSelection::ele, ListBase::first, BMEditSelection::next, and BMesh::selected.
Referenced by BM_mesh_deselect_flush(), BM_mesh_select_mode_flush_ex(), bpy_bmeditselseq_validate(), ED_uvedit_select_sync_flush(), edbm_rip_invoke__edge(), uv_hide_exec(), and uv_mouse_select_multi().
Definition at line 1374 of file bmesh_marking.c.
References BLI_assert, BM_elem_flag_set, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT, BM_VERT, 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().
Select Vert.
Changes selection state of a single vertex in a mesh
Definition at line 510 of file bmesh_marking.c.
References BLI_assert, bm, BM_elem_flag_disable, BM_elem_flag_enable, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT, BM_VERT, 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(), 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_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(), 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 vgroup_select_verts().