Commit: 85b981829074e08c4990c16a99417d5e30846329 Author: makowalski Date: Fri Jun 18 19:48:55 2021 -0400 Branches: usd-importer-T81257-merge https://developer.blender.org/rB85b981829074e08c4990c16a99417d5e30846329
Refactor USDStageReader::create_reader() logic. Simplified conditionals with early returns. =================================================================== M source/blender/io/usd/intern/usd_reader_stage.cc =================================================================== diff --git a/source/blender/io/usd/intern/usd_reader_stage.cc b/source/blender/io/usd/intern/usd_reader_stage.cc index 4a3bdfc3e7d..532d38a5860 100644 --- a/source/blender/io/usd/intern/usd_reader_stage.cc +++ b/source/blender/io/usd/intern/usd_reader_stage.cc @@ -61,59 +61,55 @@ bool USDStageReader::valid() const USDPrimReader *USDStageReader::create_reader_if_allowed(const pxr::UsdPrim &prim) { - USDPrimReader *reader = nullptr; - if (params_.import_cameras && prim.IsA<pxr::UsdGeomCamera>()) { - reader = new USDCameraReader(prim, params_, settings_); + return new USDCameraReader(prim, params_, settings_); } - else if (params_.import_curves && prim.IsA<pxr::UsdGeomBasisCurves>()) { - reader = new USDCurvesReader(prim, params_, settings_); + if (params_.import_curves && prim.IsA<pxr::UsdGeomBasisCurves>()) { + return new USDCurvesReader(prim, params_, settings_); } - else if (params_.import_curves && prim.IsA<pxr::UsdGeomNurbsCurves>()) { - reader = new USDNurbsReader(prim, params_, settings_); + if (params_.import_curves && prim.IsA<pxr::UsdGeomNurbsCurves>()) { + return new USDNurbsReader(prim, params_, settings_); } - else if (params_.import_meshes && prim.IsA<pxr::UsdGeomMesh>()) { - reader = new USDMeshReader(prim, params_, settings_); + if (params_.import_meshes && prim.IsA<pxr::UsdGeomMesh>()) { + return new USDMeshReader(prim, params_, settings_); } - else if (params_.import_lights && prim.IsA<pxr::UsdLuxLight>()) { - reader = new USDLightReader(prim, params_, settings_); + if (params_.import_lights && prim.IsA<pxr::UsdLuxLight>()) { + return new USDLightReader(prim, params_, settings_); } - else if (params_.import_volumes && prim.IsA<pxr::UsdVolVolume>()) { - reader = new USDVolumeReader(prim, params_, settings_); + if (params_.import_volumes && prim.IsA<pxr::UsdVolVolume>()) { + return new USDVolumeReader(prim, params_, settings_); } - else if (prim.IsA<pxr::UsdGeomImageable>()) { - reader = new USDXformReader(prim, params_, settings_); + if (prim.IsA<pxr::UsdGeomImageable>()) { + return new USDXformReader(prim, params_, settings_); } - return reader; + return nullptr; } USDPrimReader *USDStageReader::create_reader(const pxr::UsdPrim &prim) { - USDPrimReader *reader = nullptr; - if (prim.IsA<pxr::UsdGeomCamera>()) { - reader = new USDCameraReader(prim, params_, settings_); + return new USDCameraReader(prim, params_, settings_); } - else if (prim.IsA<pxr::UsdGeomBasisCurves>()) { - reader = new USDCurvesReader(prim, params_, settings_); + if (prim.IsA<pxr::UsdGeomBasisCurves>()) { + return new USDCurvesReader(prim, params_, settings_); } - else if (prim.IsA<pxr::UsdGeomNurbsCurves>()) { - reader = new USDNurbsReader(prim, params_, settings_); + if (prim.IsA<pxr::UsdGeomNurbsCurves>()) { + return new USDNurbsReader(prim, params_, settings_); } - else if (prim.IsA<pxr::UsdGeomMesh>()) { - reader = new USDMeshReader(prim, params_, settings_); + if (prim.IsA<pxr::UsdGeomMesh>()) { + return new USDMeshReader(prim, params_, settings_); } - else if (prim.IsA<pxr::UsdLuxLight>()) { - reader = new USDLightReader(prim, params_, settings_); + if (prim.IsA<pxr::UsdLuxLight>()) { + return new USDLightReader(prim, params_, settings_); } else if (prim.IsA<pxr::UsdVolVolume>()) { - reader = new USDVolumeReader(prim, params_, settings_); + return new USDVolumeReader(prim, params_, settings_); } - else if (prim.IsA<pxr::UsdGeomImageable>()) { - reader = new USDXformReader(prim, params_, settings_); + if (prim.IsA<pxr::UsdGeomImageable>()) { + return new USDXformReader(prim, params_, settings_); } - return reader; + return nullptr; } /* Returns true if the given prim should be excluded from the _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs