[Bf-blender-cvs] [5f17b0e33ee] temp-sybren-usd-patch-01: USD: typedef for std::map<short, pxr::VtIntArray>

Sybren A. Stüvel noreply at git.blender.org
Tue Nov 26 18:23:10 CET 2019


Commit: 5f17b0e33ee8079543a8434ba94404db598a0f50
Author: Sybren A. Stüvel
Date:   Tue Nov 26 17:14:22 2019 +0100
Branches: temp-sybren-usd-patch-01
https://developer.blender.org/rB5f17b0e33ee8079543a8434ba94404db598a0f50

USD: typedef for std::map<short, pxr::VtIntArray>

===================================================================

M	source/blender/usd/intern/usd_writer_mesh.cc
M	source/blender/usd/intern/usd_writer_mesh.h

===================================================================

diff --git a/source/blender/usd/intern/usd_writer_mesh.cc b/source/blender/usd/intern/usd_writer_mesh.cc
index 410ffe7b3f7..c0297371cb0 100644
--- a/source/blender/usd/intern/usd_writer_mesh.cc
+++ b/source/blender/usd/intern/usd_writer_mesh.cc
@@ -281,10 +281,9 @@ void USDGenericMeshWriter::get_geometry_data(const Mesh *mesh, USDMeshData &usd_
   get_creases(mesh, usd_mesh_data);
 }
 
-void USDGenericMeshWriter::assign_materials(
-    const HierarchyContext &context,
-    pxr::UsdGeomMesh usd_mesh,
-    const std::map<short, pxr::VtIntArray> &usd_face_groups)
+void USDGenericMeshWriter::assign_materials(const HierarchyContext &context,
+                                            pxr::UsdGeomMesh usd_mesh,
+                                            const MaterialFaceGroups &usd_face_groups)
 {
   if (context.object->totcol == 0) {
     return;
@@ -325,9 +324,9 @@ void USDGenericMeshWriter::assign_materials(
   }
 
   // Define a geometry subset per material.
-  for (auto face_group_iter : usd_face_groups) {
-    short material_number = face_group_iter.first;
-    const pxr::VtIntArray &face_indices = face_group_iter.second;
+  for (const MaterialFaceGroups::value_type &face_group : usd_face_groups) {
+    short material_number = face_group.first;
+    const pxr::VtIntArray &face_indices = face_group.second;
 
     Material *material = give_current_material(context.object, material_number + 1);
     if (material == nullptr) {
diff --git a/source/blender/usd/intern/usd_writer_mesh.h b/source/blender/usd/intern/usd_writer_mesh.h
index e52cde8b7b5..917e5fe6eb3 100644
--- a/source/blender/usd/intern/usd_writer_mesh.h
+++ b/source/blender/usd/intern/usd_writer_mesh.h
@@ -38,11 +38,14 @@ class USDGenericMeshWriter : public USDAbstractWriter {
   virtual void free_export_mesh(Mesh *mesh);
 
  private:
+  /* Mapping from material slot number to array of face indices with that material. */
+  typedef std::map<short, pxr::VtIntArray> MaterialFaceGroups;
+
   void write_mesh(HierarchyContext &context, Mesh *mesh);
   void get_geometry_data(const Mesh *mesh, struct USDMeshData &usd_mesh_data);
   void assign_materials(const HierarchyContext &context,
                         pxr::UsdGeomMesh usd_mesh,
-                        const std::map<short, pxr::VtIntArray> &usd_face_groups);
+                        const MaterialFaceGroups &usd_face_groups);
   void write_uv_maps(const Mesh *mesh, pxr::UsdGeomMesh usd_mesh);
   void write_normals(const Mesh *mesh, pxr::UsdGeomMesh usd_mesh);
   void write_surface_velocity(Object *object, const Mesh *mesh, pxr::UsdGeomMesh usd_mesh);



More information about the Bf-blender-cvs mailing list