Alembic/USD: use geometry sets to import data #115623

Merged
Jesse Yurkovich merged 14 commits from kevindietrich/blender:abc_usd_geometry_sets_review into main 2024-02-28 03:02:48 +01:00
3 changed files with 7 additions and 7 deletions
Showing only changes of commit 300a3a6198 - Show all commits

View File

@ -372,8 +372,8 @@ void AbcCurveReader::read_curves_sample(Curves *curves,
if (data.radii) {
bke::SpanAttributeWriter<float> radii =
geometry.attributes_for_write().lookup_or_add_for_write_span<float>("radius",
ATTR_DOMAIN_POINT);
geometry.attributes_for_write().lookup_or_add_for_write_span<float>(
"radius", bke::AttrDomain::Point);
for (const int i_curve : geometry.curves_range()) {
int position_offset = data.offset_in_alembic[i_curve];

View File

@ -164,13 +164,13 @@ void AbcPointsReader::read_geometry(bke::GeometrySet &geometry_set,
bke::MutableAttributeAccessor attribute_accessor = point_cloud->attributes_for_write();
bke::SpanAttributeWriter<float3> positions_writer =
attribute_accessor.lookup_or_add_for_write_span<float3>("position", ATTR_DOMAIN_POINT);
attribute_accessor.lookup_or_add_for_write_span<float3>("position", bke::AttrDomain::Point);
MutableSpan<float3> point_positions = positions_writer.span;
N3fArraySamplePtr normals = read_points_sample(m_schema, sample_sel, point_positions);
positions_writer.finish();
bke::SpanAttributeWriter<float> point_radii_writer =
attribute_accessor.lookup_or_add_for_write_span<float>("radius", ATTR_DOMAIN_POINT);
attribute_accessor.lookup_or_add_for_write_span<float>("radius", bke::AttrDomain::Point);
MutableSpan<float> point_radii = point_radii_writer.span;
if (radii) {
@ -185,7 +185,7 @@ void AbcPointsReader::read_geometry(bke::GeometrySet &geometry_set,
if (normals) {
bke::SpanAttributeWriter<float3> normals_writer =
attribute_accessor.lookup_or_add_for_write_span<float3>("N", ATTR_DOMAIN_POINT);
attribute_accessor.lookup_or_add_for_write_span<float3>("N", bke::AttrDomain::Point);
MutableSpan<float3> point_normals = normals_writer.span;
for (size_t i = 0; i < normals->size(); i++) {
Imath::V3f nor_in = (*normals)[i];

View File

@ -164,8 +164,8 @@ void USDCurvesReader::read_curve_sample(Curves *cu, const double motionSampleTim
if (usdWidths.size()) {
bke::SpanAttributeWriter<float> radii =
geometry.attributes_for_write().lookup_or_add_for_write_span<float>("radius",
ATTR_DOMAIN_POINT);
geometry.attributes_for_write().lookup_or_add_for_write_span<float>(
"radius", bke::AttrDomain::Point);
for (const int i_point : geometry.points_range()) {
radii.span[i_point] = usdWidths[i_point];
}