mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-19 14:41:25 +00:00
Add XML and glTF serializers to python
This commit is contained in:
@@ -266,13 +266,20 @@ def wrap_buffer_creation(fn):
|
|||||||
return inner
|
return inner
|
||||||
|
|
||||||
|
|
||||||
|
# Hdf- Xml- and glTF- serializers don't support writing to a buffer, only to filename
|
||||||
|
# so no wrap_buffer_creation() for these serializers
|
||||||
serializer_dict = {}
|
serializer_dict = {}
|
||||||
serializer_dict["obj"] = wrap_buffer_creation(ifcopenshell_wrapper.WaveFrontOBJSerializer)
|
serializer_dict["obj"] = wrap_buffer_creation(ifcopenshell_wrapper.WaveFrontOBJSerializer)
|
||||||
serializer_dict["svg"] = wrap_buffer_creation(ifcopenshell_wrapper.SvgSerializer)
|
serializer_dict["svg"] = wrap_buffer_creation(ifcopenshell_wrapper.SvgSerializer)
|
||||||
|
serializer_dict["xml"] = ifcopenshell_wrapper.XmlSerializer
|
||||||
serializer_dict["buffer"] = ifcopenshell_wrapper.buffer
|
serializer_dict["buffer"] = ifcopenshell_wrapper.buffer
|
||||||
|
|
||||||
|
# gltf and hdf5 availability depend on IfcOpenShell configuration settings
|
||||||
|
try:
|
||||||
|
serializer_dict["gltf"] = ifcopenshell_wrapper.GltfSerializer
|
||||||
|
except: pass
|
||||||
|
|
||||||
try:
|
try:
|
||||||
# HdfSerializer doesn't support writing to a buffer (obviously) only to filename
|
|
||||||
# so no wrap_buffer_creation()
|
|
||||||
serializer_dict["hdf5"] = ifcopenshell_wrapper.HdfSerializer
|
serializer_dict["hdf5"] = ifcopenshell_wrapper.HdfSerializer
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -69,6 +69,8 @@
|
|||||||
%include "../serializers/SvgSerializer.h"
|
%include "../serializers/SvgSerializer.h"
|
||||||
%include "../serializers/HdfSerializer.h"
|
%include "../serializers/HdfSerializer.h"
|
||||||
%include "../serializers/WavefrontObjSerializer.h"
|
%include "../serializers/WavefrontObjSerializer.h"
|
||||||
|
%include "../serializers/XmlSerializer.h"
|
||||||
|
%include "../serializers/GltfSerializer.h"
|
||||||
|
|
||||||
%template(ray_intersection_results) std::vector<IfcGeom::ray_intersection_result>;
|
%template(ray_intersection_results) std::vector<IfcGeom::ray_intersection_result>;
|
||||||
|
|
||||||
|
|||||||
@@ -136,6 +136,8 @@
|
|||||||
#include "../serializers/SvgSerializer.h"
|
#include "../serializers/SvgSerializer.h"
|
||||||
#include "../serializers/WavefrontObjSerializer.h"
|
#include "../serializers/WavefrontObjSerializer.h"
|
||||||
#include "../serializers/HdfSerializer.h"
|
#include "../serializers/HdfSerializer.h"
|
||||||
|
#include "../serializers/XmlSerializer.h"
|
||||||
|
#include "../serializers/GltfSerializer.h"
|
||||||
|
|
||||||
#ifdef HAS_SCHEMA_2x3
|
#ifdef HAS_SCHEMA_2x3
|
||||||
#include "../ifcparse/Ifc2x3.h"
|
#include "../ifcparse/Ifc2x3.h"
|
||||||
|
|||||||
Reference in New Issue
Block a user