Blender V4.3
pbvh_uv_islands.hh File Reference
#include <fstream>
#include <optional>
#include "BLI_array.hh"
#include "BLI_map.hh"
#include "BLI_math_matrix_types.hh"
#include "BLI_math_vector_types.hh"
#include "BLI_offset_indices.hh"
#include "BLI_rect.h"
#include "BLI_vector.hh"
#include "BLI_vector_list.hh"
#include "BLI_virtual_array.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.