diff --git a/source/blender/io/usd/intern/usd_reader_shape.cc b/source/blender/io/usd/intern/usd_reader_shape.cc index 567725577d0..0b49d7d5388 100644 --- a/source/blender/io/usd/intern/usd_reader_shape.cc +++ b/source/blender/io/usd/intern/usd_reader_shape.cc @@ -17,9 +17,11 @@ #include "usd_reader_shape.hh" #include +#include #include #include #include +#include #include #include #include @@ -89,13 +91,13 @@ bool USDShapeReader::read_mesh_values(double motionSampleTime, pxr::VtIntArray &face_indices, pxr::VtIntArray &face_counts) const { - if (prim_.IsA()) { + if (prim_.IsA() || prim_.IsA()) { read_values( motionSampleTime, positions, face_indices, face_counts); return true; } - if (prim_.IsA()) { + if (prim_.IsA() || prim_.IsA()) { read_values( motionSampleTime, positions, face_indices, face_counts); return true; @@ -284,6 +286,14 @@ bool USDShapeReader::is_time_varying() geom.GetRadiusAttr().ValueMightBeTimeVarying()); } + if (prim_.IsA()) { + pxr::UsdGeomCapsule_1 geom(prim_); + return (geom.GetAxisAttr().ValueMightBeTimeVarying() || + geom.GetHeightAttr().ValueMightBeTimeVarying() || + geom.GetRadiusTopAttr().ValueMightBeTimeVarying() || + geom.GetRadiusBottomAttr().ValueMightBeTimeVarying()); + } + if (prim_.IsA()) { pxr::UsdGeomCylinder geom(prim_); return (geom.GetAxisAttr().ValueMightBeTimeVarying() || @@ -291,6 +301,14 @@ bool USDShapeReader::is_time_varying() geom.GetRadiusAttr().ValueMightBeTimeVarying()); } + if (prim_.IsA()) { + pxr::UsdGeomCylinder_1 geom(prim_); + return (geom.GetAxisAttr().ValueMightBeTimeVarying() || + geom.GetHeightAttr().ValueMightBeTimeVarying() || + geom.GetRadiusTopAttr().ValueMightBeTimeVarying() || + geom.GetRadiusBottomAttr().ValueMightBeTimeVarying()); + } + if (prim_.IsA()) { pxr::UsdGeomCone geom(prim_); return (geom.GetAxisAttr().ValueMightBeTimeVarying() || diff --git a/source/blender/io/usd/intern/usd_reader_stage.cc b/source/blender/io/usd/intern/usd_reader_stage.cc index 420daa683ce..458fbd82a8a 100644 --- a/source/blender/io/usd/intern/usd_reader_stage.cc +++ b/source/blender/io/usd/intern/usd_reader_stage.cc @@ -24,9 +24,11 @@ #include #include #include +#include #include #include #include +#include #include #include #include @@ -221,7 +223,8 @@ bool USDStageReader::valid() const bool USDStageReader::is_primitive_prim(const pxr::UsdPrim &prim) const { - return (prim.IsA() || prim.IsA() || + return (prim.IsA() || prim.IsA() || + prim.IsA() || prim.IsA() || prim.IsA() || prim.IsA() || prim.IsA() || prim.IsA()); }