mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-11 22:31:55 +00:00
Sane error messages for unsupported items in geometry libs #8106
This commit is contained in:
@@ -157,10 +157,14 @@ namespace {
|
|||||||
|
|
||||||
template <>
|
template <>
|
||||||
struct dispatch_conversion<ifcopenshell::geometry::taxonomy::type_by_kind::max> {
|
struct dispatch_conversion<ifcopenshell::geometry::taxonomy::type_by_kind::max> {
|
||||||
static bool dispatch(ifcopenshell::geometry::kernels::AbstractKernel* k, ifcopenshell::geometry::taxonomy::kinds, const ifcopenshell::geometry::taxonomy::ptr& item, IfcGeom::ConversionResults&) {
|
static bool dispatch(ifcopenshell::geometry::kernels::AbstractKernel* kernel, ifcopenshell::geometry::taxonomy::kinds, const ifcopenshell::geometry::taxonomy::ptr& item, IfcGeom::ConversionResults&) {
|
||||||
if (k->partial_success_is_success) {
|
if (kernel->partial_success_is_success) {
|
||||||
logger::error("No conversion for " + std::to_string(item->kind()));
|
std::string created_from;
|
||||||
}
|
if (item->instance) {
|
||||||
|
created_from = " (created from " + item->instance->declaration().name() + ")";
|
||||||
|
}
|
||||||
|
logger::error("No support for " + ifcopenshell::geometry::taxonomy::kind_to_string(item->kind()) + created_from + " in kernel " + kernel->geometry_library());
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -179,10 +183,14 @@ namespace {
|
|||||||
|
|
||||||
template <>
|
template <>
|
||||||
struct dispatch_with_upgrade<ifcopenshell::geometry::taxonomy::upgrades::max> {
|
struct dispatch_with_upgrade<ifcopenshell::geometry::taxonomy::upgrades::max> {
|
||||||
static bool dispatch(ifcopenshell::geometry::kernels::AbstractKernel* k, const ifcopenshell::geometry::taxonomy::ptr& item, IfcGeom::ConversionResults&) {
|
static bool dispatch(ifcopenshell::geometry::kernels::AbstractKernel* kernel, const ifcopenshell::geometry::taxonomy::ptr& item, IfcGeom::ConversionResults&) {
|
||||||
if (k->partial_success_is_success) {
|
if (kernel->partial_success_is_success) {
|
||||||
logger::error("No conversion with upgrade for " + std::to_string(item->kind()));
|
std::string created_from;
|
||||||
}
|
if (item->instance) {
|
||||||
|
created_from = " (created from " + item->instance->declaration().name() + ")";
|
||||||
|
}
|
||||||
|
logger::error("No support (after considering item upgrade) for " + ifcopenshell::geometry::taxonomy::kind_to_string(item->kind()) + created_from + " in kernel " + kernel->geometry_library());
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user