Changeset View
Changeset View
Standalone View
Standalone View
source/blender/nodes/geometry/nodes/node_geo_delete_geometry.cc
| Show First 20 Lines • Show All 1,150 Lines • ▼ Show 20 Lines | |||||
| void separate_geometry(GeometrySet &geometry_set, | void separate_geometry(GeometrySet &geometry_set, | ||||
| const AttributeDomain domain, | const AttributeDomain domain, | ||||
| const GeometryNodeDeleteGeometryMode mode, | const GeometryNodeDeleteGeometryMode mode, | ||||
| const Field<bool> &selection_field, | const Field<bool> &selection_field, | ||||
| const bool invert, | const bool invert, | ||||
| bool &r_is_error) | bool &r_is_error) | ||||
| { | { | ||||
| bool some_valid_domain = false; | bool some_valid_domain = false; | ||||
| if (geometry_set.has<PointCloudComponent>()) { | if (geometry_set.has_pointcloud()) { | ||||
| if (domain == ATTR_DOMAIN_POINT) { | if (domain == ATTR_DOMAIN_POINT) { | ||||
| separate_point_cloud_selection(geometry_set, selection_field, invert); | separate_point_cloud_selection(geometry_set, selection_field, invert); | ||||
| some_valid_domain = true; | some_valid_domain = true; | ||||
| } | } | ||||
| } | } | ||||
| if (geometry_set.has<MeshComponent>()) { | if (geometry_set.has_mesh()) { | ||||
| if (domain != ATTR_DOMAIN_CURVE) { | if (domain != ATTR_DOMAIN_CURVE) { | ||||
| separate_mesh_selection(geometry_set, selection_field, domain, mode, invert); | separate_mesh_selection(geometry_set, selection_field, domain, mode, invert); | ||||
| some_valid_domain = true; | some_valid_domain = true; | ||||
| } | } | ||||
| } | } | ||||
| if (geometry_set.has<CurveComponent>()) { | if (geometry_set.has_curve()) { | ||||
| if (ELEM(domain, ATTR_DOMAIN_POINT, ATTR_DOMAIN_CURVE)) { | if (ELEM(domain, ATTR_DOMAIN_POINT, ATTR_DOMAIN_CURVE)) { | ||||
| separate_curve_selection(geometry_set, selection_field, domain, invert); | separate_curve_selection(geometry_set, selection_field, domain, invert); | ||||
| some_valid_domain = true; | some_valid_domain = true; | ||||
| } | } | ||||
| } | } | ||||
| r_is_error = !some_valid_domain && geometry_set.has_realized_data(); | r_is_error = !some_valid_domain && geometry_set.has_realized_data(); | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 47 Lines • Show Last 20 Lines | |||||