|
Blender V4.3
|
Public Member Functions | |
| Fan (const MeshData &mesh_data, const int vertex) | |
| int | count_edges_not_added () const |
| void | mark_already_added_segments (const UVVertex &uv_vertex) |
| void | init_uv_coordinates (const MeshData &mesh_data, UVVertex &uv_vertex) |
| bool | contains_vertex_on_outside (const MeshData &mesh_data, const int vertex_index) const |
| Vector< FanSegment * > | best_path_between (const MeshData &mesh_data, const int from_vertex, const int to_vertex) |
| void | print_debug (const MeshData &mesh_data) const |
Static Public Member Functions | |
| static bool | is_path_valid (const Span< FanSegment * > path, const MeshData &mesh_data, const int from_vertex, const int to_vertex) |
| static Vector< FanSegment * > | path_between (const Span< FanSegment * > edge_order, const MeshData &mesh_data, const int from_vertex, const int to_vertex, const bool reversed) |
| static int64_t | score (const Span< FanSegment * > solution) |
Public Attributes | ||
| Vector< FanSegment > | segments | |
| struct { | ||
| bool is_manifold: 1 | ||
| } | flags | |
Definition at line 558 of file pbvh_uv_islands.cc.
Definition at line 571 of file pbvh_uv_islands.cc.
References blender::bke::pbvh::uv_islands::MeshData::corner_tris, blender::bke::pbvh::uv_islands::MeshData::edge_to_primitive_map, blender::bke::pbvh::uv_islands::MeshData::edges, flags, blender::bke::pbvh::uv_islands::MeshData::primitive_to_edge_map, segments, and blender::bke::pbvh::uv_islands::MeshData::vert_to_edge_map.
|
inline |
Definition at line 752 of file pbvh_uv_islands.cc.
References BLI_assert_msg, contains_vertex_on_outside(), is_path_valid(), path_between(), score(), segments, and blender::bke::Vector.
Referenced by blender::bke::pbvh::uv_islands::extend_at_vert().
|
inline |
Check if the given vertex is part of the outside of the fan. Return true if the given vertex is found on the outside of the fan, otherwise returns false.
Definition at line 662 of file pbvh_uv_islands.cc.
References blender::bke::pbvh::uv_islands::MeshData::corner_verts, segments, and v2.
Referenced by best_path_between().
|
inline |
Definition at line 611 of file pbvh_uv_islands.cc.
References result, and segments.
Referenced by blender::bke::pbvh::uv_islands::extend_at_vert().
|
inline |
Definition at line 632 of file pbvh_uv_islands.cc.
References blender::bke::pbvh::uv_islands::MeshData::corner_verts, segments, blender::bke::pbvh::uv_islands::UVVertex::uv, blender::bke::pbvh::uv_islands::UVVertex::uv_edges, and blender::bke::pbvh::uv_islands::UVVertex::vertex.
Referenced by blender::bke::pbvh::uv_islands::extend_at_vert().
|
inlinestatic |
Definition at line 675 of file pbvh_uv_islands.cc.
References blender::bke::pbvh::uv_islands::MeshData::corner_verts, ELEM, and v2.
Referenced by best_path_between().
|
inline |
Definition at line 622 of file pbvh_uv_islands.cc.
References blender::bke::pbvh::uv_islands::connecting_mesh_primitive_indices(), blender::Vector< T, InlineBufferCapacity, Allocator >::contains(), and segments.
Referenced by blender::bke::pbvh::uv_islands::extend_at_vert().
|
inlinestatic |
Find the closest path over the fan between from_vertex and to_vertex. The result contains exclude the starting and final edge.
Algorithm only uses the winding order of the given fan segments.
Definition at line 698 of file pbvh_uv_islands.cc.
References blender::bke::pbvh::uv_islands::MeshData::corner_verts, blender::Vector< T, InlineBufferCapacity, Allocator >::reserve(), result, blender::Span< T >::size(), and v2.
Referenced by best_path_between().
|
inline |
Definition at line 791 of file pbvh_uv_islands.cc.
References segments.
|
inlinestatic |
Score the given solution to be the best. Best solution would have the lowest score.
Score is determined by counting the number of steps and subtracting that with steps that have not yet been visited.
Definition at line 741 of file pbvh_uv_islands.cc.
References blender::Span< T >::size().
Referenced by best_path_between().
| struct { ... } blender::bke::pbvh::uv_islands::Fan::flags |
Referenced by blender::bke::pbvh::uv_islands::extend_at_vert(), and Fan().
| bool blender::bke::pbvh::uv_islands::Fan::is_manifold |
Do all segments of the fan make a full fan, or are there parts missing. Non manifold meshes can have missing parts.
Definition at line 567 of file pbvh_uv_islands.cc.
Referenced by blender::bke::pbvh::uv_islands::extend_at_vert().
| Vector<FanSegment> blender::bke::pbvh::uv_islands::Fan::segments |
Definition at line 560 of file pbvh_uv_islands.cc.
Referenced by best_path_between(), contains_vertex_on_outside(), count_edges_not_added(), Fan(), init_uv_coordinates(), mark_already_added_segments(), and print_debug().