23 bool use_color3f_type)
25 switch (blender_type) {
27 return pxr::SdfValueTypeNames->FloatArray;
29 return pxr::SdfValueTypeNames->UCharArray;
31 return pxr::SdfValueTypeNames->IntArray;
33 return pxr::SdfValueTypeNames->Float2Array;
35 return pxr::SdfValueTypeNames->Float3Array;
37 return pxr::SdfValueTypeNames->StringArray;
39 return pxr::SdfValueTypeNames->BoolArray;
42 return use_color3f_type ? pxr::SdfValueTypeNames->Color3fArray :
43 pxr::SdfValueTypeNames->Color4fArray;
45 return pxr::SdfValueTypeNames->QuatfArray;
90 if (value ==
nullptr) {
98 const pxr::UsdTimeCode time,
104 const pxr::TfToken pv_name = pxr::UsdGeomPrimvar::StripPrimvarsName(primvar.GetPrimvarName());
107 pv_name.GetText(), domain, data_type);
112 primvar, time, face_indices, attribute.
span.
typed<
float>());
116 primvar, time, face_indices, attribute.
span.
typed<int8_t>());
120 primvar, time, face_indices, attribute.
span.
typed<
int>());
131 const pxr::SdfValueTypeName pv_type = primvar.GetTypeName();
133 pxr::SdfValueTypeNames->Color3fArray,
134 pxr::SdfValueTypeNames->Color3hArray,
135 pxr::SdfValueTypeNames->Color3dArray))
147 primvar, time, face_indices, attribute.
span.
typed<
bool>());
163 const pxr::UsdTimeCode time,
164 const pxr::UsdGeomPrimvar &primvar,
165 pxr::UsdUtilsSparseValueWriter &value_writer)
170 attribute.
typed<
float>(), time, primvar, value_writer);
174 attribute.
typed<int8_t>(), time, primvar, value_writer);
178 attribute.
typed<
int>(), time, primvar, value_writer);
182 attribute.
typed<
float2>(), time, primvar, value_writer);
186 attribute.
typed<
float3>(), time, primvar, value_writer);
190 attribute.
typed<
bool>(), time, primvar, value_writer);
193 if (primvar.GetTypeName() == pxr::SdfValueTypeNames->Color3fArray) {
203 if (primvar.GetTypeName() == pxr::SdfValueTypeNames->Color3fArray) {
void copy_primvar_to_blender_attribute(const pxr::UsdGeomPrimvar &primvar, const pxr::UsdTimeCode time, const bke::AttrType data_type, const bke::AttrDomain domain, const OffsetIndices< int > face_indices, bke::MutableAttributeAccessor attributes)