Fix instance_material missing material names as well.

This commit is contained in:
Michael Sundqvist
2018-03-29 01:03:12 +03:00
committed by Thomas Krijnen
parent e7a8a97639
commit 6f3eb84f66
+15
View File
@@ -103,6 +103,11 @@ void ColladaSerializer::ColladaExporter::ColladaGeometries::write(
COLLADASW::Triangles triangles(mSW); COLLADASW::Triangles triangles(mSW);
std::string material_name = (serializer->settings().get(SerializerSettings::USE_MATERIAL_NAMES) std::string material_name = (serializer->settings().get(SerializerSettings::USE_MATERIAL_NAMES)
? materials[previous_material_id].original_name() : materials[previous_material_id].name()); ? materials[previous_material_id].original_name() : materials[previous_material_id].name());
if (material_name.empty()) {
material_name = "missing-material-" + materials[previous_material_id].name();
}
collada_id(material_name); collada_id(material_name);
triangles.setMaterial(material_name); triangles.setMaterial(material_name);
triangles.setCount((unsigned long)num_triangles); triangles.setCount((unsigned long)num_triangles);
@@ -160,6 +165,11 @@ void ColladaSerializer::ColladaExporter::ColladaGeometries::write(
COLLADASW::Lines lines(mSW); COLLADASW::Lines lines(mSW);
std::string material_name = (serializer->settings().get(SerializerSettings::USE_MATERIAL_NAMES) std::string material_name = (serializer->settings().get(SerializerSettings::USE_MATERIAL_NAMES)
? materials[it->first].original_name() : materials[it->first].name()); ? materials[it->first].original_name() : materials[it->first].name());
if (material_name.empty()) {
material_name = "missing-material-" + materials[it->first].name();
}
collada_id(material_name); collada_id(material_name);
lines.setMaterial(material_name); lines.setMaterial(material_name);
lines.setCount((unsigned long)it->second.size()); lines.setCount((unsigned long)it->second.size());
@@ -407,6 +417,11 @@ void ColladaSerializer::ColladaExporter::write(const IfcGeom::TriangulationEleme
} }
std::string material_name = (serializer->settings().get(SerializerSettings::USE_MATERIAL_NAMES) std::string material_name = (serializer->settings().get(SerializerSettings::USE_MATERIAL_NAMES)
? material.original_name() : material.name()); ? material.original_name() : material.name());
if (material_name.empty()) {
material_name = "missing-material-" + material.name();
}
collada_id(material_name); collada_id(material_name);
material_references.push_back(material_name); material_references.push_back(material_name);
} }