Blender V4.3
pbvh_uv_islands.cc File Reference
#include "BLI_map.hh"
#include "BLI_math_geom.h"
#include "BLI_math_matrix.hh"
#include "BLI_math_vector.h"
#include "BLI_ordered_edge.hh"
#include "pbvh_uv_islands.hh"
#include <iostream>
#include <optional>
#include <sstream>

Go to the source code of this file.

Classes

struct  blender::bke::pbvh::uv_islands::FanSegment
 
struct  blender::bke::pbvh::uv_islands::Fan
 

Namespaces

namespace  blender
 
namespace  blender::bke
 
namespace  blender::bke::pbvh
 
namespace  blender::bke::pbvh::uv_islands
 

Functions

static void blender::bke::pbvh::uv_islands::uv_edge_append_to_uv_vertices (UVEdge &uv_edge)
 
static void blender::bke::pbvh::uv_islands::uv_primitive_append_to_uv_edges (UVPrimitive &uv_primitive)
 
static void blender::bke::pbvh::uv_islands::uv_primitive_append_to_uv_vertices (UVPrimitive &uv_primitive)
 
Mesh Primitives
static int blender::bke::pbvh::uv_islands::primitive_get_other_uv_vertex (const MeshData &mesh_data, const int3 &tri, const int v1, const int v2)
 
static bool blender::bke::pbvh::uv_islands::primitive_has_shared_uv_edge (const Span< float2 > uv_map, const int3 &tri, const int3 &tri_other)
 
static int blender::bke::pbvh::uv_islands::get_uv_loop (const MeshData &mesh_data, const int3 &tri, const int vert)
 
static rctf blender::bke::pbvh::uv_islands::primitive_uv_bounds (const int3 &tri, const Span< float2 > uv_map)
 
UVVertex
static void blender::bke::pbvh::uv_islands::uv_vertex_init_flags (UVVertex &uv_vertex)
 
static Vector< intblender::bke::pbvh::uv_islands::connecting_mesh_primitive_indices (const UVVertex &uv_vertex)
 
UVIsland
static UVPrimitiveblender::bke::pbvh::uv_islands::add_primitive (const MeshData &mesh_data, UVIsland &uv_island, const int primitive_i)
 
static std::optional< UVBorderCornerblender::bke::pbvh::uv_islands::sharpest_border_corner (UVBorder &border, float *r_angle)
 
static std::optional< UVBorderCornerblender::bke::pbvh::uv_islands::sharpest_border_corner (UVIsland &island)
 
static void blender::bke::pbvh::uv_islands::add_uv_primitive_shared_uv_edge (const MeshData &mesh_data, UVIsland &island, UVVertex *connected_vert_1, UVVertex *connected_vert_2, float2 uv_unconnected, const int mesh_primitive_i)
 
static int blender::bke::pbvh::uv_islands::find_fill_primitive (const MeshData &mesh_data, UVBorderCorner &corner)
 
static void blender::bke::pbvh::uv_islands::add_uv_primitive_fill (UVIsland &island, UVVertex &uv_vertex1, UVVertex &uv_vertex2, UVVertex &uv_vertex3, const int fill_primitive_i)
 
static void blender::bke::pbvh::uv_islands::extend_at_vert (const MeshData &mesh_data, UVIsland &island, UVBorderCorner &corner, float min_uv_distance)
 
static void blender::bke::pbvh::uv_islands::reset_extendability_flags (UVIsland &island)
 
UVIslandsMask
static ushort2 blender::bke::pbvh::uv_islands::mask_resolution_from_tile_resolution (ushort2 tile_resolution)
 
static void blender::bke::pbvh::uv_islands::add_uv_island (const MeshData &mesh_data, UVIslandsMask::Tile &tile, const UVIsland &uv_island, int16_t island_index)
 
static bool blender::bke::pbvh::uv_islands::dilate_x (UVIslandsMask::Tile &islands_mask)
 
static bool blender::bke::pbvh::uv_islands::dilate_y (UVIslandsMask::Tile &islands_mask)
 
static void blender::bke::pbvh::uv_islands::dilate_tile (UVIslandsMask::Tile &tile, int max_iterations)
 

MeshData

static constexpr int blender::bke::pbvh::uv_islands::INVALID_UV_ISLAND_ID = -1
 
static void blender::bke::pbvh::uv_islands::mesh_data_init_edges (MeshData &mesh_data)
 
static void blender::bke::pbvh::uv_islands::extract_uv_neighbors (const MeshData &mesh_data, const Span< int > uv_island_ids, const int primitive_i, Vector< int > &prims_to_add)
 
static int blender::bke::pbvh::uv_islands::mesh_data_init_primitive_uv_island_ids (MeshData &mesh_data)
 
static void blender::bke::pbvh::uv_islands::mesh_data_init (MeshData &mesh_data)