Commit Graph

17 Commits

Author SHA1 Message Date
Stephen Boddy 96e2efebc8 Route boolean-op kernel logging through the injected Logger
src/ifcgeom/kernels/opencascade/boolean_utils.cpp, OpenCascadeKernel.cpp,
and boolean_result.cpp logged diagnostics (including the "Processed
fully in 2D" family of messages) through the global Logger::Root()
singleton. IfcConvert's main() constructs its own Logger and wires it
to --log-file via SetOutput(), then threads that instance through
Converter/kernel constructors as logger_ (see AbstractKernel). Since
Logger::Root() is never itself configured with an output stream, every
Notice/Warning/Message call through it was silently dropped instead of
reaching the log file - Logger::Message's log1_/log2_ null checks just
no-op.

This made src/ifcopenshell-python/test/test_wall_opening.py fail: it
asserts on specific log messages that the underlying boolean-op code
was still emitting correctly, just to nowhere. The geometry itself was
never wrong.

Add a Logger*, defaulting to null, to boolean_settings (with a log()
accessor falling back to Logger::Root() for the few remaining
call sites with no injected logger available), thread it through
eliminate_narrow_operands and boolean_subtraction_2d_using_builder,
and have OpenCascadeKernel/boolean_result.cpp populate it from their
inherited logger_ member instead of relying on the global singleton.

Generated with the assistance of an AI coding tool.
2026-07-18 15:03:32 +01:00
Frozen Forest Reality Technologies 81f71e6418 OCCT 8.0 Update Part 2 2026-06-29 11:30:36 +02:00
Thomas Krijnen a7738eeb64 Pass around non-static logger instances and programmatic access to messages in-memory 2026-06-10 18:40:17 +02:00
Thomas Krijnen a751fb956d Introduce unique error codes 2026-06-10 18:40:17 +02:00
Thomas Krijnen 1a6fd2530f Remove dependency on Standard_failure #7788 2026-03-14 14:44:47 +01:00
Thomas Krijnen d80bcd1a94 Unify variant storage (#5118) 2024-08-23 20:29:07 +02:00
Thomas Krijnen a3d4642ea9 Fix boolean results on non-solid shells #4832 2024-06-18 21:30:00 +02:00
Thomas Krijnen f5979be4d5 Keep old behaviour of subtractions, when failed use first operand #4832 2024-06-18 13:09:32 +02:00
Thomas Krijnen ecef745c3b OCCT doesn't like null shapes even on symmetric bools 2024-06-12 11:47:27 +02:00
Thomas Krijnen 07827940cc Some defensiveness against null shapes (should look into this better) 2024-06-11 11:20:55 +02:00
luzpaz 1819a45e4c Fix various typos in src/ifcgeom* subdirs 2024-04-16 10:05:04 +02:00
Thomas Krijnen 236c064849 unreferened param #3255 2024-04-15 11:04:09 +02:00
Thomas Krijnen 5d4b01e10f apply boolean results in batches as well #3201 2024-04-15 10:34:24 +02:00
Thomas Krijnen 65e874c67f Drastic settings refactoring 2023-11-15 10:32:33 +01:00
Thomas Krijnen 809668c015 Major update to halfspace algorithm, conversion result shape analysis 2023-11-02 09:04:34 +01:00
Thomas Krijnen 65a5646bf0 Major update: taxonomy shared pointers, collection type safety, work towards hashing 2023-07-27 16:42:06 +08:00
Thomas Krijnen c78b2893de Proceed with merge 2023-03-21 20:15:01 +01:00