[Bf-blender-cvs] [955f52e0e11] temp-sybren-usd-patch-02: USD: typedef for std::map<short, pxr::VtIntArray>

Sybren A. Stüvel noreply at git.blender.org
Thu Nov 28 17:56:23 CET 2019


Commit: 955f52e0e119eea6c9b5291c3fdb794f96bc677b
Author: Sybren A. Stüvel
Date:   Tue Nov 26 17:14:22 2019 +0100
Branches: temp-sybren-usd-patch-02
https://developer.blender.org/rB955f52e0e119eea6c9b5291c3fdb794f96bc677b

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