OBJ precision and log messages

* Fixes #68: Increase precision in OBJ files (regression in commit 43f5d44)
* Add some verbose logging of a few geometry errors
This commit is contained in:
Lars Moastuen
2016-05-13 12:59:00 +02:00
committed by Thomas Krijnen
parent 01269e5dd5
commit 414d7bb810
2 changed files with 9 additions and 1 deletions
@@ -79,6 +79,8 @@ void WaveFrontOBJSerializer::write(const IfcGeom::TriangulationElement<real_t>*
? o->name() : o->unique_id()));
obj_stream << "g " << name << "\n";
obj_stream << "s 1" << "\n";
obj_stream << std::setprecision(std::numeric_limits<double>::digits10);
const IfcGeom::Representation::Triangulation<real_t>& mesh = o->geometry();
+7 -1
View File
@@ -241,7 +241,10 @@ namespace IfcGeom {
kernel.setValue(IfcGeom::Kernel::GV_PRECISION, 1.e-5);
}
if (representations->size() == 0) return false;
if (representations->size() == 0) {
Logger::Message(Logger::LOG_ERROR, "No geometries found");
return false;
}
representation_iterator = representations->begin();
ifcproducts.reset();
@@ -625,6 +628,7 @@ namespace IfcGeom {
try {
next_serialization = new SerializedElement<P>(*next_shape_model);
} catch (...) {
Logger::Message(Logger::LOG_ERROR, "Getting a serialized element from model failed.");
success = false;
}
} else if (!settings.get(IteratorSettings::DISABLE_TRIANGULATION)) {
@@ -635,10 +639,12 @@ namespace IfcGeom {
next_triangulation = new TriangulationElement<P>(*next_shape_model, current_triangulation->geometry_pointer());
}
} catch (...) {
Logger::Message(Logger::LOG_ERROR, "Getting a triangulation element from model failed.");
success = false;
}
}
} else {
Logger::Message(Logger::LOG_ERROR, "No shape models found.");
success = false;
}