[Bf-blender-cvs] [85b98182907] usd-importer-T81257-merge: Refactor USDStageReader::create_reader() logic.
makowalski
noreply at git.blender.org
Sat Jun 19 02:00:08 CEST 2021
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
More information about the Bf-blender-cvs
mailing list