Changeset View
Changeset View
Standalone View
Standalone View
source/blender/nodes/geometry/nodes/node_geo_dual_mesh.cc
| Show First 20 Lines • Show All 635 Lines • ▼ Show 20 Lines | for (const int i : range) { | ||||
| continue; | continue; | ||||
| } | } | ||||
| MutableSpan<int> loop_indices = vertex_poly_indices[i]; | MutableSpan<int> loop_indices = vertex_poly_indices[i]; | ||||
| Array<int> sorted_corners(loop_indices.size()); | Array<int> sorted_corners(loop_indices.size()); | ||||
| if (vertex_types[i] == VertexType::Normal) { | if (vertex_types[i] == VertexType::Normal) { | ||||
| Array<int> shared_edges(loop_indices.size()); | Array<int> shared_edges(loop_indices.size()); | ||||
| sort_vertex_polys( | sort_vertex_polys( | ||||
| mesh_in, i, false, edge_types, loop_indices, shared_edges, sorted_corners); | mesh_in, i, false, edge_types, loop_indices, shared_edges, sorted_corners); | ||||
| vertex_shared_edges[i] = shared_edges; | vertex_shared_edges[i] = std::move(shared_edges); | ||||
| } | } | ||||
| else { | else { | ||||
| Array<int> shared_edges(loop_indices.size() - 1); | Array<int> shared_edges(loop_indices.size() - 1); | ||||
| sort_vertex_polys( | sort_vertex_polys( | ||||
| mesh_in, i, true, edge_types, loop_indices, shared_edges, sorted_corners); | mesh_in, i, true, edge_types, loop_indices, shared_edges, sorted_corners); | ||||
| vertex_shared_edges[i] = shared_edges; | vertex_shared_edges[i] = std::move(shared_edges); | ||||
| } | } | ||||
| vertex_corners[i] = sorted_corners; | vertex_corners[i] = std::move(sorted_corners); | ||||
| } | } | ||||
| }); | }); | ||||
| Vector<float3> vertex_positions(mesh_in.totpoly); | Vector<float3> vertex_positions(mesh_in.totpoly); | ||||
| for (const int i : IndexRange(mesh_in.totpoly)) { | for (const int i : IndexRange(mesh_in.totpoly)) { | ||||
| const MPoly poly = mesh_in.mpoly[i]; | const MPoly poly = mesh_in.mpoly[i]; | ||||
| BKE_mesh_calc_poly_center( | BKE_mesh_calc_poly_center( | ||||
| &poly, &mesh_in.mloop[poly.loopstart], mesh_in.mvert, vertex_positions[i]); | &poly, &mesh_in.mloop[poly.loopstart], mesh_in.mvert, vertex_positions[i]); | ||||
| ▲ Show 20 Lines • Show All 257 Lines • Show Last 20 Lines | |||||