Blender V5.0
pbvh_uv_islands.hh File Reference
#include <optional>
#include "BLI_array.hh"
#include "BLI_map.hh"
#include "BLI_math_vector_types.hh"
#include "BLI_offset_indices.hh"
#include "BLI_vector.hh"
#include "BLI_vector_list.hh"

Go to the source code of this file.

Classes

class  blender::bke::pbvh::uv_islands::VertToEdgeMap
class  blender::bke::pbvh::uv_islands::EdgeToPrimitiveMap
class  blender::bke::pbvh::uv_islands::TriangleToEdgeMap
struct  blender::bke::pbvh::uv_islands::MeshData
struct  blender::bke::pbvh::uv_islands::UVVertex
struct  blender::bke::pbvh::uv_islands::UVEdge
struct  blender::bke::pbvh::uv_islands::UVPrimitive
struct  blender::bke::pbvh::uv_islands::UVBorderEdge
struct  blender::bke::pbvh::uv_islands::UVBorderCorner
struct  blender::bke::pbvh::uv_islands::UVBorder
struct  blender::bke::pbvh::uv_islands::UVIsland
struct  blender::bke::pbvh::uv_islands::UVIslands
struct  blender::bke::pbvh::uv_islands::UVIslandsMask
struct  blender::bke::pbvh::uv_islands::UVIslandsMask::Tile

Namespaces

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

Detailed Description

UV Islands for pbvh::Tree Pixel extraction. When primitives share an edge they belong to the same UV Island.

Note
Similar to uvedit_islands.cc, but optimized for pbvh::Tree painting without using BMesh for performance reasons. Non-manifold meshes only (i.e. edges must have less than 3 faces).

Polygons (face with more than 3 edges) are supported as they are split up to primitives.

Note
After the algorithm is stable the OO data structures should be converted back to use DOD principles to improve reusability. Currently this is not done (yet) as during implementation it was hard to follow when the algorithm evolved during several iterations. At that time we needed more flexibility.

Definition in file pbvh_uv_islands.hh.