Changeset View
Changeset View
Standalone View
Standalone View
source/blender/nodes/geometry/nodes/node_geo_boolean.cc
| Show First 20 Lines • Show All 113 Lines • ▼ Show 20 Lines | #endif | ||||
| for (const GeometrySet &geometry_set : geometry_sets) { | for (const GeometrySet &geometry_set : geometry_sets) { | ||||
| bke::geometry_set_gather_instances(geometry_set, set_groups); | bke::geometry_set_gather_instances(geometry_set, set_groups); | ||||
| } | } | ||||
| for (const bke::GeometryInstanceGroup &set_group : set_groups) { | for (const bke::GeometryInstanceGroup &set_group : set_groups) { | ||||
| const Mesh *mesh_in = set_group.geometry_set.get_mesh_for_read(); | const Mesh *mesh_in = set_group.geometry_set.get_mesh_for_read(); | ||||
| if (mesh_in != nullptr) { | if (mesh_in != nullptr) { | ||||
| meshes.append_n_times(mesh_in, set_group.transforms.size()); | meshes.append_n_times(mesh_in, set_group.transforms.size()); | ||||
| for (const int i : set_group.transforms.index_range()) { | for (const int i : iter_indices(set_group.transforms)) { | ||||
| transforms.append(set_group.transforms.begin() + i); | transforms.append(set_group.transforms.begin() + i); | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| Mesh *result = blender::meshintersect::direct_mesh_boolean( | Mesh *result = blender::meshintersect::direct_mesh_boolean( | ||||
| meshes, transforms, float4x4::identity(), {}, use_self, hole_tolerant, operation); | meshes, transforms, float4x4::identity(), {}, use_self, hole_tolerant, operation); | ||||
| Show All 17 Lines | |||||