diff options
Diffstat (limited to 'source/blender/nodes/geometry/nodes/node_geo_points_to_volume.cc')
-rw-r--r-- | source/blender/nodes/geometry/nodes/node_geo_points_to_volume.cc | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/source/blender/nodes/geometry/nodes/node_geo_points_to_volume.cc b/source/blender/nodes/geometry/nodes/node_geo_points_to_volume.cc index 1731ba64b97..c99b51ffd4c 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_points_to_volume.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_points_to_volume.cc @@ -198,17 +198,12 @@ static void initialize_volume_component_from_points(GeoNodeExecParams ¶ms, Vector<float3> positions; Vector<float> radii; - if (r_geometry_set.has<MeshComponent>()) { - gather_point_data_from_component( - params, *r_geometry_set.get_component_for_read<MeshComponent>(), positions, radii); - } - if (r_geometry_set.has<PointCloudComponent>()) { - gather_point_data_from_component( - params, *r_geometry_set.get_component_for_read<PointCloudComponent>(), positions, radii); - } - if (r_geometry_set.has<CurveComponent>()) { - gather_point_data_from_component( - params, *r_geometry_set.get_component_for_read<CurveComponent>(), positions, radii); + for (const GeometryComponentType type : + {GEO_COMPONENT_TYPE_MESH, GEO_COMPONENT_TYPE_POINT_CLOUD, GEO_COMPONENT_TYPE_CURVE}) { + if (r_geometry_set.has(type)) { + gather_point_data_from_component( + params, *r_geometry_set.get_component_for_read(type), positions, radii); + } } const float max_radius = *std::max_element(radii.begin(), radii.end()); |