mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-12 02:23:34 +00:00
If material name is empty when writing collada file, name it as a missing material. Logger::Notice() objects that do not have a material assigned.
This commit is contained in:
committed by
Thomas Krijnen
parent
fe1cb9e92b
commit
e7a8a97639
@@ -313,6 +313,11 @@ void ColladaSerializer::ColladaExporter::ColladaMaterials::ColladaEffects::write
|
||||
{
|
||||
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);
|
||||
openEffect(material_name + "-fx");
|
||||
COLLADASW::EffectProfile effect(mSW);
|
||||
@@ -360,6 +365,11 @@ void ColladaSerializer::ColladaExporter::ColladaMaterials::write() {
|
||||
BOOST_FOREACH(const IfcGeom::Material& material, materials) {
|
||||
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();
|
||||
}
|
||||
|
||||
std::string material_name_unescaped = material_name; // workaround double-escaping that would occur in addInstanceEffect()
|
||||
IfcUtil::sanitate_material_name(material_name_unescaped);
|
||||
collada_id(material_name);
|
||||
|
||||
Reference in New Issue
Block a user