Refactor|BspBuilder: Moved logging of BSP build issues out of Partitioner
Partitioner is no longer concerned with logging any issues it may encounter during the BSP build process. Instead various notifications are produced which interested parties may observe.
The high level BspBuilder class now implements a Reporter who's job is to monitor the BSP build process and to compile a human-readable report upon completion.
Also optimized the Partitioner's internal LUTs used to translate references to a BSP map element to it's "control tree" counterpart. Now implemented with QHash instead of std::map.
Applied the pimpl idiom to Partitioner.
Todo: Utilize the same mechanism for reporting all BSP build issues. Todo for later: Consolidate this mechanism with that used during the map conversion process to log "missing" material references.
Refactor|BspBuilder: Moved logging of BSP build issues out of Partitioner
Partitioner is no longer concerned with logging any issues it may
encounter during the BSP build process. Instead various notifications
are produced which interested parties may observe.
The high level BspBuilder class now implements a Reporter who's job
is to monitor the BSP build process and to compile a human-readable
report upon completion.
Also optimized the Partitioner's internal LUTs used to translate
references to a BSP map element to it's "control tree" counterpart.
Now implemented with QHash instead of std::map.
Applied the pimpl idiom to Partitioner.
Todo: Utilize the same mechanism for reporting all BSP build issues.
Todo for later: Consolidate this mechanism with that used during the
map conversion process to log "missing" material references.