[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