53 const bool skip_invisible,
58 const bool skip_invisible,
59 const bool skip_nonselected,
246 const int sticky_flag,
259 const int sticky_flag,
269 const int sticky_flag,
301 const float mval_fl[2],
302 const bool ignore_selected,
337 const int material_index,
383 const bool only_selected_faces,
384 const bool only_selected_uvs,
385 const bool use_seams,
386 const float aspect_y,
CustomData interface, see also DNA_customdata_types.h.
void uvedit_edge_select_set_noflush(const Scene *scene, BMesh *bm, BMLoop *l, const bool select, const int sticky_flag, const BMUVOffsets &offsets)
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)
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)
void ED_keymap_uvedit(wmKeyConfig *keyconf)
void ED_uvedit_select_all(const ToolSettings *ts, BMesh *bm)
void ED_uvedit_selectmode_clean(const Scene *scene, Object *obedit)
UV Select Mode set.
BMLoop * ED_uvedit_active_vert_loop_get(const ToolSettings *ts, BMesh *bm)
bool uvedit_edge_select_test(const Scene *scene, const BMesh *bm, const BMLoop *l, const BMUVOffsets &offsets)
void ED_uvedit_selectmode_clean_multi(bContext *C)
bool uvedit_loop_vert_select_get(const ToolSettings *ts, const BMesh *bm, const BMLoop *l)
void ED_uvedit_add_simple_uvs(Main *bmain, const Scene *scene, Object *ob)
void ED_uvedit_live_unwrap_begin(Scene *scene, Object *obedit, struct wmWindow *win_modal)
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])
void ED_operatortypes_uvedit()
float ED_uvedit_get_aspect_y(Object *obedit)
void uvedit_uv_select_shared_vert(const Scene *scene, BMesh *bm, BMLoop *l, const bool select, const int sticky_flag, const BMUVOffsets &offsets)
void ED_uvedit_sticky_selectmode_update(bContext *C)
void ED_uvedit_active_edge_loop_set(BMesh *bm, BMLoop *l)
bool ED_uvedit_minmax_multi(const Scene *scene, blender::Span< Object * > objects_edit, float r_min[2], float r_max[2])
bool ED_uvedit_sync_uvselect_ignore(const ToolSettings *ts)
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)
void uvedit_select_flush_from_verts(const Scene *scene, BMesh *bm, bool select)
void uvedit_face_select_set_with_sticky(const Scene *scene, BMesh *bm, BMFace *efa, bool select, const BMUVOffsets &offsets)
void ED_uvedit_get_aspect_from_material(Object *ob, const int material_index, float *r_aspx, float *r_aspy)
BMLoop ** ED_uvedit_selected_edges(const Scene *scene, BMesh *bm, int len_max, int *r_edges_len)
void ED_uvedit_foreach_uv(const Scene *scene, BMesh *bm, const bool skip_invisible, const bool selected, blender::FunctionRef< void(float[2])> user_fn)
void ED_uvedit_buttons_register(ARegionType *art)
bool ED_uvedit_live_unwrap_timer_check(const wmTimer *timer)
bool ED_uvedit_test(Object *obedit)
void uvedit_uv_select_disable(const Scene *scene, BMesh *bm, BMLoop *l)
char ED_uvedit_select_mode_get(const Scene *scene)
void ED_uvedit_selectmode_flush(const Scene *scene, BMesh *bm)
UV Select Mode Flush.
bool uvedit_edge_select_test_ex(const ToolSettings *ts, const BMesh *bm, const BMLoop *l, const BMUVOffsets &offsets)
void ED_uvedit_sync_uvselect_ensure_if_needed(const ToolSettings *ts, BMesh *bm)
void ED_uvedit_live_unwrap_re_solve()
bool uvedit_uv_select_test(const Scene *scene, const BMesh *bm, const BMLoop *l, const BMUVOffsets &offsets)
void uvedit_edge_select_set_with_sticky(const Scene *scene, BMesh *bm, BMLoop *l, bool select, const BMUVOffsets &offsets)
void uvedit_loop_vert_select_set(const ToolSettings *ts, const BMesh *bm, BMLoop *l, const bool select)
void ED_image_draw_cursor(ARegion *region, const float cursor[2])
void uvedit_uv_select_set_with_sticky(const Scene *scene, BMesh *bm, BMLoop *l, bool select, const BMUVOffsets &offsets)
void uvedit_edge_select_enable(const Scene *scene, BMesh *bm, BMLoop *l)
void uvedit_edge_select_disable(const Scene *scene, BMesh *bm, BMLoop *l)
void uvedit_face_select_enable(const Scene *scene, BMesh *bm, BMFace *efa)
bool uvedit_face_select_test_ex(const ToolSettings *ts, const BMesh *bm, const BMFace *efa)
void uvedit_uv_select_set(const Scene *scene, BMesh *bm, BMLoop *l, bool select)
Select UV Vertex.
bool ED_uvedit_select_island_check(const ToolSettings *ts)
bool uvedit_loop_edge_select_get(const ToolSettings *ts, const BMesh *bm, const BMLoop *l)
void uvedit_uv_select_enable(const Scene *scene, BMesh *bm, BMLoop *l)
bool ED_uvedit_sync_uvselect_is_valid_or_ignore(const ToolSettings *ts, const BMesh *bm)
void ED_uvedit_get_aspect(Object *obedit, float *r_aspx, float *r_aspy)
void ED_uvedit_select_sync_multi(bContext *C)
void ED_uvedit_select_sync_flush(const ToolSettings *ts, BMesh *bm, bool select)
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)
void ED_uvedit_live_unwrap_end(bool cancel)
void uvedit_loop_edge_select_set(const ToolSettings *ts, const BMesh *bm, BMLoop *l, const bool select)
bool uvedit_face_visible_test(const Scene *scene, const BMFace *efa)
bool uvedit_uv_select_test_ex(const ToolSettings *ts, const BMesh *bm, const BMLoop *l, const BMUVOffsets &offsets)
void uvedit_edge_select_shared_vert(const Scene *scene, BMesh *bm, BMLoop *l, const bool select, const int sticky_flag, const BMUVOffsets &offsets)
void ED_object_assign_active_image(Main *bmain, Object *ob, int mat_nr, Image *ima)
void uvedit_edge_select_set(const Scene *scene, BMesh *bm, BMLoop *l, bool select)
Select UV Edge.
void uvedit_face_select_shared_vert(const Scene *scene, BMesh *bm, BMFace *efa, const bool select, const BMUVOffsets &offsets)
bool uv_coords_isect_udim(const Image *image, const int udim_grid[2], const float coords[2])
BMLoop * ED_uvedit_active_edge_loop_get(const ToolSettings *ts, BMesh *bm)
void ED_uvedit_live_unwrap(const Scene *scene, blender::Span< Object * > objects)
bool ED_uvedit_center_multi(const Scene *scene, blender::Span< Object * > objects_edit, float r_cent[2], char mode)
void ED_uvedit_deselect_all(const Scene *scene, Object *obedit, int action)
void uvedit_face_select_set(const Scene *scene, BMesh *bm, BMFace *efa, bool select)
Select UV Face.
void ED_operatormacros_uvedit()
void uvedit_face_select_disable(const Scene *scene, BMesh *bm, BMFace *efa)
BMFace ** ED_uvedit_selected_faces(const Scene *scene, BMesh *bm, int len_max, int *r_faces_len)
bool uvedit_face_select_test(const Scene *scene, const BMesh *bm, const BMFace *efa)
bool uvedit_face_visible_test_ex(const ToolSettings *ts, const BMFace *efa)
BMLoop ** ED_uvedit_selected_verts(const Scene *scene, BMesh *bm, int len_max, int *r_verts_len)
void ED_uvedit_active_vert_loop_set(BMesh *bm, BMLoop *l)
ATTR_WARN_UNUSED_RESULT const BMLoop * l
ATTR_WARN_UNUSED_RESULT const BMVert * v
NonCopyable(const NonCopyable &other)=delete
void vert_select_set(BMVert *v, bool value)
void face_select_disable(BMFace *f)
void vert_select_enable(BMVert *v)
void vert_select_disable(BMVert *v)
void face_select_set(BMFace *f, bool value)
UVSyncSelectFromMesh(const UVSyncSelectFromMesh &)=delete
void edge_select_enable(BMEdge *f)
UVSyncSelectFromMesh(BMesh &bm, char uv_sticky)
void face_select_enable(BMFace *f)
void edge_select_set(BMEdge *f, bool value)
void edge_select_disable(BMEdge *f)
static std::unique_ptr< UVSyncSelectFromMesh > create_if_needed(const ToolSettings &ts, BMesh &bm)