Blender V4.3
uvedit_intern.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2008 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
9#pragma once
10
11#include "BKE_customdata.hh"
12
13struct BMVert;
14struct BMEdge;
15struct BMFace;
16struct BMLoop;
17struct Object;
18struct Scene;
19struct SpaceImage;
20struct wmOperatorType;
21struct View2D;
22
23/* find nearest */
24
37 float dist_sq;
38
40 float scale[2];
41};
42
43UvNearestHit uv_nearest_hit_init_dist_px(const View2D *v2d, float dist_px);
46
48 Scene *scene, Object *obedit, const float co[2], float penalty_dist, UvNearestHit *hit);
51 const float co[2],
52 float penalty_dist,
53 UvNearestHit *hit);
54
56 Scene *scene, Object *obedit, const float co[2], float penalty, UvNearestHit *hit);
59 const float co[2],
60 float penalty,
61 UvNearestHit *hit);
62
73 Scene *scene, Object *obedit, const float co[2], UvNearestHit *hit, bool only_in_face);
74bool uv_find_nearest_face(Scene *scene, Object *obedit, const float co[2], UvNearestHit *hit);
77 const float co[2],
78 UvNearestHit *hit,
79 bool only_in_face);
82 const float co[2],
83 UvNearestHit *hit);
84
85BMLoop *uv_find_nearest_loop_from_vert(Scene *scene, Object *obedit, BMVert *v, const float co[2]);
86BMLoop *uv_find_nearest_loop_from_edge(Scene *scene, Object *obedit, BMEdge *e, const float co[2]);
87
91
92/* utility tool functions */
93
94void uvedit_live_unwrap_update(SpaceImage *sima, Scene *scene, Object *obedit);
95
96/* operators */
97
110
111/* uvedit_copy_paste.cc */
114
115/* `uvedit_path.cc` */
116
119
120/* `uvedit_select.cc` */
121
122bool uvedit_select_is_any_selected(const Scene *scene, Object *obedit);
128const float *uvedit_first_selected_uv_from_vertex(Scene *scene, BMVert *eve, BMUVOffsets offsets);
129
145/* Used only when UV sync select is disabled. */
CustomData interface, see also DNA_customdata_types.h.
ATTR_WARN_UNUSED_RESULT const BMLoop * l
ATTR_WARN_UNUSED_RESULT const BMVert const BMEdge * e
ATTR_WARN_UNUSED_RESULT const BMVert * v
bool uv_find_nearest_vert_multi(Scene *scene, blender::Span< Object * > objects, const float co[2], float penalty_dist, UvNearestHit *hit)
void UV_OT_select_all(wmOperatorType *ot)
void UV_OT_select_edge_ring(wmOperatorType *ot)
void UV_OT_copy(wmOperatorType *ot)
bool uvedit_vert_is_edge_select_any_other(const Scene *scene, BMLoop *l, BMUVOffsets offsets)
bool uvedit_vert_is_all_other_faces_selected(const Scene *scene, BMLoop *l, BMUVOffsets offsets)
void UV_OT_select(wmOperatorType *ot)
bool uv_find_nearest_face_multi(Scene *scene, blender::Span< Object * > objects, const float co[2], UvNearestHit *hit)
void UV_OT_select_split(wmOperatorType *ot)
void UV_OT_shortest_path_pick(wmOperatorType *ot)
void UV_OT_select_linked(wmOperatorType *ot)
void UV_OT_stitch(wmOperatorType *ot)
bool uvedit_select_is_any_selected_multi(const Scene *scene, blender::Span< Object * > objects)
bool uvedit_vert_is_face_select_any_other(const Scene *scene, BMLoop *l, BMUVOffsets offsets)
void UV_OT_cylinder_project(wmOperatorType *ot)
void UV_OT_project_from_view(wmOperatorType *ot)
void UV_OT_smart_project(wmOperatorType *ot)
void UV_OT_unwrap(wmOperatorType *ot)
void UV_OT_select_circle(wmOperatorType *ot)
bool uv_find_nearest_vert(Scene *scene, Object *obedit, const float co[2], float penalty_dist, UvNearestHit *hit)
UvNearestHit uv_nearest_hit_init_max_default()
void UV_OT_select_mode(wmOperatorType *ot)
UvNearestHit uv_nearest_hit_init_max(const View2D *v2d)
void UV_OT_select_similar(wmOperatorType *ot)
void UV_OT_sphere_project(wmOperatorType *ot)
void UV_OT_rip(wmOperatorType *ot)
void UV_OT_select_linked_pick(wmOperatorType *ot)
void UV_OT_select_more(wmOperatorType *ot)
BMLoop * uv_find_nearest_loop_from_edge(Scene *scene, Object *obedit, BMEdge *e, const float co[2])
void UV_OT_cube_project(wmOperatorType *ot)
void UV_OT_select_pinned(wmOperatorType *ot)
bool uv_find_nearest_face_ex(Scene *scene, Object *obedit, const float co[2], UvNearestHit *hit, bool only_in_face)
void UV_OT_select_loop(wmOperatorType *ot)
bool uv_find_nearest_face(Scene *scene, Object *obedit, const float co[2], UvNearestHit *hit)
UvNearestHit uv_nearest_hit_init_dist_px(const View2D *v2d, float dist_px)
void uvedit_live_unwrap_update(SpaceImage *sima, Scene *scene, Object *obedit)
void UV_OT_shortest_path_select(wmOperatorType *ot)
void UV_OT_average_islands_scale(wmOperatorType *ot)
BMLoop * uv_find_nearest_loop_from_vert(Scene *scene, Object *obedit, BMVert *v, const float co[2])
const float * uvedit_first_selected_uv_from_vertex(Scene *scene, BMVert *eve, BMUVOffsets offsets)
void UV_OT_reset(wmOperatorType *ot)
void UV_OT_select_overlap(wmOperatorType *ot)
void UV_OT_minimize_stretch(wmOperatorType *ot)
void UV_OT_select_lasso(wmOperatorType *ot)
bool uv_find_nearest_edge_multi(Scene *scene, blender::Span< Object * > objects, const float co[2], float penalty, UvNearestHit *hit)
void UV_OT_paste(wmOperatorType *ot)
void UV_OT_pack_islands(wmOperatorType *ot)
bool uvedit_select_is_any_selected(const Scene *scene, Object *obedit)
void UV_OT_select_less(wmOperatorType *ot)
bool uv_find_nearest_edge(Scene *scene, Object *obedit, const float co[2], float penalty, UvNearestHit *hit)
void UV_OT_select_box(wmOperatorType *ot)
bool uv_find_nearest_face_multi_ex(Scene *scene, blender::Span< Object * > objects, const float co[2], UvNearestHit *hit, bool only_in_face)
wmOperatorType * ot
Definition wm_files.cc:4125