From d7f990d8bdbb67aef8b8ae023596660538848bdf Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Mon, 28 Mar 2016 11:32:29 +0300 Subject: [PATCH] IfcConvert: Do not use temp file for MTL as it's such a small file. Fixes #55. --- src/ifcconvert/IfcConvert.cpp | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/ifcconvert/IfcConvert.cpp b/src/ifcconvert/IfcConvert.cpp index 7aa88a2edd..cdb996e25a 100644 --- a/src/ifcconvert/IfcConvert.cpp +++ b/src/ifcconvert/IfcConvert.cpp @@ -378,12 +378,13 @@ int main(int argc, char** argv) { GeometrySerializer* serializer; if (output_extension == ".obj") { - const std::string mtl_temp_filename = change_extension(output_filename, "mtl") + TEMP_FILE_EXTENSION; + // Do not use temp file for MTL as it's such a small file. + const std::string mtl_filename = change_extension(output_filename, "mtl"); if (!use_world_coords) { Logger::Message(Logger::LOG_NOTICE, "Using world coords when writing WaveFront OBJ files"); settings.set(IfcGeom::IteratorSettings::USE_WORLD_COORDS, true); } - serializer = new WaveFrontOBJSerializer(output_temp_filename, mtl_temp_filename, settings); + serializer = new WaveFrontOBJSerializer(output_temp_filename, mtl_filename, settings); #ifdef WITH_OPENCOLLADA } else if (output_extension == ".dae") { serializer = new ColladaSerializer(output_temp_filename, settings); @@ -521,12 +522,6 @@ int main(int argc, char** argv) { Logger::Message(Logger::LOG_ERROR, "Unable to write output file '" + output_filename + ""); } - if (output_extension == ".obj") { - std::string mtl_filename = change_extension(output_filename, "mtl"); - std::string mtl_tmp_filename = mtl_filename + TEMP_FILE_EXTENSION; - rename_file(mtl_tmp_filename, mtl_filename); - } - write_log(); time(&end);