Differential D15954 Diff 56253 source/blender/nodes/geometry/nodes/node_geo_mesh_face_set_boundaries.cc
Changeset View
Changeset View
Standalone View
Standalone View
source/blender/nodes/geometry/nodes/node_geo_mesh_face_set_boundaries.cc
| Show First 20 Lines • Show All 59 Lines • ▼ Show 20 Lines | for (const int i : polys.index_range()) { | ||||
| } | } | ||||
| edge_visited[edge] = true; | edge_visited[edge] = true; | ||||
| edge_face_set[edge] = face_set[i]; | edge_face_set[edge] = face_set[i]; | ||||
| } | } | ||||
| } | } | ||||
| return mesh.attributes().adapt_domain<bool>( | return mesh.attributes().adapt_domain<bool>( | ||||
| VArray<bool>::ForContainer(std::move(boundary)), ATTR_DOMAIN_EDGE, domain); | VArray<bool>::ForContainer(std::move(boundary)), ATTR_DOMAIN_EDGE, domain); | ||||
| } | } | ||||
| std::optional<eAttrDomain> preferred_domain(const Mesh & /*mesh*/) const override | |||||
| { | |||||
| return ATTR_DOMAIN_EDGE; | |||||
| } | |||||
| }; | }; | ||||
| static void node_geo_exec(GeoNodeExecParams params) | static void node_geo_exec(GeoNodeExecParams params) | ||||
| { | { | ||||
| const Field<int> face_set_field = params.extract_input<Field<int>>("Face Set"); | const Field<int> face_set_field = params.extract_input<Field<int>>("Face Set"); | ||||
| Field<bool> face_set_boundaries{std::make_shared<BoundaryFieldInput>(face_set_field)}; | Field<bool> face_set_boundaries{std::make_shared<BoundaryFieldInput>(face_set_field)}; | ||||
| params.set_output("Boundary Edges", std::move(face_set_boundaries)); | params.set_output("Boundary Edges", std::move(face_set_boundaries)); | ||||
| } | } | ||||
| Show All 14 Lines | |||||