mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-10 09:48:32 +00:00
ifcviewer: load rdb/ifc as property data source on sidecar hit
Sidecar hits skipped opening the underlying .rdb/.ifc, so ifcFile() was null and the property panel only showed cached name/type/guid. Now, after a sidecar hit, a background thread opens <stem>.rdb (preferred) or <stem>.ifc and hands the file to GeometryStreamer via setIfcFile(), with a dataSourceReady signal so the UI refreshes the current selection. Gated behind a new AppSettings::loadDataSource toggle (default on) so users can opt into geometry-only viewing; when off, the sidecar-hit thread is skipped and the stream-path ifc_file_ is released after the sidecar write completes. Also adds *.ifcview to the Add Files dialog filter so a cache can be opened directly without its source file present. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -79,6 +79,10 @@ GeometryStreamer::~GeometryStreamer() {
|
||||
}
|
||||
}
|
||||
|
||||
void GeometryStreamer::setIfcFile(std::unique_ptr<ifcopenshell::file> file) {
|
||||
ifc_file_ = std::move(file);
|
||||
}
|
||||
|
||||
void GeometryStreamer::loadFile(const std::string& path, uint32_t start_object_id, uint32_t model_id, int num_threads) {
|
||||
if (running_.load()) {
|
||||
cancel();
|
||||
|
||||
Reference in New Issue
Block a user