Skip to content

Commit 8be79f9

Browse files
committed
Add XML and glTF serializers to python
1 parent ccc6f2c commit 8be79f9

3 files changed

Lines changed: 13 additions & 2 deletions

File tree

src/ifcopenshell-python/ifcopenshell/geom/main.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -266,13 +266,20 @@ def inner(*args):
266266
return inner
267267

268268

269+
# Hdf- Xml- and glTF- serializers don't support writing to a buffer, only to filename
270+
# so no wrap_buffer_creation() for these serializers
269271
serializer_dict = {}
270272
serializer_dict["obj"] = wrap_buffer_creation(ifcopenshell_wrapper.WaveFrontOBJSerializer)
271273
serializer_dict["svg"] = wrap_buffer_creation(ifcopenshell_wrapper.SvgSerializer)
274+
serializer_dict["xml"] = ifcopenshell_wrapper.XmlSerializer
272275
serializer_dict["buffer"] = ifcopenshell_wrapper.buffer
276+
277+
# gltf and hdf5 availability depend on IfcOpenShell configuration settings
278+
try:
279+
serializer_dict["gltf"] = ifcopenshell_wrapper.GltfSerializer
280+
except: pass
281+
273282
try:
274-
# HdfSerializer doesn't support writing to a buffer (obviously) only to filename
275-
# so no wrap_buffer_creation()
276283
serializer_dict["hdf5"] = ifcopenshell_wrapper.HdfSerializer
277284
except:
278285
pass

src/ifcwrap/IfcGeomWrapper.i

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@
6969
%include "../serializers/SvgSerializer.h"
7070
%include "../serializers/HdfSerializer.h"
7171
%include "../serializers/WavefrontObjSerializer.h"
72+
%include "../serializers/XmlSerializer.h"
73+
%include "../serializers/GltfSerializer.h"
7274

7375
%template(ray_intersection_results) std::vector<IfcGeom::ray_intersection_result>;
7476

src/ifcwrap/IfcPython.i

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,8 @@
136136
#include "../serializers/SvgSerializer.h"
137137
#include "../serializers/WavefrontObjSerializer.h"
138138
#include "../serializers/HdfSerializer.h"
139+
#include "../serializers/XmlSerializer.h"
140+
#include "../serializers/GltfSerializer.h"
139141

140142
#ifdef HAS_SCHEMA_2x3
141143
#include "../ifcparse/Ifc2x3.h"

0 commit comments

Comments
 (0)