BLI: refactor IndexMask for better performance and memory usage #104629
|
@ -128,7 +128,7 @@ struct DeleteOperationExecutor {
|
|||
}
|
||||
|
||||
IndexMaskMemory mask_memory;
|
||||
const IndexMask &mask_to_delete = IndexMask::from_bools(curves_to_delete, mask_memory);
|
||||
const IndexMask mask_to_delete = IndexMask::from_bools(curves_to_delete, mask_memory);
|
||||
JacquesLucke marked this conversation as resolved
Outdated
|
||||
|
||||
/* Remove deleted curves from the stored deformed positions. */
|
||||
const Vector<IndexRange> ranges_to_keep = mask_to_delete.to_ranges_invert(
|
||||
|
|
|
@ -604,7 +604,7 @@ struct DensitySubtractOperationExecutor {
|
|||
}
|
||||
|
||||
IndexMaskMemory mask_memory;
|
||||
const IndexMask &mask_to_delete = IndexMask::from_bools(curves_to_delete, mask_memory);
|
||||
const IndexMask mask_to_delete = IndexMask::from_bools(curves_to_delete, mask_memory);
|
||||
|
||||
/* Remove deleted curves from the stored deformed root positions. */
|
||||
const Vector<IndexRange> ranges_to_keep = mask_to_delete.to_ranges_invert(
|
||||
|
|
|
@ -331,7 +331,7 @@ static void node_geo_exec(GeoNodeExecParams params)
|
|||
index = std::clamp(index, 0, domain_size - 1);
|
||||
}
|
||||
if (index >= 0 && index < domain_size) {
|
||||
const IndexMask &mask = IndexRange(index, 1);
|
||||
const IndexMask mask = IndexRange(index, 1);
|
||||
const bke::GeometryFieldContext geometry_context(*component, domain);
|
||||
FieldEvaluator evaluator(geometry_context, &mask);
|
||||
evaluator.add(value_field);
|
||||
|
|
Loading…
Reference in New Issue
Probably shouldn't be a reference here