From d3b12d0307752b8c146665bb4c3d22e8e5711188 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 9 Jul 2026 23:32:11 +1000 Subject: [PATCH] ifcwrap: ignore spf_header set_file_* setters in SWIG (fix Windows wrapper) The data-model branch's spf_header::set_file_description/name/schema take a const shared_pointer_type& (an internal instance_data* storage handle). SWIG wraps them and emits the alias unqualified into the global-scope wrapper, which MSVC rejects (C2065 'shared_pointer_type': undeclared identifier). The matching getters are already %ignore'd and re-exposed via %extend; the raw setters are not a usable Python API, so ignore them the same way. Co-Authored-By: Claude Opus 4.8 --- src/ifcwrap/IfcParseWrapper.i | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/ifcwrap/IfcParseWrapper.i b/src/ifcwrap/IfcParseWrapper.i index 8f23cbab84..cde78f64ae 100644 --- a/src/ifcwrap/IfcParseWrapper.i +++ b/src/ifcwrap/IfcParseWrapper.i @@ -55,6 +55,13 @@ %ignore ifcopenshell::spf_header::file_description; %ignore ifcopenshell::spf_header::file_name; %ignore ifcopenshell::spf_header::file_schema; +// The setters take a raw shared_pointer_type (an internal instance_data* +// storage handle), not a Python-facing type. SWIG would emit the alias +// unqualified into the global-scope wrapper (C2065 on MSVC), and these +// aren't a usable Python API anyway — ignore them like the getters above. +%ignore ifcopenshell::spf_header::set_file_description; +%ignore ifcopenshell::spf_header::set_file_name; +%ignore ifcopenshell::spf_header::set_file_schema; %ignore ifcopenshell::HeaderEntity::is;