diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 67aa5a9217..a5db4e9532 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -473,7 +473,7 @@ function(files_for_ifc_version IFC_VERSION RESULT_NAME) ) endfunction() -set(SCHEMA_VERSIONS "2x3" "4" "4x1" "4x2" "4x3_rc1", "4x3_rc2") +set(SCHEMA_VERSIONS "2x3" "4" "4x1" "4x2" "4x3_rc1" "4x3_rc2") if(COMPILE_SCHEMA) # @todo, this appears to be untested at the moment diff --git a/src/ifcparse/IfcSIPrefix.cpp b/src/ifcparse/IfcSIPrefix.cpp index b37b08dec1..7270c221f9 100644 --- a/src/ifcparse/IfcSIPrefix.cpp +++ b/src/ifcparse/IfcSIPrefix.cpp @@ -24,6 +24,7 @@ #include "../ifcparse/Ifc4x1.h" #include "../ifcparse/Ifc4x2.h" #include "../ifcparse/Ifc4x3_rc1.h" +#include "../ifcparse/Ifc4x3_rc2.h" double IfcParse::IfcSIPrefixToValue(const std::string& v) { if ( v == "EXA" ) return 1.e18; @@ -79,10 +80,12 @@ template double IfcParse::get_SI_equivalent(Ifc4::IfcNamedUnit* named_unit template double IfcParse::get_SI_equivalent(Ifc4x1::IfcNamedUnit* named_unit); template double IfcParse::get_SI_equivalent(Ifc4x2::IfcNamedUnit* named_unit); template double IfcParse::get_SI_equivalent(Ifc4x3_rc1::IfcNamedUnit* named_unit); +template double IfcParse::get_SI_equivalent(Ifc4x3_rc2::IfcNamedUnit* named_unit); #else template double IfcParse::get_SI_equivalent(typename Ifc2x3::IfcNamedUnit* named_unit); template double IfcParse::get_SI_equivalent(typename Ifc4::IfcNamedUnit* named_unit); template double IfcParse::get_SI_equivalent(typename Ifc4x1::IfcNamedUnit* named_unit); template double IfcParse::get_SI_equivalent(typename Ifc4x2::IfcNamedUnit* named_unit); template double IfcParse::get_SI_equivalent(typename Ifc4x3_rc1::IfcNamedUnit* named_unit); +template double IfcParse::get_SI_equivalent(typename Ifc4x3_rc2::IfcNamedUnit* named_unit); #endif diff --git a/src/ifcparse/IfcSchema.cpp b/src/ifcparse/IfcSchema.cpp index 79c2ae05fb..82577a6737 100644 --- a/src/ifcparse/IfcSchema.cpp +++ b/src/ifcparse/IfcSchema.cpp @@ -81,6 +81,7 @@ void IfcParse::register_schema(schema_definition* s) { #include "../ifcparse/Ifc4x1.h" #include "../ifcparse/Ifc4x2.h" #include "../ifcparse/Ifc4x3_rc1.h" +#include "../ifcparse/Ifc4x3_rc2.h" const IfcParse::schema_definition* IfcParse::schema_by_name(const std::string& name) { // TODO: initialize automatically somehow @@ -89,6 +90,7 @@ const IfcParse::schema_definition* IfcParse::schema_by_name(const std::string& n Ifc4x1::get_schema(); Ifc4x2::get_schema(); Ifc4x3_rc1::get_schema(); + Ifc4x3_rc2::get_schema(); std::map::const_iterator it = schemas.find(name); if (it == schemas.end()) {