Fail faster on representation map not suitable for reuse #5672

This commit is contained in:
Thomas Krijnen
2024-12-17 20:58:10 +01:00
parent bd7c19a861
commit d271fd1779
2 changed files with 15 additions and 6 deletions
+2 -1
View File
@@ -40,6 +40,7 @@ namespace geometry {
// Set of instances to mark failures that are intended, such as representations not
// resulting in any items due to dimensionality filters.
std::set<const IfcUtil::IfcBaseInterface*> failed_on_purpose_;
std::set<const IfcSchema::IfcRepresentationMap*> not_reusable_maps_;
template <typename T>
void process_mapping(bool& matched, taxonomy::ptr& item, IfcUtil::IfcBaseInterface const * inst) {
@@ -91,7 +92,7 @@ namespace geometry {
virtual const IfcUtil::IfcBaseEntity* get_product_type(const IfcUtil::IfcBaseEntity* product_);
virtual const IfcUtil::IfcBaseEntity* get_single_material_association(const IfcUtil::IfcBaseEntity* product);
IfcSchema::IfcRepresentation* representation_mapped_to(const IfcSchema::IfcRepresentation* representation);
IfcSchema::IfcProduct::list::ptr products_represented_by(const IfcSchema::IfcRepresentation* representation, bool only_direct=false);
IfcSchema::IfcProduct::list::ptr products_represented_by(const IfcSchema::IfcRepresentation* representation, IfcSchema::IfcRepresentationMap*& rmap, bool only_direct=false);
bool reuse_ok_(const IfcSchema::IfcProduct::list::ptr& products);
IfcUtil::IfcBaseEntity* get_decomposing_entity(const IfcUtil::IfcBaseEntity* product, bool include_openings);