Blender V5.0
usd_attribute_utils.hh File Reference
#include "BLI_color.hh"
#include "BLI_generic_virtual_array.hh"
#include "BLI_math_quaternion_types.hh"
#include "BLI_math_vector_types.hh"
#include "BLI_span.hh"
#include "BLI_virtual_array.hh"
#include "BKE_attribute.hh"
#include <pxr/base/gf/quatf.h>
#include <pxr/base/gf/vec2f.h>
#include <pxr/base/gf/vec3f.h>
#include <pxr/base/vt/array.h>
#include <pxr/usd/sdf/types.h>
#include <pxr/usd/sdf/valueTypeName.h>
#include <pxr/usd/usd/timeCode.h>
#include <pxr/usd/usdGeom/primvar.h>
#include <pxr/usd/usdUtils/sparseValueWriter.h>
#include <cstdint>
#include <optional>
#include <type_traits>

Go to the source code of this file.

Classes

struct  blender::io::usd::detail::is_layout_compatible< T, U >
struct  blender::io::usd::detail::is_layout_compatible< float2, pxr::GfVec2f >
struct  blender::io::usd::detail::is_layout_compatible< float3, pxr::GfVec3f >
struct  blender::io::usd::detail::is_layout_compatible< pxr::GfVec2f, float2 >
struct  blender::io::usd::detail::is_layout_compatible< pxr::GfVec3f, float3 >
struct  blender::io::usd::detail::is_vt_array< T >
struct  blender::io::usd::detail::is_vt_array< pxr::VtArray< T > >

Namespaces

namespace  usdtokens
namespace  blender
namespace  blender::io
namespace  blender::io::usd
namespace  blender::io::usd::detail

Functions

const pxr::TfToken usdtokens::displayColor ("displayColor", pxr::TfToken::Immortal)
template<typename From, typename To>
To blender::io::usd::detail::convert_value (const From value)
template<>
pxr::GfVec2f blender::io::usd::detail::convert_value (const float2 value)
template<>
pxr::GfVec3f blender::io::usd::detail::convert_value (const float3 value)
template<>
pxr::GfVec3f blender::io::usd::detail::convert_value (const ColorGeometry4f value)
template<>
pxr::GfVec4f blender::io::usd::detail::convert_value (const ColorGeometry4f value)
template<>
pxr::GfVec3f blender::io::usd::detail::convert_value (const ColorGeometry4b value)
template<>
pxr::GfVec4f blender::io::usd::detail::convert_value (const ColorGeometry4b value)
template<>
pxr::GfQuatf blender::io::usd::detail::convert_value (const math::Quaternion value)
template<>
float2 blender::io::usd::detail::convert_value (const pxr::GfVec2f value)
template<>
float3 blender::io::usd::detail::convert_value (const pxr::GfVec3f value)
template<>
ColorGeometry4f blender::io::usd::detail::convert_value (const pxr::GfVec3f value)
template<>
ColorGeometry4f blender::io::usd::detail::convert_value (const pxr::GfVec4f value)
template<>
math::Quaternion blender::io::usd::detail::convert_value (const pxr::GfQuatf value)
std::optional< pxr::SdfValueTypeName > blender::io::usd::convert_blender_type_to_usd (const bke::AttrType blender_type, bool use_color3f_type)
std::optional< bke::AttrTypeblender::io::usd::convert_usd_type_to_blender (const pxr::SdfValueTypeName usd_type)
template<typename USDT>
void blender::io::usd::set_attribute (const pxr::UsdAttribute &attr, const USDT value, pxr::UsdTimeCode time, pxr::UsdUtilsSparseValueWriter &value_writer)
template<typename USDT>
void blender::io::usd::set_attribute (const pxr::UsdAttribute &attr, pxr::VtArray< USDT > &value, pxr::UsdTimeCode time, pxr::UsdUtilsSparseValueWriter &value_writer)
template<typename BlenderT, typename USDT>
void blender::io::usd::copy_blender_buffer_to_primvar (const VArray< BlenderT > &buffer, const pxr::UsdTimeCode time, const pxr::UsdGeomPrimvar &primvar, pxr::UsdUtilsSparseValueWriter &value_writer)
void blender::io::usd::copy_blender_attribute_to_primvar (const GVArray &attribute, const bke::AttrType data_type, const pxr::UsdTimeCode time, const pxr::UsdGeomPrimvar &primvar, pxr::UsdUtilsSparseValueWriter &value_writer)
template<typename T>
pxr::VtArray< Tblender::io::usd::get_primvar_array (const pxr::UsdGeomPrimvar &primvar, const pxr::UsdTimeCode time)
template<typename USDT, typename BlenderT>
void blender::io::usd::copy_primvar_to_blender_buffer (const pxr::UsdGeomPrimvar &primvar, const pxr::UsdTimeCode time, const OffsetIndices< int > faces, MutableSpan< BlenderT > attribute)
void blender::io::usd::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)