- Throw and catch IfcExceptions while parsing

- Fix issues with left-handed IfcCartesianTransformationOperator3D [fixes #3405491 Issues with MappingTarget of IfcMappedItem]
This commit is contained in:
Thomas Krijnen
2011-10-13 11:25:59 +00:00
parent 34efb480d6
commit 6dbf618360
4 changed files with 1005 additions and 994 deletions
+987 -985
View File
File diff suppressed because one or more lines are too long
+8 -2
View File
@@ -568,8 +568,14 @@ bool Ifc::Init(IfcParse::File* f) {
if ( log1 ) std::cout << "Scanning file..." << std::endl;
while ( true ) {
if ( currentId ) {
e = new Entity(currentId,tokens);
entity = Ifc2x3::SchemaEntity(e);
try {
e = new Entity(currentId,tokens);
entity = Ifc2x3::SchemaEntity(e);
} catch (IfcException ex) {
currentId = 0;
Ifc::LogMessage("Error",ex.what());
continue;
}
if ( log1 && !((++x)%1000) ) std::cout << "\r#" << currentId << " " << std::flush;
Ifc2x3::Type::Enum ty = entity->type();
do {