mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-09 17:31:45 +00:00
Fix instance_material missing material names as well.
This commit is contained in:
committed by
Thomas Krijnen
parent
e7a8a97639
commit
6f3eb84f66
@@ -103,6 +103,11 @@ void ColladaSerializer::ColladaExporter::ColladaGeometries::write(
|
||||
COLLADASW::Triangles triangles(mSW);
|
||||
std::string material_name = (serializer->settings().get(SerializerSettings::USE_MATERIAL_NAMES)
|
||||
? 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);
|
||||
triangles.setMaterial(material_name);
|
||||
triangles.setCount((unsigned long)num_triangles);
|
||||
@@ -160,6 +165,11 @@ void ColladaSerializer::ColladaExporter::ColladaGeometries::write(
|
||||
COLLADASW::Lines lines(mSW);
|
||||
std::string material_name = (serializer->settings().get(SerializerSettings::USE_MATERIAL_NAMES)
|
||||
? 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);
|
||||
lines.setMaterial(material_name);
|
||||
lines.setCount((unsigned long)it->second.size());
|
||||
@@ -228,7 +238,7 @@ void ColladaSerializer::ColladaExporter::ColladaScene::add(
|
||||
BOOST_FOREACH(std::string material_name, material_ids) {
|
||||
/// @todo This is done 6 times in this file, try to perform this once and be done with the material naming for the export.
|
||||
collada_id(material_name);
|
||||
COLLADASW::InstanceMaterial material (material_name, "#" + material_name);
|
||||
COLLADASW::InstanceMaterial material(material_name, "#" + material_name);
|
||||
instanceGeometry.getBindMaterial().getInstanceMaterialList().push_back(material);
|
||||
}
|
||||
instanceGeometry.add();
|
||||
@@ -407,6 +417,11 @@ void ColladaSerializer::ColladaExporter::write(const IfcGeom::TriangulationEleme
|
||||
}
|
||||
std::string material_name = (serializer->settings().get(SerializerSettings::USE_MATERIAL_NAMES)
|
||||
? material.original_name() : material.name());
|
||||
|
||||
if (material_name.empty()) {
|
||||
material_name = "missing-material-" + material.name();
|
||||
}
|
||||
|
||||
collada_id(material_name);
|
||||
material_references.push_back(material_name);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user