Cleanup: Use attribute API for Alembic crease import
This commit is contained in:
@@ -948,17 +948,17 @@ static void read_edge_creases(Mesh *mesh,
|
||||
return;
|
||||
}
|
||||
|
||||
MutableSpan<int2> edges = mesh->edges_for_write();
|
||||
const Span<int2> edges = mesh->edges_for_write();
|
||||
Map<OrderedEdge, int> edge_hash;
|
||||
edge_hash.reserve(edges.size());
|
||||
|
||||
float *creases = static_cast<float *>(CustomData_add_layer_named(
|
||||
&mesh->edge_data, CD_PROP_FLOAT, CD_SET_DEFAULT, edges.size(), "crease_edge"));
|
||||
|
||||
for (const int i : edges.index_range()) {
|
||||
edge_hash.add(edges[i], i);
|
||||
}
|
||||
|
||||
bke::MutableAttributeAccessor attributes = mesh->attributes_for_write();
|
||||
bke::SpanAttributeWriter<float> creases = attributes.lookup_or_add_for_write_span<float>(
|
||||
"crease_edge", bke::AttrDomain::Edge);
|
||||
|
||||
for (int i = 0, s = 0, e = indices->size(); i < e; i += 2, s++) {
|
||||
int v1 = (*indices)[i];
|
||||
int v2 = (*indices)[i + 1];
|
||||
@@ -967,7 +967,7 @@ static void read_edge_creases(Mesh *mesh,
|
||||
continue;
|
||||
}
|
||||
|
||||
creases[*index] = std::clamp((*sharpnesses)[s], 0.0f, 1.0f);
|
||||
creases.span[*index] = std::clamp((*sharpnesses)[s], 0.0f, 1.0f);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user