|
Blender V5.0
|
Go to the source code of this file.
Classes | |
| class | blender::ed::uv::UVSyncSelectFromMesh |
| struct | FaceIsland |
Namespaces | |
| namespace | blender |
| namespace | blender::ed |
| namespace | blender::ed::uv |
| int bm_mesh_calc_uv_islands | ( | const Scene * | scene, |
| BMesh * | bm, | ||
| ListBase * | island_list, | ||
| const bool | only_selected_faces, | ||
| const bool | only_selected_uvs, | ||
| const bool | use_seams, | ||
| const float | aspect_y, | ||
| const BMUVOffsets & | offsets ) |
Calculate islands and add them to island_list returning the number of items added.
Definition at line 109 of file uvedit_islands.cc.
References FaceIsland::aspect_y, BLI_addtail(), BLI_assert, bm, BM_EDGE, BM_elem_flag_set, BM_ELEM_TAG, BM_FACE, BM_face_at_index(), BM_FACES_OF_MESH, BM_ITER_MESH, bm_loop_uv_shared_edge_check(), BM_mesh_calc_face_groups(), BM_mesh_elem_table_ensure(), FaceIsland::faces, faces, FaceIsland::faces_len, i, MEM_callocN(), MEM_freeN(), MEM_malloc_arrayN(), FaceIsland::offsets, SharedUVLoopData::offsets, SharedUVLoopData::use_seams, BMUVOffsets::uv, and uvedit_is_face_affected_for_calc_uv_islands().
Referenced by uv_select_similar_island_exec(), and uvedit_pack_islands_multi().
Definition at line 24 of file uvedit_draw.cc.
References GPU_line_width(), GPU_matrix_translate_2f(), GPU_matrix_translate_2fv(), GPU_PRIM_LINES, GPU_SHADER_3D_LINE_DASHED_UNIFORM_COLOR, GPU_vertformat_attr_add(), GPU_viewport_size_get_f(), immBegin(), immBindBuiltinProgram(), immEnd(), immUnbindProgram(), immUniform1f(), immUniform1i(), immUniform2f(), immUniform4f(), immVertex2f(), immVertexFormat(), mul_v2_fl(), UI_SCALE_FAC, UI_view2d_scale_get_inverse(), and ARegion::v2d.
Referenced by clip_main_region_draw().
| void ED_keymap_uvedit | ( | wmKeyConfig * | keyconf | ) |
Definition at line 2804 of file uvedit_ops.cc.
References ED_operator_uvedit(), wmKeyMap::poll, RGN_TYPE_WINDOW, SPACE_EMPTY, and WM_keymap_ensure().
Referenced by ED_spacetypes_keymap().
Definition at line 170 of file uvedit_ops.cc.
References BKE_main_ensure_invariants(), BKE_object_material_get(), bNode::id, bNodeTree::id, Image::id, is_image_texture_node(), blender::bke::node_get_active_texture(), and Material::nodetree.
| bool ED_object_get_active_image | ( | Object * | ob, |
| int | mat_nr, | ||
| Image ** | r_ima, | ||
| ImageUser ** | r_iuser, | ||
| const bNode ** | r_node, | ||
| const bNodeTree ** | r_ntree ) |
Definition at line 118 of file uvedit_ops.cc.
References BKE_object_material_get(), BKE_object_material_get_eval(), DEG_is_evaluated(), bNode::id, is_image_texture_node(), blender::bke::node_get_active_texture(), Material::nodetree, SH_NODE_TEX_ENVIRONMENT, SH_NODE_TEX_IMAGE, bNode::storage, and bNode::type_legacy.
Referenced by blender::ed::object::bake_object_check(), blender::ed::object::bake_object_image_get(), blender::ed::object::bake_targets_init_image_textures(), ED_space_image_auto_set(), ED_uvedit_get_aspect_from_material(), and blender::workbench::MaterialTexture::MaterialTexture().
| void ED_operatormacros_uvedit | ( | ) |
Definition at line 2789 of file uvedit_ops.cc.
References OPTYPE_REGISTER, OPTYPE_UNDO, ot, wmOperatorTypeMacro::ptr, RNA_boolean_set(), WM_operatortype_append_macro(), and WM_operatortype_macro_define().
Referenced by ED_spacemacros_init().
| void ED_operatortypes_uvedit | ( | ) |
Definition at line 2730 of file uvedit_ops.cc.
References UV_OT_align(), UV_OT_arrange_islands(), UV_OT_average_islands_scale(), UV_OT_copy(), UV_OT_copy_mirrored_faces(), UV_OT_cube_project(), UV_OT_cursor_set(), UV_OT_custom_region_set(), UV_OT_cylinder_project(), UV_OT_hide(), UV_OT_mark_seam(), UV_OT_minimize_stretch(), UV_OT_move_on_axis(), UV_OT_pack_islands(), UV_OT_paste(), UV_OT_pin(), UV_OT_project_from_view(), UV_OT_remove_doubles(), UV_OT_reset(), UV_OT_reveal(), UV_OT_rip(), UV_OT_seams_from_islands(), UV_OT_select(), UV_OT_select_all(), UV_OT_select_box(), UV_OT_select_circle(), UV_OT_select_edge_ring(), UV_OT_select_lasso(), UV_OT_select_less(), UV_OT_select_linked(), UV_OT_select_linked_pick(), UV_OT_select_loop(), UV_OT_select_mode(), UV_OT_select_more(), UV_OT_select_overlap(), UV_OT_select_pinned(), UV_OT_select_similar(), UV_OT_select_split(), UV_OT_shortest_path_pick(), UV_OT_shortest_path_select(), UV_OT_smart_project(), UV_OT_snap_cursor(), UV_OT_snap_selected(), UV_OT_sphere_project(), UV_OT_stitch(), UV_OT_unwrap(), UV_OT_weld(), and WM_operatortype_append().
Referenced by ED_spacetypes_init().
| BMLoop * ED_uvedit_active_edge_loop_get | ( | const ToolSettings * | ts, |
| BMesh * | bm ) |
Definition at line 184 of file uvedit_select.cc.
References bm, BM_EDGE, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT_UV, BM_ELEM_SELECT_UV_EDGE, BM_FACE, BM_face_edge_share_loop(), BM_ITER_ELEM, BM_LOOPS_OF_EDGE, e, BMEditSelection::ele, BMEditSelection::htype, l, BMEditSelection::prev, ToolSettings::uv_flag, and UV_FLAG_SELECT_SYNC.
Referenced by uv_shortest_path_pick_exec(), and uv_shortest_path_pick_invoke().
Definition at line 175 of file uvedit_select.cc.
References bm, BM_select_history_clear(), BM_select_history_remove, BM_select_history_store_notest, and l.
Referenced by mouse_mesh_uv_shortest_path_edge(), and uv_mouse_select_multi().
| BMLoop * ED_uvedit_active_vert_loop_get | ( | const ToolSettings * | ts, |
| BMesh * | bm ) |
Definition at line 114 of file uvedit_select.cc.
References bm, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT_UV, BM_FACE, BM_face_vert_share_loop(), BM_ITER_ELEM, BM_loop_edge_uvselect_test(), BM_LOOPS_OF_VERT, BM_VERT, BMEditSelection::ele, BMEditSelection::htype, l, BMEditSelection::prev, ToolSettings::uv_flag, UV_FLAG_SELECT_SYNC, and v.
Referenced by uv_shortest_path_pick_exec(), and uv_shortest_path_pick_invoke().
Definition at line 105 of file uvedit_select.cc.
References bm, BM_select_history_clear(), BM_select_history_remove, BM_select_history_store_notest, and l.
Referenced by mouse_mesh_uv_shortest_path_vert(), and uv_mouse_select_multi().
Definition at line 4327 of file uvedit_unwrap_ops.cc.
References bm, bm_mesh_allocsize_default, BM_mesh_bm_from_me(), BM_mesh_bm_to_me(), BM_mesh_create(), BM_mesh_free(), BMeshFromMeshParams::calc_face_normal, BMeshFromMeshParams::calc_vert_normal, Object::data, ED_mesh_uv_ensure(), ED_uvedit_select_all(), ED_UVPACK_MARGIN_SCALED, ED_UVPACK_ROTATION_ANY, params, Scene::toolsettings, BMeshCreateParams::use_toolflags, ToolSettings::uv_flag, UV_FLAG_SELECT_SYNC, uvedit_pack_islands_multi(), and uvedit_unwrap_cube_project().
Referenced by add_simple_uvs_exec().
| void ED_uvedit_buttons_register | ( | ARegionType * | art | ) |
Definition at line 249 of file uvedit_buttons.cc.
References BLI_addtail(), PanelType::category, PanelType::draw, PanelType::idname, image_panel_uv(), image_panel_uv_poll(), PanelType::label, MEM_callocN(), N_, ARegionType::paneltypes, PanelType::poll, and STRNCPY_UTF8.
Referenced by ED_spacetype_image().
| bool ED_uvedit_center_from_pivot_ex | ( | const SpaceImage * | sima, |
| Scene * | scene, | ||
| ViewLayer * | view_layer, | ||
| float | r_center[2], | ||
| char | mode, | ||
| bool * | r_has_select ) |
Definition at line 313 of file uvedit_ops.cc.
References BKE_view_layer_array_from_objects_in_edit_mode_unique_data_with_uvs(), copy_v2_v2(), SpaceImage::cursor, ED_uvedit_center_multi(), uvedit_select_is_any_selected_multi(), and V3D_AROUND_CURSOR.
Referenced by blender::ed::transform::gizmo2d_calc_transform_pivot().
| bool ED_uvedit_center_multi | ( | const Scene * | scene, |
| blender::Span< Object * > | objects_edit, | ||
| float | r_cent[2], | ||
| char | mode ) |
Definition at line 290 of file uvedit_ops.cc.
References ED_uvedit_minmax_multi(), max, mid_v2_v2v2(), min, uvedit_median_multi(), and V3D_AROUND_CENTER_BOUNDS.
Referenced by ED_uvedit_center_from_pivot_ex(), uv_align(), uv_snap_cursor_to_selection(), uv_snap_selection_exec(), and uv_weld().
Definition at line 3230 of file uvedit_select.cc.
References BKE_editmesh_from_object(), BMEditMesh::bm, EDBM_uvselect_clear(), ELEM, SEL_DESELECT, SEL_INVERT, SEL_SELECT, SEL_TOGGLE, Scene::toolsettings, ToolSettings::uv_flag, UV_FLAG_SELECT_SYNC, uv_select_all(), uv_select_invert(), BMesh::uv_select_sync_valid, and uv_select_toggle_all().
Referenced by edbm_select_all_exec(), uv_select_all_perform_multi_ex(), uv_select_edgeloop(), uv_select_edgering(), uv_select_faceloop(), and uv_select_overlap().
| void ED_uvedit_foreach_uv | ( | const Scene * | scene, |
| BMesh * | bm, | ||
| const bool | skip_invisible, | ||
| const bool | selected, | ||
| blender::FunctionRef< void(float[2])> | user_fn ) |
Definition at line 202 of file uvedit_ops.cc.
References bm, BM_ELEM_CD_GET_FLOAT_P, BM_FACES_OF_MESH, BM_ITER_ELEM, BM_ITER_MESH, BM_LOOPS_OF_FACE, BM_uv_map_offsets_get(), l, Scene::toolsettings, BMUVOffsets::uv, ToolSettings::uv_flag, UV_FLAG_SELECT_SYNC, uvedit_face_visible_test(), and uvedit_uv_select_test().
Referenced by ED_uvedit_foreach_uv_multi(), uv_arrange_islands_exec(), uv_move_on_axis_exec(), uv_remove_doubles_to_selected(), uv_remove_doubles_to_unselected(), uv_snap_uvs_offset(), uv_snap_uvs_to_cursor(), uv_snap_uvs_to_pixels(), and uvedit_uv_align_weld().
| void ED_uvedit_foreach_uv_multi | ( | const Scene * | scene, |
| blender::Span< Object * > | objects_edit, | ||
| const bool | skip_invisible, | ||
| const bool | skip_nonselected, | ||
| blender::FunctionRef< void(float[2])> | user_fn ) |
Definition at line 509 of file uvedit_unwrap_ops.cc.
References BKE_editmesh_from_object(), BLI_assert, BMEditMesh::bm, BM_mesh_active_face_get(), ED_uvedit_get_aspect_from_material(), and BMFace::mat_nr.
Referenced by ED_uvedit_get_aspect_y(), and uv_rip_exec().
| void ED_uvedit_get_aspect_from_material | ( | Object * | ob, |
| const int | material_index, | ||
| float * | r_aspx, | ||
| float * | r_aspy ) |
Definition at line 494 of file uvedit_unwrap_ops.cc.
References ED_image_get_uv_aspect(), ED_object_get_active_image(), Object::totcol, and UNLIKELY.
Referenced by correct_uv_aspect_per_face(), and ED_uvedit_get_aspect().
Return the X / Y aspect (wider aspects are over 1, taller are below 1). Apply this aspect by multiplying with the Y axis (X aspect is always 1 & unchanged).
Definition at line 525 of file uvedit_unwrap_ops.cc.
References ED_uvedit_get_aspect().
Referenced by construct_param_handle(), construct_param_handle_multi(), construct_param_handle_subsurfed(), correct_uv_aspect(), stitch_init(), uv_shortest_path_pick_exec(), uv_shortest_path_pick_invoke(), uv_shortest_path_select_exec(), and uvedit_pack_islands_multi().
| void ED_uvedit_live_unwrap | ( | const Scene * | scene, |
| blender::Span< Object * > | objects ) |
Referenced by edbm_mark_seam_exec(), mouse_mesh_shortest_path_edge(), and uv_mark_seam_exec().
| win_modal | Support interactive (modal) unwrapping that updates with a timer. |
Definition at line 2154 of file uvedit_unwrap_ops.cc.
References BKE_editmesh_from_object(), BLI_assert, BMEditMesh::bm, construct_param_handle(), construct_param_handle_subsurfed(), ED_uvedit_test(), g_live_unwrap, G_MAIN, MEM_malloc_arrayN(), MEM_reallocN, options, TIMER, Scene::toolsettings, unwrap_options_get(), blender::geometry::uv_parametrizer_lscm_begin(), blender::geometry::uv_parametrizer_slim_live_begin(), uvedit_live_unwrap_timer_validate(), and WM_event_timer_add().
Referenced by blender::ed::transform::createTransUVs(), uv_sculpt_stroke_init(), and uvedit_live_unwrap_update().
| void ED_uvedit_live_unwrap_end | ( | bool | cancel | ) |
Definition at line 2224 of file uvedit_unwrap_ops.cc.
References g_live_unwrap, G_MAIN, i, MEM_freeN(), blender::geometry::uv_parametrizer_flush_restore(), blender::geometry::uv_parametrizer_is_slim(), blender::geometry::uv_parametrizer_lscm_end(), blender::geometry::uv_parametrizer_slim_live_end(), uvedit_live_unwrap_timer_validate(), and WM_event_timer_remove().
Referenced by blender::ed::transform::postTrans(), uv_sculpt_stroke_exit(), and uvedit_live_unwrap_update().
| void ED_uvedit_live_unwrap_re_solve | ( | ) |
Definition at line 2208 of file uvedit_unwrap_ops.cc.
References g_live_unwrap, i, blender::geometry::uv_parametrizer_flush(), blender::geometry::uv_parametrizer_is_slim(), blender::geometry::uv_parametrizer_lscm_solve(), and blender::geometry::uv_parametrizer_slim_live_solve_iteration().
Referenced by blender::ed::transform::recalcData_uv(), uv_sculpt_stroke_apply(), and uvedit_live_unwrap_update().
| bool ED_uvedit_live_unwrap_timer_check | ( | const wmTimer * | timer | ) |
Return true if the timer is managed by live-unwrap.
Definition at line 2130 of file uvedit_unwrap_ops.cc.
References g_live_unwrap, and timer.
Referenced by blender::ed::transform::transformEvent().
| bool ED_uvedit_minmax_multi | ( | const Scene * | scene, |
| blender::Span< Object * > | objects_edit, | ||
| float | r_min[2], | ||
| float | r_max[2] ) |
Referenced by blender::ed::transform::gizmo2d_calc_bounds(), and image_view_selected_exec().
| bool ED_uvedit_nearest_uv_multi | ( | const View2D * | v2d, |
| const Scene * | scene, | ||
| blender::Span< Object * > | objects, | ||
| const float | mval_fl[2], | ||
| const bool | ignore_selected, | ||
| float * | dist_sq, | ||
| float | r_uv[2] ) |
References bm, l, select, and timer.
Referenced by blender::ed::transform::snap_target_uv_fn().
| void ED_uvedit_select_all | ( | const ToolSettings * | ts, |
| BMesh * | bm ) |
Be careful when using this, it bypasses all synchronization options.
Definition at line 260 of file uvedit_ops.cc.
References bm, BM_FACES_OF_MESH, BM_ITER_ELEM, BM_ITER_MESH, BM_LOOPS_OF_FACE, l, uvedit_edge_select_set_no_sync(), uvedit_face_select_set_no_sync(), and uvedit_vert_select_set_no_sync().
Referenced by ED_uvedit_add_simple_uvs().
| bool ED_uvedit_select_island_check | ( | const ToolSettings * | ts | ) |
Definition at line 326 of file uvedit_select.cc.
References SCE_SELECT_EDGE, SCE_SELECT_VERTEX, ToolSettings::selectmode, ToolSettings::uv_flag, UV_FLAG_SELECT_ISLAND, and UV_FLAG_SELECT_SYNC.
Referenced by do_lasso_select_mesh_uv(), uv_box_select_exec(), uv_circle_select_exec(), uv_hide_exec(), uv_mouse_select_multi(), uv_select_similar_exec(), and uv_select_similar_type_itemf().
| char ED_uvedit_select_mode_get | ( | const Scene * | scene | ) |
Intentionally don't return #UV_SELECT_ISLAND as it's not an element type. In this case return UV_SELECT_VERT as a fallback.
Definition at line 296 of file uvedit_select.cc.
References SCE_SELECT_EDGE, SCE_SELECT_FACE, SCE_SELECT_VERTEX, ToolSettings::selectmode, Scene::toolsettings, ToolSettings::uv_flag, UV_FLAG_SELECT_SYNC, UV_SELECT_EDGE, UV_SELECT_FACE, UV_SELECT_VERT, and ToolSettings::uv_selectmode.
Referenced by do_lasso_select_mesh_uv(), blender::ed::transform::transform_mesh_uv_edge_slide_data_create(), uv_box_select_exec(), uv_circle_select_exec(), uv_mouse_select_loop_generic_multi(), uv_shortest_path_pick_ex(), uv_shortest_path_pick_exec(), uv_shortest_path_pick_invoke(), uv_shortest_path_select_exec(), and uvedit_select_pin_ok_or_report().
| void ED_uvedit_select_sync_flush | ( | const ToolSettings * | ts, |
| BMesh * | bm, | ||
| bool | select ) |
Definition at line 349 of file uvedit_select.cc.
References bm, BM_mesh_select_flush_from_verts(), BM_mesh_select_mode_flush(), BM_mesh_uvselect_flush_shared_only_select(), BM_mesh_uvselect_mode_flush(), BM_mesh_uvselect_sync_to_mesh(), BM_select_history_validate(), CD_PROP_FLOAT2, CustomData_get_offset(), SCE_SELECT_FACE, SCE_SELECT_VERTEX, select, ToolSettings::selectmode, ToolSettings::uv_flag, UV_FLAG_SELECT_SYNC, ToolSettings::uv_sticky, and UV_STICKY_LOCATION.
Referenced by do_lasso_select_mesh_uv(), uv_box_select_exec(), uv_circle_select_exec(), uv_mouse_select_loop_generic_multi(), uv_select_overlap(), uv_select_pinned_exec(), and uv_shortest_path_pick_ex().
| void ED_uvedit_select_sync_multi | ( | bContext * | C | ) |
Called when changing the UV select sync option.
Definition at line 6785 of file uvedit_select.cc.
References BKE_view_layer_array_from_objects_in_edit_mode_unique_data_with_uvs(), C, CTX_data_scene(), CTX_data_view_layer(), Scene::toolsettings, ToolSettings::uv_flag, UV_FLAG_SELECT_SYNC, and uv_select_sync_update().
| BMLoop ** ED_uvedit_selected_edges | ( | const Scene * | scene, |
| BMesh * | bm, | ||
| int | len_max, | ||
| int * | r_edges_len ) |
Definition at line 6559 of file uvedit_select.cc.
References BLI_assert, bm, BM_elem_flag_disable, BM_elem_flag_enable, BM_elem_flag_test, BM_ELEM_TAG, BM_FACES_OF_MESH, BM_ITER_ELEM, BM_ITER_MESH, BM_loop_uv_share_edge_check(), BM_LOOPS_OF_FACE, BM_uv_map_offsets_get(), CLAMP_MAX, MEM_malloc_arrayN(), MEM_reallocN, BMLoop::radial_next, BMUVOffsets::uv, uvedit_edge_select_test(), and uvedit_face_visible_test().
Referenced by uv_shortest_path_select_exec().
| BMFace ** ED_uvedit_selected_faces | ( | const Scene * | scene, |
| BMesh * | bm, | ||
| int | len_max, | ||
| int * | r_faces_len ) |
Definition at line 6532 of file uvedit_select.cc.
References bm, BM_FACES_OF_MESH, BM_ITER_MESH, CLAMP_MAX, faces, MEM_malloc_arrayN(), MEM_reallocN, uvedit_face_select_test(), and uvedit_face_visible_test().
Referenced by uv_shortest_path_select_exec().
| BMLoop ** ED_uvedit_selected_verts | ( | const Scene * | scene, |
| BMesh * | bm, | ||
| int | len_max, | ||
| int * | r_verts_len ) |
Definition at line 6617 of file uvedit_select.cc.
References BLI_assert, bm, BM_elem_flag_disable, BM_elem_flag_enable, BM_elem_flag_test, BM_ELEM_TAG, BM_FACES_OF_MESH, BM_ITER_ELEM, BM_ITER_MESH, BM_loop_uv_share_vert_check(), BM_LOOPS_OF_FACE, BM_LOOPS_OF_VERT, BM_uv_map_offsets_get(), CLAMP_MAX, MEM_malloc_arrayN(), MEM_reallocN, Scene::toolsettings, BMUVOffsets::uv, uvedit_face_visible_test(), uvedit_vert_select_get_no_sync(), BMLoop::v, and verts.
Referenced by uv_shortest_path_select_exec().
UV Select Mode set.
Updates selection state for UVs based on the select mode and sticky mode. Similar to EDBM_selectmode_set.
Definition at line 6681 of file uvedit_select.cc.
References BKE_editmesh_from_object(), BLI_assert, bm, BMEditMesh::bm, BM_elem_flag_disable, BM_elem_flag_enable, BM_ELEM_TAG, BM_FACES_OF_MESH, BM_ITER_ELEM, BM_ITER_MESH, bm_loop_tags_clear(), BM_LOOPS_OF_FACE, BM_uv_map_offsets_get(), ED_uvedit_selectmode_flush(), l, Scene::toolsettings, ToolSettings::uv_flag, UV_FLAG_SELECT_SYNC, UV_SELECT_EDGE, UV_SELECT_FACE, uv_select_flush_from_loop_edge_flag(), uv_select_flush_from_tag_face(), uv_select_flush_from_tag_loop(), UV_SELECT_VERT, ToolSettings::uv_selectmode, ToolSettings::uv_sticky, UV_STICKY_DISABLE, uvedit_edge_select_set_noflush(), uvedit_edge_select_test(), uvedit_face_select_set(), uvedit_face_select_test(), uvedit_face_visible_test(), uvedit_select_prepare_custom_data(), and uvedit_uv_select_test().
Referenced by ED_uvedit_selectmode_clean_multi().
| void ED_uvedit_selectmode_clean_multi | ( | bContext * | C | ) |
Definition at line 6745 of file uvedit_select.cc.
References BKE_view_layer_array_from_objects_in_edit_mode_unique_data_with_uvs(), C, CTX_data_ensure_evaluated_depsgraph(), CTX_data_scene(), CTX_data_view_layer(), depsgraph, ED_uvedit_selectmode_clean(), Scene::toolsettings, and uv_select_tag_update_for_object().
Referenced by uv_select_mode_exec().
UV Select Mode Flush.
Flushes selections upwards as dictated by the UV select mode.
Definition at line 1928 of file uvedit_select.cc.
References BLI_assert, bm, BM_FACES_OF_MESH, BM_ITER_ELEM, BM_ITER_MESH, BM_LOOPS_OF_FACE, l, Scene::toolsettings, UNUSED_VARS_NDEBUG, ToolSettings::uv_flag, UV_FLAG_SELECT_SYNC, UV_SELECT_EDGE, UV_SELECT_VERT, ToolSettings::uv_selectmode, uvedit_edge_select_get_no_sync(), uvedit_edge_select_set_no_sync(), uvedit_face_select_set_no_sync(), uvedit_face_visible_test(), uvedit_select_prepare_custom_data(), and uvedit_vert_select_get_no_sync().
Referenced by do_lasso_select_mesh_uv(), ED_uvedit_selectmode_clean(), uv_box_select_exec(), uv_circle_select_exec(), uv_mouse_select_loop_generic_multi(), uv_mouse_select_multi(), uv_select_overlap(), uv_select_pinned_exec(), and uv_shortest_path_pick_ex().
| void ED_uvedit_sticky_selectmode_update | ( | bContext * | C | ) |
Definition at line 6761 of file uvedit_select.cc.
References BKE_view_layer_array_from_objects_in_edit_mode_unique_data_with_uvs(), C, CTX_data_ensure_evaluated_depsgraph(), CTX_data_scene(), CTX_data_view_layer(), depsgraph, SCE_SELECT_VERTEX, ToolSettings::selectmode, Scene::toolsettings, ToolSettings::uv_flag, UV_FLAG_SELECT_SYNC, and uv_select_tag_update_for_object().
| void ED_uvedit_sync_uvselect_ensure_if_needed | ( | const ToolSettings * | ts, |
| BMesh * | bm ) |
Definition at line 273 of file uvedit_select.cc.
References bm, CD_PROP_FLOAT2, CustomData_has_layer(), ED_uvedit_sync_uvselect_ignore(), and uvedit_sync_uvselect_flush_from_v3d().
Referenced by EDBM_selectmode_toggle_multi(), and uvedit_select_prepare_sync_select().
| bool ED_uvedit_sync_uvselect_ignore | ( | const ToolSettings * | ts | ) |
Definition at line 236 of file uvedit_select.cc.
References BLI_assert, ToolSettings::uv_flag, UV_FLAG_SELECT_SYNC, ToolSettings::uv_sticky, and UV_STICKY_VERT.
Referenced by bm_loop_select_edge_check_internal(), bm_loop_select_vert_check_internal(), blender::ed::uv::UVSyncSelectFromMesh::create_if_needed(), ED_uvedit_sync_uvselect_ensure_if_needed(), ED_uvedit_sync_uvselect_is_valid_or_ignore(), uv_mesh_hide_sync_select(), uv_mouse_select_loop_generic_multi(), uv_rip_exec(), uv_select_flush_from_tag_face(), uv_select_invert(), uv_select_linked_multi(), uvedit_edge_select_disable(), uvedit_edge_select_enable(), uvedit_edge_select_set_with_sticky(), uvedit_edge_select_test_ex(), uvedit_face_select_disable(), uvedit_face_select_enable(), uvedit_face_select_set_with_sticky(), uvedit_face_select_test_ex(), uvedit_uv_select_disable(), uvedit_uv_select_enable(), uvedit_uv_select_set_with_sticky(), and uvedit_uv_select_test_ex().
| bool ED_uvedit_sync_uvselect_is_valid_or_ignore | ( | const ToolSettings * | ts, |
| const BMesh * | bm ) |
Definition at line 246 of file uvedit_select.cc.
References bm, and ED_uvedit_sync_uvselect_ignore().
Referenced by uv_select_linked_multi(), uvedit_edge_select_set_with_sticky(), uvedit_face_select_set_with_sticky(), and uvedit_face_select_shared_vert().
| bool ED_uvedit_test | ( | Object * | obedit | ) |
Definition at line 73 of file uvedit_ops.cc.
References BKE_editmesh_from_object(), EDBM_uv_check(), OB_MESH, ret, and Object::type.
Referenced by ED_uvedit_live_unwrap_begin(), image_panel_uv_poll(), and uvedit_ensure_uvs().
Returns true if UV coordinates lie on a valid tile in UDIM grid or tiled image.
Definition at line 29 of file uvedit_islands.cc.
References floorf, IMA_SRC_TILED, is_zero_v2(), LISTBASE_FOREACH, Image::source, tile, tile_index, and Image::tiles.
Referenced by blender::geometry::UVPackIsland_Params::setUDIMOffsetFromSpaceImage(), and uvedit_pack_islands_multi().
Definition at line 825 of file uvedit_select.cc.
References bm, BM_edge_select_set(), BM_elem_flag_test, BM_ELEM_SELECT_UV_EDGE, BM_face_select_set(), BM_loop_edge_uvselect_set_noflush(), BM_loop_vert_uvselect_set_noflush(), BM_vert_select_set(), ED_uvedit_sync_uvselect_ignore(), l, SCE_SELECT_EDGE, SCE_SELECT_FACE, SCE_SELECT_VERTEX, ToolSettings::selectmode, Scene::toolsettings, ToolSettings::uv_flag, UV_FLAG_SELECT_SYNC, UV_SELECT_VERT, ToolSettings::uv_selectmode, uvedit_edge_select_get_no_sync(), uvedit_edge_select_set_no_sync(), and uvedit_vert_select_set_no_sync().
Referenced by uvedit_edge_select_set().
Definition at line 797 of file uvedit_select.cc.
References bm, BM_edge_select_set(), BM_face_select_set(), BM_loop_edge_uvselect_set(), BM_vert_select_set(), ED_uvedit_sync_uvselect_ignore(), l, SCE_SELECT_EDGE, SCE_SELECT_FACE, ToolSettings::selectmode, Scene::toolsettings, ToolSettings::uv_flag, UV_FLAG_SELECT_SYNC, uvedit_edge_select_set_no_sync(), and uvedit_vert_select_set_no_sync().
Referenced by uvedit_edge_select_set().
Select UV Edge.
Changes selection state of a single UV Edge.
Definition at line 787 of file uvedit_select.cc.
References bm, l, select, uvedit_edge_select_disable(), and uvedit_edge_select_enable().
Referenced by uv_select_similar_edge_exec(), uvedit_edge_select_flush_from_tag_sticky_loc_internal(), and uvedit_edge_select_set_with_sticky().
| void uvedit_edge_select_set_noflush | ( | const Scene * | scene, |
| BMesh * | bm, | ||
| BMLoop * | l, | ||
| const bool | select, | ||
| const int | sticky_flag, | ||
| const BMUVOffsets & | offsets ) |
Sets required UV edge flags as specified by the sticky_flag.
Definition at line 761 of file uvedit_select.cc.
References BLI_assert, bm, BM_loop_edge_uvselect_set_noflush(), BM_loop_uv_share_edge_check(), BMLoop::f, l, BMLoop::radial_next, select, Scene::toolsettings, BMUVOffsets::uv, ToolSettings::uv_flag, UV_FLAG_SELECT_SYNC, UV_STICKY_DISABLE, UV_STICKY_VERT, uvedit_edge_select_set_no_sync(), and uvedit_face_visible_test().
Referenced by ED_uvedit_selectmode_clean(), and uvedit_edge_select_shared_vert().
| void uvedit_edge_select_set_with_sticky | ( | const Scene * | scene, |
| BMesh * | bm, | ||
| BMLoop * | l, | ||
| bool | select, | ||
| const BMUVOffsets & | offsets ) |
Definition at line 659 of file uvedit_select.cc.
References BLI_assert, bm, ED_uvedit_sync_uvselect_ignore(), ED_uvedit_sync_uvselect_is_valid_or_ignore(), l, select, Scene::toolsettings, ToolSettings::uv_flag, UV_FLAG_SELECT_SYNC, ToolSettings::uv_sticky, UV_STICKY_DISABLE, UV_STICKY_LOCATION, UV_STICKY_VERT, uvedit_edge_select_set(), uvedit_edge_select_shared_vert(), and uvedit_face_visible_test().
Referenced by do_lasso_select_mesh_uv(), edgetag_set_cb(), uv_box_select_exec(), uv_circle_select_exec(), uv_mouse_select_multi(), uv_select_edgeloop(), and uv_select_edgering().
| void uvedit_edge_select_shared_vert | ( | const Scene * | scene, |
| BMesh * | bm, | ||
| BMLoop * | l, | ||
| const bool | select, | ||
| const int | sticky_flag, | ||
| const BMUVOffsets & | offsets ) |
Selects UV edges and shared vertices according to sticky_flag.
| sticky_flag |
|
Definition at line 727 of file uvedit_select.cc.
References BLI_assert, bm, bm_loop_select_edge_check_internal(), ELEM, l, BMLoop::next, BMLoop::radial_next, select, Scene::toolsettings, UV_STICKY_LOCATION, UV_STICKY_VERT, uvedit_edge_select_set_noflush(), uvedit_uv_select_shared_vert(), and uvedit_vert_is_edge_select_any_other().
Referenced by uvedit_edge_select_set_with_sticky().
| bool uvedit_edge_select_test | ( | const Scene * | scene, |
| const BMesh * | bm, | ||
| const BMLoop * | l, | ||
| const BMUVOffsets & | offsets ) |
Definition at line 651 of file uvedit_select.cc.
References bm, l, Scene::toolsettings, and uvedit_edge_select_test_ex().
Referenced by bm_uv_edge_select_build_islands(), ED_uvedit_selected_edges(), ED_uvedit_selectmode_clean(), edgetag_test_cb(), facetag_test_cb(), stitch_init(), uv_find_nearest_edge(), uv_mark_seam_exec(), uv_mouse_select_multi(), uv_seams_from_islands_exec(), uv_select_edgeloop(), uv_select_edgeloop_single_side_tag(), uv_select_edgering(), and uv_select_similar_edge_exec().
| bool uvedit_edge_select_test_ex | ( | const ToolSettings * | ts, |
| const BMesh * | bm, | ||
| const BMLoop * | l, | ||
| const BMUVOffsets & | offsets ) |
Definition at line 601 of file uvedit_select.cc.
References BLI_assert_unreachable, bm, BM_elem_flag_test, BM_elem_flag_test_bool, BM_ELEM_SELECT, BM_ELEM_SELECT_UV_EDGE, ED_uvedit_sync_uvselect_ignore(), l, SCE_SELECT_EDGE, SCE_SELECT_FACE, ToolSettings::selectmode, ToolSettings::uv_flag, UV_FLAG_SELECT_SYNC, UV_SELECT_VERT, ToolSettings::uv_selectmode, ToolSettings::uv_sticky, UV_STICKY_DISABLE, UV_STICKY_LOCATION, uvedit_edge_is_face_select_any_other(), uvedit_edge_select_get_no_sync(), and uvedit_vert_select_get_no_sync().
Referenced by blender::draw::mesh_render_data_loop_edge_flag(), blender::ed::transform::transform_mesh_uv_edge_slide_data_create(), uvedit_edge_select_test(), and uvedit_vert_is_edge_select_any_other().
Definition at line 577 of file uvedit_select.cc.
References bm, BM_face_select_set(), BM_face_uvselect_set(), BM_ITER_ELEM, BM_LOOPS_OF_FACE, ED_uvedit_sync_uvselect_ignore(), l, Scene::toolsettings, ToolSettings::uv_flag, UV_FLAG_SELECT_SYNC, uvedit_edge_select_set_no_sync(), uvedit_face_select_set_no_sync(), and uvedit_vert_select_set_no_sync().
Referenced by cylinder_project_exec(), smart_project_exec(), uv_cylinder_project(), uv_hide_exec(), uv_sphere_project(), uvedit_face_select_set(), and uvedit_unwrap_cube_project().
Definition at line 553 of file uvedit_select.cc.
References bm, BM_face_select_set(), BM_face_uvselect_set(), BM_ITER_ELEM, BM_LOOPS_OF_FACE, ED_uvedit_sync_uvselect_ignore(), l, Scene::toolsettings, ToolSettings::uv_flag, UV_FLAG_SELECT_SYNC, uvedit_edge_select_set_no_sync(), uvedit_face_select_set_no_sync(), and uvedit_vert_select_set_no_sync().
Referenced by uvedit_face_select_set().
Select UV Face.
Changes selection state of a single UV Face.
Definition at line 543 of file uvedit_select.cc.
References bm, select, uvedit_face_select_disable(), and uvedit_face_select_enable().
Referenced by ED_uvedit_selectmode_clean(), uv_select_flush_from_tag_face(), uv_select_similar_face_exec(), uv_select_similar_island_exec(), and uvedit_face_select_set_with_sticky().
| void uvedit_face_select_set_with_sticky | ( | const Scene * | scene, |
| BMesh * | bm, | ||
| BMFace * | efa, | ||
| bool | select, | ||
| const BMUVOffsets & | offsets ) |
Definition at line 445 of file uvedit_select.cc.
References BLI_assert, bm, ED_uvedit_sync_uvselect_ignore(), ED_uvedit_sync_uvselect_is_valid_or_ignore(), select, Scene::toolsettings, ToolSettings::uv_flag, UV_FLAG_SELECT_SYNC, ToolSettings::uv_sticky, UV_STICKY_DISABLE, uvedit_face_select_set(), uvedit_face_select_shared_vert(), and uvedit_face_visible_test().
Referenced by facetag_set_cb(), uv_mouse_select_multi(), uv_select_edgering(), and uv_select_faceloop().
| void uvedit_face_select_shared_vert | ( | const Scene * | scene, |
| BMesh * | bm, | ||
| BMFace * | efa, | ||
| const bool | select, | ||
| const BMUVOffsets & | offsets ) |
Definition at line 474 of file uvedit_select.cc.
References BLI_assert, bm, BM_ELEM_SELECT_UV, BM_face_uvselect_set_noflush(), BM_ITER_ELEM, BM_loop_edge_uvselect_check_other_face(), BM_loop_edge_uvselect_set_noflush(), BM_loop_edge_uvselect_set_shared(), BM_loop_vert_uvselect_check_other_face(), BM_loop_vert_uvselect_set_noflush(), BM_loop_vert_uvselect_set_shared(), BM_LOOPS_OF_FACE, ED_uvedit_sync_uvselect_is_valid_or_ignore(), l, select, Scene::toolsettings, BMUVOffsets::uv, ToolSettings::uv_flag, UV_FLAG_SELECT_SYNC, ToolSettings::uv_sticky, UV_STICKY_DISABLE, UV_STICKY_LOCATION, UV_STICKY_VERT, uvedit_edge_select_set_no_sync(), uvedit_face_select_set_no_sync(), uvedit_uv_select_shared_vert(), and uvedit_vert_is_face_select_any_other().
Referenced by uvedit_face_select_set_with_sticky().
Definition at line 440 of file uvedit_select.cc.
References bm, Scene::toolsettings, and uvedit_face_select_test_ex().
Referenced by cylinder_project_exec(), do_lasso_select_mesh_uv(), ED_uvedit_selected_faces(), ED_uvedit_selectmode_clean(), smart_project_exec(), uv_circle_select_exec(), uv_copy_mirrored_faces(), uv_cylinder_project(), uv_island_selected(), uv_map_clip_correct(), uv_mouse_select_multi(), uv_select_faceloop(), uv_select_linked_multi(), uv_select_more_less(), uv_select_overlap(), uv_select_similar_face_exec(), uv_sphere_project(), uvedit_is_face_affected_for_calc_uv_islands(), and uvedit_unwrap_cube_project().
| bool uvedit_face_select_test_ex | ( | const ToolSettings * | ts, |
| const BMesh * | bm, | ||
| const BMFace * | efa ) |
Definition at line 412 of file uvedit_select.cc.
References BLI_assert, bm, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT, BM_ELEM_SELECT_UV, BM_ELEM_SELECT_UV_EDGE, BM_FACE_FIRST_LOOP, ED_uvedit_sync_uvselect_ignore(), BMLoop::next, ToolSettings::uv_flag, UV_FLAG_SELECT_SYNC, UV_SELECT_FACE, UV_SELECT_VERT, and ToolSettings::uv_selectmode.
Referenced by blender::draw::mesh_render_data_face_flag(), uvedit_edge_is_face_select_any_other(), uvedit_face_select_test(), uvedit_vert_is_all_other_faces_selected(), and uvedit_vert_is_face_select_any_other().
Definition at line 407 of file uvedit_select.cc.
References Scene::toolsettings, and uvedit_face_visible_test_ex().
Referenced by bm_clear_uv_vert_selection(), blender::ed::transform::createTransUVs(), do_lasso_select_mesh_uv(), ED_uvedit_foreach_uv(), ED_uvedit_selected_edges(), ED_uvedit_selected_faces(), ED_uvedit_selected_verts(), ED_uvedit_selectmode_clean(), ED_uvedit_selectmode_flush(), edgetag_filter_cb(), facetag_filter_cb(), uv_box_select_exec(), uv_circle_select_exec(), uv_find_nearest_edge(), uv_find_nearest_face_ex(), uv_find_nearest_loop_from_edge(), uv_find_nearest_loop_from_vert(), uv_find_nearest_vert(), uv_hide_exec(), uv_mark_seam_exec(), uv_pin_exec(), uv_rip_object(), uv_seams_from_islands_exec(), uv_select_all(), uv_select_edgeloop_double_side_tag(), uv_select_edgeloop_single_side_tag(), uv_select_edgering(), uv_select_faceloop(), uv_select_flush_from_loop_edge_flag(), uv_select_flush_from_tag_loop(), uv_select_invert(), uv_select_linked_multi(), uv_select_more_less(), uv_select_pinned_exec(), uv_select_similar_edge_exec(), uv_select_similar_face_exec(), uv_select_similar_vert_exec(), uv_select_split_exec(), uv_snap_uvs_to_adjacent_unselected(), uvedit_center(), uvedit_edge_select_flush_from_tag_sticky_loc_internal(), uvedit_edge_select_set_noflush(), uvedit_edge_select_set_with_sticky(), uvedit_face_select_set_with_sticky(), uvedit_first_selected_uv_from_vertex(), uvedit_loop_find_other_radial_loop_with_visible_face(), uvedit_nearest_uv(), uvedit_select_flush_from_verts(), uvedit_select_is_any_selected(), uvedit_translate(), uvedit_uv_select_flush_from_tag_sticky_loc_internal(), uvedit_uv_select_set_with_sticky(), uvedit_uv_select_shared_vert(), and verttag_filter_cb().
| bool uvedit_face_visible_test_ex | ( | const ToolSettings * | ts, |
| const BMFace * | efa ) |
Definition at line 400 of file uvedit_select.cc.
References BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT, ToolSettings::uv_flag, and UV_FLAG_SELECT_SYNC.
Referenced by uv_select_overlap(), uvedit_edge_is_face_select_any_other(), uvedit_face_visible_test(), uvedit_vert_is_all_other_faces_selected(), uvedit_vert_is_edge_select_any_other(), and uvedit_vert_is_face_select_any_other().
| bool uvedit_loop_edge_select_get | ( | const ToolSettings * | ts, |
| const BMesh * | bm, | ||
| const BMLoop * | l ) |
Definition at line 1163 of file uvedit_select.cc.
References BLI_assert, bm, BM_elem_flag_test, BM_elem_flag_test_bool, BM_ELEM_HIDDEN, BM_ELEM_SELECT_UV_EDGE, l, UNUSED_VARS_NDEBUG, ToolSettings::uv_flag, UV_FLAG_SELECT_SYNC, and uvedit_edge_select_get_no_sync().
Referenced by uv_rip_object(), uv_select_more_less(), and uv_select_split_exec().
| void uvedit_loop_edge_select_set | ( | const ToolSettings * | ts, |
| const BMesh * | bm, | ||
| BMLoop * | l, | ||
| const bool | select ) |
Definition at line 1189 of file uvedit_select.cc.
References BLI_assert, bm, BM_elem_flag_set, BM_ELEM_SELECT_UV_EDGE, l, select, UNUSED_VARS_NDEBUG, ToolSettings::uv_flag, UV_FLAG_SELECT_SYNC, and uvedit_edge_select_set_no_sync().
Referenced by uv_rip_object(), uv_select_flush_from_tag_face(), and uv_select_split_exec().
| bool uvedit_loop_vert_select_get | ( | const ToolSettings * | ts, |
| const BMesh * | bm, | ||
| const BMLoop * | l ) |
Definition at line 1153 of file uvedit_select.cc.
References BLI_assert, bm, BM_elem_flag_test_bool, BM_ELEM_SELECT_UV, l, UNUSED_VARS_NDEBUG, ToolSettings::uv_flag, UV_FLAG_SELECT_SYNC, and uvedit_vert_select_get_no_sync().
Referenced by uv_rip_object(), uv_select_more_less(), and uv_select_split_exec().
| void uvedit_loop_vert_select_set | ( | const ToolSettings * | ts, |
| const BMesh * | bm, | ||
| BMLoop * | l, | ||
| const bool | select ) |
Definition at line 1175 of file uvedit_select.cc.
References BLI_assert, bm, BM_elem_flag_set, BM_ELEM_SELECT_UV, l, select, UNUSED_VARS_NDEBUG, ToolSettings::uv_flag, UV_FLAG_SELECT_SYNC, and uvedit_vert_select_set_no_sync().
Referenced by uv_rip_object(), and uv_select_split_exec().
Mode independent UV selection/de-selection flush from vertices.
| select | When true, flush the selection state to de-selected elements, otherwise perform the opposite, flushing de-selection. |
Definition at line 1983 of file uvedit_select.cc.
References BLI_assert, bm, BM_FACES_OF_MESH, BM_ITER_ELEM, BM_ITER_MESH, BM_LOOPS_OF_FACE, l, select, Scene::toolsettings, UNUSED_VARS_NDEBUG, ToolSettings::uv_flag, UV_FLAG_SELECT_SYNC, uvedit_edge_select_set_no_sync(), uvedit_face_select_set_no_sync(), uvedit_face_visible_test(), uvedit_select_prepare_custom_data(), and uvedit_vert_select_get_no_sync().
Referenced by uv_rip_object(), uv_select_invert(), uv_select_more_less(), uv_select_similar_edge_exec(), uv_select_similar_face_exec(), uv_select_similar_island_exec(), and uv_select_similar_vert_exec().
Definition at line 1070 of file uvedit_select.cc.
References bm, BM_face_select_set(), BM_loop_vert_uvselect_set_noflush(), BM_vert_select_set(), ED_uvedit_sync_uvselect_ignore(), l, SCE_SELECT_FACE, ToolSettings::selectmode, Scene::toolsettings, ToolSettings::uv_flag, UV_FLAG_SELECT_SYNC, and uvedit_vert_select_set_no_sync().
Referenced by uv_rip_object(), and uvedit_uv_select_set().
Definition at line 1044 of file uvedit_select.cc.
References bm, BM_face_select_set(), BM_loop_vert_uvselect_set_noflush(), BM_vert_select_set(), ED_uvedit_sync_uvselect_ignore(), l, SCE_SELECT_EDGE, SCE_SELECT_FACE, ToolSettings::selectmode, Scene::toolsettings, ToolSettings::uv_flag, UV_FLAG_SELECT_SYNC, and uvedit_vert_select_set_no_sync().
Referenced by stitch_propagate_uv_final_position(), uv_select_pinned_exec(), and uvedit_uv_select_set().
Select UV Vertex.
Changes selection state of a single UV vertex.
Definition at line 1034 of file uvedit_select.cc.
References bm, l, select, uvedit_uv_select_disable(), and uvedit_uv_select_enable().
Referenced by do_lasso_select_mesh_uv(), uv_box_select_exec(), uv_circle_select_exec(), uv_select_flush_from_tag_loop(), uv_select_similar_vert_exec(), uvedit_uv_select_flush_from_tag_sticky_loc_internal(), uvedit_uv_select_set_with_sticky(), uvedit_uv_select_shared_vert(), uvedit_vertex_select_tagged(), and verttag_set_cb().
| void uvedit_uv_select_set_with_sticky | ( | const Scene * | scene, |
| BMesh * | bm, | ||
| BMLoop * | l, | ||
| bool | select, | ||
| const BMUVOffsets & | offsets ) |
Definition at line 965 of file uvedit_select.cc.
References bm, ED_uvedit_sync_uvselect_ignore(), l, select, Scene::toolsettings, ToolSettings::uv_flag, UV_FLAG_SELECT_SYNC, ToolSettings::uv_sticky, UV_STICKY_DISABLE, UV_STICKY_LOCATION, UV_STICKY_VERT, uvedit_face_visible_test(), uvedit_uv_select_set(), and uvedit_uv_select_shared_vert().
Referenced by uv_mouse_select_multi(), uv_select_edgeloop(), and uv_select_edgering().
| void uvedit_uv_select_shared_vert | ( | const Scene * | scene, |
| BMesh * | bm, | ||
| BMLoop * | l, | ||
| const bool | select, | ||
| const int | sticky_flag, | ||
| const BMUVOffsets & | offsets ) |
Selects shared UVs based on #sticky_flag.
| sticky_flag | Type of sticky selection:
|
Definition at line 996 of file uvedit_select.cc.
References BLI_assert, bm, BM_DISK_EDGE_NEXT, BM_loop_uv_share_vert_check(), ELEM, BMLoop::f, BMEdge::l, l, BMLoop::radial_next, select, BMUVOffsets::uv, UV_STICKY_LOCATION, UV_STICKY_VERT, uvedit_face_visible_test(), uvedit_uv_select_set(), and BMLoop::v.
Referenced by uvedit_edge_select_shared_vert(), uvedit_face_select_shared_vert(), and uvedit_uv_select_set_with_sticky().
| bool uvedit_uv_select_test | ( | const Scene * | scene, |
| const BMesh * | bm, | ||
| const BMLoop * | l, | ||
| const BMUVOffsets & | offsets ) |
Definition at line 957 of file uvedit_select.cc.
References bm, l, Scene::toolsettings, and uvedit_uv_select_test_ex().
Referenced by bm_uv_build_islands(), BM_uv_element_map_create(), construct_param_handle_face_add(), blender::ed::transform::createTransUVs(), do_lasso_select_mesh_uv(), ED_uvedit_foreach_uv(), ED_uvedit_selectmode_clean(), island_has_pins(), stitch_init(), texface_from_original_index(), uv_box_select_exec(), uv_circle_select_exec(), uv_find_nearest_vert(), uv_mouse_select_multi(), uv_pin_exec(), uv_remove_doubles_to_selected_shared_vertex(), uv_select_linked_multi(), uv_select_similar_vert_exec(), uv_shortest_path_pick_invoke(), uv_snap_uvs_to_adjacent_unselected(), uvedit_center(), uvedit_first_selected_uv_from_vertex(), uvedit_have_selection(), uvedit_is_face_affected(), uvedit_nearest_uv(), uvedit_prepare_pinned_indices(), uvedit_translate(), and verttag_test_cb().
| bool uvedit_uv_select_test_ex | ( | const ToolSettings * | ts, |
| const BMesh * | bm, | ||
| const BMLoop * | l, | ||
| const BMUVOffsets & | offsets ) |
Definition at line 877 of file uvedit_select.cc.
References BLI_assert_unreachable, bm, BM_elem_flag_test, BM_elem_flag_test_bool, BM_ELEM_SELECT, BM_ELEM_SELECT_UV, ED_uvedit_sync_uvselect_ignore(), l, SCE_SELECT_EDGE, SCE_SELECT_FACE, ToolSettings::selectmode, ToolSettings::uv_flag, UV_FLAG_SELECT_SYNC, ToolSettings::uv_sticky, UV_STICKY_DISABLE, UV_STICKY_LOCATION, uvedit_vert_is_edge_select_any_other(), uvedit_vert_is_face_select_any_other(), and uvedit_vert_select_get_no_sync().
Referenced by blender::draw::mesh_render_data_loop_flag(), blender::ed::transform::uv_set_connectivity_distance(), and uvedit_uv_select_test().