|
Blender V5.0
|
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 551 of file pbvh_uv_islands.cc.
|
inline |
Definition at line 564 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 745 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 655 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 604 of file pbvh_uv_islands.cc.
References result, and segments.
Referenced by blender::bke::pbvh::uv_islands::extend_at_vert().
|
inline |
Definition at line 625 of file pbvh_uv_islands.cc.
References blender::bke::pbvh::uv_islands::MeshData::corner_verts, blender::bke::pbvh::uv_islands::UVEdge::get_other_uv_vertex(), i, 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 668 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 615 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 691 of file pbvh_uv_islands.cc.
References blender::bke::pbvh::uv_islands::MeshData::corner_verts, result, blender::Span< T >::size(), and v2.
Referenced by best_path_between().
|
inline |
Definition at line 784 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 734 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 560 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 553 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().