Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2020-11-17 16:06:04 +0300
committerCampbell Barton <ideasman42@gmail.com>2020-11-17 16:25:30 +0300
commit9296ba867462f7ff3c55bc0c9129af4121243bed (patch)
tree0c192a421dfb19ac2370b988978314bac8e4f6f7 /source/blender/editors/include
parenta993600323867211f45f636058f20b66f144c34b (diff)
Fix T82637: pack UV islands fails with some non-manifold meshes
Edges with 3 or more connected UV's caused UV pack to fail. Instead of using functions from uvedit_parametrizer.c which are intended specifically for ABF/LSCM unwrapping, use a simpler method for packing which stores arrays of BMesh faces.
Diffstat (limited to 'source/blender/editors/include')
-rw-r--r--source/blender/editors/include/ED_uvedit.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/source/blender/editors/include/ED_uvedit.h b/source/blender/editors/include/ED_uvedit.h
index 629e77bd4f2..a55e97fff72 100644
--- a/source/blender/editors/include/ED_uvedit.h
+++ b/source/blender/editors/include/ED_uvedit.h
@@ -27,6 +27,7 @@
extern "C" {
#endif
+struct ARegion;
struct ARegionType;
struct BMEditMesh;
struct BMFace;
@@ -233,6 +234,20 @@ void ED_image_draw_cursor(struct ARegion *region, const float cursor[2]);
/* uvedit_buttons.c */
void ED_uvedit_buttons_register(struct ARegionType *art);
+/* uvedit_islands.c */
+struct UVPackIsland_Params {
+ uint rotate : 1;
+ /** -1 not to align to axis, otherwise 0,1 for X,Y. */
+ int rotate_align_axis : 2;
+ uint only_selected_uvs : 1;
+ uint only_selected_faces : 1;
+ uint correct_aspect : 1;
+};
+void ED_uvedit_pack_islands_multi(const Scene *scene,
+ Object **objects,
+ const uint objects_len,
+ const struct UVPackIsland_Params *params);
+
#ifdef __cplusplus
}
#endif